:root{--bg-primary:#1a1a1a;--bg-secondary:#1e1e1e;--bg-tertiary:#161616;--bg-card:#1e1e1e;--text-primary:#fff;--text-secondary:#8a8a8e;--text-tertiary:#636366;--border-color:hsla(0,0%,100%,.1);--hairline:hsla(0,0%,100%,.1);--fill-1:hsla(0,0%,100%,.06);--fill-2:hsla(0,0%,100%,.1);--fill-3:hsla(0,0%,100%,.16);--scrim:rgba(0,0,0,.35);--glass-bg:rgba(28,28,30,.72);--glass-border:hsla(0,0%,100%,.12);--primary-color:#0a84ff;--primary-hover:#409cff;--primary-soft:rgba(10,132,255,.16);--on-primary:#fff;--error-color:#ff453a;--error-soft:rgba(255,69,58,.16);--success-color:#30d158;--success-soft:rgba(48,209,88,.16);--warning-color:#ff9f0a;--warning-soft:rgba(255,159,10,.16);--info-color:#64d2ff;--info-soft:rgba(100,210,255,.16);--sys-blue:#007aff;--sys-red:#ff3b30;--sys-green:#34c759;--sys-orange:#ff9500;--sys-indigo:#5856d6;--sys-yellow:#ffd60a;--sys-mint:#30d158;--sys-cyan:#64d2ff;--sys-pink:#ff2d55;--sys-purple:#bf5af2;--radius-xs:6px;--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-3xl:24px;--radius-pill:999px;--radius-round:50%;--space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:10px;--space-6:12px;--space-7:14px;--space-8:16px;--space-9:18px;--space-10:20px;--space-12:24px;--space-16:32px;--space-20:40px;--space-24:48px;--shadow-1:0 1px 3px rgba(0,0,0,.15);--shadow-2:0 4px 20px rgba(0,0,0,.15);--shadow-3:0 8px 40px rgba(0,0,0,.18);--shadow-4:0 20px 60px rgba(0,0,0,.3);--shadow-panel:0 12px 46px rgba(0,0,0,.2);--shadow-dropdown:0 14px 40px rgba(0,0,0,.16);--shadow-card-hover:0 8px 24px rgba(0,0,0,.1);--shadow-sidebar:0 2px 16px rgba(0,0,0,.08);--focus-ring:0 0 0 3px rgba(10,132,255,.35);--shadow-dark:rgba(0,0,0,.5);--shadow-light:hsla(0,0%,100%,.04);--neu-out:6px 6px 12px var(--shadow-dark),-6px -6px 12px var(--shadow-light);--neu-sm:3px 3px 6px var(--shadow-dark),-3px -3px 6px var(--shadow-light);--neu-hover:8px 8px 16px var(--shadow-dark),-8px -8px 16px var(--shadow-light);--neu-inset:inset 3px 3px 6px var(--shadow-dark),inset -3px -3px 6px var(--shadow-light);--blur-sm:10px;--blur-md:20px;--blur-lg:30px;--blur-xl:40px;--blur-enabled:1;--glass-saturate:180%;--font-sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Microsoft YaHei","Segoe UI",Roboto,sans-serif;--font-mono:"SF Mono",ui-monospace,"JetBrains Mono",Menlo,Consolas,monospace;--fs-xs:11px;--fs-sm:12px;--fs-base:13px;--fs-md:14px;--fs-lg:15px;--fs-xl:16px;--fs-title:18px;--fs-2xl:22px;--fs-3xl:28px;--fs-hero:36px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-heavy:800;--lh-tight:1.2;--lh-snug:1.4;--lh-normal:1.5;--lh-relaxed:1.6;--lh-loose:1.7;--ease-ios:cubic-bezier(.32,.72,0,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);--ease-out:cubic-bezier(.16,1,.3,1);--dur-fast:.15s;--dur-base:.2s;--dur-slow:.25s;--dur-slower:.3s;color-scheme:dark}[data-theme=light]{--bg-primary:#f5f5f7;--bg-secondary:#fff;--bg-tertiary:#fafbfc;--bg-card:#fff;--text-primary:#1d1d1f;--text-secondary:#6e6e73;--text-tertiary:#86868b;--border-color:rgba(0,0,0,.05);--hairline:rgba(0,0,0,.06);--fill-1:rgba(0,0,0,.04);--fill-2:rgba(0,0,0,.06);--fill-3:rgba(0,0,0,.1);--scrim:rgba(0,0,0,.35);--glass-bg:hsla(0,0%,100%,.95);--glass-border:hsla(0,0%,100%,.4);--primary-color:#007aff;--primary-hover:#006ee6;--primary-soft:rgba(0,122,255,.1);--error-color:#ff3b30;--error-soft:rgba(255,59,48,.1);--success-color:#34c759;--success-soft:rgba(52,199,89,.12);--warning-color:#ff9500;--warning-soft:rgba(255,149,0,.12);--info-color:#0a84ff;--info-soft:rgba(10,132,255,.1);--shadow-1:0 1px 3px rgba(0,0,0,.08);--shadow-2:0 4px 20px rgba(0,0,0,.08);--shadow-3:0 8px 40px rgba(0,0,0,.12);--shadow-4:0 20px 60px rgba(0,0,0,.16);--shadow-panel:0 12px 46px rgba(0,0,0,.1);--shadow-dropdown:0 14px 40px rgba(0,0,0,.12);--shadow-card-hover:0 8px 24px rgba(0,0,0,.1);--shadow-sidebar:0 2px 16px rgba(0,0,0,.08);--focus-ring:0 0 0 3px rgba(0,122,255,.18);--shadow-dark:rgba(0,0,0,.12);--shadow-light:hsla(0,0%,100%,.9);color-scheme:light}html.blur-disabled{--blur-enabled:0}html.no-transparency{--glass-bg:var(--bg-secondary);--scrim:rgba(0,0,0,.6)}*,:after,:before{box-sizing:border-box}body,html{height:100%}body{font-family:var(--font-sans);font-size:var(--fs-md);font-weight:var(--fw-regular);line-height:var(--lh-normal);color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body,figure,h1,h2,h3,h4,h5,h6,ol,p,ul{margin:0}ol,ul{padding:0;list-style:none}button{font:inherit;color:inherit}a{color:var(--primary-color);text-decoration:none;transition:color var(--dur-fast) ease}a:hover{color:var(--primary-hover)}img,svg{display:block;max-width:100%}code,kbd,pre{font-family:var(--font-mono)}button,input,select,textarea{font-family:inherit}::-moz-placeholder{color:var(--text-tertiary)}::placeholder{color:var(--text-tertiary)}::-moz-selection{background:var(--primary-soft);color:var(--text-primary)}::selection{background:var(--primary-soft);color:var(--text-primary)}:focus-visible{outline:none;box-shadow:var(--focus-ring)}*{scrollbar-width:thin;scrollbar-color:var(--fill-3) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--fill-3);border-radius:var(--radius-pill);border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary);background-clip:padding-box}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.glass{background:var(--glass-bg);backdrop-filter:blur(calc(var(--blur-md)*var(--blur-enabled))) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(calc(var(--blur-md)*var(--blur-enabled))) saturate(var(--glass-saturate));border:.5px solid var(--glass-border)}.hover-lift{transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.tnum{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.muted{color:var(--text-secondary)}.faint{color:var(--text-tertiary)}.primary-text{color:var(--primary-color)}.danger-text{color:var(--error-color)}.success-text{color:var(--success-color)}.t-xs{font-size:var(--fs-xs)}.t-sm{font-size:var(--fs-sm)}.t-base{font-size:var(--fs-base)}.t-md{font-size:var(--fs-md)}.t-lg{font-size:var(--fs-lg)}.t-xl{font-size:var(--fs-xl)}.t-title{font-size:var(--fs-title)}.t-2xl{font-size:var(--fs-2xl)}.t-3xl{font-size:var(--fs-3xl)}.fw-medium{font-weight:var(--fw-medium)}.fw-semibold{font-weight:var(--fw-semibold)}.fw-bold{font-weight:var(--fw-bold)}.stack{flex-direction:column}.row,.stack{display:flex;gap:var(--space-6)}.row{align-items:center}.row--wrap{flex-wrap:wrap}.row--start{align-items:flex-start}.between{justify-content:space-between;gap:var(--space-6)}.between,.center{display:flex;align-items:center}.center{justify-content:center}.grow{min-width:0}.grow,.spacer{flex:1}.wrap{flex-wrap:wrap}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.full{width:100%}.nowrap{white-space:nowrap}.grid{display:grid;gap:var(--space-8)}.grid--auto{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}@media(max-width:900px){.grid--3{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.grid--2,.grid--3{grid-template-columns:1fr}}.rail{display:flex;gap:var(--space-8);overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:var(--space-4);-ms-overflow-style:none;scrollbar-width:none}.rail::-webkit-scrollbar{display:none}.rail>*{flex:0 0 auto;scroll-snap-align:start}.show-mobile{display:none!important}@media(max-width:768px){.hide-mobile{display:none!important}.show-mobile{display:revert!important}}[hidden]{display:none!important}.app-shell{display:flex;height:100dvh;overflow:hidden;background:var(--bg-primary)}.app-main{display:flex;flex-direction:column;flex:1;min-width:0}.app-content{flex:1;overflow-y:auto;padding:var(--space-12) var(--space-16)}.app-content__inner{max-width:1080px;margin:0 auto}@media(max-width:768px){.app-content{padding:var(--space-8) var(--space-8) calc(72px + env(safe-area-inset-bottom,0px))}}.section{margin-bottom:var(--space-16)}.section:last-child{margin-bottom:0}.section__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-8)}.section__title{font-size:var(--fs-title);font-weight:var(--fw-bold);letter-spacing:-.01em;color:var(--text-primary)}.section__more{font-size:var(--fs-md);color:var(--primary-color);cursor:pointer}.section__more:hover{color:var(--primary-hover)}.page-head{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-16)}@media(min-width:640px){.page-head{flex-direction:row;align-items:center;justify-content:space-between}}.page-head__title{font-size:var(--fs-2xl);font-weight:var(--fw-bold);letter-spacing:-.02em}.page-head__desc{font-size:var(--fs-md);color:var(--text-secondary);margin-top:var(--space-2)}.page-head__actions{display:flex;align-items:center;gap:var(--space-6)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-4);height:36px;padding:0 var(--space-10);border:none;border-radius:var(--radius-md);background:var(--fill-2);color:var(--text-primary);font-size:var(--fs-md);font-weight:var(--fw-semibold);white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) ease,opacity var(--dur-fast) ease}.btn:hover{background:var(--fill-3)}.btn:active{transform:scale(.97)}.btn:disabled,.btn[aria-disabled=true]{opacity:.4;cursor:not-allowed;pointer-events:none}.btn--primary{background:var(--primary-color);color:var(--on-primary);box-shadow:var(--shadow-1)}.btn--primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-2)}.btn--primary:active{transform:translateY(0) scale(.98);box-shadow:none}.btn--ghost{color:var(--primary-color)}.btn--ghost,.btn--ghost:hover{background:var(--primary-soft)}.btn--ghost:hover{filter:brightness(1.08)}.btn--neutral{background:var(--fill-1);color:var(--text-primary)}.btn--neutral:hover{background:var(--fill-2);transform:translateY(-1px)}.btn--danger{background:var(--error-color);color:#fff;box-shadow:var(--shadow-1)}.btn--danger:hover{background:var(--error-color);filter:brightness(1.06);transform:translateY(-1px);box-shadow:var(--shadow-2)}.btn--danger-ghost{background:var(--error-soft);color:var(--error-color)}.btn--danger-ghost:hover{background:var(--error-soft);filter:brightness(1.08)}.btn--link{height:auto;padding:0;background:transparent;color:var(--primary-color);box-shadow:none}.btn--link:hover{background:transparent;color:var(--primary-hover);text-decoration:underline;text-underline-offset:2px;transform:none}.btn--icon-round{width:34px;height:34px;padding:0;border-radius:var(--radius-round);background:var(--fill-2)}.btn--icon-round:hover{background:var(--fill-3)}.btn--pill-lg{height:48px;padding:0 var(--space-16);border-radius:var(--radius-pill);font-size:var(--fs-lg)}.btn--glass{background:var(--glass-bg);backdrop-filter:blur(calc(var(--blur-sm)*var(--blur-enabled)));-webkit-backdrop-filter:blur(calc(var(--blur-sm)*var(--blur-enabled)));border:.5px solid var(--glass-border);color:var(--text-primary)}.btn--sm{height:30px;padding:0 var(--space-8);font-size:var(--fs-base);border-radius:var(--radius-sm)}.btn--lg{height:44px;padding:0 var(--space-12);font-size:var(--fs-lg)}.btn--block{display:flex;width:100%}.btn__dots{display:inline-flex;gap:3px}.btn__dots i{width:5px;height:5px;border-radius:50%;background:currentColor;animation:aqua-bounce 1s ease-in-out infinite both}.btn__dots i:first-child{animation-delay:-.32s}.btn__dots i:nth-child(2){animation-delay:-.16s}@keyframes aqua-bounce{0%,80%,to{transform:scale(.5);opacity:.5}40%{transform:scale(1);opacity:1}}.card{background:var(--bg-card);border:.5px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-2);padding:var(--space-12)}.card--pad-0{padding:0}.card--glass{background:var(--glass-bg);backdrop-filter:blur(calc(var(--blur-md)*var(--blur-enabled))) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(calc(var(--blur-md)*var(--blur-enabled))) saturate(var(--glass-saturate));border:.5px solid var(--glass-border);box-shadow:var(--shadow-panel)}.card--neu{background:var(--bg-secondary);border:none;box-shadow:var(--neu-out)}.card--flat{box-shadow:none}.card--hover{transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-base) ease}.card--hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover);border-color:var(--border-color)}.card--active{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color),var(--shadow-2)}.card--danger{border-color:var(--error-soft)}.card__title{font-size:var(--fs-lg);font-weight:var(--fw-bold);margin-bottom:var(--space-8)}.field{display:flex;flex-direction:column;gap:var(--space-3)}.field__label{font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--text-secondary)}.field__label .req{color:var(--error-color);margin-left:2px}.field__hint{font-size:var(--fs-sm);color:var(--text-tertiary)}.field__error{font-size:var(--fs-sm);color:var(--error-color)}.input,.select-native,.textarea{width:100%;padding:0 var(--space-8);height:40px;border:1px solid transparent;border-radius:var(--radius-md);background:var(--fill-1);color:var(--text-primary);font-size:var(--fs-md);transition:background var(--dur-fast) ease,border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.input:hover,.select-native:hover,.textarea:hover{background:var(--fill-2)}.input:focus,.select-native:focus,.textarea:focus{outline:none;background:var(--bg-secondary);border-color:var(--primary-color);box-shadow:var(--focus-ring)}.textarea{height:auto;min-height:96px;padding:var(--space-6) var(--space-8);line-height:var(--lh-normal);resize:vertical}.input--mono,.textarea--mono{font-family:var(--font-mono);font-size:var(--fs-base)}.input--error,.textarea--error{border-color:var(--error-color);background:var(--error-soft)}.input:disabled,.textarea:disabled{opacity:.55;cursor:not-allowed}.select-native{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:var(--space-16)}.checkbox,.radio{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:none;background:var(--fill-1);border:1.5px solid var(--border-color);transition:background var(--dur-fast) ease,border-color var(--dur-fast) ease}.checkbox{border-radius:var(--radius-xs)}.radio{border-radius:var(--radius-round)}.checkbox svg{width:12px;height:12px;color:#fff;opacity:0;transform:scale(.6);transition:opacity var(--dur-fast) ease,transform var(--dur-fast) var(--ease-spring)}.checkbox--on,input:checked+.checkbox{background:var(--primary-color);border-color:var(--primary-color)}.checkbox--on svg,input:checked+.checkbox svg{opacity:1;transform:scale(1)}.choice{display:flex;align-items:center;gap:var(--space-4);cursor:pointer;font-size:var(--fs-md);color:var(--text-secondary)}.choice:hover{color:var(--text-primary)}.option-card{display:flex;align-items:flex-start;gap:var(--space-6);padding:var(--space-8) var(--space-10);border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-secondary);cursor:pointer;transition:background var(--dur-fast) ease,border-color var(--dur-fast) ease,color var(--dur-fast) ease}.option-card:hover{background:var(--fill-1)}.option-card--on{background:var(--primary-soft);border-color:var(--primary-color);color:var(--primary-color)}.search{display:inline-flex;align-items:center;gap:var(--space-4);height:40px;padding:0 var(--space-6);border-radius:var(--radius-md);background:var(--fill-1);border:1px solid transparent;transition:background var(--dur-fast) ease,border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.search:focus-within{background:var(--bg-secondary);border-color:var(--primary-color);box-shadow:var(--focus-ring)}.search__icon{display:flex;color:var(--text-tertiary);flex:none}.search input{flex:1;min-width:0;color:var(--text-primary);font-size:var(--fs-md);outline:none}.search input,.search__clear{border:none;background:transparent}.search__clear{color:var(--text-tertiary);cursor:pointer;padding:2px;border-radius:var(--radius-round)}.search__clear:hover{color:var(--text-primary)}.search--lg{height:44px;border-radius:var(--radius-pill);padding:0 var(--space-10)}.menu{min-width:180px;padding:var(--space-3);border-radius:var(--radius-lg);background:var(--glass-bg);backdrop-filter:blur(calc(var(--blur-lg)*var(--blur-enabled))) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(calc(var(--blur-lg)*var(--blur-enabled))) saturate(var(--glass-saturate));border:.5px solid var(--glass-border);box-shadow:var(--shadow-dropdown)}.menu__item{display:flex;align-items:center;gap:var(--space-6);width:100%;padding:var(--space-5) var(--space-6);border:none;background:transparent;border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--fs-md);text-align:left;cursor:pointer;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.menu__item--active,.menu__item:hover{background:var(--primary-color);color:var(--on-primary)}.menu__item--danger{color:var(--error-color)}.menu__item--danger:hover{background:var(--error-color);color:#fff}.menu__sep{height:1px;margin:var(--space-3) 0;background:var(--hairline)}.modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-12);background:var(--scrim);backdrop-filter:blur(calc(8px*var(--blur-enabled)));-webkit-backdrop-filter:blur(calc(8px*var(--blur-enabled)))}.modal{width:min(440px,100vw - 48px);max-height:85vh;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-2xl);background:var(--glass-bg);backdrop-filter:blur(calc(var(--blur-lg)*var(--blur-enabled))) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(calc(var(--blur-lg)*var(--blur-enabled))) saturate(var(--glass-saturate));border:.5px solid var(--glass-border);box-shadow:var(--shadow-4)}.modal--sm{width:min(400px,100vw - 48px)}.modal--md{width:min(440px,100vw - 48px)}.modal--lg{width:min(560px,100vw - 48px)}.modal--xl{width:min(720px,100vw - 48px)}.modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding:var(--space-10) var(--space-12) var(--space-6)}.modal__title{font-size:var(--fs-title);font-weight:var(--fw-bold)}.modal__close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:var(--radius-round);background:var(--fill-2);color:var(--text-secondary);cursor:pointer;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.modal__close:hover{background:var(--fill-3);color:var(--text-primary)}.modal__body{padding:var(--space-6) var(--space-12);overflow-y:auto}.modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-6);padding:var(--space-6) var(--space-12) var(--space-12)}.slideover{display:flex;flex-direction:column;height:100%;width:min(440px,100vw);margin-left:auto;background:var(--bg-secondary);border-left:.5px solid var(--border-color);box-shadow:var(--shadow-4)}.slideover--lg{width:min(560px,100vw)}.slideover__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);height:60px;padding:0 var(--space-12);border-bottom:1px solid var(--hairline)}.slideover__body{flex:1;overflow-y:auto;padding:var(--space-12)}.slideover__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-6);padding:var(--space-8) var(--space-12);border-top:1px solid var(--hairline)}.sheet-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;background:var(--scrim)}.sheet{width:100%;max-height:85vh;overflow-y:auto;padding:var(--space-8) var(--space-8) calc(var(--space-12) + env(safe-area-inset-bottom,0px));border-radius:var(--radius-3xl) var(--radius-3xl) 0 0;background:var(--glass-bg);backdrop-filter:blur(calc(var(--blur-lg)*var(--blur-enabled))) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(calc(var(--blur-lg)*var(--blur-enabled))) saturate(var(--glass-saturate));border-top:.5px solid var(--glass-border);box-shadow:var(--shadow-4)}.sheet:before{content:"";display:block;width:40px;height:5px;margin:0 auto var(--space-8);border-radius:var(--radius-pill);background:var(--fill-3)}.sidebar{display:flex;flex-direction:column;width:248px;flex:none;margin:var(--space-8);padding:var(--space-8);border-radius:var(--radius-2xl);background:var(--glass-bg);backdrop-filter:blur(calc(var(--blur-md)*var(--blur-enabled))) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(calc(var(--blur-md)*var(--blur-enabled))) saturate(var(--glass-saturate));border:.5px solid var(--glass-border);box-shadow:var(--shadow-sidebar);overflow-y:auto}.sidebar__brand{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-4) var(--space-6) var(--space-10);font-size:var(--fs-title);font-weight:var(--fw-bold);letter-spacing:-.01em;color:var(--text-primary)}.sidebar__brand-mark{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);background:var(--primary-color);color:#fff;flex:none}.sidebar__section{display:flex;flex-direction:column;gap:2px}.sidebar__label{padding:var(--space-6) var(--space-6) var(--space-3);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}.sidebar__item{position:relative;display:flex;align-items:center;gap:var(--space-6);padding:var(--space-6) var(--space-6);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--fs-md);font-weight:var(--fw-medium);cursor:pointer;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.sidebar__item:hover{background:var(--fill-1);color:var(--text-primary)}.sidebar__item--on{background:var(--fill-2);color:var(--text-primary)}.sidebar__item--on:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:18px;border-radius:var(--radius-pill);background:var(--primary-color)}.sidebar__item--primary{background:var(--primary-color);color:var(--on-primary);justify-content:center}.sidebar__item--primary:hover{background:var(--primary-hover);color:var(--on-primary)}.sidebar__icon{display:flex;width:20px;height:20px;flex:none}.sidebar__icon svg{width:100%;height:100%}.sidebar__spacer{flex:1;min-height:var(--space-8)}.sidebar-backdrop{position:fixed;inset:0;z-index:60;background:var(--scrim);backdrop-filter:blur(calc(2px*var(--blur-enabled)));-webkit-backdrop-filter:blur(calc(2px*var(--blur-enabled)))}@media(min-width:769px){.sidebar-backdrop{display:none!important}}@media(max-width:768px){.sidebar{position:fixed;inset:0 auto 0 0;z-index:70;width:264px;margin:0;border-radius:0 var(--radius-2xl) var(--radius-2xl) 0;transform:translate(-100%);transition:transform var(--dur-slow) var(--ease-ios)}.sidebar.is-open{transform:translate(0)}}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);height:56px;padding:0 var(--space-12);border-bottom:1px solid var(--hairline);flex:none}.toolbar--glass{background:var(--glass-bg);backdrop-filter:blur(calc(var(--blur-md)*var(--blur-enabled))) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(calc(var(--blur-md)*var(--blur-enabled))) saturate(var(--glass-saturate))}.toolbar__group{display:flex;align-items:center;gap:var(--space-6);min-width:0}.toolbar__title{font-size:var(--fs-lg);font-weight:var(--fw-bold)}.toolbar__btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.toolbar__btn:hover{background:var(--fill-1);color:var(--text-primary)}.toolbar__btn--on{color:var(--primary-color)}.toolbar__btn--user{border-radius:var(--radius-round);overflow:hidden}.bottom-nav{position:fixed;inset:auto 0 0;z-index:50;display:none;align-items:stretch;height:calc(64px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0);background:var(--glass-bg);backdrop-filter:blur(calc(var(--blur-lg)*var(--blur-enabled))) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(calc(var(--blur-lg)*var(--blur-enabled))) saturate(var(--glass-saturate));border-top:.5px solid var(--glass-border)}.bottom-nav__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:1;color:var(--text-tertiary);font-size:var(--fs-xs);font-weight:var(--fw-medium);transition:color var(--dur-fast) ease}.bottom-nav__item--on{color:var(--primary-color)}.bottom-nav__icon{width:22px;height:22px}@media(max-width:768px){.bottom-nav{display:flex}}.badge{display:inline-flex;align-items:center;gap:var(--space-3);padding:2px var(--space-5);border-radius:var(--radius-pill);background:var(--fill-2);color:var(--text-secondary);font-size:var(--fs-sm);font-weight:var(--fw-medium);line-height:1.5}.badge--primary{background:var(--primary-soft);color:var(--primary-color)}.badge--success{background:var(--success-soft);color:var(--success-color)}.badge--danger{background:var(--error-soft);color:var(--error-color)}.badge--warning{background:var(--warning-soft);color:var(--warning-color)}.badge--info{background:var(--info-soft);color:var(--info-color)}.badge--score{background:var(--warning-soft);color:var(--warning-color);font-variant-numeric:tabular-nums}.badge--count{min-width:18px;height:18px;padding:0 5px;justify-content:center;background:var(--primary-color);color:#fff;font-size:var(--fs-xs)}.badge__dot{width:6px;height:6px;border-radius:var(--radius-round);background:currentColor}.badge__dot--pulse{animation:aqua-pulse 1.6s infinite}@keyframes aqua-pulse{0%,to{opacity:1}50%{opacity:.3}}.status-dot{width:9px;height:9px;border-radius:var(--radius-round);background:var(--success-color)}.status-dot--pulse{animation:aqua-pulse 1.6s infinite}.switch{position:relative;display:inline-flex;flex:none;width:44px;height:26px;cursor:pointer}.switch input{position:absolute;opacity:0;width:0;height:0}.switch__track{position:absolute;inset:0;border-radius:var(--radius-pill);background:var(--fill-3);transition:background var(--dur-base) var(--ease-ios)}.switch__track:after{content:"";position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:var(--radius-round);background:#fff;box-shadow:var(--shadow-1);transition:transform var(--dur-base) var(--ease-ios)}.switch input:checked+.switch__track{background:var(--primary-color)}.switch input:checked+.switch__track:after{transform:translate(18px)}.switch input:focus-visible+.switch__track{box-shadow:var(--focus-ring)}.switch--sm{width:40px;height:24px}.switch--sm .switch__track:after{width:20px;height:20px}.switch--sm input:checked+.switch__track:after{transform:translate(16px)}.chip{display:inline-flex;align-items:center;gap:var(--space-3);height:30px;padding:0 var(--space-8);border:none;border-radius:var(--radius-pill);background:var(--fill-2);color:var(--text-secondary);font-size:var(--fs-base);font-weight:var(--fw-medium);cursor:pointer;transition:background var(--dur-fast) ease,color var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.chip:hover{background:var(--fill-3);transform:translateY(-1px)}.chip--on{background:var(--primary-soft);color:var(--primary-color)}.chip__count{font-variant-numeric:tabular-nums;opacity:.7}.segmented{display:inline-flex;gap:2px;padding:3px;border-radius:var(--radius-md);background:var(--fill-1)}.segmented__btn{padding:var(--space-4) var(--space-10);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:var(--fs-md);font-weight:var(--fw-medium);cursor:pointer;transition:background var(--dur-fast) ease,color var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.segmented__btn--on,.segmented__btn:hover{color:var(--text-primary)}.segmented__btn--on{background:var(--bg-secondary);box-shadow:var(--shadow-1)}[data-theme=light] .segmented__btn--on{background:#fff}.skeleton{position:relative;overflow:hidden;background:var(--fill-1);border-radius:var(--radius-md)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--fill-2),transparent);animation:aqua-shimmer 1.4s infinite}@keyframes aqua-shimmer{to{transform:translate(100%)}}.skeleton__line{height:14px;border-radius:var(--radius-xs)}.skeleton__line--title{height:18px;width:60%}.skeleton__line--sub{height:12px;width:40%}.skeleton__block{width:100%;aspect-ratio:2/3;border-radius:var(--radius-lg)}.list{display:flex;flex-direction:column}.list-row{display:flex;align-items:center;gap:var(--space-8);width:100%;padding:var(--space-6);border:none;border-radius:var(--radius-md);background:transparent;color:inherit;text-align:left;cursor:pointer;transition:background var(--dur-fast) ease}.list-row:hover{background:var(--fill-1)}.list-row--active{color:var(--primary-color)}.list-row--disabled{opacity:.5;cursor:not-allowed}.list-row__index{width:24px;text-align:center;color:var(--text-tertiary);font-variant-numeric:tabular-nums;flex:none}.list-row__body{flex:1;min-width:0}.list-row__title{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.list-row__sub{font-size:var(--fs-sm);color:var(--text-secondary);margin-top:2px}.list-row__meta{color:var(--text-secondary);font-variant-numeric:tabular-nums;flex:none}.list-row__actions{display:flex;align-items:center;gap:var(--space-4);flex:none;opacity:0;transition:opacity var(--dur-fast) ease}.list-row:hover .list-row__actions{opacity:1}@media(hover:none),(pointer:coarse){.list-row__actions{opacity:1}}.alert{display:flex;gap:var(--space-6);padding:var(--space-8) var(--space-10);border-radius:var(--radius-md);font-size:var(--fs-md);line-height:var(--lh-normal);border:1px solid transparent;color:var(--text-primary)}.alert--info{background:var(--info-soft);border-color:color-mix(in srgb,var(--info-color) 28%,transparent)}.alert--success{background:var(--success-soft);border-color:color-mix(in srgb,var(--success-color) 28%,transparent)}.alert--warning{background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning-color) 28%,transparent)}.alert--danger{background:var(--error-soft);border-color:color-mix(in srgb,var(--error-color) 28%,transparent)}.alert__accent--info{color:var(--info-color)}.alert__accent--success{color:var(--success-color)}.alert__accent--warning{color:var(--warning-color)}.alert__accent--danger{color:var(--error-color)}.empty{flex-direction:column;text-align:center;padding:var(--space-24) var(--space-8)}.empty,.empty__icon{display:flex;align-items:center;justify-content:center}.empty__icon{width:64px;height:64px;margin-bottom:var(--space-8);border-radius:var(--radius-xl);background:var(--fill-1);color:var(--text-tertiary)}.empty__title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin-bottom:var(--space-3)}.empty__desc{font-size:var(--fs-md);color:var(--text-secondary);max-width:320px;margin-bottom:var(--space-10)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-round);background:var(--primary-soft);color:var(--primary-color);font-weight:var(--fw-semibold);-webkit-user-select:none;-moz-user-select:none;user-select:none;flex:none}.avatar--sm{width:32px;height:32px;font-size:var(--fs-sm)}.avatar--md{width:40px;height:40px;font-size:var(--fs-md)}.avatar--lg{width:48px;height:48px;font-size:var(--fs-lg)}.code-inline{font-size:.92em;padding:1px 6px;border-radius:var(--radius-xs);background:var(--fill-2);color:var(--text-primary)}.code-block,.code-inline{font-family:var(--font-mono)}.code-block{padding:var(--space-10) var(--space-12);border-radius:var(--radius-lg);background:#0c0d10;color:#e6e6e6;font-size:var(--fs-base);line-height:var(--lh-relaxed);overflow-x:auto}.code-block .tok-dim{color:#6b7280}.code-block .tok-key{color:#4ade80}.code-block--key{color:#4ade80;word-break:break-all}pre.code-block{white-space:pre}.stat__label{font-size:var(--fs-md);color:var(--text-secondary);margin-bottom:var(--space-4)}.stat__value{font-size:var(--fs-3xl);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.stat__hint{font-size:var(--fs-sm);color:var(--text-tertiary);margin-top:var(--space-4);transition:color var(--dur-fast) ease}.card--hover:hover .stat__hint,.step-num{color:var(--primary-color)}.step-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:none;border-radius:var(--radius-round);background:var(--primary-soft);font-size:var(--fs-sm);font-weight:var(--fw-bold)}.timeline{position:relative}.timeline__dot{width:12px;height:12px;border-radius:var(--radius-round);background:var(--primary-soft);border:2px solid var(--primary-color);flex:none}.toast-host{position:fixed;top:var(--space-8);right:var(--space-8);z-index:1100;flex-direction:column;pointer-events:none}.toast,.toast-host{display:flex;gap:var(--space-6)}.toast{align-items:center;min-width:280px;max-width:380px;padding:var(--space-8) var(--space-10);border-radius:var(--radius-lg);background:var(--glass-bg);backdrop-filter:blur(calc(var(--blur-lg)*var(--blur-enabled))) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(calc(var(--blur-lg)*var(--blur-enabled))) saturate(var(--glass-saturate));border:.5px solid var(--glass-border);box-shadow:var(--shadow-3);pointer-events:auto}.toast__icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-round);flex:none}.toast__icon--success{background:var(--success-soft);color:var(--success-color)}.toast__icon--error{background:var(--error-soft);color:var(--error-color)}.toast__icon--info{background:var(--info-soft);color:var(--info-color)}.toast__msg{flex:1;font-size:var(--fs-md);color:var(--text-primary)}.modal-overlay,.sheet-overlay{transition:opacity var(--dur-slow) var(--ease-ios)}.modal{transition:transform var(--dur-slow) var(--ease-spring),opacity var(--dur-slow) var(--ease-ios)}.sheet{transition:transform var(--dur-slow) var(--ease-ios)}.modal-overlay.is-entering,.modal-overlay.is-leaving{opacity:0}.modal-overlay.is-entering .modal,.modal-overlay.is-leaving .modal{transform:scale(.94);opacity:0}.sheet-overlay.is-entering,.sheet-overlay.is-leaving{opacity:0}.sheet-overlay.is-entering .sheet,.sheet-overlay.is-leaving .sheet{transform:translateY(100%)}.fade-enter-active,.fade-leave-active{transition:opacity var(--dur-slow) var(--ease-ios)}.fade-enter-from,.fade-leave-to{opacity:0}.scale-enter-active{transition:transform var(--dur-slow) var(--ease-spring),opacity var(--dur-slow) var(--ease-ios)}.scale-leave-active{transition:transform var(--dur-base) var(--ease-out),opacity var(--dur-base) var(--ease-out)}.scale-enter-from,.scale-leave-to{opacity:0;transform:scale(.94)}.slide-right-enter-active{transition:transform var(--dur-slow) var(--ease-ios)}.slide-right-leave-active{transition:transform var(--dur-base) var(--ease-out)}.slide-right-enter-from,.slide-right-leave-to{transform:translate(100%)}.slide-left-enter-active{transition:transform var(--dur-slow) var(--ease-ios)}.slide-left-leave-active{transition:transform var(--dur-base) var(--ease-out)}.slide-left-enter-from,.slide-left-leave-to{transform:translate(-100%)}.drop-enter-active{transition:transform var(--dur-base) var(--ease-ios),opacity var(--dur-base) var(--ease-ios)}.drop-leave-active{transition:transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.drop-enter-from,.drop-leave-to{opacity:0;transform:translateY(-6px) scale(.98)}.page-enter-active,.page-leave-active{transition:opacity var(--dur-base) ease,transform var(--dur-base) ease}.page-enter-from{opacity:0;transform:translateY(4px)}.page-leave-to{opacity:0;transform:translateY(-4px)}.toast-enter-active{transition:transform var(--dur-slow) var(--ease-spring),opacity var(--dur-slow) var(--ease-ios)}.toast-leave-active{transition:transform var(--dur-base) var(--ease-out),opacity var(--dur-base) var(--ease-out);position:absolute}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(16px) scale(.96)}.hl-fade{transition:opacity var(--dur-slow) var(--ease-ios)}.hl-fade-out{transition:opacity var(--dur-base) var(--ease-out)}.hl-hidden{opacity:0}.hl-shown{opacity:1}.hl-scale{transition:transform var(--dur-slow) var(--ease-spring),opacity var(--dur-slow) var(--ease-ios)}.hl-scale-out{transition:transform var(--dur-base) var(--ease-out),opacity var(--dur-base) var(--ease-out)}.hl-scale-hidden{opacity:0;transform:scale(.94)}.hl-scale-shown{opacity:1;transform:scale(1)}.hl-right{transition:transform var(--dur-slow) var(--ease-ios)}.hl-right-out{transition:transform var(--dur-base) var(--ease-out)}.hl-right-hidden{transform:translate(100%)}.hl-right-shown{transform:translate(0)}.hl-left{transition:transform var(--dur-slow) var(--ease-ios)}.hl-left-out{transition:transform var(--dur-base) var(--ease-out)}.hl-left-hidden{transform:translate(-100%)}.hl-left-shown{transform:translate(0)}.hl-drop{transition:transform var(--dur-base) var(--ease-ios),opacity var(--dur-base) var(--ease-ios);transform-origin:top}.hl-drop-out{transition:transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out);transform-origin:top}.hl-drop-hidden{opacity:0;transform:translateY(-6px) scale(.98)}.hl-drop-shown{opacity:1;transform:translateY(0) scale(1)}.pop{position:absolute;z-index:30}.pop--right{right:0}.pop--left{left:0}.pop--top-2{top:calc(100% + var(--space-4))}.relative{position:relative}.inline-block{display:inline-block}.error-shell[data-v-8525b8ea]{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-12);background:var(--bg-primary)}.error-card[data-v-8525b8ea]{max-width:460px;width:100%;text-align:center;padding:var(--space-20)}.error-code[data-v-8525b8ea]{font-size:64px;font-weight:var(--fw-heavy);color:var(--primary-color);letter-spacing:-.03em}.error-msg[data-v-8525b8ea]{margin:var(--space-4) 0 var(--space-12)}.error-foot[data-v-8525b8ea]{margin-top:var(--space-8)}
