:root {
  --wrap:1200px;
  --header-h:72px;
  --h1:64px;
  --h2:40px;
  --h3:18px;
  --body:16px;
  --small:14px;
  --micro:12px;
  --display:24px;
  --weight-body:400;
  --weight-label:500;
  --weight-bold:700;
  --radius-control:999px;
  --radius-card:20px;
  --radius-panel:6px;
  --s1:4px;
  --s2:8px;
  --s3:16px;
  --s4:24px;
  --s5:32px;
  --s6:48px;
  --s7:64px;
  --ink:#0f2b36;
  --ink2:#153946;
  --ink3:#1d4757;
  --orange:#e0572b;
  --orange-d:#c4481f;
  --orange-light:#ffd2c2;
  --orange-wash:#fbf1ec;
  --orange-soft:#ffe4d9;
  --orange-line:#e8b9a6;
  --teal:#0e7a82;
  --teal-l:#4cc3b9;
  --teal-pale:#e3f3f2;
  --paper:#f5f3ee;
  --paper2:#ece8df;
  --white:#ffffff;
  --text:#2b3338;
  --muted:#5d686e;
  --line:#e2ded5;
  --quiet:#8b9499;
  --stone:#c8c2b5;
  --code-paper:#f2f3f4;
  --badge-ink:#6b4d1e;
  --brand-x:#0f1419;
  --brand-youtube:#e62117;
  --on-dark:#ffffff;
  --on-dark-m:#b5c7cd;
  --on-dark-copy:#d4e0e3;
  --on-dark-line:rgba(255,255,255,.14);
  --on-dark-border:rgba(255,255,255,.5);
  --on-dark-outline:rgba(255,255,255,.6);
  --shadow-window:0 -8px 40px rgba(4,18,24,.35);
  --shadow-card:0 16px 32px -20px rgba(15,43,54,.35);
  --shadow-hub:0 20px 40px -16px rgba(224,87,43,.45);
  --shadow-menu:0 12px 32px rgba(15,43,54,.18);
  --scrim:rgba(15,43,54,.65);
  --sans:"Avenir Next","Segoe UI","PingFang SC","Hiragino Sans GB","Noto Sans SC","Microsoft YaHei",sans-serif;
  --mono:"JetBrains Mono","SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
}
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--header-h) + var(--s4)); }
body { font-family:var(--sans); font-size:var(--body); line-height:1.6; color:var(--text); background:var(--white); -webkit-font-smoothing:antialiased; }
body.sheet-open,body.modal-open { overflow:hidden; }
[hidden] { display:none !important; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
button { cursor:pointer; border:0; background:none; color:inherit; }
button:disabled { cursor:wait; opacity:.6; }
img { max-width:100%; }
svg { display:block; }
button svg,a svg { flex:none; }
:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.top :focus-visible,.side :focus-visible,.cta :focus-visible { outline-color:var(--on-dark); }
input,textarea { min-width:0; font-size:var(--small); background:var(--white); color:var(--text); border:1px solid var(--line); border-radius:var(--radius-control); padding:12px 16px; }
input::placeholder,textarea::placeholder { color:var(--muted); font-size:var(--small); }
input:focus,textarea:focus { border-color:var(--ink); outline:1px solid var(--ink); outline-offset:0; box-shadow:none; }
input[type=checkbox],input[type=radio] { accent-color:var(--ink); }
code,pre { font-family:var(--mono); letter-spacing:0; }
pre { white-space:pre-wrap; overflow-wrap:anywhere; }
h1 em,h2 em { font-style:normal; }
.wrap { width:min(var(--wrap), calc(100% - 48px)); margin:0 auto; }
.sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; top:-80px; left:16px; z-index:200; padding:12px 24px; background:var(--white); color:var(--ink); border-radius:var(--radius-control); }
.skip-link:focus { top:12px; }
.eyebrow { display:block; font-size:var(--micro); font-weight:var(--weight-label); margin:0 0 24px; }
.section-intro { margin-top:24px; color:var(--muted); }
.hero .eyebrow,.page-hero .eyebrow { margin-left:auto; margin-right:auto; }
.top { background:var(--ink); color:var(--on-dark); height:var(--header-h); position:sticky; top:0; z-index:50; }
.top .wrap { display:flex; align-items:center; height:var(--header-h); gap:48px; }
.brand { display:inline-flex; align-items:center; gap:12px; font-weight:var(--weight-bold); font-size:var(--h3); letter-spacing:-.01em; white-space:nowrap; }
.brand img { width:32px; height:32px; flex:none; }
.top .brand img { background:var(--paper); border-radius:var(--radius-panel); }
.nav { display:flex; align-items:center; gap:32px; font-size:var(--small); font-weight:var(--weight-label); }
.nav a { opacity:.92; }
.nav a:hover { opacity:1; color:var(--orange-light); }
.nav a.on { opacity:1; box-shadow:inset 0 -2px 0 var(--orange); padding-bottom:4px; }
.nav-drawer a.on,.nav-drawer a[aria-current=page] { background:var(--teal-pale); color:var(--ink); }
[data-site-nav] a { white-space:nowrap; }
[data-site-nav] a[aria-current=page] { background:var(--teal-pale); color:var(--ink); border-radius:var(--radius-control); padding:8px 12px; opacity:1; }
.top-r { margin-left:auto; display:flex; align-items:center; gap:24px; font-size:var(--small); font-weight:var(--weight-label); }
.sep { width:1px; height:16px; background:var(--on-dark-line); }
.lang-wrap { position:relative; }
.lang { display:inline-flex; align-items:center; gap:8px; position:relative; min-height:36px; padding:0 24px 0 8px; background:var(--ink); color:var(--on-dark); border:1px solid transparent; border-radius:var(--radius-control); white-space:nowrap; }
.lang svg { width:12px; height:12px; }
.chevron { position:absolute; right:10px; top:50%; width:7px; height:7px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:translateY(-65%) rotate(45deg); pointer-events:none; }
.lang-menu,.filter-menu { position:absolute; top:calc(100% + 8px); right:0; min-width:168px; padding:8px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--white); color:var(--ink); box-shadow:var(--shadow-menu); z-index:80; }
.lang-menu a,.filter-menu button { display:block; width:100%; padding:10px 12px; text-align:left; font-size:var(--small); border-radius:var(--radius-panel); }
.filter-menu button,.filter-menu [role=option] { display:inline-flex; align-items:center; }
.lang-menu a:hover,.lang-menu a[aria-current],.filter-menu button:hover,.filter-menu [aria-selected=true] { background:var(--paper); color:var(--ink); }
.menu-toggle { display:none; width:36px; height:36px; align-items:center; justify-content:center; color:var(--on-dark); background:var(--ink); border:1px solid var(--on-dark-border); border-radius:var(--radius-control); }
.menu-toggle svg { width:18px; height:18px; }
.nav-drawer { position:fixed; top:var(--header-h); left:24px; right:auto; width:min(320px, calc(100% - 48px)); z-index:75; padding:12px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--white); color:var(--ink); box-shadow:var(--shadow-menu); text-align:left; }
.nav-drawer a { display:block; padding:12px 16px; font-size:var(--small); font-weight:var(--weight-label); }
.nav-drawer a:hover { background:var(--paper); color:var(--ink); }
.pill { display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:var(--radius-control); font-weight:var(--weight-bold); font-size:var(--body); min-height:48px; padding:10px 24px; line-height:1.35; max-width:100%; transition:background .2s,color .2s,border-color .2s; }
.pill svg { width:16px; height:16px; }
.pill-sm { min-height:36px; font-size:var(--small); padding:8px 16px; }
.pill-o { border:2px solid var(--on-dark); color:var(--on-dark); background:transparent; }
.pill-o:hover { background:var(--white); color:var(--ink); }
.pill-f { background:var(--orange); color:var(--on-dark); border:2px solid var(--orange); }
.pill-f:hover { background:var(--orange-d); color:var(--on-dark); border-color:var(--orange-d); }
.pill-ink { background:var(--ink); color:var(--on-dark); border:1px solid var(--ink); }
.pill-ink:hover { background:var(--ink3); color:var(--on-dark); border-color:var(--ink3); }
.pill-line { background:var(--white); color:var(--ink); border:1px solid var(--line); }
.pill-line:hover { background:var(--paper); color:var(--ink); border-color:var(--muted); }
.actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:24px; }
.hero { background:var(--ink); color:var(--on-dark); position:relative; overflow:hidden; padding-top:72px; padding-bottom:72px; }
.hero-art { position:absolute; inset:0; pointer-events:none; }
.hero-art svg { width:100%; height:100%; }
.hero-inner { position:relative; z-index:1; text-align:center; }
.hero h1 { font-size:var(--h1); font-weight:var(--weight-bold); line-height:1.12; letter-spacing:-.01em; }
.hero h1 span { display:block; }
.switch { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:16px; margin:40px 0 48px; }
.switch a { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:10px 24px; border-radius:var(--radius-control); border:2px solid var(--on-dark-outline); font-weight:var(--weight-bold); font-size:var(--body); line-height:1.35; background:transparent; color:var(--on-dark); }
.switch a svg { width:18px; height:18px; }
.switch a:hover { border-color:var(--on-dark); }
.switch a.is-active { background:var(--orange); border-color:var(--orange); color:var(--on-dark); }
.window { width:min(1160px, calc(100% - 48px)); height:auto; min-height:720px; margin:0 auto; background:var(--white); border-radius:var(--radius-panel); overflow:hidden; text-align:left; color:var(--text); box-shadow:var(--shadow-window); scroll-margin-top:calc(var(--header-h) + 16px); }
.pane { display:grid; grid-template-columns:288px 320px minmax(0,1fr); height:auto; min-height:720px; }
.pane-fwd { grid-template-columns:288px minmax(0,1fr); display:none; }
.window.is-forward .pane-inbox { display:none; }
.window.is-forward .pane-fwd { display:grid; }
.side { background:var(--ink2); color:var(--on-dark); padding:32px 24px; display:flex; flex-direction:column; border-top:1px solid var(--ink3); min-width:0; }
.side-k { font-size:var(--micro); font-weight:var(--weight-label); color:var(--on-dark-m); letter-spacing:.04em; }
.addr { margin-top:8px; background:var(--ink); color:var(--on-dark); border-radius:var(--radius-panel); padding:12px; display:flex; align-items:center; gap:8px; border:1px solid var(--on-dark-line); }
.addr code { font-family:var(--mono); font-size:var(--small); letter-spacing:0; white-space:nowrap; flex:1; min-width:0; overflow:auto; scrollbar-width:thin; }
.addr code b { font-weight:var(--weight-label); color:var(--on-dark); }
.addr code i { font-style:normal; color:var(--on-dark-m); }
.copy { display:inline-flex; align-items:center; justify-content:center; gap:4px; height:32px; padding:0 12px; border-radius:var(--radius-control); background:var(--orange); font-size:var(--micro); font-weight:var(--weight-bold); color:var(--on-dark); flex:none; }
.copy:hover { background:var(--orange-d); color:var(--on-dark); }
.copy svg { width:14px; height:14px; }
.timer { margin-top:24px; padding-top:24px; border-top:1px solid var(--on-dark-line); }
.timer-n { font-family:var(--mono); font-size:var(--h2); font-weight:var(--weight-label); line-height:1.1; margin-top:8px; letter-spacing:0; font-variant-numeric:tabular-nums; }
.perf { margin-top:12px; height:8px; display:flex; gap:4px; }
.perf i { flex:1; border-radius:2px; background:var(--teal-l); }
.perf i.off { background:var(--on-dark-line); }
.timer-m { display:flex; justify-content:space-between; font-size:var(--micro); color:var(--on-dark-m); margin-top:8px; }
.side-btns { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:24px; }
.sbtn { min-height:40px; border-radius:var(--radius-control); font-size:var(--small); font-weight:var(--weight-bold); display:flex; align-items:center; justify-content:center; gap:4px; padding:6px; line-height:1.35; }
.sbtn svg { width:14px; height:14px; }
.sbtn-a { background:var(--white); color:var(--ink); }
.sbtn-a:hover { background:var(--orange-soft); color:var(--ink); }
.sbtn-b { border:1px solid var(--on-dark-border); background:transparent; color:var(--on-dark); }
.sbtn-b:hover { background:var(--ink3); color:var(--on-dark); border-color:var(--on-dark); }
.rules { margin-top:auto; list-style:none; }
.rules li { display:flex; gap:12px; align-items:center; font-size:var(--small); font-weight:var(--weight-label); padding:12px 0; }
.rules li+li { border-top:1px solid var(--on-dark-line); }
.rules li svg { width:20px; height:20px; flex:none; }
.rules small { display:block; font-size:var(--micro); font-weight:var(--weight-body); color:var(--on-dark-m); }
.list { border-right:1px solid var(--line); display:flex; flex-direction:column; background:var(--white); color:var(--text); min-width:0; min-height:0; }
.list-h { height:56px; flex:none; display:flex; align-items:center; justify-content:space-between; padding:0 16px 0 24px; border-bottom:1px solid var(--line); }
.list-h strong { font-size:var(--body); font-weight:var(--weight-bold); color:var(--ink); }
.list-h strong em { font-style:normal; font-weight:var(--weight-label); color:var(--muted); font-size:var(--small); margin-left:8px; }
.refresh { display:inline-flex; align-items:center; justify-content:center; gap:4px; font-size:var(--micro); font-weight:var(--weight-label); background:var(--white); color:var(--teal); height:32px; padding:0 12px; border-radius:var(--radius-control); border:1px solid var(--line); }
.refresh:hover { background:var(--paper); color:var(--teal); border-color:var(--teal); }
.refresh svg { width:14px; height:14px; }
.mail-list { overflow:auto; flex:1; min-height:0; }
.row { width:100%; height:76px; display:flex; align-items:center; gap:12px; padding:12px 16px 12px 24px; border-bottom:1px solid var(--line); position:relative; cursor:pointer; background:var(--white); color:var(--text); text-align:left; }
.row:hover { background:var(--paper); color:var(--text); }
.row.sel,.row.is-active { background:var(--orange-wash); color:var(--text); }
.row.sel::before,.row.is-active::before { content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--orange); }
.av { width:36px; height:36px; border-radius:50%; flex:none; display:inline-flex; align-items:center; justify-content:center; background:var(--paper2); color:var(--ink); }
.av svg { width:18px; height:18px; }
.av-x { background:var(--brand-x); color:var(--white); }
.av-yt { background:var(--brand-youtube); color:var(--white); }
.row-b { flex:1; min-width:0; }
.row-t { display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:var(--small); font-weight:var(--weight-bold); color:var(--ink); line-height:1.4; }
.row-t time { font-size:var(--micro); font-weight:var(--weight-body); color:var(--muted); white-space:nowrap; }
.row-s { display:block; font-size:var(--micro); color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.5; margin-top:4px; }
.row-s .badge { margin-right:4px; }
.badge { display:inline-block; width:fit-content; font-size:var(--micro); font-weight:var(--weight-label); line-height:18px; padding:0 6px; border-radius:var(--radius-panel); background:var(--paper2); color:var(--badge-ink); vertical-align:1px; }
.list-end { flex:none; margin-top:auto; padding:24px; border-top:1px dashed var(--line); font-size:var(--micro); color:var(--muted); display:flex; gap:12px; align-items:center; }
.list-end svg { width:28px; height:28px; flex:none; }
.read { display:flex; flex-direction:column; min-width:0; min-height:0; background:var(--white); color:var(--text); }
.read-h { padding:24px 32px 16px; border-bottom:1px solid var(--line); flex:none; }
.read-subj { font-size:var(--h3); font-weight:var(--weight-bold); color:var(--ink); line-height:1.4; display:flex; flex-wrap:wrap; align-items:center; gap:8px; overflow-wrap:anywhere; }
.read-from { display:flex; align-items:center; gap:12px; margin-top:16px; }
.read-from .av { width:36px; height:36px; }
.read-from .sender { flex:1; min-width:0; font-size:var(--small); line-height:1.4; overflow-wrap:anywhere; }
.read-from b { color:var(--ink); }
.read-from small { display:block; font-size:var(--micro); color:var(--muted); }
.read-from time { font-size:var(--micro); color:var(--muted); flex:none; }
.read-b { flex:1; min-height:0; padding:24px 32px; overflow:auto; overscroll-behavior:contain; }
.read-b iframe,.archive-body iframe { display:block; width:100%; min-height:320px; border:0; background:var(--white); color:var(--text); }
.mail-bar { display:flex; align-items:center; gap:8px; padding-bottom:16px; border-bottom:3px solid var(--brand-x); }
.mail-bar.is-yt { border-bottom-color:var(--brand-youtube); }
.read-b:has(.mail-bar.is-yt) .code,.read-b:has(.mail-bar.is-yt) .code b { color:var(--brand-youtube); }
.mail-bar svg { width:22px; height:22px; }
.mail-bar span { font-size:var(--micro); color:var(--muted); margin-left:auto; }
.read-b p { font-size:var(--small); line-height:1.7; margin-top:16px; }
.code { margin-top:16px; background:var(--code-paper); color:var(--brand-x); border-radius:var(--radius-panel); padding:16px 24px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.code b { font-family:var(--mono); font-size:var(--h2); font-weight:var(--weight-label); letter-spacing:.16em; color:var(--brand-x); line-height:1.1; }
.code small { font-size:var(--micro); color:var(--muted); text-align:right; line-height:1.5; }
.dev { margin-top:16px; display:grid; grid-template-columns:auto minmax(0,1fr); gap:4px 16px; font-size:var(--micro); color:var(--muted); }
.dev dd { color:var(--text); }
.disc { margin-top:16px; font-size:var(--micro); color:var(--muted); padding-top:12px; border-top:1px solid var(--line); }
.read-f { min-height:64px; flex:none; border-top:1px solid var(--line); display:flex; align-items:center; gap:8px; padding:12px 32px; }
.abtn { min-height:36px; padding:8px 16px; border-radius:var(--radius-control); font-size:var(--small); font-weight:var(--weight-bold); display:inline-flex; align-items:center; justify-content:center; gap:6px; line-height:1.35; }
.abtn svg { width:14px; height:14px; }
.abtn-a { background:var(--ink); color:var(--on-dark); }
.abtn-a:hover { background:var(--ink3); color:var(--on-dark); }
.abtn-b { border:1px solid var(--line); color:var(--text); background:var(--white); }
.abtn-b:hover { border-color:var(--muted); background:var(--paper); color:var(--ink); }
.read-f>span { margin-left:auto; font-size:var(--micro); color:var(--muted); }
.reader-back { display:none; }
[data-reader]:not(.mobile-reader) [data-reader-close] { display:none; }
.is-real .demo-pill,.is-real .demo-letterhead,.is-real [data-demo-brand] { display:none; }
.fwd { padding:48px 56px; display:flex; flex-direction:column; min-width:0; }
.fwd h3 { font-size:var(--display); font-weight:var(--weight-bold); color:var(--ink); line-height:1.3; }
.fwd>p { font-size:var(--body); color:var(--muted); margin-top:8px; max-width:560px; }
.fwd-form { display:flex; gap:12px; margin-top:32px; align-items:center; }
.fwd-form .example-field { flex:1; display:flex; align-items:center; gap:12px; min-height:48px; border:1px solid var(--line); border-radius:var(--radius-panel); padding:0 16px; background:var(--paper); color:var(--muted); font-size:var(--small); }
.fwd-form svg { width:18px; height:18px; }
.fwd-tbl { margin-top:40px; border-top:1px solid var(--line); }
.fwd-tr { display:grid; grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr) 90px; align-items:center; gap:4px; min-height:56px; border-bottom:1px solid var(--line); font-size:var(--small); }
.fwd-tr.h { min-height:40px; font-size:var(--micro); color:var(--muted); font-weight:var(--weight-label); }
.fwd-tr code { font-family:var(--mono); font-size:var(--small); letter-spacing:0; white-space:nowrap; color:var(--ink); overflow:auto; }
.fwd-tr svg { width:16px; height:16px; }
.st { font-size:var(--micro); font-weight:var(--weight-label); color:var(--teal); }
.st-off { color:var(--muted); }
.fwd .fwd-note { margin-top:auto; font-size:var(--micro); color:var(--muted); }
.forward-heading { font-family:var(--sans); font-size:var(--display); font-weight:var(--weight-bold); margin-top:8px; }
.scene { padding:64px 0 32px; text-align:center; }
.scene h2 { font-size:var(--display); font-weight:var(--weight-bold); color:var(--ink); }
.scene-w { display:flex; justify-content:space-between; align-items:center; margin-top:32px; color:var(--quiet); }
.scene-w div { display:flex; align-items:center; gap:8px; font-size:var(--h3); font-weight:var(--weight-bold); letter-spacing:.02em; }
.scene-w svg { width:28px; height:28px; }
.pts { padding:64px 0 96px; text-align:center; }
.h2 { font-size:var(--h2); font-weight:var(--weight-bold); line-height:1.2; letter-spacing:-.01em; color:var(--ink); }
.lead { font-size:var(--h3); color:var(--muted); margin-top:24px; }
.orbit { position:relative; height:600px; margin-top:48px; text-align:left; }
.orbit>svg { position:absolute; inset:0; width:100%; height:100%; }
.pcard { position:absolute; width:320px; background:var(--paper); color:var(--text); border-radius:var(--radius-panel); padding:24px; box-shadow:var(--shadow-card); }
.pcard:nth-of-type(1) { left:48px; top:120px; }
.pcard:nth-of-type(2) { left:440px; top:0; }
.pcard:nth-of-type(3) { left:832px; top:120px; }
.pcard-n { font-family:var(--mono); font-size:var(--micro); color:var(--orange); font-weight:var(--weight-label); }
.pcard h3 { font-size:var(--h3); font-weight:var(--weight-bold); color:var(--ink); margin-top:4px; }
.pcard-art { height:104px; background:var(--white); color:var(--ink); border-radius:var(--radius-panel); margin-top:16px; display:flex; align-items:center; justify-content:center; border:1px solid var(--line); }
.pcard-art svg { width:240px; height:80px; }
.pcard p { font-size:var(--small); margin-top:16px; line-height:1.7; }
.pcard a { display:inline-flex; align-items:center; gap:4px; margin-top:12px; font-size:var(--small); font-weight:var(--weight-bold); color:var(--teal); }
.pcard a svg { width:14px; height:14px; }
.hub { position:absolute; left:530px; top:400px; width:140px; height:140px; border-radius:50%; background:var(--white); color:var(--ink); box-shadow:0 0 0 12px var(--orange-wash),var(--shadow-hub); display:flex; align-items:center; justify-content:center; }
.hub svg { width:64px; height:64px; }
.data { background:var(--ink); color:var(--on-dark); padding:96px 0 48px; position:relative; }
.data::after { content:""; position:absolute; left:0; right:0; bottom:0; height:240px; background:var(--white); }
.data h2 { text-align:center; font-size:var(--h2); font-weight:var(--weight-bold); line-height:1.2; letter-spacing:-.01em; }
.stats { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:24px; margin-top:64px; }
.stat { border-left:2px solid var(--orange); padding-left:16px; }
.stat:nth-child(even) { border-color:var(--teal-l); }
.stat b { display:block; font-size:var(--h2); font-weight:var(--weight-bold); line-height:1.1; letter-spacing:-.01em; white-space:nowrap; }
.stat span { display:block; font-size:var(--small); font-weight:var(--weight-bold); margin-top:12px; letter-spacing:.02em; }
.stat small { display:block; font-size:var(--micro); color:var(--on-dark-m); margin-top:4px; }
.band { position:relative; z-index:1; margin-top:64px; background:var(--teal); color:var(--on-dark); border-radius:var(--radius-card); display:grid; grid-template-columns:560px minmax(0,1fr); overflow:hidden; }
.band-img { height:440px; position:relative; }
.band-img img,.band-img>svg { width:100%; height:100%; object-fit:cover; display:block; }
.band-img::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 60%,var(--teal)); }
.band-t { padding:48px 56px 48px 32px; display:flex; flex-direction:column; justify-content:center; }
.band-k { display:inline-flex; align-items:center; gap:8px; align-self:flex-start; background:var(--ink); color:var(--on-dark); border-radius:var(--radius-control); padding:8px 16px; font-size:var(--small); font-weight:var(--weight-label); }
.band-k b { font-weight:var(--weight-bold); }
.band h2 { text-align:left; margin-top:24px; color:var(--on-dark); }
.band p { font-size:var(--body); margin-top:16px; color:var(--teal-pale); line-height:1.7; }
.band ul { list-style:none; margin-top:16px; font-size:var(--small); }
.band li { display:flex; gap:8px; align-items:center; padding:4px 0; }
.band li svg { width:16px; height:16px; flex:none; }
.band-cta { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:32px; }
.band-cta>a:last-child { font-weight:var(--weight-bold); font-size:var(--body); }
.band-cta>a:last-child:hover { text-decoration:underline; }
.flow { padding:96px 0; background:var(--white); color:var(--text); }
.flow .h2,.flow .lead { text-align:center; }
.flow-g { display:grid; grid-template-columns:540px minmax(0,1fr); gap:64px; margin-top:64px; align-items:center; }
.flow-img { height:520px; border-radius:var(--radius-card); overflow:hidden; position:relative; }
.flow-img img,.flow-img>svg { width:100%; height:100%; object-fit:cover; display:block; }
.flow-img::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,var(--ink),transparent 55%); }
.flow-img span { position:absolute; left:32px; right:32px; bottom:32px; z-index:1; color:var(--on-dark); font-size:var(--display); font-weight:var(--weight-bold); }
.steps { list-style:none; }
.step { display:grid; grid-template-columns:64px minmax(0,1fr); gap:24px; padding:24px 0; border-bottom:1px dashed var(--line); }
.step:first-child { padding-top:0; }
.step:last-child { border-bottom:0; }
.step-n { width:64px; height:40px; border-radius:var(--radius-control); background:var(--paper); display:flex; align-items:center; justify-content:center; font-family:var(--mono); font-size:var(--small); font-weight:var(--weight-label); color:var(--orange); }
.step h3 { font-size:var(--h3); font-weight:var(--weight-bold); color:var(--ink); line-height:1.4; margin-top:8px; }
.step p { font-size:var(--small); color:var(--muted); margin-top:4px; line-height:1.7; }
.faq { padding:32px 0 96px; }
.faq .h2 { text-align:center; }
.faq-g { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 64px; margin-top:64px; }
.q { position:relative; padding:0 32px; }
.q.ring::before { content:""; position:absolute; left:-32px; right:-32px; top:-24px; bottom:-24px; border:2px solid var(--ink); border-radius:var(--radius-control); pointer-events:none; }
.q-teal.ring::before { border-color:var(--teal-l); }
.q-in { position:relative; border-radius:var(--radius-card); padding:32px; height:100%; }
.q-dark .q-in { background:var(--ink); color:var(--on-dark); }
.q-paper .q-in { background:var(--paper); color:var(--text); }
.q-teal .q-in { background:var(--teal); color:var(--on-dark); }
.q-k { font-size:var(--small); font-weight:var(--weight-bold); letter-spacing:.04em; }
.q-dark .q-k,.q-teal .q-k { color:var(--orange-light); }
.q-paper .q-k { color:var(--orange); }
.q h3 { font-size:var(--display); font-weight:var(--weight-bold); line-height:1.35; margin-top:12px; }
.q-paper h3 { color:var(--ink); }
.q p { font-size:var(--small); line-height:1.7; margin-top:12px; }
.q-dark p { background:var(--ink); color:var(--on-dark-copy); }
.q-teal p { background:var(--teal); color:var(--teal-pale); }
.q a { display:inline-flex; align-items:center; gap:4px; font-size:var(--small); font-weight:var(--weight-bold); margin-top:16px; }
.q-paper a { color:var(--teal); }
.q a svg { width:14px; height:14px; }
.faq-more { text-align:center; margin-top:64px; }
.faq-more a { display:inline-flex; align-items:center; gap:8px; font-size:var(--h3); font-weight:var(--weight-bold); color:var(--teal); }
.faq-more a svg { width:18px; height:18px; }
.faq-details { border-bottom:1px solid var(--line); padding:16px 0; }
.faq-details summary { cursor:pointer; position:relative; list-style:none; padding-right:32px; font-weight:var(--weight-bold); }
.faq-details summary::-webkit-details-marker { display:none; }
.faq-details summary::after { content:""; position:absolute; top:50%; right:8px; width:7px; height:7px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:translateY(-65%) rotate(45deg); }
.faq-details[open] summary::after { transform:translateY(-25%) rotate(225deg); }
.faq-details p { margin-top:20px; padding-bottom:16px; }
.cta { background:var(--ink); color:var(--on-dark); padding:96px 0; position:relative; overflow:hidden; text-align:center; }
.cta>svg { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.cta .h2 { color:var(--on-dark); position:relative; }
.cta .lead { color:var(--on-dark-m); position:relative; }
.cta-b { display:flex; flex-wrap:wrap; gap:16px; justify-content:center; margin-top:40px; position:relative; }
.foot { background:var(--paper); color:var(--text); padding:64px 0 32px; font-size:var(--small); }
.foot-g { display:grid; grid-template-columns:minmax(280px,1.3fr) repeat(3,minmax(0,1fr)); gap:32px 40px; }
.foot-b { display:contents; }
.foot-b>.brand { grid-column:1; grid-row:1; align-self:start; }
.foot-b>p { grid-column:1; grid-row:2; align-self:start; }
.foot .brand { color:var(--ink); }
.foot-b p { color:var(--muted); margin-top:16px; line-height:1.7; }
.foot h4 { font-size:var(--small); font-weight:var(--weight-bold); color:var(--ink); }
.foot ul { list-style:none; margin-top:12px; }
.foot li { padding:4px 0; }
.foot li a { color:var(--muted); overflow-wrap:anywhere; }
.foot li a:hover { color:var(--ink); }
.support-card { grid-column:1 / -1; grid-row:3; margin-top:8px; padding:20px 24px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--white); color:var(--ink); display:flex; align-items:center; justify-content:space-between; gap:24px; }
.support-card p { margin-top:0; font-size:var(--small); flex:1; min-width:0; }
.support-card .mail { margin-top:0; flex:none; font-size:var(--micro); overflow-wrap:anywhere; white-space:nowrap; }
@media (min-width:1101px) {
  .foot-g>div:nth-child(2),.foot-g>div:nth-child(3),.foot-g>div:nth-child(4) { grid-row:1 / 3; align-self:start; }
}
.foot-l { margin-top:48px; padding-top:24px; border-top:1px solid var(--line); display:flex; gap:24px; justify-content:space-between; color:var(--muted); font-size:var(--micro); }
.toast { position:fixed; bottom:24px; left:50%; transform:translate(-50%,12px); z-index:160; width:max-content; max-width:min(430px, calc(100% - 32px)); padding:12px 20px; border-radius:var(--radius-panel); background:var(--ink); color:var(--on-dark); border:1px solid var(--on-dark-line); box-shadow:var(--shadow-menu); font-size:var(--small); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .2s,transform .2s,visibility .2s; overflow-wrap:anywhere; }
.toast.show { opacity:1; visibility:visible; transform:translate(-50%,0); }
.modal { position:fixed; inset:0; z-index:140; display:grid; place-items:center; padding:24px; background:var(--scrim); color:var(--text); }
.modal-card { width:min(420px,100%); max-height:calc(100dvh - 48px); overflow:auto; padding:32px; border-radius:var(--radius-card); background:var(--white); color:var(--text); box-shadow:var(--shadow-menu); }
.modal-card .modal-icon { margin-bottom:12px; }
.modal h2,.modal-card h2 { font-size:var(--display); line-height:1.35; color:var(--ink); }
.modal-card p { margin-top:16px; }
.modal-card .actions { justify-content:flex-end; }
.empty-host,.mail-list:has(> .inbox-empty),.read-b:has(> .reader-empty) { display:grid; place-items:center; }
.empty-state,.inbox-empty,.reader-empty { width:min(420px, calc(100% - 32px)); min-height:0; height:auto; padding:16px; margin:16px auto; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--paper); color:var(--text); }
.empty-state h3 { font-size:var(--h3); color:var(--ink); }
.empty-state p { margin-top:8px; font-size:var(--small); color:var(--muted); }
.empty-state svg { width:32px; height:32px; margin-bottom:12px; color:var(--teal); }
.status-pill { display:inline-flex; align-items:center; width:fit-content; padding:4px 10px; border-radius:var(--radius-control); font-size:var(--micro); line-height:1.5; background:var(--paper2); color:var(--ink); margin:0; }
.status-pill.is-enabled { background:var(--teal-pale); color:var(--teal); }
.status-pill.is-off { background:var(--paper2); color:var(--muted); }
.filter { position:relative; display:inline-block; }
.filter-trigger { position:relative; display:inline-flex; align-items:center; min-height:36px; gap:8px; width:auto; padding:8px 32px 8px 14px; margin-block:16px; background:var(--white); color:var(--ink); border:1px solid var(--stone); border-radius:var(--radius-control); font-size:var(--small); }
.filter-menu { min-width:180px; border-color:var(--stone); background:var(--white); color:var(--ink); }
.card { padding:24px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--paper); color:var(--text); }
.card h2,.card h3 { font-size:var(--h3); line-height:1.4; color:var(--ink); }
.card p { margin-top:12px; font-size:var(--small); }
.field { display:grid; gap:8px; font-size:var(--small); }
.field input { width:100%; min-height:48px; }
.form-stack { display:grid; gap:16px; }
.form-error { font-size:var(--small); color:var(--orange-d); margin-top:12px; }
.table-scroll { overflow:auto; margin-top:24px; }
table { border-collapse:collapse; width:100%; text-align:left; font-size:var(--small); }
th,td { padding:16px; border-bottom:1px solid var(--line); vertical-align:middle; }
th { font-size:var(--micro); color:var(--muted); font-weight:var(--weight-label); background:var(--paper); }
.page-hero { padding:64px 0; }
.page-hero h1 { font-size:var(--h2); line-height:1.22; color:var(--ink); }
.page-main { padding-bottom:96px; }
.auth-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-width:var(--wrap); margin:0 auto; gap:64px; padding:64px 24px 96px; }
.auth-story,.access-receiver { min-width:0; padding:24px; }
.auth-story h1 { font-size:var(--h2); line-height:1.25; color:var(--ink); }
.auth-story p { margin-top:24px; color:var(--muted); }
.access-pass { padding:32px; background:var(--white); color:var(--ink); border:1px solid var(--line); border-radius:var(--radius-card); box-shadow:var(--shadow-window); }
.access-pass h2 { font-size:var(--display); line-height:1.35; }
.access-pass input { background:var(--white); color:var(--ink); border:1px solid var(--stone); font-size:var(--small); }
[data-login] label { display:block; margin-bottom:8px; }
.access-pass form { margin-top:24px; }
.login-pane { display:grid; gap:16px; }
.auth-notice { margin:12px 0 16px; padding:12px 16px; background:var(--white); color:var(--ink); border:1px solid var(--line); border-radius:var(--radius-panel); font-size:var(--small); }
.auth-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.auth-actions button { min-height:40px; padding:8px 16px; border:1px solid var(--stone); border-radius:var(--radius-control); background:var(--white); color:var(--ink); font-size:var(--small); }
.desk { width:min(var(--wrap), calc(100% - 48px)); margin:0 auto; padding:48px 0 96px; }
.desk-session { display:flex; flex-wrap:wrap; align-items:center; gap:16px; padding:24px 0; }
.desk-session [data-session-email] { overflow-wrap:anywhere; }
.desk-session [data-logout] { margin-left:auto; }
.desk-module { margin-top:32px; min-width:0; }
.alias-surface { background:var(--white); color:var(--ink); padding:32px; border:1px solid var(--line); border-radius:var(--radius-card); }
.alias-compose { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:24px; }
.alias-compose .prefix-field { display:flex; align-items:center; gap:8px; flex:1; min-width:0; }
.alias-compose input { width:100%; min-height:48px; font-size:var(--small); border-radius:var(--radius-control); padding-left:16px; }
[data-alias-prefix] { padding-left:16px; }
undefined
.alias-compose .suffix { font-family:var(--mono); font-size:var(--small); white-space:nowrap; }
.alias-results { margin-top:24px; }
.alias-row { display:flex; flex-wrap:wrap; align-items:center; gap:16px; padding:16px 0; border-bottom:1px solid var(--line); }
.alias-row .alias-address { flex:1; min-width:0; font-family:var(--mono); font-size:var(--small); overflow-wrap:anywhere; }
.alias-row .row-actions { display:flex; flex-wrap:wrap; gap:8px; }
.archive-surface { padding:32px; background:var(--paper); color:var(--ink); border-radius:var(--radius-card); }
.module-heading { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-bottom:24px; }
.module-heading h2 { font-size:var(--display); line-height:1.35; color:var(--ink); }
.module-heading .filter { margin-left:auto; }
.archive-list { margin-top:24px; }
.archive-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:16px; width:100%; padding:16px 0; border-bottom:1px solid var(--line); background:transparent; color:var(--ink); text-align:left; font:inherit; }
.archive-row .archive-subject { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.archive-row .archive-sender { display:block; font-size:var(--small); color:var(--muted); overflow-wrap:anywhere; }
.archive-row .archive-meta { display:flex; align-items:center; gap:12px; font-size:var(--micro); }
.archive-detail { min-width:0; max-width:100%; margin-top:24px; padding:24px; background:var(--white); color:var(--text); border:1px solid var(--line); border-radius:var(--radius-panel); overflow-wrap:anywhere; }
.archive-detail iframe { min-width:0; max-width:100%; width:100%; }
.archive-detail-head { display:flex; flex-wrap:wrap; gap:16px; align-items:center; }
.archive-detail-head h2 { font-size:var(--display); line-height:1.35; flex:1; overflow-wrap:anywhere; }
.archive-detail-head button { flex:none; align-self:center; height:auto; }
.archive-body { margin-top:24px; overflow:auto; }
.surface-safety { padding:32px; border-radius:var(--radius-card); background:var(--paper); color:var(--ink); border:1px solid var(--line); }
.twofa-idle { display:flex; flex-wrap:wrap; gap:24px; align-items:center; }
.twofa-idle .twofa-description { flex:1; min-width:220px; }
.twofa-idle h2 { font-size:var(--display); line-height:1.35; }
.twofa-status { display:flex; align-items:center; gap:12px; font-size:var(--small); margin-bottom:20px; }
.twofa-status [data-2fa-badge] { margin:0; }
[data-twofa-start] { align-self:center; flex:none; width:auto; }
.twofa-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:24px; list-style:none; }
.twofa-steps li { display:flex; align-items:flex-start; gap:12px; font-size:var(--small); }
.twofa-steps .number { display:inline-flex; align-items:center; justify-content:center; flex:none; width:28px; height:28px; border:1px solid var(--stone); border-radius:50%; color:var(--ink); background:var(--white); }
.twofa-setup { margin-top:24px; margin-bottom:24px; padding-top:24px; border-top:1px solid var(--line); }
.setup-grid { display:grid; grid-template-columns:180px minmax(0,1fr); gap:32px; align-items:start; }
[data-twofa-qr] { width:180px; height:180px; aspect-ratio:1; object-fit:contain; background:var(--white); color:var(--ink); }
.twofa-secret { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:16px; }
.twofa-secret code { color:var(--ink); overflow-wrap:anywhere; }
.twofa-secret button { width:auto; flex:none; }
.twofa-confirm-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:24px; }
.twofa-confirm-actions input,.twofa-confirm-actions button { min-height:48px; width:auto; }
[data-twofa-confirm] { margin-top:24px; }
.twofa-confirm-actions [data-twofa-confirm] { margin-top:0; }
.prose-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:64px; width:min(1120px, calc(100% - 48px)); margin:0 auto; padding:64px 0 96px; }
.prose { min-width:0; font-size:var(--body); line-height:1.8; }
.prose h2 { font-size:var(--display); line-height:1.4; color:var(--ink); margin:40px 0 24px; }
.prose h3 { font-size:var(--h3); line-height:1.5; color:var(--ink); margin:32px 0 16px; }
.prose p,.prose ul,.prose ol { margin:16px 0; font-weight:var(--weight-body); }
.prose ul,.prose ol { padding-left:24px; }
.prose a { color:var(--teal); text-decoration:underline; text-underline-offset:3px; }
.prose .pill-f,.prose .pill-ink { color:var(--on-dark); text-decoration:none; }
.prose .card,.prose .table-scroll { margin-top:24px; margin-bottom:32px; }
.prose .article-cta { margin-top:48px; padding:32px; background:var(--ink); color:var(--on-dark); border-radius:var(--radius-card); text-align:center; }
.article-cta h2 { color:var(--on-dark); margin-top:0; }
.article-cta .actions { justify-content:center; }
.toc { position:sticky; top:calc(var(--header-h) + 16px); align-self:start; padding:24px; background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:var(--radius-panel); font-size:var(--small); }
.toc ol { padding-left:20px; margin-top:16px; }
.toc li { margin-top:8px; }
.toc .toc-count { display:block; margin-top:16px; font-size:var(--micro); color:var(--muted); }
.post-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:32px 0 64px; }
.post-card { display:flex; flex-direction:column; padding:32px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--white); color:var(--ink); }
.post-card:hover { background:var(--paper); color:var(--ink); }
.post-card time { display:block; margin-top:16px; font-size:var(--micro); color:var(--muted); }
.post-card h2 { font-size:var(--display); line-height:1.4; margin-top:24px; }
.post-card p { margin-top:16px; color:var(--muted); }
.recommend-float { position:fixed; bottom:24px; right:24px; z-index:60; width:min(320px, calc(100% - 48px)); background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:var(--radius-card); box-shadow:var(--shadow-menu); overflow:hidden; }
.recommend-float .float-media { padding:24px; background:var(--ink); color:var(--on-dark); }
.recommend-float .float-content { padding:24px; }
.recommend-float .float-content p { margin:12px 0 24px; font-size:var(--small); }
.recommend-float .pill { max-width:100%; white-space:normal; height:auto; line-height:1.35; }
.float-close { position:absolute; right:12px; top:12px; display:flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:var(--radius-control); background:var(--white); color:var(--ink); border:1px solid var(--line); }
.float-close svg { width:14px; height:14px; }
@media (max-width:1100px) {
  .top .wrap { gap:24px; }
  .nav { gap:20px; }
  .top-r { gap:12px; }
  .hero h1 { font-size:52px; }
  .pane { grid-template-columns:250px 280px minmax(0,1fr); }
  .side { padding:24px 16px; }
  .read-h { padding:24px 20px 16px; }
  .read-b { padding:24px 20px; }
  .read-f { padding:12px 20px; flex-wrap:wrap; }
  .read-from { flex-wrap:wrap; }
  .read-from time { margin-left:48px; }
  .code { padding:16px; }
  .code b { font-size:32px; }
  .orbit { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; height:560px; align-items:start; }
  .pcard { position:relative; width:auto; }
  .pcard:nth-of-type(1),.pcard:nth-of-type(2),.pcard:nth-of-type(3) { left:auto; top:auto; }
  .pcard:nth-of-type(1),.pcard:nth-of-type(3) { margin-top:80px; }
  .hub { left:calc(50% - 70px); top:400px; }
  .band { grid-template-columns:44% minmax(0,1fr); }
  .band-t { padding:32px; }
  .band-img { height:100%; min-height:440px; }
  .flow-g { grid-template-columns:44% minmax(0,1fr); gap:40px; }
  .stats { gap:16px; }
  .stat b { font-size:32px; }
  .faq-g { gap:48px 32px; }
  .q { padding:0 16px; }
  .q.ring::before { left:-8px; right:-8px; }
  .foot-g { grid-template-columns:280px repeat(3,minmax(0,1fr)); gap:24px; }
  .fwd { padding:32px; }
  .pane-fwd { grid-template-columns:250px minmax(0,1fr); }
}
@media (max-width:860px) {
  :root { --h1:44px; --h2:32px; }
  .nav { display:none; }
  .menu-toggle { display:flex; order:-1; }
  .top .wrap { gap:16px; }
  .top-r { margin-left:auto; }
  .header-product { display:none; }
  .hero { padding-top:48px; padding-bottom:40px; }
  .hero h1 { font-size:var(--h1); }
  .window { height:auto; min-height:0; }
  .pane { grid-template-columns:240px minmax(0,1fr); min-height:600px; }
  .pane-inbox>.read { display:none; }
  .pane-inbox .list { border-right:0; }
  .mail-list { max-height:440px; min-height:180px; }
  .read.mobile-reader { display:flex; position:fixed; inset:0; height:100dvh; z-index:110; padding-top:var(--header-h); background:var(--white); color:var(--text); }
  .mobile-reader .read-h { position:sticky; top:0; background:var(--white); color:var(--ink); z-index:2; padding-top:12px; }
  .mobile-reader .reader-back { display:inline-flex; margin-bottom:16px; }
  .mobile-reader .read-from time { margin-left:0; }
  .mobile-reader .read-b { flex:1; overflow:auto; }
  .mobile-reader .read-f { min-height:72px; }
  .sheet-open .hero-art { visibility:hidden; }
  .hero,.hero-inner,.window,.pane { transform:none; animation:none; }
  .scene-w { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
  .scene-w div { justify-content:center; font-size:var(--body); }
  .orbit { height:auto; padding-bottom:190px; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
  .pcard { padding:16px; }
  .pcard:nth-of-type(1),.pcard:nth-of-type(3) { margin-top:40px; }
  .pcard-art svg { width:100%; }
  .hub { top:auto; bottom:24px; }
  .orbit>svg { display:none; }
  .stats { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
  .band { grid-template-columns:40% minmax(0,1fr); }
  .band-k { flex-wrap:wrap; border-radius:var(--radius-panel); }
  .band h2 { font-size:var(--display); }
  .band-t { padding:32px 24px; }
  .flow-g { grid-template-columns:minmax(0,1fr); gap:40px; }
  .flow-img { height:360px; }
  .faq-g { gap:48px 16px; }
  .q-in { padding:24px; }
  .q h3 { font-size:var(--h3); }
  .foot-g { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .foot-b { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 32px; }
  .foot-b .brand,.foot-b>p { grid-column:1; }
  .support-card { grid-column:2; grid-row:1/3; margin-top:0; display:block; }
  .support-card .mail { margin-top:12px; white-space:normal; }
  .auth-layout { grid-template-columns:minmax(0,1fr); gap:24px; }
  .auth-story,.access-receiver { padding:16px; }
  .prose-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
  .toc { position:static; }
  .setup-grid { grid-template-columns:180px minmax(0,1fr); gap:24px; }
  .twofa-steps { grid-template-columns:minmax(0,1fr); gap:16px; }
  .alias-row .alias-address { flex-basis:100%; }
  .pane-fwd { grid-template-columns:240px minmax(0,1fr); }
  .fwd-form { flex-wrap:wrap; }
  .fwd-form .example-field { flex-basis:100%; }
  .fwd-tr { grid-template-columns:minmax(0,1fr) 24px 80px; }
  .fwd-tr>:nth-child(3) { display:none; }
}
@media (max-width:560px) {
  :root { --h1:32px; --h2:28px; --header-h:64px; }
  .wrap { width:calc(100% - 32px); }
  .top .wrap { gap:10px; }
  .brand { gap:6px; font-size:var(--body); }
  .brand img { width:26px; height:26px; }
  .top-r { gap:8px; }
  .sep { display:none; }
  .top-r>.pill { min-height:32px; padding:6px 12px; font-size:var(--micro); }
  .lang { min-width:36px; min-height:36px; padding:0 26px 0 8px; }
  .lang .lang-label { display:none; }
  .lang svg { width:12px; }
  .lang-menu { right:-32px; }
  .menu-toggle { width:32px; height:32px; flex:none; }
  .nav-drawer { left:16px; width:min(320px, calc(100% - 32px)); }
  .hero { padding-top:40px; }
  .hero h1 { padding:0 16px; font-size:var(--h1); line-height:1.25; }
  .hero h1 span { display:block; }
  .switch { margin:32px 16px; gap:8px; }
  .switch a { padding:10px 16px; font-size:var(--small); }
  .window { width:calc(100% - 32px); min-height:0; }
  .pane,.pane-fwd { grid-template-columns:minmax(0,1fr); min-height:0; }
  .side { padding:24px; }
  .addr code { font-size:var(--small); }
  .timer { margin-top:16px; padding-top:16px; }
  .timer-n { font-size:var(--h2); }
  .side-btns { margin-top:16px; }
  .rules { display:none; }
  .list { min-height:300px; }
  .list-h { padding:0 16px; }
  .mail-list { min-height:152px; max-height:380px; }
  .row { padding:12px 16px; }
  .list-end { padding:16px; }
  .mobile-reader .read-h { padding:12px 20px 16px; }
  .mobile-reader .read-from { align-items:center; }
  .mobile-reader .read-from time { width:100%; margin-left:48px; }
  .mobile-reader .read-b { padding:24px 20px; }
  .mobile-reader .read-f { padding:12px 20px; }
  .read-f>span { flex-basis:100%; margin-left:0; }
  .code { flex-wrap:wrap; }
  .code b { font-size:32px; }
  .code small { text-align:left; }
  .scene { padding:40px 0 24px; }
  .scene h2 { font-size:var(--h3); }
  .scene-w { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 12px; margin-top:24px; }
  .scene-w div { font-size:var(--small); justify-content:flex-start; }
  .scene-w svg { width:24px; height:24px; }
  .pts { padding:40px 0 64px; }
  .lead { font-size:var(--body); margin-top:24px; }
  .orbit { display:flex; flex-direction:column; gap:24px; margin-top:32px; padding-bottom:0; }
  .pcard { width:100%; padding:24px; }
  .pcard:nth-of-type(1),.pcard:nth-of-type(3) { margin-top:0; }
  .hub { position:static; width:100px; height:100px; align-self:center; margin:16px 0; }
  .hub svg { width:56px; height:56px; }
  .data { padding:64px 0 48px; }
  .data h2 { padding:0 8px; }
  .stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 16px; margin-top:40px; }
  .stat b { font-size:var(--display); }
  .stat span { font-size:var(--small); }
  .band { display:grid; grid-template-columns:minmax(0,1fr); margin-top:40px; }
  .band-img { height:240px; min-height:0; }
  .band-img::after { background:linear-gradient(0deg,var(--teal),transparent 60%); }
  .band-t { padding:24px; }
  .band-k { font-size:var(--micro); }
  .band h2 { margin-top:24px; }
  .band-cta { gap:16px; }
  .flow { padding:64px 0; }
  .flow-g { margin-top:40px; }
  .flow-img { height:320px; }
  .flow-img span { left:24px; right:24px; bottom:24px; font-size:var(--h3); }
  .step { grid-template-columns:48px minmax(0,1fr); gap:16px; }
  .step-n { width:48px; }
  .faq { padding:16px 0 64px; }
  .faq-g { grid-template-columns:minmax(0,1fr); gap:40px; margin-top:48px; }
  .q { padding:0 8px; }
  .q.ring::before { left:0; right:0; top:-12px; bottom:-12px; }
  .q-in { padding:24px; }
  .q h3 { font-size:var(--display); }
  .faq-more { margin-top:40px; }
  .faq-more a { font-size:var(--body); }
  .cta { padding:64px 0; }
  .cta-b { flex-direction:column; align-items:center; margin-top:32px; }
  .foot { padding:40px 0 24px; }
  .foot-g { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; }
  .foot-b { display:block; }
  .support-card { margin-top:24px; display:block; grid-column:auto; grid-row:auto; }
  .foot-l { flex-direction:column; gap:12px; margin-top:32px; }
  .fwd { padding:24px; min-height:440px; }
  .fwd h3 { font-size:var(--h3); }
  .fwd-tr { font-size:var(--micro); }
  .fwd-tr code { font-size:var(--micro); }
  .fwd .fwd-note { margin-top:24px; }
  .auth-layout { padding:32px 16px 64px; gap:24px; }
  .auth-story,.access-receiver { padding:0; }
  .access-pass { padding:24px; }
  .desk { width:calc(100% - 32px); padding-top:32px; }
  .desk-session [data-logout] { margin-left:0; }
  .alias-surface,.archive-surface,.surface-safety { padding:24px 16px; }
  .alias-compose { display:grid; grid-template-columns:minmax(0,1fr); }
  .alias-compose .prefix-field { flex-wrap:wrap; }
  .alias-compose button { width:100%; }
  .alias-row { align-items:flex-start; }
  .alias-row .row-actions { width:100%; }
  .module-heading .filter { margin-left:0; }
  .archive-row { grid-template-columns:minmax(0,1fr); gap:8px; }
  .archive-row .archive-meta { justify-content:flex-start; flex-wrap:wrap; }
  .archive-detail { padding:16px; }
  .setup-grid { grid-template-columns:minmax(0,1fr); }
  .twofa-idle .twofa-description { min-width:0; flex-basis:100%; }
  .twofa-confirm-actions { align-items:center; }
  .twofa-confirm-actions input { min-width:0; width:120px; flex:1; }
  .twofa-confirm-actions button { flex:none; font-size:var(--small); }
  .prose-layout { width:calc(100% - 32px); padding-top:32px; }
  .post-grid { grid-template-columns:minmax(0,1fr); }
  .post-card { padding:24px; }
  .recommend-float { right:16px; bottom:16px; width:min(320px, calc(100% - 32px)); }
  .modal { padding:16px; }
  .modal-card { padding:24px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
}

/* Account surfaces and live mailbox details. */
.chevron { transform:translateY(calc(-50% - .12em)) rotate(45deg); }
.read-b pre,.archive-body pre { font-size:var(--small); line-height:1.75; }
.rapid-mail-frame { width:100%; min-height:240px; border:0; background:var(--white); color:var(--text); }
.read-b .mail-content-note { margin:0 0 24px; padding:12px 16px; border:1px solid var(--line); background:var(--paper); color:var(--muted); border-radius:var(--radius-panel); font-size:var(--small); }
.mailbox-destroy { grid-column:1/-1; min-height:32px; font-size:var(--micro); }
.unread-dot { position:absolute; left:12px; top:50%; transform:translateY(-50%); width:6px; height:6px; border-radius:50%; background:var(--teal); }
.row-t b { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.row-t time { align-self:center; }
.reader-mobile-delete { display:none; }
.address-attention { animation:rapid-address-pulse 1.2s ease-out; }
@keyframes rapid-address-pulse {
  0% { box-shadow:0 0 0 0 var(--orange-light); }
  100% { box-shadow:0 0 0 8px transparent; }
}
.access-ground { background:var(--white); color:var(--text); }
.access-composition { width:min(var(--wrap), calc(100% - 48px)); margin:0 auto; padding:88px 0 96px; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,460px); gap:64px; align-items:start; }
.access-context { min-width:0; padding-top:32px; }
.access-context .eyebrow { color:var(--teal); margin-bottom:24px; }
.access-context h1 { font-size:var(--h2); font-weight:var(--weight-bold); line-height:1.25; color:var(--ink); letter-spacing:-.01em; }
.access-context .section-intro { max-width:480px; font-size:var(--body); line-height:1.8; margin-top:24px; }
.access-home { display:inline-flex; align-items:center; gap:8px; margin-top:32px; color:var(--teal); font-size:var(--small); font-weight:var(--weight-bold); }
.access-home svg { width:18px; height:18px; flex:none; }
.access-home:hover { text-decoration:underline; text-underline-offset:4px; }
.access-ticket { display:flex; align-items:flex-start; gap:20px; margin-top:64px; padding:24px; background:var(--ink); color:var(--on-dark); border-radius:var(--radius-card); }
.access-ticket>svg { width:64px; height:40px; flex:none; }
.access-ticket strong { display:block; font-size:var(--small); }
.access-ticket p { margin-top:12px; font-size:var(--small); color:var(--on-dark-copy); line-height:1.8; }
.access-card { padding:40px; border:1px solid var(--line); border-top:4px solid var(--orange); border-radius:var(--radius-panel); background:var(--paper); color:var(--ink); }
.access-card-heading { margin-bottom:32px; }
.access-card-heading p { margin-top:12px; color:var(--muted); font-size:var(--micro); }
.access-card .login-pane { gap:16px; max-width:640px; }
.access-card h2 { font-size:var(--display); line-height:1.4; color:var(--ink); }
.access-description { font-size:var(--small); color:var(--muted); line-height:1.8; }
.access-card form { margin-top:8px; }
.access-card .form-stack { gap:20px; }
.access-card .form-stack>.pill { width:100%; }
.access-card input { min-height:48px; width:100%; }
.access-card input[name=code],.access-card input[name=totp] { font-family:var(--mono); letter-spacing:.16em; }
.access-fine { font-size:var(--micro); color:var(--muted); line-height:1.7; }
.access-card .auth-notice { margin:12px 0 24px; padding:12px 16px; overflow-wrap:anywhere; }
.access-card .auth-actions { gap:8px; margin-top:8px; }
.access-card .auth-actions button { min-height:40px; font-size:var(--small); background:var(--white); color:var(--ink); }
.access-card .auth-actions button:hover { background:var(--ink); color:var(--on-dark); border-color:var(--ink); }
.access-legal { margin-top:32px; padding-top:24px; border-top:1px solid var(--line); font-size:var(--micro); color:var(--muted); line-height:1.8; }
.access-legal a { color:var(--teal); text-decoration:underline; text-underline-offset:3px; }
.desk-ground { background:var(--white); color:var(--text); }
.rapid-workspace { padding-top:32px; }
.workspace-identity { padding:24px 0 32px; margin-bottom:40px; border-bottom:1px solid var(--line); gap:16px; }
.identity-mark { width:48px; height:48px; display:flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--paper); color:var(--ink); flex:none; }
.identity-mark svg { width:36px; height:36px; }
.identity-copy { flex:1; min-width:0; }
.identity-copy p { color:var(--muted); font-size:var(--micro); }
.identity-copy strong { display:block; margin-top:4px; color:var(--ink); font-weight:var(--weight-bold); font-size:var(--body); }
.identity-note { flex-basis:100%; margin-left:64px; color:var(--muted); font-size:var(--small); }
.workspace-error { padding:16px 20px; margin:0 0 32px; border:1px solid var(--orange-line); border-radius:var(--radius-panel); background:var(--orange-wash); color:var(--ink); font-size:var(--small); }
.workspace-layout { display:grid; grid-template-columns:208px minmax(0,1fr); gap:48px; align-items:start; }
.workspace-map { position:sticky; top:calc(var(--header-h) + 24px); min-width:0; }
.workspace-map h1 { font-size:var(--display); line-height:1.4; color:var(--ink); }
.workspace-map>p { margin-top:16px; color:var(--muted); font-size:var(--small); }
.workspace-map nav { display:grid; gap:8px; margin-top:32px; }
.workspace-map nav a { display:flex; gap:12px; align-items:center; padding:12px 0; color:var(--ink); font-size:var(--small); font-weight:var(--weight-label); }
.workspace-map nav a span { font-family:var(--mono); color:var(--orange-d); font-size:var(--micro); }
.workspace-map nav a:hover { color:var(--teal); }
.workspace-home { display:inline-block; margin-top:32px; font-size:var(--small); color:var(--teal); text-decoration:underline; text-underline-offset:4px; }
.workspace-content { min-width:0; display:grid; gap:40px; }
.issue-surface { padding:32px; }
.issue-surface .module-heading { display:block; margin-bottom:24px; }
.issue-surface .module-heading>.status-pill { margin-top:20px; background:var(--paper); color:var(--ink); border:1px solid var(--line); }
.workspace-content .eyebrow { margin-bottom:24px; color:var(--teal); }
.workspace-content .module-heading h2,.phone-surface h2 { font-size:var(--display); line-height:1.4; }
.module-description { color:var(--muted); font-size:var(--small); line-height:1.8; }
.issue-surface .alias-compose { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:12px; align-items:center; }
.issue-surface .prefix-field { position:relative; display:block; border:1px solid var(--stone); border-radius:var(--radius-control); background:var(--white); color:var(--ink); }
.issue-surface .prefix-field:focus-within { border-color:var(--ink); outline:1px solid var(--ink); outline-offset:0; }
.issue-surface .prefix-field input { padding-right:146px; border:0; background:transparent; color:var(--ink); }
.issue-surface .prefix-field input:focus { border:0; outline:0; box-shadow:none; }
.issue-surface .suffix { position:absolute; right:16px; top:50%; transform:translateY(-50%); color:var(--muted); font-size:var(--micro); pointer-events:none; }
.issue-surface .alias-compose button { padding:10px 16px; }
.field-help { margin-top:12px; color:var(--muted); font-size:var(--micro); line-height:1.7; }
.alias-empty { margin:0; width:100%; padding:20px; background:var(--paper); color:var(--text); }
.alias-row { gap:12px; }
.alias-row .alias-address { flex-basis:calc(100% - 120px); }
.alias-row .row-actions { flex-basis:100%; gap:8px; }
.alias-row .row-actions .abtn { font-size:var(--micro); }
.alias-statistics { margin-top:24px; padding:24px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--paper); color:var(--ink); }
.alias-statistics .module-heading { display:flex; align-items:center; gap:16px; margin-bottom:12px; }
.alias-statistics .module-heading h3 { flex:1; font-size:var(--h3); line-height:1.5; }
.alias-statistics h4 { margin-top:24px; font-size:var(--small); }
.statistics-address { font-family:var(--mono); font-size:var(--small); overflow-wrap:anywhere; }
.alias-stat-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:24px; }
.alias-stat-grid>div { padding:16px; background:var(--white); color:var(--ink); border:1px solid var(--line); border-radius:var(--radius-panel); }
.alias-stat-grid dt { color:var(--muted); font-size:var(--micro); }
.alias-stat-grid dd { margin-top:8px; font-size:var(--display); font-family:var(--mono); }
.statistics-senders { list-style:none; font-size:var(--small); margin-top:12px; overflow-wrap:anywhere; }
.statistics-senders li { padding:4px 0; }
.record-surface { padding:32px; background:var(--paper); color:var(--ink); }
.record-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:12px; justify-content:space-between; margin-top:24px; }
.record-toolbar .filter-menu { left:0; right:auto; min-width:220px; }
.record-toolbar .filter-menu button { white-space:nowrap; }
.record-toolbar .filter-trigger { background:var(--white); color:var(--ink); border:1px solid var(--stone); }
.archive-empty { width:100%; margin:24px 0 0; background:var(--white); color:var(--text); }
.record-surface .archive-row:first-child { border-top:0; }
.record-surface .archive-row { gap:16px; padding:20px 0; font-size:var(--small); }
.record-surface .archive-row:hover { background:var(--paper2); color:var(--ink); }
.record-surface .archive-meta { flex-wrap:wrap; justify-content:flex-end; max-width:210px; }
.record-surface .archive-meta time { white-space:nowrap; color:var(--muted); }
.record-more { margin-top:24px; }
.record-more:has(>button[hidden]) { display:none; }
.archive-detail-head { align-items:center; }
.archive-detail-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.archive-detail-actions button { align-self:center; min-height:36px; height:auto; font-size:var(--micro); }
.archive-letterhead { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; margin-top:24px; padding-bottom:16px; border-bottom:1px solid var(--line); font-size:var(--small); color:var(--muted); }
.archive-letterhead>span { flex:1; min-width:0; overflow-wrap:anywhere; }
.archive-letterhead time { white-space:nowrap; }
.archive-files { margin-top:24px; padding-top:24px; border-top:1px solid var(--line); }
.archive-files h3 { font-size:var(--h3); color:var(--ink); }
.archive-files>p { margin-top:12px; font-size:var(--micro); color:var(--muted); }
.archive-files [data-archive-attachments]>p { margin-top:12px; font-size:var(--small); color:var(--muted); }
.attachment-row { display:flex; align-items:center; gap:16px; padding:12px 0; }
.attachment-row>span { flex:1; min-width:0; overflow-wrap:anywhere; font-size:var(--small); }
.attachment-row button { flex:none; }
.phone-surface { padding:32px; background:var(--teal-pale); color:var(--ink); border:1px solid var(--line); }
.phone-surface .twofa-description { flex-basis:100%; }
.phone-controls { display:flex; align-items:center; flex-wrap:wrap; gap:24px; width:100%; }
.phone-controls [data-twofa-start] { margin-left:auto; }
.phone-surface .status-pill.is-off { background:var(--white); color:var(--muted); border:1px solid var(--stone); }
.phone-surface .status-pill.is-enabled { background:var(--ink); color:var(--on-dark); }
.phone-surface .twofa-steps { grid-template-columns:minmax(0,1fr); gap:12px; }
.phone-surface .twofa-steps li { align-items:center; line-height:1.7; }
.phone-surface .twofa-setup { margin-top:24px; padding-top:24px; margin-bottom:24px; }
.qr-column { min-width:0; }
.qr-column p { margin-top:12px; font-size:var(--micro); line-height:1.7; color:var(--muted); }
.setup-instructions { min-width:0; }
.setup-instructions h3 { font-size:var(--h3); line-height:1.5; color:var(--ink); }
.setup-instructions>p { margin-top:12px; font-size:var(--small); line-height:1.8; color:var(--muted); }
.setup-instructions form { margin-top:24px; }
.setup-instructions .twofa-secret { padding:12px 0; border-bottom:1px solid var(--line); }
.twofa-secret code { flex:1; min-width:0; font-family:var(--mono); font-size:var(--small); color:var(--ink); letter-spacing:0; }
.twofa-secret button { white-space:nowrap; }
.phone-surface .twofa-confirm-actions { margin-top:12px; align-items:center; gap:8px; }
.phone-surface .twofa-confirm-actions input { width:112px; max-width:100%; font-family:var(--mono); font-size:var(--small); }
.phone-surface .twofa-confirm-actions button { font-size:var(--small); padding:10px 16px; }
.twofa-disable-pane { margin-top:24px; padding-top:24px; border-top:1px solid var(--line); }
.twofa-disable-pane>p { font-size:var(--small); color:var(--muted); }
.twofa-disable-pane form { margin-top:20px; }
@media (max-width:1100px) {
  .access-composition { gap:40px; }
  .access-card { padding:32px; }
  .workspace-layout { grid-template-columns:180px minmax(0,1fr); gap:24px; }
  .issue-surface .alias-compose { grid-template-columns:minmax(0,1fr) auto; }
  .issue-surface .alias-compose .prefix-field { grid-column:1/-1; }
  .issue-surface .alias-compose button { width:100%; }
  .record-surface .archive-row { grid-template-columns:minmax(0,1fr); gap:8px; }
  .record-surface .archive-meta { max-width:none; justify-content:flex-start; }
}
@media (max-width:960px) {
  .access-composition { grid-template-columns:minmax(0,1fr); max-width:var(--wrap); padding-top:40px; gap:32px; }
  .access-context { padding-top:0; }
  .access-context h1 br { display:none; }
  .access-context .section-intro { max-width:none; }
  .access-ticket { display:none; }
  .access-home { margin-top:20px; }
}
@media (max-width:860px) {
  .read.mobile-reader { inset:0; width:100%; height:100dvh; min-height:100dvh; border-radius:0; padding-top:var(--header-h); z-index:110; }
  .mobile-reader .read-h { flex:none; position:sticky; top:0; }
  .mobile-reader .reader-back { margin-right:8px; }
  .mobile-reader .reader-mobile-delete { display:inline-flex; margin-bottom:16px; }
  .sheet-open .top { z-index:100; }
  .workspace-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
  .workspace-map { position:static; }
  .workspace-map nav { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:16px; }
  .workspace-map nav a { padding:8px 0; }
  .workspace-home { margin-top:16px; }
  .workspace-content { gap:32px; }
  .phone-surface .setup-grid { grid-template-columns:180px minmax(0,1fr); }
}
@media (max-width:720px) {
  .alias-row .alias-address { flex-basis:100%; }
  .issue-surface .alias-compose { grid-template-columns:minmax(0,1fr); }
  .issue-surface .alias-compose .prefix-field { grid-column:auto; }
  .issue-surface .alias-compose button { width:100%; }
}
@media (max-width:560px) {
  .access-composition { width:calc(100% - 32px); padding:32px 0 64px; }
  .access-context h1 { font-size:var(--h2); line-height:1.3; }
  .access-home { align-items:flex-start; font-size:var(--small); }
  .access-home svg { margin-top:3px; }
  .access-card { padding:24px; }
  .access-card h2 { font-size:var(--h3); }
  .access-card-heading { margin-bottom:24px; }
  .workspace-identity { margin-bottom:32px; padding-top:8px; gap:12px; }
  .identity-copy strong { font-size:var(--small); }
  .identity-note { margin-left:0; }
  .workspace-identity [data-logout] { margin-left:60px; }
  .workspace-map h1 { font-size:var(--display); }
  .workspace-map nav { gap:4px 16px; }
  .workspace-map nav a { font-size:var(--micro); gap:6px; }
  .issue-surface,.record-surface,.phone-surface { padding:24px 16px; }
  .workspace-content .module-heading h2,.phone-surface h2 { font-size:var(--h3); }
  .issue-surface .prefix-field input { padding-right:138px; }
  .issue-surface .suffix { right:12px; }
  .alias-statistics { padding:16px; }
  .alias-stat-grid { gap:8px; }
  .alias-stat-grid>div { padding:12px 8px; }
  .alias-stat-grid dd { font-size:var(--h3); }
  .alias-row .row-actions { gap:6px; }
  .alias-row .row-actions .abtn { padding:8px 12px; }
  .archive-detail-head h2 { font-size:var(--h3); flex-basis:100%; }
  .archive-detail-actions { width:100%; }
  .phone-controls { gap:16px; }
  .phone-controls [data-twofa-start] { margin-left:0; }
  .phone-surface .setup-grid { grid-template-columns:minmax(0,1fr); }
  .qr-column { max-width:240px; }
  .phone-surface .twofa-confirm-actions { display:flex; align-items:center; flex-wrap:wrap; }
  .phone-surface .twofa-confirm-actions input { flex:0 1 112px; min-width:0; }
  .phone-surface .twofa-confirm-actions button { flex:0 1 auto; width:auto; }
  .read.mobile-reader .read-b { min-height:0; }
}

