/* Approved September 29 nacre day/night concept, live user photographs. */
:root{--ink:#441d4d;--ink-soft:#735b7d;--card:rgba(255,245,255,.66);--card-solid:#fff6ff;--accent:#974581;--accent-soft:#f3d4eb;--panel-border:rgba(255,255,255,.88);--shadow:0 5px 22px #704e7d19,inset 0 1px 1px #ffffffa6;--wall:url('assets/nacre-day-v1.webp');color-scheme:light}
:root.night{--ink:#f6e9fa;--ink-soft:#d3bedf;--card:rgba(45,32,54,.76);--card-solid:#302637;--accent:#e4afe8;--accent-soft:#67456e;--panel-border:rgba(218,183,231,.48);--shadow:0 6px 25px #08051044,inset 0 1px 1px #efd4ff30;--wall:url('assets/nacre-night-v1.webp');--ok:#8bd3b3;--danger:#fa9daa;color-scheme:dark}
body{background:var(--card-solid);padding-bottom:calc(90px + env(safe-area-inset-bottom));line-height:1.35}
body::before{inset:0;background:var(--wall) center top/cover no-repeat;opacity:1;filter:none;animation:none;transform:none}
body::after{display:none}
.topbar{max-width:560px;margin:auto;padding:calc(env(safe-area-inset-top) + 22px) 22px 4px;background:none;border:0;box-shadow:none}
.cosm-wordmark{letter-spacing:.32em;font-family:Georgia,'Times New Roman',serif;font-size:15px;margin-bottom:4px}
.topbar-title{font-family:Georgia,'Times New Roman',serif;font-size:36px;font-weight:500;line-height:1.04;letter-spacing:-.025em}
.icon-btn{color:var(--ink);border:1px solid var(--panel-border);border-radius:50%;background:var(--card)}
.theme-controls{max-width:520px;margin:3px auto 0;position:relative;z-index:1;display:flex;justify-content:flex-end;gap:3px;padding:0 14px}
.theme-controls button{border:0;border-radius:20px;padding:5px 10px;color:var(--ink-soft);background:var(--card);font-size:11px;cursor:pointer}.theme-controls button[aria-pressed=true]{background:var(--accent-soft);color:var(--ink)}
.screen{padding:0 14px 18px;max-width:560px}.date-line{font-size:14px;color:var(--ink);margin:3px 8px 12px}
.calendar-card{padding:6px 8px 12px;margin:0 0 10px;background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.calendar-head h2,.calendar-head p,.calendar-legend{display:none}.calendar-head{float:right}.calendar-nav button{height:30px;width:30px;background:var(--card);color:var(--ink);border-radius:50%;font-size:22px}.calendar-month{font-size:13px;margin:0 0 8px;min-height:30px;font-weight:500}
.calendar-card::before,.calendar-card::after,.slot-card::before,.slot-card::after{display:none}
.calendar-day{height:34px;aspect-ratio:auto;background:none;border-radius:50%;justify-self:center;width:34px;font-size:14px}.calendar-weekdays span{font-size:11px;font-weight:400}.calendar-day.selected,.calendar-day.today{background:radial-gradient(circle at 30% 20%,#fff1ff,#d898d6 45%,#9b5caa);box-shadow:0 0 8px #fff7ff99,inset 0 0 0 1px #fff8;color:#fff}
.slot-card{padding:12px 9px 10px;border-radius:22px;margin-bottom:12px;background:var(--card);border:1px solid var(--panel-border);box-shadow:var(--shadow);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.slot-head{gap:5px;justify-content:flex-start;align-items:center;margin-bottom:14px}.slot-title{font-family:Georgia,'Times New Roman',serif;font-size:25px;font-weight:500;gap:4px;margin-right:auto;white-space:nowrap}.routine-title-icon{width:26px;height:26px}.btn-mini{padding:8px 9px;min-height:36px;border-radius:22px;font-size:11px;white-space:nowrap;background:var(--card);color:var(--ink);border:1px solid var(--panel-border);font-weight:400}
.slot-head .btn-done{margin:0;width:auto;min-height:36px;max-width:110px;flex:0 1 auto;padding:8px 10px;border-radius:22px;font-size:11px;background:linear-gradient(130deg,#fff5ff,#e8b5e7 58%,#c48dc6);color:#492250;border:1px solid #fff9;font-weight:500}.slot-head .btn-done.done{background:var(--accent-soft);color:var(--ink)}.slot-head .btn-done:disabled{background:var(--card);color:var(--ink-soft);font-size:10px}.slot-head .completion-flower-icon{width:16px;height:16px}
.slot-items{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px 4px;align-items:end;min-height:142px}.slot-empty{grid-column:1/-1;align-self:center;text-align:center}
.routine-sticker{width:100%;min-width:0}.routine-sticker .sticker{grid-template-rows:112px auto;gap:7px}.routine-sticker .sticker-img{width:100%;height:112px;border-radius:0;padding:1px;background:none!important;box-shadow:none!important}.routine-sticker .sticker-img.has-photo img{transform:none;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 3px 2px #533c6433)}.routine-sticker .sticker-img.has-photo::after{background:#48334930;bottom:0}
.routine-sticker .sticker-name{font-size:10px;line-height:1.2;min-height:2.4em;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.routine-sticker .sticker-badge{top:0;right:0}.routine-sticker .crystal-status-icon{width:14px;height:14px}.sticker-remove{width:20px;height:20px;top:-5px;left:-2px;font-size:10px;background:var(--card-solid);color:var(--ink-soft);box-shadow:0 1px 3px #0002}
.tabbar{left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));max-width:540px;margin:auto;padding:7px 5px;border:1px solid var(--panel-border);border-radius:25px;background:var(--card);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:var(--shadow)}.tabbar::before,.tabbar::after{display:none}.tab{flex:1;min-height:47px;font-size:11px;font-weight:400;background:none;color:var(--ink);text-shadow:none;gap:3px;padding:3px}.tab.active{color:var(--accent);background:none;box-shadow:none}.crystal-nav-icon{width:25px;height:25px;filter:none!important}.crystal-nav-icon .crystal-main{fill:none;stroke:currentColor;stroke-width:1.6}.crystal-nav-icon .crystal-facet{stroke:currentColor}.crystal-nav-icon .crystal-glint{display:none}
.night .modal,.night .picker-action,.night .onboarding{background:var(--card-solid);color:var(--ink)}.night :is(input,textarea,select,.chip,.shelf-tab,.shelf-tab.active,.day-plan-slot,.day-plan-remove,.inci-box,.product-name-hints,.picker-check){background:var(--card-solid);color:var(--ink);border-color:var(--panel-border)}.night .chip-ok{background:var(--accent-soft)}.night .btn-primary{color:#291631;background:linear-gradient(120deg,#ebbcdf,#b9a3e7)}.night .icon-btn .crystal-glyph{background:var(--accent-soft)}
.checkin-card{background:var(--card);border-color:var(--panel-border)}.build-info{padding-bottom:20px}.repeat-row .btn{font-size:12px}.checkin-btns .chip{font-size:12px}
@media(min-width:600px){.routine-sticker .sticker{grid-template-rows:150px auto}.routine-sticker .sticker-img{height:150px}.routine-sticker .sticker-name{font-size:12px}.slot-items{min-height:185px}}
@media(max-width:350px){.slot-title{font-size:21px}.routine-title-icon{width:22px;height:22px}.btn-mini,.slot-head .btn-done{padding:7px;font-size:10px}.routine-sticker .sticker{grid-template-rows:96px auto}.routine-sticker .sticker-img{height:96px}}
