@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/inter-400.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/inter-600.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/inter-700.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/inter-800.woff2) format("woff2")}
:root{
  --bg:#FFFFFF;--fg:#020817;--ink-2:#0F172A;--card:#FFFFFF;--muted-bg:#F1F5F9;--muted-fg:#5B6B82;
  --border:#E2E8F0;--border-strong:#CBD5E1;--blue:#2350F6;--blue-deep:#1D43D6;--accent:#1A8FE3;
  --green:#16A34A;--green-dark:#15803D;--radius:14px;--header-h:64px;
  --shadow-card:0 1px 2px rgba(2,8,23,.05),0 12px 32px -16px rgba(2,8,23,.14);
  --shadow-lift:0 2px 4px rgba(2,8,23,.05),0 24px 48px -20px rgba(2,8,23,.22);
  --mono:ui-monospace,"Cascadia Mono","SF Mono",Consolas,"Liberation Mono",monospace;
}
[data-theme="dark"]{
  --bg:#1F2A33;--fg:#EFEFEF;--ink-2:#EFEFEF;--card:#223544;--muted-bg:#223544;--muted-fg:#A9BCC9;
  --border:#31485C;--border-strong:#3E5A72;--blue-soft:rgba(84,119,248,.16);
  --shadow-card:0 1px 2px rgba(0,0,0,.3),0 12px 32px -16px rgba(0,0,0,.5);
  --shadow-lift:0 2px 4px rgba(0,0,0,.3),0 24px 48px -20px rgba(0,0,0,.6);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-padding-top:84px}