/* Shared repair components. */
.brand-name { display:inline-block; flex:none; white-space:nowrap; }
.hero-actions { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:16px; }
.reader-letterhead { min-width:0; overflow-wrap:anywhere; }
[data-demo-brand] { align-items:flex-start; }
.archive-filter { display:inline-flex; align-items:center; }
.alias-row .status-pill.is-active { background:var(--teal-pale); color:var(--teal); }
.alias-row .status-pill.is-paused { background:var(--paper2); color:var(--muted); }
html[lang=zh] h1,html[lang=zh] h2 { text-wrap:balance; }
.site-header { position:sticky; top:0; z-index:50; background:var(--ink); color:var(--on-dark); border-bottom:1px solid var(--ink3); }
.foot-column-title { display:block; font-size:var(--small); font-weight:var(--weight-bold); color:var(--ink); }


/* Privacy document. */
.privacy-hero { background:var(--paper); color:var(--ink); padding:64px 0; }
.privacy-hero .eyebrow { margin:0 0 24px; color:var(--teal); }
.privacy-hero h1 { max-width:960px; font-weight:var(--weight-bold); }
.privacy-intro { max-width:760px; font-size:var(--body); line-height:1.8; }
.privacy-revision { display:flex; flex-wrap:wrap; align-items:center; gap:8px 24px; margin-top:24px; font-size:var(--micro); color:var(--muted); }
.privacy-revision a { color:var(--teal); overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:3px; }
.legal-glance.privacy-glance { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:48px; }
.privacy-glance-card { display:flex; flex-direction:column; align-items:flex-start; padding:24px; min-width:0; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--white); color:var(--text); }
.privacy-glance-label { font-size:var(--micro); color:var(--teal); font-weight:var(--weight-label); }
.privacy-glance-card h2 { margin-top:16px; font-size:var(--display); font-weight:var(--weight-bold); line-height:1.4; color:var(--ink); }
.privacy-glance-card p { margin-top:16px; font-size:var(--small); line-height:1.8; color:var(--muted); }
.privacy-glance-card a { display:inline-flex; align-items:center; margin-top:24px; font-size:var(--small); font-weight:var(--weight-label); color:var(--teal); text-decoration:underline; text-underline-offset:4px; }
.privacy-document { padding-top:64px; }
.privacy-prose { min-width:0; }
.privacy-prose h2 { font-size:var(--display); font-weight:var(--weight-bold); line-height:1.4; }
.privacy-prose h3 { font-size:var(--h3); font-weight:var(--weight-bold); line-height:1.5; }
.privacy-section { scroll-margin-top:calc(var(--header-h) + 32px); }
.privacy-section + .privacy-section { margin-top:64px; }
.privacy-section > .eyebrow { margin:0 0 24px; color:var(--teal); }
.privacy-section > h2 { margin:0 0 24px; }
.privacy-flow { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; margin:24px 0 32px; padding:0; list-style:none; }
.privacy-prose .privacy-flow { margin:24px 0 32px; padding:0; }
.privacy-flow li { min-width:0; padding:24px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--white); color:var(--text); }
.privacy-flow-heading { display:flex; align-items:center; gap:16px; }
.privacy-flow-heading h3 { margin:0; }
.privacy-step { display:inline-flex; align-items:center; justify-content:center; flex:none; width:32px; height:32px; border:1px solid var(--orange-line); border-radius:50%; background:var(--orange-wash); color:var(--orange-d); font-family:var(--mono); font-size:var(--small); }
.privacy-flow li p { margin:16px 0; font-size:var(--small); line-height:1.8; }
.privacy-flow-data { display:block; font-family:var(--mono); font-size:var(--micro); color:var(--teal); overflow-wrap:anywhere; }
.privacy-route { margin:32px 0; padding:24px; border-radius:var(--radius-panel); background:var(--ink); color:var(--on-dark-copy); }
.privacy-route h3 { margin:0 0 16px; color:var(--on-dark); }
.privacy-route p { font-size:var(--small); }
.privacy-route p:last-child { margin-bottom:0; }
.privacy-route a { color:var(--orange-light); }
.privacy-retention-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:24px 0 32px; }
.privacy-retention-card { min-width:0; padding:24px; border-radius:var(--radius-card); border:1px solid var(--line); background:var(--paper); color:var(--ink); }
.privacy-retention-card > span { display:block; font-size:var(--small); color:var(--muted); }
.privacy-retention-card > strong { display:block; margin-top:12px; font-size:var(--display); font-weight:var(--weight-bold); line-height:1.4; }
.privacy-retention-card p { margin:16px 0 0; font-size:var(--small); line-height:1.8; }
.privacy-table { margin:24px 0 32px; border:1px solid var(--line); border-radius:var(--radius-panel); }
.privacy-table table { min-width:620px; line-height:1.8; }
.privacy-table caption { padding:16px; text-align:left; font-size:var(--small); font-weight:var(--weight-label); background:var(--paper); color:var(--ink); }
.privacy-table thead th { font-size:var(--small); color:var(--ink); }
.privacy-table tbody th { width:24%; font-size:var(--small); background:var(--white); color:var(--ink); }
.privacy-table td { color:var(--text); vertical-align:top; }
.privacy-table tr:last-child th,.privacy-table tr:last-child td { border-bottom:0; }
.privacy-delete-list { display:grid; gap:24px; margin:24px 0 32px; }
.privacy-delete-list > div { padding-left:24px; border-left:2px solid var(--orange-line); }
.privacy-delete-list dt { font-size:var(--h3); color:var(--ink); font-weight:var(--weight-label); }
.privacy-delete-list dd { margin-top:8px; font-size:var(--small); line-height:1.8; }
.privacy-safety-note { margin:24px 0 32px; padding:24px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--paper); color:var(--text); }
.privacy-safety-note h3 { margin:0 0 16px; }
.privacy-safety-note p { font-size:var(--small); }
.privacy-safety-note p:last-child { margin-bottom:0; }
.privacy-contact { padding:32px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--paper); color:var(--text); }
.privacy-request-note { margin:24px 0 32px; padding:16px; border:1px solid var(--orange-line); border-radius:var(--radius-panel); background:var(--white); color:var(--ink); }
.privacy-request-note strong { font-size:var(--small); font-weight:var(--weight-label); }
.privacy-request-note p { margin:8px 0 0; font-size:var(--small); }
.privacy-contact .actions { margin-top:24px; margin-bottom:24px; }
.privacy-contact .pill { height:auto; white-space:normal; text-decoration:none; }
.privacy-contact .pill-ink { background:var(--ink); color:var(--on-dark); }
.privacy-contact .pill-ink:hover { background:var(--ink3); color:var(--on-dark); }
.privacy-contact .pill-line { background:var(--white); color:var(--ink); }
.privacy-contact .pill-line:hover { background:var(--paper2); color:var(--ink); }
.privacy-contact-address { font-size:var(--small); overflow-wrap:anywhere; }
@media (max-width:860px) {
  .privacy-hero { padding:48px 0; }
  .legal-glance.privacy-glance { gap:16px; margin-top:32px; }
  .privacy-glance-card { padding:20px; }
  .privacy-glance-card h2 { font-size:var(--h3); }
  .privacy-document { padding-top:40px; }
  .privacy-section + .privacy-section { margin-top:48px; }
  .privacy-section > .eyebrow { margin-bottom:24px; }
  .privacy-retention-cards { gap:16px; }
  .privacy-contact { padding:24px; }
}
@media (max-width:560px) {
  .privacy-hero { padding:40px 0; }
  .privacy-hero h1 { font-size:var(--h2); line-height:1.3; }
  .privacy-revision { flex-direction:column; align-items:flex-start; gap:8px; }
  .legal-glance.privacy-glance { grid-template-columns:minmax(0,1fr); }
  .privacy-glance-card { padding:24px; }
  .privacy-glance-card a { margin-top:20px; }
  .privacy-document { padding-top:32px; }
  .privacy-flow li { padding:20px; }
  .privacy-flow-heading { gap:12px; }
  .privacy-route { padding:20px; }
  .privacy-retention-cards { grid-template-columns:minmax(0,1fr); }
  .privacy-retention-card { padding:24px; }
  .privacy-table table { min-width:580px; }
  .privacy-delete-list > div { padding-left:16px; }
  .privacy-safety-note { padding:20px; }
  .privacy-contact { padding:24px 20px; }
  .privacy-contact .actions { align-items:stretch; flex-direction:column; }
  .privacy-contact .pill { width:100%; }
}


