:root{--pine-900:#0a4438;--pine-800:#0c5142;--pine-700:#0f5d4d;--pine-600:#1b6e5d;--pine-200:#cfe0db;--pine-100:#eaf2ef;--pine-050:#f3f8f6;--amber-800:#8f5a13;--amber-700:#8f5a13;--amber-600:#b0721d;--amber-100:#faf0e0;--ink-900:#16201d;--ink-700:#3a4945;--ink-500:#5e6b67;--ink-450:#66736e;--ink-400:#8b9793;--ink-300:#b0bab6;--paper-000:#fff;--paper-050:#fafaf7;--paper-100:#f6f6f3;--paper-200:#edede7;--line-100:#efefea;--line-200:#e8e8e2;--line-300:#d8d9d2;--line-400:#c9cac2;--line-500:#828e8a;--brick-700:#b3403c;--green-700:#1b7f5f;--alpha-ink-04:rgba(22,32,29,.04);--alpha-ink-08:rgba(22,32,29,.08);--alpha-ink-40:rgba(22,32,29,.4);--alpha-pine-12:rgba(15,93,77,.12);--alpha-white-12:hsla(0,0%,100%,.12);--color-bg:var(--paper-100);--color-surface:var(--paper-000);--color-surface-2:var(--paper-050);--color-surface-3:var(--paper-200);--color-text:var(--ink-900);--color-text-muted:var(--ink-500);--color-text-subtle:var(--ink-450);--color-text-placeholder:var(--ink-450);--color-text-inverse:var(--paper-000);--color-text-on-brand-muted:var(--pine-200);--color-primary:var(--pine-700);--color-primary-press:var(--pine-900);--color-primary-tint:var(--pine-100);--color-primary-tint-2:var(--pine-050);--color-primary-halo:var(--alpha-pine-12);--color-accent:var(--amber-700);--color-accent-strong:var(--amber-800);--color-accent-tint:var(--amber-100);--color-border:var(--line-200);--color-border-strong:var(--line-300);--color-border-soft:var(--line-100);--color-divider-strong:var(--line-500);--color-danger:var(--brick-700);--color-success:var(--green-700);--color-disabled-bg:var(--paper-200);--color-disabled-fg:var(--ink-300);--font-sans:"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei","Noto Sans SC",sans-serif;--font-en:Inter,"SF Pro Text","Helvetica Neue",Arial,sans-serif;--text-display:24px;--leading-display:32px;--text-title:22px;--leading-title:30px;--text-nav:17px;--leading-nav:24px;--text-lead:16px;--leading-lead:24px;--text-body:14px;--leading-body:24px;--text-sm:13px;--leading-sm:20px;--text-caption:12px;--leading-caption:18px;--text-micro:11px;--leading-micro:16px;--text-word:27px;--leading-word:34px;--tracking-label:0.4px;--tracking-en:0.6px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--gutter:15px;--card-pad:15px;--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:16px;--r-pill:999px;--shadow-float:0 6px 20px var(--alpha-ink-08);--ctrl-h:46px;--btn-h:48px;--touch:44px;--tab-h:56px;--mark-bar-h:calc(var(--touch) + var(--space-2)*2 + 1px);--dur-fast:120ms;--dur:160ms;--ease-out:cubic-bezier(0.2,0.7,0.3,1);--text-stat:44px;--leading-stat:46px;--text-preview-std:14px;--text-preview-lg:16px;--color-scrim:var(--alpha-ink-40);--switch-track-off:var(--line-500);--switch-track-on:var(--color-primary);--switch-knob:var(--paper-000)}body,page{-webkit-font-smoothing:antialiased;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-body);text-rendering:optimizeLegibility}#app{background:var(--color-bg);margin:0 auto;max-width:480px;min-height:100vh}.taro-button-core::after{border:none}.taro-tabbar__container,.taro-tabbar__tabbar{margin-left:auto;margin-right:auto;max-width:480px}.taro-tabbar__tabbar{background:var(--color-surface);border-top:1px solid var(--color-border);-webkit-box-shadow:none;box-shadow:none;height:calc(var(--tab-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}.taro-tabbar__tabbar.taro-tabbar__tabbar-bottom{background:var(--color-surface);border-top:1px solid var(--color-border);-webkit-box-shadow:none;box-shadow:none;height:calc(var(--tab-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}.taro-tabbar__tabbar .weui-tabbar__item{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;font-size:var(--text-micro);gap:3px;height:var(--tab-h);-webkit-justify-content:center;justify-content:center;line-height:14px;padding:0}.taro-tabbar__tabbar .weui-tabbar__icon{display:block;height:22px;margin:0;width:22px}.taro-tabbar__tabbar .weui-tabbar__label{font-family:var(--font-sans)!important;font-size:var(--text-micro)!important;font-weight:500;letter-spacing:var(--tracking-label);line-height:14px!important;margin:0}.page-title{color:var(--color-text);display:block;font-size:var(--text-title);font-weight:600;letter-spacing:-.2px;line-height:var(--leading-title)}.eyebrow,.section-label{color:var(--color-text-subtle);display:block;font-size:var(--text-micro);font-weight:500;letter-spacing:var(--tracking-label);line-height:var(--leading-micro)}.meta-text{color:var(--color-text-subtle);font-family:var(--font-en);font-size:var(--text-micro);font-variant-numeric:tabular-nums;line-height:var(--leading-micro)}.hint{color:var(--color-text-subtle);display:block;font-size:var(--text-micro);line-height:var(--leading-micro)}.title-row{-ms-flex-align:center;-ms-flex-pack:justify;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-3);-webkit-justify-content:space-between;justify-content:space-between}.btn-ghost,.btn-primary,.btn-secondary{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;border:1px solid transparent;border-radius:var(--r-md);-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;font-family:var(--font-sans);font-size:var(--text-body);font-weight:500;gap:var(--space-2);-webkit-justify-content:center;justify-content:center;letter-spacing:.2px;line-height:1;padding:0 var(--space-4);-webkit-transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),opacity var(--dur-fast) var(--ease-out),-webkit-transform var(--dur-fast) var(--ease-out);transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),opacity var(--dur-fast) var(--ease-out),-webkit-transform var(--dur-fast) var(--ease-out);transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),-webkit-transform var(--dur-fast) var(--ease-out);width:100%}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse);height:var(--btn-h)}.btn-primary:active{background:var(--color-primary-press);-webkit-transform:translateY(1px);-ms-transform:translateY(1px);transform:translateY(1px)}.btn-primary:not([disabled]),.btn-primary[disabled=false]{color:var(--color-text-inverse)}.btn-primary[disabled]:not([disabled=false]){background:var(--color-disabled-bg);color:var(--color-disabled-fg);-webkit-transform:none;-ms-transform:none;transform:none}.btn-ghost,.btn-secondary{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text);height:var(--btn-h)}.btn-ghost:not([disabled]),.btn-ghost[disabled=false],.btn-secondary:not([disabled]),.btn-secondary[disabled=false]{color:var(--color-text)}.btn-ghost:active,.btn-secondary:active{background:var(--color-surface-2);-webkit-transform:translateY(1px);-ms-transform:translateY(1px);transform:translateY(1px)}.btn-secondary[disabled]:not([disabled=false]){background:var(--color-surface-2);border-color:var(--color-border-soft);color:var(--color-disabled-fg);-webkit-transform:none;-ms-transform:none;transform:none}.btn-text{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;background:none;border:none;color:var(--color-text-subtle);display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-family:var(--font-sans);font-size:var(--text-sm);-webkit-justify-content:center;justify-content:center;line-height:var(--leading-sm);min-height:var(--touch);padding:var(--space-2) var(--space-3)}.btn-text:active{color:var(--color-text-muted)}.icon-btn{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;border-radius:var(--r-md);color:var(--color-text-muted);display:-webkit-flex;display:-ms-flexbox;display:flex;height:var(--touch);-webkit-justify-content:center;justify-content:center;margin:calc(var(--space-2)*-1);-webkit-transition:background-color var(--dur) var(--ease-out);transition:background-color var(--dur) var(--ease-out);width:var(--touch)}.icon-btn:active{background:var(--color-surface-3)}.nav{-ms-flex-align:center;-ms-flex-pack:justify;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:none;-ms-flex:none;flex:none;gap:var(--space-2);height:var(--touch);-webkit-justify-content:space-between;justify-content:space-between;width:100%}.nav__left{-ms-flex-align:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-2);min-height:var(--touch)}.nav__title{color:var(--color-text);font-size:var(--text-nav);font-weight:600;line-height:var(--leading-nav)}.nav__trailing{color:var(--color-text-subtle);font-family:var(--font-en);font-size:var(--text-micro);font-variant-numeric:tabular-nums;line-height:var(--leading-micro)}.chips{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--space-2)}.chip,.tag{-ms-flex-align:center;-webkit-align-items:center;align-items:center;border:1px solid transparent;border-radius:var(--r-sm);-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:var(--text-micro);font-weight:500;height:22px;letter-spacing:var(--tracking-label);line-height:1;padding:0 var(--space-2)}.tag{background:var(--color-primary-tint);color:var(--color-primary)}.chip--outline{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-muted)}.chip--accent{background:var(--color-accent-tint);color:var(--color-accent)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-lg);-webkit-box-sizing:border-box;box-sizing:border-box;padding:14px var(--card-pad)}.card--hero{background:var(--color-primary);border-color:var(--color-primary);border-radius:var(--r-xl);color:var(--color-text-inverse);padding:var(--space-5)}.list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-lg);overflow:hidden}.list__row{-ms-flex-align:center;-webkit-align-items:center;align-items:center;border-top:1px solid var(--color-border-soft);-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-3);min-height:46px;padding:var(--space-2) var(--space-4);-webkit-transition:background-color var(--dur) var(--ease-out);transition:background-color var(--dur) var(--ease-out)}.list__row:first-child{border-top:none}.list__row:active{background:var(--color-surface-2)}.list__icon{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;color:var(--color-text);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:none;-ms-flex:none;flex:none;-webkit-justify-content:center;justify-content:center}.list__label{color:var(--color-text);-webkit-flex:1;-ms-flex:1;flex:1;font-size:var(--text-body);line-height:var(--leading-body);min-width:0}.list__trailing{color:var(--color-text-subtle);-webkit-flex:none;-ms-flex:none;flex:none;font-family:var(--font-en);font-size:var(--text-caption);font-variant-numeric:tabular-nums;line-height:var(--leading-caption)}.list__chev{color:var(--color-text-placeholder);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:none;-ms-flex:none;flex:none}.seg{background:var(--color-surface-3);border-radius:var(--r-md);-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:2px;margin-top:var(--space-3);padding:3px}.seg__item{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;border-radius:var(--r-sm);color:var(--color-text-muted);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;font-size:var(--text-caption);height:30px;-webkit-justify-content:center;justify-content:center;line-height:1;-webkit-transition:background-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out);transition:background-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}.seg__item.on{background:var(--color-surface);color:var(--color-text);font-weight:600}.seg__item:active{color:var(--color-text)}.field{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--space-2);width:100%}.label{color:var(--color-text-muted);font-size:var(--text-micro);font-weight:500;letter-spacing:var(--tracking-label);line-height:var(--leading-micro)}.input{-ms-flex-align:center;-webkit-align-items:center;align-items:center;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--r-md);-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:var(--ctrl-h);padding:0 var(--space-3);-webkit-transition:border-color var(--dur) var(--ease-out),-webkit-box-shadow var(--dur) var(--ease-out);transition:border-color var(--dur) var(--ease-out),-webkit-box-shadow var(--dur) var(--ease-out);transition:border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out);transition:border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),-webkit-box-shadow var(--dur) var(--ease-out);width:100%}.input taro-input-core{background:transparent;border:none;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-body);outline:none;width:100%}.input > *{background:transparent;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-body);outline:0;padding:0;width:100%}.input ::-webkit-input-placeholder{color:var(--color-text-placeholder)}.input ::-moz-placeholder{color:var(--color-text-placeholder)}.input :-ms-input-placeholder{color:var(--color-text-placeholder)}.input ::-ms-input-placeholder{color:var(--color-text-placeholder)}.input ::placeholder{color:var(--color-text-placeholder)}.input.focus{border-color:var(--color-primary);-webkit-box-shadow:inset 0 0 0 1px var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.page{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-height:100vh;padding:var(--space-3) var(--gutter) var(--space-4)}.page--tab{padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + var(--space-4))}.page-head{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:none;-ms-flex:none;flex:none;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--space-2)}.page-body{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--space-3)}.page-foot{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:none;-ms-flex:none;flex:none;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--space-2);margin-top:auto;padding-top:var(--space-3)}.loading{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;color:var(--color-text-subtle);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;font-size:var(--text-sm);gap:var(--space-3);-webkit-justify-content:center;justify-content:center;min-height:60vh}.skeleton{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-lg);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--space-2);padding:var(--card-pad)}.sk-line{-webkit-animation:shimmer 1.3s linear infinite;animation:shimmer 1.3s linear infinite;background:-webkit-gradient(linear,left top,right top,color-stop(25%,var(--color-surface-3)),color-stop(37%,var(--color-surface-2)),color-stop(63%,var(--color-surface-3)));background:-webkit-linear-gradient(left,var(--color-surface-3) 25%,var(--color-surface-2) 37%,var(--color-surface-3) 63%);background:linear-gradient(90deg,var(--color-surface-3) 25%,var(--color-surface-2) 37%,var(--color-surface-3) 63%);background-size:400% 100%;border-radius:var(--r-xs);height:12px}.sk-line.w40{width:40%}.sk-line.w60{width:60%}.sk-line.w80{width:80%}@-webkit-keyframes shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}@keyframes shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}.empty{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--space-3);-webkit-justify-content:center;justify-content:center;min-height:46vh;padding:var(--space-6) var(--space-4);text-align:center}.empty .em{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;color:var(--color-text-placeholder);display:-webkit-flex;display:-ms-flexbox;display:flex;height:56px;-webkit-justify-content:center;justify-content:center;width:56px}.empty .t{color:var(--color-text);display:block;font-size:var(--text-body);font-weight:600;line-height:var(--leading-body)}.empty .d{color:var(--color-text-muted);display:block;font-size:var(--text-caption);line-height:var(--leading-caption);max-width:260px}.empty .btn-primary{margin-top:var(--space-2);min-width:160px;padding:0 var(--space-5);width:auto}.login-body{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-justify-content:center;justify-content:center;min-height:100vh;padding:0 var(--space-6) env(safe-area-inset-bottom)}.logo{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;background:var(--color-primary);border-radius:var(--r-xl);color:var(--color-text-inverse);display:-webkit-flex;display:-ms-flexbox;display:flex;height:58px;-webkit-justify-content:center;justify-content:center;margin-bottom:var(--space-4);width:58px}.login-body .h3{display:block;font-size:var(--text-display);font-weight:700;letter-spacing:-.3px;line-height:var(--leading-display)}.login-body .slogan{color:var(--color-text-muted);display:block;font-size:var(--text-sm);line-height:var(--leading-sm);margin-top:var(--space-2);text-align:center}.login-actions{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--space-3);margin-top:var(--space-7);width:100%}.login-body .back{-ms-flex-item-align:start;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-webkit-align-self:flex-start;align-self:flex-start;color:var(--color-text-muted);display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:var(--text-sm);gap:var(--space-1);margin-bottom:var(--space-5);min-height:var(--touch)}.login-body .field{margin-bottom:var(--space-3);width:100%}.login-body .code-row{-ms-flex-align:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-2);margin-bottom:var(--space-5);width:100%}.login-body .code-row .input{-webkit-flex:1;-ms-flex:1;flex:1}.login-body .btn-send{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--r-md);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--color-text);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:none;-ms-flex:none;flex:none;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;height:var(--ctrl-h);-webkit-justify-content:center;justify-content:center;line-height:1;margin:0;padding:0 var(--space-4)}.login-body .btn-send:active{background:var(--color-surface-2)}.login-body .hint{color:var(--color-accent-strong);margin:0 0 var(--space-4)}.login-body .agree{color:var(--color-text-subtle);display:block;font-size:var(--text-micro);line-height:var(--leading-micro);margin-top:var(--space-5);text-align:center}.onboard-body{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-height:100vh;padding:var(--space-3) var(--gutter) var(--space-6)}.onboard-top{-ms-flex-align:center;-ms-flex-pack:justify;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:none;-ms-flex:none;flex:none;gap:var(--space-3);-webkit-justify-content:space-between;justify-content:space-between}.onboard-top .back{-ms-flex-align:center;-webkit-align-items:center;align-items:center;color:var(--color-text-muted);display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:var(--text-sm);line-height:var(--leading-sm);min-height:var(--touch)}.onboard-top .stepno{color:var(--color-text-subtle);font-family:var(--font-en);font-size:var(--text-micro);font-variant-numeric:tabular-nums;line-height:var(--leading-micro)}.progress{background:var(--color-border);border-radius:2px;-webkit-flex:none;-ms-flex:none;flex:none;height:3px;margin-top:var(--space-1);overflow:hidden}.progress .bar{background:var(--color-primary);border-radius:2px;display:block;height:100%;-webkit-transition:width var(--dur) var(--ease-out);transition:width var(--dur) var(--ease-out)}.onboard-title{color:var(--color-text);display:block;font-size:var(--text-title);font-weight:600;letter-spacing:-.2px;line-height:var(--leading-title);margin-top:var(--space-5)}.onboard-sub{color:var(--color-text-muted);display:block;font-size:var(--text-sm);line-height:var(--leading-sm);margin-top:var(--space-1)}.option-grid{display:grid;gap:var(--space-2);grid-template-columns:1fr 1fr;margin-top:var(--space-5)}.option{-ms-flex-pack:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-md);-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:2px;-webkit-justify-content:center;justify-content:center;min-height:62px;padding:var(--space-3) var(--space-4);position:relative;-webkit-transition:border-color var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out);transition:border-color var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out)}.option .em{display:none}.option-name{color:var(--color-text);font-size:var(--text-body);font-weight:500;line-height:20px}.option-en{color:var(--color-text-subtle);font-family:var(--font-en);font-size:10px;font-weight:500;letter-spacing:var(--tracking-en);line-height:14px}.option.sel{background:var(--color-primary-tint);border-color:var(--color-primary);-webkit-box-shadow:inset 0 0 0 1px var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary);padding-right:var(--space-7)}.option + .option{margin-top:var(--space-2)}.summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-lg);-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-top:var(--space-5);padding:var(--space-3) var(--space-4) var(--space-1)}.option.sel .option-name{color:var(--color-primary);font-weight:600}.option.sel .option-en{color:var(--color-primary)}.option.sel::after{background:var(--color-primary);border-radius:var(--r-pill);content:"";height:18px;position:absolute;right:var(--space-2);top:var(--space-2);width:18px}.option.sel::before{border-bottom:2px solid var(--color-text-inverse);border-left:2px solid var(--color-text-inverse);content:"";height:4px;position:absolute;right:12px;top:13px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);width:8px;z-index:1}.option:active{background:var(--color-surface-2)}.onboard-foot{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:none;-ms-flex:none;flex:none;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--space-2);margin-top:auto;padding-top:var(--space-5)}.rec-body{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-height:100vh;padding:var(--space-3) var(--gutter) var(--space-4)}.rec-head{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:none;-ms-flex:none;flex:none;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.rec-tags{-ms-flex-align:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--space-2);margin:0}.sen-hint{color:var(--color-text-subtle);display:block;font-size:var(--text-caption);line-height:var(--leading-caption)}.dialogue-foot{-ms-flex-align:baseline;-webkit-align-items:baseline;align-items:baseline;border-top:1px solid var(--color-border-soft);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-column-gap:var(--space-2);-moz-column-gap:var(--space-2);column-gap:var(--space-2);display:grid;grid-template-columns:minmax(0,1fr) auto;margin:0 0 -14px;padding:10px 0 0}.dialogue-foot__hint{color:var(--color-text-subtle);font-size:var(--text-caption);line-height:var(--leading-caption);min-width:0;text-align:center}.dialogue-foot__time{color:var(--color-text-subtle);font-family:var(--font-en);font-size:var(--text-micro);font-variant-numeric:tabular-nums;justify-self:end;line-height:var(--leading-micro);white-space:nowrap}.rec-body .btn-secondary{margin-top:var(--space-3)}.dialogue-card{background:var(--color-surface);border-radius:var(--r-lg);-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:15px;padding:0 var(--card-pad)}.rec-body .dialogue-card{margin-left:calc(var(--space-2) - var(--gutter));margin-right:calc(var(--space-2) - var(--gutter))}.dialogue-head{-ms-flex-align:start;-ms-flex-pack:justify;-webkit-align-items:flex-start;align-items:flex-start;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-2);-webkit-justify-content:space-between;justify-content:space-between}.dialogue-head__main{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--space-1);min-width:0}.dialogue-refresh{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;border-radius:var(--r-md);color:var(--color-text-subtle);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:none;-ms-flex:none;flex:none;height:var(--touch);-webkit-justify-content:center;justify-content:center;margin:-10px -8px 0 0;-webkit-transition:color var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out);transition:color var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out);width:var(--touch)}.dialogue-refresh:active{background:var(--color-primary-tint);color:var(--color-primary)}.dialogue-refresh.is-busy{color:var(--color-primary);pointer-events:none}.dialogue-refresh.is-busy svg{-webkit-animation:spin .9s linear infinite;animation:spin .9s linear infinite}@-webkit-keyframes spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.dialogue-scene{color:var(--color-text-subtle);display:block;font-family:var(--font-en);font-size:12px;font-weight:500;letter-spacing:var(--tracking-en);line-height:14px;text-transform:uppercase}.dialogue-title{color:var(--color-text);display:block;font-size:16px;font-weight:600;line-height:22px}.dialogue-turns{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:10px}.msg{-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start;display:-webkit-flex;display:-ms-flexbox;display:flex}.msg--out{-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.msg-main{-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:6px;min-width:0;width:100%}.msg--out .msg-main{-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end}.msg-name{color:var(--color-text-subtle);font-size:var(--text-micro);line-height:var(--leading-micro)}.bubble{--bubble-bg:var(--color-surface-2);--bubble-line:var(--color-border);--bubble-tail-w:5px;--bubble-tail-h:10px;background:var(--bubble-bg);border:1px solid var(--bubble-line);border-radius:var(--r-lg);-webkit-box-sizing:border-box;box-sizing:border-box;max-width:100%;padding:7px 11px;position:relative;width:100%}.msg--out .bubble{--bubble-bg:var(--color-primary-tint);--bubble-line:var(--color-primary-tint)}.bubble::after,.bubble::before{border-color:transparent;border-style:solid;content:"";height:0;pointer-events:none;position:absolute;width:0}.bubble::before{border-bottom-color:var(--bubble-line);border-width:0 calc(var(--bubble-tail-h)/2) var(--bubble-tail-w) calc(var(--bubble-tail-h)/2);left:var(--r-lg);top:calc(-1px - var(--bubble-tail-w))}.bubble::after{border-bottom-color:var(--bubble-bg);border-width:0 calc(var(--bubble-tail-h)/2 - 1px) calc(var(--bubble-tail-w) - 1px) calc(var(--bubble-tail-h)/2 - 1px);left:calc(var(--r-lg) + 1px);top:calc(1px - var(--bubble-tail-w))}.msg--out .bubble::before{left:auto;right:var(--r-lg)}.msg--out .bubble::after{left:auto;right:calc(var(--r-lg) + 1px)}.msg-en{color:#000;display:block;font-family:var(--font-en);font-size:var(--text-body);font-weight:400;line-height:18px;word-break:break-word}.msg-en.tappable{-ms-flex-align:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:0;margin-left:-2px}.msg-cn{color:var(--color-text-muted);display:block;font-size:var(--text-caption);line-height:var(--leading-caption);margin-top:3px}.tap-word{-ms-flex-align:center;-webkit-align-items:center;align-items:center;border-radius:var(--r-xs);display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;min-height:18px;padding:1px 2px;-webkit-transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.tap-word:active{background:var(--color-surface-3)}.tap-word.selected{background:var(--color-accent-tint);color:var(--color-accent-strong);font-weight:500}.mark-bar{-ms-flex-align:center;-webkit-align-items:center;align-items:center;background:var(--color-surface);border-top:1px solid var(--color-divider-strong);bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + 1px);-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-2);left:0;margin:0 auto;max-width:480px;min-height:var(--mark-bar-h);padding:var(--space-2) var(--gutter);position:fixed;right:0;z-index:30}.mark-bar-text{color:var(--color-text);-webkit-flex:1;-ms-flex:1;flex:1;font-size:var(--text-sm);font-weight:500;line-height:var(--leading-sm);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mark-bar-clear{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;color:var(--color-text-subtle);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:none;-ms-flex:none;flex:none;font-size:var(--text-sm);-webkit-justify-content:center;justify-content:center;min-height:var(--touch);min-width:var(--touch);padding:0 var(--space-2)}.mark-bar-btn{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;background:var(--color-primary);border-radius:var(--r-sm);color:var(--color-text-inverse);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:none;-ms-flex:none;flex:none;font-size:var(--text-sm);font-weight:500;-webkit-justify-content:center;justify-content:center;min-height:var(--touch);min-width:var(--touch);padding:0 var(--space-3)}.mark-bar-btn:active{background:var(--color-primary-press)}.mark-bar-btn.is-pending{opacity:.6;pointer-events:none}.dialogue-keys{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:0;padding-top:10px}.keys-title{color:var(--color-text);display:block;font-size:var(--text-caption);font-weight:600;letter-spacing:var(--tracking-label);line-height:var(--leading-caption)}.key{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--space-1);min-width:0;padding-top:10px}.keys-list > .key:first-child{padding-top:6px}.key-head{-ms-flex-align:baseline;-webkit-align-items:baseline;align-items:baseline;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--space-1) var(--space-2);min-width:0}.key-en{color:var(--color-text);font-family:var(--font-en);font-size:var(--text-lead);font-weight:600;line-height:var(--leading-lead);word-break:break-word}.key-phon{color:var(--color-text-muted);font-family:var(--font-en);font-size:var(--text-caption);font-weight:400;line-height:var(--leading-caption);word-break:break-word}.key-cn{color:var(--color-text-muted);display:block;font-size:var(--text-caption);font-weight:500;line-height:var(--leading-caption)}.key-note-row{-ms-flex-align:baseline;-webkit-align-items:baseline;align-items:baseline;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-2)}.key-note-tag{color:var(--color-text-subtle);-webkit-flex:none;-ms-flex:none;flex:none;font-size:var(--text-micro);font-weight:500;line-height:var(--leading-micro)}.key-note{color:var(--color-text-subtle);-webkit-flex:1;-ms-flex:1;flex:1;font-size:var(--text-micro);line-height:var(--leading-micro);min-width:0}.detail-page{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-height:100vh;padding:var(--space-3) var(--gutter) 0}.detail-body{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--space-3);padding:var(--space-3) 0 var(--space-5)}.sentence-card{background:none;border-radius:0;border-top:1px solid var(--color-border-soft);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:3px;padding:var(--space-3) 0 0;position:relative}.sentence-card:first-child{border-top:none;padding-top:0}.speaker-row{-ms-flex-align:center;-ms-flex-pack:justify;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-2);-webkit-justify-content:space-between;justify-content:space-between;margin-bottom:1px}.sentence-card .spk{color:var(--color-text-subtle);display:block;font-family:var(--font-en);font-size:10px;font-weight:500;letter-spacing:.5px;line-height:14px;text-transform:uppercase}.sentence-card .en{color:var(--color-text);display:block;font-family:var(--font-en);font-size:var(--text-body);line-height:22px}.sentence-card .cn{color:var(--color-text-muted);display:block;font-size:var(--text-caption);line-height:var(--leading-caption)}.detail-foot{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;border-top:1px solid var(--color-border);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:none;-ms-flex:none;flex:none;-webkit-justify-content:center;justify-content:center;margin-top:auto;padding:var(--space-3) 0 calc(var(--space-3) + env(safe-area-inset-bottom))}.detail-foot .btn-primary{max-width:260px}.play,.star{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;border-radius:var(--r-md);color:var(--color-accent);display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;height:var(--touch);-webkit-justify-content:center;justify-content:center;margin:calc(var(--space-2)*-1) calc(var(--space-2)*-1) calc(var(--space-2)*-1) 0;width:var(--touch)}.star.off{color:var(--color-text-placeholder)}.play:active,.star:active{background:var(--color-surface-3)}.learn-body{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-height:100vh;padding:var(--space-3) var(--gutter) var(--space-4)}.learn-top{-ms-flex-align:center;-ms-flex-pack:justify;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:none;-ms-flex:none;flex:none;gap:var(--space-3);-webkit-justify-content:space-between;justify-content:space-between}.learn-top .t{color:var(--color-text);font-size:var(--text-title);font-weight:600;letter-spacing:-.2px;line-height:var(--leading-title)}.learn-top .count{color:var(--color-text-subtle);font-family:var(--font-en);font-size:var(--text-caption);font-variant-numeric:tabular-nums;line-height:var(--leading-caption)}.learn-item-card{background:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--r-xl);-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-4)}.li-top{-ms-flex-align:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-2);margin:-14px -10px -14px 0;min-height:var(--touch)}.li-scene{color:var(--color-text-on-brand-muted);font-size:var(--text-micro);line-height:var(--leading-micro);min-width:0}.li-refresh{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;border-radius:var(--r-md);color:var(--color-text-on-brand-muted);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:none;-ms-flex:none;flex:none;height:var(--touch);-webkit-justify-content:center;justify-content:center;margin-left:auto;-webkit-transition:color var(--dur) var(--ease-out);transition:color var(--dur) var(--ease-out);width:var(--touch)}.li-refresh.is-busy,.li-refresh:active{color:var(--color-text-inverse)}.li-refresh.is-busy{pointer-events:none}.li-refresh.is-busy svg{-webkit-animation:spin .9s linear infinite;animation:spin .9s linear infinite}.li-head{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:2px}.li-text{color:var(--color-text-inverse);display:block;font-family:var(--font-en);font-size:var(--text-word);font-weight:600;letter-spacing:-.4px;line-height:var(--leading-word);word-break:break-word}.li-phon{color:var(--color-text-on-brand-muted);display:block;font-family:var(--font-en);font-size:var(--text-caption);font-weight:400;letter-spacing:0;line-height:var(--leading-caption);word-break:break-word}.li-mean{color:var(--color-text-on-brand-muted);display:block;font-size:var(--text-sm);line-height:var(--leading-sm)}.learn-body .section-label{margin-top:14px}.learn-body .dialogue-card{margin-top:var(--space-2)}.learn-body .sen-hint{margin-top:var(--space-2)}.wordlib-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-lg);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-top:var(--space-2);overflow:hidden}.wordlib-item{-ms-flex-align:center;-ms-flex-pack:justify;-webkit-align-items:center;align-items:center;border-top:1px solid var(--color-border-soft);-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-3);-webkit-justify-content:space-between;justify-content:space-between;padding:var(--space-3) var(--space-4)}.wordlib-item:first-child{border-top:none}.lib-head{-ms-flex-align:center;-webkit-align-items:center;align-items:center;border-top:1px solid var(--color-border-soft);display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-2);padding:12px var(--space-4) 2px}.lib-head:first-child{border-top:none}.lib-head__k{color:var(--color-text-muted);-webkit-flex:none;-ms-flex:none;flex:none;font-size:var(--text-micro);font-weight:600;letter-spacing:.08em;line-height:var(--leading-micro)}.lib-head__rule{background:var(--color-border-soft);-webkit-flex:1;-ms-flex:1;flex:1;height:1px}.lib-head + .wordlib-item{border-top:none}.wordlib-info{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:2px;min-width:0}.wordlib-row{-ms-flex-align:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-2)}.wordlib-head{-ms-flex-align:baseline;-webkit-align-items:baseline;align-items:baseline;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:0 6px;min-width:0}.wordlib-phon{color:var(--color-text-subtle);font-family:var(--font-en);font-size:var(--text-caption);font-weight:400;letter-spacing:0;line-height:var(--leading-caption);word-break:break-word}.wordlib-info .w{color:var(--color-text);font-family:var(--font-en);font-size:var(--text-body);font-weight:600;line-height:22px;word-break:break-word}.wordlib-info .m{color:var(--color-text-muted);font-size:var(--text-caption);line-height:var(--leading-caption)}.wordlib-info .s{color:var(--color-text-subtle);font-size:var(--text-micro);line-height:var(--leading-micro)}.src-tag{-ms-flex-align:center;-webkit-align-items:center;align-items:center;border-radius:var(--r-sm);-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex:none;-ms-flex:none;flex:none;font-size:var(--text-micro);font-weight:500;height:24px;letter-spacing:var(--tracking-label);line-height:1;padding:0 var(--space-2);white-space:nowrap}.src-tag--personal{background:var(--color-primary-tint);color:var(--color-primary)}.src-tag--public{background:var(--color-surface);border:1px solid var(--color-border-strong);color:var(--color-text-muted)}.wordlib-act{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;color:var(--color-text-subtle);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:none;-ms-flex:none;flex:none;font-size:var(--text-micro);-webkit-justify-content:center;justify-content:center;line-height:1;min-height:var(--touch);padding:0 var(--space-2);white-space:nowrap}.wordlib-act:active{color:var(--color-danger)}.wordlib-act.is-add{color:var(--color-primary);font-weight:500}.wordlib-act.is-add:active{color:var(--color-primary-press)}.wordlib-act.is-done{color:var(--color-text-placeholder);gap:2px;pointer-events:none}.wordlib-note{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--r-lg);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--color-text-subtle);display:block;font-size:var(--text-caption);line-height:var(--leading-caption);margin-top:var(--space-2);padding:var(--space-3) var(--space-4)}.ind-bar{-webkit-overflow-scrolling:touch;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-2);margin-top:var(--space-3);-webkit-mask-image:-webkit-linear-gradient(left,#000,#000 calc(100% - 20px),transparent);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 20px),transparent);overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:2px;scrollbar-width:none}.ind-bar::-webkit-scrollbar{display:none}.ind-chip{-ms-flex-align:center;-webkit-align-items:center;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-pill);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--color-text-muted);display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex:none;-ms-flex:none;flex:none;font-size:var(--text-caption);gap:4px;height:34px;line-height:1;padding:0 12px;white-space:nowrap}.ind-chip.on{background:var(--color-primary-tint);border-color:var(--color-primary-tint);color:var(--color-primary);font-weight:600}.ind-chip__n{color:var(--color-text-subtle);font-size:var(--text-micro);font-variant-numeric:tabular-nums}.ind-chip.on .ind-chip__n{color:var(--color-primary)}.lib-tabs{-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end;border-bottom:1px solid var(--color-border-soft);display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-4);margin-top:var(--space-2)}.lib-tab{-ms-flex-align:baseline;-webkit-align-items:baseline;align-items:baseline;border-bottom:2px solid transparent;color:var(--color-text-subtle);cursor:pointer;display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:var(--text-caption);gap:4px;line-height:var(--leading-caption);margin-bottom:-1px;padding:6px 0 8px;-webkit-transition:color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out);transition:color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.lib-tab.on{border-bottom-color:var(--color-primary);color:var(--color-text)}.lib-tab__t{font-weight:500}.lib-tab.on .lib-tab__t{font-weight:600}.lib-tab__n{color:var(--color-text-subtle);font-size:var(--text-micro);font-variant-numeric:tabular-nums;line-height:1}.lib-tab.on .lib-tab__n{color:var(--color-text-muted)}.wordlib-merged{color:var(--color-text-subtle);display:block;font-size:var(--text-micro);font-variant-numeric:tabular-nums;line-height:var(--leading-micro);margin-top:var(--space-2)}.wordlib-why{color:var(--color-text-subtle);font-size:var(--text-micro);line-height:16px;margin-top:2px}.wordlib-off{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;border:1px dashed var(--color-border-strong);border-radius:var(--r-md);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--color-text-subtle);display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:var(--text-caption);-webkit-justify-content:center;justify-content:center;line-height:var(--leading-caption);margin-top:var(--space-4);min-height:var(--touch);padding:var(--space-2) var(--space-3);text-align:center}.mark-body{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-height:100vh;padding:var(--space-3) var(--gutter) var(--space-5)}.mark-types{background:var(--color-surface-3);border-radius:var(--r-md);display:-webkit-flex;display:-ms-flexbox;display:flex;gap:2px;margin-top:var(--space-4);padding:3px}.mark-type{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;background:none;border:none;border-radius:var(--r-sm);color:var(--color-text-muted);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;font-size:var(--text-caption);height:30px;-webkit-justify-content:center;justify-content:center;-webkit-transition:background-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out);transition:background-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}.mark-type.on{background:var(--color-surface);color:var(--color-text);font-weight:600}.mark-field{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.mark-field .label{color:var(--color-text-muted);font-size:var(--text-micro)}.input--select{-ms-flex-pack:justify;cursor:pointer;gap:var(--space-2);-webkit-justify-content:space-between;justify-content:space-between}.input--select.is-open{border-color:var(--color-primary);-webkit-box-shadow:inset 0 0 0 1px var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.input--select.is-open > .input__chev{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}.input--select > .input__value{color:var(--color-text-placeholder);-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:auto}.input--select.has-value > .input__value{color:var(--color-text)}.input--select > .input__chev{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;color:var(--color-text-subtle);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:none;-ms-flex:none;flex:none;height:14px;-webkit-justify-content:center;justify-content:center;padding:0;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);-webkit-transition:-webkit-transform var(--dur) var(--ease-out);transition:-webkit-transform var(--dur) var(--ease-out);transition:transform var(--dur) var(--ease-out);transition:transform var(--dur) var(--ease-out),-webkit-transform var(--dur) var(--ease-out);width:14px}.mark-select{position:relative}.select-mask{background:transparent;inset:0;position:fixed;z-index:49}.select-menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-md);-webkit-box-shadow:var(--shadow-float);box-shadow:var(--shadow-float);-webkit-box-sizing:border-box;box-sizing:border-box;left:0;max-height:50vh;overflow-y:auto;padding:var(--space-1);position:absolute;right:0;top:calc(100% + var(--space-1));z-index:50}.select-opt{-ms-flex-align:center;-ms-flex-pack:justify;-webkit-align-items:center;align-items:center;border-radius:var(--r-sm);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--color-text);display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-2);-webkit-justify-content:space-between;justify-content:space-between;min-height:var(--touch);padding:0 var(--space-3)}.select-opt__t{font-size:var(--text-body);line-height:var(--leading-body)}.select-opt.on{background:var(--color-primary-tint);color:var(--color-primary)}.select-opt.on .select-opt__t{font-weight:600}.mark-hint{color:var(--color-text-subtle);font-size:var(--text-micro);line-height:var(--leading-micro)}.me-body{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-height:100vh;padding:var(--space-3) var(--gutter) var(--space-4)}.me-user{-ms-flex-align:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:none;-ms-flex:none;flex:none;gap:var(--space-3)}.me-avatar{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;background:var(--color-primary-tint);border-radius:var(--r-pill);color:var(--color-primary);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:none;-ms-flex:none;flex:none;height:48px;-webkit-justify-content:center;justify-content:center;width:48px}.me-info{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--space-1);min-width:0}.me-user .name{color:var(--color-text);display:block;font-size:19px;font-weight:600;letter-spacing:-.2px;line-height:26px}.me-user .corp{color:var(--color-text-subtle);display:block;font-size:var(--text-micro);line-height:var(--leading-micro)}.me-user .corp--act{cursor:pointer}.me-user .corp--act:active{opacity:.55}.me-profile{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-lg);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-top:var(--space-5);padding:var(--space-3) var(--space-4) var(--space-1)}.me-profile .head{-ms-flex-align:center;-ms-flex-pack:justify;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-2);-webkit-justify-content:space-between;justify-content:space-between;padding-bottom:var(--space-2)}.me-profile .head .t{color:var(--color-text-subtle);font-size:var(--text-micro);font-weight:500;letter-spacing:var(--tracking-label);line-height:var(--leading-micro)}.me-profile .head .edit{-ms-flex-align:center;-webkit-align-items:center;align-items:center;color:var(--color-primary);display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:var(--text-micro);font-weight:500;min-height:var(--touch)}.summary-row{-ms-flex-align:center;-ms-flex-pack:justify;-webkit-align-items:center;align-items:center;border-top:1px solid var(--color-border-soft);display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-3);-webkit-justify-content:space-between;justify-content:space-between;min-height:42px}.summary-row:first-of-type{border-top:none}.summary-row .k{color:var(--color-text-muted);font-size:var(--text-caption);line-height:var(--leading-caption)}.summary-row .v{color:var(--color-text);font-size:var(--text-caption);font-weight:500;line-height:var(--leading-caption);max-width:62%;text-align:right;word-break:break-word}.me-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-lg);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-top:var(--space-3);overflow:hidden}.me-item{-ms-flex-align:center;-webkit-align-items:center;align-items:center;border-top:1px solid var(--color-border-soft);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--color-text);display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:var(--text-body);gap:var(--space-3);min-height:46px;padding:var(--space-2) var(--space-4);-webkit-transition:background-color var(--dur) var(--ease-out);transition:background-color var(--dur) var(--ease-out)}.me-item:first-child{border-top:none}.me-item:active{background:var(--color-surface-2)}.me-item .ico{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;color:var(--color-text);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:none;-ms-flex:none;flex:none;-webkit-justify-content:center;justify-content:center;width:18px}.me-item .cnt{-ms-flex-align:center;-webkit-align-items:center;align-items:center;color:var(--color-text-placeholder);display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:var(--text-caption);gap:var(--space-2);margin-left:auto}@media (max-width:359px){:root{--gutter:16px;--text-title:20px;--leading-title:28px;--text-word:24px;--leading-word:30px}.msg-main{width:100%}.bubble{padding:7px 10px}}@media (min-width:768px){#app,.taro-tabbar__container,.taro-tabbar__tabbar{max-width:420px}#app{border-left:1px solid var(--color-border);border-right:1px solid var(--color-border)}.mark-bar{max-width:420px}}@media (min-width:768px) and (hover:hover){.btn-primary:hover{background:var(--color-primary-press)}.btn-ghost:hover,.btn-secondary:hover{border-color:var(--color-text-placeholder)}.option:hover{border-color:var(--color-border-strong)}.list__row:hover,.me-item:hover{background:var(--color-surface-2)}}.learn-body.page--tab,.rec-body.page--tab{padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + var(--space-4) + 10px)}.me-body.page--tab{padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + var(--space-4))}body[data-mark-bar] .learn-body.page--tab,body[data-mark-bar] .rec-body.page--tab{padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + var(--mark-bar-h) + var(--space-4) + 10px)}body[data-mark-bar] .me-body.page--tab,body[data-mark-bar] .page--tab{padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + var(--mark-bar-h) + var(--space-4))}.sr-only{clip:rect(0 0 0 0);border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.btn-ghost:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-text:focus-visible,.dialogue-refresh:focus-visible,.icon-btn:focus-visible,.mark-bar-btn:focus-visible,.mark-bar-clear:focus-visible,.me-item:focus-visible,.option:focus-visible,.seg__item:focus-visible,.tap-word:focus-visible,.wordlib-act:focus-visible,.wordlib-off:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,*::after,*::before{-webkit-animation-duration:.01ms!important;animation-duration:.01ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important;-webkit-transition-duration:.01ms!important;transition-duration:.01ms!important}}body[data-phonetic=off] .key-phon,body[data-phonetic=off] .li-phon,body[data-phonetic=off] .wordlib-phon{display:none}body[data-text-size=lg]{--text-body:16px;--leading-body:26px}.stats-body{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-height:100vh;padding:var(--space-2) var(--gutter) var(--space-4)}.nav-action{-ms-flex-align:center;-ms-flex-pack:end;-webkit-align-items:center;align-items:center;color:var(--color-primary);display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:var(--text-micro);font-weight:500;-webkit-justify-content:flex-end;justify-content:flex-end;letter-spacing:var(--tracking-label);line-height:var(--leading-micro);min-height:var(--touch);padding:0 var(--space-1) 0 var(--space-3);-webkit-transition:color var(--dur) var(--ease-out),opacity var(--dur) var(--ease-out);transition:color var(--dur) var(--ease-out),opacity var(--dur) var(--ease-out)}.nav-action:active{color:var(--color-primary-press)}.nav-action.is-busy{color:var(--color-text-subtle);opacity:.7;pointer-events:none}.stat-lead{-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-lg);-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-4);margin-top:var(--space-2);padding:var(--space-4)}.stat-lead__main{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--space-1);min-width:0}.stat-lead__num{-ms-flex-align:baseline;-webkit-align-items:baseline;align-items:baseline;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-1)}.stat-lead__big{color:var(--color-text);font-family:var(--font-en);font-size:var(--text-stat);font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-1.4px;line-height:var(--leading-stat)}.stat-lead__unit{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:500;line-height:1}.stat-lead__rank{-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end;border-left:1px solid var(--color-border);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:none;-ms-flex:none;flex:none;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:2px;padding-left:var(--space-4);text-align:right}.stat-lead__rankv{color:var(--color-text);font-size:var(--text-nav);font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.2px;line-height:var(--leading-nav)}.stat-lead__rankv.is-none{color:var(--color-text-muted);font-size:var(--text-body);font-weight:500;line-height:var(--leading-body)}.stat-note{color:var(--color-text-subtle);display:block;font-size:var(--text-micro);line-height:var(--leading-micro);margin-top:var(--space-2)}.stats-body .section-label{margin-top:14px}.stats-body .section-label + .card,.stats-body .section-label + .list,.stats-body .section-label + .stat-none{margin-top:var(--space-2)}.stat-today{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.goal{-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-3)}.goal + .goal{border-top:1px solid var(--color-border-soft);margin-top:10px;padding-top:10px}.goal__mark{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;border:1.5px solid var(--color-border-strong);border-radius:var(--r-sm);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--color-text-inverse);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:none;-ms-flex:none;flex:none;height:20px;-webkit-justify-content:center;justify-content:center;margin-top:2px;-webkit-transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out);transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out);width:20px}.goal__mark.on{background:var(--color-primary);border-color:var(--color-primary)}.goal__main{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:2px;min-width:0}.goal__t{color:var(--color-text);font-size:var(--text-body);font-weight:500;line-height:22px}.goal__d{color:var(--color-text-subtle);font-size:var(--text-micro);line-height:var(--leading-micro)}.goal__d--stages{word-break:keep-all}.goal__bar{background:var(--color-surface-3);border-radius:2px;height:3px;margin-top:6px;overflow:hidden}.goal__bar-fill{background:var(--color-primary);border-radius:2px;display:block;height:100%;-webkit-transition:width var(--dur) var(--ease-out);transition:width var(--dur) var(--ease-out)}.goal__prog{color:var(--color-text-subtle);font-family:var(--font-en);font-size:var(--text-micro);font-variant-numeric:tabular-nums;line-height:var(--leading-micro);margin-top:3px;word-break:keep-all}.goal__state{color:var(--color-text-muted);-webkit-flex:none;-ms-flex:none;flex:none;font-size:var(--text-caption);font-weight:500;line-height:var(--leading-caption);margin-top:2px}.goal__state.on{color:var(--color-primary);font-weight:600}.pts-row{-ms-flex-align:center;-webkit-align-items:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-3);min-height:46px;padding:6px var(--space-4)}.pts-row + .pts-row{border-top:1px solid var(--color-border-soft)}.pts-ico{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;background:var(--color-primary-tint-2);border-radius:var(--r-sm);color:var(--color-primary);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:none;-ms-flex:none;flex:none;height:28px;-webkit-justify-content:center;justify-content:center;width:28px}.pts-main{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:1px;min-width:0}.pts-t{color:var(--color-text);font-size:var(--text-body);font-weight:500;line-height:20px}.pts-d{color:var(--color-text-subtle);font-size:var(--text-micro);line-height:var(--leading-micro)}.pts-right{-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:none;-ms-flex:none;flex:none;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:1px}.pts-num{color:var(--color-primary);font-family:var(--font-en);font-size:var(--text-body);font-variant-numeric:tabular-nums;font-weight:600;line-height:20px}.pts-time{color:var(--color-text-subtle);font-family:var(--font-en);font-size:var(--text-micro);font-variant-numeric:tabular-nums;line-height:var(--leading-micro)}.stats-body .board-head{-ms-flex-align:center;-ms-flex-pack:justify;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-2);-webkit-justify-content:space-between;justify-content:space-between;margin-bottom:var(--space-2);margin-top:14px}.board-head .section-label{margin-top:0}.board-tabs{background:var(--color-surface-3);border-radius:var(--r-sm);display:-webkit-flex;display:-ms-flexbox;display:flex;gap:2px;padding:2px}.board-tab{-ms-flex-align:center;-webkit-align-items:center;align-items:center;border-radius:var(--r-sm);color:var(--color-text-muted);display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:var(--text-micro);height:22px;line-height:1;padding:0 6px}.board-tab.on{background:var(--color-surface);color:var(--color-text);font-weight:500}.lb__main{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:1px;min-width:0}.lb__main .lb__name{-webkit-flex:none;-ms-flex:none;flex:none}.lb__sub{color:var(--color-text-subtle);font-size:var(--text-micro);font-variant-numeric:tabular-nums;line-height:var(--leading-micro);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb{-ms-flex-align:center;-webkit-align-items:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-3);min-height:44px;padding:6px var(--space-4)}.lb + .lb{border-top:1px solid var(--color-border-soft)}.lb__rank{color:var(--color-text-subtle);-webkit-flex:none;-ms-flex:none;flex:none;font-family:var(--font-en);font-size:var(--text-caption);font-variant-numeric:tabular-nums;font-weight:500;line-height:var(--leading-caption);text-align:right;width:22px}.lb--first .lb__rank{color:var(--color-text);font-weight:700}.lb__name{color:var(--color-text);-webkit-flex:1;-ms-flex:1;flex:1;font-size:var(--text-body);line-height:20px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb.is-me{background:var(--color-primary-tint-2)}.lb.is-me .lb__name{font-weight:600}.lb__tag{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;background:var(--color-primary);border-radius:var(--r-xs);color:var(--color-text-inverse);display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex:none;-ms-flex:none;flex:none;font-size:9px;font-weight:600;height:16px;-webkit-justify-content:center;justify-content:center;line-height:1;width:16px}.lb__pts{-ms-flex-align:baseline;-ms-flex-pack:end;-webkit-align-items:baseline;align-items:baseline;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:none;-ms-flex:none;flex:none;gap:2px;-webkit-justify-content:flex-end;justify-content:flex-end;min-width:44px}.lb__num{color:var(--color-text);font-family:var(--font-en);font-size:var(--text-body);font-variant-numeric:tabular-nums;font-weight:600;line-height:20px}.lb__unit{color:var(--color-text-subtle);font-size:var(--text-micro);line-height:1}.stat-none{background:var(--color-surface-2);border-radius:var(--r-lg);-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:2px;padding:var(--space-3)}.stat-none__t{color:var(--color-text);font-size:var(--text-body);font-weight:500;line-height:20px}.stat-none__d{color:var(--color-text-muted);font-size:var(--text-micro);line-height:var(--leading-micro)}.set-body{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-height:100vh;padding:var(--space-2) var(--gutter) var(--space-5)}.set-body .section-label{margin-top:14px}.set-body .section-label + .set-foot,.set-body .section-label + .set-group{margin-top:var(--space-2)}.set-sec{-ms-flex-align:baseline;-ms-flex-pack:justify;-webkit-align-items:baseline;align-items:baseline;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-2);-webkit-justify-content:space-between;justify-content:space-between;margin-top:14px}.set-sec .section-label{margin-top:0}.set-saved{-webkit-animation:saved-in var(--dur) var(--ease-out);animation:saved-in var(--dur) var(--ease-out);color:var(--color-primary);-webkit-flex:none;-ms-flex:none;flex:none;font-size:var(--text-micro);font-weight:500;letter-spacing:var(--tracking-label);line-height:var(--leading-micro)}@-webkit-keyframes saved-in{from{opacity:0}to{opacity:1}}@keyframes saved-in{from{opacity:0}to{opacity:1}}.set-group{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-lg);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow:hidden}.set-row{-ms-flex-align:center;-webkit-align-items:center;align-items:center;border-top:1px solid var(--color-border-soft);-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-3);min-height:48px;padding:10px var(--space-4);-webkit-transition:background-color var(--dur) var(--ease-out);transition:background-color var(--dur) var(--ease-out)}.set-row:first-child{border-top:none}.set-row--act:active{background:var(--color-surface-2)}.set-row__main{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:1px;min-width:0}.set-row__t{color:var(--color-text);font-size:var(--text-body);line-height:20px}.set-row__d{color:var(--color-text-subtle);font-size:var(--text-micro);line-height:var(--leading-micro)}.set-row__v{color:var(--color-text-muted);-webkit-flex:none;-ms-flex:none;flex:none;font-family:var(--font-en);font-size:var(--text-sm);font-variant-numeric:tabular-nums;line-height:var(--leading-sm)}.set-row__chev{color:var(--color-text-placeholder);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:none;-ms-flex:none;flex:none;-webkit-transition:-webkit-transform var(--dur) var(--ease-out);transition:-webkit-transform var(--dur) var(--ease-out);transition:transform var(--dur) var(--ease-out);transition:transform var(--dur) var(--ease-out),-webkit-transform var(--dur) var(--ease-out)}.set-row__chev.open{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.set-row.is-disabled{background:var(--color-surface-2)}.set-row.is-disabled .set-row__t,.set-row.is-disabled .set-row__v{color:var(--color-text-placeholder)}.set-row.is-disabled .set-row__chev{opacity:.5}.set-row.is-disabled:active{background:var(--color-surface-2)}.set-sub{background:var(--color-surface-2);border-top:1px solid var(--color-border-soft);-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-4)}.sw{background:var(--switch-track-off);border-radius:var(--r-pill);-webkit-flex:none;-ms-flex:none;flex:none;height:26px;position:relative;-webkit-transition:background-color var(--dur) var(--ease-out);transition:background-color var(--dur) var(--ease-out);width:44px}.sw::after{background:var(--switch-knob);border-radius:var(--r-pill);content:"";height:20px;left:3px;position:absolute;top:3px;-webkit-transition:-webkit-transform var(--dur) var(--ease-out);transition:-webkit-transform var(--dur) var(--ease-out);transition:transform var(--dur) var(--ease-out);transition:transform var(--dur) var(--ease-out),-webkit-transform var(--dur) var(--ease-out);width:20px}.sw.on{background:var(--switch-track-on)}.sw.on::after{-webkit-transform:translateX(18px);-ms-transform:translateX(18px);transform:translateX(18px)}.set-times{display:grid;gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr))}.set-time{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--r-md);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--color-text);display:-webkit-flex;display:-ms-flexbox;display:flex;font-family:var(--font-en);font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:500;gap:var(--space-1);-webkit-justify-content:center;justify-content:center;line-height:1;min-height:var(--touch);-webkit-transition:border-color var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out);transition:border-color var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}.set-time.on{background:var(--color-primary-tint);border-color:var(--color-primary);-webkit-box-shadow:inset 0 0 0 1px var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary);color:var(--color-primary);font-weight:600}.set-time:active{background:var(--color-surface-3)}.set-time.on:active{background:var(--color-primary-tint)}.set-sizes{display:grid;gap:var(--space-2);grid-template-columns:1fr 1fr}.set-size{-ms-flex-pack:center;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--r-md);-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--space-1);-webkit-justify-content:center;justify-content:center;min-height:62px;padding:var(--space-2) var(--space-3);-webkit-transition:border-color var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out);transition:border-color var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out)}.set-size__sample{color:var(--color-text);display:block;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.set-size--std .set-size__sample{font-size:var(--text-preview-std)}.set-size--lg .set-size__sample{font-size:var(--text-preview-lg)}.set-size__foot{-ms-flex-align:center;-webkit-align-items:center;align-items:center;color:var(--color-text-subtle);display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-1)}.set-size__label{font-size:var(--text-micro);font-weight:500;letter-spacing:var(--tracking-label);line-height:var(--leading-micro)}.set-size.on{background:var(--color-primary-tint-2);border-color:var(--color-primary);-webkit-box-shadow:inset 0 0 0 1px var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.set-size.on .set-size__label{color:var(--color-primary)}.set-size.on .set-size__foot{color:var(--color-primary)}.set-size:active{background:var(--color-surface-2)}.set-size.on:active{background:var(--color-primary-tint)}.set-privacy{color:var(--color-text-muted);display:block;font-size:var(--text-caption);line-height:20px}.set-privacy + .set-privacy{margin-top:var(--space-2)}.set-foot{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.btn-danger-outline{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;background:var(--color-surface);border:1px solid var(--color-danger);border-radius:var(--r-md);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--color-danger);display:-webkit-flex;display:-ms-flexbox;display:flex;font-family:var(--font-sans);font-size:var(--text-body);font-weight:500;gap:var(--space-2);height:var(--btn-h);-webkit-justify-content:center;justify-content:center;letter-spacing:.2px;line-height:1;padding:0 var(--space-4);-webkit-transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),opacity var(--dur-fast) var(--ease-out),-webkit-transform var(--dur-fast) var(--ease-out);transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),opacity var(--dur-fast) var(--ease-out),-webkit-transform var(--dur-fast) var(--ease-out);transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),-webkit-transform var(--dur-fast) var(--ease-out);width:100%}.btn-danger-outline:not([disabled]),.btn-danger-outline[disabled=false]{color:var(--color-danger)}.btn-danger-outline:active{background:var(--color-accent-tint);-webkit-transform:translateY(1px);-ms-transform:translateY(1px);transform:translateY(1px)}.btn-danger-outline[disabled]:not([disabled=false]){background:var(--color-surface-2);border-color:var(--color-border-soft);color:var(--color-disabled-fg);-webkit-transform:none;-ms-transform:none;transform:none}.set-version{color:var(--color-text-subtle);display:block;font-size:var(--text-micro);line-height:var(--leading-micro);margin-top:var(--space-5);text-align:center}.confirm-mask{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;background:var(--color-scrim);display:-webkit-flex;display:-ms-flexbox;display:flex;inset:0;-webkit-justify-content:center;justify-content:center;padding:0 var(--space-6);position:fixed;z-index:60}.confirm{background:var(--color-surface);border-radius:var(--r-xl);-webkit-box-shadow:var(--shadow-float);box-shadow:var(--shadow-float);-webkit-box-sizing:border-box;box-sizing:border-box;max-width:300px;padding:var(--space-5);width:100%}.confirm__t{color:var(--color-text);display:block;font-size:var(--text-lead);font-weight:600;line-height:var(--leading-lead)}.confirm__d{color:var(--color-text-muted);display:block;font-size:var(--text-caption);line-height:20px;margin-top:var(--space-2)}.confirm__acts{-ms-flex-align:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-2);margin-top:var(--space-5)}.confirm__acts .btn-danger-outline,.confirm__acts .btn-primary,.confirm__acts .btn-secondary{-webkit-flex:1 1 0;-ms-flex:1 1 0px;flex:1 1 0;font-size:var(--text-sm);height:var(--touch);margin:0;min-width:0;padding:0 var(--space-2);white-space:nowrap;width:auto}.btn-danger-outline:focus-visible,.nav-action:focus-visible,.set-row--act:focus-visible,.set-row[role=switch]:focus-visible,.set-size:focus-visible,.set-time:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.set-group .set-row--act:focus-visible,.set-group .set-row[role=switch]:focus-visible{outline-offset:-2px}@media (min-width:768px) and (hover:hover){.set-row--act:hover{background:var(--color-surface-2)}.set-row.is-disabled:hover{background:var(--color-surface-2)}.set-time:hover{border-color:var(--color-text-placeholder)}.set-size:hover{border-color:var(--color-text-placeholder)}.btn-danger-outline:hover{background:var(--color-accent-tint)}.nav-action:hover{color:var(--color-primary-press)}}@media (max-width:359px){:root{--text-stat:38px;--leading-stat:40px}.stat-lead__rank{padding-left:var(--space-3)}.stat-lead__rankv{font-size:var(--text-lead);line-height:var(--leading-lead)}.lb__pts{min-width:38px}.set-times{grid-template-columns:repeat(2,minmax(0,1fr))}}.me-user--act{-webkit-box-sizing:border-box;box-sizing:border-box;padding:var(--space-1) 0;text-align:left;width:100%}.me-avatar{overflow:hidden}.me-avatar__img{display:block;height:100%;width:100%}.prof-edit{gap:var(--space-4)}.avatar-block{-ms-flex-align:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.avatar-big{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;background:var(--color-primary-tint);border:1px solid var(--color-border);border-radius:var(--r-pill);color:var(--color-primary);display:-webkit-flex;display:-ms-flexbox;display:flex;height:96px;-webkit-justify-content:center;justify-content:center;overflow:hidden;width:96px}.avatar-big__img{display:block;height:100%;width:100%}.avatar-big.is-busy{opacity:.6}.avatar-hint{color:var(--color-text-subtle);font-size:var(--text-micro);line-height:16px;max-width:264px;text-align:center}.avatar-acts{display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-2);margin-top:var(--space-1);width:100%}.avatar-act{-webkit-flex:1 1 0;-ms-flex:1 1 0px;flex:1 1 0;font-size:var(--text-sm);height:var(--touch);margin:0;min-width:0;padding:0 var(--space-2);width:auto}.avatar-reset{color:var(--color-text-muted);font-size:var(--text-caption);margin-top:var(--space-1);padding:var(--space-1) var(--space-2);text-decoration:underline;text-underline-offset:3px}.nick-card,.sign-card{-ms-flex-align:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--space-2);height:var(--ctrl-h);padding:0 var(--card-pad)}.nick-input,.sign-input{color:var(--color-text);-webkit-flex:1;-ms-flex:1;flex:1;font-size:var(--text-body);min-width:0}.nick-input taro-input-core,.sign-input taro-input-core{color:inherit;font:inherit}.nick-count,.sign-count{color:var(--color-text-subtle);-webkit-flex:none;-ms-flex:none;flex:none;font-size:var(--text-micro);font-variant-numeric:tabular-nums}.nick-help,.sign-help{color:var(--color-text-subtle);font-size:var(--text-caption);line-height:18px;margin-top:var(--space-2)}.nick-help.is-bad,.sign-help.is-bad{color:var(--color-danger)}.prof-save{margin-top:var(--space-5)}.taro_page{overscroll-behavior-y:contain}.pull{position:relative}.pull__head{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;color:var(--color-text-subtle);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:none;-ms-flex:none;flex:none;gap:var(--space-2);height:0;-webkit-justify-content:center;justify-content:center;overflow:hidden;-webkit-transition:height var(--dur) var(--ease-out);transition:height var(--dur) var(--ease-out)}.pull.is-dragging .pull__head{-webkit-transition:none;transition:none}.pull__spinner{border:1.6px solid var(--color-border-strong);border-radius:50%;border-top-color:var(--color-primary);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-flex:none;-ms-flex:none;flex:none;height:14px;-webkit-transition:-webkit-transform var(--dur) var(--ease-out);transition:-webkit-transform var(--dur) var(--ease-out);transition:transform var(--dur) var(--ease-out);transition:transform var(--dur) var(--ease-out),-webkit-transform var(--dur) var(--ease-out);width:14px}.pull__spinner.is-armed{border-color:var(--color-primary)}.pull__spinner.is-spinning{-webkit-animation:spin .9s linear infinite;animation:spin .9s linear infinite}.pull__label{font-size:var(--text-caption);font-variant-numeric:tabular-nums;line-height:var(--leading-caption)}