body{font-family:"Inter","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;background:var(--bg);color:var(--fg);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
.container{max-width:1216px;margin-inline:auto;padding-inline:32px}
a{color:var(--blue)}
:focus-visible{outline:3px solid rgba(26,143,227,.55);outline-offset:2px;border-radius:6px}
/* ---------- Site header (same chrome as the main site) ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;gap:28px;height:var(--header-h)}
.logo{display:flex;align-items:center;gap:9px;font-size:21px;font-weight:800;letter-spacing:-.02em;color:var(--fg);text-decoration:none}
.logo-mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#2350F6,#5477F8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800}
.logo em{font-style:normal;color:var(--blue)}
.main-nav{display:flex;gap:4px;margin-inline-start:6px}
.main-nav a{white-space:nowrap;color:var(--muted-fg);text-decoration:none;font-size:15px;font-weight:500;padding:8px 13px;border-radius:999px}
.main-nav a:hover{color:var(--fg);background:var(--muted-bg)}
.main-nav a.active{color:var(--blue);background:var(--muted-bg);font-weight:600}
.header-actions{margin-inline-start:auto;display:flex;align-items:center;gap:10px}
.theme-btn{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--muted-fg);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer}
.theme-btn svg{width:16px;height:16px}
.theme-btn .ic-moon{display:none}
[data-theme="dark"] .theme-btn .ic-sun{display:none}
[data-theme="dark"] .theme-btn .ic-moon{display:block}
.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700;border-radius:999px;cursor:pointer}
.btn-primary{background:linear-gradient(120deg,#2350F6,#5477F8);color:#fff}
.btn-sm{height:38px;padding:0 16px;font-size:14px}
.menu-btn{display:none;width:40px;height:40px;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--fg);align-items:center;justify-content:center;cursor:pointer}
.mobile-nav{display:none;border-top:1px solid var(--border);padding:10px 0 14px}
.mobile-nav.open{display:block}
.mobile-nav a{display:block;padding:10px 4px;color:var(--fg);text-decoration:none;font-weight:600;font-size:15.5px}
/* ---------- T1 Plain Page body ---------- */
.tp-wrap{max-width:680px;margin-inline:auto;padding-inline:24px}
.tp-main{padding:54px 0 4px}
.tp-crumb{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-fg)}
.tp-crumb a{color:var(--muted-fg);text-decoration:none}
.tp-crumb a:hover{color:var(--blue)}
.tp-h1{font-size:clamp(2rem,4vw + 1rem,3rem);line-height:1.1;font-weight:800;letter-spacing:-.02em;margin:16px 0 12px}
.tp-eff{color:var(--muted-fg);font-size:15px}
.tp-eff strong{color:var(--fg)}
.tp-band{border-bottom:1px solid var(--border);padding-bottom:34px}
.tp-article{counter-reset:tpsec;font-size:17px;line-height:1.65}
.tp-sec{counter-increment:tpsec;position:relative;margin-top:40px}
.tp-sec>h2{font-size:1.5rem;line-height:1.25;font-weight:800;letter-spacing:-.01em;margin-bottom:14px}
.tp-sec>h2::before{content:counter(tpsec,decimal-leading-zero);position:absolute;left:-58px;top:9px;font-family:var(--mono);font-size:12.5px;font-weight:400;letter-spacing:.08em;color:var(--blue)}
[data-theme="dark"] .tp-sec>h2::before{color:var(--muted-fg)}
.tp-sec p{margin-bottom:16px}
.tp-sec ul{list-style:none;margin-bottom:16px}
.tp-sec li{position:relative;padding-left:22px;margin-bottom:10px}
.tp-sec li::before{content:"";position:absolute;left:2px;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--blue)}
.tp-sec a{text-decoration:underline;text-underline-offset:2px}
.tp-short{background:var(--muted-bg);border:1px solid var(--border);border-radius:var(--radius);padding:28px 30px 14px;margin-top:36px}
.tp-lead{font-size:1.25rem;line-height:1.55;color:var(--muted-fg)}
.tp-close{margin-top:56px;border-top:1px solid var(--border);padding-top:28px;display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;justify-content:space-between}
.tp-cta{height:44px;padding:0 22px;font-size:15px}
.tp-sibs{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;font-size:14.5px}
.tp-sibs a{color:var(--muted-fg);text-decoration:none}
.tp-sibs a:hover{color:var(--blue)}
.tp-sibs a.current{color:var(--fg);font-weight:700}
.tp-sibs .sep{color:var(--border-strong)}
/* ---------- Site footer (same chrome as the main site) ---------- */
.site-footer{margin-top:64px;border-top:1px solid var(--border);overflow:hidden}
.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:32px;padding:44px 0 10px}
.footer-brand p{margin-top:12px;color:var(--muted-fg);font-size:14.5px;max-width:34ch}
.footer-col h4{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-fg);margin-bottom:12px}
.footer-col a{display:block;color:var(--fg);text-decoration:none;font-size:14.5px;padding:4px 0}
.footer-col a:hover{color:var(--blue)}
.footer-col .note{color:var(--muted-fg);font-size:13.5px;margin:6px 0 8px}
.footer-mail{display:inline-flex!important;align-items:center;gap:8px;font-weight:600}
.footer-mail svg{width:16px;height:16px}
.wordmark{text-align:center;font-size:150px;line-height:.78;font-weight:800;color:transparent;-webkit-text-stroke:2px var(--border-strong);height:86px;user-select:none;margin-top:16px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0 22px;font-size:13px;color:var(--muted-fg)}
.footer-bottom a{color:var(--muted-fg)}
/* ---------- Responsive ---------- */
@media (max-width:960px){
  .footer-top{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .tp-sec>h2::before{position:static;display:block;margin-bottom:6px}
}
@media (max-width:760px){
  .container{padding-inline:18px}
  .tp-main{padding-top:38px}
  .tp-short{padding:22px 20px 10px}
  .wordmark{font-size:84px;height:50px}
  .footer-bottom{flex-direction:column;align-items:flex-start}
}

/* Header collapse — the full nav needs ~1200px; below that the burger takes over (moved up from 760px, 2026-11-07) */
@media (max-width:1240px){
  .main-nav,.header-actions .btn{display:none}
  .menu-btn{display:inline-flex}
}
