:root,:root[data-theme=light]{color-scheme:light;--accent-800-rgb:118,36,24;--accent-700-rgb:148,49,34;--accent-600-rgb:178,62,44;--accent-500-rgb:226,84,63;--accent-400-rgb:234,107,87;--accent-300-rgb:242,143,126;--color-bg-page:#f3f4f5;--color-bg-header:#ffffff;--color-bg-surface:#ffffff;--color-bg-surface-raised:#edeeef;--color-bg-surface-hover:#e4e6e8;--color-bg-inset:#edeeef;--color-border-subtle:#e3e5e7;--color-border-default:#d2d5d8;--color-border-strong:#b6bac0;--color-text-primary:#15171a;--color-text-secondary:#494d53;--color-text-muted:#62666c;--color-text-disabled:#9a9ea5;--color-accent:rgb(var(--accent-text-rgb, var(--accent-600-rgb)));--color-accent-bg:rgba(var(--accent-600-rgb),.12);--color-accent-fill:rgb(var(--accent-600-rgb));--color-accent-contrast:#ffffff;--color-success:rgb(24,110,68);--color-success-bg:rgba(24,110,68,.1);--color-warning:rgb(130,88,10);--color-warning-bg:rgba(130,88,10,.1);--color-critical:rgb(176,46,38);--color-critical-bg:rgba(176,46,38,.1);--color-scrim:rgba(8,8,7,.66);--focus-ring-color:rgba(var(--accent-600-rgb),.85);--radius:0;--radius-pill:999px;--font-family-base:"DM Sans",-apple-system,"Segoe UI",Roboto,sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--text-xs:.75rem;--text-sm:.82rem;--text-base:.9rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2.1rem;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--header-h:48px;--row-h:56px;--panel-head-h:44px;--tap:48px}:root[data-theme=dark]{color-scheme:dark;--color-bg-page:#0b0c0e;--color-bg-header:#111316;--color-bg-surface:#15181b;--color-bg-surface-raised:#1a1d21;--color-bg-surface-hover:#202327;--color-bg-inset:#111316;--color-border-subtle:#202327;--color-border-default:#292c31;--color-border-strong:#3a3e44;--color-text-primary:#f4f5f6;--color-text-secondary:#9a9ea5;--color-text-muted:#878b92;--color-text-disabled:#52565d;--color-accent:rgb(var(--accent-500-rgb));--color-accent-bg:rgba(var(--accent-500-rgb),.14);--color-accent-fill:rgb(var(--accent-600-rgb));--color-accent-contrast:#ffffff;--color-success:rgb(63,166,107);--color-success-bg:rgba(63,166,107,.14);--color-warning:rgb(209,146,46);--color-warning-bg:rgba(209,146,46,.14);--color-critical:rgb(230,98,88);--color-critical-bg:rgba(230,98,88,.14);--focus-ring-color:rgba(var(--accent-500-rgb),.75)}*{box-sizing:border-box}html,body{margin:0}body{background:var(--color-bg-page);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--text-base);line-height:1.35;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}button,input{font-family:inherit;font-size:inherit}:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.tabbar{flex:none;display:grid;grid-template-columns:repeat(var(--tab-count,3),minmax(0,1fr));gap:var(--space-1);padding:6px var(--space-2) calc(6px + env(safe-area-inset-bottom));background:var(--color-bg-header);border-top:1px solid var(--color-border-subtle)}.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;min-height:var(--tap);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;background:transparent;border:0}.tab .icon{height:20px;color:var(--color-text-muted);opacity:.85}.tab.active{color:var(--color-accent);font-weight:var(--weight-bold)}.tab.active .icon{color:var(--color-accent);opacity:1;stroke-width:2.2}svg.icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}svg.icon.sm{width:16px;height:16px}svg.icon.lg{width:28px;height:28px}.title-xl{margin:0;font-size:var(--text-xl);line-height:1.2;font-weight:var(--weight-bold);text-wrap:balance}.title-lg{margin:0;font-size:var(--text-lg);line-height:1.25;font-weight:var(--weight-bold);text-wrap:balance}.lede{margin:0;font-size:var(--text-lg);line-height:1.3;font-weight:var(--weight-medium);text-wrap:balance}.text-sub{font-size:var(--text-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.num{font-variant-numeric:tabular-nums}.big-num{font-size:var(--text-2xl);line-height:1;font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.note{margin:0;font-size:var(--text-sm);color:var(--color-text-muted)}.note.center{text-align:center}.gp-line{margin:0;font-size:var(--text-sm);color:var(--color-text-muted);text-align:center}.panel{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:var(--panel-head-h);padding:var(--space-3) var(--space-3) var(--space-2) var(--space-4)}.panel-title{display:inline-flex;align-items:center;gap:var(--space-2);margin:0;font-size:var(--text-base);font-weight:var(--weight-bold)}.panel-title .icon{color:var(--color-text-secondary)}.panel-body{padding:0 var(--space-4) var(--space-3)}.panel-body+.panel-note{padding-top:0}.panel-note{padding:var(--space-2) var(--space-4) var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted)}.rows{list-style:none;margin:0;padding:0}.rows>li{border-top:1px solid var(--color-border-subtle)}.rows.bare>li:first-child{border-top:0}.row{min-height:var(--row-h);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:var(--space-3);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4);color:inherit;text-align:left;width:100%;border:0;background:transparent}.row.has-chev{grid-template-columns:minmax(0,1fr) auto auto}.row.has-lead{grid-template-columns:auto minmax(0,1fr) auto}.row.has-lead.has-chev{grid-template-columns:auto minmax(0,1fr) auto auto}.row-main{min-width:0;display:flex;flex-direction:column;gap:1px}.row-title{font-weight:var(--weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-sub{font-size:var(--text-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-end{display:flex;flex-direction:column;align-items:flex-end;gap:1px;text-align:right}.row-value{font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;white-space:nowrap}.row-lead{display:grid;place-items:center;width:24px;color:var(--color-text-muted)}.row.selected{background:var(--color-accent-bg)}.chev{display:inline-flex;color:var(--color-text-disabled)}.chev .icon{width:16px;height:16px}.flat-rows>li{padding:10px 0;border-top:1px solid var(--color-border-subtle)}.flat-rows .row{min-height:0;padding:0}.status{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--color-text-muted);white-space:nowrap}.status.strong{color:var(--color-text-primary);font-weight:var(--weight-semibold)}.dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--color-text-disabled)}.dot.ok{background:var(--color-success)}.dot.warn{background:var(--color-warning)}.dot.crit{background:var(--color-critical)}.dot.accent{background:var(--color-accent)}.dot.hollow{background:transparent;border:1.5px solid var(--color-text-disabled)}.meter{position:relative;height:4px;background:var(--color-bg-surface-hover)}.meter>span{position:absolute;top:0;bottom:0;left:0;background:var(--color-accent)}.meter.ink>span{background:var(--color-text-primary)}.meter.tall{height:8px}.meter .mark{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--color-text-primary)}.kv{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3)}.kv b{font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.stat{display:flex;flex-direction:column;gap:2px;min-width:0}.stat-value{font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}.stat-label{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.tag{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;border:1px solid var(--color-border-default);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-secondary);white-space:nowrap}.tag.accent{border-color:var(--color-accent);color:var(--color-accent)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap);padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius);font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:1;white-space:nowrap;color:var(--color-text-primary);background:transparent}.button-primary{background:var(--color-accent-fill);border-color:var(--color-accent-fill);color:var(--color-accent-contrast)}.button-secondary{background:var(--color-bg-surface);border-color:var(--color-border-strong)}.button-ghost{color:var(--color-accent);padding:0 var(--space-2)}.button-sm{min-height:36px;padding:0 var(--space-3);font-size:var(--text-sm)}.button-block{width:100%}.button-row{display:flex;gap:var(--space-3)}.button-row>.button{flex:1;min-width:0}.button-critical{color:var(--color-critical)}.button-primary:disabled{background:var(--color-bg-surface-hover);border-color:var(--color-border-default);color:var(--color-text-muted)}.button-secondary:disabled{background:var(--color-bg-inset);border-color:var(--color-border-default);color:var(--color-text-muted)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-secondary)}.field-input{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:var(--tap);padding:0 var(--space-3);background:var(--color-bg-inset);border:1px solid var(--color-border-default);border-radius:var(--radius);font-size:var(--text-md);font-variant-numeric:tabular-nums}.field-input .unit{color:var(--color-text-muted);font-size:var(--text-sm)}.field-input.empty{color:var(--color-text-muted)}.field-input.focus{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent);background:var(--color-bg-surface)}.field-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.stepper{display:inline-grid;grid-template-columns:var(--tap) minmax(56px,auto) var(--tap);align-items:stretch;border:1px solid var(--color-border-strong);background:var(--color-bg-surface)}.stepper button{display:grid;place-items:center;min-height:var(--tap);border:0;background:transparent;color:var(--color-text-primary)}.stepper .stepper-value{display:grid;place-items:center;padding:0 var(--space-2);border-left:1px solid var(--color-border-default);border-right:1px solid var(--color-border-default);font-size:var(--text-md);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.choice{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-3);min-height:60px;padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-border-subtle);color:var(--color-text-primary)}.choice-radio{flex:none;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--color-border-strong);background:var(--color-bg-surface);display:grid;place-items:center}.choice.selected{background:var(--color-accent-bg)}.choice.selected .choice-radio{border-color:var(--color-accent)}.choice.selected .choice-radio:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--color-accent)}.choice.selected .choice-title{color:var(--color-text-primary)}.choice-main{min-width:0;display:flex;flex-direction:column;gap:2px}.choice-title{font-weight:var(--weight-semibold)}.choice-sub{font-size:var(--text-sm);color:var(--color-text-muted)}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--space-2)}.segment{display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap);padding:0 var(--space-2);border:1px solid var(--color-border-default);background:var(--color-bg-surface-raised);color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--weight-medium);white-space:nowrap}.segment[aria-pressed=true]{background:var(--color-accent-bg);border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent);font-weight:var(--weight-bold)}.option-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-2);background:var(--color-bg-surface);border:1px solid var(--color-border-default);color:var(--color-text-primary);text-align:center}.option-card[aria-pressed=true]{background:var(--color-accent-bg);border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.option-card .option-title{font-weight:var(--weight-semibold);font-size:var(--text-sm)}.option-card[aria-pressed=true] .option-title{color:var(--color-text-primary);font-weight:var(--weight-bold)}.steps{display:flex;gap:6px}.steps i{display:block;flex:1;height:3px;background:var(--color-border-default)}.steps i.done{background:var(--color-accent)}.chat{display:flex;flex-direction:column;gap:var(--space-3)}.bubble{max-width:82%;padding:10px var(--space-3);font-size:var(--text-base);line-height:1.35;border-radius:var(--radius)}.bubble-coach{align-self:flex-start;background:var(--color-bg-surface);border:1px solid var(--color-border-subtle)}.bubble-user{align-self:flex-end;background:var(--color-accent-fill);color:var(--color-accent-contrast)}.bubble-meta{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.bubble-user+.bubble-meta{align-self:flex-end}.wave{display:flex;align-items:center;gap:3px;height:28px}.wave i{display:block;width:3px;background:var(--color-accent)}.cursor{display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-2px;background:var(--color-accent)}.banner{display:flex;align-items:center;gap:var(--space-3);min-height:var(--tap);padding:var(--space-2) var(--space-4);background:var(--color-bg-surface);border-top:1px solid var(--color-border-subtle);border-bottom:1px solid var(--color-border-subtle);font-size:var(--text-sm)}.banner .icon{color:var(--color-text-muted)}.divider{height:1px;background:var(--color-border-subtle)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@font-face{font-family:DM Sans;src:url(/assets/DMSans-var-Xz1IZZA0.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root[data-corners=round]{--radius:10px}.segment,.choice-btn,.option-card,.stepper,.tag,.banner,.bubble{border-radius:var(--radius)}:root[data-accent=blue]{--accent-800-rgb:24,65,154;--accent-700-rgb:30,81,193;--accent-600-rgb:37,99,235;--accent-500-rgb:96,165,250;--accent-400-rgb:147,197,253;--accent-300-rgb:191,219,254}:root[data-accent=pink]{--accent-text-rgb:208,35,112;--accent-800-rgb:144,26,78;--accent-700-rgb:180,32,98;--accent-600-rgb:219,39,119;--accent-500-rgb:236,72,153;--accent-400-rgb:244,114,182;--accent-300-rgb:249,168,212}:root[data-accent=neutral]{--accent-800-rgb:67,70,75;--accent-700-rgb:86,89,97;--accent-600-rgb:104,109,118;--accent-500-rgb:138,142,151;--accent-400-rgb:155,158,166;--accent-300-rgb:180,183,188}:root[data-accent=red]{--accent-text-rgb:213,34,34;--accent-800-rgb:153,27,27;--accent-700-rgb:185,28,28;--accent-600-rgb:220,38,38;--accent-500-rgb:239,68,68;--accent-400-rgb:248,113,113;--accent-300-rgb:252,165,165}:root[data-accent=orange]{--accent-800-rgb:124,45,18;--accent-700-rgb:154,52,18;--accent-600-rgb:194,65,12;--accent-500-rgb:249,115,22;--accent-400-rgb:251,146,60;--accent-300-rgb:253,186,116}:root[data-accent=green]{--accent-800-rgb:20,83,45;--accent-700-rgb:22,101,52;--accent-600-rgb:21,128,61;--accent-500-rgb:34,197,94;--accent-400-rgb:74,222,128;--accent-300-rgb:134,239,172}:root[data-accent=teal]{--accent-800-rgb:19,78,74;--accent-700-rgb:17,94,89;--accent-600-rgb:15,118,110;--accent-500-rgb:20,184,166;--accent-400-rgb:45,212,191;--accent-300-rgb:94,234,212}:root[data-accent=amber]{--accent-800-rgb:120,53,15;--accent-700-rgb:146,64,14;--accent-600-rgb:180,83,9;--accent-500-rgb:245,158,11;--accent-400-rgb:251,191,36;--accent-300-rgb:252,211,77}:root[data-accent=purple]{--accent-800-rgb:88,28,135;--accent-700-rgb:107,33,168;--accent-600-rgb:126,34,206;--accent-500-rgb:168,85,247;--accent-400-rgb:192,132,252;--accent-300-rgb:216,180,254}html,body,#root{height:100%;height:100dvh}.app{display:flex;flex-direction:column;height:100%;max-width:560px;margin:0 auto;background:var(--color-bg-page)}.app-header{flex:none;display:flex;align-items:center;min-height:calc(var(--header-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) var(--space-4) 0;background:var(--color-bg-header);border-bottom:1px solid var(--color-border-subtle)}.app-title{font-size:var(--text-md);font-weight:var(--weight-bold)}.app-main{flex:1;min-height:0;overflow-y:auto;padding:var(--space-4) var(--space-4) 0;display:flex;flex-direction:column}.settings,.week,.detail,.today-msg{padding-bottom:var(--space-4)}.tab{cursor:pointer}.offline-banner{flex:none;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-warning-bg);border-bottom:1px solid var(--color-border-default);font-size:var(--text-sm);line-height:1.3}.offline-banner .icon{color:var(--color-warning)}.today{flex:1;display:flex;flex-direction:column;gap:var(--space-4)}.greet-date{margin-top:2px}.ring{position:relative;display:flex;justify-content:center;margin-top:-2px}.ring svg{width:min(208px,28vh);height:auto}.ring-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.ring-gap{margin-top:4px}.ring-text .text-sub+.text-sub{margin-top:2px}.big-num[data-over],.text-sub[data-over]{color:var(--color-warning)}.protein-meter{margin:8px 0 4px}.meal-list{list-style:none;margin:2px 0 0;padding:0}.meal{border-top:1px solid var(--color-border-subtle)}.meal-btn{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-height:var(--row-h);padding:var(--space-2) 0;background:transparent;border:0;color:inherit;text-align:left;font:inherit;cursor:pointer}.meal-btn .row-main{flex:1}.meals-empty{padding:var(--space-3) 0}.next-wrap{display:flex;flex-direction:column;gap:var(--space-2)}.next{display:flex;align-items:center;gap:var(--space-3)}.next-text{flex:1;min-width:0}.next-title{font-size:var(--text-sm)}.talk{padding:0 var(--space-5);cursor:pointer}.button{cursor:pointer}.button:disabled{cursor:default}.dock{position:sticky;bottom:0;z-index:2;margin:auto calc(-1 * var(--space-4)) 0;padding:var(--space-2) var(--space-4) var(--space-2);display:flex;flex-direction:column;gap:var(--space-2);background:var(--color-bg-page);border-top:1px solid var(--color-border-subtle)}.logbox{display:flex;gap:var(--space-2)}@media (max-height:740px){.ring svg{width:min(208px,24vh)}}.input{min-height:var(--tap);padding:0 var(--space-3);background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius);color:var(--color-text-primary);font-size:var(--text-md);min-width:0}.input:focus{border-color:var(--color-accent);outline:none;box-shadow:inset 0 0 0 1px var(--color-accent)}.slot-select{flex:none;width:104px;font-size:var(--text-md);padding:0 var(--space-2)}.log-input{flex:1}.send{flex:none;width:var(--tap);min-height:var(--tap);padding:0}.send[aria-busy=true]:disabled{background:var(--color-accent-fill);border-color:var(--color-accent-fill);color:var(--color-accent-contrast)}.spinner{width:20px;height:20px;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.reply{padding:var(--space-3);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-left:3px solid var(--color-accent);border-radius:var(--radius);white-space:pre-wrap;overflow-wrap:anywhere;scroll-margin-bottom:200px}.reply-error{border-left-color:var(--color-critical)}.today-msg{display:flex;flex-direction:column;align-items:stretch;text-align:center;gap:var(--space-3);padding-top:var(--space-8)}.today-loading .note{text-align:center}.ring-skeleton{margin-top:var(--space-4)}.detail{display:flex;flex-direction:column;gap:var(--space-4)}.back{display:inline-flex;align-items:center;gap:var(--space-1);align-self:flex-start;min-height:var(--tap);padding:0;margin-left:calc(-1 * var(--space-1));background:transparent;border:0;color:var(--color-accent);font-weight:var(--weight-semibold);font-size:var(--text-md);cursor:pointer}.detail-said{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.item-list{list-style:none;margin:0;padding:0}.item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--row-h);padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-border-subtle)}.item-name{font-weight:var(--weight-semibold)}.item-total{background:var(--color-bg-inset)}.week{display:flex;flex-direction:column;gap:var(--space-5)}.big-avg{font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:1.15}.week-none{margin:var(--space-1) 0}.plot{position:relative;height:170px;padding-right:44px}.bars{list-style:none;margin:0;padding:0;height:100%;display:flex;gap:10px;align-items:flex-end}.bar-col{flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center}.bar{display:block;width:100%;max-width:30px;background:var(--color-border-strong);border-radius:var(--radius)}.bar.today{background:var(--color-accent-fill)}.bar.over{background:var(--color-warning)}.target-line{position:absolute;left:0;right:0;border-top:1px dashed var(--color-text-muted)}.target-line span{position:absolute;right:0;bottom:2px;font-size:var(--text-xs);color:var(--color-text-muted)}.bar-labels{display:flex;gap:10px;padding-right:44px;margin-top:6px}.bar-labels span{flex:1;text-align:center;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted)}.bar-labels .now{color:var(--color-text-primary);font-weight:var(--weight-bold)}.week-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--row-h);padding:var(--space-2) 0;border-top:1px solid var(--color-border-subtle)}.settings,.stack{display:flex;flex-direction:column;gap:var(--space-4)}.input-unit{position:relative;display:flex;align-items:center}.input-unit .input{flex:1;padding-right:calc(var(--space-3) + 3em)}.unit{position:absolute;right:var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);pointer-events:none}.field-problem{color:var(--color-critical)}.save-ok{color:var(--color-success)}.swatches{display:grid;grid-template-columns:repeat(5,44px);justify-content:space-between;gap:var(--space-3)}.swatch{position:relative;width:44px;height:44px;padding:0;border:3px solid var(--color-bg-surface);outline:1px solid var(--color-border-strong);border-radius:50%;cursor:pointer}.swatch[aria-pressed=true]{outline:2px solid var(--color-accent);outline-offset:2px}.swatch:focus-visible{outline:1px solid var(--color-border-strong);box-shadow:0 0 0 3px var(--color-bg-page),0 0 0 5px var(--color-text-primary)}.swatch-custom{flex:none;background-image:conic-gradient(#e2543f,#f59e0b,#22c55e,#2563eb,#a855f7,#e2543f)}.swatch-custom:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border-radius:50%;background:var(--dot,#6b7280);border:2px solid var(--color-bg-surface)}.accent-group{display:flex;flex-direction:column;gap:var(--space-3)}.custom-line{display:flex;align-items:center;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle)}.custom-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.custom-line input[type=color]{flex:none;width:56px;height:44px;padding:0;border:1px solid var(--color-border-default);border-radius:var(--radius);background:transparent}.segment{cursor:pointer}.choice-btn{width:100%;text-align:left;border:0;border-top:1px solid var(--color-border-subtle);background:transparent;cursor:pointer}.choice-btn.selected{background:var(--color-accent-bg)}.welcome{min-height:100%;max-width:560px;margin:0 auto;display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-6);padding:max(var(--space-6),env(safe-area-inset-top)) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom))}.welcome-body{display:flex;flex-direction:column;gap:var(--space-5);padding-top:6vh}.welcome-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}.steps-list{margin:0;padding-left:calc(var(--space-4) * 2);padding-bottom:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.auth{display:flex;flex-direction:column;gap:var(--space-4);justify-content:flex-start;min-height:100%;max-width:420px;margin:0 auto;padding:max(15vh,calc(var(--space-4) + env(safe-area-inset-top))) var(--space-4) var(--space-4)}.auth-head{display:flex;flex-direction:column;gap:var(--space-2)}.auth-purpose{font-size:var(--text-base)}.auth-panel{padding:var(--space-4);gap:var(--space-4)}.code-form{display:flex;flex-direction:column;gap:var(--space-3)}.code-input{font-size:var(--text-xl);text-align:center;letter-spacing:.3em;font-variant-numeric:tabular-nums}.auth-error{margin:0;color:var(--color-critical);font-size:var(--text-sm);text-wrap:balance}.onb{min-height:100%;max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-4);padding:max(var(--space-4),env(safe-area-inset-top)) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom))}.onb-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.onb-progress-wrap{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.onb-progress{height:6px;border-radius:3px;background:var(--color-bg-surface-hover);overflow:hidden}.onb-progress span{display:block;height:100%;background:var(--color-accent-fill);transition:width .2s}.onb-body{flex:1;display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-3)}.onb-foot{position:sticky;bottom:0;padding-top:var(--space-2);background:var(--color-bg-page)}.onb .panel .choice-btn:first-child{border-top:0}.chip-add{display:flex;gap:var(--space-2)}.chip-add .input{flex:1;min-width:0}.chip-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 12px;border:1px solid var(--color-border-strong);border-radius:999px;background:var(--color-bg-surface);font-size:var(--text-sm)}.chip-x{border:0;background:transparent;color:var(--color-text-muted);min-width:28px;min-height:28px;border-radius:50%;cursor:pointer;font-size:var(--text-md)}.day-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.day{padding:0;min-height:var(--tap);cursor:pointer}.time-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-border-subtle)}.time-row:first-child{border-top:0}.time-input{width:auto;min-width:7.5em}.skip{display:flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--color-text-secondary)}.body-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.body-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--space-3) var(--space-2);text-align:center;color:var(--color-text-primary);background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius);cursor:pointer}.body-card.selected{background:var(--color-accent-bg);border-color:var(--color-accent)}.body-card .choice-sub{font-size:var(--text-xs)}.body-drawing{width:64px;height:90px}.button.picked{background:var(--color-accent-bg);border-color:var(--color-accent)}.why-list{margin:0;padding-left:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm)}.finish-setup{margin-bottom:var(--space-3)}@media (max-width:380px){.body-grid{grid-template-columns:1fr}.body-card{flex-direction:row;text-align:left}}
