@layer reset, theme, layout, components, pages;
/* Keep document text live; cross-document snapshots can soften text during transitions. */
@view-transition { navigation: none; }
@layer reset {
 *,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}svg{width:24px;height:24px;flex-shrink:0}button svg{width:20px;height:20px}button:disabled{cursor:not-allowed;opacity:.5}img{max-width:100%}[hidden]{display:none!important}input,select{min-width:0}button{color:inherit}html{scroll-padding-top:140px}::selection{background:var(--accent-soft);color:var(--text)}
}
@layer theme {
 :root{--bg:#f5f6f8;--surface:#fff;--surface-2:#eef1f5;--text:#202734;--muted:#657084;--border:#dfe4ec;--accent:#375bdf;--accent-soft:#eaf0ff;--on-accent:#fff;--positive:#117853;--positive-soft:#e7f6ef;--danger:#c2384d;--danger-soft:#ffedf0;--radius:20px;--ease:cubic-bezier(.2,.75,.25,1);color-scheme:light}
 :root[data-theme=dark]{--bg:#11141b;--surface:#1b202a;--surface-2:#252c38;--text:#edf0f7;--muted:#a8b2c4;--border:#333d4d;--accent:#9bafff;--accent-soft:#293555;--on-accent:#151d33;--positive:#7edcba;--positive-soft:#203c35;--danger:#ff9baa;--danger-soft:#432a34;color-scheme:dark}
 body[data-page=price]{--accent:#137852;--accent-soft:#e4f4ec}body[data-page=news]{--accent:#a94d20;--accent-soft:#fff0e5}
 [data-theme=dark] body[data-page=price]{--accent:#7edcba;--accent-soft:#203c35}[data-theme=dark] body[data-page=news]{--accent:#ffb58e;--accent-soft:#493127}
 body{background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
 :focus-visible{outline:3px solid var(--accent);outline-offset:4px}h1,h2,h3{line-height:1.3}h1,.collection-heading h2{font-size:clamp(1.8rem,3vw,2.65rem);font-weight:750;letter-spacing:-.04em}h2{font-size:1.125rem;font-weight:700}h3{font-size:1rem}.muted{color:var(--muted)}.eyebrow{font-size:.75rem;letter-spacing:.15em;font-weight:700;color:var(--accent);text-transform:uppercase}.small{font-size:.875rem}.mono{font-family:Consolas,monospace}.accent{color:var(--accent)}
}
@layer layout {
 .site-header{border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:20}.topbar{max-width:1200px;margin:auto;height:80px;display:flex;align-items:center;gap:32px;padding:0 32px}.brand{display:flex;align-items:center;gap:12px;font-size:1rem;font-weight:750;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--text);color:var(--surface)}.brand-mark svg{width:21px;height:21px}.topbar nav{display:flex;align-items:center;gap:6px;margin:auto}.topbar nav a{padding:9px 16px;font-size:.875rem;color:var(--muted);border-radius:9px}.topbar nav a[aria-current],.topbar nav a:hover{background:var(--accent-soft);color:var(--accent)}
 .shell{max-width:1200px;margin:auto;padding:42px 32px 64px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px}.page-heading .eyebrow{margin-bottom:10px}.page-heading p:not(.eyebrow){color:var(--muted);margin-top:12px}.heading-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:var(--accent-soft);color:var(--accent)}.heading-icon svg{width:29px;height:29px}.workspace{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.9fr);gap:24px;align-items:start}.stack{display:grid;gap:20px;min-width:0}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:26px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.panel-title{display:flex;align-items:center;gap:10px}.section-index{font-size:.75rem;color:var(--muted);font-family:Consolas,monospace}.sticky-panel{position:sticky;top:104px}.row{display:flex;align-items:center;gap:12px}.spread{justify-content:space-between}.wrap{flex-wrap:wrap}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.divider{height:1px;background:var(--border);margin:22px 0}.footer{border-top:1px solid var(--border);margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.8125rem}.skip-link{position:fixed;left:16px;top:-70px;z-index:100;background:var(--surface);padding:12px;border:2px solid var(--accent);border-radius:10px}.skip-link:focus{top:10px}
 @media(max-width:760px){.topbar{height:auto;min-height:68px;flex-wrap:wrap;gap:8px 20px;padding:12px 20px}.brand{margin-right:auto}.topbar nav{order:3;width:100%;margin:0;justify-content:center;border-top:1px solid var(--border);padding-top:8px}.topbar nav a{flex:1;text-align:center;padding:7px}.shell{padding:28px 20px 40px}.page-heading{margin-bottom:24px}.page-heading p:not(.eyebrow){font-size:.875rem}.heading-icon{display:none}.workspace{grid-template-columns:1fr}.sticky-panel{position:static}.panel{padding:20px;--radius:16px}.footer{flex-direction:column}.grid-2{gap:12px}}
 @media(max-width:370px){.shell{padding-inline:14px}.topbar{padding-inline:14px}.brand{gap:8px}.brand-mark{width:32px;height:32px}.grid-3{gap:7px}}
}
@layer components {
 @media(max-width:760px){
  /* The mobile header stays in normal flow and scrolls with the document. */
  .site-header{position:static}
  html{scroll-padding-top:16px}
 }
 .theme-toggle{position:relative;width:44px;height:44px;flex-shrink:0;border:1px solid var(--border);border-radius:50%;background:var(--surface-2);color:var(--text);transition:background .2s,border-color .2s,transform .2s var(--ease)}
 .theme-toggle:hover{border-color:var(--accent);background:var(--accent-soft)}.theme-toggle:active{transform:scale(.92)}
 .theme-toggle>span{position:absolute;inset:0;display:grid;place-items:center;transition:opacity .3s var(--ease),transform .45s var(--ease)}.theme-toggle svg{width:21px;height:21px}
 .theme-sun{opacity:1;transform:rotate(0) scale(1)}.theme-moon{opacity:0;transform:rotate(-70deg) scale(.4)}
 [data-theme=dark] .theme-sun{opacity:0;transform:rotate(90deg) scale(.4)}[data-theme=dark] .theme-moon{opacity:1;transform:rotate(0) scale(1)}

 .btn{border:1px solid var(--border);background:var(--surface);border-radius:11px;padding:11px 17px;min-height:44px;font-size:.875rem;font-weight:650;display:inline-flex;justify-content:center;align-items:center;gap:8px;transition:background .18s,color .18s,transform .18s var(--ease),border-color .18s}.btn:hover{background:var(--surface-2);border-color:var(--muted)}.btn:active{transform:scale(.97)}.btn.primary{background:var(--accent);color:var(--on-accent);border-color:transparent}.btn.primary:hover{filter:brightness(1.08)}.btn.quiet{border-color:transparent;background:var(--surface-2)}.btn.danger{color:var(--danger);background:var(--danger-soft);border-color:transparent}.btn.full{width:100%}.btn.icon-only{width:44px;padding:8px}.field{display:grid;gap:7px;font-size:.875rem;color:var(--muted)}.field input,.field select,.field textarea{width:100%;padding:12px 13px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);min-height:48px;font-size:1rem;transition:border-color .18s,box-shadow .18s}.field input:focus,.field select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}.field input[aria-invalid=true]{border-color:var(--danger)}.field input::placeholder{color:var(--muted);opacity:.75}.hint{font-size:.8125rem;color:var(--muted);line-height:1.6}.notice{padding:12px 15px;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:.875rem}.notice.error{background:var(--danger-soft);color:var(--danger)}.badge{display:inline-flex;align-items:center;padding:4px 9px;background:var(--accent-soft);color:var(--accent);font-size:.75rem;border-radius:7px;font-weight:650}.pill{border:1px solid var(--border);background:var(--surface);padding:8px 14px;border-radius:9px;white-space:nowrap;min-height:44px;font-size:.875rem}.pill[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;z-index:100;background:var(--text);color:var(--surface);padding:13px 20px;border-radius:12px;max-width:min(90vw,560px);width:max-content;font-size:.875rem;transition:opacity .2s,transform .25s var(--ease);box-shadow:0 8px 30px #0002}.toast.visible{opacity:1;transform:translate(-50%,0)}
 dialog{color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:20px;width:min(440px,calc(100% - 32px));padding:26px;max-height:85dvh;overflow:auto}dialog::backdrop{background:#050c1b88;backdrop-filter:blur(5px)}dialog[open]{animation:enter .22s var(--ease)}dialog h2{margin-bottom:10px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.empty-state{text-align:center;padding:64px 22px;border:1px dashed var(--border);border-radius:18px;color:var(--muted)}.empty-state svg{width:38px;height:38px;margin-bottom:14px}.empty-state h3{color:var(--text);margin-bottom:8px}.empty-state p{font-size:.875rem}/* Never animate a whole reading surface: avoid text rasterization changes. */
.reveal{animation:none}@keyframes enter{from{opacity:0}to{opacity:1}}
 @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}::view-transition-group(*){animation:none!important}}
}