/* Terms page: ticket summaries and service boundaries. */
.terms-hero { background:var(--ink); color:var(--on-dark); padding:64px 0; }
.terms-hero .eyebrow { margin:0 0 24px; color:var(--orange-light); }
.terms-hero h1 { color:var(--on-dark); font-size:var(--h2); line-height:1.25; font-weight:var(--weight-bold); }
.terms-hero .terms-intro { max-width:760px; margin-top:24px; color:var(--on-dark-copy); font-size:var(--body); line-height:1.8; }
.terms-version { margin-top:24px; color:var(--on-dark-m); font-size:var(--micro); }
.terms-legal-glance { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:48px; }
.terms-glance-card { position:relative; padding:24px; border-radius:var(--radius-panel); border:1px solid var(--line); background:var(--paper); color:var(--text); }
.terms-glance-card>svg { width:32px; height:32px; color:var(--orange-d); margin-bottom:24px; }
.terms-glance-card h2 { font-size:var(--h3); line-height:1.5; font-weight:var(--weight-bold); color:var(--ink); }
.terms-glance-card p { margin-top:12px; font-size:var(--small); line-height:1.8; }
.terms-glance-card a { display:inline-block; margin-top:24px; color:var(--teal); font-size:var(--small); font-weight:var(--weight-bold); text-decoration:underline; text-underline-offset:4px; }
.terms-glance-card a:focus-visible { outline-color:var(--ink); }
.terms-reading { padding-top:64px; }
.terms-prose { overflow-wrap:anywhere; }
.terms-prose .terms-opening { margin-top:0; padding-bottom:24px; border-bottom:1px solid var(--line); color:var(--muted); }
.terms-prose h2 { font-size:var(--display); line-height:1.4; font-weight:var(--weight-bold); margin:48px 0 24px; color:var(--ink); }
.terms-prose h3 { font-size:var(--h3); line-height:1.5; font-weight:var(--weight-bold); color:var(--ink); }
.terms-prose section[id] { scroll-margin-top:calc(var(--header-h) + 24px); }
.terms-prose li+li { margin-top:12px; }
.terms-boundary-table { margin-top:24px; margin-bottom:32px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--white); color:var(--text); }
.terms-boundary-table table { min-width:560px; }
.terms-boundary-table caption { padding:16px; text-align:left; font-size:var(--small); font-weight:var(--weight-bold); background:var(--paper); color:var(--ink); }
.terms-boundary-table th,.terms-boundary-table td { vertical-align:top; line-height:1.7; }
.terms-boundary-table thead th { background:var(--paper2); color:var(--ink); }
.terms-boundary-table tbody th { width:20%; font-size:var(--small); background:var(--paper); color:var(--ink); }
.terms-boundary-table td { width:40%; }
.terms-boundary-table tbody tr:last-child th,.terms-boundary-table tbody tr:last-child td { border-bottom:0; }
.terms-prose .terms-lifetime-note { border-left:4px solid var(--orange); margin-top:24px; margin-bottom:32px; }
.terms-prose .terms-lifetime-note h3 { margin:0; }
.terms-prose .terms-lifetime-note p { margin:12px 0 0; }
.terms-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:24px; margin:24px 0 32px; }
.terms-choice-card { min-width:0; padding:24px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--paper); color:var(--text); }
.terms-choice-caution { background:var(--orange-wash); color:var(--text); border-color:var(--orange-line); }
.terms-choice-heading { display:flex; align-items:flex-start; gap:12px; }
.terms-choice-heading svg { width:24px; height:24px; flex:none; margin-top:2px; color:var(--teal); }
.terms-choice-caution .terms-choice-heading svg { color:var(--orange-d); }
.terms-prose .terms-choice-heading h3 { margin:0; }
.terms-prose .terms-choice-list { list-style:none; padding:0; margin:24px 0 0; }
.terms-prose .terms-choice-list li { padding:16px 0; margin:0; font-size:var(--small); line-height:1.8; }
.terms-prose .terms-choice-list li+li { border-top:1px solid var(--line); }
.terms-choice-list strong { display:block; color:var(--ink); font-weight:var(--weight-bold); }
.terms-choice-list span { display:block; margin-top:8px; }
.terms-prose .article-cta h2 { margin:0 0 24px; color:var(--on-dark); }
.terms-prose .article-cta p { color:var(--on-dark-copy); }
.terms-prose .article-cta .pill-o { background:transparent; color:var(--on-dark); text-decoration:none; }
.terms-prose .article-cta .pill-o:hover { background:var(--white); color:var(--ink); }
@media (max-width:860px) {
  .terms-hero { padding:48px 0; }
  .terms-legal-glance { grid-template-columns:minmax(0,1fr); gap:16px; margin-top:32px; }
  .terms-glance-card { padding:24px; }
  .terms-glance-card>svg { margin-bottom:16px; }
  .terms-glance-card a { margin-top:16px; }
  .terms-reading { padding-top:32px; }
  .terms-choice-grid { grid-template-columns:minmax(0,1fr); }
  .terms-prose h2 { margin-top:40px; }
  .terms-boundary-table { max-width:100%; }
  .terms-prose .article-cta { padding:24px; }
}
@media (max-width:560px) {
  .terms-hero { padding:40px 0; }
  .terms-version { line-height:1.8; }
  .terms-choice-card { padding:24px 20px; }
  .terms-prose .article-cta .actions { flex-direction:column; align-items:center; }
  .terms-prose .article-cta .pill { white-space:normal; height:auto; text-align:center; }
}


