:root{--t-logo-size: 15px;--t-logo-weight: 700;--t-h1-size: 26px;--t-h1-weight: 600;--t-h2-size: 26px;--t-h2-weight: 700;--t-h3-size: 15px;--t-h3-weight: 700;--t-num-size: 42px;--t-num-weight: 700;--t-body1-size: 13px;--t-body1-weight: 700;--t-body2-size: 12px;--t-body2-weight: 400;--t-label-size: 12px;--t-label-weight: 500;--t-value-size: 13px;--t-value-weight: 700;--t-button-size: 12px;--t-button-weight: 600;--t-tab-size: 10px;--t-tab-weight: 700;--font-ui: "Nunito", -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--radius-card: 24px;--radius-row: 18px;--radius-chip: 9px;--radius-pill: 999px;--btn-h: 40px;--ring-size: 68px;--ring-stroke: 6px;--progress-h: 6px;--screen-pad-x: 14px;--card-pad: 18px;--stack-gap: 12px;--card-blur: 5px;--nav-blur: 10px;--overlay-blur: 10px;--bg-stop: 65%;--card-alpha-light: 100%;--card-alpha-dark: 5%;--state-alpha-light: 20%;--state-alpha-dark: 15%;--dark-modal-sheet-rgb: 18 17 23;--dark-modal-sheet-alpha: 90%;--dark-modal-sheet-blur: 5px;--dark-modal-overlay-rgb: 2 2 2;--dark-modal-overlay-alpha: 0%;--dark-modal-overlay-blur: 10px;--modal-sheet-bg: rgb(255 255 255 / var(--card-alpha-light));--modal-sheet-blur: var(--card-blur);--modal-overlay-bg: rgba(2, 2, 2, .28);--modal-overlay-blur: var(--overlay-blur);--tour-veil: rgba(2, 2, 2, .55);--tip-bg: #343147;--tip-ink: #ffffff;--chip-a: #5077B5;--chip-b: #C15C48;--chip-v: #75954B;--chip-g: #C29C2E;--chip-d: #8B5FBF;--chip-e: #C15C8A;--chip-ye: #7B7789;--chip-zh: #D4761F;--cathead-ink: #FFFFFF;color-scheme:light;--paper: #F4F4F6;--paper-raised: #FFFFFF;--card: rgb(255 255 255 / var(--card-alpha-light));--fill-tint: rgba(52,49,71,.055);--ink: #0C0B10;--ink-soft: #5B5866;--ink-faint: #9895A3;--line: #E6E5EC;--plum: #343147;--near-black: #020202;--accent-line: #C15C48;--tab-active: #020202;--ring-track: #EBEAF0;--bar-idle: #E7E6EE;--grad: linear-gradient(135deg, #3D3A54, #020202);--grad-line: linear-gradient(90deg, #020202, #4A4667);--page-grad-top: #EBE9F2;--page-grad-bottom: #FAFAFA;--page-grad-stop: 40%;--page-bg: linear-gradient(180deg, var(--page-grad-top) 0%, var(--page-grad-bottom) var(--page-grad-stop));--card-shadow: 0 14px 34px -18px rgba(2,2,2,.28), 0 2px 10px -6px rgba(2,2,2,.1);--btn-shadow: 0 10px 20px -10px rgba(2,2,2,.5);--tabbar-bg: rgba(255,255,255,.86);--overlay-tint: rgba(2,2,2,.28);--btn-add-bg: linear-gradient(135deg, #3D3A54, #020202);--btn-add-ink: #FFFFFF;--btn-add-border: transparent;--btn-add-shadow: 0 10px 20px -10px rgba(2,2,2,.5);--state-alpha: var(--state-alpha-light);--state-go: linear-gradient(90deg, rgb(62 158 110 / 0%), rgb(62 158 110 / var(--state-alpha)));--state-go-ink: #2C6E4C;--state-full: linear-gradient(90deg, rgb(204 154 58 / 0%), rgb(204 154 58 / var(--state-alpha)));--state-full-ink: #8A6516}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--paper: #0E0C14;--paper-raised: rgba(255,255,255,.06);--card: rgb(255 255 255 / var(--card-alpha-dark));--fill-tint: rgba(255,255,255,.07);--ink: #F3F1F7;--ink-soft: #C7C3D2;--ink-faint: #8B87A0;--line: rgba(255,255,255,.12);--plum: #B7B2D6;--accent-line: #E58873;--tab-active: #FFFFFF;--ring-track: rgba(255,255,255,.14);--bar-idle: rgba(255,255,255,.12);--grad: linear-gradient(135deg, #58547A, #020202);--grad-line: linear-gradient(90deg, #6B6592, #EDEAF5);--page-bg: linear-gradient(180deg, #343147 0%, #020202 var(--bg-stop));--card-shadow: 0 18px 40px -20px rgba(0,0,0,.6);--tabbar-bg: rgba(38,35,52,.82);--overlay-tint: rgba(2,2,2,.22);--modal-sheet-bg: rgb(var(--dark-modal-sheet-rgb) / var(--dark-modal-sheet-alpha));--modal-sheet-blur: var(--dark-modal-sheet-blur);--modal-overlay-bg: rgb(var(--dark-modal-overlay-rgb) / var(--dark-modal-overlay-alpha));--modal-overlay-blur: var(--dark-modal-overlay-blur);--btn-add-bg: transparent;--btn-add-ink: #F3F1F7;--btn-add-border: rgba(255,255,255,.12);--btn-add-shadow: none;--state-alpha: var(--state-alpha-dark);--state-go: linear-gradient(90deg, rgb(88 208 148 / 0%), rgb(88 208 148 / var(--state-alpha)));--state-go-ink: #7FE0AE;--state-full: linear-gradient(90deg, rgb(224 185 92 / 0%), rgb(224 185 92 / var(--state-alpha)));--state-full-ink: #E9C871;--chip-a: #8DB0E6;--chip-b: #E58873;--chip-v: #AAC77F;--chip-g: #DCBE62;--chip-d: #B79CE0;--chip-e: #E098B6;--chip-ye: #A6A1B5;--chip-zh: #F0A75E;--cathead-ink: #12101A;--tour-veil: rgba(2, 2, 2, .72);--tip-bg: #EDEAF5;--tip-ink: #12101A}}:root[data-theme=dark]{color-scheme:dark;--paper: #0E0C14;--paper-raised: rgba(255,255,255,.06);--card: rgb(255 255 255 / var(--card-alpha-dark));--fill-tint: rgba(255,255,255,.07);--ink: #F3F1F7;--ink-soft: #C7C3D2;--ink-faint: #8B87A0;--line: rgba(255,255,255,.12);--plum: #B7B2D6;--accent-line: #E58873;--tab-active: #FFFFFF;--ring-track: rgba(255,255,255,.14);--bar-idle: rgba(255,255,255,.12);--grad: linear-gradient(135deg, #58547A, #020202);--grad-line: linear-gradient(90deg, #6B6592, #EDEAF5);--page-bg: linear-gradient(180deg, #343147 0%, #020202 var(--bg-stop));--card-shadow: 0 18px 40px -20px rgba(0,0,0,.6);--tabbar-bg: rgba(38,35,52,.82);--overlay-tint: rgba(2,2,2,.22);--modal-sheet-bg: rgb(var(--dark-modal-sheet-rgb) / var(--dark-modal-sheet-alpha));--modal-sheet-blur: var(--dark-modal-sheet-blur);--modal-overlay-bg: rgb(var(--dark-modal-overlay-rgb) / var(--dark-modal-overlay-alpha));--modal-overlay-blur: var(--dark-modal-overlay-blur);--btn-add-bg: transparent;--btn-add-ink: #F3F1F7;--btn-add-border: rgba(255,255,255,.12);--btn-add-shadow: none;--state-alpha: var(--state-alpha-dark);--state-go: linear-gradient(90deg, rgb(88 208 148 / 0%), rgb(88 208 148 / var(--state-alpha)));--state-go-ink: #7FE0AE;--state-full: linear-gradient(90deg, rgb(224 185 92 / 0%), rgb(224 185 92 / var(--state-alpha)));--state-full-ink: #E9C871;--chip-a: #8DB0E6;--chip-b: #E58873;--chip-v: #AAC77F;--chip-g: #DCBE62;--chip-d: #B79CE0;--chip-e: #E098B6;--chip-ye: #A6A1B5;--chip-zh: #F0A75E;--cathead-ink: #12101A;--tour-veil: rgba(2, 2, 2, .72);--tip-bg: #EDEAF5;--tip-ink: #12101A}:root[data-theme=light]{color-scheme:light;--paper: #F4F4F6;--paper-raised: #FFFFFF;--card: rgb(255 255 255 / var(--card-alpha-light));--fill-tint: rgba(52,49,71,.055);--ink: #0C0B10;--ink-soft: #5B5866;--ink-faint: #9895A3;--line: #E6E5EC;--plum: #343147;--accent-line: #C15C48;--tab-active: #020202;--ring-track: #EBEAF0;--bar-idle: #E7E6EE;--grad: linear-gradient(135deg, #3D3A54, #020202);--grad-line: linear-gradient(90deg, #020202, #4A4667);--page-grad-top: #EBE9F2;--page-grad-bottom: #FAFAFA;--page-grad-stop: 40%;--page-bg: linear-gradient(180deg, var(--page-grad-top) 0%, var(--page-grad-bottom) var(--page-grad-stop));--card-shadow: 0 14px 34px -18px rgba(2,2,2,.28), 0 2px 10px -6px rgba(2,2,2,.1);--tabbar-bg: rgba(255,255,255,.86);--overlay-tint: rgba(2,2,2,.28);--modal-sheet-bg: rgb(255 255 255 / var(--card-alpha-light));--modal-sheet-blur: var(--card-blur);--modal-overlay-bg: rgba(2, 2, 2, .28);--modal-overlay-blur: var(--overlay-blur);--btn-add-bg: linear-gradient(135deg, #3D3A54, #020202);--btn-add-ink: #FFFFFF;--btn-add-border: transparent;--btn-add-shadow: 0 10px 20px -10px rgba(2,2,2,.5);--state-alpha: var(--state-alpha-light);--state-go: linear-gradient(90deg, rgb(62 158 110 / 0%), rgb(62 158 110 / var(--state-alpha)));--state-go-ink: #2C6E4C;--state-full: linear-gradient(90deg, rgb(204 154 58 / 0%), rgb(204 154 58 / var(--state-alpha)));--state-full-ink: #8A6516;--chip-a: #5077B5;--chip-b: #C15C48;--chip-v: #75954B;--chip-g: #C29C2E;--chip-d: #8B5FBF;--chip-e: #C15C8A;--chip-ye: #7B7789;--chip-zh: #D4761F;--cathead-ink: #FFFFFF;--tour-veil: rgba(2, 2, 2, .55);--tip-bg: #343147;--tip-ink: #ffffff}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}html,button,a,[role=button]{-webkit-tap-highlight-color:transparent}body{margin:0;font-family:var(--font-ui);color:var(--ink);background:var(--page-bg);background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior-y:none}button{font:inherit;color:inherit;border:none;background:none;padding:0;cursor:pointer}input,select{font:inherit;color:inherit}.num{font-variant-numeric:tabular-nums lining-nums}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app{height:100dvh;overflow:hidden;display:flex;flex-direction:column;padding:0 var(--screen-pad-x);max-width:480px;margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;margin:0 4px 16px;padding-top:max(14px,env(safe-area-inset-top));flex-shrink:0}.wordmark{font-size:var(--t-logo-size);font-weight:var(--t-logo-weight);letter-spacing:-.02em}.topbar .right{display:flex;align-items:center;gap:8px;position:relative}.avatar{width:34px;height:34px;border-radius:50%;background:var(--grad);border:2px solid var(--paper-raised);flex-shrink:0;object-fit:cover}.gearbtn{width:34px;height:34px;border-radius:50%;color:var(--ink-soft);display:flex;align-items:center;justify-content:center}.gearbtn svg{width:15px;height:15px}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 2px;min-height:var(--btn-h)}.pagetitle{font-size:var(--t-h1-size);font-weight:var(--t-h1-weight);letter-spacing:-.02em}.statrow{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.statrow .statbig{margin-bottom:14px}.statrow .btn-add{margin-bottom:18px}.kcal-nudge{display:flex;align-items:center;justify-content:space-between;gap:12px}.kcal-nudge span{font-size:var(--t-body1-size);font-weight:var(--t-body1-weight);color:var(--accent-line)}.btn-add{display:flex;align-items:center;gap:6px;height:var(--btn-h);padding:0 15px;border-radius:var(--radius-pill);background:var(--btn-add-bg);color:var(--btn-add-ink);font-size:var(--t-button-size);font-weight:var(--t-button-weight);border:1px solid var(--btn-add-border);box-shadow:var(--btn-add-shadow);flex-shrink:0}.btn-add svg{width:14px;height:14px}.stack{display:flex;flex-direction:column;gap:var(--stack-gap);flex:1;overflow-y:auto;padding:8px 8px calc(92px + env(safe-area-inset-bottom));margin:-8px -8px 0;scrollbar-width:none}.stack::-webkit-scrollbar{display:none}.stack>*{flex-shrink:0}.card,.catcard,.chartcard,.measures-card,.modal-sheet,.tabbar,.gearbtn{background:var(--card);border:1px solid var(--line);box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(var(--card-blur));backdrop-filter:blur(var(--card-blur))}.gearbtn-close{background:var(--ink);color:var(--paper);border-color:transparent;box-shadow:none}.card{border-radius:var(--radius-card);padding:var(--card-pad);display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;text-align:left}.card .meta{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.icon-row{display:flex;align-items:center;gap:7px;color:var(--ink-faint);font-size:var(--t-label-size);font-weight:var(--t-label-weight);text-transform:uppercase;letter-spacing:.06em}.icon-row svg{width:14px;height:14px}.card .headline{font-size:var(--t-h2-size);font-weight:var(--t-h2-weight);letter-spacing:-.02em}.card .headline small{font-size:var(--t-body2-size);font-weight:var(--t-body2-weight);color:var(--ink-faint);margin-left:2px;letter-spacing:0}.card .note{font-size:var(--t-body2-size);font-weight:var(--t-body2-weight);color:var(--ink-soft);line-height:1.4}.card .note b{color:var(--ink);font-weight:700}.ring{--pct: 50;width:var(--ring-size);height:var(--ring-size);flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative}.ring .fill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:conic-gradient(var(--accent-line) calc(var(--pct) * 1%),var(--ring-track) 0);-webkit-mask:radial-gradient(circle closest-side at 50% 50%,transparent 0 calc(100% - var(--ring-stroke)),#000 calc(100% - var(--ring-stroke) + .5px));mask:radial-gradient(circle closest-side at 50% 50%,transparent 0 calc(100% - var(--ring-stroke)),#000 calc(100% - var(--ring-stroke) + .5px))}.ring b{position:relative;z-index:1;font-size:var(--t-value-size);font-weight:var(--t-value-weight)}.macroblock{padding:2px 6px 6px}.macrorow{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px}.macrorow .k{font-size:var(--t-label-size);font-weight:var(--t-label-weight);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em}.macrorow .v{font-size:var(--t-value-size);font-weight:var(--t-value-weight)}.progress-line{height:var(--progress-h);border-radius:4px;background:var(--ring-track);overflow:hidden;margin-bottom:16px}.progress-line:last-child{margin-bottom:0}.progress-line i{display:block;height:100%;background:var(--accent-line);border-radius:4px;transition:width 1s cubic-bezier(.22,1,.36,1)}.trend{display:flex;align-items:center;gap:5px;font-size:var(--t-body2-size);font-weight:700;color:var(--plum)}.trend.changed{color:var(--accent-line)}.sparkline{display:flex;align-items:flex-end;gap:3px;height:34px}.sparkline i{width:5px;border-radius:2px 2px 0 0;background:var(--ring-track);transition:height 1s cubic-bezier(.22,1,.36,1)}.sparkline i.now{background:var(--accent-line)}.measure-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line);width:100%;text-align:left}.measure-row:first-of-type{border-top:none}.measure-row .name{font-size:var(--t-body1-size);font-weight:var(--t-body1-weight);display:flex;align-items:center;gap:7px}.measure-row .val,.plainrows .val{display:flex;align-items:baseline;gap:6px}.measure-row .val b,.plainrows .val b{font-size:var(--t-value-size);font-weight:var(--t-value-weight)}.measure-row .val span,.plainrows .val span{font-size:var(--t-body2-size);font-weight:var(--t-body2-weight);color:var(--ink-faint)}.measure-row .val .delta{font-weight:var(--t-value-weight)}.measure-row .val .delta.down{color:var(--accent-line)}.catcard{border-radius:var(--radius-card);overflow:hidden}.cathead{display:flex;align-items:center;gap:10px;padding:0 15px;min-height:59px;background:var(--cat-color);color:var(--cathead-ink)}.cathead .cname,.cathead .csum{font-size:var(--t-h3-size);font-weight:var(--t-h3-weight);letter-spacing:-.01em;color:inherit;margin:0}.cathead .cname{flex:1;min-width:0}.cathead .csum{white-space:nowrap}.prow{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:11px 15px;border-top:1px solid var(--line);width:100%;text-align:left}.prow .pmeta{min-width:0;display:block}.prow .pname{display:block;font-size:var(--t-body1-size);font-weight:var(--t-body1-weight);margin-bottom:2px}.prow .psub{display:block;font-size:var(--t-body2-size);font-weight:var(--t-body2-weight);color:var(--ink-faint)}.prow .pval{font-size:var(--t-value-size);font-weight:var(--t-value-weight);color:var(--ink-faint);white-space:nowrap;padding-top:1px}.prow.go{background:var(--state-go)}.prow.go .pval{color:var(--state-go-ink)}.prow.full{background:var(--state-full)}.prow.full .pval{color:var(--state-full-ink)}.legend{display:flex;gap:14px;padding:4px 6px 0;flex-wrap:wrap}.legend span{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--ink-faint);font-weight:600}.legend i{width:14px;height:10px;border-radius:3px}.statbig{display:flex;flex-direction:column;gap:2px;margin:2px 6px 14px}.statbig .lbl{font-size:var(--t-label-size);font-weight:var(--t-label-weight);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em}.statbig .val{font-size:var(--t-num-size);font-weight:var(--t-num-weight);letter-spacing:-.03em}.statbig .val u{text-decoration:none;font-size:var(--t-h3-size);font-weight:var(--t-body1-weight);color:inherit}.chartcard{border-radius:var(--radius-card);padding:17px 15px 13px}.chartcard h3{font-size:var(--t-h3-size);font-weight:var(--t-h3-weight);margin:0 0 2px;letter-spacing:-.01em}.chartcard p{font-size:var(--t-body2-size);font-weight:var(--t-body2-weight);color:var(--ink-faint);margin:0 0 16px}.bars{display:flex;align-items:flex-end;gap:4px;height:120px;position:relative}.bars .goal{position:absolute;left:0;right:0;height:1px;background:var(--tab-active);opacity:.55;z-index:1}.bars .goal:after{content:attr(data-g);position:absolute;right:0;top:-14px;font-size:9px;font-weight:700;color:var(--tab-active)}.bars i{flex:1;background:var(--bar-idle);border-radius:3px 3px 0 0;min-width:4px;transition:height 1s cubic-bezier(.22,1,.36,1)}.bars i.hi{background:var(--accent-line)}.barlabels{display:flex;justify-content:space-between;margin-top:8px;font-size:9.5px;color:var(--ink-faint)}.histlist{display:flex;flex-direction:column;padding:2px 6px 0}.histlist .hrow{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-top:1px solid var(--line)}.histlist .hrow:first-child{border-top:none}.histlist .hname{font-size:var(--t-body1-size);font-weight:var(--t-body1-weight)}.histlist .hdate{font-size:var(--t-body2-size);font-weight:var(--t-body2-weight);color:var(--ink-faint)}.histlist .hval{font-size:var(--t-value-size);font-weight:var(--t-value-weight)}.histlist .hval.burn{color:var(--accent-line)}.plainrows{padding:0 6px}.plainrows .prow2{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line);width:100%;text-align:left}.plainrows .prow2:first-child{border-top:none}.plainrows .name{font-size:var(--t-body1-size);font-weight:var(--t-body1-weight);display:flex;align-items:center;gap:8px}.plainrows .sub{font-size:var(--t-body2-size);font-weight:var(--t-body2-weight);color:var(--ink-faint)}.plainrows .sub.danger{color:var(--accent-line)}.plainrows .sub.action{color:var(--plum);font-weight:700}.btn{display:flex;align-items:center;justify-content:center;gap:8px;height:var(--btn-h);border-radius:var(--radius-pill);font-size:var(--t-button-size);font-weight:var(--t-button-weight);border:1px solid transparent;width:100%}.btn svg{width:14px;height:14px}.btn-grad{background:var(--grad);color:#fff;box-shadow:var(--btn-shadow);border-color:transparent}.btn-outline{background:transparent;border-color:var(--line);color:var(--ink)}.btn-danger{background:var(--accent-line);color:#fff;box-shadow:var(--btn-shadow);border-color:transparent}.btn:disabled{cursor:not-allowed}.btn-grad:disabled,.btn-danger:disabled{background:var(--fill-tint);color:var(--ink-faint);border-color:var(--line);box-shadow:none}.btn-outline:disabled{opacity:.5}.btn-row{display:flex;gap:10px}.btn-row .btn{width:auto;flex:1}.avatar-lg{width:76px;height:76px;border-radius:50%;background:var(--grad);margin:4px auto 10px;position:relative;object-fit:cover;display:block}.avatar-wrap{width:76px;margin:4px auto 10px;position:relative}.avatar-wrap .avatar-lg{margin:0}.profile-name{text-align:center;font-size:var(--t-h3-size);font-weight:var(--t-h3-weight);letter-spacing:-.02em;margin-bottom:2px}.username{text-align:center;font-size:var(--t-body2-size);font-weight:var(--t-body2-weight);color:var(--ink-faint);margin-bottom:20px}.sectionlbl{font-size:var(--t-label-size);font-weight:var(--t-label-weight);text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint);margin:8px 6px 6px}.measures-card{border-radius:var(--radius-card);padding:4px 15px 2px}.flagdot{width:7px;height:7px;border-radius:50%;background:var(--accent-line);flex-shrink:0}.tabbar{position:fixed;left:32px;right:32px;bottom:max(14px,env(safe-area-inset-bottom));max-width:416px;margin:0 auto;background:var(--tabbar-bg);border-radius:var(--radius-pill);display:flex;justify-content:space-around;align-items:center;padding:6px 4px;z-index:20;-webkit-backdrop-filter:blur(var(--nav-blur));backdrop-filter:blur(var(--nav-blur))}.tab{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--ink-faint);font-size:var(--t-tab-size);font-weight:var(--t-tab-weight);padding:4px 10px;transition:color .2s ease}.tab svg{width:18px;height:18px}.tab.active{color:var(--tab-active)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;background:var(--modal-overlay-bg);padding:0 18px;-webkit-backdrop-filter:blur(var(--modal-overlay-blur));backdrop-filter:blur(var(--modal-overlay-blur));opacity:1;transition:opacity .5s cubic-bezier(.22,1,.36,1)}.modal-overlay.is-closing{opacity:0;pointer-events:none}.modal-sheet{background:var(--modal-sheet-bg);-webkit-backdrop-filter:blur(var(--modal-sheet-blur));backdrop-filter:blur(var(--modal-sheet-blur));width:100%;max-width:420px;border-radius:var(--radius-card);padding:22px 18px 18px;position:relative;max-height:88dvh;overflow-y:auto;opacity:1;transform:scale(1);transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1)}.modal-sheet.is-closing{opacity:0;transform:scale(.9)}@keyframes modal-sheet-in{0%{opacity:0;transform:scale(.9)}}.modal-sheet:not(.is-closing){animation:modal-sheet-in .5s cubic-bezier(.22,1,.36,1)}@keyframes modal-overlay-in{0%{opacity:0}}.modal-overlay:not(.is-closing){animation:modal-overlay-in .5s cubic-bezier(.22,1,.36,1)}.modal-close{position:absolute;top:15px;right:15px;width:34px;height:34px;border-radius:50%;background:var(--fill-tint);display:flex;align-items:center;justify-content:center;color:var(--ink-soft)}.modal-close svg{width:13px;height:13px}.modal-title{font-size:var(--t-h3-size);font-weight:var(--t-h3-weight);letter-spacing:-.02em;text-align:center;margin:2px 0 12px;padding:0 28px;white-space:pre-line}.modal-hint{text-align:center;font-size:var(--t-body2-size);font-weight:var(--t-body2-weight);color:var(--ink-faint);margin-bottom:10px}.modal-hint.spaced{margin-bottom:18px}.modal-pill{background:var(--fill-tint);border-radius:12px;padding:9px;text-align:center;font-size:var(--t-body2-size);font-weight:var(--t-body2-weight);color:var(--ink-soft);margin-bottom:18px}.modal-qty{text-align:center;font-size:var(--t-body1-size);font-weight:var(--t-body2-weight);color:var(--ink-soft);margin-bottom:10px}.modal-qty b{color:var(--ink);font-weight:var(--t-value-weight)}.modal-values{display:flex;justify-content:center;gap:34px;margin-bottom:18px}.modal-values div{text-align:center}.modal-values b{display:block;font-size:var(--t-h2-size);font-weight:var(--t-h2-weight);letter-spacing:-.02em}.modal-values span{font-size:var(--t-body2-size);font-weight:var(--t-body2-weight);color:var(--ink-faint)}.slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:calc(100% - 6px);margin:0 3px 20px;height:20px;background:transparent;display:block}.slider::-webkit-slider-runnable-track{height:var(--progress-h);border-radius:4px;background:linear-gradient(to right,transparent 0 var(--pct),var(--ring-track) var(--pct) 100%),var(--grad-line)}.slider::-moz-range-track{height:var(--progress-h);border-radius:4px;background:var(--ring-track)}.slider::-moz-range-progress{height:var(--progress-h);border-radius:4px;background:var(--grad-line)}.slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:0 4px 10px #02020240;margin-top:-7px}.slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:0 4px 10px #02020240}.quickpct{display:flex;gap:8px;margin-bottom:16px}.quickpct button{flex:1;height:38px;border-radius:12px;border:1px solid var(--line);background:transparent;color:var(--ink-soft);font-size:12.5px;font-weight:700;font-family:var(--font-ui)}.quickpct button.on{background:var(--grad);border-color:transparent;color:#fff}.field{margin-bottom:14px}.field label{display:block;font-size:var(--t-label-size);font-weight:var(--t-label-weight);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.field input,.field select{width:100%;height:var(--btn-h);padding:0 14px;border-radius:12px;border:1px solid var(--line);background:var(--fill-tint);color:var(--ink);font-size:var(--t-body1-size);font-weight:var(--t-body1-weight);font-family:var(--font-ui)}.field select,.field input[type=date]{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:34px}.field input[type=date]::-webkit-calendar-picker-indicator{display:none}.field input[type=date]::-webkit-inner-spin-button,.field input[type=date]::-webkit-clear-button{display:none}.select-wrap,.date-wrap{position:relative;display:block}.field-icon{position:absolute;top:50%;right:12px;transform:translateY(-50%);width:14px;height:14px;color:var(--ink-soft);pointer-events:none}.field-icon svg{width:100%;height:100%}.field input:focus-visible,.field select:focus-visible{outline:2px solid var(--accent-line);outline-offset:1px}.screen-message{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px 8px;color:var(--ink-soft);font-size:var(--t-body1-size)}.screen-message .hint{color:var(--ink-faint);font-size:var(--t-body2-size);font-weight:var(--t-body2-weight);max-width:34ch;line-height:1.5}.screen-message .btn{width:auto;padding:0 22px;margin-top:6px}.mock-banner{flex-shrink:0;margin:8px -6px 0;padding:7px 12px;border-radius:10px;background:var(--state-full);border:1px solid var(--line);color:var(--state-full-ink);font-size:11px;font-weight:700;text-align:center}.edit-icon{display:inline-flex;width:13px;height:13px;flex-shrink:0;color:var(--ink-faint)}.edit-icon svg{width:100%;height:100%}.segmented{display:inline-flex;gap:4px;padding:3px;border-radius:var(--radius-pill);background:var(--fill-tint)}.segmented button{padding:5px 11px;border-radius:var(--radius-pill);border:none;background:transparent;color:var(--ink-faint);font-family:var(--font-ui);font-size:11.5px;font-weight:700;white-space:nowrap}.segmented button.on{background:var(--grad);color:#fff}.form-error{margin:0 0 12px;padding:9px 12px;border-radius:10px;background:var(--state-full);color:var(--state-full-ink);font-size:var(--t-body2-size);font-weight:700;text-align:center}.empty{text-align:center;color:var(--ink-faint);font-size:var(--t-body2-size);padding:26px 10px}.tour-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;animation:tour-in .5s cubic-bezier(.22,1,.36,1)}.tour-overlay.is-center{background:var(--tour-veil)}.tour-hole{position:absolute;box-shadow:0 0 0 100vmax var(--tour-veil);pointer-events:none;transition:top .5s cubic-bezier(.22,1,.36,1),left .5s cubic-bezier(.22,1,.36,1),width .5s cubic-bezier(.22,1,.36,1),height .5s cubic-bezier(.22,1,.36,1)}@keyframes tour-in{0%{opacity:0}}.tour-card{position:fixed;left:50%;transform:translate(-50%);width:min(100% - 28px,420px);padding:18px 18px 16px;border-radius:var(--radius-card);background:var(--modal-sheet-bg);-webkit-backdrop-filter:blur(var(--modal-sheet-blur));backdrop-filter:blur(var(--modal-sheet-blur));box-shadow:var(--card-shadow)}.tour-card.place-center{top:50%;transform:translate(-50%,-50%)}.tour-step{font-size:var(--t-label-size);font-weight:var(--t-label-weight);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.tour-title{font-size:var(--t-h3-size);font-weight:var(--t-h3-weight);letter-spacing:-.01em;margin:0 0 6px;padding-right:32px}.tour-body{margin:0 0 16px;font-size:var(--t-body2-size);font-weight:var(--t-body2-weight);line-height:1.45;color:var(--ink-soft)}.tour-close{position:absolute;top:12px;right:12px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--ink-faint)}.tour-close svg{width:14px;height:14px}.tour-actions{display:flex;align-items:center;gap:12px}.tour-dots{display:flex;align-items:center;gap:5px;margin-right:auto}.tour-dots i{width:5px;height:5px;border-radius:50%;background:var(--bar-idle)}.tour-dots i.on{background:var(--accent-line)}.tour-back{font-size:var(--t-button-size);font-weight:var(--t-button-weight);color:var(--ink-faint);padding:0 4px}.tour-next{width:auto;padding:0 20px}.tour-hint{position:absolute;top:calc(100% + 10px);right:0;white-space:nowrap;padding:9px 12px;border-radius:12px;background:var(--tip-bg);color:var(--tip-ink);font-size:var(--t-body2-size);font-weight:600;line-height:1.35;box-shadow:var(--card-shadow);animation:tour-hint-in .5s cubic-bezier(.22,1,.36,1)}.tour-hint:before{content:"";position:absolute;top:-4px;right:13px;width:10px;height:10px;background:inherit;border-radius:2px;transform:rotate(45deg)}@keyframes tour-hint-in{0%{opacity:0;transform:translateY(-6px)}}:where(button,a,input,select,[tabindex]):focus-visible{outline:2px solid var(--accent-line);outline-offset:2px;border-radius:8px}
