:root{--bg-top: #FBDDE6;--night: #2D2944;--night-2: #3A355A;--dawn: #FFF4E2;--bg: #F7EEEA;--surface: #FFFFFF;--surface-2: #F4E8E3;--ink: #2B2326;--muted: #75666A;--line: #EFE3DE;--accent: #C45B42;--on-accent: #FFFFFF;--accent-soft: #FCE4DB;--accent-text: #A2452F;--p1: #FCE3DA;--p2: #DEEBF7;--p3: #EBE3F7;--p4: #DFF1E6;--p5: #FBF0D2;--c-topical: #4E8C6A;--c-oral: #4A7DB6;--c-peel: #C45B42;--c-extract: #8A68B8;--c-laser: #2C8487;--c-visit: #A8862F;--s-acne: #C45B42;--s-red: #C2416A;--s-dry: #4A7DB6;--note-bg: #FDF1DD;--note-ink: #7E4B0C;--ask-bg: #FCE3E6;--ask-ink: #962A3C;--good: #3F8A5C;--bad: #C2416A;--shadow: 0 1px 2px rgba(120, 70, 50, .05), 0 8px 24px rgba(120, 70, 50, .07);--r: 26px;--sans: system-ui, -apple-system, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg-top: #2A1824;--night: #2E2A48;--night-2: #3B365C;--dawn: #3A2E1E;--bg: #18131A;--surface: #241D22;--surface-2: #2F272C;--ink: #F6EDEF;--muted: #B5A6AB;--line: #3A3036;--accent: #F2967B;--on-accent: #2A140D;--accent-soft: #46271F;--accent-text: #F6AE97;--p1: #4A2C24;--p2: #22344A;--p3: #34294A;--p4: #213A2C;--p5: #41361C;--c-topical: #8FCBA7;--c-oral: #8DB7E6;--c-peel: #F2967B;--c-extract: #C2A6E8;--c-laser: #7FD3D1;--c-visit: #E1C377;--s-acne: #F2967B;--s-red: #F08DAC;--s-dry: #8DB7E6;--note-bg: #3A2C16;--note-ink: #F3C886;--ask-bg: #3F1D27;--ask-ink: #F6A9B9;--good: #8FCBA7;--bad: #F08DAC;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .3)}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:linear-gradient(180deg,var(--bg-top) 0,var(--bg) 460px) no-repeat,var(--bg);color:var(--ink);font:16px/1.45 var(--sans);-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}img{display:block;max-width:100%}h1,h2,h3{margin:0}.ic{flex:none}.muted{color:var(--muted)}main{max-width:560px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 12px) 16px calc(112px + env(safe-area-inset-bottom))}.hero{padding:14px 4px 16px}.hero.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.eyebrow{margin:0 0 2px;color:var(--muted);font-size:14px}.display{font-size:27px;line-height:1.15;font-weight:700;letter-spacing:-.02em}.display em{font-style:normal;color:var(--accent-text)}.hello{display:flex;align-items:center;gap:12px;padding:10px 2px 18px}.hello>div{flex:1;min-width:0}.avatar{width:48px;height:48px;flex:none;padding:0;border:2px solid var(--surface);border-radius:50%;overflow:hidden;background:var(--accent-soft);color:var(--accent-text);font-weight:700;box-shadow:var(--shadow);display:grid;place-items:center}.avatar img{width:100%;height:100%;object-fit:cover}.topbar{display:flex;align-items:center;gap:8px;min-height:48px;margin-bottom:4px}.topbar .grow{flex:1;text-align:center;font-weight:600}.icon-btn{display:grid;place-items:center;width:44px;height:44px;flex:none;border:0;border-radius:16px;background:var(--surface);box-shadow:var(--shadow);text-decoration:none}.text-btn{min-height:44px;padding:0 12px;border:0;background:none;color:var(--accent-text);font-weight:600;border-radius:12px}.sec{margin:26px 0 0}.sec>h2,.sec summary h2{display:flex;align-items:center;gap:8px;margin:0 4px 12px;font-size:18px;font-weight:700;letter-spacing:-.01em}.sec h2 small{font-size:13px;font-weight:600;color:var(--muted)}.sec h2 .push{margin-left:auto;display:inline-flex;align-items:center;gap:4px;min-height:36px;font-size:14px}.card{display:block;width:100%;text-align:left;border:0;padding:16px;background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow)}.stack{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}.empty{padding:28px 18px;text-align:center;color:var(--muted)}.empty b{display:block;color:var(--ink);font-size:17px;margin-bottom:4px}.fine{font-size:12px;color:var(--muted);margin:10px 4px 0}.tile{position:relative;display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:18px;overflow:hidden;background:var(--p1);color:var(--ink)}.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:4px;mix-blend-mode:multiply}.tile b{font-size:16px;opacity:.75}.tile.p1{background:var(--p1)}.tile.p2{background:var(--p2)}.tile.p3{background:var(--p3)}.tile.p4{background:var(--p4)}.tile.p5{background:var(--p5)}.tile.big{width:100%;height:200px;border-radius:26px}.tile.big img{padding:18px}.tile.big b{font-size:44px}@media (prefers-color-scheme: dark){.tile img{mix-blend-mode:normal}}.ep-card{display:flex;align-items:center;gap:14px;padding:12px 14px 12px 12px}.ep-card .body{flex:1;min-width:0}.ep-card b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ep-card small{display:block;color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ep-card .days{text-align:right;font-weight:700;font-size:18px;line-height:1}.ep-card .days small{font-size:11px;font-weight:600}.t-topical{--c: var(--c-topical)}.t-oral{--c: var(--c-oral)}.t-peel{--c: var(--c-peel)}.t-extract{--c: var(--c-extract)}.t-laser{--c: var(--c-laser)}.t-visit{--c: var(--c-visit)}.chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 12px;border-radius:999px;background:var(--surface-2);font-size:14px;border:0;text-decoration:none}.chip.tint{background:color-mix(in srgb,var(--c) 16%,var(--surface))}.chip.tint:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c)}.chips{display:flex;flex-wrap:wrap;gap:8px}.sample-tag{font-size:10px;font-weight:700;letter-spacing:.06em;padding:2px 6px;border-radius:6px;background:var(--note-bg);color:var(--note-ink);vertical-align:2px}.sample-chip{background:var(--note-bg);color:var(--note-ink);font-size:12px;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 20px;border:0;border-radius:18px;background:var(--surface);box-shadow:var(--shadow);font-weight:600;text-decoration:none}.btn.primary{background:var(--accent);color:var(--on-accent);box-shadow:none}.btn.soft{background:var(--accent-soft);color:var(--accent-text);box-shadow:none}.btn.danger{background:none;box-shadow:inset 0 0 0 1.5px currentColor;color:var(--bad)}.btn.block{width:100%}.cta{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:58px;border:0;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:17px;font-weight:700;box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 30%,transparent)}.cta:active,.btn:active{transform:scale(.98)}.banner{display:flex;align-items:center;gap:12px;padding:10px 10px 10px 16px;margin-top:12px;border-radius:20px;background:var(--surface);box-shadow:var(--shadow);font-size:14px}.banner p{flex:1;margin:0}.banner button{flex:none;min-height:40px;padding:0 14px;border:0;border-radius:14px;background:var(--accent-soft);color:var(--accent-text);font-weight:700}.hero-card{display:grid;grid-template-columns:128px 1fr;gap:12px 16px;align-items:center;padding:18px;border-radius:30px;background:color-mix(in srgb,var(--surface) 82%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.ring{position:relative;width:128px;height:128px;padding:0;border:0;background:none;border-radius:50%}.ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring circle{fill:none;stroke-width:9;stroke-linecap:round}.ring .trk{stroke:var(--accent-soft)}.ring .arc{stroke:var(--accent)}.ring>span{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.ring b{font-size:34px;font-weight:800;line-height:1;letter-spacing:-.03em}.ring small{font-size:12px;font-weight:700;color:var(--accent-text);margin-top:4px}.hero-side{display:grid;gap:8px;min-width:0}.streak{justify-self:start;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:var(--surface);box-shadow:var(--shadow);font-size:12px;font-weight:700;color:var(--accent-text)}.meter{display:grid;grid-template-columns:34px 1fr 28px;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.meter i{height:6px;border-radius:6px;background:var(--surface-2);overflow:hidden}.meter i b{display:block;height:100%;border-radius:6px;background:var(--k)}.meter em{font-style:normal;font-weight:700;color:var(--ink);text-align:right}.btn.sm{min-height:40px;padding:0 14px;font-size:14px;border-radius:14px;justify-self:start}.rcs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rc{display:grid;align-content:start;gap:10px;min-width:0;padding:14px;border:0;border-radius:26px;text-align:left;background:var(--dawn);color:var(--ink);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,#E9B872 40%,transparent)}.rc.pm{background:linear-gradient(160deg,var(--night-2),var(--night));color:#f4f1ff;box-shadow:none}.rc[aria-pressed=true]{outline:2.5px solid var(--accent);outline-offset:2px}.rc-head{display:flex;justify-content:space-between;gap:6px}.rc-head b{display:block;font-size:16px}.rc-head>span{min-width:0}.rc-head small{display:block;font-size:12px;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rc.am .rc-head .ic{color:#d9962b}.rc.pm .rc-head .ic{color:#ffe7a3}.rc ol{display:grid;gap:6px;margin:0;padding:0;list-style:none;counter-reset:s}.rc li{display:flex;align-items:center;gap:8px;min-width:0;padding:6px 8px;border-radius:12px;background:color-mix(in srgb,#fff 70%,transparent);font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;counter-increment:s}.rc.pm li{background:#ffffff1a}@media (prefers-color-scheme: dark){.rc.am li{background:#ffffff14}}.rc li:before{content:counter(s);flex:none;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text);font-size:11px}.rc.pm li:before{background:#ffffff29;color:#fff}.rc li.ok:before{content:"✓";background:var(--accent);color:var(--on-accent)}.rc-foot{font-size:12px;font-weight:700;opacity:.8}.rc-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:14px 4px 8px}.rc-title h3{font-size:15px;font-weight:700;color:var(--muted)}.rc-title .text-btn{display:inline-flex;align-items:center;gap:4px;min-height:40px;padding:0 12px;background:var(--accent-soft);border-radius:999px;font-size:13px}.step.offp{outline:1.5px dashed var(--accent);outline-offset:-1.5px}.step .tag{color:var(--accent-text);font-weight:600}.pick.row span{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:6px 14px 6px 6px;border-radius:20px}.pick.row span small{margin-left:auto;color:var(--muted);font-size:12px}.pick.row .tile{width:44px;height:44px;border-radius:14px}.routine-head h2 small{display:block;font-size:13px;font-weight:500;color:var(--muted);margin-top:2px}.pstats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.pstats div{display:grid;gap:2px;padding:12px 14px;border-radius:20px;background:color-mix(in srgb,var(--c) 14%,var(--surface));box-shadow:inset 3px 0 0 var(--c)}.pstats b{font-size:14px}.pstats span{font-size:20px;font-weight:700}.pstats small{font-size:12px;color:var(--muted)}.nx{color:var(--accent-text)!important;font-weight:700}.row-item span small{font-weight:500;color:var(--muted)}.appt{display:flex;align-items:center;gap:14px;padding:12px}.appt .date{display:grid;justify-items:center;flex:none;width:56px;padding:6px 0;border-radius:16px;background:color-mix(in srgb,var(--c) 18%,var(--surface));line-height:1.1}.appt .date b{font-size:20px}.appt .date small{font-size:11px;font-weight:700;color:var(--muted)}.appt .body{min-width:0;display:grid;gap:2px}.appt .body small{font-size:13px;color:var(--muted)}.appt .w{display:inline-flex;align-items:center;gap:4px;color:var(--note-ink)!important;font-weight:600}.week{margin-top:18px;padding:14px 10px 12px}.week-head{display:flex;align-items:center;justify-content:space-between;padding:0 6px 10px;font-weight:700}.week-head .icon-btn{width:36px;height:36px;border-radius:12px;box-shadow:none;background:var(--surface-2)}.days7{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.day{display:grid;justify-items:center;gap:2px;padding:8px 0 6px;border:0;border-radius:18px;background:none;font-variant-numeric:tabular-nums}.day small{font-size:11px;color:var(--muted);font-weight:600}.day b{font-size:17px}.day i{width:5px;height:5px;border-radius:50%;background:transparent}.day i.on{background:var(--accent)}.day.today{box-shadow:inset 0 0 0 1.5px var(--accent)}.day[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.day[aria-pressed=true] small{color:inherit;opacity:.85}.day[aria-pressed=true] i.on{background:var(--on-accent)}.day.future{opacity:.45}.routine-head{display:flex;align-items:center;gap:10px;margin:0 4px 12px}.routine-head h2{font-size:18px;font-weight:700;flex:1}.progress{font-size:13px;font-weight:700;color:var(--accent-text);background:var(--accent-soft);padding:4px 10px;border-radius:999px}.nights{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.night{min-width:0;padding:10px 12px;border:0;border-radius:18px;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line);text-align:left}.night b{display:block;font-size:14px}.night small{display:block;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.night[aria-pressed=true]{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.night[aria-pressed=true] b{color:var(--accent-text)}.step{display:flex;align-items:center;gap:14px;width:100%;padding:10px 14px 10px 10px;border:0;border-radius:22px;background:var(--surface);box-shadow:var(--shadow);text-align:left}.step .body{flex:1;min-width:0}.step b{display:block;font-weight:600;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step small{display:block;color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step .tick{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:10px;box-shadow:inset 0 0 0 2px var(--line);color:transparent;transition:background .15s ease-out}.step[aria-pressed=true] .tick{background:var(--accent);color:var(--on-accent);box-shadow:none}.step[aria-pressed=true] b{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--ink) 40%,transparent)}.step:disabled{cursor:default}.last-photo{display:flex;align-items:center;gap:14px}.last-photo img{width:64px;height:84px;border-radius:18px;object-fit:cover;flex:none}.last-photo .mini{margin-top:6px}.warn{display:flex;gap:12px;padding:14px 16px;border-radius:22px;background:var(--note-bg);color:var(--note-ink)}.warn.ask{background:var(--ask-bg);color:var(--ask-ink)}.warn.sep{background:var(--surface);color:var(--muted);box-shadow:inset 0 0 0 1.5px var(--line)}.warn b{display:block}.together ul{margin:6px 0 8px;padding:0;list-style:none;display:grid;gap:8px}.together li{font-size:13px;color:var(--ink)}.together li b{display:block;font-size:13px;color:inherit}.cat-h{margin:8px 4px -2px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.cat-h:first-child{margin-top:0}.more-w summary{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:0 16px;border-radius:18px;background:var(--note-bg);color:var(--note-ink);font-weight:700;font-size:14px;list-style:none;cursor:pointer}.more-w summary::-webkit-details-marker{display:none}.more-w[open] summary span{display:none}.more-w summary span{text-decoration:underline}.more-w .stack{margin-top:10px}.warn p{margin:2px 0 4px;font-size:14px;color:var(--ink)}.warn small{font-size:12px;font-weight:700;letter-spacing:.02em}.strip{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}.strip-cap{display:flex;justify-content:space-between;gap:8px;margin:0;padding:14px 16px 0;font-size:11px;font-weight:600;color:var(--muted)}.strip-cap span{display:inline-flex;align-items:center;gap:6px}.strip-cap i{width:14px;height:3px;border-radius:2px;background:var(--accent)}.gantt{overflow-x:auto;scrollbar-width:none;cursor:crosshair}.gantt::-webkit-scrollbar{display:none}.gantt:focus-visible{outline-offset:-2px}.gantt-inner{position:relative}.g-month{position:absolute;top:0;bottom:0;border-left:1px dashed var(--line);padding:6px;font-size:11px;color:var(--muted);font-weight:700}.g-hint{position:sticky;left:12px;top:26px;display:inline-block;margin-top:26px;padding-left:12px;font-size:12px;color:var(--muted);white-space:nowrap}.curve{position:absolute;left:0;top:0;pointer-events:none}.g-photo{position:absolute;z-index:2;width:28px;height:28px;transform:translate(-50%,-50%);padding:0;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1.5px var(--accent);overflow:hidden;background:var(--surface-2)}.g-photo img{width:100%;height:100%;object-fit:cover}.g-today{position:absolute;top:22px;bottom:0;width:0;border-left:2px dotted var(--accent);opacity:.5}.g-cursor{position:absolute;z-index:3;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--ink);pointer-events:none;transition:left .15s ease-out}.g-cursor span{position:absolute;bottom:4px;left:50%;transform:translate(-50%);padding:2px 8px;border-radius:999px;background:var(--ink);color:var(--bg);font-size:11px;font-weight:700;white-space:nowrap}.ev{position:absolute;display:flex;align-items:center;gap:6px;height:26px;margin-left:-7px;padding:0 8px 0 0;border:0;background:none;font-size:12px;font-weight:600;white-space:nowrap}.ev i{width:14px;height:14px;border-radius:4px;transform:rotate(45deg);background:var(--c);box-shadow:0 0 0 3px var(--surface)}.bar{position:absolute;display:flex;align-items:center;height:30px;padding:0;border:0;border-radius:12px;font-size:13px;font-weight:600;white-space:nowrap;background:color-mix(in srgb,var(--c) 20%,var(--surface));box-shadow:inset 3px 0 0 var(--c)}.bar.ongoing{background:linear-gradient(90deg,color-mix(in srgb,var(--c) 20%,var(--surface)) 75%,color-mix(in srgb,var(--c) 4%,var(--surface)));border-radius:12px 0 0 12px}.bar .lbl{position:sticky;left:0;padding:0 10px}.scrub{display:grid;gap:10px;padding:14px 16px 16px;border-top:1px solid var(--line)}.scrub-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px}.scrub-head .text-btn{min-height:32px;padding:0 4px}.scrub-head .muted{font-size:13px}.mini{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--muted)}.mini span{display:inline-flex;align-items:center;gap:5px}.mini i{width:8px;height:8px;border-radius:50%;background:var(--k)}.mini b{color:var(--ink);font-size:15px}.scrub-warn{display:flex;align-items:center;gap:6px;margin:0;font-size:13px;font-weight:600;color:var(--note-ink)}details.ended summary{list-style:none;cursor:pointer}details.ended summary::-webkit-details-marker{display:none}details.ended summary h2:after{content:"›";margin-left:auto;font-size:22px;color:var(--muted);transition:transform .2s}details.ended[open] summary h2:after{transform:rotate(90deg)}.list{padding:4px 0}.row-item{display:flex;align-items:center;gap:12px;width:100%;min-height:50px;padding:0 16px;border:0;background:none;text-align:left}.row-item+.row-item{border-top:1px solid var(--line)}.row-item i{width:8px;height:8px;border-radius:50%;background:var(--c);flex:none}.row-item span{flex:1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-item small{color:var(--muted);font-size:13px}.ep-hero{padding:12px;border-radius:32px;background:var(--surface);box-shadow:var(--shadow)}.ep-hero .meta{padding:14px 8px 6px}.ep-hero h1{margin:8px 0 0;font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.2}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-top:14px}.stats div{padding:12px 14px;border-radius:18px;background:var(--surface-2)}.stats b{display:block;font-size:17px}.stats small{color:var(--muted);font-size:12px}dl.info{margin:0;display:grid;gap:14px}dl.info dt{font-size:12px;color:var(--muted);font-weight:700}dl.info dd{margin:2px 0 0}.row-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.thumb{position:relative;padding:0;border:0;border-radius:20px;overflow:hidden;aspect-ratio:3/4;background:var(--surface-2)}.thumb img{width:100%;height:100%;object-fit:cover}.thumb span{position:absolute;left:6px;bottom:6px;padding:2px 8px;border-radius:999px;background:#140e1099;color:#fff;font-size:11px;font-weight:600}.chart{margin:0;padding:14px 10px 8px}.chart svg{width:100%;height:auto;overflow:visible}.chart figcaption{padding:0 6px;font-size:12px;color:var(--muted)}.chart text{font:11px var(--sans);fill:var(--muted)}.chart .lab{font-weight:700}.tabbar{position:fixed;z-index:10;left:0;right:0;bottom:0;display:flex;justify-content:center;padding:0 14px calc(10px + env(safe-area-inset-bottom));pointer-events:none}.tabbar .in{pointer-events:auto;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;width:100%;max-width:440px;padding:6px;border-radius:30px;background:color-mix(in srgb,var(--surface) 86%,transparent);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:var(--shadow),0 0 0 1px var(--line)}.tab{display:grid;justify-items:center;gap:2px;min-height:52px;padding:6px 0;border-radius:22px;color:var(--muted);font-size:11px;font-weight:600;text-decoration:none}.tab[aria-current=page]{color:var(--accent-text);background:var(--accent-soft)}.fab{justify-self:center;display:grid;place-items:center;width:56px;height:56px;border:0;border-radius:50%;background:var(--accent);color:var(--on-accent);box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 40%,transparent)}.fab:active{transform:scale(.94)}dialog.sheet{width:100%;max-width:560px;max-height:92dvh;margin:auto auto 0;padding:0;border:0;border-radius:32px 32px 0 0;background:var(--bg);color:var(--ink);overflow:hidden}dialog.sheet[open]{display:flex;flex-direction:column;animation:up .26s ease-out}dialog.sheet::backdrop{background:#1e0f1473}@keyframes up{0%{transform:translateY(40px);opacity:.4}}.sheet-head{position:relative;display:flex;align-items:center;gap:8px;padding:18px 12px 6px 20px}.sheet-head h2{flex:1;font-size:20px;font-weight:700}.sheet-head:before{content:"";position:absolute;top:7px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:4px;background:var(--line)}.sheet-body{overflow-y:auto;padding:4px 16px 16px}.sheet-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--bg);box-shadow:0 -1px 0 var(--line)}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:4px;gap:4px;border-radius:18px;background:var(--surface-2)}.seg label,.seg button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 6px;border:0;border-radius:14px;background:none;font-size:14px;font-weight:600;color:var(--muted);text-align:center;cursor:pointer}.seg input{position:absolute;opacity:0;pointer-events:none}.seg label:has(input:checked),.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.seg label:has(input:focus-visible){outline:2px solid var(--accent)}.field{display:grid;gap:6px;margin-top:16px}.field>span,.field>legend{font-size:13px;font-weight:700;color:var(--muted);padding:0}fieldset.field{border:0;margin-inline:0;padding:0;min-width:0}.input{width:100%;min-height:50px;padding:10px 16px;border:1.5px solid var(--line);border-radius:16px;background:var(--surface)}.input:focus{border-color:var(--accent);outline:none}textarea.input{min-height:76px;resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.two .field{margin-top:0}.check{display:flex;align-items:center;gap:10px;min-height:44px;font-size:15px}.check input{width:22px;height:22px;accent-color:var(--accent)}.pick{position:relative}.pick input{position:absolute;opacity:0;pointer-events:none}.pick span{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border-radius:999px;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line);font-size:14px;cursor:pointer}.pick input:checked+span{background:var(--accent-soft);color:var(--accent-text);box-shadow:inset 0 0 0 2px var(--accent);font-weight:600}.pick input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.pick.c input:checked+span{background:color-mix(in srgb,var(--c) 18%,var(--surface));color:var(--ink);box-shadow:inset 0 0 0 2px var(--c)}.prod{display:flex;align-items:center;gap:12px}.prod .tile{width:72px;height:72px;border-radius:22px}.prod .btns{display:flex;flex-wrap:wrap;gap:8px}.prod .btn{min-height:40px;padding:0 14px;font-size:14px}.score{display:grid;grid-template-columns:92px 1fr;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.score:last-of-type{border-bottom:0}.score>span{font-weight:600;font-size:15px}.dots{display:flex;justify-content:space-between;gap:6px}.dots label{position:relative;flex:1;display:grid;place-items:center;height:44px;cursor:pointer}.dots input{position:absolute;opacity:0}.dots i{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;font-style:normal;font-weight:700;font-size:15px;background:color-mix(in srgb,var(--k) calc(var(--v) * 8%),var(--surface));box-shadow:inset 0 0 0 1.5px var(--line);transition:transform .12s ease-out}.dots input:checked+i{background:var(--k);color:#fff;box-shadow:none;transform:scale(1.08)}.dots input:focus-visible+i{outline:2px solid var(--ink);outline-offset:2px}.score-hint{display:flex;justify-content:space-between;margin:2px 0 0 102px;font-size:11px;color:var(--muted)}.shot{display:grid;grid-template-columns:1fr 1fr;gap:10px}.shot .main{grid-column:1 / -1;position:relative;aspect-ratio:4/3;border-radius:26px;overflow:hidden;background:var(--p1);display:grid;place-items:center}.shot .main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.shot .main .prev{opacity:.28;filter:grayscale(1)}.shot .main .hint{position:relative;text-align:center;padding:10px;font-size:13px;color:var(--muted)}.file-btn{position:relative;overflow:hidden}.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}.cam{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;background:#000;color:#fff}.cam[hidden]{display:none}.cam-top,.cam-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px}.cam-top{padding-top:calc(12px + env(safe-area-inset-top))}.cam-top p{flex:1;margin:0;text-align:center;font-size:13px;opacity:.85}.cam-bottom{margin:0 12px calc(12px + env(safe-area-inset-bottom));border-radius:30px;background:#ffffff1f;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.cam .icon-btn{background:#ffffff24;box-shadow:none;color:#fff}.stage{position:relative;flex:1;min-height:0;display:grid;place-items:center;overflow:hidden}.frame{position:relative;height:100%;max-width:100%;aspect-ratio:3/4;overflow:hidden}.frame video,.frame .ghost{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.mirror{transform:scaleX(-1)}.frame .ghost{opacity:.35;pointer-events:none}.frame svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.shutter{width:72px;height:72px;border-radius:50%;border:4px solid #fff;background:var(--accent);box-shadow:inset 0 0 0 4px #000}.shutter:active{transform:scale(.94)}.cam-side{display:grid;justify-items:center;gap:4px;width:84px;font-size:11px;opacity:.9}.cam-side input[type=range]{width:84px;accent-color:var(--accent)}.cam-err{margin:0;padding:12px 16px;background:#3a1d1d;font-size:14px}.slots{display:grid;grid-template-columns:1fr 1fr;gap:10px}.slot{display:flex;align-items:center;gap:10px;padding:8px;border:0;border-radius:22px;background:var(--surface);box-shadow:var(--shadow);text-align:left}.slot img,.slot .ph{width:44px;height:58px;border-radius:14px;object-fit:cover;background:var(--surface-2)}.slot small{display:block;font-size:11px;color:var(--muted);font-weight:700}.slider{position:relative;aspect-ratio:3/4;border-radius:32px;overflow:hidden;background:var(--surface-2);box-shadow:var(--shadow);--pos: 50%;touch-action:pan-y}.slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.slider .top{clip-path:inset(0 calc(100% - var(--pos)) 0 0)}.slider .handle{position:absolute;top:0;bottom:0;left:var(--pos);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 8px #0006;pointer-events:none}.slider .handle:after{content:"‹ ›";position:absolute;top:50%;left:50%;display:grid;place-items:center;width:44px;height:44px;margin:-22px;border-radius:50%;background:#fff;color:#2b2326;font-weight:700;letter-spacing:2px}.slider input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:ew-resize}.slider .tag{position:absolute;top:12px;padding:4px 10px;border-radius:999px;background:#140e1099;color:#fff;font-size:12px;font-weight:600}.side{display:grid;grid-template-columns:1fr 1fr;gap:8px}.side img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:22px}.delta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.delta div{padding:12px;border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.delta b{display:block;font-size:20px}.delta small{color:var(--muted);font-size:12px}.delta .up,.up{color:var(--bad)}.delta .down,.down{color:var(--good)}.month-nav{display:flex;align-items:center;justify-content:space-between;gap:8px}.month-nav h1{font-size:24px;font-weight:700;text-align:center}.month-nav h1 small{display:block;font-size:13px;font-weight:500;color:var(--muted)}.weeks{display:flex;align-items:center;gap:16px}.weeks .big{font-size:46px;font-weight:700;line-height:1;letter-spacing:-.03em}.weeks .big small{font-size:22px;color:var(--muted)}.wk{display:flex;gap:6px;margin:8px 0 4px}.wk i{width:22px;height:22px;border-radius:8px;background:var(--surface-2)}.wk i.on{background:var(--accent)}.wk i.future{background:none;outline:1.5px dashed var(--line);outline-offset:-1.5px}table.combo{width:100%;border-collapse:collapse;font-size:14px}table.combo th{font-size:11px;color:var(--muted);text-align:right;font-weight:700;padding:0 4px 6px}table.combo th:first-child{text-align:left}table.combo td{padding:10px 4px;border-top:1px solid var(--line);text-align:right;font-variant-numeric:tabular-nums}table.combo td:first-child{text-align:left;font-weight:600}.note-list{margin:0;padding:16px;list-style:none}.note-list li{padding:12px 0;border-top:1px solid var(--line)}.note-list li:first-child{border-top:0;padding-top:0}.note-list time{font-size:12px;font-weight:700;color:var(--muted)}.toast{position:fixed;z-index:60;left:50%;bottom:calc(100px + env(safe-area-inset-bottom));transform:translate(-50%);padding:12px 18px;border-radius:16px;background:var(--ink);color:var(--bg);font-size:14px;font-weight:600;box-shadow:var(--shadow);max-width:calc(100% - 32px)}.toast:empty{display:none}.viewer img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:26px}#print{display:none}@media (prefers-reduced-motion: reduce){*,:before,:after{animation:none!important;transition:none!important}}@media print{body{background:#fff;color:#000}.tabbar,.no-print,.banner,.topbar,.toast,dialog{display:none!important}main{padding:0;max-width:none}.card,.strip,.delta div{box-shadow:none;border:1px solid #ccc}.sec{break-inside:avoid}body.doc main{display:none}body.doc #print{display:block;font-size:12px}#print h1{font-size:22px}#print h2{font-size:16px;margin:18px 0 6px}#print table{width:100%;border-collapse:collapse}#print th,#print td{border:1px solid #bbb;padding:4px 6px;text-align:left;vertical-align:top}#print .pics{display:flex;gap:8px;break-inside:avoid}#print .pics figure{margin:0;width:120px}#print .pics img{width:120px;aspect-ratio:3/4;object-fit:cover}#print figcaption{font-size:10px}}