/* Survey and event registration guide. */
.survey-hero { background:var(--ink); color:var(--on-dark); text-align:center; padding:64px 0; }
.survey-hero .eyebrow { color:var(--orange-light); margin-bottom:24px; }
.survey-hero h1 { color:var(--on-dark); font-size:var(--h1); font-weight:var(--weight-bold); line-height:1.12; letter-spacing:-.01em; }
.survey-hero .section-intro { max-width:720px; margin:24px auto 0; color:var(--on-dark-copy); font-size:var(--h3); line-height:1.8; }
.survey-hero .actions { justify-content:center; margin-top:32px; gap:16px; }
.survey-ticket { max-width:880px; margin:48px auto 0; padding:24px 32px; display:flex; align-items:center; gap:24px; text-align:left; border:1px solid var(--on-dark-line); border-radius:var(--radius-panel); background:var(--ink2); color:var(--on-dark); }
.survey-ticket>svg { width:64px; height:44px; flex:none; color:var(--orange-light); }
.survey-ticket p { font-size:var(--small); line-height:1.8; }
.survey-ticket strong { display:block; font-weight:var(--weight-bold); }
.survey-ticket p>span { display:block; margin-top:8px; color:var(--on-dark-copy); }
.survey-section { padding:96px 0; background:var(--white); color:var(--text); }
.survey-heading { max-width:880px; margin:0 auto 48px; text-align:center; }
.survey-heading .eyebrow { margin-bottom:24px; color:var(--teal); }
.survey-heading .section-intro { max-width:760px; margin:24px auto 0; line-height:1.8; }
.survey-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; }
.survey-choice { min-width:0; padding:32px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--paper); color:var(--text); }
.survey-choice-teal { background:var(--teal-pale); color:var(--ink); }
.survey-choice-icon { width:48px; height:48px; margin-bottom:24px; display:grid; place-items:center; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--white); color:var(--teal); }
.survey-choice-icon svg { width:32px; height:32px; }
.survey-choice .status-pill { background:var(--white); color:var(--ink); border:1px solid var(--line); }
.survey-choice h3 { font-size:var(--h3); font-weight:var(--weight-bold); color:var(--ink); line-height:1.4; margin-top:24px; }
.survey-choice>p { margin-top:16px; font-size:var(--small); line-height:1.8; }
.survey-facts { margin-top:24px; padding-top:16px; border-top:1px solid var(--line); font-size:var(--small); }
.survey-facts>div { margin-top:16px; }
.survey-facts>div:first-child { margin-top:0; }
.survey-facts dt { font-size:var(--micro); color:var(--muted); }
.survey-facts dd { margin-top:4px; line-height:1.7; }
.survey-text-link { display:inline-flex; align-items:center; max-width:100%; margin-top:24px; color:var(--teal); font-size:var(--small); font-weight:var(--weight-bold); line-height:1.6; text-decoration:underline; text-underline-offset:4px; }
.survey-text-link:hover { color:var(--ink); }
.survey-after-note { max-width:880px; margin:32px auto 0; color:var(--muted); font-size:var(--small); text-align:center; line-height:1.8; }
.survey-example-section { padding:96px 0; background:var(--paper); color:var(--text); }
.survey-example-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:start; }
.survey-process { list-style:none; }
.survey-process li { display:grid; grid-template-columns:48px minmax(0,1fr); gap:24px; padding:24px 0; border-bottom:1px solid var(--line); }
.survey-process li:first-child { padding-top:0; }
.survey-process li:last-child { border-bottom:0; padding-bottom:0; }
.survey-step-number { width:48px; height:36px; display:flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:var(--radius-control); background:var(--white); color:var(--orange-d); font-family:var(--mono); font-size:var(--small); }
.survey-process h3 { margin-top:4px; font-size:var(--h3); line-height:1.5; color:var(--ink); }
.survey-process p { margin-top:12px; font-size:var(--small); color:var(--muted); line-height:1.8; }
.survey-process a { color:var(--teal); text-decoration:underline; text-underline-offset:3px; }
.survey-preview { min-width:0; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--white); color:var(--text); box-shadow:var(--shadow-card); overflow:hidden; }
.survey-preview-heading { display:flex; flex-direction:column; align-items:flex-start; gap:16px; padding:24px; background:var(--ink2); color:var(--on-dark); }
.survey-preview-heading .status-pill { background:var(--paper2); color:var(--ink); }
.survey-preview-heading strong { font-size:var(--h3); line-height:1.4; }
.survey-preview-heading>span:last-child { font-size:var(--micro); color:var(--on-dark-copy); line-height:1.7; }
.survey-preview-address { display:grid; gap:8px; padding:16px 24px; border-bottom:1px solid var(--line); font-size:var(--micro); color:var(--muted); }
.survey-preview-address code { display:block; max-width:100%; overflow:auto; white-space:nowrap; font-size:var(--small); letter-spacing:0; color:var(--ink); }
.survey-preview-row { display:flex; align-items:center; gap:12px; padding:16px 24px; border-bottom:1px solid var(--line); background:var(--orange-wash); color:var(--ink); }
.survey-preview-row>div { flex:1; min-width:0; font-size:var(--small); }
.survey-preview-row>div>span { display:block; margin-top:4px; font-size:var(--micro); color:var(--muted); }
.survey-preview-row>.status-pill { flex:none; }
.survey-preview-letter { padding:24px; }
.survey-preview-letterhead { display:flex; align-items:center; gap:12px; padding-bottom:16px; border-bottom:1px solid var(--line); color:var(--ink); font-size:var(--small); }
.survey-preview-letterhead svg { width:40px; height:28px; flex:none; color:var(--orange); }
.survey-preview-letter p { font-size:var(--small); line-height:1.8; margin-top:16px; }
.survey-preview-code { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:24px; padding:24px 16px; background:var(--code-paper); color:var(--ink); }
.survey-preview-code code { font-family:var(--mono); font-size:var(--h2); font-weight:var(--weight-label); line-height:1.1; letter-spacing:.12em; }
.survey-preview-code span { color:var(--muted); font-size:var(--micro); line-height:1.6; }
.survey-preview-letter>small { display:block; margin-top:24px; padding-top:16px; border-top:1px solid var(--line); font-size:var(--micro); color:var(--muted); line-height:1.8; }
.survey-preview-end { display:flex; align-items:center; gap:12px; padding:16px 24px; border-top:1px solid var(--line); color:var(--teal); font-size:var(--micro); }
.survey-preview-end svg { width:20px; height:20px; flex:none; }
.survey-wait-note { margin-top:48px; padding:32px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--white); color:var(--text); }
.survey-wait-note h3 { font-size:var(--h3); line-height:1.5; color:var(--ink); }
.survey-wait-note p { margin-top:16px; font-size:var(--small); line-height:1.8; color:var(--muted); max-width:960px; }
.survey-wait-note .survey-text-link { margin-top:16px; }
.survey-matrix-card { border:1px solid var(--line); border-radius:var(--radius-card); background:var(--paper); color:var(--ink); overflow:hidden; }
.survey-matrix-heading { padding:32px; }
.survey-matrix-heading h3 { font-size:var(--display); line-height:1.4; }
.survey-matrix-heading p { margin-top:16px; font-size:var(--small); color:var(--muted); line-height:1.8; }
.survey-matrix-scroll { overflow-x:auto; padding:0 32px 32px; }
.survey-matrix { min-width:800px; background:var(--white); color:var(--text); }
.survey-matrix th,.survey-matrix td { padding:24px; line-height:1.7; }
.survey-matrix thead th { background:var(--ink2); color:var(--on-dark); font-size:var(--small); }
.survey-matrix tbody th { width:16%; background:var(--white); color:var(--ink); font-size:var(--small); font-weight:var(--weight-bold); }
.survey-matrix td:nth-child(2) { width:30%; }
.survey-matrix td:nth-child(3) { width:23%; }
.survey-matrix .status-pill { white-space:normal; }
.survey-matrix-follow { max-width:880px; margin:32px auto 0; text-align:center; font-size:var(--small); color:var(--muted); line-height:1.8; }
.survey-matrix-follow strong { color:var(--ink); }
.survey-matrix-follow .survey-text-link { margin-top:16px; }
.survey-boundary-section { padding:96px 0; background:var(--teal); color:var(--on-dark); }
.survey-boundary-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:64px; align-items:start; }
.survey-boundary-intro { min-width:0; padding-top:24px; }
.survey-boundary-intro .eyebrow { color:var(--orange-light); margin-bottom:24px; }
.survey-boundary-intro .h2 { color:var(--on-dark); }
.survey-boundary-intro .section-intro { color:var(--teal-pale); line-height:1.8; }
.survey-boundary-intro .survey-text-link { color:var(--on-dark); margin-top:32px; }
.survey-boundary-intro .survey-text-link:hover { color:var(--orange-light); }
.survey-boundary-cards { display:grid; gap:24px; min-width:0; }
.survey-boundary-card { padding:32px; border-radius:var(--radius-card); background:var(--white); color:var(--text); }
.survey-boundary-index { font-size:var(--micro); font-weight:var(--weight-label); color:var(--teal); font-family:var(--mono); }
.survey-boundary-card h3 { margin-top:16px; font-size:var(--h3); color:var(--ink); line-height:1.5; }
.survey-boundary-card p { margin-top:12px; font-size:var(--small); line-height:1.8; color:var(--muted); }
.survey-boundary-card a { color:var(--teal); text-decoration:underline; text-underline-offset:3px; }
.survey-last-check { background:var(--white); color:var(--text); }
.survey-checklist { list-style:none; max-width:880px; margin:0 auto; display:grid; gap:24px; }
.survey-checklist li { display:flex; align-items:flex-start; gap:16px; padding:24px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--paper); color:var(--ink); }
.survey-checkmark { display:flex; align-items:center; justify-content:center; flex:none; width:28px; height:28px; border-radius:50%; background:var(--teal); color:var(--on-dark); font-size:var(--small); }
.survey-checklist strong { font-size:var(--h3); line-height:1.5; font-weight:var(--weight-bold); }
.survey-checklist p { margin-top:8px; font-size:var(--small); color:var(--muted); line-height:1.8; }
.survey-related { max-width:880px; margin:32px auto 0; text-align:center; color:var(--muted); font-size:var(--small); line-height:1.8; }
.survey-related a { color:var(--teal); text-decoration:underline; text-underline-offset:4px; }
.survey-final { text-align:center; }
.survey-final .h2 { max-width:880px; margin:0 auto; }
.survey-final .section-intro { max-width:760px; margin:24px auto 0; }
.survey-final-note { margin:32px auto 0; max-width:720px; font-size:var(--micro); color:var(--on-dark-m); line-height:1.8; }
@media (max-width:1100px) {
  .survey-hero h1 { font-size:52px; }
  .survey-choice { padding:24px; }
  .survey-example-layout { gap:32px; }
  .survey-boundary-layout { gap:40px; }
}
@media (max-width:860px) {
  .survey-hero { padding:48px 0; }
  .survey-hero h1 { font-size:var(--h1); line-height:1.22; }
  .survey-hero .section-intro { font-size:var(--body); }
  .survey-ticket { padding:24px; align-items:flex-start; }
  .survey-section,.survey-example-section,.survey-boundary-section { padding:64px 0; }
  .survey-heading { margin-bottom:32px; }
  .survey-choices { grid-template-columns:minmax(0,1fr); gap:24px; }
  .survey-choice-icon { margin-bottom:16px; }
  .survey-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
  .survey-facts>div { margin-top:0; }
  .survey-example-layout { grid-template-columns:minmax(0,1fr); gap:40px; }
  .survey-preview { width:100%; max-width:640px; margin:0 auto; }
  .survey-matrix-heading { padding:24px; }
  .survey-matrix-scroll { padding:0 24px 24px; }
  .survey-boundary-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
  .survey-boundary-intro { padding-top:0; }
  .survey-boundary-intro .h2 br { display:none; }
  .survey-boundary-cards { gap:16px; }
  .survey-boundary-card { padding:24px; }
  .survey-checklist strong { font-size:var(--body); }
}
@media (max-width:560px) {
  .survey-hero { padding:40px 0; }
  .survey-hero h1 { font-size:var(--h1); line-height:1.25; }
  .survey-hero .actions { gap:12px; }
  .survey-ticket { margin-top:32px; gap:16px; padding:20px; }
  .survey-ticket>svg { width:40px; height:28px; margin-top:4px; }
  .survey-section,.survey-example-section,.survey-boundary-section { padding:48px 0; }
  .survey-choice { padding:24px; }
  .survey-facts { grid-template-columns:minmax(0,1fr); gap:16px; }
  .survey-process li { grid-template-columns:36px minmax(0,1fr); gap:16px; }
  .survey-step-number { width:36px; height:32px; font-size:var(--micro); }
  .survey-process h3 { margin-top:0; }
  .survey-preview-heading,.survey-preview-letter { padding:20px; }
  .survey-preview-address,.survey-preview-row,.survey-preview-end { padding:16px 20px; }
  .survey-preview-code { padding:20px 16px; }
  .survey-preview-code code { font-size:var(--h2); }
  .survey-wait-note { padding:24px; margin-top:32px; }
  .survey-matrix-heading { padding:24px 20px; }
  .survey-matrix-heading h3 { font-size:var(--h3); }
  .survey-matrix-scroll { padding:0 20px 20px; }
  .survey-matrix th,.survey-matrix td { padding:16px; }
  .survey-checklist li { padding:20px; gap:12px; }
  .survey-final-note { margin-top:24px; }
}


