.auth-page{position:relative;min-height:100dvh;display:grid;place-items:center;padding:var(--sp-5) var(--gutter) calc(var(--sp-5) + env(safe-area-inset-bottom))}.auth-box{position:relative;z-index:1;width:100%;max-width:400px;display:grid;gap:var(--sp-5)}.auth-brand{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-base);font-weight:700;letter-spacing:var(--ls-tight);color:var(--ink)}.auth-mark{width:34px;height:34px;border-radius:var(--r-lg);display:grid;place-items:center;background:var(--grad-brand);color:#fff;font-weight:700;font-size:var(--fs-lg);box-shadow:0 4px 9px #1e7fe042}.auth-lede h1{font-size:var(--fs-2xl);font-weight:700;letter-spacing:var(--ls-tighter);line-height:1.25;color:var(--ink)}.auth-lede p{margin-top:var(--sp-2);font-size:var(--fs-sm);color:var(--ink-2);line-height:1.7}.auth-form{padding:var(--sp-5)}.auth-pw{position:relative;display:flex;align-items:center}.auth-pw .c-input{padding-right:52px}.auth-pw .c-icon-btn{position:absolute;right:2px}.auth-switch{margin-top:var(--sp-4);text-align:center;font-size:var(--fs-sm);color:var(--ink-3)}.auth-switch a{color:var(--brand-dark);font-weight:600}.auth-foot{text-align:center;font-size:var(--fs-xs);color:var(--ink-4)}.auth-fields{display:grid;gap:var(--sp-4)}.auth-note{display:flex;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);background:var(--brand-wash);color:var(--brand-dark);font-size:var(--fs-sm);line-height:1.7}.auth-status-icon{width:60px;height:60px;border-radius:var(--r-xl);display:grid;place-items:center;margin:0 auto;background:var(--grad-brand);color:#fff;box-shadow:0 6px 14px #1e7fe042}.auth-status-icon.bad{background:linear-gradient(140deg,#ff8fb0,#ef3f76);box-shadow:0 6px 14px #ef3f763d}.auth-steps{display:grid;gap:var(--sp-3);counter-reset:step}.auth-step{display:flex;gap:var(--sp-3);align-items:flex-start;font-size:var(--fs-sm);color:var(--ink-2);line-height:1.6}.auth-step:before{counter-increment:step;content:counter(step);flex:none;width:20px;height:20px;border-radius:var(--r-pill);display:grid;place-items:center;background:var(--brand-wash);color:var(--brand-dark);font-size:11px;font-weight:700;margin-top:2px}.auth-page{--brand: #3d9bff;--brand-dark: #1e7fe0;--brand-tint: #a9d0ff;--brand-wash: #eaf4ff;--brand-xwash: #f5faff;--brand-border: #b8daff;--ink: #1e2a38;--ink-2: #5b6675;--ink-3: #8a93a3;--ink-4: #a3aab8;--page: #f4f6f9;--surface: #ffffff;--sunken: #f5f7fa;--line: #eef1f5;--hairline: rgba(30, 42, 56, .05);--ok: #1a9a68;--ok-wash: #e8f7f0;--warn: #f2870b;--warn-wash: #fff5e6;--warn-ink: #c77700;--danger: #ff5789;--danger-wash: #ffeced;--danger-ink: #d64550;--mt: #ffc300;--el: #0089ff;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-xl: 18px;--r-2xl: 22px;--shadow-1: 0 1px 2px rgba(30, 42, 56, .03), 0 7px 17px rgba(30, 42, 56, .06);--shadow-2: 0 1px 3px rgba(30, 42, 56, .04), 0 2px 6px rgba(30, 42, 56, .06);--shadow-3: 0 7px 18px rgba(30, 42, 56, .16);--grad-brand: linear-gradient(140deg, #5cadff 0%, #3d9bff 46%, #2a7ee4 100%);--grad-veil: linear-gradient( 180deg, #cfe4ff 0%, var(--brand-wash) 40%, var(--brand-xwash) 72%, var(--page) 100% );background:var(--page)}.auth-page:before{content:"";position:absolute;top:0;left:0;right:0;height:260px;z-index:0;background:var(--grad-veil);pointer-events:none}.auth-page .c-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-xl);box-shadow:var(--shadow-1);overflow:hidden}.auth-page .c-card-pad{padding:var(--sp-4)}.auth-page .c-title{font-size:var(--fs-xl);font-weight:700;letter-spacing:var(--ls-tighter);line-height:1.25;color:var(--ink)}.auth-page .c-subtitle{font-size:var(--fs-sm);color:var(--ink-2);line-height:1.6}.auth-page .c-eyebrow{font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);font-weight:600;color:var(--ink-3);text-transform:uppercase}.auth-page .c-label{display:block;font-size:var(--fs-sm);font-weight:600;color:var(--ink-2);margin-bottom:var(--sp-2)}.auth-page .c-hint{font-size:var(--fs-xs);color:var(--ink-3);line-height:1.6}.auth-page .c-input,.auth-page .c-textarea{width:100%;background:var(--sunken);border:1px solid transparent;border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4);color:var(--ink);font-size:var(--fs-base);line-height:1.6;outline:none;min-height:var(--tap);transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.auth-page .c-input:focus,.auth-page .c-textarea:focus{background:var(--surface);border-color:var(--brand-border);box-shadow:0 0 0 3px var(--brand-xwash)}.auth-page .c-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--tap);padding:0 var(--sp-5);border:none;border-radius:var(--r-pill);font-size:var(--fs-base);font-weight:600;background:var(--sunken);color:var(--ink-2);transition:transform var(--dur) var(--ease),background var(--dur) var(--ease),opacity var(--dur) var(--ease)}.auth-page .c-btn.primary{background:var(--brand);color:#fff;box-shadow:0 3px 10px #3d9bff47}.auth-page .c-btn.block{width:100%}.auth-page .c-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);border-radius:var(--r-md);background:transparent;color:var(--ink-3);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.auth-page .c-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.auth-page .c-chip{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:34px;padding:0 var(--sp-3);border-radius:var(--r-pill);border:1px solid transparent;background:var(--sunken);color:var(--ink-2);font-size:var(--fs-sm);transition:all var(--dur) var(--ease)}.auth-page .c-chip[aria-pressed=true]{border-color:var(--brand-border);background:var(--brand-wash);color:var(--brand-dark);font-weight:600}.auth-page .c-segment{display:flex;gap:3px;padding:3px;background:var(--sunken);border-radius:var(--r-pill)}.auth-page .c-segment button{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:36px;border:none;background:transparent;border-radius:var(--r-pill);font-size:var(--fs-sm);color:var(--ink-3);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.auth-page .c-segment button[aria-pressed=true]{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 4px #1e2a381a}.auth-page .c-error{display:flex;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);background:var(--danger-wash);color:var(--danger-ink);font-size:var(--fs-sm);line-height:1.6}.auth-art{display:block;width:200px;height:200px;object-fit:contain;margin:0 auto calc(var(--sp-3) * -1);mix-blend-mode:multiply}@media (max-height: 700px){.auth-art{width:132px;height:132px}}:root{--brand: #1b3a5c;--brand-dark: #14293f;--brand-tint: #8ba3bd;--brand-wash: #eef2f7;--brand-xwash: #f7f9fc;--brand-border: #cfdbe8;--link: #2e7be8;--link-wash: #ebf3fe;--ink: #15293f;--ink-2: #5a6c80;--ink-3: #8b9aad;--ink-4: #b3bfcd;--page: #eff3f8;--surface: #ffffff;--sunken: #f5f8fb;--line: #eaeff5;--hairline: rgba(27, 58, 92, .06);--ok: #16a34a;--ok-wash: #e8f7ee;--warn: #d98324;--warn-wash: #fdf3e5;--warn-ink: #b56b13;--danger: #e5484d;--danger-wash: #fdecec;--danger-ink: #c93a3f;--mt: #ffb400;--mt-wash: #fff4d9;--mt-ink: #8a6200;--el: #1989fa;--el-wash: #e6f2ff;--el-ink: #0b62c4;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 14px;--r-2xl: 18px;--r-pill: 999px;--shadow-1: 0 1px 3px rgba(27, 58, 92, .05), 0 8px 24px -16px rgba(27, 58, 92, .24);--shadow-2: 0 1px 2px rgba(27, 58, 92, .05);--shadow-3: 0 -2px 12px rgba(27, 58, 92, .08);--shadow-pop: 0 12px 40px -12px rgba(27, 58, 92, .3);--shadow-brand: 0 6px 18px -8px rgba(27, 58, 92, .55);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 28px;--sp-7: 40px;--gutter: 16px;--fs-eyebrow: 10px;--fs-xs: 11px;--fs-sm: 12px;--fs-base: 14px;--fs-md: 15px;--fs-lg: 17px;--fs-xl: 21px;--fs-2xl: 25px;--fs-3xl: 30px;--ls-tight: -.5px;--ls-tighter: -1px;--ls-eyebrow: 1px;--z-sticky: 20;--z-nav: 30;--z-sheet: 40;--z-toast: 50;--ease: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(.22, 1, .36, 1);--dur-fast: .12s;--dur: .2s;--dur-slow: .3s;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "HarmonyOS Sans SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--tap: 44px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}html,body{overflow-x:hidden}@supports (overflow-x: clip){html,body{overflow-x:clip}}body{font-family:var(--font);font-size:var(--fs-base);line-height:1.6;background:var(--page);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}.num{font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (hover: none){*{-webkit-tap-highlight-color:transparent}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.c-root{--tabbar-h: 56px;--navbar-h: 44px;min-height:100%;background:var(--page);color:var(--ink)}.c-shell{position:relative;display:flex;flex-direction:column;min-height:100dvh;max-width:480px;margin:0 auto}.c-main{flex:1;padding:var(--sp-4) var(--gutter) calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--sp-5))}.c-main.has-bar{padding-bottom:calc(var(--tabbar-h) + 60px + env(safe-area-inset-bottom))}.c-navbar{position:sticky;top:0;z-index:var(--z-nav);background:var(--page);padding-top:env(safe-area-inset-top)}.c-navbar-inner{height:var(--navbar-h);display:flex;align-items:center;gap:var(--sp-2);margin:0 calc(var(--gutter) * -1);padding:0 var(--sp-2)}.c-navbar-title{flex:1;text-align:center;font-size:var(--fs-lg);font-weight:650;letter-spacing:var(--ls-tight)}.c-nav-slot{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:50%;color:var(--ink)}.c-nav-slot:active{background:var(--sunken)}.c-nav-action{flex:none;display:inline-flex;align-items:center;gap:4px;padding:0 var(--sp-2);min-height:40px;font-size:var(--fs-base);color:var(--link);font-weight:500;white-space:nowrap}.c-appbar{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);padding-top:env(safe-area-inset-top);margin-bottom:var(--sp-4)}.c-app-title{font-size:var(--fs-2xl);font-weight:700;letter-spacing:var(--ls-tighter);line-height:1.2}.c-app-sub{font-size:var(--fs-sm);color:var(--ink-3);margin-top:4px}.c-bell{position:relative;width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:50%;color:var(--ink-2)}.c-bell:active{background:var(--sunken)}.c-bell-dot{position:absolute;top:5px;right:4px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--r-pill);background:var(--danger);color:#fff;font-size:9px;font-weight:700;display:grid;place-items:center;border:2px solid var(--page)}.c-tabbar{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-nav);display:flex;max-width:480px;margin:0 auto;padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);transition:transform var(--dur) var(--ease)}.c-tabbar[data-hidden=true]{transform:translateY(110%)}.c-tab{flex:1;min-height:var(--tabbar-h);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--ink-4);font-size:var(--fs-eyebrow);font-weight:500;transition:color var(--dur) var(--ease)}.c-tab[aria-current=page]{color:var(--brand);font-weight:650}.c-card{background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-1);overflow:hidden}.c-card-pad{padding:var(--sp-4)}.c-card.brand{background:var(--brand);color:#fff;box-shadow:var(--shadow-brand)}.c-card.brand .c-hint,.c-card.brand .c-label{color:#ffffffb8}.c-sunken{background:var(--sunken);border-radius:var(--r-lg);padding:var(--sp-3)}.c-title{font-size:var(--fs-xl);font-weight:700;letter-spacing:var(--ls-tight)}.c-card-title{font-size:var(--fs-md);font-weight:650;letter-spacing:var(--ls-tight)}.c-label{display:block;font-size:var(--fs-base);font-weight:600;color:var(--ink);margin-bottom:var(--sp-2)}.c-hint{font-size:var(--fs-sm);color:var(--ink-3);line-height:1.6}.c-body{font-size:var(--fs-base);color:var(--ink-2);line-height:1.85;white-space:pre-wrap;word-break:break-word}.c-section{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);padding:0 2px}.c-section-title{font-size:var(--fs-md);font-weight:700;letter-spacing:var(--ls-tight);color:var(--ink)}.c-group{display:grid;gap:var(--sp-2)}.c-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);margin:calc(var(--sp-4) * -1) calc(var(--sp-4) * -1) var(--sp-4);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line)}.c-card-head>div:first-child{min-width:0}.c-link:active{opacity:.6}.c-textarea{width:100%;min-height:132px;padding:var(--sp-3);border:none;border-radius:var(--r-lg);background:var(--sunken);color:var(--ink);font-size:16px;line-height:1.75;outline:none;resize:none;transition:box-shadow var(--dur) var(--ease)}.c-textarea:focus{box-shadow:0 0 0 2px var(--brand-border)}.c-input{width:100%;min-height:44px;padding:10px var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font-size:16px;outline:none}.c-input:focus{border-color:var(--brand-border)}.c-input::placeholder,.c-textarea::placeholder{color:var(--ink-4)}.c-count{display:block;text-align:right;font-size:var(--fs-xs);color:var(--ink-4);margin-top:6px;font-variant-numeric:tabular-nums}.c-count[data-over=true]{color:var(--danger)}.c-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.c-chip{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:0 var(--sp-3);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-size:var(--fs-base);font-weight:500;white-space:nowrap;transition:all var(--dur) var(--ease)}.c-chip[aria-pressed=true]{border-color:var(--brand);background:var(--brand-wash);color:var(--brand);font-weight:600}.c-chip:active{transform:scale(.97)}.c-chip-mark{width:16px;height:16px;border-radius:4px;flex:none;display:grid;place-items:center;font-size:9px;font-weight:700;color:#fff}.c-chip-mark[data-platform=meituan]{background:var(--mt);color:#6b4a00}.c-chip-mark[data-platform=eleme]{background:var(--el)}.c-chip-mark[data-platform=other]{background:var(--ink-4)}.c-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:0 var(--sp-4);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);color:var(--ink);font-size:var(--fs-md);font-weight:600;white-space:nowrap;transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.c-btn:active:not(:disabled){transform:scale(.985);opacity:.85}.c-btn:disabled{opacity:.45}.c-btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.c-btn.soft{background:var(--sunken);border-color:transparent;color:var(--ink-2)}.c-btn.block{width:100%}.c-btn.sm{min-height:34px;padding:0 var(--sp-3);font-size:var(--fs-base);border-radius:var(--r-md)}.c-icon-btn{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:50%;color:var(--ink-2)}.c-icon-btn:active{background:var(--sunken)}.c-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.c-stat{background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-1);padding:var(--sp-4);display:grid;gap:4px;align-content:start}.c-stat-label{font-size:var(--fs-sm);color:var(--ink-3)}.c-stat-value{font-size:var(--fs-3xl);font-weight:700;letter-spacing:var(--ls-tighter);line-height:1.1}.c-stat-value small{font-size:var(--fs-md);font-weight:600;margin-left:1px}.c-delta{font-size:var(--fs-xs);color:var(--ink-3);display:inline-flex;align-items:center;gap:2px}.c-delta[data-dir=up]{color:var(--ok)}.c-delta[data-dir=down]{color:var(--danger)}.c-grid4{display:grid;grid-template-columns:repeat(4,1fr)}.c-grid4-cell{position:relative;display:grid;gap:3px;justify-items:center;padding:var(--sp-2) var(--sp-1)}.c-grid4-cell+.c-grid4-cell:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:24px;background:var(--line)}.c-grid4-value{font-size:var(--fs-xl);font-weight:700;letter-spacing:var(--ls-tight);line-height:1.1}.c-grid4-value small{font-size:var(--fs-sm);font-weight:600}.c-grid4-label{font-size:var(--fs-xs);color:var(--ink-3);white-space:nowrap}.c-ring{position:relative;width:84px;height:84px;flex:none}.c-ring svg{transform:rotate(-90deg)}.c-ring-track{stroke:var(--brand-wash)}.c-ring-fill{stroke:var(--brand);stroke-linecap:round;transition:stroke-dashoffset .9s var(--ease-out)}.c-ring-text{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:var(--fs-lg);font-weight:700;letter-spacing:var(--ls-tight);color:var(--brand)}.c-badge{display:inline-flex;align-items:center;gap:3px;padding:2px var(--sp-2);border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:600;background:var(--sunken);color:var(--ink-2);white-space:nowrap}.c-badge.ok{background:var(--ok-wash);color:var(--ok)}.c-badge.warn{background:var(--warn-wash);color:var(--warn-ink)}.c-badge.bad{background:var(--danger-wash);color:var(--danger-ink)}.c-badge.brand{background:var(--brand-wash);color:var(--brand)}.c-plat{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:600;background:var(--sunken);color:var(--ink-2);white-space:nowrap}.c-plat[data-platform=meituan]{background:var(--mt-wash);color:var(--mt-ink)}.c-plat[data-platform=eleme]{background:var(--el-wash);color:var(--el-ink)}.c-dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex:none}.c-row{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:52px;padding:var(--sp-3) var(--sp-4);text-align:left;color:inherit}.c-row+.c-row{border-top:1px solid var(--line)}.c-row:active{background:var(--sunken)}.c-row-icon{width:26px;flex:none;display:grid;place-items:center;color:var(--ink-2)}.c-row-main{flex:1;min-width:0}.c-row-title{display:block;font-size:var(--fs-md);font-weight:500}.c-row-sub{display:block;font-size:var(--fs-sm);color:var(--ink-3);margin-top:2px}.c-row-value{font-size:var(--fs-sm);color:var(--ink-3);flex:none}.c-chev{color:var(--ink-4);flex:none}.c-record{display:block;width:100%;text-align:left;color:inherit;background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-1);padding:var(--sp-4)}.c-record:active{background:var(--brand-xwash)}.c-record-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-3)}.c-record-text{font-size:var(--fs-md);font-weight:500;line-height:1.55;color:var(--ink)}.c-record-foot{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2);margin-top:var(--sp-3);font-size:var(--fs-sm);color:var(--ink-3)}.c-record-score{font-weight:700;font-variant-numeric:tabular-nums}.c-record-score[data-tone=ok]{color:var(--ok)}.c-record-score[data-tone=warn]{color:var(--warn-ink)}.c-record-score[data-tone=bad]{color:var(--danger)}.c-actionbar{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-sticky);max-width:480px;margin:0 auto;display:flex;gap:var(--sp-3);padding:var(--sp-3) var(--gutter) calc(var(--sp-3) + env(safe-area-inset-bottom));background:var(--surface);box-shadow:var(--shadow-3)}.c-actionbar>.c-btn{flex:1}.c-sheet-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-sheet);background:#15293f6b;animation:c-fade var(--dur) var(--ease)}.c-sheet{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-sheet);max-width:480px;margin:0 auto;max-height:86dvh;overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border-radius:var(--r-2xl) var(--r-2xl) 0 0;padding:var(--sp-4) var(--gutter) calc(var(--sp-5) + env(safe-area-inset-bottom));animation:c-up var(--dur-slow) var(--ease-out)}.c-sheet-grip{width:36px;height:4px;border-radius:2px;background:var(--line);margin:0 auto var(--sp-3)}.c-sheet-title{font-size:var(--fs-md);font-weight:700}@keyframes c-fade{0%{opacity:0}}@keyframes c-up{0%{transform:translateY(100%)}}.c-quote{font-size:var(--fs-md);line-height:1.9;color:var(--ink)}.c-span{display:inline;padding:0 1px 2px;border-bottom:2px solid var(--brand-tint);color:inherit;font:inherit}.c-span:active{background:var(--brand-wash)}.c-span-tag{font-size:var(--fs-xs);color:var(--link);margin-left:3px;vertical-align:2px;font-weight:600}.c-bullets{display:grid;gap:var(--sp-3);margin:0;padding:0;list-style:none}.c-bullets li{display:flex;gap:var(--sp-3);font-size:var(--fs-base);line-height:1.7;color:var(--ink-2)}.c-bullets li:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--brand-tint);flex:none;margin-top:9px}.c-numbers{display:grid;gap:var(--sp-3);margin:0;padding:0;list-style:none;counter-reset:n}.c-numbers li{display:flex;gap:var(--sp-3);font-size:var(--fs-base);line-height:1.7;color:var(--ink-2);counter-increment:n}.c-numbers li:before{content:counter(n);width:18px;height:18px;border-radius:50%;flex:none;margin-top:3px;display:grid;place-items:center;background:var(--brand-wash);color:var(--brand);font-size:10px;font-weight:700}.c-bar{display:flex;gap:2px;height:8px;border-radius:4px;overflow:hidden;margin:var(--sp-2) 0}.c-bar-legend{display:flex;flex-wrap:wrap;gap:4px var(--sp-3);font-size:var(--fs-xs);color:var(--ink-3)}.c-bar-legend i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:4px}.c-plan-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2);align-items:end}.c-plan{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-2);display:grid;gap:var(--sp-2);justify-items:center;text-align:center}.c-plan.featured{border-color:var(--brand);border-width:2px;padding-top:var(--sp-5);padding-bottom:var(--sp-4)}.c-plan-tag{position:absolute;top:-9px;right:-1px;padding:2px 8px;border-radius:var(--r-sm);background:var(--brand);color:#fff;font-size:10px;font-weight:700}.c-plan-name{font-size:var(--fs-base);font-weight:600}.c-plan-price{font-size:var(--fs-xl);font-weight:700;letter-spacing:var(--ls-tight)}.c-plan-price small{font-size:var(--fs-xs);font-weight:500;color:var(--ink-3)}.c-plan-unit{font-size:var(--fs-xs);color:var(--ink-3)}.c-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.c-table th,.c-table td{padding:var(--sp-3) 4px;text-align:center;border-bottom:1px solid var(--line)}.c-table th:first-child,.c-table td:first-child{text-align:left;color:var(--ink-2);width:34%}.c-table thead th{font-size:var(--fs-xs);color:var(--ink-3);font-weight:600}.c-table td{color:var(--ink-3)}.c-table td[data-hl=true]{color:var(--link);font-weight:600}.c-skeleton{background:linear-gradient(90deg,#e6ecf3 25%,#f2f6fa 37%,#e6ecf3 63%);background-size:400% 100%;border-radius:var(--r-md);animation:c-shimmer 1.4s var(--ease) infinite}@keyframes c-shimmer{0%{background-position:100% 50%}to{background-position:-100% 50%}}.c-empty{display:grid;justify-items:center;gap:var(--sp-3);padding:var(--sp-7) var(--sp-4);text-align:center}.c-empty-mark{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--ink-4);box-shadow:var(--shadow-1)}.c-error{display:flex;gap:var(--sp-2);align-items:center;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);background:var(--danger-wash);color:var(--danger-ink);font-size:var(--fs-base);line-height:1.6}.c-toast{position:fixed;left:50%;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--sp-5));transform:translate(-50%);z-index:var(--z-toast);max-width:78vw;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);background:#15293fe6;color:#fff;font-size:var(--fs-base);text-align:center;line-height:1.5;animation:c-fade var(--dur) var(--ease)}.c-stack{display:grid;gap:var(--sp-5);align-content:start}.c-stack.tight{gap:var(--sp-3)}.c-flex{display:flex;align-items:center;gap:var(--sp-2)}.c-flex.between{justify-content:space-between}.c-grow{flex:1;min-width:0}.c-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.c-howto{margin:0;padding-left:20px;display:grid;gap:var(--sp-3);font-size:var(--fs-base);line-height:1.75;color:var(--ink-2)}.c-howto strong{color:var(--ink)}.c-option{display:flex;align-items:flex-start;gap:var(--sp-3);width:100%;padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-lg);background:transparent;text-align:left;color:inherit}.c-option+.c-option{margin-top:var(--sp-2)}.c-option[aria-pressed=true]{border-color:var(--brand);background:var(--brand-wash)}.c-thinking{max-height:260px;overflow-y:auto;overscroll-behavior:contain;padding:var(--sp-3);border-radius:var(--r-lg);background:var(--sunken);font-size:var(--fs-sm);line-height:1.9;color:var(--ink-2);white-space:pre-wrap;word-break:break-word;scroll-behavior:smooth}.c-opt{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-lg)}.c-opt+.c-opt{margin-top:var(--sp-2)}.c-opt[data-top=true]{border-color:var(--brand-border);background:var(--brand-wash)}.c-opt-rank{width:22px;height:22px;border-radius:var(--r-sm);flex:none;margin-top:1px;display:grid;place-items:center;background:var(--sunken);color:var(--ink-3);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.c-opt[data-top=true] .c-opt-rank{background:var(--brand);color:#fff}.c-opt-main{flex:1;min-width:0}.c-opt-row{display:flex;align-items:baseline;gap:var(--sp-2)}.c-opt-row+.c-opt-row{margin-top:3px}.c-opt-row i{flex:none;width:26px;font-style:normal;font-size:10px;font-weight:600;color:var(--ink-4)}.c-opt-row span{font-size:var(--fs-sm);color:var(--ink-2)}.c-opt-row b{font-size:var(--fs-md);font-weight:700;color:var(--ink);letter-spacing:var(--ls-tight)}.c-opt-reason{font-size:var(--fs-xs);color:var(--ink-3);line-height:1.65;margin-top:6px;padding-left:34px}.c-opt-tag{flex:none;align-self:flex-start;padding:2px 7px;border-radius:var(--r-sm);background:var(--brand);color:#fff;font-size:10px;font-weight:700}.c-store-pick{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);text-align:left;color:inherit}.c-store-pick:active{background:var(--sunken)}.c-store-ico{width:34px;height:34px;border-radius:var(--r-md);flex:none;display:grid;place-items:center;background:var(--brand-wash);color:var(--brand)}.c-store-name{display:block;font-size:var(--fs-base);font-weight:600}.c-store-head{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4)}.c-store-title{display:block;font-size:var(--fs-md);font-weight:650;letter-spacing:var(--ls-tight)}.c-store-nudge{display:flex;align-items:center;gap:var(--sp-3);width:100%;margin:0 0 var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--brand-xwash);border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;font-size:var(--fs-sm);color:var(--ink-2);line-height:1.55}.c-store-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2);margin:0 var(--sp-4);padding:var(--sp-3);border-radius:var(--r-lg);background:var(--sunken)}.c-store-stats>div{display:grid;gap:2px}.c-store-stats b{font-size:var(--fs-base);font-weight:650}.c-store-acts{display:flex;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4) 0}.c-store-unbind{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;min-height:40px;margin-top:var(--sp-2);border-top:1px solid var(--line);color:var(--ink-4);font-size:var(--fs-sm)}.c-store-unbind:active{color:var(--danger-ink);background:var(--danger-wash)}.c-queue-head{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4);border-bottom:1px solid var(--line)}.c-queue-item{display:grid;gap:var(--sp-3);padding:var(--sp-4)}.c-queue-item+.c-queue-item{border-top:1px solid var(--line)}.c-queue-text{font-size:var(--fs-md);line-height:1.6;color:var(--ink)}.c-queue-more{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;min-height:44px;border-top:1px solid var(--line);color:var(--ink-3);font-size:var(--fs-sm)}.c-queue-more:active{background:var(--sunken)}.c-nav-slot[data-locked=false]{color:var(--brand)}.c-nav-slot[data-locked=true]{color:var(--ink-4)}.c-run{display:grid;justify-items:center;gap:var(--sp-4);padding:var(--sp-7) 0 var(--sp-5)}.c-run-orb{position:relative;width:88px;height:88px;display:grid;place-items:center}.c-run-orb span{position:absolute;border-radius:50%;border:2px solid var(--brand);animation:c-ripple 2.4s var(--ease-out) infinite}.c-run-orb span:nth-child(1){top:0;right:0;bottom:0;left:0}.c-run-orb span:nth-child(2){top:0;right:0;bottom:0;left:0;animation-delay:.8s}.c-run-orb span:nth-child(3){top:34px;right:34px;bottom:34px;left:34px;border-width:0;background:var(--brand);animation:c-pulse 2.4s var(--ease) infinite}@keyframes c-ripple{0%{transform:scale(.45);opacity:.75}to{transform:scale(1);opacity:0}}@keyframes c-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.82);opacity:.65}}.c-run-title{font-size:var(--fs-xl);font-weight:700;letter-spacing:var(--ls-tight)}.c-run-sub{font-size:var(--fs-sm);color:var(--ink-3);margin-top:-8px}.c-run-steps{width:100%;margin:0;padding:var(--sp-4);list-style:none;display:grid;gap:var(--sp-4);background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-1)}.c-run-step{position:relative;display:flex;align-items:flex-start;gap:var(--sp-3)}.c-run-step:before{content:"";position:absolute;left:11px;top:24px;bottom:calc(var(--sp-4) * -1);width:2px;background:var(--line)}.c-run-step:last-child:before{display:none}.c-run-step[data-state=done]:before{background:var(--brand)}.c-run-mark{width:24px;height:24px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:11px;font-weight:700;background:var(--sunken);color:var(--ink-4);z-index:1;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.c-run-step[data-state=done] .c-run-mark{background:var(--brand);color:#fff}.c-run-step[data-state=doing] .c-run-mark{background:var(--brand);color:#fff;box-shadow:0 0 #1b3a5c73;animation:c-halo 1.8s var(--ease-out) infinite}@keyframes c-halo{to{box-shadow:0 0 0 12px #1b3a5c00}}.c-run-main{flex:1;min-width:0}.c-run-label{display:block;font-size:var(--fs-md);font-weight:600;color:var(--ink-4);transition:color var(--dur) var(--ease)}.c-run-step[data-state=done] .c-run-label,.c-run-step[data-state=doing] .c-run-label{color:var(--ink)}.c-run-hint{display:block;font-size:var(--fs-sm);color:var(--ink-3);margin-top:2px}.c-run-step[data-state=doing] .c-run-hint{color:var(--brand)}.c-run-think{width:100%;padding:var(--sp-4);background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-1)}.c-empty-art{width:160px;height:160px;object-fit:contain;margin-bottom:calc(var(--sp-2) * -1);mix-blend-mode:multiply}.c-diag-sec{padding:var(--sp-4)}.c-diag-sec+.c-diag-sec{border-top:1px solid var(--line)}.c-diag-sec.tight{padding-block:var(--sp-2)}.c-diag-sec.tight[data-open]{padding-bottom:var(--sp-4)}.c-eyebrow{font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;color:var(--ink-3)}.c-score{font-size:40px;font-weight:700;line-height:1;letter-spacing:var(--ls-tighter);font-variant-numeric:tabular-nums}.c-score-unit{font-size:18px;margin-left:2px}.c-score[data-tone=ok]{color:var(--ok)}.c-score[data-tone=warn]{color:var(--warn-ink)}.c-score[data-tone=bad]{color:var(--danger)}.c-ring[data-tone=ok] .c-ring-fill,.c-ring[data-tone=ok] .c-ring-text{stroke:var(--ok);color:var(--ok)}.c-ring[data-tone=warn] .c-ring-fill,.c-ring[data-tone=warn] .c-ring-text{stroke:var(--warn-ink);color:var(--warn-ink)}.c-ring[data-tone=bad] .c-ring-fill,.c-ring[data-tone=bad] .c-ring-text{stroke:var(--danger);color:var(--danger)}.c-ring[data-tone=ok] .c-ring-track{stroke:var(--ok-wash)}.c-ring[data-tone=warn] .c-ring-track{stroke:var(--warn-wash)}.c-ring[data-tone=bad] .c-ring-track{stroke:var(--danger-wash)}.c-disclose{display:flex;align-items:center;gap:var(--sp-2);width:100%;min-height:44px;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer}.c-disclose-hint{margin-left:auto;font-size:var(--fs-xs);color:var(--ink-4)}.c-disclose-icon{color:var(--ink-4);transition:transform .2s var(--ease-out)}.c-disclose[aria-expanded=true] .c-disclose-icon{transform:rotate(180deg)}
