:root{--bg: #fbfaf7;--panel: #ffffff;--panel-2: #f2f0ea;--line: #e9e5dc;--line-strong: #d8d2c5;--grad-haru: linear-gradient(135deg, #f7e9dc 0%, #ecd9e4 48%, #d3dcec 100%);--grad-asahi: linear-gradient(135deg, #f9dcc8, #f0b89a 52%, #e29a8a);--grad-matcha: linear-gradient(135deg, #e6ecd8, #cfdcba 52%, #aec49a);--grad-yoru: linear-gradient(135deg, #dfe3f0, #c7cfe6 52%, #a9b3d3);--grad-fuji: linear-gradient(135deg, #ece2ee, #d9c8e2 52%, #bfaed4);--grad-mizu: linear-gradient(135deg, #e0ebee, #c3d9e0 52%, #9fb9c6);--grad-sumi: linear-gradient(135deg, #3d3d39, #232320);--grad-beni: linear-gradient(135deg, #f2d5cf, #e5b0a6 52%, #d18a7e);--grad-kaki: linear-gradient(135deg, #f7e3c8, #eec89a 52%, #dfa76e);--ink: #444444;--ink-dim: #6e6a5e;--ink-faint: #a49f90;--red: #161612;--red-dim: #ddd6c7;--good: #7f9c6f;--good-dim: #cdd8c3;--bad: #c9695c;--bad-dim: #e9c4bc;--neutral: #b0aa9b;--ok: #3a3a35;--sans: "General Sans", "Archivo", sans-serif;--display: "Archivo", sans-serif;--mono: "Fragment Mono", monospace;--ease: cubic-bezier(.22, 1, .36, 1);--pad: 20px;--rail: 200px}.figure,.stat .value,.ringwrap .num,.wstats .num{font-family:var(--display)!important;font-variation-settings:"wdth" 108;font-weight:560;letter-spacing:-.025em;font-variant-numeric:tabular-nums lining-nums}[data-theme=dark]{--bg: #121210;--panel: #1a1a17;--panel-2: #22221e;--line: #2c2c27;--line-strong: #3a3a33;--ink: #ecebe4;--ink-dim: #93917f;--ink-faint: #5f5d52;--red: #ecebe4;--red-dim: #3a3a33;--good: #93ac7e;--good-dim: #46543a;--bad: #cf7a6c;--bad-dim: #5c2f28;--neutral: #77776f;--ok: #d7d7cf}[data-theme=dark] .tabbar{background:#121210eb}[data-theme=dark] .panel:hover{box-shadow:none}[data-theme=dark] .chart-area{opacity:1}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}input,textarea,select,button{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent}#root{min-height:100dvh}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;pointer-events:none;opacity:.038;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}[data-theme=dark] body:before{opacity:.05}.shell{min-height:100dvh;padding-bottom:calc(64px + env(safe-area-inset-bottom))}.page{max-width:640px;margin:0 auto;padding:calc(14px + env(safe-area-inset-top)) var(--pad) 32px;animation:page-in .42s var(--ease)}@keyframes page-in{0%{opacity:0;transform:translateY(12px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}.coachfull{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:var(--bg);overflow:hidden;animation:coach-up .32s var(--ease);display:flex;flex-direction:column}.coachfull.closing{animation:coach-down .24s cubic-bezier(.55,0,.55,.2) forwards}@keyframes coach-up{0%{transform:translateY(6%);opacity:.3}}@keyframes coach-down{to{transform:translateY(8%);opacity:0}}.coachfull .page{width:100%}.coachfull .coachpage{height:100dvh}.coachpage.coachmain{height:100dvh;padding-top:calc(54px + env(safe-area-inset-top))}.coachshell{padding-bottom:0}@media(min-width:900px){.coachshell{padding-left:0}.coachmain{max-width:720px}}.coachfull .pagehead{padding-right:48px}.coachhead{display:flex;align-items:center;justify-content:space-between;gap:14px}.coachacts{display:flex;gap:8px;align-items:center}.squarebtn{position:relative;width:34px;height:34px;flex:none;display:grid;place-items:center;border:1px solid var(--line-strong);color:var(--ink-dim);transition:border-color .2s var(--ease),color .2s var(--ease),transform .16s var(--ease)}.squarebtn:hover{color:var(--ink);border-color:var(--ink-dim)}.squarebtn:active{transform:scale(.94)}.squarebadge{position:absolute;top:-6px;right:-6px;min-width:15px;height:15px;padding:0 3px;background:var(--red);color:var(--bg);font-size:9px;font-weight:700;line-height:15px;font-variant-numeric:tabular-nums}.phaseblock{text-align:left}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(min-width:900px){.shell{padding-bottom:0;padding-left:var(--rail)}.page{max-width:760px;padding-top:40px}}.micro{font-size:11px;letter-spacing:.02em;text-transform:none;color:var(--ink-dim);font-weight:550}.micro.red{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-weight:400}.display{font-family:var(--display);font-variation-settings:"wdth" 122;font-weight:760;text-transform:uppercase;letter-spacing:.01em;line-height:.95}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.h-page{font-size:30px}.dim{color:var(--ink-dim)}.faint{color:var(--ink-faint)}.pagehead{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}.headrule{border:0;border-top:1px solid var(--line-strong);margin:12px 0 0;position:relative}.headrule:after{content:"";position:absolute;left:0;top:-1px;width:42px;height:1px;background:var(--red)}.stack{display:flex;flex-direction:column;gap:28px;margin-top:32px}.panel{border:1px solid color-mix(in srgb,var(--line) 55%,transparent);background:var(--panel);box-shadow:0 1px 2px #16161205,0 6px 20px #16161208;transition:border-color .3s var(--ease)}[data-theme=dark] .panel{box-shadow:none;border-color:var(--line)}@media(hover:hover){.panel:hover{border-color:var(--line-strong)}}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);gap:12px}.panel-head .micro{font-size:11.5px;font-weight:600;color:var(--ink)}.panel-body{padding:22px}@media(hover:hover){.checkrow:hover{background:var(--panel-2)}.kv:hover{background:transparent}}.panel-body{padding:21px}.panel-body.tight{padding:0}.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:420px){.row2.collapse{grid-template-columns:1fr}}.hairline-list>*{border-bottom:1px solid var(--line)}.hairline-list>*:last-child{border-bottom:0}.stat{padding:14px}.stat .value{font-family:var(--mono);font-size:26px;letter-spacing:-.02em;margin-top:6px}.stat .value .unit{font-size:13px;color:var(--ink-dim);margin-left:4px}.checkrow{display:flex;align-items:center;gap:12px;padding:11px 14px;width:100%;text-align:left;transition:background .15s}.checkrow:active{background:var(--panel-2)}.ck{width:17px;height:17px;flex:none;border:1px solid var(--line-strong);position:relative;display:inline-block;transition:border-color .2s;overflow:hidden}.ck:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .22s cubic-bezier(.22,1,.36,1)}.ck svg{position:absolute;top:2px;right:2px;bottom:2px;left:2px;width:calc(100% - 4px);height:calc(100% - 4px)}.ck svg path{fill:none;stroke:var(--bg);stroke-width:2.4;stroke-linecap:square;stroke-dasharray:16;stroke-dashoffset:16;transition:stroke-dashoffset .22s cubic-bezier(.22,1,.36,1) .08s}.ck.on{border-color:var(--ink)}.ck.on:before{transform:scaleX(1)}.ck.on svg path{stroke-dashoffset:0}.ck.sm{width:13px;height:13px}.ck.good.on{border-color:var(--good)}.ck.good.on:before{background:var(--good)}.checkrow .label{flex:1}.checkrow.done .label{color:var(--ink-faint);text-decoration:line-through;text-decoration-color:var(--line-strong)}.checkrow .meta{font-family:var(--mono);font-size:11px;color:var(--ink-faint)}.slotchip{font-family:var(--mono);font-size:10px;letter-spacing:.08em;border:1px solid var(--line-strong);color:var(--ink-dim);padding:3px 7px;transition:all .15s}.slotchip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.slotchip.missed{border-color:var(--bad-dim);color:var(--bad)}.btn{border:1px solid var(--line-strong);padding:11px 18px;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:650;color:var(--ink);transition:border-color .2s var(--ease),background .2s var(--ease),color .2s var(--ease),transform .16s var(--ease);display:inline-flex;align-items:center;gap:8px;justify-content:center}.btn:hover{border-color:var(--ink)}.btn:active{transform:scale(.98)}.btn:focus-visible{outline:1px solid var(--red);outline-offset:2px}.btn.primary{background:var(--grad-sumi);background-size:180% 180%;animation:gradshift 12s ease-in-out infinite alternate;color:#fbfaf7;border-color:transparent}.btn.primary:hover{filter:brightness(1.15)}.btn.red{background:var(--red);border-color:var(--red);color:var(--bg)}.btn.red:hover{filter:brightness(1.08)}.btn.ghost{border-color:transparent;color:var(--ink-dim)}.btn.ghost:hover{color:var(--ink);border-color:transparent}.btn.block{width:100%}.btn.sm{padding:8px 13px;font-size:10.5px}.iconbtn{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line-strong);color:var(--ink-dim);font-size:16px;line-height:1;transition:all .15s}.iconbtn:hover{color:var(--ink);border-color:var(--ink-dim)}.field{display:flex;flex-direction:column;gap:6px}.input{background:var(--bg);border:1px solid var(--line);padding:10px 12px;font-family:var(--mono);font-size:14px;width:100%;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input:focus{outline:none;border-color:var(--ink-dim)}.input::placeholder{color:var(--ink-faint)}textarea.input{font-family:var(--sans);resize:vertical;min-height:64px}.seg{display:flex;border:1px solid var(--line)}.seg>button{flex:1;padding:9px 4px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--ink-dim);border-right:1px solid var(--line);transition:all .15s}.seg>button:last-child{border-right:0}.seg>button.on{background:var(--ink);color:var(--bg)}.seg>button.on.red{background:var(--bad);color:#fff}.seg>button.on.good{background:var(--good);color:#fff}.meter{height:4px;background:var(--panel-2);position:relative;overflow:hidden}.meter>i{position:absolute;inset:0 auto 0 0;background:var(--ink);transition:width .5s cubic-bezier(.22,1,.36,1)}.meter>i.full{background:var(--good)}.ringwrap{position:relative;display:grid;place-items:center}.ringwrap svg{transform:rotate(-90deg)}.ringwrap .in{position:absolute;text-align:center}.ring-track{stroke:var(--panel-2)}.ring-val{stroke:var(--ink);transition:stroke-dashoffset .7s cubic-bezier(.22,1,.36,1)}.ring-val.full{stroke:var(--red)}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:40;display:flex;background:#fffdf9eb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent);box-shadow:0 -10px 30px #1616120f;padding-bottom:env(safe-area-inset-bottom)}.tabbar button{flex:1;padding:9px 0 7px;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--ink-faint);font-size:10px;letter-spacing:.01em;font-weight:600;transition:color .15s}.tabbar button.on{color:var(--ink)}.tabbar button svg{display:block}.tabbar .tab-coach{position:relative}.tabbar .tab-coach .coachsq{width:44px;height:44px;margin-top:-20px;background:var(--red);color:var(--bg);display:grid;place-items:center;box-shadow:0 8px 22px #16161247;transition:transform .15s}.tabbar .tab-coach:active .coachsq{transform:scale(.94)}.tabbar .tab-coach.on{color:var(--red)}.rail{display:none}@media(min-width:900px){.tabbar{display:none}.rail{display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;width:var(--rail);border-right:1px solid var(--line);padding:32px 0;z-index:40}.rail .brand{padding:0 24px 28px}.rail button{text-align:left;padding:11px 24px;font-size:13px;letter-spacing:.01em;font-weight:600;color:var(--ink-faint);border-left:2px solid transparent;transition:all .15s;display:flex;align-items:center;gap:12px}.rail button svg{flex:none;opacity:.85;transform:translateY(-1px)}.rail .coachlink{margin:0 16px 12px;padding:13px 14px;background:var(--grad-sumi);color:var(--bg)!important;border-left:0!important;box-shadow:0 6px 16px #1616122e;transition:all .18s}.rail .coachlink:hover{filter:brightness(1.08)}.rail .coachlink.on{filter:brightness(.92)}.rail .coachlink svg{color:var(--bg);opacity:1}.rail .railsys{margin-top:2px}.railfoot{margin-top:auto;border-top:1px solid var(--line);padding-top:10px}.profilerow{width:100%;display:flex;align-items:center;gap:10px;padding:10px 16px!important;border-left:2px solid transparent;color:var(--ink-dim)!important;text-transform:none!important;letter-spacing:0!important}.profilerow:hover{color:var(--ink)!important}.profilerow .avatar{width:30px;height:30px;flex:none;background:var(--panel-2);border:1px solid var(--line-strong);display:grid;place-items:center;font-family:var(--display);font-variation-settings:"wdth" 122;font-weight:800;font-size:13px;color:var(--ink)}.profilerow .pinfo{flex:1;min-width:0;display:flex;flex-direction:column;text-align:left}.profilerow .pname{font-size:12.5px;font-weight:600;color:var(--ink)}.profilerow .pmail{font-size:10.5px;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail button:hover{color:var(--ink-dim)}.rail button.on{color:var(--ink);border-left-color:var(--red)}.rail .foot{margin-top:auto;padding:0 24px}}.brand-sub{margin-top:10px;color:var(--ink-faint)}.brandlock{display:flex;align-items:center;color:var(--ink)}.brandlock svg{display:block}.brandlock .sq{display:none}.brandlock .word{font-family:var(--sans);font-weight:600;font-size:21px;line-height:1;letter-spacing:.3em;margin-right:-.3em}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#16161266;animation:fade .22s;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.scrim.closing{animation:fadeout .22s forwards}@keyframes fade{0%{opacity:0}}@keyframes fadeout{to{opacity:0}}.bsheet{width:100%;max-width:640px;max-height:86dvh;background:var(--bg);border:1px solid var(--line);border-bottom:0;border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:0 -18px 50px #1616122e;display:flex;flex-direction:column;animation:sheet-up .32s var(--ease);transition:transform .26s var(--ease)}.scrim.closing .bsheet{animation:sheet-down .22s cubic-bezier(.55,0,.55,.2) forwards}@keyframes sheet-up{0%{transform:translateY(40%)}}@keyframes sheet-down{to{transform:translateY(105%)}}.bsheet-head{position:relative;flex:none;touch-action:none;padding:22px 18px 12px;border-bottom:1px solid var(--line);display:flex;align-items:center}.bsheet-grab{position:absolute;top:8px;left:50%;transform:translate(-50%);width:40px;height:4px;border-radius:99px;background:var(--line-strong)}.bsheet-title{font-size:17px;flex:1}.bsheet-x{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);display:grid;place-items:center;transition:border-color .2s var(--ease),transform .16s var(--ease),background .2s var(--ease)}.bsheet-x:hover{border-color:var(--ink);background:var(--panel-2)}.bsheet-x:active{transform:scale(.92)}.subpage-body{flex:1;overflow-y:auto;touch-action:pan-y;padding:18px 18px calc(28px + env(safe-area-inset-bottom))}.backbtn{display:inline-flex;align-items:center;gap:4px;color:var(--ink-dim);font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;transition:color .15s;margin-left:-4px}.backbtn:hover{color:var(--ink)}.sheet-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.sheet{display:contents}.chart-line{stroke:var(--ink);fill:none;stroke-width:1.5}.chart-area{fill:url(#fadefill)}.chart-goal{stroke:var(--red);stroke-width:1;stroke-dasharray:3 4}.chart-grid{stroke:color-mix(in srgb,var(--line) 60%,transparent);stroke-width:1}.chart-dot{fill:var(--ink)}.chart-dot.last{fill:var(--red)}.bar{fill:var(--line-strong);transition:fill .15s}.bar.hit{fill:var(--good)}.bar.hov{fill:var(--red)}.chart-cross{stroke:var(--ink-dim);stroke-width:1;stroke-dasharray:2 3}.axis{fill:var(--ink-faint);font-family:var(--sans);font-size:10.5px;font-weight:550;letter-spacing:.01em}.chart-tip text{font-family:var(--sans);font-size:11px}.chart-tip .tip-date{fill:var(--ink-faint);font-weight:550}.chart-tip .tip-val{fill:var(--ink);font-family:var(--display);font-size:15px;font-weight:600;letter-spacing:-.01em}.cellgrid{display:grid;grid-template-columns:repeat(14,1fr);gap:3px}.cell{aspect-ratio:1;background:var(--panel-2);border:1px solid transparent;padding:0;transition:transform .15s,border-color .15s}button.cell:hover{transform:scale(1.12);border-color:var(--ink-dim)}.cell.good{background:var(--good)}.cell.ok{background:var(--neutral)}.cell.off{background:var(--bad-dim)}.cell.logged{background:var(--line-strong)}.cell.today{border-color:var(--ink-dim)}.daystrip{display:grid;grid-template-columns:repeat(14,1fr);gap:4px}.daystrip .d{display:flex;flex-direction:column;align-items:center;gap:5px;padding:0;background:none;border:0}.daystrip .d .dow{font-size:8.5px;letter-spacing:.08em;color:var(--ink-faint);font-weight:600}.daystrip .d .sq{width:100%;aspect-ratio:1;background:var(--panel-2);border:1px solid transparent;display:grid;place-items:center;font-family:var(--mono);font-size:9px;color:var(--ink-faint);transition:transform .15s,border-color .15s}.daystrip .d:hover .sq{transform:translateY(-2px);border-color:var(--ink-dim)}.daystrip .d .sq.good{background:var(--good);color:#fff}.daystrip .d .sq.ok{background:var(--neutral);color:#fff}.daystrip .d .sq.off{background:var(--bad-dim);color:var(--ink)}.daystrip .d .sq.logged{background:var(--line-strong);color:var(--ink-dim)}.daystrip .d .sq.today{border-color:var(--ink)}.settabs{display:flex;gap:0;flex-wrap:wrap;border:1px solid var(--line);overflow:hidden}.settabs button{flex:1 1 auto;padding:11px 15px;border-top:1px solid var(--line);margin-top:-1px;font-size:12.5px;letter-spacing:.01em;font-weight:600;color:var(--ink-faint);border-right:1px solid var(--line);position:relative;transition:color .15s;white-space:nowrap}.settabs button:hover{color:var(--ink-dim)}.settabs button.on{color:var(--ink);background:var(--panel)}.settabs button.on:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--red)}.statusdot{width:8px;height:8px;display:inline-block;flex:none}.statusdot.ok{background:var(--good)}.statusdot.warn{background:var(--neutral)}.statusdot.err{background:var(--bad)}.statusdot.off{background:var(--line-strong)}.optchip{border:1px solid var(--line-strong);padding:8px 12px;font-size:12.5px;color:var(--ink-dim);transition:all .15s;display:inline-flex;align-items:center;gap:8px}.optchip:hover{border-color:var(--ink-dim);color:var(--ink)}.optchip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.optchip.on.red{background:var(--red);color:var(--bg);border-color:var(--red)}.slothead{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;background:var(--panel-2)}.slothead .acts{display:flex;gap:12px}.slothead .acts button{font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--ink-dim);transition:color .15s}.slothead .acts button:hover{color:var(--ink)}.slothead .acts button.primary{color:var(--red)}.fab{position:fixed;right:18px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:50;width:54px;height:54px;background:var(--red);color:var(--bg);display:grid;place-items:center;box-shadow:0 10px 26px #16161247;transition:transform .18s cubic-bezier(.22,1,.36,1),background .18s}.fab:hover{transform:translateY(-2px);background:var(--ok)}.fab:active{transform:scale(.94)}.fab svg{width:22px;height:22px}.fab svg line{stroke:var(--bg);stroke-width:2.4}@media(min-width:900px){.fab{bottom:28px;right:28px}}.fab.coachfab{bottom:calc(142px + env(safe-area-inset-bottom));background:var(--panel);border:1px solid var(--line-strong);color:var(--ink);box-shadow:0 10px 30px #0000008c}.fab.coachfab:hover{background:var(--panel-2);border-color:var(--ink-dim)}.fab.coachfab svg line,.fab.coachfab svg path{stroke:var(--ink);stroke-width:1.5}@media(min-width:900px){.fab.coachfab{bottom:94px}}.coachpage{display:flex;flex-direction:column;height:100dvh;min-height:0;padding-bottom:0;overflow:hidden}.coachpage>header{flex:none}.chat{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;display:flex;flex-direction:column;gap:10px;padding:20px 2px 14px}.chat::-webkit-scrollbar{display:none}.daysep{display:flex;flex-direction:column;align-items:center;gap:4px;margin:16px 0 6px}.daysep:first-child{margin-top:0}.daysep .d-main{font-family:var(--display);font-variation-settings:"wdth" 122;font-weight:760;text-transform:uppercase;font-size:16.5px;letter-spacing:.02em}.daysep .d-sub{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}.chat-earlier{align-self:center;font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);padding:4px 10px}.caret{display:inline-block;width:7px;height:13px;margin-left:3px;background:var(--red);vertical-align:-2px;animation:caret-blink .9s steps(1) infinite}@keyframes caret-blink{50%{opacity:0}}.chat-hello{margin:auto 0;padding:40px 10px;text-align:center;color:var(--ink-dim);font-size:14px}.bubble{max-width:82%;padding:10px 13px;font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-word;animation:page-in .25s cubic-bezier(.22,1,.36,1)}.bubble.user{align-self:flex-end;background:var(--ink);color:var(--bg)}.bubble.assistant{align-self:flex-start;background:var(--panel);border:1px solid var(--line)}.bubble.err{border-color:var(--red-dim);color:var(--ink-dim)}.bubble.assistant .rich{white-space:normal}.rich p{margin:0 0 9px}.rich>*:last-child{margin-bottom:0}.rich .rich-h{font-weight:600;margin:12px 0 6px}.rich .rich-h:first-child{margin-top:0}.rich strong{font-weight:600}.rich em{font-style:italic}.rich code{font-family:var(--mono);font-size:.85em;background:var(--panel-2);border:1px solid var(--line);padding:1px 4px}.rich ul,.rich ol{margin:2px 0 10px;padding:0;list-style:none;display:flex;flex-direction:column;gap:5px}.rich li{position:relative;padding-left:17px}.rich ul li:before{content:"";position:absolute;left:1px;top:.5em;width:5px;height:5px;background:var(--red)}.rich ol{counter-reset:li}.rich ol li{padding-left:21px;counter-increment:li}.rich ol li:before{content:counter(li);position:absolute;left:0;top:.22em;font-family:var(--mono);font-size:10.5px;color:var(--ink-faint)}.bubble-img{display:block;max-width:200px;margin-bottom:8px;border:1px solid var(--line-strong)}.bubble.thinking{display:flex;gap:5px;padding:14px 15px}.tdot{width:5px;height:5px;background:var(--ink-dim);animation:tpulse 1.1s infinite}.tdot:nth-child(2){animation-delay:.18s}.tdot:nth-child(3){animation-delay:.36s}@keyframes tpulse{0%,to{opacity:.25}50%{opacity:1}}.chatbar{flex:none;background:var(--bg);padding:10px 0 calc(10px + env(safe-area-inset-bottom))}@media(min-width:900px){.chatbar{padding-bottom:20px}}.chatbar-row{display:flex;gap:2px;align-items:center;background:var(--panel);border:1px solid var(--line-strong);border-radius:26px;padding:5px;box-shadow:0 6px 22px #16161212;transition:border-color .2s var(--ease)}.chatbar-row:focus-within{border-color:var(--ink-dim)}.chat-input{flex:1;font-family:var(--sans);border:0!important;background:transparent!important;padding:9px 8px}.chat-input:focus{outline:none}.chatbtn{width:38px;height:38px;flex:none;border-radius:50%;display:grid;place-items:center;color:var(--ink-dim);transition:all .15s}.chatbtn:hover{color:var(--ink);background:var(--panel-2)}.chatbtn.send{background:var(--ink);color:var(--bg)}.chatbtn.send:hover{background:var(--ok)}.chatbtn.send:disabled{opacity:.4}.chatbtn.live{background:var(--ink);color:var(--bg);animation:tpulse 1.4s infinite}.chat-attach{display:flex;align-items:center;gap:8px;margin-bottom:10px}.chat-attach img{width:52px;height:52px;object-fit:cover;border:1px solid var(--line-strong)}.actioncard{align-self:flex-start;min-width:min(320px,88%);max-width:88%;display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:11px 13px;animation:page-in .3s cubic-bezier(.22,1,.36,1)}.actioncard.locked .acat-icon{background:var(--grad-matcha);color:#3c4a30}.acat-icon{flex:none;width:38px;height:38px;border-radius:13px;background:var(--panel-2);color:var(--ink-dim);display:grid;place-items:center;transition:background .25s var(--ease),color .25s var(--ease)}.actioncard .abody{flex:1;min-width:0}.actioncard .alabel{font-size:13.5px;font-weight:600}.actioncard .awhy{font-size:11.5px;color:var(--ink-faint);margin-top:2px}.actioncard .alock{flex:none;padding:8px 13px;background:var(--red);color:var(--bg);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;transition:transform .12s}.actioncard .alock:active{transform:scale(.95)}.actioncard .alock.done{background:none;color:var(--good);display:inline-flex;align-items:center;gap:6px}.actioncard .alock.undoable{cursor:pointer}.actioncard .alock.undoable .a-saved{display:inline-flex;align-items:center;gap:6px}.actioncard .alock.undoable .a-unsave{display:none;color:var(--red);letter-spacing:.08em}@media(hover:hover){.actioncard .alock.undoable:hover .a-saved{display:none}.actioncard .alock.undoable:hover .a-unsave{display:inline}}@media(hover:none){.actioncard .alock.undoable .a-saved:after{content:"✕";color:var(--ink-faint);margin-left:2px}}.msgtools{display:flex;gap:2px;margin:-4px 0 0;align-self:flex-start}.msgtools .mtool{width:27px;height:25px;display:grid;place-items:center;color:var(--ink-faint);transition:color .15s}.msgtools .mtool:hover{color:var(--ink)}.msgtools .mtool.on{color:var(--red)}.guidecard{border:1px solid var(--line-strong);border-top:2px solid var(--red);background:var(--panel);padding:18px;display:flex;flex-direction:column;gap:10px;animation:page-in .4s var(--ease)}.guidecard ul{padding-left:18px;display:flex;flex-direction:column;gap:6px}.guidecard li{font-size:13px;color:var(--ink-dim)}.guidechoices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.guidechoice{border:1px solid var(--line-strong);padding:13px 14px;text-align:left;display:flex;flex-direction:column;gap:4px;transition:border-color .2s var(--ease),background .2s var(--ease)}.guidechoice:hover{border-color:var(--red)}.guidechoice .t{font-weight:700;font-size:14px}.guidechoice .s{font-size:11.5px;color:var(--ink-faint)}.chatlink{color:var(--ink);text-decoration:underline;text-underline-offset:2px}.bubble.assistant .chatlink{color:inherit}.decisionrow{border-left:2px solid var(--line-strong);padding:4px 0 4px 10px}.decisionrow .dcat{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--red);flex:none}.decisionrow .dwhy{font-size:11.5px;color:var(--ink-faint);margin-top:2px;margin-left:46px}.wstats{display:flex;gap:26px}.wstats>div{display:flex;flex-direction:column;gap:3px}.wstats .num{font-family:var(--mono);font-size:20px}.stagebar{display:flex;height:14px;background:var(--panel-2);overflow:hidden}.stagebar i{display:block;height:100%}.st-deep{background:var(--ink)}.st-rem{background:var(--red)}.st-light{background:var(--ink-faint)}.st-awake{background:var(--panel-2)}.stagedot{display:inline-block;width:8px;height:8px;margin-right:5px}.qact svg{color:var(--ink-dim);margin-bottom:2px}.askai{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-strong);padding:5px 10px;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;font-weight:600;color:var(--ink-dim);transition:all .15s}.askai:hover{border-color:var(--red);color:var(--red)}.askai svg{color:var(--red)}.notice{border:1px solid var(--line-strong);border-left:2px solid var(--red);background:var(--panel);padding:12px 14px;display:flex;gap:12px;align-items:center;animation:page-in .35s cubic-bezier(.22,1,.36,1)}.notice .ntext{flex:1;font-size:13px}.notice .micro{display:block;margin-bottom:2px}.dayflow{position:relative}.dayflow:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:1px;background:var(--line-strong)}.dfitem{position:relative;display:flex;align-items:center;gap:14px;padding:9px 0;width:100%;text-align:left}.dfdot{width:15px;height:15px;flex:none;background:var(--bg);border:1px solid var(--line-strong);position:relative;z-index:1;display:grid;place-items:center;transition:all .2s}.dfitem.done .dfdot{background:var(--good);border-color:var(--good)}.dfitem.done .dfdot:after{content:"";width:5px;height:5px;background:var(--bg)}.dfitem.now .dfdot{border-color:var(--red)}.dfitem.now .dfdot:after{content:"";width:5px;height:5px;background:var(--red);animation:tpulse 1.4s infinite}.dflabel{flex:1;font-size:13.5px}.dfitem.done .dflabel{color:var(--ink-faint)}.dfmeta{font-family:var(--mono);font-size:10.5px;color:var(--ink-faint)}.dfphase{margin:10px 0 4px;padding-left:28px}.player-ex{border:1px solid var(--line);background:var(--panel);padding:16px}.player-setrow{display:flex;gap:8px;align-items:center;margin-top:8px}.player-setrow .setn{font-family:var(--mono);font-size:11px;color:var(--ink-faint);width:34px;flex:none}.player-progress{display:flex;gap:4px;margin-bottom:14px}.player-progress i{flex:1;height:3px;background:var(--panel-2)}.player-progress i.done{background:var(--good)}.player-progress i.cur{background:var(--red)}.domhead{padding:16px;display:flex;flex-direction:column;gap:18px}.domstats{display:flex;gap:32px}.photocta{width:100%;border:1px dashed var(--line-strong);background:var(--panel);padding:22px 16px;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--ink);transition:border-color .2s var(--ease),background .2s var(--ease)}.photocta:hover{border-color:var(--red)}.photocta svg{color:var(--red)}.photocta .t{font-weight:700;font-size:14.5px}.photocta .s{font-size:11.5px;color:var(--ink-faint)}.photocta img{max-height:120px;border:1px solid var(--line-strong)}.ordivider{display:flex;align-items:center;gap:12px;color:var(--ink-faint);font-size:11px}.ordivider:before,.ordivider:after{content:"";flex:1;height:1px;background:var(--line)}.playbtn{display:inline-flex;align-items:center;gap:7px;background:var(--red);color:var(--bg);padding:8px 14px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;transition:transform .12s}.playbtn:active{transform:scale(.95)}.voicewave{display:inline-flex;gap:2.5px;align-items:center;height:14px;margin-right:6px}.voicewave i{width:2.5px;background:var(--bg);animation:wave .9s ease-in-out infinite}.voicewave i:nth-child(1){height:6px;animation-delay:0s}.voicewave i:nth-child(2){height:12px;animation-delay:.15s}.voicewave i:nth-child(3){height:8px;animation-delay:.3s}.voicewave i:nth-child(4){height:11px;animation-delay:.45s}@keyframes wave{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}.wizard-shell{min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:24px;background:radial-gradient(90% 60% at 50% -10%,rgba(247,233,220,.55),transparent 60%),radial-gradient(70% 50% at 100% 100%,rgba(211,220,236,.4),transparent 55%),var(--bg)}.wizard{width:100%;max-width:480px;display:flex;flex-direction:column;flex:1}.wizard-brand{display:flex;flex-direction:column;align-items:center;gap:10px;margin:22px 0 8px;color:var(--ink)}.wizard-brand .micro{color:var(--ink-faint);letter-spacing:.14em}.wizard-steps{display:flex;gap:6px;margin:26px 0 34px}.wizard-steps i{flex:1;height:3px;background:var(--panel-2);transition:background .4s var(--ease)}.wizard-steps i.done{background:var(--ink-dim)}.wizard-steps i.cur{background:var(--grad-haru)}.wizard-body{flex:1}.wizard-stepno{display:block;color:var(--ink-faint);margin-bottom:12px}.wizard-title{font-family:var(--display);font-variation-settings:"wdth" 122;font-weight:760;text-transform:uppercase;font-size:28px;line-height:1.04;letter-spacing:.005em}.wizard-sub{font-size:15px;line-height:1.55;color:var(--ink-dim);margin-top:12px;max-width:42ch}.wizard-body>*,.wizard-body>div>*{opacity:0;animation:wiz-rise .55s var(--ease) forwards}.wizard-body>div>*:nth-child(1){animation-delay:.02s}.wizard-body>div>*:nth-child(2){animation-delay:.09s}.wizard-body>div>*:nth-child(3){animation-delay:.16s}.wizard-body>div>*:nth-child(4){animation-delay:.23s}.wizard-body>div>*:nth-child(5){animation-delay:.3s}.wizard-body>div>*:nth-child(n+6){animation-delay:.36s}@keyframes wiz-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.wizard-body>*,.wizard-body>div>*{animation:none;opacity:1}}.wizard-foot{display:flex;gap:12px;margin-top:34px;padding-bottom:env(safe-area-inset-bottom)}.wizard-foot .btn{flex:1;padding:14px 18px}.login-shell{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(90% 60% at 50% -10%,rgba(247,233,220,.55),transparent 60%),radial-gradient(70% 50% at 100% 100%,rgba(211,220,236,.4),transparent 55%),var(--bg)}.login-card{width:100%;max-width:360px;border:1px solid var(--line);background:var(--panel);padding:34px 28px;animation:page-in .4s cubic-bezier(.22,1,.36,1)}.login-div{display:flex;align-items:center;gap:12px;margin:18px 0 14px}.login-div:before,.login-div:after{content:"";flex:1;height:1px;background:var(--line)}.qgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.qact{border:1px solid var(--line-strong);padding:16px 14px;text-align:left;display:flex;flex-direction:column;gap:4px;transition:all .15s}.qact:hover{border-color:var(--ink-dim);background:var(--panel-2)}.qact .t{font-weight:700;font-size:14px}.qact .s{font-size:11px;color:var(--ink-faint)}.phaseblock{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:18px}.phasechip{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--bg);padding:7px 12px}.phasechip svg{color:var(--bg)}.phasechip span{font-size:12px;font-weight:700;letter-spacing:.01em}.focustag{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);color:var(--ink-dim);padding:6px 11px;font-size:11.5px;font-weight:550}.focustag:before{content:"";width:4px;height:4px;background:var(--red);flex:none}.swipewrap{position:relative;overflow:hidden}.swipeact{position:absolute;top:0;right:0;bottom:0;width:86px;background:var(--grad-beni);color:#5c2c24;display:grid;place-items:center;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.swipebody{position:relative;background:var(--panel);transition:transform .28s var(--ease);touch-action:pan-y}.swipebody.dragging{transition:none}.foodphoto{width:44px;height:44px;object-fit:cover;border:1px solid var(--line-strong);flex:none}.empty{padding:26px 14px;text-align:center;color:var(--ink-faint);font-size:13px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--line-strong);padding:7px 11px;font-family:var(--mono);font-size:12px;color:var(--ink-dim);transition:all .15s}.chip:hover{color:var(--ink);border-color:var(--ink-dim)}.kv{display:flex;justify-content:space-between;align-items:baseline;padding:10px 14px}.kv .k{font-size:13px;color:var(--ink-dim)}.kv .v{font-family:var(--mono);font-size:13px}.fade-list>*{animation:page-in .3s cubic-bezier(.22,1,.36,1) both}.fade-list>*:nth-child(2){animation-delay:.04s}.fade-list>*:nth-child(3){animation-delay:.08s}.fade-list>*:nth-child(4){animation-delay:.12s}.fade-list>*:nth-child(5){animation-delay:.16s}.fade-list>*:nth-child(6){animation-delay:.2s}.fade-list>*:nth-child(7){animation-delay:.24s}::selection{background:var(--red);color:var(--bg)}:root{--r-lg: 20px;--r: 14px;--r-sm: 10px}.panel,.guidecard,.notice,.actioncard,.login-card,.player-ex,.qact,.guidechoice,.photocta,.chat-attach img{border-radius:var(--r)}.panel{overflow:hidden}.subpage{border-radius:0}@media(min-width:900px){.subpage{border-radius:var(--r-lg) 0 0 var(--r-lg)}}.btn{border-radius:999px}.input,.iconbtn{border-radius:var(--r-sm)}.seg{border-radius:999px;overflow:hidden}.settabs{border-radius:var(--r)}.settabs button.on:after{border-radius:99px}.chip,.optchip,.slotchip,.focustag,.askai,.playbtn,.phasechip,.actioncard .alock,.chat-earlier,.backbtn{border-radius:999px}.squarebtn,.chatbtn,.msgtools .mtool,.fab,.iconbtn,.tabbar .tab-coach .coachsq{border-radius:50%}.rail .coachlink{border-radius:var(--r)}.brandlock .sq,.profilerow .avatar,.ck{border-radius:50%}.ck svg{top:3px;right:3px;bottom:3px;left:3px;width:calc(100% - 6px);height:calc(100% - 6px)}.ck svg path{stroke-linecap:round}.statusdot,.stagedot,.focustag:before,.dfdot,.tdot,.caret{border-radius:50%}.dfitem.done .dfdot:after,.dfitem.now .dfdot:after{border-radius:50%}.cell,.daystrip .d .sq{border-radius:50%}.rich ul li:before{border-radius:50%}.daystrip .d .sq.today,.cell.today{border-width:1.5px}.meter,.meter>i,.stagebar,.wizard-steps i,.player-progress i{border-radius:999px}.stagebar{overflow:hidden}.bar{rx:3px}.bubble{border-radius:var(--r-lg)}.bubble.user{border-bottom-right-radius:7px}.bubble.assistant{border-bottom-left-radius:7px}.bubble-img,.foodphoto,.photocta img{border-radius:var(--r-sm)}.caret{border-radius:2px}.decisionrow{border-left:0;border-radius:var(--r-sm);background:var(--panel-2);padding:10px 12px}.swipeact{border-radius:0 var(--r) var(--r) 0}.fab{background:var(--ink);box-shadow:0 10px 26px #16161247}.fab:hover{background:var(--ok)}.fab svg line{stroke:var(--bg)}[data-theme=dark] .fab{box-shadow:0 10px 26px #00000080}.tabbar .tab-coach .coachsq{box-shadow:0 8px 20px #16161238;background:var(--grad-sumi)}.rail .coachlink{box-shadow:0 6px 14px #1616122e}.panel{transition:border-color .3s var(--ease),box-shadow .3s var(--ease),transform .3s var(--ease)}@media(hover:hover){.panel:hover{box-shadow:0 10px 30px #16161212}.btn:hover{transform:translateY(-1px)}.btn.ghost:hover{transform:none}.qact:hover,.guidechoice:hover{transform:translateY(-1px);box-shadow:0 8px 22px #16161212}.actioncard{transition:box-shadow .3s var(--ease)}.actioncard:hover{box-shadow:0 8px 22px #1616120f}}::selection{background:var(--ink);color:var(--bg)}.topbar{position:fixed;top:0;left:0;right:0;z-index:45;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;pointer-events:none}.topbar>*{pointer-events:auto}@media(min-width:900px){.shell:not(.coachshell) .topbar{left:calc(var(--rail) + 12px)}}.topright{display:flex;align-items:center;gap:8px}.modewrap{position:absolute;left:50%;transform:translate(-50%)}.modebtn{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border-radius:999px;border:1px solid var(--line-strong);background:var(--panel);font-size:13px;font-weight:650;color:var(--ink);box-shadow:0 4px 14px #1616120f;transition:border-color .2s var(--ease),transform .16s var(--ease)}.modebtn:hover{border-color:var(--ink-dim)}.modebtn:active{transform:scale(.97)}.modemenu{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);width:250px;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r);box-shadow:0 16px 44px #16161229;padding:6px;display:flex;flex-direction:column;gap:2px;animation:menu-in .22s var(--ease)}@keyframes menu-in{0%{opacity:0;transform:translate(-50%) translateY(-6px)}}.modemenu button{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:var(--r-sm);text-align:left;transition:background .15s}.modemenu button:hover,.modemenu button.on{background:var(--panel-2)}.modemenu svg{margin-top:2px;color:var(--ink-dim);flex:none}.mm-text{display:flex;flex-direction:column;gap:1px}.mm-text b{font-size:13.5px;font-weight:650}.mm-text span{font-size:11px;color:var(--ink-faint)}.topbtn{position:relative;width:34px;height:34px;border-radius:50%;border:1px solid var(--line-strong);background:var(--panel);color:var(--ink-dim);display:grid;place-items:center;transition:color .2s var(--ease),border-color .2s var(--ease),transform .16s var(--ease)}.topbtn:hover{color:var(--ink);border-color:var(--ink-dim)}.topbtn:active{transform:scale(.94)}.topbadge{position:absolute;top:-3px;right:-3px;min-width:15px;height:15px;padding:0 3px;border-radius:99px;background:var(--red);color:var(--bg);font-size:9px;font-weight:700;line-height:15px;text-align:center;font-variant-numeric:tabular-nums}.topavatar{width:34px;height:34px;border-radius:50%;padding:0;overflow:hidden;border:1px solid var(--line-strong);transition:border-color .2s var(--ease),transform .16s var(--ease),box-shadow .2s var(--ease)}.topavatar:hover{border-color:var(--ink-dim);box-shadow:0 4px 14px #1616121f}.topavatar:active{transform:scale(.94)}.topavatar.on{border-color:var(--ink)}.topavatar img,.topavatar svg{width:100%;height:100%}.page{padding-top:calc(58px + env(safe-area-inset-top))}@media(min-width:900px){.page{padding-top:calc(66px + env(safe-area-inset-top))}}.profiletop{display:flex;align-items:center;gap:16px}.bigavatar{position:relative;flex:none;width:84px;height:84px;border-radius:50%;padding:0;overflow:visible;border:1px solid var(--line-strong)}.bigavatar img,.bigavatar>svg{width:100%;height:100%;border-radius:50%}.bigavatar-edit{position:absolute;right:-2px;bottom:-2px;width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--bg);display:grid;place-items:center;border:2px solid var(--bg)}.profileid{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.avatarpick{display:flex;gap:8px;flex-wrap:wrap}.avataropt{border-radius:50%;padding:2px;border:1.5px solid transparent;transition:border-color .2s var(--ease),transform .16s var(--ease)}.avataropt:hover{transform:translateY(-1px)}.avataropt.on{border-color:var(--ink)}.motd{display:block;width:100%;text-align:left;margin-top:22px;padding:0}.motd .micro.red{display:block;margin-bottom:8px}.motd:active .motd-line{opacity:.6}.motd.loading .motd-line{opacity:.4}@keyframes sparkspin{to{transform:rotate(360deg)}}.motd-line{display:block;font-size:19px;line-height:1.4;font-weight:600;letter-spacing:-.01em;color:var(--ink);max-width:36ch;transition:opacity .3s var(--ease);animation:motd-in .5s var(--ease)}.motd-line.out{opacity:.25;filter:blur(2px);transition:all .3s var(--ease)}@keyframes motd-in{0%{opacity:0;transform:translateY(5px);filter:blur(3px)}}.goalblock{margin-top:22px}.goalblock .micro.red{display:block;margin-bottom:9px}.goalblock .phaseblock{margin-top:0}.scorehero{display:flex;gap:22px;align-items:center}.scoreside{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}.scoremood{font-size:15.5px;font-weight:600;line-height:1.35}.scoreparts{display:flex;flex-wrap:wrap;gap:6px}.scorepart{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:5px 11px 5px 7px;font-size:11.5px;color:var(--ink-dim);transition:all .3s var(--ease)}.scorepart.done{border-color:var(--good-dim);background:color-mix(in srgb,var(--good) 9%,transparent);color:var(--ink)}.ring-val,.ring-val.full{stroke:var(--good)}.dayflow:before{left:8px}.dfitem{padding:10px 0;gap:15px;animation:page-in .35s var(--ease) both}.dayflow>div:nth-child(2) .dfitem{animation-delay:.05s}.dayflow>div:nth-child(3) .dfitem{animation-delay:.1s}.dayflow>div:nth-child(4) .dfitem{animation-delay:.15s}.dfdot{width:17px;height:17px}.dflabel{font-size:14.5px}.dfmeta{font-size:11px}.dfphase{font-weight:650}.recbtn{width:28px;height:28px;border-radius:50%;border:1px solid var(--line-strong);color:var(--ink-dim);display:grid;place-items:center;transition:color .2s var(--ease),border-color .2s var(--ease)}.recbtn:hover{color:var(--ink);border-color:var(--ink-dim)}.recbtn.spin svg{animation:sparkspin .9s linear infinite}.recscta{width:100%;display:flex;align-items:center;gap:13px;text-align:left;padding:13px 15px;border:1px dashed var(--line-strong);border-radius:var(--r-sm);background:var(--panel-2);transition:border-color .2s var(--ease),background .2s var(--ease),transform .16s var(--ease)}.recscta:hover{border-color:var(--ink);background:var(--panel);transform:translateY(-1px)}.recscta:active{transform:scale(.99)}.recscta-icon{flex:none;width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--bg);display:grid;place-items:center}.recscta-text{flex:1;display:flex;flex-direction:column;gap:2px}.recscta-text b{font-size:13.5px;font-weight:650}.recscta-text span{font-size:11.5px;color:var(--ink-faint)}.recscta-go{font-size:20px;color:var(--ink-faint);line-height:1;transition:transform .2s var(--ease),color .2s var(--ease)}.recscta:hover .recscta-go{transform:translate(2px);color:var(--ink)}.recslist{display:flex;flex-direction:column;gap:10px;transition:opacity .3s}.recslist.dim{opacity:.45}.recitem{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;line-height:1.45;animation:page-in .4s var(--ease) both}.recdot{flex:none;width:6px;height:6px;border-radius:50%;background:var(--good);margin-top:6px}.logtabs{display:flex;gap:8px}.logtabs button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:999px;font-size:12px;font-weight:650;color:var(--ink-dim);transition:all .2s var(--ease)}.logtabs button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.logcount{font-family:var(--mono);font-size:10px;border-radius:99px;padding:1px 6px;background:var(--panel-2);color:var(--ink-dim)}.logtabs button.on .logcount{background:#ffffff2e;color:inherit}[data-theme=dark] .logtabs button.on .logcount{background:#00000040}.dlog-day{display:flex;align-items:baseline;gap:8px;font-family:var(--display);font-variation-settings:"wdth" 122;font-weight:760;text-transform:uppercase;font-size:13.5px}.dlog-day span{font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--ink-faint);font-weight:400}.drow-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px}.decisionrow .dcat{color:var(--ink-dim);background:var(--panel);border-radius:99px;padding:2px 8px;border:1px solid var(--line)}.dtime{font-size:10px;color:var(--ink-faint)}.drow-sum{font-size:13.5px;font-weight:550}.decisionrow .dwhy{margin-left:0;margin-top:3px}.subcard{margin-top:14px;border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(#ffffffd1,#ffffffd1),var(--grad-haru);padding:14px 16px;display:flex;flex-direction:column;gap:8px}.subcard-top{display:flex;align-items:center;justify-content:space-between}.subname{font-weight:700;font-size:14.5px}.subbadge{font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--good);border:1px solid var(--good-dim);border-radius:99px;padding:3px 9px;background:color-mix(in srgb,var(--good) 10%,transparent)}.subprice{display:flex;align-items:baseline;gap:7px;margin-top:2px}.settabs{display:grid;grid-template-columns:repeat(4,1fr);border-radius:var(--r)}.settabs button{flex:none;text-align:center;padding:11px 6px}@media(max-width:420px){.settabs{grid-template-columns:repeat(3,1fr)}}.guidechoice.picked{border-color:var(--ink);background:var(--panel-2)}.installpop{position:fixed;left:14px;right:14px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:55;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);box-shadow:0 14px 40px #16161229;padding:13px 15px;animation:pop-up .45s var(--ease)}@keyframes pop-up{0%{opacity:0;transform:translateY(16px)}}.installpop .t{flex:1;font-size:13px;line-height:1.35}.installpop .t span{display:block;color:var(--ink-dim);font-size:12px}@media(min-width:900px){.installpop{display:none}}.installsteps{padding-left:20px;display:flex;flex-direction:column;gap:10px;font-size:14px}.chart-dot.last.tone-good{fill:var(--good)}.chart-dot.last.tone-bad{fill:var(--bad)}.tword{margin-left:4px;font-size:12px;color:var(--ink-dim);animation:motd-in .4s var(--ease)}.aithinking{display:flex;align-items:center;gap:5px;padding:6px 0 4px}.applink{display:inline-flex;align-items:center;gap:3px;padding:2px 10px 3px;margin:0 1px;border-radius:999px;border:1px solid var(--line-strong);background:var(--panel-2);font-size:.86em;font-weight:650;color:var(--ink);vertical-align:1px;transition:border-color .2s var(--ease),background .2s var(--ease)}.applink:hover{border-color:var(--ink);background:var(--panel)}.applink span{color:var(--ink-faint)}.glance{display:grid;grid-template-columns:repeat(4,1fr)}@media(max-width:480px){.glance{grid-template-columns:repeat(2,1fr)}}.phys-story{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:2px -2px;padding:2px}.phys-story::-webkit-scrollbar{display:none}.phys-card{flex:none;scroll-snap-align:start;display:flex;flex-direction:column;gap:5px;align-items:center;transition:transform .2s var(--ease)}.phys-card:hover{transform:translateY(-2px)}.phys-thumb{display:block;object-fit:cover;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--panel-2)}.phys-thumb.empty{display:block}.phys-date{font-family:var(--mono);font-size:9px;letter-spacing:.08em;color:var(--ink-faint)}.phys-step{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:11px 13px;border:1px dashed var(--line-strong);border-radius:var(--r);transition:border-color .2s var(--ease),background .2s var(--ease)}.phys-step:hover{border-color:var(--ink)}.phys-step.done{border-style:solid;background:var(--panel-2)}.phys-stepicon{flex:none;width:54px;height:68px;border-radius:var(--r-sm);background:var(--panel-2);display:grid;place-items:center;color:var(--ink-dim)}.phys-steptext{flex:1;display:flex;flex-direction:column;gap:3px}.phys-steptext b{font-size:14px;font-weight:650}.phys-steptext span{font-size:11.5px;color:var(--ink-faint);line-height:1.4}.ba-wrap{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line-strong);aspect-ratio:4 / 5;max-height:420px}.ba-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.ba-divider{position:absolute;top:0;bottom:0;width:2px;background:var(--bg);box-shadow:0 0 0 1px #16161233;transform:translate(-1px);pointer-events:none}.ba-divider:after{content:"↔";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:34px;height:34px;line-height:34px;text-align:center;border-radius:50%;background:var(--bg);color:var(--ink);font-size:14px;box-shadow:0 4px 14px #16161240}.ba-tag{position:absolute;bottom:10px;font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;background:#161612a6;color:#fff;padding:3px 8px;border-radius:99px;pointer-events:none}.ba-tag.left{left:10px}.ba-tag.right{right:10px}.ba-range{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:ew-resize;touch-action:none;-webkit-appearance:none}.phys-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.phys-full{display:flex;flex-direction:column;gap:6px}.phys-full img{width:100%;border-radius:var(--r-sm);border:1px solid var(--line-strong)}.chat-hello{margin:auto 0;padding:30px 6px;text-align:center}.hello-mark{display:block;width:26px;height:26px;margin:0 auto 16px;border-radius:50%;background:var(--ink);animation:page-in .5s var(--ease)}.hello-title{font-family:var(--display);font-variation-settings:"wdth" 122;font-weight:760;text-transform:uppercase;font-size:24px;line-height:1}.hello-sub{margin:12px auto 0;max-width:42ch;font-size:14px;line-height:1.5;color:var(--ink-dim)}.hello-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:22px;text-align:left}.helloex{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);text-align:left;transition:border-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease);animation:page-in .4s var(--ease) both}.hello-grid .helloex:nth-child(2){animation-delay:.05s}.hello-grid .helloex:nth-child(3){animation-delay:.1s}.hello-grid .helloex:nth-child(4){animation-delay:.15s}.hello-grid .helloex:nth-child(5){animation-delay:.2s}.hello-grid .helloex:nth-child(6){animation-delay:.25s}.helloex:hover{border-color:var(--ink-dim);transform:translateY(-1px);box-shadow:0 6px 18px #1616120f}.helloex b{font-size:13px;font-weight:650}.helloex span{font-size:11px;color:var(--ink-faint)}.chatchart{align-self:stretch;max-width:96%;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:20px 18px 14px;animation:page-in .45s var(--ease) both}.chatchart .micro.red{display:block;margin-bottom:14px}.chatchart.empty{padding:12px 14px;font-size:12.5px;color:var(--ink-faint)}.hovershow{opacity:1}@media(hover:hover){.hovershow{opacity:0;transition:opacity .15s}.swipebody:hover .hovershow,div:hover>.hovershow{opacity:1}}@media(hover:none){.hovershow{display:none}}.tabbar button{transition:color .15s,transform .15s var(--ease)}.tabbar button:active{transform:scale(.92)}.tabbar button.on svg{transform:translateY(-1px)}.tabbar button svg{transition:transform .2s var(--ease)}.bigstats{display:flex;gap:36px;align-items:flex-end;flex-wrap:wrap}.bigstat{display:flex;flex-direction:column;gap:7px}.bigstat .micro.red{display:inline-flex;align-items:center;gap:6px}.bigstat .bv{line-height:1}.bigstat .bv .unit{font-size:13px;color:var(--ink-dim);margin-left:5px;font-weight:550}.bigstat .bsub{font-size:11px;color:var(--ink-faint)}:root{--water: #9db4c0;--water-deep: #7d99a8}[data-theme=dark]{--water: #5d7683;--water-deep: #4a5f6b}.waterrow{display:flex;gap:22px;align-items:stretch}.waterfig{position:relative;flex:none;width:96px;display:grid;place-items:center}.waterbody{width:84px;height:auto;display:block}.waterrise{transition:transform .9s var(--ease)}.waterwave{animation:wave-x 3.2s linear infinite}@keyframes wave-x{0%{transform:translate(0)}to{transform:translate(30px)}}.waterpct{position:absolute;bottom:-4px;left:50%;transform:translate(-50%);font-size:12px;font-weight:600;color:var(--ink-dim)}.waterside{flex:1;min-width:0;display:flex;flex-direction:column}.watertaps{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.watertap{display:inline-flex;align-items:baseline;gap:5px;border:1px solid var(--line);border-radius:999px;padding:9px 15px;font-size:13.5px;font-weight:650;color:var(--ink);transition:border-color .2s var(--ease),background .2s var(--ease),transform .16s var(--ease)}.watertap svg{color:var(--water-deep);align-self:center}.watertap span{font-size:10.5px;color:var(--ink-faint);font-weight:550}.watertap:hover{border-color:var(--water-deep);background:var(--panel-2)}.watertap:active{transform:scale(.95)}.watertap.ghost{color:var(--ink-faint);border-color:transparent;padding:9px 8px}.watertap.ghost:hover{color:var(--ink-dim);background:none}.refhero .micro.red{display:block;margin-bottom:8px}.refline{font-size:16px;line-height:1.45;max-width:40ch}.refline b{font-weight:650}.refchip{font-size:10.5px;font-weight:650;border:1px solid var(--line);border-radius:999px;padding:4px 11px;color:var(--ink-faint);white-space:nowrap}.refchip.joined{color:var(--good);border-color:var(--good-dim)}.refchip.earned{background:var(--good);border-color:var(--good);color:#fff}.guidechoice.withicon{flex-direction:row;align-items:center;gap:14px;padding:15px 16px}.gc-icon{flex:none;width:42px;height:42px;border-radius:14px;background:var(--panel-2);color:var(--ink);display:grid;place-items:center}.guidechoice.picked .gc-icon{background:var(--ink);color:var(--bg)}.gc-text{flex:1;display:flex;flex-direction:column;gap:3px;text-align:left}.gc-go{font-size:20px;color:var(--ink-faint);line-height:1}@keyframes gradshift{0%{background-position:0% 30%}to{background-position:100% 70%}}main.view-today,main.view-profile{--area: var(--grad-haru)}main.view-train{--area: var(--grad-asahi)}main.view-fuel{--area: var(--grad-matcha)}main.view-sleep{--area: var(--grad-yoru)}main.view-supps{--area: var(--grad-fuji)}main.view-trends{--area: var(--grad-mizu)}main.view-coach{--area: var(--grad-sumi)}main .domhead{position:relative}main .domhead:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--area, var(--grad-haru));background-size:220% 220%;animation:gradshift 14s ease-in-out infinite alternate}main.view-today .pagehead{position:relative}.tab-today{--area: var(--grad-haru)}.tab-train{--area: var(--grad-asahi)}.tab-fuel{--area: var(--grad-matcha)}.tab-sleep{--area: var(--grad-yoru)}.tab-supps{--area: var(--grad-fuji)}.tab-trends{--area: var(--grad-mizu)}@media(min-width:900px){.rail button.on{border-left-color:transparent;border-image:var(--area, var(--grad-haru)) 1}}.tabbar button{position:relative;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.tabbar button:active{transform:none}.tab-today{--tabc: #b78ba6}.tab-train{--tabc: #cd7f6c}.tab-fuel{--tabc: #7f9a67}.tab-sleep{--tabc: #7f8bb8}.tab-supps{--tabc: #9a80ba}.tab-trends{--tabc: #6f95a8}.tabbar button.on svg{color:var(--tabc, var(--ink))}.rail button.on svg{color:var(--tabc, var(--ink));opacity:1}@media(prefers-reduced-motion:reduce){.btn.primary,main .domhead:before{animation:none}}.panel,.subcard,.actioncard,.notice,.qact,.guidechoice,.helloex,.installpop,.bsheet,.modemenu,.login-card{border-color:transparent}.btn{border:0;background:var(--panel-2)}.btn.ghost{border:0;background:transparent}.btn:hover{background:var(--line)}.btn.primary:hover{background:var(--grad-sumi);filter:brightness(1.15)}.input,.select,textarea.input{border-color:transparent;background:var(--panel-2)}.input:focus,textarea.input:focus{outline:2px solid var(--line-strong);outline-offset:0;border-color:transparent}.seg{border-color:transparent;background:var(--panel-2)}.seg .on{box-shadow:0 2px 8px #16161214}.modebtn,.topbtn,.iconbtn{border-color:transparent;box-shadow:0 2px 10px #16161212;background:var(--panel)}.slotchip,.optchip,.refchip,.applink,.watertap,.gc-icon{border-color:transparent;background:var(--panel-2)}.slotchip.on,.optchip.on{background:var(--ink)}.ck{border-color:transparent;background:var(--panel-2)}.ck.on{background:var(--ink)}.daystrip .sq{border-color:transparent;background:var(--panel-2)}.foodphoto,.topavatar,.avataropt{border-color:transparent}.profilerow .avatar{border-color:transparent;background:var(--panel-2)}[data-theme=dark] .panel{border-color:var(--line)}[data-theme=dark] .btn,[data-theme=dark] .input,[data-theme=dark] .seg{background:var(--panel-2)}