/* Lifespan planner. */
.planner-hero { padding:64px 0; background:var(--ink); color:var(--on-dark); }
.planner-hero-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; align-items:center; gap:64px; }
.planner-hero .eyebrow { color:var(--orange-light); margin-bottom:24px; }
.planner-hero h1 { font-size:var(--h2); line-height:1.25; font-weight:var(--weight-bold); max-width:720px; }
.planner-hero .section-intro { margin-top:24px; max-width:680px; font-size:var(--body); color:var(--on-dark-copy); }
.planner-hero .actions { margin-top:32px; }
.planner-text-link { color:var(--teal); font-size:var(--small); font-weight:var(--weight-bold); text-decoration:underline; text-underline-offset:4px; }
.planner-hero .planner-text-link { color:var(--on-dark); }
.planner-hero :focus-visible { outline-color:var(--on-dark); }
.planner-ticket { padding:32px; border:1px solid var(--on-dark-border); border-radius:var(--radius-panel); background:var(--ink2); color:var(--on-dark); }
.planner-ticket>svg { width:64px; height:40px; color:var(--orange-light); margin-bottom:24px; }
.planner-ticket-label { display:block; color:var(--on-dark-m); font-size:var(--micro); }
.planner-ticket strong { display:block; margin-top:16px; font-size:var(--h3); line-height:1.6; font-weight:var(--weight-bold); }
.planner-ticket p { margin-top:24px; font-size:var(--small); color:var(--on-dark-copy); line-height:1.8; }
.planner-section { padding:64px 0; background:var(--white); color:var(--text); }
.planner-paper { background:var(--paper); color:var(--text); }
.planner-section-heading { max-width:800px; margin-bottom:32px; }
.planner-section-heading .eyebrow { color:var(--teal); margin-bottom:24px; }
.planner-section-heading .section-intro { margin-top:24px; line-height:1.8; }
.planner-workbench { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--white); color:var(--text); }
.planner-form { min-width:0; padding:32px; }
.planner-field-heading { display:flex; align-items:center; gap:12px; margin-bottom:24px; }
.planner-field-heading h3 { font-size:var(--h3); line-height:1.4; color:var(--ink); font-weight:var(--weight-bold); }
.planner-step-number { display:inline-flex; flex:none; align-items:center; justify-content:center; width:36px; height:36px; border-radius:var(--radius-control); background:var(--paper); color:var(--orange-d); font-family:var(--mono); font-size:var(--micro); }
.planner-field-break { margin-top:32px; padding-top:32px; border-top:1px solid var(--line); }
.planner-task { position:relative; }
.planner-label { display:block; margin-bottom:8px; font-size:var(--small); font-weight:var(--weight-label); color:var(--ink); }
.planner-task-trigger { position:relative; display:flex; align-items:center; width:100%; min-height:48px; padding:12px 36px 12px 16px; border:1px solid var(--stone); border-radius:var(--radius-control); background:var(--white); color:var(--ink); font-size:var(--small); text-align:left; }
.planner-task-trigger:hover { background:var(--paper); color:var(--ink); }
.planner-task-trigger .chevron { right:18px; }
.planner-task-menu { position:absolute; top:calc(100% + 8px); left:0; right:auto; width:100%; z-index:20; padding:8px; border:1px solid var(--stone); border-radius:var(--radius-panel); box-shadow:var(--shadow-menu); background:var(--white); color:var(--ink); }
.planner-task-menu button { display:block; width:100%; padding:12px; border-radius:var(--radius-panel); background:var(--white); color:var(--ink); text-align:left; font-size:var(--small); }
.planner-task-menu button:hover,.planner-task-menu button[aria-pressed=true] { background:var(--paper); color:var(--ink); }
.planner-task-menu strong { display:block; font-weight:var(--weight-bold); }
.planner-task-menu button span { display:block; margin-top:4px; color:var(--muted); font-size:var(--micro); line-height:1.6; }
.planner-field-note { margin-top:12px; font-size:var(--micro); color:var(--muted); line-height:1.8; }
.planner-duration-line { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; }
.planner-number-field { position:relative; display:flex; align-items:center; width:176px; max-width:100%; flex:none; }
.planner-number-field input { min-width:0; width:100%; min-height:48px; padding-right:60px; font-family:var(--mono); font-size:var(--small); }
.planner-number-field>span { position:absolute; right:16px; font-size:var(--small); color:var(--muted); pointer-events:none; }
.planner-duration { font-family:var(--mono); font-size:var(--small); color:var(--teal); overflow-wrap:anywhere; }
.planner-range { display:block; width:100%; margin-top:16px; padding:0; height:24px; border:0; border-radius:var(--radius-control); accent-color:var(--teal); background:var(--white); color:var(--ink); cursor:pointer; }
.planner-label-spaced { margin-top:24px; }
.planner-check { display:flex; align-items:flex-start; gap:12px; margin:24px 0; color:var(--text); font-size:var(--small); line-height:1.7; }
.planner-check input { width:16px; height:16px; min-height:0; margin-top:5px; flex:none; padding:0; }
.planner-form>.pill { min-width:176px; }
.planner-form-note { margin-top:12px; color:var(--muted); font-size:var(--micro); line-height:1.7; }
.planner-result { min-width:0; padding:32px; border-left:1px solid var(--line); background:var(--paper); color:var(--ink); }
.planner-result-top { margin-bottom:32px; }
.planner-result-top .eyebrow { margin-bottom:24px; color:var(--muted); }
.planner-result-top h3 { font-size:var(--display); line-height:1.4; font-weight:var(--weight-bold); }
.planner-result-symbol { margin:32px 0; width:80px; color:var(--orange-d); }
.planner-result-symbol svg { width:64px; height:64px; }
.planner-result-lead { font-size:var(--h3); line-height:1.7; font-weight:var(--weight-label); }
.planner-result-copy { margin-top:24px; font-size:var(--small); line-height:1.8; color:var(--text); }
.planner-metrics { display:grid; gap:16px; }
.planner-metrics>div { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:8px 16px; }
.planner-metrics dt { font-size:var(--small); color:var(--muted); }
.planner-metrics dd { font-family:var(--mono); font-size:var(--body); font-weight:var(--weight-label); color:var(--ink); overflow-wrap:anywhere; }
.planner-metrics .planner-metric-total { margin-top:8px; padding-top:24px; border-top:1px solid var(--line); }
.planner-metric-total dd { font-size:var(--display); }
.planner-budget-line { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:12px; margin-top:32px; font-size:var(--micro); color:var(--muted); }
.planner-budget-line strong { font-weight:var(--weight-label); font-family:var(--mono); color:var(--ink); }
.planner-budget-progress { display:block; width:100%; height:8px; margin-top:12px; border:0; border-radius:var(--radius-control); overflow:hidden; appearance:none; background:var(--paper2); color:var(--teal); }
.planner-budget-progress::-webkit-progress-bar { background:var(--paper2); }
.planner-budget-progress::-webkit-progress-value { background:var(--teal); }
.planner-budget-progress::-moz-progress-bar { background:var(--teal); }
.planner-verdict { display:inline-flex; align-items:center; width:fit-content; margin-top:32px; padding:8px 16px; border-radius:var(--radius-control); background:var(--ink); color:var(--on-dark); font-size:var(--small); font-weight:var(--weight-bold); line-height:1.5; }
.planner-verdict[data-state=safe] { background:var(--teal); color:var(--on-dark); }
.planner-verdict[data-state=extend] { background:var(--orange-d); color:var(--on-dark); }
.planner-verdict[data-state=long] { background:var(--ink); color:var(--on-dark); }
.planner-result-footnote { margin-top:16px; font-size:var(--micro); line-height:1.8; color:var(--muted); }
.planner-error { margin-top:24px; padding:16px; border:1px solid var(--orange-line); border-radius:var(--radius-panel); background:var(--white); color:var(--orange-d); font-size:var(--small); line-height:1.7; }
.planner-under-note { max-width:920px; margin-top:24px; color:var(--muted); font-size:var(--small); line-height:1.8; }
.planner-noscript { margin-top:24px; }
.planner-choice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.planner-choice { min-width:0; padding:32px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--white); color:var(--text); }
.planner-choice>svg { width:32px; height:32px; margin-bottom:24px; color:var(--teal); }
.planner-choice h3 { font-size:var(--h3); color:var(--ink); line-height:1.4; }
.planner-choice p { margin-top:16px; font-size:var(--small); line-height:1.8; }
.planner-choice-note { display:block; margin-top:24px; font-size:var(--micro); color:var(--muted); line-height:1.8; }
.planner-explain-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:start; }
.planner-explain-layout .eyebrow { margin-bottom:24px; color:var(--teal); }
.planner-explain-layout .section-intro { line-height:1.8; }
.planner-contract-note { margin-top:32px; padding:24px; border-radius:var(--radius-panel); border:1px solid var(--orange-line); background:var(--orange-wash); color:var(--ink); }
.planner-contract-note strong { font-size:var(--small); font-weight:var(--weight-bold); }
.planner-contract-note p { margin-top:12px; font-size:var(--small); line-height:1.8; color:var(--text); }
.planner-operation-list { list-style:none; display:grid; gap:32px; }
.planner-operation-list li { display:grid; grid-template-columns:36px minmax(0,1fr); gap:16px; align-items:start; }
.planner-operation-list h3 { font-size:var(--h3); line-height:1.5; color:var(--ink); padding-top:4px; }
.planner-operation-list p { margin-top:12px; color:var(--muted); font-size:var(--small); line-height:1.8; }
.planner-comparison { margin-top:32px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--white); color:var(--text); }
.planner-comparison table { min-width:760px; }
.planner-comparison thead th { background:var(--paper2); color:var(--ink); }
.planner-comparison tbody th { width:17%; background:var(--white); color:var(--ink); font-size:var(--small); font-weight:var(--weight-label); }
.planner-comparison td { line-height:1.8; }
.planner-comparison tr:last-child th,.planner-comparison tr:last-child td { border-bottom:0; }
.planner-table-note { margin-top:32px; color:var(--muted); font-size:var(--small); line-height:1.8; }
.planner-table-note a,.planner-check-card a { color:var(--teal); text-decoration:underline; text-underline-offset:4px; }
.planner-check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.planner-check-card { padding:32px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--white); color:var(--text); }
.planner-check-index { display:block; color:var(--teal); font-family:var(--mono); font-size:var(--micro); margin-bottom:24px; }
.planner-check-card h3 { font-size:var(--h3); line-height:1.5; color:var(--ink); }
.planner-check-card p { margin-top:16px; font-size:var(--small); line-height:1.8; color:var(--muted); }
.planner-faq-wrap { max-width:var(--wrap); }
.planner-faq-wrap>.eyebrow { color:var(--teal); margin-bottom:24px; }
.planner-faq-list { margin-top:32px; }
.planner-faq-list .faq-details p { font-size:var(--small); line-height:1.8; color:var(--muted); }
.planner-final { padding:64px 0; text-align:center; background:var(--ink); color:var(--on-dark); }
.planner-final .eyebrow { margin:0 auto 24px; color:var(--orange-light); }
.planner-final .h2 { color:var(--on-dark); }
.planner-final .section-intro { max-width:720px; margin:24px auto 0; color:var(--on-dark-copy); font-size:var(--body); line-height:1.8; }
.planner-final .actions { justify-content:center; margin-top:32px; }
.planner-final-note { max-width:720px; margin:24px auto 0; font-size:var(--micro); line-height:1.8; color:var(--on-dark-m); }
.planner-final :focus-visible { outline-color:var(--on-dark); }
@media (max-width:1100px) {
  .planner-hero-layout { grid-template-columns:minmax(0,1fr) 288px; gap:32px; }
  .planner-choice { padding:24px; }
  .planner-explain-layout { gap:32px; }
}
@media (max-width:860px) {
  .planner-hero-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
  .planner-ticket { max-width:560px; }
  .planner-workbench { grid-template-columns:minmax(0,1fr); }
  .planner-result { border-left:0; border-top:1px solid var(--line); }
  .planner-result-symbol { margin:24px 0; }
  .planner-choice-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
  .planner-choice { padding:24px; }
  .planner-explain-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
  .planner-check-grid { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:560px) {
  .planner-hero { padding:40px 0; }
  .planner-hero h1 { font-size:var(--h2); line-height:1.3; }
  .planner-hero .actions { gap:16px; }
  .planner-ticket { padding:24px; }
  .planner-section { padding:48px 0; }
  .planner-form,.planner-result { padding:24px 16px; }
  .planner-task-menu { padding:4px; }
  .planner-duration-line { gap:12px 16px; }
  .planner-number-field { width:160px; }
  .planner-result-top h3 { font-size:var(--h3); }
  .planner-result-lead { font-size:var(--body); }
  .planner-metric-total dd { font-size:var(--h3); }
  .planner-choice,.planner-check-card { padding:24px; }
  .planner-contract-note { padding:20px; }
  .planner-operation-list { gap:24px; }
  .planner-final { padding:48px 0; }
  .planner-final .actions { flex-direction:column; align-items:center; }
  .planner-final .pill { white-space:normal; height:auto; max-width:100%; }
}


/* Expiry lifecycle guide. */
.expiry-hero { padding:48px 0 64px; background:var(--ink); color:var(--on-dark); }
.expiry-crumb { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-bottom:48px; color:var(--on-dark-m); font-size:var(--small); }
.expiry-crumb a:hover { color:var(--on-dark); text-decoration:underline; text-underline-offset:4px; }
.expiry-heading { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:64px; align-items:center; }
.expiry-heading .eyebrow { color:var(--orange-light); margin-bottom:24px; }
.expiry-heading h1 { font-size:var(--h2); font-weight:var(--weight-bold); line-height:1.25; letter-spacing:-.01em; color:var(--on-dark); }
.expiry-heading .section-intro { max-width:680px; margin-top:24px; color:var(--on-dark-copy); font-size:var(--body); line-height:1.8; }
.expiry-heading .actions { margin-top:32px; gap:24px; }
.expiry-hero-link { font-size:var(--small); font-weight:var(--weight-label); color:var(--on-dark); text-decoration:underline; text-underline-offset:5px; }
.expiry-hero-link:hover { color:var(--orange-light); }
.expiry-ticket { position:relative; padding:32px; background:var(--paper); color:var(--ink); border-radius:var(--radius-panel); border-top:4px solid var(--orange); }
.expiry-ticket>svg { width:64px; height:40px; }
.expiry-ticket-label { margin-top:24px; padding-top:24px; border-top:1px dashed var(--stone); font-size:var(--micro); color:var(--muted); }
.expiry-ticket strong { display:block; margin-top:8px; font-size:var(--display); line-height:1.4; font-weight:var(--weight-bold); }
.expiry-ticket>p:last-of-type { margin-top:16px; font-size:var(--small); color:var(--muted); line-height:1.8; }
.expiry-ticket>a { display:inline-block; margin-top:24px; color:var(--teal); font-size:var(--small); font-weight:var(--weight-bold); text-decoration:underline; text-underline-offset:4px; }
.expiry-overview { padding:64px 0; background:var(--white); color:var(--text); }
.expiry-section-heading { max-width:800px; }
.expiry-section-heading .eyebrow { color:var(--teal); margin-bottom:24px; }
.expiry-section-heading h2 { font-size:var(--h2); font-weight:var(--weight-bold); line-height:1.25; letter-spacing:-.01em; color:var(--ink); }
.expiry-section-heading .section-intro { margin-top:24px; font-size:var(--body); line-height:1.8; color:var(--muted); }
.expiry-track { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; margin-top:48px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--white); color:var(--text); }
.expiry-track>li { min-width:0; position:relative; padding:32px 24px; }
.expiry-track>li+li { border-left:1px solid var(--line); }
.expiry-track>li:last-child { background:var(--paper); color:var(--text); }
.expiry-number { display:inline-flex; justify-content:center; align-items:center; width:36px; height:36px; border-radius:50%; background:var(--ink); color:var(--on-dark); font-family:var(--mono); font-size:var(--small); }
.expiry-track h3 { margin-top:24px; font-size:var(--h3); line-height:1.4; color:var(--ink); }
.expiry-track p { margin-top:12px; font-size:var(--small); line-height:1.8; color:var(--muted); }
.expiry-track-action { display:block; margin-top:24px; font-size:var(--micro); font-weight:var(--weight-label); color:var(--teal); }
.expiry-caption { margin-top:24px; font-size:var(--small); line-height:1.8; color:var(--muted); }
.expiry-detail-section { padding:64px 0; background:var(--paper); color:var(--text); }
.expiry-detail-grid { display:grid; grid-template-columns:minmax(0, .85fr) minmax(0,1.15fr); gap:64px; align-items:start; }
.expiry-text-link { display:inline-block; max-width:100%; color:var(--teal); font-size:var(--small); font-weight:var(--weight-bold); text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.expiry-section-heading>.expiry-text-link { margin-top:32px; }
.expiry-text-link:hover { color:var(--ink); }
.expiry-notes { min-width:0; display:grid; gap:32px; }
.expiry-note { padding-left:24px; border-left:2px solid var(--orange-line); }
.expiry-note-index { display:block; font-family:var(--mono); font-size:var(--micro); color:var(--orange-d); }
.expiry-note h3 { margin-top:12px; font-size:var(--h3); line-height:1.5; color:var(--ink); }
.expiry-note p { margin-top:16px; font-size:var(--body); line-height:1.8; color:var(--text); }
.expiry-end-section { padding:64px 0; background:var(--white); color:var(--text); }
.expiry-end-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:40px; }
.expiry-end-card { padding:32px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--white); color:var(--text); }
.expiry-end-card .expiry-number { background:var(--orange-wash); color:var(--orange-d); }
.expiry-end-card h3 { margin-top:24px; font-size:var(--h3); line-height:1.5; color:var(--ink); }
.expiry-end-card p { margin-top:16px; font-size:var(--small); line-height:1.8; color:var(--muted); }
.expiry-end-note { margin-top:32px; padding:24px 32px; border-left:4px solid var(--teal); border-radius:var(--radius-panel); background:var(--teal-pale); color:var(--ink); }
.expiry-end-note strong { font-size:var(--body); font-weight:var(--weight-bold); }
.expiry-end-note p { margin-top:12px; font-size:var(--small); line-height:1.8; }
.expiry-end-note a { color:var(--teal); text-decoration:underline; text-underline-offset:4px; }
.expiry-branch-section { padding:64px 0; background:var(--paper); color:var(--text); scroll-margin-top:calc(var(--header-h) + 24px); }
.expiry-branch-origin { display:flex; align-items:center; justify-content:center; gap:12px; width:fit-content; max-width:100%; padding:16px 24px; margin:40px auto 32px; border:1px solid var(--stone); border-radius:var(--radius-control); background:var(--white); color:var(--ink); font-size:var(--small); font-weight:var(--weight-label); text-align:center; position:relative; }
.expiry-branch-origin>svg { width:32px; height:24px; flex:none; color:var(--orange-d); }
.expiry-branch-origin::after { content:""; position:absolute; top:100%; left:50%; height:32px; border-left:1px solid var(--stone); }
.expiry-branch-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; position:relative; }
.expiry-branch { padding:24px; border:1px solid var(--stone); border-radius:var(--radius-panel); background:var(--white); color:var(--text); }
.expiry-branch-keep { border-color:var(--teal); background:var(--white); color:var(--text); }
.expiry-branch h3 { margin-top:24px; font-size:var(--h3); line-height:1.5; color:var(--ink); }
.expiry-branch>p { margin-top:16px; font-size:var(--small); line-height:1.8; color:var(--muted); }
.expiry-branch dl { margin-top:24px; padding-top:16px; border-top:1px solid var(--line); font-size:var(--small); }
.expiry-branch dt { margin-top:12px; font-size:var(--micro); color:var(--muted); }
.expiry-branch dt:first-child { margin-top:0; }
.expiry-branch dd { margin-top:4px; color:var(--ink); font-weight:var(--weight-label); }
.expiry-branch .expiry-branch-advice { margin-top:24px; color:var(--text); font-size:var(--micro); }
.expiry-after-section { padding:64px 0; background:var(--white); color:var(--text); }
.expiry-after-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px; align-items:start; }
.expiry-after-copy { margin-top:24px; font-size:var(--body); line-height:1.8; color:var(--muted); }
.expiry-use-cases { display:grid; gap:24px; min-width:0; }
.expiry-use-card { padding:32px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--paper); color:var(--text); }
.expiry-use-card h3 { color:var(--ink); font-size:var(--h3); line-height:1.5; }
.expiry-use-card p { margin-top:16px; font-size:var(--small); line-height:1.8; color:var(--muted); }
.expiry-use-card .expiry-text-link { margin-top:24px; }
.expiry-next { padding:64px 0; background:var(--ink); color:var(--on-dark); text-align:center; }
.expiry-next .eyebrow { margin:0 auto 24px; color:var(--orange-light); }
.expiry-next h2 { font-size:var(--h2); line-height:1.25; color:var(--on-dark); }
.expiry-next .section-intro { max-width:720px; margin:24px auto 0; line-height:1.8; color:var(--on-dark-copy); }
.expiry-next .actions { justify-content:center; margin-top:32px; }
.expiry-next-links { display:flex; flex-wrap:wrap; justify-content:center; gap:16px 32px; margin-top:32px; font-size:var(--small); }
.expiry-next-links a { max-width:100%; color:var(--on-dark-copy); text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.expiry-next-links a:hover { color:var(--orange-light); }
@media (max-width:1100px) {
  .expiry-heading { gap:40px; }
  .expiry-detail-grid,.expiry-after-grid { gap:40px; }
  .expiry-branch-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
  .expiry-track>li { padding:24px 16px; }
}
@media (max-width:860px) {
  .expiry-hero { padding:40px 0 48px; }
  .expiry-crumb { margin-bottom:32px; }
  .expiry-heading { grid-template-columns:minmax(0,1fr); gap:32px; }
  .expiry-ticket { display:grid; grid-template-columns:64px minmax(0,1fr); gap:12px 24px; }
  .expiry-ticket>svg { grid-column:1; grid-row:1/3; }
  .expiry-ticket-label { grid-column:2; margin-top:0; padding-top:0; border:0; }
  .expiry-ticket strong { grid-column:2; margin-top:0; font-size:var(--h3); }
  .expiry-ticket strong br { display:none; }
  .expiry-ticket>p:last-of-type,.expiry-ticket>a { grid-column:1/-1; margin-top:8px; }
  .expiry-track { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .expiry-track>li { padding:24px; }
  .expiry-track>li:nth-child(3) { border-left:0; }
  .expiry-track>li:nth-child(n+3) { border-top:1px solid var(--line); }
  .expiry-detail-grid,.expiry-after-grid { grid-template-columns:minmax(0,1fr); gap:40px; }
  .expiry-end-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
  .expiry-end-card { display:grid; grid-template-columns:36px minmax(0,1fr); gap:12px 20px; padding:24px; }
  .expiry-end-card .expiry-number { grid-row:1/3; }
  .expiry-end-card h3 { margin-top:4px; }
  .expiry-end-card p { grid-column:2; margin-top:0; }
  .expiry-end-note { padding:24px; }
}
@media (max-width:560px) {
  .expiry-overview,.expiry-detail-section,.expiry-end-section,.expiry-branch-section,.expiry-after-section,.expiry-next { padding:48px 0; }
  .expiry-heading h1 { font-size:var(--h2); line-height:1.3; }
  .expiry-ticket { padding:24px; gap:12px 16px; }
  .expiry-track { grid-template-columns:minmax(0,1fr); margin-top:32px; }
  .expiry-track>li { padding:24px; display:grid; grid-template-columns:36px minmax(0,1fr); gap:12px 16px; }
  .expiry-track>li+li { border-left:0; border-top:1px solid var(--line); }
  .expiry-track .expiry-number { grid-row:1/4; }
  .expiry-track h3 { margin-top:4px; }
  .expiry-track p,.expiry-track-action { grid-column:2; margin-top:0; }
  .expiry-note { padding-left:16px; }
  .expiry-end-card { gap:12px 16px; }
  .expiry-branch-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
  .expiry-branch-origin { border-radius:var(--radius-panel); padding:16px; }
  .expiry-branch { padding:24px; }
  .expiry-use-card { padding:24px; }
  .expiry-next .actions { flex-direction:column; align-items:center; }
  .expiry-next .pill { white-space:normal; height:auto; line-height:1.35; }
  .expiry-next-links { flex-direction:column; align-items:center; gap:16px; }
}

.access-pass { min-width:0; }
.workspace-identity [data-logout] { background:var(--ink); color:var(--on-dark); border:1px solid var(--ink); }
.workspace-identity [data-logout]:hover { background:var(--ink3); color:var(--on-dark); border-color:var(--ink3); }
.section-head,.content-head { margin-bottom:var(--s6); }
.tool-legend {
  display:block;
  position:static;
  float:none;
  width:auto;
  margin:0 0 var(--s4);
  padding:0;
  border:0;
  background:transparent;
  color:var(--ink);
  font-size:var(--h3);
  font-weight:var(--weight-bold);
  line-height:1.4;
}
fieldset:has(> .tool-legend) { min-width:0; }


/* Dispatch index and long-form reading surfaces. */
.dispatch-list-hero { padding:var(--s7) 0; background:var(--paper); color:var(--ink); }
.dispatch-list-hero .eyebrow { margin:0 0 var(--s4); color:var(--teal); }
.dispatch-list-hero h1 { max-width:960px; font-size:var(--h2); font-weight:var(--weight-bold); line-height:1.25; letter-spacing:-.01em; }
.dispatch-list-hero .dispatch-count { display:flex; width:fit-content; margin:var(--s4) 0 0; border:1px solid var(--stone); background:var(--white); color:var(--ink); }
.dispatch-list-hero .section-intro { max-width:720px; margin-top:var(--s4); font-size:var(--body); line-height:1.8; color:var(--muted); }
.dispatch-posts { padding:var(--s6) 0 var(--s7); background:var(--white); color:var(--text); }
.dispatch-grid { margin:0; gap:var(--s5); align-items:stretch; }
.dispatch-card { position:relative; min-width:0; padding:var(--s5); border:1px solid var(--line); border-top:4px solid var(--orange); border-radius:var(--radius-card); background:var(--white); color:var(--ink); }
.dispatch-card:nth-child(even) { border-top-color:var(--teal); }
.dispatch-card:hover { background:var(--paper); color:var(--ink); border-color:var(--stone); border-top-color:var(--orange); }
.dispatch-card:nth-child(even):hover { border-top-color:var(--teal); }
.dispatch-card:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.dispatch-card-top { display:flex; align-items:center; justify-content:space-between; gap:var(--s4); }
.dispatch-card-top .status-pill { background:var(--paper2); color:var(--ink); }
.dispatch-ticket-mark { width:48px; height:32px; flex:none; color:var(--orange-d); }
.dispatch-card:nth-child(even) .dispatch-ticket-mark { color:var(--teal); }
.dispatch-card-meta { display:flex; align-items:center; flex-wrap:wrap; gap:var(--s2) var(--s3); margin-top:var(--s4); font-size:var(--micro); line-height:1.6; color:var(--muted); }
.dispatch-card .dispatch-card-meta time { display:inline; margin:0; color:var(--muted); font-size:var(--micro); }
.dispatch-card h2 { margin-top:var(--s4); font-size:var(--display); font-weight:var(--weight-bold); line-height:1.4; color:var(--ink); overflow-wrap:anywhere; }
.dispatch-card p { margin-top:var(--s3); margin-bottom:var(--s5); font-size:var(--small); line-height:1.8; font-weight:var(--weight-body); color:var(--muted); }
.dispatch-card-link { display:inline-flex; align-items:center; align-self:flex-start; gap:var(--s2); margin-top:auto; font-size:var(--small); font-weight:var(--weight-bold); line-height:1.6; color:var(--teal); }
.dispatch-card-link svg { width:18px; height:18px; flex:none; }
.dispatch-card:hover .dispatch-card-link { text-decoration:underline; text-underline-offset:4px; }
.dispatch-noscript { padding:var(--s4); border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--paper); color:var(--text); font-size:var(--small); }
.dispatch-noscript a { color:var(--teal); text-decoration:underline; text-underline-offset:3px; }

.dispatch-article-hero { padding:var(--s6) 0 var(--s7); background:var(--ink); color:var(--on-dark); }
.dispatch-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:var(--s2) var(--s3); margin:0 0 var(--s6); font-size:var(--small); line-height:1.7; color:var(--on-dark-m); }
.dispatch-breadcrumb a { color:var(--on-dark-copy); }
.dispatch-breadcrumb a:hover { color:var(--orange-light); text-decoration:underline; text-underline-offset:4px; }
.dispatch-breadcrumb [aria-current] { min-width:0; overflow-wrap:anywhere; }
.dispatch-breadcrumb-separator { width:6px; height:6px; flex:none; border-top:1px solid currentColor; border-right:1px solid currentColor; transform:rotate(45deg); }
.dispatch-article-heading { max-width:960px; }
.dispatch-article-heading .eyebrow { margin:0 0 var(--s4); color:var(--orange-light); }
.dispatch-article-heading h1 { font-size:var(--h2); line-height:1.25; letter-spacing:-.01em; font-weight:var(--weight-bold); color:var(--on-dark); overflow-wrap:anywhere; }
.dispatch-article-heading .section-intro { max-width:800px; margin-top:var(--s4); font-size:var(--body); line-height:1.8; color:var(--on-dark-copy); }
.dispatch-meta { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s3); margin-top:var(--s5); font-size:var(--micro); color:var(--on-dark-m); }
.dispatch-meta .status-pill { margin:0; border:1px solid var(--on-dark-border); background:var(--ink2); color:var(--on-dark-copy); }
.dispatch-meta time { font-variant-numeric:tabular-nums; }
.dispatch-author { display:inline-flex; align-items:center; gap:var(--s2); }
.dispatch-author img { width:24px; height:24px; padding:var(--s1); border-radius:var(--radius-panel); background:var(--paper); }
.dispatch-article-hero :focus-visible { outline-color:var(--on-dark); }

.dispatch-reading { display:grid; grid-template-columns:240px minmax(0,1fr); gap:var(--s7); align-items:start; width:min(1120px, calc(100% - 48px)); margin:0 auto; padding:var(--s7) 0; }
.dispatch-toc { position:sticky; top:calc(var(--header-h) + var(--s3)); align-self:start; padding:var(--s4); border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--paper); color:var(--ink); font-size:var(--small); }
.dispatch-toc summary { position:relative; list-style:none; cursor:pointer; font-weight:var(--weight-bold); padding-right:var(--s4); line-height:1.6; }
.dispatch-toc summary::-webkit-details-marker { display:none; }
.dispatch-toc summary::after { content:""; position:absolute; right:var(--s1); top:50%; width:7px; height:7px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:translateY(calc(-50% - .12em)) rotate(45deg); }
.dispatch-toc[open] summary::after { transform:translateY(-25%) rotate(225deg); }
.dispatch-toc ol { margin-top:var(--s4); padding-left:var(--s4); }
.dispatch-toc li { padding-left:var(--s1); margin-top:var(--s2); line-height:1.7; }
.dispatch-toc a { color:var(--muted); overflow-wrap:anywhere; }
.dispatch-toc a:hover { color:var(--teal); text-decoration:underline; text-underline-offset:3px; }
.dispatch-toc .toc-count { display:block; margin-top:var(--s3); color:var(--muted); font-size:var(--micro); }
.dispatch-prose { min-width:0; font-size:var(--body); line-height:1.85; overflow-wrap:anywhere; }
.dispatch-prose h2 { margin:var(--s6) 0 var(--s4); font-size:var(--display); font-weight:var(--weight-bold); line-height:1.4; letter-spacing:normal; color:var(--ink); }
.dispatch-prose h3 { margin:var(--s5) 0 var(--s3); font-size:var(--h3); font-weight:var(--weight-bold); line-height:1.5; color:var(--ink); }
.dispatch-prose > section:first-child > h2:first-child { margin-top:0; }
.dispatch-prose p { margin:var(--s3) 0; font-size:var(--body); font-weight:var(--weight-body); }
.dispatch-prose > p:first-child { margin-top:0; }
.dispatch-prose strong { font-weight:var(--weight-bold); }
.dispatch-prose ul,.dispatch-prose ol { padding-left:var(--s4); margin:var(--s4) 0 var(--s5); }
.dispatch-prose li + li { margin-top:var(--s2); }
.dispatch-prose a { color:var(--teal); text-decoration:underline; text-underline-offset:4px; }
.dispatch-prose section[id],.dispatch-prose h2[id],.dispatch-prose h3[id] { scroll-margin-top:calc(var(--header-h) + var(--s5)); }
.dispatch-prose figure { margin:var(--s5) 0; }
.dispatch-prose figcaption { margin-top:var(--s3); font-size:var(--micro); color:var(--muted); line-height:1.8; }
.dispatch-prose blockquote { margin:var(--s4) 0 var(--s5); padding:var(--s4); border-left:4px solid var(--orange); border-radius:var(--radius-panel); background:var(--paper); color:var(--ink); }
.dispatch-prose blockquote p:first-child { margin-top:0; }
.dispatch-prose blockquote p:last-child { margin-bottom:0; }
.dispatch-prose pre { margin:var(--s4) 0 var(--s5); padding:var(--s4); border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--code-paper); color:var(--ink); font-size:var(--small); line-height:1.8; }
.dispatch-note { margin:var(--s4) 0 var(--s5); padding:var(--s4); border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--paper); color:var(--text); }
.dispatch-note h3 { margin:0 0 var(--s3); }
.dispatch-note p { font-size:var(--small); line-height:1.8; }
.dispatch-note p:last-child { margin-bottom:0; }
.dispatch-note-caution { border-color:var(--orange-line); background:var(--orange-wash); color:var(--text); }
.dispatch-prose .table-scroll { max-width:100%; margin:var(--s4) 0 var(--s5); border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--white); color:var(--text); }
.dispatch-prose table { min-width:600px; font-size:var(--small); line-height:1.8; }
.dispatch-prose caption { padding:var(--s3); text-align:left; font-weight:var(--weight-label); background:var(--paper); color:var(--ink); }
.dispatch-prose th,.dispatch-prose td { vertical-align:top; }
.dispatch-prose thead th { background:var(--paper2); color:var(--ink); font-size:var(--small); }
.dispatch-prose tbody th { background:var(--paper); color:var(--ink); font-size:var(--small); font-weight:var(--weight-label); }
.dispatch-prose tr:last-child th,.dispatch-prose tr:last-child td { border-bottom:0; }
.dispatch-checks { display:grid; gap:var(--s3); margin:var(--s4) 0 var(--s5); padding:0; list-style:none; }
.dispatch-prose .dispatch-checks { padding:0; }
.dispatch-checks li { display:grid; grid-template-columns:32px minmax(0,1fr); align-items:start; gap:var(--s3); margin:0; padding:var(--s4); border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--paper); color:var(--text); }
.dispatch-prose .dispatch-checks li + li { margin-top:0; }
.dispatch-check-number { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:50%; background:var(--white); color:var(--teal); border:1px solid var(--line); font-family:var(--mono); font-size:var(--micro); }
.dispatch-checks h3 { margin:0 0 var(--s2); line-height:1.7; }
.dispatch-checks p { margin:0; font-size:var(--small); line-height:1.8; }
.dispatch-ticket-example { margin:var(--s4) 0 var(--s5); padding:var(--s5); border:1px solid var(--line); border-top:4px solid var(--orange); border-radius:var(--radius-panel); background:var(--paper); color:var(--ink); }
.dispatch-ticket-example > svg { width:48px; height:32px; margin-bottom:var(--s4); color:var(--orange-d); }
.dispatch-ticket-example h3 { margin:0 0 var(--s4); }
.dispatch-ticket-example dl { display:grid; grid-template-columns:112px minmax(0,1fr); gap:var(--s3); font-size:var(--small); }
.dispatch-ticket-example dt { color:var(--muted); }
.dispatch-ticket-example dd { color:var(--ink); overflow-wrap:anywhere; }
.dispatch-ticket-example > p:last-child { margin:var(--s4) 0 0; padding-top:var(--s3); border-top:1px dashed var(--stone); font-size:var(--micro); color:var(--muted); }

.dispatch-article-cta { margin-top:var(--s6); padding:var(--s5); border-radius:var(--radius-card); background:var(--ink); color:var(--on-dark); text-align:center; }
.dispatch-article-cta .eyebrow { margin:0 0 var(--s4); color:var(--orange-light); }
.dispatch-article-cta h2 { margin:0 0 var(--s4); font-size:var(--display); line-height:1.4; color:var(--on-dark); }
.dispatch-article-cta p { max-width:640px; margin:var(--s4) auto 0; font-size:var(--small); line-height:1.8; color:var(--on-dark-copy); }
.dispatch-article-cta .actions { justify-content:center; margin-top:var(--s5); gap:var(--s3); }
.dispatch-prose .dispatch-article-cta .pill { min-height:48px; height:auto; max-width:100%; white-space:normal; line-height:1.35; text-decoration:none; }
.dispatch-prose .dispatch-article-cta .pill-f { border-color:var(--orange); background:var(--orange); color:var(--on-dark); }
.dispatch-prose .dispatch-article-cta .pill-f:hover { border-color:var(--orange-d); background:var(--orange-d); color:var(--on-dark); }
.dispatch-prose .dispatch-article-cta .pill-o { border-color:var(--on-dark-border); background:transparent; color:var(--on-dark); }
.dispatch-prose .dispatch-article-cta .pill-o:hover { background:var(--white); color:var(--ink); border-color:var(--white); }
.dispatch-article-cta :focus-visible { outline-color:var(--on-dark); }

.dispatch-recommend .float-media { padding:var(--s4); padding-right:var(--s7); background:var(--ink); color:var(--on-dark); }
.dispatch-recommend .float-media > svg { width:48px; height:32px; margin-bottom:var(--s3); color:var(--orange-light); }
.dispatch-recommend .float-media > span { font-size:var(--micro); color:var(--on-dark-copy); }
.dispatch-recommend .float-content { padding:var(--s4); }
.dispatch-recommend h2 { font-size:var(--h3); line-height:1.5; color:var(--ink); }
.dispatch-recommend .float-content p { margin:var(--s3) 0 var(--s4); font-size:var(--small); line-height:1.7; color:var(--muted); }
.dispatch-recommend .pill { width:auto; max-width:100%; height:auto; min-height:40px; white-space:normal; line-height:1.35; }
.dispatch-recommend .float-close { background:var(--white); color:var(--ink); border:1px solid var(--line); }
.dispatch-recommend .float-close:hover { background:var(--paper2); color:var(--ink); border-color:var(--stone); }

@media (min-width:861px) {
  .dispatch-toc:not([open]) { padding:var(--s3); }
}
@media (max-width:860px) {
  .dispatch-list-hero { padding:var(--s6) 0; }
  .dispatch-grid { gap:var(--s4); }
  .dispatch-card { padding:var(--s4); }
  .dispatch-card h2 { font-size:var(--display); }
  .dispatch-article-hero { padding:var(--s6) 0; }
  .dispatch-breadcrumb { margin-bottom:var(--s5); }
  .dispatch-reading { grid-template-columns:minmax(0,1fr); gap:var(--s5); padding:var(--s6) 0 var(--s7); }
  .dispatch-toc { position:static; padding:var(--s3); }
  .dispatch-toc[open] { padding:var(--s4); }
  .dispatch-toc .toc-count { margin-top:var(--s3); }
  .dispatch-prose h2 { font-size:var(--display); }
}
@media (max-width:560px) {
  .dispatch-list-hero { padding:var(--s6) 0 var(--s5); }
  .dispatch-list-hero h1 { font-size:var(--h2); line-height:1.3; }
  .dispatch-posts { padding:var(--s5) 0 var(--s6); }
  .dispatch-grid { grid-template-columns:minmax(0,1fr); }
  .dispatch-card { padding:var(--s4); }
  .dispatch-card-meta { gap:var(--s2) var(--s3); }
  .dispatch-card h2 { font-size:var(--display); line-height:1.45; }
  .dispatch-card p { margin-bottom:var(--s5); }
  .dispatch-article-hero { padding:var(--s5) 0 var(--s6); }
  .dispatch-article-heading h1 { font-size:var(--h2); line-height:1.3; }
  .dispatch-breadcrumb { font-size:var(--micro); margin-bottom:var(--s5); }
  .dispatch-meta { gap:var(--s2) var(--s3); margin-top:var(--s4); }
  .dispatch-reading { width:calc(100% - 32px); padding:var(--s5) 0 var(--s6); }
  .dispatch-prose h2 { margin-top:var(--s5); }
  .dispatch-prose h3 { line-height:1.55; }
  .dispatch-prose blockquote,.dispatch-note { padding:var(--s4); }
  .dispatch-checks li { padding:var(--s3); gap:var(--s3); }
  .dispatch-ticket-example { padding:var(--s4); }
  .dispatch-ticket-example dl { grid-template-columns:minmax(0,1fr); gap:var(--s2); }
  .dispatch-ticket-example dd + dt { margin-top:var(--s3); }
  .dispatch-article-cta { padding:var(--s5) var(--s4); }
  .dispatch-article-cta .actions { flex-direction:column; align-items:center; }
  .dispatch-recommend .float-content { padding:var(--s4); }
}


/* Survey reward article. */
.reward-width { width:min(1120px, calc(100% - 48px)); margin:0 auto; }
.reward-hero { padding:96px 0 64px; background:var(--paper); color:var(--ink); }
.reward-crumb { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; margin-bottom:48px; color:var(--muted); font-size:var(--small); }
.reward-crumb a:hover { color:var(--teal); text-decoration:underline; text-underline-offset:4px; }
.reward-hero .eyebrow { margin-bottom:24px; color:var(--teal); }
.reward-hero h1 { max-width:960px; font-size:var(--h2); font-weight:var(--weight-bold); line-height:1.25; letter-spacing:-.01em; text-align:left; text-wrap:initial; }
.reward-hero .section-intro { max-width:800px; margin-top:24px; font-size:var(--body); line-height:1.8; color:var(--muted); }
.reward-meta { display:inline-flex; align-items:center; flex-wrap:wrap; gap:8px 16px; max-width:100%; margin-top:32px; padding:10px 16px; border:1px solid var(--line); border-radius:var(--radius-control); background:var(--white); color:var(--muted); font-size:var(--micro); }
.reward-meta span+span { color:var(--teal); }
.reward-layout { grid-template-columns:240px minmax(0,1fr); gap:64px; }
.reward-toc { z-index:3; padding:24px; background:var(--paper); color:var(--ink); }
.reward-toc summary { position:relative; padding-right:24px; list-style:none; cursor:pointer; font-weight:var(--weight-label); font-size:var(--small); }
.reward-toc summary::-webkit-details-marker { display:none; }
.reward-toc summary::after { content:""; position:absolute; right:2px; top:50%; width:7px; height:7px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:translateY(calc(-50% - .12em)) rotate(45deg); }
.reward-toc details[open] summary::after { transform:translateY(-25%) rotate(225deg); }
.reward-toc ol { margin-top:24px; padding-left:20px; }
.reward-toc li { margin:0 0 8px; padding-left:4px; line-height:1.7; }
.reward-toc li:last-child { margin-bottom:0; }
.reward-toc li a:hover { color:var(--teal); text-decoration:underline; text-underline-offset:4px; }
.reward-toc .reward-count { display:inline-flex; margin-top:24px; background:var(--white); color:var(--teal); border:1px solid var(--line); }
.reward-prose { min-width:0; overflow-wrap:anywhere; }
.reward-prose>p { margin:24px 0; }
.reward-prose>section { scroll-margin-top:calc(var(--header-h) + 32px); }
.reward-prose>section+section { margin-top:48px; }
.reward-prose h2 { font-size:var(--display); line-height:1.4; font-weight:var(--weight-bold); margin:40px 0 24px; text-align:left; text-wrap:initial; }
.reward-prose h3 { font-size:var(--h3); line-height:1.5; margin:24px 0 16px; }
.reward-prose p { line-height:1.85; }
.reward-prose li { margin:0 0 8px; }
.reward-prose li:last-child { margin-bottom:0; }
.reward-opening { display:flex; align-items:flex-start; gap:24px; padding:24px; margin-bottom:32px; border:1px solid var(--orange-line); border-radius:var(--radius-panel); background:var(--orange-wash); color:var(--ink); }
.reward-opening>svg { width:64px; height:44px; flex:none; color:var(--orange-d); }
.reward-opening strong { font-size:var(--h3); font-weight:var(--weight-label); }
.reward-opening p { margin:12px 0 0; font-size:var(--small); color:var(--text); }
.reward-table { margin:24px 0 32px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--white); color:var(--text); }
.reward-table table { min-width:580px; }
.reward-table caption { padding:16px; font-size:var(--small); text-align:left; font-weight:var(--weight-label); background:var(--paper); color:var(--ink); }
.reward-table th,.reward-table td { line-height:1.75; vertical-align:top; }
.reward-table thead th { background:var(--paper2); color:var(--ink); font-size:var(--small); }
.reward-table tbody th { width:23%; background:var(--white); color:var(--ink); font-size:var(--small); }
.reward-table tr:last-child th,.reward-table tr:last-child td { border-bottom:0; }
.reward-prose .reward-route { list-style:decimal; margin:24px 0 32px; padding:24px 24px 24px 48px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--paper); color:var(--ink); }
.reward-route li { padding:12px 0; }
.reward-route li::marker { color:var(--orange-d); font-family:var(--mono); }
.reward-route strong { font-weight:var(--weight-label); }
.reward-route p { margin:8px 0 0; color:var(--muted); font-size:var(--small); }
.reward-decision { margin:24px 0 32px; padding:24px; border-left:4px solid var(--teal); border-radius:var(--radius-panel); background:var(--teal-pale); color:var(--ink); }
.reward-prose .reward-decision h3 { margin:0 0 16px; }
.reward-decision p { margin:0; font-size:var(--small); }
.reward-query { margin:24px 0 32px; padding:24px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--paper); color:var(--ink); }
.reward-prose .reward-query h3 { margin:0 0 16px; }
.reward-query p { margin:0; font-size:var(--small); color:var(--text); }
.reward-prose .reward-final { margin-top:64px; padding:32px; background:var(--ink); color:var(--on-dark); }
.reward-final>svg { width:64px; height:44px; margin:0 auto 24px; color:var(--orange-light); }
.reward-prose .reward-final h2 { margin:0 0 24px; text-align:center; color:var(--on-dark); }
.reward-final p { margin:0 auto; max-width:600px; color:var(--on-dark-copy); font-size:var(--small); text-align:center; }
.reward-final .actions { justify-content:center; margin-top:32px; }
.reward-prose .reward-final .pill { height:auto; max-width:100%; white-space:normal; line-height:1.35; text-decoration:none; }
.reward-prose .reward-final .pill-f { background:var(--orange); color:var(--on-dark); border-color:var(--orange); }
.reward-prose .reward-final .pill-f:hover { background:var(--orange-d); color:var(--on-dark); border-color:var(--orange-d); }
.reward-prose .reward-final .pill-ink { background:var(--ink3); color:var(--on-dark); border-color:var(--teal-l); }
.reward-prose .reward-final .pill-ink:hover { background:var(--teal); color:var(--on-dark); border-color:var(--teal); }
.reward-prose .reward-return { display:inline-block; margin-top:24px; color:var(--on-dark-copy); font-size:var(--small); text-align:center; }
.reward-final :focus-visible { outline-color:var(--on-dark); }
.reward-float { z-index:60; width:min(288px, calc(100% - 48px)); }
.reward-float .float-media { display:flex; align-items:center; gap:12px; padding:24px 48px 24px 20px; background:var(--ink); color:var(--on-dark); }
.reward-float .float-media>svg { width:40px; height:28px; flex:none; color:var(--orange-light); }
.reward-float .float-media>span { font-size:var(--micro); line-height:1.6; }
.reward-float .float-content { padding:20px; }
.reward-float h2 { font-size:var(--h3); font-weight:var(--weight-bold); line-height:1.5; color:var(--ink); }
.reward-float .float-content p { margin:12px 0 24px; font-size:var(--small); line-height:1.75; color:var(--muted); }
.reward-float-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.reward-float-actions .pill { padding:8px 12px; height:auto; white-space:normal; max-width:100%; line-height:1.35; }
.reward-float .float-close { position:absolute; top:10px; right:10px; background:var(--white); color:var(--ink); }
.reward-float .float-close:hover { background:var(--paper2); color:var(--ink); }
@media (max-width:1100px) {
  .reward-layout { grid-template-columns:208px minmax(0,1fr); gap:40px; }
}
@media (max-width:860px) {
  .reward-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
  .reward-toc { position:static; padding:20px 24px; }
  .reward-toc ol { columns:2; column-gap:40px; }
  .reward-toc li { break-inside:avoid; }
  .reward-hero { padding-top:96px; padding-bottom:48px; }
  .reward-crumb { margin-bottom:32px; }
  .reward-opening { gap:20px; }
}
@media (max-width:560px) {
  .reward-width { width:calc(100% - 32px); }
  .reward-hero { padding:96px 0 40px; }
  .reward-hero h1 { font-size:var(--h2); line-height:1.3; }
  .reward-meta { gap:8px 12px; padding:10px 14px; }
  .reward-toc ol { columns:auto; }
  .reward-opening { padding:20px; gap:16px; }
  .reward-opening>svg { width:40px; height:28px; margin-top:4px; }
  .reward-prose>section+section { margin-top:40px; }
  .reward-prose h2 { font-size:var(--display); }
  .reward-prose .reward-route { padding:20px 20px 20px 40px; }
  .reward-decision,.reward-query { padding:20px; }
  .reward-prose .reward-final { margin-top:48px; padding:24px 20px; }
  .reward-final .actions { flex-direction:column; align-items:center; }
  .reward-float { right:16px; bottom:16px; width:min(272px, calc(100% - 32px)); }
  .reward-float .float-media { padding-top:16px; padding-bottom:16px; }
  .reward-float .float-content { padding:16px; }
}


/* Livestream entry article. */
.entry-wrap { width:min(1120px, calc(100% - 48px)); margin:0 auto; }
.entry-hero { padding:96px 0 64px; background:var(--ink); color:var(--on-dark); }
.entry-crumb { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-bottom:48px; font-size:var(--small); color:var(--on-dark-m); }
.entry-crumb a:hover { color:var(--on-dark); text-decoration:underline; text-underline-offset:4px; }
.entry-hero .eyebrow { margin:0 0 24px; color:var(--orange-light); }
.entry-hero h1 { max-width:960px; font-size:var(--h2); font-weight:var(--weight-bold); line-height:1.25; letter-spacing:-.01em; color:var(--on-dark); }
.entry-hero .section-intro { max-width:760px; margin-top:24px; font-size:var(--body); line-height:1.8; color:var(--on-dark-copy); }
.entry-meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:32px; }
.entry-meta .status-pill { padding:6px 12px; background:var(--ink2); color:var(--on-dark-copy); border:1px solid var(--on-dark-line); }
.entry-hero-note { display:flex; align-items:center; gap:24px; margin-top:48px; padding-top:24px; border-top:1px solid var(--on-dark-line); max-width:960px; }
.entry-hero-note>svg { width:64px; height:44px; flex:none; color:var(--orange-light); }
.entry-hero-note p { min-width:0; font-size:var(--small); line-height:1.8; color:var(--on-dark-copy); }
.entry-hero-note strong { display:block; font-weight:var(--weight-label); color:var(--on-dark); }
.entry-hero-note p>span { display:block; margin-top:4px; }
.entry-hero :focus-visible { outline-color:var(--on-dark); }
.entry-reading { grid-template-columns:224px minmax(0,1fr); gap:48px; padding-top:64px; padding-bottom:96px; }
.entry-toc-rail { min-width:0; align-self:stretch; }
.entry-toc { position:sticky; top:calc(var(--header-h) + 16px); z-index:3; padding:24px 20px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--paper); color:var(--ink); }
.entry-toc summary { position:relative; padding-right:24px; cursor:pointer; list-style:none; font-size:var(--small); font-weight:var(--weight-label); }
.entry-toc summary::-webkit-details-marker { display:none; }
.entry-toc summary::after { content:""; position:absolute; right:4px; top:50%; width:7px; height:7px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:translateY(-65%) rotate(45deg); }
.entry-toc[open] summary::after { transform:translateY(-25%) rotate(225deg); }
.entry-toc ol { margin:24px 0 0; padding-left:20px; }
.entry-toc li { margin:8px 0 0; padding-left:4px; font-size:var(--micro); line-height:1.8; }
.entry-toc li:first-child { margin-top:0; }
.entry-toc li a:hover { color:var(--teal); text-decoration:underline; text-underline-offset:3px; }
.entry-toc .entry-toc-count { margin-top:24px; padding:4px 10px; background:var(--white); color:var(--teal); border:1px solid var(--line); text-decoration:none; }
.entry-toc:not([open]) { padding-block:16px; }
.entry-prose { overflow-wrap:anywhere; }
.entry-prose .entry-opening { margin-top:0; font-size:var(--h3); line-height:1.8; color:var(--ink); }
.entry-prose strong { font-weight:var(--weight-bold); }
.entry-prose section[id] { scroll-margin-top:calc(var(--header-h) + 32px); }
.entry-prose section+section { margin-top:48px; }
.entry-prose h2 { font-size:var(--display); font-weight:var(--weight-bold); line-height:1.4; margin:48px 0 24px; }
.entry-prose h3 { font-size:var(--h3); font-weight:var(--weight-bold); line-height:1.5; }
.entry-prose li { margin-top:8px; margin-bottom:8px; }
.entry-table { margin-top:24px; margin-bottom:32px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--white); color:var(--text); }
.entry-table table { min-width:600px; line-height:1.8; }
.entry-table caption { padding:16px; background:var(--paper); color:var(--ink); text-align:left; font-size:var(--small); font-weight:var(--weight-label); }
.entry-table thead th { background:var(--paper2); color:var(--ink); }
.entry-table tbody th { width:20%; font-size:var(--small); background:var(--white); color:var(--ink); }
.entry-table th,.entry-table td { vertical-align:top; }
.entry-table tr:last-child th,.entry-table tr:last-child td { border-bottom:0; }
.entry-fields { margin:24px 0 32px; padding:24px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--paper); color:var(--text); }
.entry-fields>div+div { margin-top:24px; padding-top:24px; border-top:1px solid var(--line); }
.entry-fields dt { display:flex; align-items:center; gap:12px; font-size:var(--h3); font-weight:var(--weight-label); color:var(--ink); }
.entry-fields dt>span { font-family:var(--mono); font-size:var(--micro); color:var(--orange-d); }
.entry-fields dd { margin-top:12px; font-size:var(--small); line-height:1.8; }
.entry-caution { display:flex; align-items:flex-start; gap:16px; margin:24px 0 32px; padding:24px; border:1px solid var(--orange-line); border-radius:var(--radius-card); background:var(--orange-wash); color:var(--ink); }
.entry-caution>svg { width:28px; height:28px; flex:none; color:var(--orange-d); }
.entry-caution>div { min-width:0; }
.entry-prose .entry-caution h3 { margin:0; }
.entry-prose .entry-caution p { margin:12px 0 0; font-size:var(--small); }
.entry-ticket { margin:24px 0 32px; border:1px solid var(--stone); border-top:4px solid var(--orange); border-radius:var(--radius-panel); background:var(--paper); color:var(--ink); }
.entry-ticket-head { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px; border-bottom:1px dashed var(--stone); }
.entry-ticket-head>div { min-width:0; }
.entry-ticket-head>svg { width:64px; height:44px; flex:none; color:var(--orange-d); }
.entry-ticket-head .status-pill { border:1px solid var(--line); background:var(--white); color:var(--muted); }
.entry-prose .entry-ticket h3 { margin:24px 0 0; font-size:var(--h3); }
.entry-ticket-data { padding:24px; display:grid; gap:24px; }
.entry-ticket-data>div { display:grid; grid-template-columns:96px minmax(0,1fr); align-items:baseline; gap:16px; }
.entry-ticket-data dt { font-size:var(--micro); color:var(--muted); }
.entry-ticket-data dd { font-size:var(--small); line-height:1.8; color:var(--ink); }
.entry-ticket-data code { font-size:var(--small); }
.entry-ticket figcaption { padding:16px 24px; border-top:1px dashed var(--stone); font-size:var(--micro); line-height:1.8; color:var(--muted); }
.entry-prose .entry-final-check { margin:24px 0 32px; padding:24px 24px 24px 44px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--paper); color:var(--text); }
.entry-prose .entry-final-check li { padding-left:4px; font-size:var(--small); line-height:1.8; }
.entry-prose .entry-end-card { margin-top:64px; padding:40px 32px; background:var(--ink); color:var(--on-dark); border:0; text-align:center; }
.entry-end-icon { width:64px; height:44px; margin:0 auto 24px; color:var(--orange-light); }
.entry-prose .entry-end-card h2 { margin:0 0 24px; font-size:var(--display); color:var(--on-dark); }
.entry-prose .entry-end-card p { color:var(--on-dark-copy); font-size:var(--small); }
.entry-prose .entry-end-card .actions { justify-content:center; gap:12px; margin-top:32px; }
.entry-prose .entry-end-card .pill { height:auto; max-width:100%; white-space:normal; text-decoration:none; }
.entry-prose .entry-end-card .pill-f { background:var(--orange); color:var(--on-dark); border-color:var(--orange); }
.entry-prose .entry-end-card .pill-f:hover { background:var(--orange-d); color:var(--on-dark); border-color:var(--orange-d); }
.entry-prose .entry-end-card .pill-o { background:transparent; color:var(--on-dark); border-color:var(--on-dark-outline); }
.entry-prose .entry-end-card .pill-o:hover { background:var(--white); color:var(--ink); border-color:var(--white); }
.entry-end-card :focus-visible { outline-color:var(--on-dark); }
.entry-prose .entry-related { margin-top:32px; color:var(--muted); font-size:var(--small); line-height:1.8; }
.entry-function-float { z-index:60; }
.entry-function-float .float-close { position:absolute; right:12px; top:12px; background:var(--white); color:var(--ink); border:1px solid var(--line); }
.entry-function-float .float-close:hover { background:var(--paper2); color:var(--ink); }
.entry-function-float .float-media { display:flex; align-items:center; gap:12px; padding:24px 56px 24px 24px; background:var(--ink); color:var(--on-dark-copy); }
.entry-function-float .float-media>svg { width:40px; height:32px; flex:none; color:var(--orange-light); }
.entry-function-float .float-media>span { font-size:var(--micro); }
.entry-function-float h2 { font-size:var(--h3); font-weight:var(--weight-bold); line-height:1.5; color:var(--ink); }
.entry-float-actions { display:flex; flex-wrap:wrap; gap:8px; }
.entry-float-actions .pill { white-space:normal; height:auto; max-width:100%; line-height:1.35; }
@media (max-width:1100px) {
  .entry-reading { grid-template-columns:200px minmax(0,1fr); gap:32px; }
  .entry-toc { padding-inline:16px; }
}
@media (max-width:860px) {
  .entry-hero { padding:96px 0 48px; }
  .entry-reading { grid-template-columns:minmax(0,1fr); gap:32px; padding-top:40px; padding-bottom:64px; }
  .entry-toc { position:static; }
  .entry-toc li { font-size:var(--small); }
  .entry-crumb { margin-bottom:32px; }
  .entry-hero-note { margin-top:32px; }
  .entry-prose .entry-end-card { margin-top:48px; }
}
@media (max-width:560px) {
  .entry-wrap { width:calc(100% - 32px); }
  .entry-hero { padding-top:96px; padding-bottom:40px; }
  .entry-hero h1 { font-size:var(--h2); line-height:1.3; }
  .entry-hero-note { align-items:flex-start; gap:16px; }
  .entry-hero-note>svg { width:40px; height:28px; margin-top:4px; }
  .entry-meta { gap:8px; margin-top:24px; }
  .entry-meta .status-pill { padding:4px 8px; }
  .entry-reading { padding-top:32px; }
  .entry-prose .entry-opening { font-size:var(--body); }
  .entry-prose h2 { font-size:var(--display); margin-top:40px; }
  .entry-prose section+section { margin-top:40px; }
  .entry-fields { padding:20px; }
  .entry-caution { padding:20px; gap:12px; }
  .entry-caution>svg { width:24px; height:24px; }
  .entry-ticket-head { padding:20px; gap:12px; align-items:flex-start; }
  .entry-ticket-head>svg { width:40px; height:28px; }
  .entry-ticket-data { padding:20px; }
  .entry-ticket-data>div { grid-template-columns:minmax(0,1fr); gap:8px; }
  .entry-ticket figcaption { padding:16px 20px; }
  .entry-prose .entry-final-check { padding:20px 20px 20px 36px; }
  .entry-prose .entry-end-card { padding:32px 24px; }
  .entry-prose .entry-end-card .actions { flex-direction:column; align-items:center; }
  .entry-function-float .float-media { padding:16px 52px 16px 20px; }
  .entry-function-float .float-content { padding:20px; }
  .entry-function-float .float-content p { margin-bottom:16px; }
}


/* Blog page roots retain the existing component layouts. */
.dispatch-index { min-width:0; }
.entry-article { min-width:0; }
.reward-article { min-width:0; }
