:root {
  --wrap:1312px;
  --header-h:80px;
  --h1:60px;
  --h2:40px;
  --h3:24px;
  --body:16px;
  --small:14px;
  --micro:12px;
  --lead:18px;
  --h1-inner:32px;
  --s1:8px;
  --s2:16px;
  --s3:24px;
  --s4:32px;
  --s5:48px;
  --s6:64px;
  --s7:128px;
  --radius-control:10px;
  --radius-card:16px;
  --r1:var(--radius-control);
  --r2:var(--radius-card);
  --pill:999px;
  --ink:#173a33;
  --ink-hover:#0f2b25;
  --muted:#4f625c;
  --soft:#7a8a85;
  --lime:#bfe35a;
  --lime-hover:#b0d84a;
  --lime-2:#d9ef9a;
  --lime-ink:var(--ink);
  --deep:#2f6b1f;
  --grey:#ced5cf;
  --paper:#ffffff;
  --bg2:#f5f6f3;
  --paper-warm:#fbfbf9;
  --line:#e3e7e2;
  --track:#e7ebe5;
  --ghost-hover:#ebeee8;
  --selected:#f3f8e4;
  --success-bg:#e6f2d4;
  --warm-bg:#f1ece6;
  --warm-ink:#8a4b1c;
  --guide-green:#dfeec0;
  --guide-grey:#e4ebe7;
  --guide-warm:#efece4;
  --guide-grey-ink:#2d5a52;
  --guide-warm-ink:#7a5a1f;
  --cta-copy:#2c4a3f;
  --hero-green:#c8ea68;
  --hero-left:#d6ef96;
  --hero-right:#def2aa;
  --clear:transparent;
  --shadow-small:0 1px 2px rgb(23 58 51 / 8%);
  --shadow-window:0 1px 2px rgb(23 58 51 / 5%),0 32px 64px -32px rgb(23 58 51 / 22%);
  --shadow-card:0 24px 48px -24px rgb(23 58 51 / 35%);
  --overlay:rgb(23 58 51 / 48%);
  --font:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Noto Sans SC","Microsoft YaHei",sans-serif;
  --mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;
}
* { box-sizing:border-box; margin:0; padding:0; }
html { -webkit-font-smoothing:antialiased; scroll-behavior:smooth; scroll-padding-top:calc(var(--header-h) + var(--s3)); }
body { font-family:var(--font); color:var(--ink); background:var(--paper); font-size:var(--body); line-height:1.7; font-weight:400; }
body.sheet-open,body.modal-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
ul { list-style:none; }
button,input,textarea { font:inherit; }
button { color:inherit; background:none; border:0; cursor:pointer; }
button:disabled { opacity:.55; cursor:wait; }
button,a,input,textarea,summary { -webkit-tap-highlight-color:var(--clear); }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
input:focus,textarea:focus { outline:1px solid var(--ink); outline-offset:0; border-color:var(--ink); box-shadow:none; }
img,svg { vertical-align:middle; }
img { max-width:100%; }
[hidden] { display:none !important; }
.wrap { width:min(var(--wrap),calc(100% - var(--s7))); margin-inline:auto; }
.sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.skip-link { position:fixed; left:var(--s2); top:var(--s2); z-index:120; padding:var(--s1) var(--s2); background:var(--paper); color:var(--ink); border-radius:var(--r1); transform:translateY(-180%); }
.skip-link:focus { transform:none; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:var(--s1); min-height:48px; padding:10px var(--s3); border:1.5px solid var(--clear); border-radius:var(--r1); font-size:var(--body); line-height:1.35; font-weight:600; text-align:center; max-width:100%; transition:background .2s,border-color .2s,color .2s; }
.btn-lime { background:var(--lime); color:var(--lime-ink); }
.btn-lime:hover { background:var(--lime-hover); color:var(--lime-ink); }
.btn-line { background:var(--clear); border-color:var(--grey); color:var(--ink); }
.btn-line:hover { background:var(--bg2); color:var(--ink); }
.btn-ink { background:var(--ink); color:var(--paper); }
.btn-ink:hover { background:var(--ink-hover); color:var(--paper); }
.btn-light { background:var(--paper); color:var(--ink); }
.btn-light:hover { background:var(--bg2); color:var(--ink); }
.btn-sm { min-height:40px; padding:8px var(--s2); font-size:var(--small); }
.btn svg { width:16px; height:16px; flex:none; }
.actions { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s2); }
.ghost { display:inline-flex; align-items:center; justify-content:center; gap:var(--s1); min-height:40px; padding:8px var(--s2); border-radius:var(--r1); background:var(--bg2); color:var(--ink); font-size:var(--small); font-weight:500; line-height:1.35; }
.ghost:hover { background:var(--ghost-hover); color:var(--ink); }
.ghost svg { width:16px; height:16px; flex:none; }
header.top { position:sticky; top:0; z-index:50; background:var(--paper); color:var(--ink); }
.nav { display:flex; align-items:center; height:var(--header-h); }
.brand { display:inline-flex; align-items:center; gap:var(--s1); font-size:var(--h3); font-weight:600; letter-spacing:-.01em; flex:none; }
.brand img { width:30px; height:30px; object-fit:contain; }
.links { display:flex; gap:8px; margin-left:24px; font-size:var(--body); flex:none; min-width:0; }
.links a { padding:8px 12px; border-bottom:2px solid var(--clear); white-space:nowrap; }
.links a:hover { border-color:var(--ink); }
.links a.on,.links a[aria-current="page"] { border-color:var(--lime); }
.nav-r { margin-left:auto; display:flex; align-items:center; gap:12px; font-size:var(--body); flex:none; }
.login { font-weight:500; white-space:nowrap; }
.header-product { white-space:nowrap; flex:none; }
.lang-wrap { position:relative; }
.lang { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:var(--s1); padding:8px 22px 8px 0; min-height:40px; color:var(--muted); background:var(--paper); white-space:nowrap; }
.chevron { display:block; width:7px; height:7px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; flex:none; transform:rotate(45deg); }
.lang .chevron { position:absolute; right:3px; top:50%; transform:translateY(calc(-50% - .12em)) rotate(45deg); }
.lang-menu { position:absolute; right:0; top:calc(100% + 8px); width:180px; padding:var(--s1); border:1px solid var(--line); border-radius:var(--r1); background:var(--paper); color:var(--ink); box-shadow:var(--shadow-window); z-index:90; }
.lang-menu a { display:block; padding:8px 12px; border-radius:var(--r1); font-size:var(--small); }
.lang-menu a:hover,.lang-menu a[aria-current] { background:var(--selected); color:var(--ink); }
.menu-toggle { display:none; width:40px; height:40px; align-items:center; justify-content:center; border-radius:var(--r1); background:var(--bg2); color:var(--ink); }
.menu-toggle svg { width:20px; height:20px; }
.nav-drawer { position:fixed; left:var(--s2); right:auto; top:calc(var(--header-h) + 8px); width:min(320px,calc(100% - 32px)); max-height:calc(100dvh - var(--header-h) - 32px); overflow-y:auto; z-index:80; padding:var(--s2); background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:var(--r2); box-shadow:var(--shadow-window); text-align:left; }
.nav-drawer a { display:block; padding:12px var(--s2); border-radius:var(--r1); font-size:var(--body); }
.nav-drawer a:hover,.nav-drawer a[aria-current="page"] { background:var(--selected); color:var(--ink); }
.hero { position:relative; padding-bottom:96px; isolation:isolate; }
.hero::before { content:""; position:absolute; left:0; right:0; top:-80px; height:600px; z-index:-1; background:radial-gradient(ellipse 46% 85% at 40% 0%,var(--hero-green) 0%,color-mix(in srgb,var(--hero-green) 60%,var(--clear)) 38%,var(--clear) 74%),radial-gradient(ellipse 34% 60% at 6% 45%,color-mix(in srgb,var(--hero-left) 70%,var(--clear)) 0%,var(--clear) 70%),radial-gradient(ellipse 30% 55% at 78% 30%,color-mix(in srgb,var(--hero-right) 65%,var(--clear)) 0%,var(--clear) 70%),var(--paper); }
.hero-art { position:absolute; right:64px; top:24px; width:460px; height:230px; z-index:0; pointer-events:none; }
.hero-art svg { width:100%; height:100%; }
.hero-head { position:relative; z-index:1; padding-top:112px; padding-bottom:var(--s5); }
.hero h1 { font-size:var(--h1); line-height:1.15; font-weight:500; letter-spacing:-.01em; max-width:900px; }
h1 em { font-style:normal; }
.hero-sub { margin-top:var(--s2); font-size:var(--lead); color:var(--muted); }
.tool { position:relative; z-index:1; }
.tool-bar { display:flex; align-items:center; justify-content:space-between; margin-bottom:var(--s2); gap:var(--s2); }
.switch { display:flex; gap:var(--s1); padding:4px; background:var(--paper); color:var(--ink); border-radius:var(--r2); box-shadow:var(--shadow-small),0 0 0 1px var(--line); }
.switch a { display:flex; align-items:center; justify-content:center; gap:var(--s1); min-height:44px; padding:8px var(--s3); border-radius:var(--r1); font-size:var(--body); font-weight:600; color:var(--muted); background:var(--paper); line-height:1.35; }
.switch a:hover { color:var(--ink); background:var(--bg2); }
.switch a.is-active { background:var(--lime); color:var(--lime-ink); }
.switch svg { width:18px; height:18px; flex:none; }
.tool-note { font-size:var(--small); color:var(--muted); display:flex; gap:var(--s3); }
.tool-note span { display:flex; align-items:center; gap:var(--s1); }
.tool-note i { width:6px; height:6px; border-radius:var(--pill); background:var(--deep); flex:none; }
.win { background:var(--paper); color:var(--ink); border-radius:var(--r2); border:1px solid var(--line); box-shadow:var(--shadow-window); overflow:hidden; }
.addr { display:grid; grid-template-columns:minmax(0,1fr) 360px; border-bottom:1px solid var(--line); }
.addr-main { padding:var(--s3) var(--s4); display:flex; align-items:center; gap:var(--s3); min-width:0; }
.addr-text { min-width:0; }
.addr-k { font-size:var(--micro); color:var(--soft); letter-spacing:.04em; margin-bottom:4px; }
.addr-v { font-family:var(--mono); font-size:var(--h1-inner); line-height:1.3; letter-spacing:0; white-space:nowrap; font-weight:500; overflow-x:auto; scrollbar-width:thin; }
.addr-v b { font-weight:500; color:var(--soft); }
.addr-acts { margin-left:auto; display:flex; gap:var(--s1); flex:none; }
.exp { padding:var(--s3) var(--s4); border-left:1px solid var(--line); background:var(--paper-warm); color:var(--ink); }
.exp-top { display:flex; justify-content:space-between; align-items:baseline; gap:var(--s2); }
.exp-t { font-family:var(--mono); font-size:var(--lead); font-weight:500; letter-spacing:0; }
.bar { height:6px; border-radius:var(--pill); background:var(--track); margin:12px 0; overflow:hidden; }
.bar span { display:block; height:100%; width:99%; border-radius:var(--pill); background:var(--deep); }
.exp-bot { display:flex; justify-content:space-between; align-items:center; gap:var(--s1); font-size:var(--micro); color:var(--soft); }
.exp-bot button { font-size:var(--small); font-weight:600; color:var(--deep); white-space:nowrap; }
.inbox { display:grid; grid-template-columns:376px minmax(0,1fr); height:620px; min-height:600px; }
.list { border-right:1px solid var(--line); display:flex; flex-direction:column; min-height:0; min-width:0; }
.list-h { height:56px; flex:none; display:flex; align-items:center; justify-content:space-between; padding:0 var(--s3); border-bottom:1px solid var(--line); font-size:var(--small); }
.list-h strong { font-weight:600; }
.list-h em { font-style:normal; color:var(--soft); margin-left:var(--s1); }
.refresh { display:flex; align-items:center; gap:var(--s1); color:var(--muted); font-size:var(--small); min-height:40px; }
.refresh svg { width:16px; height:16px; }
.mail-list { overflow-y:auto; flex:none; max-height:calc(100% - 56px); }
.row { width:100%; height:76px; display:grid; grid-template-columns:36px minmax(0,1fr) auto; gap:12px; align-items:center; padding:0 var(--s3); border-bottom:1px solid var(--line); position:relative; text-align:left; background:var(--paper); color:var(--ink); }
.row.on,.row.is-active { background:var(--selected); color:var(--ink); }
.row.on,.row.is-active { box-shadow:inset 3px 0 var(--deep); }
.row-t { min-width:0; }
.row-f { display:flex; align-items:center; gap:var(--s1); font-size:var(--small); font-weight:600; }
.row-s { font-size:var(--small); color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.row-m { font-size:var(--micro); color:var(--soft); align-self:center; white-space:nowrap; }
.ava { width:36px; height:36px; border-radius:var(--pill); display:grid; place-items:center; flex:none; background:var(--selected); color:var(--ink); font-weight:600; }
.ava svg { width:100%; height:100%; }
.demo { display:inline-block; font-size:var(--micro); line-height:20px; padding:0 var(--s1); border-radius:var(--pill); background:var(--bg2); color:var(--muted); font-weight:500; }
.list-empty { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:var(--s4); text-align:center; font-size:var(--small); color:var(--soft); }
.list-empty svg { width:96px; height:48px; }
.read { display:flex; flex-direction:column; min-width:0; min-height:0; background:var(--paper); color:var(--ink); }
.read-h { padding:var(--s3) 40px; border-bottom:1px solid var(--line); flex:none; }
.read-h h2 { font-size:var(--h3); line-height:1.4; font-weight:500; margin-bottom:var(--s2); overflow-wrap:anywhere; }
.who { display:flex; align-items:center; gap:12px; font-size:var(--small); }
.who .ava { width:36px; height:36px; }
.who b { font-weight:600; }
.who span { color:var(--soft); }
.who time { margin-left:auto; color:var(--soft); white-space:nowrap; }
.who .demo { margin-left:var(--s1); }
.read-b { flex:1; min-height:0; padding:var(--s4) 40px; overflow:auto; overscroll-behavior:contain; }
.mail { max-width:560px; }
.mail-logo { display:flex; align-items:center; gap:var(--s1); font-weight:600; font-size:var(--lead); color:var(--ink); margin-bottom:var(--s3); }
.mail-logo svg { width:28px; height:28px; }
.mail p { font-size:var(--body); color:var(--ink); margin-bottom:var(--s2); }
.code { display:flex; align-items:center; justify-content:space-between; gap:var(--s2); margin:var(--s3) 0; padding:var(--s2) var(--s3); border-radius:var(--r1); background:var(--bg2); color:var(--ink); border:1px solid var(--line); }
.code-v { font-family:var(--mono); font-size:var(--h1-inner); font-weight:600; letter-spacing:.18em; color:var(--ink); }
.code-k { font-size:var(--micro); color:var(--soft); text-align:right; }
.mail .disc { margin-top:var(--s3); padding-top:var(--s2); border-top:1px solid var(--line); font-size:var(--micro); color:var(--soft); }
.read-f { min-height:64px; display:flex; flex-wrap:wrap; align-items:center; gap:var(--s1); padding:12px 40px; border-top:1px solid var(--line); flex:none; }
.read-f .muted { margin-left:auto; font-size:var(--micro); color:var(--soft); display:flex; align-items:center; gap:var(--s1); }
.read-f .muted svg { width:14px; height:14px; }
.reader-close { display:none; }
.mail-frame { width:100%; min-height:380px; border:0; display:block; background:var(--paper); color:var(--ink); }
.mail-plain { font:var(--body)/1.8 var(--font); white-space:pre-wrap; overflow-wrap:anywhere; }
.is-real .demo-pill,.is-real .demo-letterhead { display:none; }
.empty-host { display:grid; place-items:center; min-height:0; }
.empty-state { box-sizing:border-box; width:min(420px,calc(100% - 32px)); height:auto; min-height:0; padding:16px; margin:0; border:1px solid var(--paper-warm); border-radius:var(--r1); background:var(--paper-warm); color:var(--ink); text-align:center; }
.empty-state h3 { font-size:var(--lead); font-weight:500; margin-bottom:var(--s1); }
.empty-state p { color:var(--muted); font-size:var(--small); }
.empty-state svg { width:48px; height:32px; margin-bottom:var(--s1); }
.pane-fwd { display:grid; grid-template-columns:480px minmax(0,1fr); min-height:712px; }
.fwd-l { padding:var(--s5); border-right:1px solid var(--line); display:flex; flex-direction:column; }
.fwd-l h2 { font-size:var(--h1-inner); line-height:1.3; font-weight:500; margin-bottom:var(--s2); }
.fwd-l>p { color:var(--muted); margin-bottom:var(--s4); }
.field { display:flex; flex-direction:column; gap:var(--s1); margin-bottom:var(--s2); min-width:0; }
.field label { font-size:var(--small); font-weight:500; }
.input,input:not([type="radio"]):not([type="checkbox"]):not([type="range"]),textarea { width:100%; min-width:0; min-height:52px; border:1px solid var(--grey); border-radius:var(--input-radius,var(--r1)); padding:12px var(--s2); font-size:var(--small); color:var(--ink); background:var(--paper); }
.input { display:flex; align-items:center; color:var(--soft); }
input::placeholder,textarea::placeholder { color:var(--soft); opacity:1; font-size:var(--small); }
.fwd-l>.btn { width:100%; }
.fwd-facts { margin-top:auto; padding-top:var(--s4); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s2); border-top:1px solid var(--line); }
.fwd-facts b { display:block; font-size:var(--h3); font-weight:500; line-height:1.3; }
.fwd-facts span { font-size:var(--micro); color:var(--soft); }
.fwd-r { background:var(--bg2); color:var(--ink); padding:var(--s5); min-width:0; }
.desk { background:var(--paper); color:var(--ink); border-radius:var(--r2); border:1px solid var(--line); overflow:hidden; }
.desk-h { display:flex; align-items:center; justify-content:space-between; gap:var(--s2); padding:var(--s2) var(--s3); border-bottom:1px solid var(--line); }
.desk-h strong { font-size:var(--body); font-weight:600; }
.desk-h span { font-size:var(--small); color:var(--soft); }
.quota { height:6px; border-radius:var(--pill); background:var(--track); width:160px; margin-top:var(--s1); overflow:hidden; }
.quota i { display:block; height:100%; width:7%; border-radius:var(--pill); background:var(--deep); }
.quota.is-twelve i { width:12%; }
.al { display:grid; grid-template-columns:minmax(0,1fr) 120px 96px 72px; align-items:center; gap:var(--s2); padding:0 var(--s3); height:68px; border-bottom:1px solid var(--line); font-size:var(--small); }
.al:last-child { border-bottom:0; }
.al-a { font-family:var(--mono); font-size:var(--small); letter-spacing:0; white-space:nowrap; }
.al-s { color:var(--muted); }
.al-n { color:var(--soft); text-align:right; }
.tag,.status-pill { display:inline-flex; align-items:center; justify-content:center; gap:var(--s1); font-size:var(--micro); font-weight:500; min-height:24px; padding:2px 12px; border-radius:var(--pill); width:fit-content; margin:0; background:var(--bg2); color:var(--muted); }
.tag.ok,.status-pill.ok,.status-pill.is-active { background:var(--success-bg); color:var(--deep); }
.tag.off,.status-pill.off,.status-pill.is-paused { background:var(--warm-bg); color:var(--warm-ink); }
.tag::before { content:""; width:6px; height:6px; border-radius:var(--pill); background:currentColor; flex:none; }
.al-head { height:40px; color:var(--soft); font-size:var(--micro); background:var(--paper-warm); }
.arch { margin-top:var(--s2); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s2); }
.arch div { background:var(--paper); color:var(--ink); border-radius:var(--r1); border:1px solid var(--line); padding:var(--s2) var(--s3); }
.arch b { display:block; font-size:var(--h3); font-weight:500; }
.arch span { font-size:var(--small); color:var(--muted); }
section { position:relative; }
.band-photo { height:560px; position:relative; overflow:hidden; }
.band-photo>svg,.band-photo>img { width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.04); }
.band-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,color-mix(in srgb,var(--ink) 5%,var(--clear)) 20%,color-mix(in srgb,var(--ink) 72%,var(--clear)) 100%); }
.band-photo .cap { position:absolute; left:0; right:0; bottom:var(--s6); z-index:1; color:var(--paper); }
.band-photo h2 { font-size:var(--h2); line-height:1.25; font-weight:500; letter-spacing:-.01em; }
.pad { padding:var(--s7) 0; }
.pad-t { padding-top:var(--s7); }
.pad-b { padding-bottom:var(--s7); }
.eyebrow { font-size:var(--small); font-weight:600; color:var(--deep); margin:0 0 20px; display:flex; align-items:center; gap:var(--s1); }
.eyebrow svg { width:22px; height:12px; flex:none; }
.h2 { font-size:var(--h2); line-height:1.3; font-weight:500; letter-spacing:-.01em; }
.section-intro { margin-top:20px; color:var(--muted); }
.lead { font-size:var(--lead); line-height:1.75; color:var(--ink); }
.feat { display:grid; grid-template-columns:384px minmax(0,1fr); gap:var(--s4); }
.feat-l .lead { margin:var(--s3) 0 40px; }
.feat-panel { background:var(--bg2); color:var(--ink); border-radius:var(--r2); padding:var(--s5); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s6) var(--s5); margin-right:-64px; border-top-right-radius:0; border-bottom-right-radius:0; }
.fi { display:grid; grid-template-columns:52px minmax(0,1fr); gap:var(--s3); }
.ico { width:52px; height:52px; border-radius:var(--pill); background:var(--lime); color:var(--ink); display:grid; place-items:center; }
.ico svg { width:24px; height:24px; }
.fi h3 { font-size:var(--h3); line-height:1.4; font-weight:500; margin:var(--s1) 0 12px; }
.fi p { font-size:var(--body); color:var(--muted); }
.fi .num { font-family:var(--mono); font-size:var(--micro); color:var(--soft); letter-spacing:0; }
.arrow { margin-top:var(--s2); display:inline-flex; }
.arrow svg { width:24px; height:16px; }
.limits-title { max-width:860px; }
.limits { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--s5); margin-top:var(--s6); }
.lm svg { width:26px; height:26px; margin-bottom:var(--s3); }
.lm h3 { font-size:var(--h3); line-height:1.45; font-weight:500; margin-bottom:var(--s2); }
.lm p { font-size:var(--body); color:var(--muted); }
.fwd-sec .head { display:flex; justify-content:space-between; align-items:end; gap:var(--s4); margin-bottom:var(--s5); }
.fwd-sec .head p { max-width:440px; color:var(--muted); }
.split { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-radius:var(--r2); overflow:hidden; height:560px; }
.split-g { background:var(--lime); color:var(--ink); padding:56px 0 0 56px; overflow:hidden; position:relative; }
.split-g .desk { border-top-right-radius:0; border-bottom-left-radius:0; border-bottom-right-radius:0; box-shadow:var(--shadow-card); border:0; margin-right:-1px; height:100%; }
.split-p { background:var(--grey); color:var(--ink); position:relative; }
.split-p img,.split-p>svg { width:100%; height:100%; object-fit:cover; display:block; }
.fwd-cta { display:flex; flex-wrap:wrap; gap:var(--s2); margin-top:40px; align-items:center; }
.fwd-cta span { margin-left:var(--s2); font-size:var(--small); color:var(--soft); }
.steps-sec { background:var(--bg2); color:var(--ink); }
.steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s4); margin-top:var(--s6); }
.st { background:var(--paper); color:var(--ink); border-radius:var(--r2); padding:40px; position:relative; }
.st-n { display:inline-flex; align-items:center; justify-content:center; min-height:32px; padding:0 var(--s2); border-radius:var(--pill); background:var(--lime); color:var(--ink); font-family:var(--mono); font-size:var(--small); font-weight:600; letter-spacing:0; margin-bottom:var(--s4); }
.st h3 { font-size:var(--h3); line-height:1.4; font-weight:500; margin-bottom:12px; }
.st p { font-size:var(--body); color:var(--muted); }
.st-k { margin-top:var(--s3); padding-top:var(--s2); border-top:1px solid var(--line); font-size:var(--small); color:var(--deep); font-weight:500; }
.guides-head { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--s3); align-items:end; margin-bottom:var(--s5); }
.guides-head p { margin-top:20px; color:var(--muted); max-width:520px; }
.guides { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s4); }
.gc { border-radius:var(--r2); padding:40px; display:flex; flex-direction:column; min-height:360px; transition:transform .25s; color:var(--ink); }
.gc:hover { transform:translateY(-4px); }
.gc.a { background:var(--guide-green); color:var(--ink); }
.gc.b { background:var(--guide-grey); color:var(--ink); }
.gc.c { background:var(--guide-warm); color:var(--ink); }
.gc-k { font-size:var(--small); font-weight:600; color:var(--deep); }
.gc.b .gc-k { color:var(--guide-grey-ink); }
.gc.c .gc-k { color:var(--guide-warm-ink); }
.gc h3 { font-size:var(--h3); line-height:1.4; font-weight:500; margin:var(--s2) 0 12px; }
.gc p { font-size:var(--body); color:var(--muted); }
.gc .arrow { margin-top:auto; padding-top:28px; }
.glist { margin-top:var(--s4); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s4); }
.glist a { display:flex; justify-content:space-between; align-items:center; gap:var(--s2); padding:var(--s3) 0; border-top:1px solid var(--line); font-size:var(--body); font-weight:500; min-width:0; }
.glist a span { font-size:var(--small); font-weight:400; color:var(--soft); display:block; }
.glist svg { width:24px; height:16px; flex:none; }
.faq { display:grid; grid-template-columns:384px minmax(0,1fr); gap:96px; }
.faq-l p { margin-top:var(--s3); color:var(--muted); }
.faq-l a { color:var(--deep); font-weight:600; overflow-wrap:anywhere; }
details { border-bottom:1px solid var(--line); }
details:first-child { border-top:1px solid var(--line); }
summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; padding:var(--s3) 0; font-size:var(--lead); font-weight:500; gap:var(--s3); }
summary::-webkit-details-marker { display:none; }
summary i { width:32px; height:32px; border-radius:var(--pill); background:var(--bg2); color:var(--ink); display:grid; place-items:center; flex:none; }
summary i::after { content:""; width:7px; height:7px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:translateY(-2px) rotate(45deg); }
details[open] summary i { background:var(--lime); color:var(--ink); }
details[open] summary i::after { transform:translateY(2px) rotate(225deg); }
details p { padding:0 var(--s6) var(--s3) 0; color:var(--muted); font-size:var(--body); }
.cta { background:var(--lime); color:var(--lime-ink); padding:112px 0; overflow:hidden; }
.cta .wrap { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:var(--s6); position:relative; }
.cta h2 { font-size:var(--h2); line-height:1.25; font-weight:500; letter-spacing:-.01em; color:var(--lime-ink); }
.cta p { margin-top:var(--s2); font-size:var(--lead); color:var(--cta-copy); max-width:620px; }
.cta-b { display:flex; flex-wrap:wrap; gap:var(--s2); }
.cta .btn-line { background:var(--clear); color:var(--lime-ink); border-color:var(--grey); }
.cta .btn-line:hover { background:color-mix(in srgb,var(--paper) 35%,var(--clear)); color:var(--lime-ink); }
footer { padding:96px 0 var(--s5); background:var(--paper); color:var(--ink); }
.footer-mast { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:var(--s5); margin-bottom:var(--s5); align-items:start; }
.footer-about p { margin-top:var(--s2); font-size:var(--small); color:var(--muted); max-width:620px; }
.footer-support { background:var(--bg2); color:var(--ink); border-radius:var(--r2); padding:var(--s3); }
.footer-support p { font-size:var(--small); margin-bottom:var(--s2); color:var(--muted); }
.footer-support .btn { white-space:normal; overflow-wrap:anywhere; }
.foot { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--s5); }
.foot h4 { font-size:var(--small); font-weight:600; margin-bottom:var(--s2); }
.foot li { margin-bottom:12px; font-size:var(--small); color:var(--muted); }
.foot a { overflow-wrap:anywhere; }
.foot li a:hover { color:var(--ink); }
.legal { margin-top:80px; padding-top:var(--s3); border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:var(--s3); font-size:var(--micro); color:var(--soft); }
.toast { position:fixed; left:50%; bottom:var(--s3); transform:translate(-50%,12px); width:max-content; max-width:min(430px,calc(100% - 32px)); z-index:150; padding:12px 20px; border-radius:var(--r1); background:var(--ink-hover); color:var(--paper-warm); box-shadow:var(--shadow-window); 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:110; background:var(--overlay); color:var(--ink); display:grid; place-items:center; padding:var(--s2); }
.modal-panel { width:min(600px,100%); max-height:calc(100dvh - 32px); overflow:auto; padding:var(--s4); border-radius:var(--r2); background:var(--paper); color:var(--ink); box-shadow:var(--shadow-window); }
.modal-panel h2 { font-size:var(--h3); line-height:1.4; font-weight:500; margin-bottom:var(--s2); }
.modal-panel p { color:var(--muted); font-size:var(--body); }
.modal-panel .actions { margin-top:var(--s3); justify-content:flex-end; }
.modal-confirm { max-width:420px; }
.modal-icon { width:40px; height:40px; margin-bottom:12px; }
.card { background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:var(--r2); padding:var(--s4); }
.card h2,.card h3 { font-size:var(--h3); line-height:1.4; font-weight:500; }
.card p { color:var(--muted); font-size:var(--body); margin-top:12px; }
.table-scroll { margin-top:var(--s3); overflow-x:auto; }
table { width:100%; border-collapse:collapse; text-align:left; font-size:var(--small); color:var(--ink); }
th,td { padding:var(--s2); border-bottom:1px solid var(--line); }
th { background:var(--bg2); color:var(--muted); font-weight:500; }
.filter { position:relative; display:inline-block; }
.filter-trigger { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:40px; margin-block:var(--s2); padding:8px var(--s2); border:1px solid var(--grey); border-radius:var(--pill); background:var(--paper); color:var(--ink); font-size:var(--small); }
.filter-menu { position:absolute; left:0; top:calc(100% + 8px); min-width:180px; padding:var(--s1); z-index:30; border:1px solid var(--grey); border-radius:var(--r1); background:var(--paper); color:var(--ink); box-shadow:var(--shadow-window); }
.filter-menu button,.filter-menu [role="option"] { width:100%; display:inline-flex; align-items:center; justify-content:flex-start; padding:8px 12px; border-radius:var(--r1); text-align:left; font-size:var(--small); background:var(--paper); color:var(--ink); }
.filter-menu button:hover,.filter-menu [aria-selected="true"] { background:var(--selected); color:var(--ink); }
.access-main { max-width:1100px; margin:0 auto; padding:80px var(--s4) var(--s7); }
.auth-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s6); align-items:start; }
.auth-story { padding:var(--s4) 0; }
.auth-story h1 { font-size:var(--h1-inner); line-height:1.3; font-weight:500; }
.auth-story p { margin-top:var(--s3); color:var(--muted); }
.pod-access-surface { background:var(--bg2); color:var(--ink); border-radius:var(--r2); padding:40px; }
.pod-access-surface h2 { font-size:var(--h3); line-height:1.4; font-weight:500; margin-bottom:var(--s3); }
.login-pane { display:grid; gap:var(--s2); }
.login-pane .actions { gap:12px; }
.login-pane .actions .btn { font-size:var(--small); }
.auth-notice { margin:12px 0 16px; padding:12px var(--s2); background:var(--success-bg); color:var(--deep); border-radius:var(--r1); font-size:var(--small); overflow-wrap:anywhere; }
.desk-root { padding:var(--s6) 0 var(--s7); }
.session-bar { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s2); margin-bottom:var(--s5); }
.session-bar [data-session-email] { font-family:var(--mono); font-size:var(--small); overflow-wrap:anywhere; }
.alias-workspace { padding:var(--s4); border:1px solid var(--line); border-radius:var(--r2); background:var(--paper); color:var(--ink); }
.alias-compose { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:var(--s3); margin-bottom:var(--s4); }
.alias-compose input { flex:1; min-width:160px; border-radius:var(--pill); }
.alias-compose .btn { min-height:52px; font-size:var(--small); border-radius:var(--pill); }
.alias-suffix { font-family:var(--mono); font-size:var(--small); }
.alias-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:var(--s2); padding:var(--s2) 0; border-bottom:1px solid var(--line); }
.alias-address { font-family:var(--mono); font-size:var(--small); overflow-wrap:anywhere; min-width:0; }
.alias-operations { display:flex; flex-wrap:wrap; gap:var(--s1); }
.archive-workspace { margin-top:var(--s5); padding:var(--s4); border-radius:var(--r2); background:var(--bg2); color:var(--ink); }
.archive-head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:var(--s2); margin-bottom:var(--s3); }
.archive-head h2,.alias-workspace h2,.surface-safety h2 { font-size:var(--h3); font-weight:500; line-height:1.4; }
.archive-list { border-top:0; }
.archive-row { display:flex; align-items:center; justify-content:space-between; gap:var(--s2); width:100%; padding:var(--s2) 0; border:0; border-bottom:1px solid var(--line); background:var(--clear); color:var(--ink); text-align:left; font-size:var(--small); }
.archive-row-main { min-width:0; }
.archive-row-subject { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.archive-row-sender { display:block; color:var(--muted); overflow-wrap:anywhere; }
.archive-row-meta { display:flex; align-items:center; gap:var(--s2); flex:none; font-size:var(--micro); }
.archive-detail { min-width:0; max-width:100%; margin-top:var(--s3); padding:var(--s4); border:1px solid var(--line); border-radius:var(--r2); background:var(--paper); color:var(--ink); overflow-wrap:anywhere; }
.archive-detail-head { display:flex; justify-content:space-between; align-items:flex-start; gap:var(--s3); margin-bottom:var(--s3); }
.archive-detail-head .btn { flex:none; align-self:flex-start; }
.archive-detail h2 { font-size:var(--h3); line-height:1.4; font-weight:500; }
[data-archive-empty] { margin-inline:auto; }
.archive-wait-pill { margin-top:var(--s2); }
.surface-safety { margin-top:var(--s5); padding:var(--s4); background:var(--paper-warm); color:var(--ink); border:1px solid var(--line); border-radius:var(--r2); }
.twofa-idle { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:var(--s3); }
.twofa-status { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
[data-2fa-badge] { background:var(--warm-bg); color:var(--warm-ink); margin:0; }
[data-twofa-start] { flex:none; align-self:center; }
.twofa-setup { margin-top:var(--s3); margin-bottom:20px; padding-top:var(--s3); border-top:1px solid var(--line); }
.setup-grid { display:grid; grid-template-columns:180px minmax(0,1fr); gap:var(--s4); align-items:start; }
[data-twofa-qr] { display:block; width:180px; height:180px; aspect-ratio:1; object-fit:contain; background:var(--paper); color:var(--ink); }
.twofa-steps { display:grid; gap:var(--s2); counter-reset:setup; }
.twofa-step { display:grid; grid-template-columns:32px minmax(0,1fr); gap:12px; align-items:start; }
.twofa-step::before { counter-increment:setup; content:counter(setup); width:32px; height:32px; border-radius:var(--pill); display:grid; place-items:center; background:var(--lime); color:var(--ink); font-family:var(--mono); font-size:var(--small); }
.secret-row { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:12px; }
.twofa-secret { font-family:var(--mono); color:var(--ink); background:var(--paper); border:1px solid var(--line); border-radius:var(--r1); padding:8px 12px; overflow-wrap:anywhere; min-width:0; }
.secret-row .btn { width:auto; flex:none; }
.twofa-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:var(--s3); }
.twofa-actions input { width:160px !important; }
.twofa-actions .btn { min-height:52px; }
.article-wrap { width:min(1180px,calc(100% - 64px)); margin-inline:auto; }
.article-hero { padding:var(--s6) 0 var(--s5); }
.breadcrumb { margin-bottom:var(--s3); color:var(--muted); font-size:var(--small); }
.article-hero h1 { font-size:var(--h1-inner); line-height:1.3; font-weight:500; max-width:900px; }
.article-layout { display:grid; width:min(1180px,calc(100% - 64px)); max-width:1180px; margin-inline:auto; grid-template-columns:240px minmax(0,1fr); gap:var(--s6); align-items:start; padding-bottom:var(--s7); }
.article-toc { position:sticky; top:calc(var(--header-h) + 16px); border:1px solid var(--line); border-radius:var(--r2); padding:var(--s3); background:var(--bg2); color:var(--ink); }
/* Retirement pages draw the TOC frame on .retirement-directory. The same border on the aside stacks a second rounded box. */
.article-toc.retirement-sidebar { border:0; padding:0; background:transparent; border-radius:0; }
.article-toc h2 { font-size:var(--lead); line-height:1.4; font-weight:500; margin-bottom:var(--s2); }
.article-toc ol { padding-left:20px; font-size:var(--small); }
.article-toc li+li { margin-top:var(--s1); }
.toc-count { margin-top:var(--s2); }
.prose { min-width:0; font-size:var(--body); line-height:1.9; }
.prose p { margin-bottom:var(--s3); }
.prose h2 { font-size:var(--h1-inner); line-height:1.4; font-weight:500; margin:var(--s5) 0 var(--s3); }
.prose h3 { font-size:var(--lead); line-height:1.5; font-weight:500; margin:var(--s4) 0 var(--s2); }
.prose ul,.prose ol { padding-left:var(--s3); margin-bottom:var(--s3); list-style:revert; }
.prose a:not(.btn) { color:var(--deep); text-decoration:underline; text-underline-offset:3px; }
.prose .btn-ink { background:var(--ink); color:var(--paper); }
.prose .btn-lime { background:var(--lime); color:var(--ink); }
.prose .card,.prose .table-scroll { margin-top:var(--s3); margin-bottom:var(--s4); }
.prose .article-cta { margin-top:var(--s5); padding:var(--s4); background:var(--lime); color:var(--ink); border-radius:var(--r2); }
.prose .article-cta h2 { margin-top:0; }
.prose .article-cta .actions { margin-top:28px; }
.recommend-float { position:fixed; right:var(--s3); bottom:var(--s3); z-index:40; width:min(340px,calc(100% - 32px)); border:1px solid var(--line); border-radius:var(--r2); background:var(--paper); color:var(--ink); box-shadow:var(--shadow-window); overflow:hidden; }
.recommend-image { background:var(--bg2); color:var(--ink); padding:var(--s3); }
.recommend-content { padding:var(--s3); }
.recommend-content h2 { font-size:var(--lead); line-height:1.4; font-weight:500; }
.recommend-content p { font-size:var(--small); color:var(--muted); margin:12px 0 20px; }
.recommend-content .btn { height:auto; white-space:normal; }
.float-close { position:absolute; top:12px; right:12px; display:grid; place-items:center; width:32px; height:32px; border-radius:var(--pill); background:var(--paper); color:var(--ink); border:1px solid var(--line); }
.post-card { display:flex; flex-direction:column; padding:var(--s4); border-radius:var(--r2); border:1px solid var(--line); background:var(--bg2); color:var(--ink); }
.post-card h2 { font-size:var(--h3); line-height:1.4; font-weight:500; margin:var(--s2) 0; }
.post-card time { display:block; font-size:var(--micro); color:var(--soft); margin-top:var(--s2); }
.post-card p { font-size:var(--body); color:var(--muted); }
.centered { text-align:center; }
.centered .actions { justify-content:center; }
.centered .section-intro { margin-inline:auto; }
@media (max-width:1100px) {
  :root { --h1:40px; --h2:32px; }
  .wrap { width:calc(100% - 64px); }
  .links { margin-left:16px; gap:8px; font-size:var(--small); }
  .nav-r { gap:12px; }
  .header-product { display:none; }
  .addr { grid-template-columns:minmax(0,1fr) 300px; }
  .addr-main { padding:var(--s3); flex-wrap:wrap; gap:var(--s2); }
  .addr-acts { margin-left:0; }
  .addr-v { font-size:var(--h3); }
  .inbox { grid-template-columns:320px minmax(0,1fr); }
  .row { padding-inline:var(--s2); gap:var(--s1); }
  .read-h,.read-b { padding:var(--s3); }
  .read-f { padding:12px var(--s3); }
  .who { flex-wrap:wrap; }
  .who time { margin-left:0; }
  .who .sender-address { display:block; }
  .feat { grid-template-columns:280px minmax(0,1fr); }
  .feat-panel { margin-right:-32px; gap:var(--s4); padding:var(--s4); }
  .fi { grid-template-columns:40px minmax(0,1fr); gap:var(--s2); }
  .ico { width:40px; height:40px; }
  .fi h3 { font-size:var(--lead); }
  .limits { gap:var(--s4); }
  .fwd-sec .head { align-items:start; }
  .fwd-sec .head p { max-width:360px; }
  .split-g { padding:var(--s4) 0 0 var(--s4); }
  .steps { gap:var(--s3); }
  .st,.gc { padding:var(--s4); }
  .faq { grid-template-columns:280px minmax(0,1fr); gap:var(--s5); }
  .cta .wrap { gap:var(--s4); }
  .cta h2 { font-size:var(--h2); }
  .cta-b { flex-direction:column; }
  .pane-fwd { grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); }
  .fwd-l,.fwd-r { padding:var(--s4); }
  .article-layout { gap:var(--s4); grid-template-columns:220px minmax(0,1fr); }
  .auth-layout { grid-template-columns:minmax(0,1fr); max-width:680px; margin-inline:auto; gap:var(--s4); }
}
@media (max-width:860px) {
  :root { --header-h:72px; --h1:40px; --h2:32px; --s7:80px; }
  .links { display:none; }
  .menu-toggle { display:inline-flex; order:-1; margin-right:var(--s2); }
  .nav-r { gap:var(--s3); }
  .hero-head { padding-top:80px; }
  .hero-art { right:var(--s4); opacity:.6; }
  .tool-note { gap:12px; font-size:var(--micro); }
  .addr { grid-template-columns:minmax(0,1fr); }
  .addr-main { flex-wrap:nowrap; }
  .addr-acts { margin-left:auto; }
  .exp { border-left:0; border-top:1px solid var(--line); padding:var(--s2) var(--s3); }
  .exp-top { justify-content:flex-start; }
  .exp-bot { justify-content:flex-start; gap:var(--s3); }
  .bar { margin:var(--s1) 0; }
  .inbox { grid-template-columns:280px minmax(0,1fr); }
  .row { grid-template-columns:32px minmax(0,1fr); }
  .row-m { display:none; }
  .row .ava { width:32px; height:32px; }
  .feat { grid-template-columns:minmax(0,1fr); gap:var(--s5); }
  .feat-panel { margin-right:0; border-radius:var(--r2); }
  .feat-l { max-width:620px; }
  .limits { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fwd-sec .head { display:grid; gap:var(--s3); }
  .fwd-sec .head p { max-width:620px; }
  .split { height:460px; }
  .split .al { grid-template-columns:minmax(0,1fr) 90px; }
  .split .al-s,.split .al-n { display:none; }
  .steps { grid-template-columns:minmax(0,1fr); }
  .guides,.glist { gap:var(--s2); }
  .gc { padding:var(--s3); }
  .gc h3 { font-size:var(--lead); }
  .faq { grid-template-columns:minmax(0,1fr); gap:var(--s4); }
  .cta .wrap { grid-template-columns:minmax(0,1fr); }
  .cta-b { flex-direction:row; }
  .foot { gap:var(--s3); }
  .footer-mast { gap:var(--s4); }
  .article-layout { grid-template-columns:minmax(0,1fr); }
  .article-toc { position:static; }
  .pane-fwd { grid-template-columns:minmax(0,1fr); }
  .fwd-l { border-right:0; border-bottom:1px solid var(--line); }
  .fwd-facts { margin-top:var(--s4); }
}
@media (max-width:560px) {
  :root { --header-h:68px; --h1:32px; --h2:24px; --h3:24px; --s7:64px; }
  .wrap { width:calc(100% - 32px); }
  .nav { gap:var(--s1); }
  .brand { font-size:var(--lead); gap:6px; }
  .brand img { width:28px; height:28px; }
  .menu-toggle { margin-right:4px; flex:none; }
  .nav-r { gap:12px; }
  .lang { width:28px; min-width:28px; padding:8px; background:var(--clear); color:var(--ink); }
  .lang .lang-label { display:none; }
  .lang .chevron { right:10px; }
  .nav-r>.login { font-size:var(--small); }
  .hero { padding-bottom:var(--s6); }
  .hero::before { top:-68px; height:480px; }
  .hero-art { top:12px; right:0; width:240px; height:120px; opacity:.45; }
  .hero-head { padding-top:72px; padding-bottom:var(--s4); }
  .hero h1 { line-height:1.25; }
  .hero-sub { font-size:var(--body); }
  .tool-bar { align-items:stretch; flex-direction:column; gap:var(--s2); }
  .switch { width:100%; }
  .switch a { flex:1; padding:10px 12px; white-space:normal; }
  .tool-note { justify-content:flex-start; flex-wrap:wrap; gap:var(--s2); }
  .addr-main { padding:var(--s2); display:block; }
  .addr-v { font-size:var(--lead); max-width:100%; }
  .addr-acts { margin-top:var(--s2); }
  .exp { padding:var(--s2); }
  .exp-bot { gap:var(--s2); }
  .exp-bot span { font-size:var(--micro); }
  .inbox { display:block; height:auto; min-height:0; }
  .list { border-right:0; min-height:360px; }
  .mail-list { max-height:360px; }
  .list-h { padding-inline:var(--s2); }
  .row { grid-template-columns:36px minmax(0,1fr) auto; height:76px; }
  .row .ava { width:36px; height:36px; }
  .row-m { display:block; font-size:var(--micro); }
  .list-empty { padding:var(--s3); gap:var(--s1); min-height:140px; }
  .read { border-top:1px solid var(--line); }
  .read-h { padding:var(--s3) var(--s2); }
  .read-h h2 { font-size:var(--h3); }
  .who { gap:var(--s1); }
  .who>div { min-width:0; flex:1; }
  .who .sender-address { font-size:var(--micro); overflow-wrap:anywhere; }
  .who time { margin-left:auto; font-size:var(--micro); }
  .read-b { padding:var(--s3) var(--s2); max-height:480px; }
  .read-f { padding:12px var(--s2); }
  .read-f .muted { width:100%; margin-left:0; }
  .code { padding:var(--s2); }
  .code-v { font-size:var(--h3); letter-spacing:.12em; }
  .code-k { font-size:var(--micro); }
  .mobile-reader { position:fixed; inset:0; height:100dvh; z-index:100; display:flex; padding-top:var(--header-h); border:0; background:var(--paper); color:var(--ink); }
  .mobile-reader .reader-close { display:inline-flex; }
  .mobile-reader .reader-sheet-actions { position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between; padding:12px var(--s2); background:var(--paper); color:var(--ink); border-bottom:1px solid var(--line); flex:none; }
  .mobile-reader .read-b { max-height:none; flex:1; overflow:auto; }
  .sheet-open .hero-art { visibility:hidden; }
  .sheet-open .hero,.sheet-open .tool,.sheet-open .pane-temp,.sheet-open .win,.sheet-open .inbox { transform:none; animation:none; }
  .band-photo { height:360px; }
  .band-photo .cap { bottom:var(--s4); }
  .band-photo h2 { font-size:var(--h2); }
  .feat-panel { grid-template-columns:minmax(0,1fr); padding:var(--s3); gap:var(--s4); }
  .fi { grid-template-columns:44px minmax(0,1fr); gap:var(--s2); }
  .ico { width:44px; height:44px; }
  .fi h3 { font-size:var(--h3); }
  .limits { grid-template-columns:minmax(0,1fr); gap:var(--s4); margin-top:var(--s4); }
  .lm svg { margin-bottom:12px; }
  .lm h3 { margin-bottom:12px; }
  .split { grid-template-columns:minmax(0,1fr); height:auto; }
  .split-g { height:400px; padding:var(--s3) 0 0 var(--s3); }
  .split-p { height:280px; }
  .split .al { height:60px; padding-inline:var(--s2); }
  .split .al-a { font-size:var(--micro); }
  .fwd-cta { margin-top:var(--s3); }
  .fwd-cta span { margin-left:0; width:100%; }
  .steps { margin-top:var(--s4); gap:var(--s2); }
  .st { padding:var(--s3); }
  .st-n { margin-bottom:var(--s3); }
  .guides-head { grid-template-columns:minmax(0,1fr); margin-bottom:var(--s4); }
  .guides-head>.btn { justify-self:start; }
  .guides,.glist { grid-template-columns:minmax(0,1fr); }
  .gc { min-height:300px; padding:var(--s4); }
  .gc h3 { font-size:var(--h3); }
  .glist { gap:0; }
  summary { padding:20px 0; font-size:var(--body); gap:var(--s2); }
  details p { padding:0 0 var(--s3); }
  .cta { padding:var(--s6) 0; }
  .cta h2 { font-size:var(--h2); }
  .cta p { font-size:var(--body); }
  .cta-b { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
  footer { padding:var(--s6) 0 var(--s4); }
  .footer-mast { grid-template-columns:minmax(0,1fr); }
  .foot { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s4) var(--s3); }
  .legal { margin-top:var(--s5); flex-direction:column; gap:var(--s1); }
  .fwd-l,.fwd-r { padding:var(--s3); }
  .fwd-l h2 { font-size:var(--h3); }
  .pane-fwd .al { grid-template-columns:minmax(0,1fr) 76px; padding-inline:12px; gap:var(--s1); }
  .pane-fwd .al-s,.pane-fwd .al-n { display:none; }
  .pane-fwd .al-a { font-size:var(--micro); }
  .arch { grid-template-columns:minmax(0,1fr); }
  .card,.alias-workspace,.archive-workspace,.surface-safety,.archive-detail { padding:var(--s3); }
  .access-main { padding:var(--s4) var(--s2) var(--s7); }
  .auth-story { padding-top:0; }
  .auth-story h1 { font-size:var(--h1-inner); }
  .pod-access-surface { padding:var(--s3); }
  .alias-compose { display:grid; grid-template-columns:minmax(0,1fr); }
  .alias-compose input { width:100%; }
  .alias-row { grid-template-columns:minmax(0,1fr); }
  .alias-address { grid-column:1/-1; }
  .archive-row { align-items:flex-start; flex-direction:column; gap:var(--s1); }
  .archive-row-meta { flex-wrap:wrap; }
  .archive-detail-head { flex-wrap:wrap; }
  .setup-grid { grid-template-columns:minmax(0,1fr); gap:var(--s3); }
  [data-twofa-qr] { width:180px; height:180px; }
  .twofa-actions { align-items:center; }
  .twofa-actions input { width:140px !important; }
  .article-wrap { width:calc(100% - 32px); }
  .article-hero { padding-top:var(--s4); }
  .article-hero h1 { font-size:var(--h1-inner); }
  .prose h2 { font-size:var(--h3); }
  .prose h3 { font-size:var(--lead); }
  .recommend-float { right:var(--s2); bottom:var(--s2); }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
  .gc:hover { transform:none; }
}


.mail-media-note { padding:12px var(--s2); margin-bottom:var(--s2); border:1px solid var(--grey); border-radius:var(--r1); background:var(--bg2); color:var(--muted); font-size:var(--small); line-height:1.65; }
.mail-frame { min-height:240px; color:var(--ink); background:var(--paper); }
.row-sender { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.unread-dot { display:inline-block; width:6px; height:6px; border-radius:var(--pill); flex:none; background:var(--deep); color:var(--paper); }
.row-f .demo { flex:none; }
.reader-sheet-actions { display:none; }
.address-attention .addr { animation:pod-address-attention 1.5s ease-out; }
@keyframes pod-address-attention {
  0%,40% { background:var(--selected); }
  100% { background:var(--paper); }
}
.pod-access { padding:var(--s6) 0 var(--s7); background:var(--paper); color:var(--ink); }
.pod-access-heading { max-width:var(--wrap); }
.pod-access-heading .eyebrow { justify-content:center; margin-bottom:20px; }
.pod-access-heading h1 { font-size:var(--h2); font-weight:500; line-height:1.3; letter-spacing:-.01em; }
.pod-access-heading .section-intro { max-width:660px; margin:20px auto 0; font-size:var(--body); }
.pod-access-card { width:min(560px,calc(100% - 32px)); margin:var(--s5) auto 0; display:block; box-shadow:var(--shadow-small); }
.pod-access-symbol { width:64px; margin-bottom:var(--s3); color:var(--deep); }
.pod-access-symbol svg { width:48px; height:32px; }
.pod-access-card h2 { margin-bottom:12px; font-size:var(--h3); }
.pod-access-caption { margin-bottom:var(--s3); font-size:var(--small); color:var(--muted); }
.pod-login-form { display:grid; gap:var(--s2); }
.pod-login-form .field { margin:0; }
.pod-field-note { font-size:var(--small); font-weight:400; line-height:1.7; color:var(--muted); }
.pod-wide-button { width:100%; }
.pod-access-privacy { font-size:var(--micro); color:var(--muted); }
.pod-access-privacy a { color:var(--deep); text-decoration:underline; text-underline-offset:3px; }
.pod-login-secondary { align-items:center; }
.pod-login-secondary .btn { min-height:44px; background:var(--paper); color:var(--ink); }
.pod-login-secondary .btn:hover { background:var(--ghost-hover); color:var(--ink); }
.pod-twofa-instruction { font-size:var(--small); color:var(--muted); }
.pod-progress { margin-top:var(--s2); font-size:var(--small); color:var(--deep); }
.pod-error { margin-top:var(--s2); margin-bottom:var(--s2); padding:12px var(--s2); border:1px solid var(--grey); border-radius:var(--r1); background:var(--warm-bg); color:var(--warm-ink); font-size:var(--small); overflow-wrap:anywhere; }
.pod-access-bottom { margin-top:var(--s4); }
.pod-access-bottom p { color:var(--muted); font-size:var(--small); }
.pod-access-bottom .btn { margin-top:var(--s2); }
.pod-account-strip { justify-content:space-between; gap:var(--s3); margin-bottom:var(--s4); }
.pod-account-identity { display:flex; align-items:flex-start; flex-direction:column; gap:4px; min-width:0; }
.pod-account-label { font-size:var(--micro); color:var(--muted); }
.pod-control { background:var(--paper); color:var(--ink); }
.pod-address-register { padding:var(--s5); }
.pod-register-heading { display:grid; grid-template-columns:minmax(0,1fr) 180px; align-items:start; gap:var(--s5); }
.pod-register-heading h1 { font-size:var(--h2); font-weight:500; line-height:1.3; letter-spacing:-.01em; }
.pod-register-heading .section-intro { max-width:800px; font-size:var(--body); }
.pod-quota { padding-top:4px; font-size:var(--micro); color:var(--muted); }
.pod-quota strong { display:block; font-family:var(--mono); font-size:var(--h3); font-weight:500; color:var(--ink); margin-top:var(--s1); }
.pod-quota .bar { margin-bottom:0; }
.pod-quota .bar span { width:0; }
.pod-compose { display:grid; grid-template-columns:minmax(160px,1fr) auto auto; flex-wrap:initial; gap:12px; margin-top:var(--s4); margin-bottom:12px; }
.pod-prefix-field { display:flex; align-items:center; min-width:0; border:1px solid var(--grey); border-radius:var(--pill); background:var(--paper); color:var(--ink); }
.pod-prefix-field:focus-within { border-color:var(--ink); outline:1px solid var(--ink); outline-offset:0; }
.pod-compose .pod-prefix-field input.pod-alias-prefix { flex:1; width:100%; min-width:0; height:52px; border:0; border-radius:var(--pill); outline:none; background:var(--paper); color:var(--ink); box-shadow:none; }
.pod-compose .alias-suffix { flex:none; padding-right:var(--s2); margin:0; font-size:var(--small); white-space:nowrap; }
.pod-compose .btn { height:52px; min-height:52px; align-self:center; font-size:var(--small); }
.pod-alias-results { margin-top:var(--s4); }
.pod-alias-columns { display:grid; grid-template-columns:minmax(0,1fr) 104px 232px; gap:var(--s2); padding-bottom:12px; color:var(--muted); font-size:var(--micro); }
.pod-address-register .alias-row { grid-template-columns:minmax(0,1fr) 104px 232px; padding:20px 0; gap:var(--s2); }
.alias-detail-trigger { display:block; text-align:left; width:100%; line-height:1.7; padding:4px 0; background:var(--clear); color:var(--ink); border-radius:var(--r1); }
.alias-detail-trigger:hover { text-decoration:underline; text-underline-offset:4px; }
.alias-statistics { grid-column:1/-1; padding:var(--s3); border:1px solid var(--line); border-radius:var(--r1); background:var(--bg2); color:var(--ink); }
.alias-statistics h3 { font-size:var(--lead); font-weight:500; line-height:1.4; }
.alias-stat-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s3); margin-top:var(--s2); }
.alias-stat-grid dt { color:var(--muted); font-size:var(--micro); }
.alias-stat-grid dd { font-family:var(--mono); font-size:var(--h3); font-weight:500; color:var(--ink); }
.alias-senders { margin-top:var(--s2); font-size:var(--small); color:var(--muted); overflow-wrap:anywhere; }
.pod-alias-empty { margin:var(--s4) auto 0; }
.pod-delivery-record { padding:var(--s5); }
.pod-delivery-record .section-intro { max-width:900px; font-size:var(--body); }
.pod-record-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:var(--s2); margin:var(--s4) 0 var(--s2); }
.pod-record-toolbar>.ghost { margin-left:auto; background:var(--paper); color:var(--ink); border:1px solid var(--grey); }
.pod-record-toolbar>.ghost:hover { background:var(--ghost-hover); color:var(--ink); }
.pod-record-count { font-size:var(--small); color:var(--muted); }
.pod-delivery-record .filter-trigger { background:var(--paper); color:var(--ink); border-color:var(--grey); padding-right:var(--s2); }
.pod-delivery-record .filter-menu { max-height:340px; overflow-y:auto; border-color:var(--grey); }
.pod-delivery-record .archive-list { border-top:0; }
.pod-delivery-record .archive-row { padding:20px 0; }
.pod-delivery-record .archive-row:hover { background:var(--selected); color:var(--ink); }
.pod-delivery-record .archive-row-subject { font-weight:500; }
.pod-delivery-record .archive-row-sender { margin-top:4px; }
.pod-delivery-record .archive-row-meta { justify-content:flex-end; }
.pod-delivery-record .archive-row-meta time { color:var(--muted); white-space:nowrap; }
.pod-delivery-record .status-pill { background:var(--paper); color:var(--muted); border:1px solid var(--line); }
.pod-archive-empty-host { display:grid; place-items:center; }
.pod-archive-empty-host:has([data-archive-empty]:not([hidden])) { padding-block:var(--s3); }
.pod-archive-empty-host .empty-state { background:var(--paper); color:var(--ink); margin:0; }
.pod-record-more { display:flex; justify-content:center; margin-top:var(--s3); }
.pod-record-more:has([hidden]) { display:none; }
.pod-archive-actions { display:flex; align-items:center; flex-wrap:wrap; gap:var(--s2); margin-bottom:var(--s3); }
.pod-archive-actions [data-archive-delete] { margin-left:auto; align-self:center; height:auto; flex:none; }
.pod-archive-letterhead { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s2); margin-top:12px; color:var(--muted); font-size:var(--small); overflow-wrap:anywhere; }
.pod-archive-body { min-height:240px; max-height:720px; overflow:auto; overscroll-behavior:contain; background:var(--paper); color:var(--ink); }
.pod-archive-attachments { display:flex; flex-wrap:wrap; gap:12px; margin-top:var(--s3); margin-bottom:var(--s2); }
.pod-archive-attachments:empty { display:none; }
.pod-archive-attachments .btn { overflow-wrap:anywhere; height:auto; white-space:normal; }
.pod-phone-check { padding:var(--s5); }
.pod-phone-heading { flex:1 1 460px; min-width:0; max-width:800px; }
.pod-phone-heading .section-intro { font-size:var(--body); }
.pod-phone-controls { display:flex; flex-direction:column; align-items:flex-start; gap:var(--s3); flex:none; }
.pod-phone-controls .twofa-status { font-size:var(--small); align-items:center; }
.pod-phone-controls { max-width:100%; min-width:0; }
.pod-phone-controls [data-twofa-start] { align-self:flex-start; min-width:0; max-width:100%; min-height:48px; height:auto; white-space:normal; overflow-wrap:anywhere; text-align:center; }
.pod-phone-controls [data-2fa-badge] { background:var(--warm-bg); color:var(--warm-ink); margin:0; }
.pod-phone-controls [data-2fa-badge].ok { background:var(--success-bg); color:var(--deep); }
.pod-idle-note { margin-top:var(--s3); max-width:900px; }
.pod-qr-column { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:180px; }
.pod-qr-column .pod-field-note { font-size:var(--micro); }
.pod-phone-check .twofa-step h3 { font-size:var(--lead); font-weight:500; line-height:1.5; margin-bottom:var(--s1); }
.pod-phone-check .twofa-step p { font-size:var(--small); color:var(--muted); }
.pod-phone-check .setup-grid { grid-template-columns:180px minmax(0,1fr); }
.pod-phone-check .twofa-actions { margin-top:12px; }
.pod-twofa-form input { font-family:var(--mono); letter-spacing:.12em; }
.pod-twofa-form .btn { min-height:52px; height:auto; }
.pod-disable-panel { margin-top:var(--s3); padding-top:var(--s3); border-top:1px solid var(--line); }
.pod-disable-panel>p { font-size:var(--small); color:var(--muted); }
.pod-control-footnote { font-size:var(--small); color:var(--muted); margin-top:var(--s4); max-width:940px; }
.modal-confirm .modal-icon { display:block; color:var(--deep); margin-bottom:12px; }
.modal-confirm .actions { gap:12px; }
@media (max-width:1100px) {
  .pod-address-register,.pod-delivery-record,.pod-phone-check { padding:var(--s4); }
  .pod-register-heading { grid-template-columns:minmax(0,1fr) 150px; gap:var(--s4); }
  .pod-alias-columns,.pod-address-register .alias-row { grid-template-columns:minmax(0,1fr) 96px 224px; }
}
@media (max-width:860px) {
  .pod-register-heading { grid-template-columns:minmax(0,1fr); }
  .pod-quota { max-width:240px; }
  .pod-compose { grid-template-columns:minmax(0,1fr) auto; }
  .pod-compose .btn { width:100%; }
  .pod-alias-columns { display:none; }
  .pod-phone-controls { flex-direction:row; flex-wrap:wrap; align-items:center; }
  .pod-phone-controls [data-twofa-start] { align-self:center; }
}
@media (max-width:720px) {
  .pod-address-register .alias-row { grid-template-columns:minmax(0,1fr); gap:12px; padding:var(--s3); margin-top:var(--s2); border:1px solid var(--line); border-radius:var(--r1); background:var(--paper-warm); color:var(--ink); }
  .pod-address-register .alias-address { grid-column:1/-1; width:100%; overflow-wrap:anywhere; }
  .pod-address-register .alias-operations { width:100%; display:flex; flex-wrap:wrap; }
  .pod-address-register .alias-statistics { padding:var(--s2); }
  .pod-phone-check .setup-grid { grid-template-columns:minmax(0,1fr); }
  .pod-archive-body { max-height:60dvh; }
}
@media (max-width:560px) {
  .pod-access { padding-top:var(--s4); }
  .pod-access-heading h1 { font-size:var(--h2); line-height:1.35; }
  .pod-access-card { margin-top:var(--s4); }
  .pod-access-symbol { margin-bottom:var(--s2); }
  .pod-access-bottom .btn { width:100%; }
  .pod-login-secondary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pod-login-secondary .btn { padding-inline:12px; min-height:44px; font-size:var(--small); }
  .pod-account-strip { align-items:flex-start; }
  .pod-account-identity { flex:1 1 180px; }
  .pod-account-strip [data-logout] { flex:none; }
  .pod-address-register,.pod-delivery-record,.pod-phone-check { padding:var(--s3); }
  .pod-register-heading h1 { font-size:var(--h2); line-height:1.35; }
  .pod-compose { grid-template-columns:minmax(0,1fr); }
  .pod-compose .alias-suffix { margin:0; }
  .pod-compose .btn { width:100%; }
  .pod-alias-results { margin-top:var(--s3); }
  .pod-alias-empty { width:100%; }
  .alias-stat-grid { gap:var(--s2); }
  .alias-stat-grid dd { font-size:var(--h3); }
  .pod-record-toolbar { gap:12px; }
  .pod-record-toolbar>.ghost { margin-left:0; }
  .pod-delivery-record .archive-row-meta { gap:12px; }
  .pod-archive-actions { gap:12px; }
  .pod-archive-actions [data-archive-delete] { margin-left:0; }
  .pod-archive-letterhead { flex-direction:column; align-items:flex-start; gap:4px; }
  .pod-phone-controls { gap:var(--s2); width:100%; flex-direction:column; align-items:stretch; }
  .pod-phone-controls [data-twofa-start] { width:100%; align-self:stretch; }
  .pod-twofa-form { display:grid; grid-template-columns:minmax(0,1fr); width:100%; }
  .pod-twofa-form input { width:100% !important; }
  .pod-twofa-form .btn { width:100%; }
  .pod-phone-check .secret-row { align-items:flex-start; }
  .pod-phone-check .twofa-secret { max-width:100%; color:var(--ink); background:var(--paper); }
  .pod-phone-check .secret-row .btn { flex:none; width:auto; }
  .pod-control-footnote { margin-top:var(--s3); }
  .reader-sheet-actions { display:none; }
  .mobile-reader .reader-sheet-actions { display:flex; }
  .mobile-reader { border-radius:0; height:100dvh; }
  .mobile-reader .read-h { flex:none; }
  .mobile-reader .read-b { min-height:0; overflow:auto; }
  .mobile-reader .read-f { flex:none; }
  .mobile-reader .sheet-delete { display:inline-flex; }
  .list { min-height:600px; }
  .mail-list.empty-host { flex:1; max-height:none; }
  .sheet-open .hero,.sheet-open .tool,.sheet-open .win,.sheet-open .inbox { transform:none; animation:none; }
}
@media (prefers-reduced-motion:reduce) {
  .address-attention .addr { animation:none; }
}

.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s2); }
.reader-letterhead { display:flex; align-items:center; gap:12px; min-width:0; color:var(--ink); }
.brand-name { display:inline-block; flex:none; white-space:nowrap; overflow:visible; max-width:none; }
[data-site-nav] a { white-space:nowrap; }
html[lang="zh"] h1,html[lang="zh"] h2 { text-wrap:balance; }
.reader:not(.mobile-reader) [data-reader-close],.read:not(.mobile-reader) [data-reader-close] { display:none; }
[data-login] label:not(.sr) { display:block; margin-bottom:var(--s1); }
[data-alias-prefix] { padding-left:var(--s2); }
.identity-suffix { border-radius:0 var(--r1) var(--r1) 0; }
.archive-detail iframe { display:block; min-width:0; width:100%; max-width:100%; }
.archive-detail-head>div,.pod-archive-body { min-width:0; max-width:100%; }
[data-console-toast] { background:var(--ink-hover); color:var(--paper-warm); }
[data-twofa-confirm]:not(.twofa-actions *) { margin-top:var(--s3); }
[data-2fa-disable]:not(.twofa-actions *) { margin-top:var(--s3); }
[data-twofa-disable-form] { margin-top:var(--s3); }
@media (max-width:560px) {
  .pod-twofa-form [data-twofa-confirm] { margin-top:var(--s3); }
}


.toast {
  background: var(--ink);
  color: var(--paper);
}

.mail-list.empty-host {
  flex:1;
  max-height:none;
}

.read-b.empty-host {
  display:grid;
  place-items:center;
}


.privacy-hero { padding:var(--s6) 0; background:var(--bg2); color:var(--ink); }
.privacy-hero h1 { max-width:960px; font-size:var(--h2); line-height:1.3; font-weight:500; letter-spacing:-.01em; }
.privacy-hero-intro { max-width:850px; font-size:var(--body); line-height:1.8; }
.privacy-policy-date { margin-top:var(--s3); color:var(--muted); font-size:var(--micro); }
.privacy-legal-glance { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s3); margin-top:var(--s5); }
.privacy-glance-card { display:flex; flex-direction:column; align-items:flex-start; padding:var(--s4); border:1px solid var(--line); border-radius:var(--r2); background:var(--paper); color:var(--ink); }
.privacy-glance-symbol { display:grid; place-items:center; width:48px; height:48px; margin-bottom:var(--s3); border-radius:var(--pill); background:var(--lime-2); color:var(--ink); }
.privacy-glance-symbol svg { width:24px; height:24px; }
.privacy-glance-card h2 { font-size:var(--lead); line-height:1.5; font-weight:500; margin-bottom:12px; }
.privacy-glance-card p { font-size:var(--small); line-height:1.8; color:var(--muted); }
.privacy-glance-card a { display:inline-block; margin-top:auto; padding-top:var(--s3); color:var(--deep); font-size:var(--small); font-weight:500; text-decoration:underline; text-underline-offset:4px; }
.privacy-reading { display:grid; grid-template-columns:224px minmax(0,1fr); align-items:start; gap:var(--s6); padding-top:var(--s6); padding-bottom:var(--s7); }
.privacy-index { position:sticky; top:calc(var(--header-h) + var(--s3)); padding:var(--s3); border-radius:var(--r2); background:var(--bg2); color:var(--ink); }
.privacy-index-title { font-size:var(--small); font-weight:600; margin-bottom:var(--s2); }
.privacy-index ol { list-style:decimal; padding-left:20px; font-size:var(--small); }
.privacy-index li + li { margin-top:12px; }
.privacy-index a { text-underline-offset:4px; }
.privacy-index a:hover { text-decoration:underline; }
.privacy-index-note { margin-top:var(--s3); color:var(--muted); font-size:var(--micro); }
.privacy-index-note a { color:var(--deep); text-decoration:underline; }
.privacy-prose { max-width:960px; }
.privacy-prose h2 { margin:0 0 var(--s3); font-size:var(--h3); line-height:1.45; font-weight:500; }
.privacy-prose h3 { margin:var(--s4) 0 12px; font-size:var(--lead); line-height:1.5; font-weight:500; }
.privacy-prose p { overflow-wrap:anywhere; }
.privacy-section { scroll-margin-top:calc(var(--header-h) + var(--s3)); }
.privacy-section + .privacy-section { margin-top:var(--s6); }
.privacy-section-number { margin-bottom:20px; color:var(--deep); font-size:var(--small); font-weight:500; }
.privacy-boundary-note { padding:var(--s3); margin:var(--s4) 0; border-radius:var(--r2); background:var(--selected); color:var(--ink); }
.privacy-boundary-note h3 { margin-top:0; }
.privacy-boundary-note p { margin-bottom:0; }
.privacy-table-scroll { margin-top:var(--s3); margin-bottom:var(--s4); border:1px solid var(--line); border-radius:var(--r1); background:var(--paper); color:var(--ink); }
.privacy-table { min-width:640px; font-size:var(--small); line-height:1.8; table-layout:fixed; }
.privacy-table caption { padding:var(--s2); text-align:left; font-weight:500; background:var(--paper-warm); color:var(--ink); }
.privacy-table th,.privacy-table td { padding:var(--s2); vertical-align:top; overflow-wrap:anywhere; }
.privacy-table thead th:first-child { width:24%; }
.privacy-table tbody th { background:var(--paper); color:var(--ink); font-weight:500; }
.privacy-table tbody tr:last-child th,.privacy-table tbody tr:last-child td { border-bottom:0; }
.privacy-action-list { margin:var(--s3) 0 var(--s4); }
.privacy-action-list > div { display:grid; grid-template-columns:168px minmax(0,1fr); gap:var(--s3); padding:var(--s3) 0; border-bottom:1px solid var(--line); }
.privacy-action-list dt { font-size:var(--body); line-height:1.8; font-weight:500; color:var(--ink); }
.privacy-action-list dd { margin:0; font-size:var(--body); line-height:1.9; color:var(--muted); overflow-wrap:anywhere; }
.privacy-operation-links { margin-top:var(--s4); }
.privacy-request-note { padding:var(--s3); margin:var(--s4) 0; border:1px solid var(--line); border-radius:var(--r2); background:var(--bg2); color:var(--ink); }
.privacy-request-note h3 { margin-top:0; }
.privacy-request-note p { margin-bottom:0; }
.privacy-back-top { display:inline-block; margin-top:var(--s2); font-size:var(--small); }
@media (max-width:860px) {
  .privacy-hero { padding:var(--s5) 0; }
  .privacy-legal-glance { gap:var(--s2); margin-top:var(--s4); }
  .privacy-glance-card { padding:var(--s3); }
  .privacy-reading { grid-template-columns:minmax(0,1fr); gap:var(--s5); padding-top:var(--s5); }
  .privacy-index { position:static; }
  .privacy-index ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px var(--s4); }
  .privacy-index li + li { margin-top:0; }
  .privacy-action-list > div { grid-template-columns:144px minmax(0,1fr); gap:var(--s2); }
}
@media (max-width:560px) {
  .privacy-hero { padding:var(--s4) 0; }
  .privacy-hero h1 { font-size:var(--h2); line-height:1.4; }
  .privacy-legal-glance { grid-template-columns:minmax(0,1fr); }
  .privacy-glance-card { padding:var(--s3); }
  .privacy-glance-symbol { margin-bottom:var(--s2); }
  .privacy-glance-card a { padding-top:var(--s2); }
  .privacy-reading { padding-top:var(--s4); gap:var(--s4); }
  .privacy-index { padding:var(--s3); }
  .privacy-index ol { gap:12px var(--s3); }
  .privacy-prose h2 { font-size:var(--h3); line-height:1.45; }
  .privacy-prose h3 { font-size:var(--lead); }
  .privacy-section + .privacy-section { margin-top:var(--s5); }
  .privacy-action-list > div { grid-template-columns:minmax(0,1fr); gap:var(--s1); }
  .privacy-operation-links { align-items:stretch; flex-direction:column; }
  .privacy-operation-links .btn { width:100%; white-space:normal; height:auto; }
}

.terms-hero { padding:var(--s6) 0; background:var(--bg2); color:var(--ink); }
.terms-hero h1 { max-width:900px; font-size:var(--h2); line-height:1.3; font-weight:500; letter-spacing:-.01em; }
.terms-hero .section-intro { max-width:820px; font-size:var(--lead); }
.terms-reading-note { margin-top:var(--s3); max-width:820px; font-size:var(--small); color:var(--muted); }
.terms-reading-note a { color:var(--deep); text-decoration:underline; text-underline-offset:3px; }
.terms-glance.legal-glance { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s3); margin-top:var(--s5); }
.terms-glance-card { padding:var(--s4); border-radius:var(--r2); background:var(--paper); color:var(--ink); border:1px solid var(--line); }
.terms-glance-card:first-child { background:var(--lime-2); color:var(--ink); border-color:var(--lime-2); }
.terms-glance-number { display:block; font-size:var(--micro); color:var(--muted); }
.terms-glance-card h2 { margin:20px 0 12px; font-size:var(--lead); font-weight:500; line-height:1.5; }
.terms-glance-card p { color:var(--muted); font-size:var(--small); line-height:1.8; }
.terms-document { display:grid; grid-template-columns:224px minmax(0,1fr); gap:var(--s6); align-items:start; padding-top:var(--s6); padding-bottom:var(--s7); }
.terms-sidebar { position:sticky; top:calc(var(--header-h) + var(--s2)); min-width:0; }
.terms-directory { padding:var(--s3); border:1px solid var(--line); border-radius:var(--r2); background:var(--paper); color:var(--ink); }
.terms-directory h2 { font-size:var(--lead); font-weight:500; line-height:1.5; margin-bottom:var(--s2); }
.terms-directory ol { padding-left:20px; font-size:var(--small); color:var(--muted); }
.terms-directory li+li { margin-top:12px; }
.terms-directory a:hover { color:var(--deep); text-decoration:underline; text-underline-offset:3px; }
.terms-directory p { margin-top:var(--s3); font-size:var(--micro); color:var(--muted); }
.terms-prose { min-width:0; }
.terms-section { scroll-margin-top:calc(var(--header-h) + var(--s4)); }
.terms-section+.terms-section { margin-top:var(--s6); }
.terms-section-number { display:block; margin-bottom:20px; font-size:var(--small); color:var(--deep); font-weight:500; }
.terms-prose h2 { margin:0 0 var(--s3); font-size:var(--h1-inner); line-height:1.4; font-weight:500; }
.terms-prose h3 { margin:0 0 var(--s2); font-size:var(--lead); line-height:1.5; font-weight:500; }
.terms-prose p { color:var(--muted); }
.terms-use-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s2); margin:var(--s3) 0 var(--s4); }
.terms-use-card { padding:var(--s3); border-radius:var(--r2); background:var(--selected); color:var(--ink); border:1px solid var(--line); }
.terms-use-restricted { background:var(--paper-warm); color:var(--ink); }
.terms-use-card h3 { margin-bottom:var(--s3); }
.terms-use-card .terms-use-list { padding:0; margin:0; list-style:none; display:grid; gap:var(--s3); }
.terms-use-list li { padding:0; margin:0; }
.terms-use-list strong { display:block; font-size:var(--small); font-weight:600; line-height:1.7; color:var(--ink); margin-bottom:var(--s1); }
.terms-use-list span { display:block; font-size:var(--small); line-height:1.8; color:var(--muted); }
.terms-advice { margin:var(--s3) 0 var(--s4); padding:var(--s3); border:1px solid var(--line); border-radius:var(--r2); background:var(--bg2); color:var(--ink); }
.terms-advice ol { margin:0; padding-left:var(--s3); font-size:var(--small); color:var(--muted); }
.terms-advice li+li { margin-top:var(--s1); }
.terms-advice p:last-child { margin-bottom:0; font-size:var(--small); }
.terms-boundary-table { margin-bottom:var(--s4); border:1px solid var(--line); border-radius:var(--r1); }
.terms-boundary-table table { min-width:620px; background:var(--paper); color:var(--ink); line-height:1.8; }
.terms-boundary-table caption { padding:var(--s2); text-align:left; font-size:var(--small); font-weight:500; background:var(--bg2); color:var(--ink); }
.terms-boundary-table thead th { border-top:1px solid var(--line); }
.terms-boundary-table tbody th { width:25%; background:var(--paper-warm); color:var(--ink); font-weight:500; }
.terms-boundary-table td { width:37.5%; color:var(--muted); }
.terms-boundary-table th,.terms-boundary-table td { vertical-align:top; }
.terms-boundary-table tbody tr:last-child th,.terms-boundary-table tbody tr:last-child td { border-bottom:0; }
.terms-next { margin-top:var(--s5); padding:var(--s4); border-radius:var(--r2); background:var(--lime-2); color:var(--ink); }
.terms-next p { color:var(--ink); }
.terms-next .actions { margin-top:28px; }
.terms-back-top { display:inline-block; margin-top:var(--s4); font-size:var(--small); }
@media (max-width:860px) {
  .terms-hero { padding:var(--s5) 0; }
  .terms-hero h1 { font-size:var(--h1-inner); }
  .terms-glance.legal-glance { gap:var(--s2); margin-top:var(--s4); }
  .terms-glance-card { padding:var(--s3); }
  .terms-document { grid-template-columns:minmax(0,1fr); gap:var(--s4); padding-top:var(--s4); }
  .terms-sidebar { position:static; }
  .terms-directory ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px var(--s4); }
  .terms-directory li+li { margin-top:0; }
  .terms-prose h2 { font-size:var(--h3); line-height:1.45; }
  .terms-prose h3 { font-size:var(--lead); line-height:1.5; }
}
@media (max-width:560px) {
  .terms-hero { padding-top:var(--s4); }
  .terms-hero h1 { font-size:var(--h2); line-height:1.4; }
  .terms-hero .section-intro { font-size:var(--body); }
  .terms-glance.legal-glance { grid-template-columns:minmax(0,1fr); }
  .terms-glance-card h2 { margin-top:20px; }
  .terms-use-grid { grid-template-columns:minmax(0,1fr); }
  .terms-section+.terms-section { margin-top:var(--s5); }
  .terms-directory ol { grid-template-columns:minmax(0,1fr); }
  .terms-next { padding:var(--s3); }
  .terms-next .actions { display:grid; grid-template-columns:minmax(0,1fr); }
  .terms-next .btn { width:100%; white-space:normal; height:auto; }
}


.flood-hero {
  padding:var(--s6) 0 var(--s6);
  background:var(--paper);
  color:var(--ink);
}
.flood-hero h1 {
  max-width:960px;
  font-size:var(--h2);
  font-weight:500;
  line-height:1.3;
  letter-spacing:-.01em;
}
.flood-hero .section-intro {
  max-width:800px;
  font-size:var(--lead);
}
.flood-jumps {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:var(--s4);
}
.flood-jumps a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:8px var(--s2);
  border:1px solid var(--grey);
  border-radius:var(--pill);
  background:var(--paper);
  color:var(--ink);
  font-size:var(--small);
  line-height:1.5;
}
.flood-jumps a:hover {
  background:var(--selected);
  color:var(--ink);
  border-color:var(--deep);
}
.flood-boundary {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--s4) var(--s6);
  margin-top:var(--s5);
  padding:var(--s5);
  border-radius:var(--r2);
  background:var(--lime-2);
  color:var(--ink);
}
.flood-label {
  display:block;
  font-size:var(--micro);
  font-weight:500;
  line-height:1.6;
  color:var(--muted);
}
.flood-boundary h2 {
  margin-top:12px;
  margin-bottom:var(--s2);
  font-size:var(--h3);
  line-height:1.4;
  font-weight:500;
}
.flood-boundary p {
  font-size:var(--body);
  line-height:1.8;
}
.flood-boundary-note {
  grid-column:1/-1;
  padding-top:var(--s3);
  border-top:1px solid color-mix(in srgb,var(--ink) 16%,var(--clear));
}
.flood-boundary-note strong {
  font-weight:600;
}
.flood-section {
  padding:var(--s6) 0 var(--s7);
  background:var(--paper);
  color:var(--ink);
}
.flood-section-head {
  max-width:900px;
  margin-bottom:var(--s5);
}
.flood-section-head .section-intro {
  max-width:780px;
}
.flood-scenarios {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--s3);
  align-items:start;
}
.flood-scenario {
  min-width:0;
  padding:var(--s4);
  border:1px solid var(--line);
  border-radius:var(--r2);
  background:var(--bg2);
  color:var(--ink);
  scroll-margin-top:calc(var(--header-h) + var(--s3));
}
.flood-card-head {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--s2);
  margin-bottom:var(--s3);
}
.flood-scenario h3 {
  margin-bottom:var(--s2);
  font-size:var(--h3);
  line-height:1.4;
  font-weight:500;
}
.flood-scenario > p {
  color:var(--muted);
  font-size:var(--body);
  line-height:1.8;
}
.flood-task {
  margin-top:var(--s3);
}
.flood-task h4 {
  margin-bottom:12px;
  font-size:var(--body);
  line-height:1.6;
  font-weight:600;
}
.flood-task p,.flood-task li {
  font-size:var(--body);
  line-height:1.85;
  color:var(--muted);
}
.flood-task ol {
  padding-left:22px;
  list-style:decimal;
}
.flood-task li + li {
  margin-top:12px;
}
.flood-task strong {
  color:var(--ink);
  font-weight:500;
}
.flood-scenario .flood-caution {
  margin-top:var(--s3);
  padding:var(--s2);
  border-radius:var(--r1);
  background:var(--paper);
  color:var(--muted);
  font-size:var(--small);
  line-height:1.8;
}
.flood-caution strong {
  color:var(--ink);
  font-weight:600;
}
.flood-text-link {
  display:inline-block;
  max-width:100%;
  color:var(--deep);
  font-size:var(--small);
  font-weight:500;
  text-decoration:underline;
  text-underline-offset:4px;
  overflow-wrap:anywhere;
}
.flood-text-link:hover {
  color:var(--ink);
  text-decoration-thickness:2px;
}
.flood-scenario > .flood-text-link {
  margin-top:var(--s4);
}
.flood-action-band {
  padding:var(--s7) 0;
  background:var(--bg2);
  color:var(--ink);
}
.flood-table-surface {
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--r2);
  background:var(--paper);
  color:var(--ink);
}
.flood-table-scroll {
  width:100%;
  max-width:100%;
  overflow-x:auto;
  scrollbar-width:thin;
}
.flood-table-scroll:focus-visible {
  outline:2px solid var(--ink);
  outline-offset:-4px;
}
.flood-table {
  min-width:800px;
  table-layout:fixed;
  line-height:1.85;
}
.flood-table caption {
  padding:var(--s3);
  text-align:left;
  caption-side:top;
  font-size:var(--small);
  color:var(--muted);
}
.flood-table th,.flood-table td {
  padding:var(--s3);
  vertical-align:top;
}
.flood-table thead th {
  background:var(--selected);
  color:var(--ink);
  font-weight:600;
}
.flood-table thead th:nth-child(1) {
  width:21%;
}
.flood-table thead th:nth-child(2) {
  width:17%;
}
.flood-table thead th:nth-child(3) {
  width:29%;
}
.flood-table thead th:nth-child(4) {
  width:33%;
}
.flood-table tbody th {
  background:var(--paper);
  color:var(--ink);
  font-weight:500;
}
.flood-table tbody td {
  background:var(--paper);
  color:var(--muted);
}
.flood-table tbody tr:last-child th,.flood-table tbody tr:last-child td {
  border-bottom:0;
}
.flood-table-note {
  max-width:900px;
  margin-top:var(--s4);
  color:var(--muted);
  font-size:var(--small);
}
.flood-table-note strong {
  color:var(--ink);
  font-weight:600;
}
.flood-table-note .flood-text-link {
  margin-top:var(--s2);
}
.flood-example {
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:var(--s6);
  align-items:start;
}
.flood-example-intro {
  min-width:0;
}
.flood-example-address {
  margin-top:var(--s4);
  padding:var(--s3);
  border:1px solid var(--line);
  border-radius:var(--r2);
  background:var(--bg2);
  color:var(--ink);
}
.flood-example-address code {
  display:block;
  margin:var(--s2) 0;
  font-family:var(--mono);
  font-size:var(--lead);
  letter-spacing:0;
  overflow-wrap:anywhere;
}
.flood-example-address p {
  font-size:var(--small);
  color:var(--muted);
}
.flood-example-note {
  margin-top:var(--s4);
  margin-bottom:var(--s2);
  color:var(--muted);
  font-size:var(--body);
}
.flood-workflow {
  list-style:none;
  padding:0;
}
.flood-workflow li {
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  align-items:start;
  gap:var(--s3);
  padding:var(--s4) 0;
  border-bottom:1px solid var(--line);
}
.flood-workflow li:first-child {
  padding-top:0;
}
.flood-workflow li:last-child {
  padding-bottom:0;
  border-bottom:0;
}
.flood-step-number {
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:var(--pill);
  background:var(--lime);
  color:var(--ink);
  font-family:var(--mono);
  font-size:var(--small);
  font-weight:500;
  letter-spacing:0;
}
.flood-workflow h3 {
  padding-top:4px;
  margin-bottom:12px;
  font-size:var(--lead);
  font-weight:500;
  line-height:1.6;
}
.flood-workflow p {
  color:var(--muted);
  font-size:var(--body);
  line-height:1.85;
}
.flood-review-section {
  padding-bottom:var(--s7);
  background:var(--paper);
  color:var(--ink);
}
.flood-review {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--s6);
  padding:var(--s5);
  border-radius:var(--r2);
  background:var(--guide-grey);
  color:var(--ink);
}
.flood-review-check h3 {
  font-size:var(--lead);
  line-height:1.5;
  font-weight:500;
  margin-bottom:var(--s3);
}
.flood-review-check ul {
  list-style:disc;
  padding-left:20px;
  margin-bottom:var(--s3);
  color:var(--muted);
}
.flood-review-check li + li {
  margin-top:var(--s2);
}
.flood-final {
  padding:var(--s6) 0;
  background:var(--ink);
  color:var(--paper);
}
.flood-final .eyebrow {
  justify-content:center;
  color:var(--lime);
}
.flood-final .section-intro {
  max-width:800px;
  color:var(--paper-warm);
}
.flood-final .actions {
  margin-top:var(--s4);
}
.flood-final .btn-ink {
  background:var(--paper);
  color:var(--ink);
}
.flood-final .btn-ink:hover {
  background:var(--ghost-hover);
  color:var(--ink);
}
.flood-final-note {
  margin-top:var(--s4);
  color:var(--paper-warm);
  font-size:var(--small);
}
.flood-final-note a {
  color:var(--lime-2);
  text-decoration:underline;
  text-underline-offset:4px;
}
.flood-final-note a:hover {
  color:var(--paper);
}
.flood-final a:focus-visible {
  outline-color:var(--lime);
}
@media (max-width:1100px) {
  .flood-scenarios {
    gap:var(--s2);
  }
  .flood-scenario {
    padding:var(--s3);
  }
  .flood-scenario h3 {
    font-size:var(--lead);
  }
  .flood-example,.flood-review {
    gap:var(--s4);
  }
}
@media (max-width:860px) {
  .flood-hero {
    padding-top:var(--s5);
  }
  .flood-boundary {
    padding:var(--s4);
    gap:var(--s3);
  }
  .flood-scenarios {
    grid-template-columns:minmax(0,1fr);
    gap:var(--s3);
  }
  .flood-scenario {
    padding:var(--s4);
  }
  .flood-scenario h3 {
    font-size:var(--h3);
  }
  .flood-section-head {
    margin-bottom:var(--s4);
  }
  .flood-example {
    grid-template-columns:minmax(0,1fr);
    gap:var(--s5);
  }
  .flood-example-intro {
    max-width:680px;
  }
  .flood-review {
    grid-template-columns:minmax(0,1fr);
    gap:var(--s4);
    padding:var(--s4);
  }
  .flood-table th,.flood-table td {
    padding:var(--s2);
  }
}
@media (max-width:560px) {
  .flood-hero {
    padding-top:var(--s4);
    padding-bottom:var(--s4);
  }
  .flood-hero h1 {
    font-size:var(--h1-inner);
    line-height:1.35;
  }
  .flood-hero .section-intro {
    font-size:var(--body);
  }
  .flood-jumps {
    gap:var(--s1);
    margin-top:var(--s3);
  }
  .flood-jumps a {
    padding-inline:12px;
  }
  .flood-boundary {
    grid-template-columns:minmax(0,1fr);
    margin-top:var(--s4);
    padding:var(--s3);
    gap:var(--s4);
  }
  .flood-boundary h2 {
    font-size:var(--lead);
  }
  .flood-section {
    padding-top:var(--s5);
  }
  .flood-scenario {
    padding:var(--s3);
  }
  .flood-scenario h3 {
    font-size:var(--lead);
  }
  .flood-action-band {
    padding-block:var(--s6);
  }
  .flood-table caption {
    padding:var(--s2);
  }
  .flood-example-address code {
    font-size:var(--body);
  }
  .flood-workflow li {
    grid-template-columns:32px minmax(0,1fr);
    gap:var(--s2);
    padding-block:var(--s3);
  }
  .flood-step-number {
    width:32px;
    height:32px;
  }
  .flood-workflow h3 {
    padding-top:0;
  }
  .flood-review {
    padding:var(--s3);
  }
  .flood-final .actions {
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }
  .flood-final .btn {
    width:100%;
    white-space:normal;
    height:auto;
  }
}

.exposure-hero { padding:var(--s6) 0 var(--s6); background:var(--paper); color:var(--ink); }
.exposure-hero-layout { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); align-items:start; gap:var(--s6); }
.exposure-hero h1 { max-width:880px; font-size:var(--h2); line-height:1.3; font-weight:500; letter-spacing:-.01em; }
.exposure-lead { max-width:760px; font-size:var(--lead); }
.exposure-hero-actions { margin-top:var(--s4); }
.exposure-scope-note { padding:var(--s4); border-radius:var(--r2); background:var(--bg2); color:var(--ink); }
.exposure-scope-note>svg { display:block; width:120px; height:56px; margin-bottom:var(--s3); color:var(--deep); }
.exposure-scope-note h2 { font-size:var(--lead); line-height:1.5; font-weight:500; }
.exposure-scope-note p { margin-top:12px; font-size:var(--small); color:var(--muted); }
.exposure-check-section { padding:var(--s6) 0; background:var(--lime-2); color:var(--ink); }
.exposure-section-head { max-width:920px; margin-bottom:var(--s5); }
.exposure-section-head .section-intro { max-width:840px; font-size:var(--body); }
.exposure-form { padding:var(--s5); border-radius:var(--r2); background:var(--paper); color:var(--ink); box-shadow:var(--shadow-small); }
.exposure-form fieldset { border:0; min-width:0; }
.exposure-form legend { width:100%; margin-bottom:12px; padding:0; font-size:var(--lead); line-height:1.5; font-weight:600; }
.exposure-field-help { max-width:920px; margin-bottom:var(--s3); font-size:var(--small); color:var(--muted); }
.exposure-choice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s2); }
.exposure-choice { position:relative; min-width:0; }
.exposure-choice label { display:flex; flex-direction:column; height:100%; padding:var(--s3); border:1px solid var(--grey); border-radius:var(--r2); background:var(--paper); color:var(--ink); cursor:pointer; transition:background .2s,border-color .2s; }
.exposure-choice label:hover { border-color:var(--deep); background:var(--bg2); color:var(--ink); }
.exposure-choice input:checked+label { border-color:var(--deep); background:var(--selected); color:var(--ink); box-shadow:inset 0 0 0 1px var(--deep); }
.exposure-choice input:focus-visible+label { outline:2px solid var(--ink); outline-offset:4px; }
.exposure-choice-icon { display:grid; place-items:center; width:48px; height:48px; margin-bottom:var(--s3); border-radius:var(--pill); background:var(--lime-2); color:var(--ink); }
.exposure-choice-icon svg { width:24px; height:24px; }
.exposure-choice strong { display:block; margin-bottom:12px; font-size:var(--lead); line-height:1.5; font-weight:500; }
.exposure-choice label>span:not(.exposure-choice-icon) { display:block; font-size:var(--small); color:var(--muted); }
.exposure-choice small { display:block; margin-top:var(--s3); font-size:var(--micro); line-height:1.7; color:var(--deep); }
.exposure-branches { margin-top:var(--s5); }
.exposure-question { margin-top:var(--s4); padding-top:var(--s3); }
.exposure-question:first-child { margin-top:0; }
.exposure-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s2); }
.exposure-option { display:flex; align-items:flex-start; gap:12px; padding:var(--s2); border:1px solid var(--line); border-radius:var(--r1); background:var(--bg2); color:var(--ink); }
.exposure-option:has(input:checked) { border-color:var(--deep); background:var(--selected); color:var(--ink); }
.exposure-option input { width:18px; height:18px; flex:none; margin-top:3px; accent-color:var(--deep); }
.exposure-option input:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
.exposure-option label { flex:1; font-size:var(--small); line-height:1.7; cursor:pointer; }
.exposure-form-actions { display:flex; align-items:center; flex-wrap:wrap; gap:var(--s2); margin-top:var(--s4); }
.exposure-form-actions>span { flex:1 1 260px; font-size:var(--micro); color:var(--muted); }
.exposure-form-error { margin-top:var(--s3); padding:12px var(--s2); border:1px solid var(--grey); border-radius:var(--r1); background:var(--warm-bg); color:var(--warm-ink); font-size:var(--small); }
.exposure-noscript { margin-bottom:var(--s3); padding:var(--s3); border-radius:var(--r1); background:var(--paper); color:var(--ink); }
.exposure-noscript a { text-decoration:underline; text-underline-offset:3px; }
.exposure-result { scroll-margin-top:calc(var(--header-h) + var(--s3)); margin-top:var(--s4); padding:var(--s5); border:1px solid var(--grey); border-radius:var(--r2); background:var(--paper-warm); color:var(--ink); }
.exposure-result-heading { display:flex; align-items:center; flex-wrap:wrap; gap:var(--s2); margin-bottom:var(--s3); }
.exposure-result-heading p { font-size:var(--micro); color:var(--muted); }
.exposure-result h2 { max-width:960px; margin-bottom:20px; font-size:var(--h1-inner); font-weight:500; line-height:1.4; }
.exposure-result h2:focus { outline:none; }
.exposure-result h2:focus-visible { outline:2px solid var(--deep); outline-offset:6px; }
.exposure-result-summary { max-width:920px; color:var(--muted); font-size:var(--body); }
.exposure-result-reason { max-width:1000px; margin-top:var(--s4); padding-left:var(--s3); border-left:3px solid var(--lime); }
.exposure-result-reason h3 { margin-bottom:var(--s1); font-size:var(--lead); font-weight:500; line-height:1.5; }
.exposure-result-reason p { color:var(--muted); font-size:var(--small); }
.exposure-result-list { margin:var(--s3) 0 0; padding-left:var(--s3); max-width:1000px; font-size:var(--body); }
.exposure-result-list li+li { margin-top:12px; }
.exposure-result-actions { margin-top:var(--s4); }
.exposure-result-footnote { margin-top:var(--s3); max-width:920px; font-size:var(--micro); color:var(--muted); }
.exposure-reference-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s3); align-items:start; }
.exposure-reference-card { min-width:0; padding:var(--s4); border:1px solid var(--line); border-radius:var(--r2); background:var(--bg2); color:var(--ink); }
.exposure-reference-alias { background:var(--selected); color:var(--ink); }
.exposure-reference-long { background:var(--bg2); color:var(--ink); }
.exposure-reference-security { background:var(--paper-warm); color:var(--ink); scroll-margin-top:calc(var(--header-h) + var(--s3)); }
.exposure-reference-card h3 { margin:var(--s3) 0 var(--s2); font-size:var(--lead); line-height:1.5; font-weight:500; }
.exposure-reference-card p { margin-top:12px; color:var(--muted); font-size:var(--small); }
.exposure-reference-card>a { display:inline-block; margin-top:28px; color:var(--deep); font-size:var(--small); font-weight:500; text-decoration:underline; text-underline-offset:4px; }
.exposure-reference-card ol { padding-left:20px; margin-top:var(--s2); font-size:var(--small); color:var(--muted); }
.exposure-reference-card li+li { margin-top:12px; }
.exposure-migration-section { background:var(--bg2); color:var(--ink); }
.exposure-migration-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr); gap:var(--s6); align-items:start; }
.exposure-migration-intro .section-intro { max-width:540px; }
.exposure-migration-intro>.btn { margin-top:var(--s4); }
.exposure-migration-list { list-style:none; display:grid; gap:var(--s3); }
.exposure-migration-list>li { display:grid; grid-template-columns:40px minmax(0,1fr); gap:var(--s3); padding:var(--s3); border-radius:var(--r2); background:var(--paper); color:var(--ink); }
.exposure-step-number { display:grid; place-items:center; width:40px; height:40px; border-radius:var(--pill); background:var(--lime); color:var(--ink); font:500 var(--small)/1 var(--mono); }
.exposure-migration-list h3 { margin-top:4px; margin-bottom:12px; font-size:var(--lead); line-height:1.5; font-weight:500; }
.exposure-migration-list p { color:var(--muted); font-size:var(--body); }
.exposure-boundary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s5) var(--s6); }
.exposure-boundary-item { min-width:0; }
.exposure-boundary-item h3 { margin-bottom:var(--s2); font-size:var(--lead); line-height:1.5; font-weight:500; }
.exposure-boundary-item p { color:var(--muted); font-size:var(--body); }
.exposure-boundary-item p+p { margin-top:12px; }
.exposure-boundary-note { display:flex; align-items:flex-start; flex-wrap:wrap; gap:var(--s3); margin-top:var(--s5); padding:var(--s3) var(--s4); border-radius:var(--r2); background:var(--guide-grey); color:var(--ink); }
.exposure-boundary-note p { flex:1 1 540px; font-size:var(--small); }
.exposure-boundary-note a { color:var(--ink); font-size:var(--small); font-weight:500; text-decoration:underline; text-underline-offset:4px; }
.exposure-next-section { padding:var(--s6) 0; background:var(--lime); color:var(--ink); }
.exposure-next-eyebrow { justify-content:center; color:var(--ink); }
.exposure-next-section .section-intro { max-width:760px; color:var(--cta-copy); }
.exposure-next-actions { margin-top:var(--s4); }
.exposure-recheck-link { display:inline-block; margin-top:var(--s3); color:var(--ink); font-size:var(--small); text-decoration:underline; text-underline-offset:4px; }
@media (max-width:1100px) {
  .exposure-hero-layout { gap:var(--s4); grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); }
  .exposure-form,.exposure-result { padding:var(--s4); }
  .exposure-reference-card { padding:var(--s3); }
  .exposure-migration-layout { gap:var(--s4); }
}
@media (max-width:860px) {
  .exposure-hero { padding-top:var(--s5); }
  .exposure-hero-layout { grid-template-columns:minmax(0,1fr); gap:var(--s4); }
  .exposure-scope-note { max-width:760px; }
  .exposure-section-head { margin-bottom:var(--s4); }
  .exposure-choice-grid { grid-template-columns:minmax(0,1fr); }
  .exposure-choice label { display:grid; grid-template-columns:48px minmax(0,1fr); gap:0 var(--s3); height:auto; }
  .exposure-choice-icon { grid-row:1/4; margin-bottom:0; }
  .exposure-choice strong { margin-bottom:var(--s1); }
  .exposure-choice label>span:not(.exposure-choice-icon),.exposure-choice small { grid-column:2; }
  .exposure-choice small { margin-top:12px; }
  .exposure-options { grid-template-columns:minmax(0,1fr); }
  .exposure-reference-grid { grid-template-columns:minmax(0,1fr); }
  .exposure-reference-card { padding:var(--s4); }
  .exposure-migration-layout { grid-template-columns:minmax(0,1fr); gap:var(--s5); }
  .exposure-boundary-grid { gap:var(--s4); }
}
@media (max-width:560px) {
  .exposure-hero { padding-top:var(--s4); padding-bottom:var(--s5); }
  .exposure-hero h1 { font-size:var(--h1-inner); line-height:1.35; }
  .exposure-lead { font-size:var(--body); }
  .exposure-scope-note { padding:var(--s3); }
  .exposure-check-section { padding-block:var(--s5); }
  .exposure-form,.exposure-result { padding:var(--s3); }
  .exposure-choice label { padding:var(--s2); gap:0 var(--s2); }
  .exposure-choice strong { font-size:var(--lead); }
  .exposure-form legend { font-size:var(--body); line-height:1.6; }
  .exposure-form-actions { align-items:stretch; }
  .exposure-form-actions>.btn { width:100%; }
  .exposure-form-actions>span { flex-basis:100%; }
  .exposure-result h2 { font-size:var(--h3); }
  .exposure-result-reason { padding-left:var(--s2); }
  .exposure-result-actions>.btn { width:100%; }
  .exposure-reference-card { padding:var(--s3); }
  .exposure-migration-list>li { grid-template-columns:32px minmax(0,1fr); gap:var(--s2); padding:var(--s3) var(--s2); }
  .exposure-step-number { width:32px; height:32px; }
  .exposure-migration-list h3 { margin-top:2px; }
  .exposure-boundary-grid { grid-template-columns:minmax(0,1fr); gap:var(--s4); }
  .exposure-boundary-note { padding:var(--s3); }
  .exposure-next-actions { display:grid; grid-template-columns:minmax(0,1fr); }
  .exposure-next-actions>.btn { width:100%; }
}


.compare-hero { padding:var(--s5) 0 var(--s6); background:var(--paper); color:var(--ink); }
.compare-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:var(--s6); align-items:center; margin-top:var(--s5); }
.compare-hero h1 { max-width:880px; font-size:var(--h2); font-weight:500; line-height:1.3; letter-spacing:-.01em; }
.compare-hero-lead { max-width:760px; font-size:var(--lead); line-height:1.8; }
.compare-hero-actions { margin-top:var(--s4); }
.compare-principle { padding:var(--s4); border-radius:var(--r2); background:var(--bg2); color:var(--ink); }
.compare-principle>svg { width:112px; height:56px; color:var(--deep); margin-bottom:var(--s3); }
.compare-principle h2 { font-size:var(--lead); line-height:1.5; font-weight:500; }
.compare-principle p { margin-top:12px; font-size:var(--small); color:var(--muted); }
.compare-principle a { display:inline-block; margin-top:var(--s3); font-size:var(--small); font-weight:600; color:var(--deep); text-decoration:underline; text-underline-offset:4px; }
.compare-jump { display:flex; flex-wrap:wrap; gap:12px var(--s4); margin-top:var(--s6); font-size:var(--small); }
.compare-jump a { display:inline-flex; align-items:center; min-height:40px; border-bottom:1px solid var(--grey); background:var(--paper); color:var(--muted); }
.compare-jump a:hover { border-color:var(--deep); background:var(--paper); color:var(--deep); }
.compare-scope { padding:var(--s6) 0; background:var(--lime); color:var(--ink); }
.compare-scope-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:var(--s6); align-items:start; }
.compare-scope .eyebrow { color:var(--ink); }
.compare-copy { min-width:0; }
.compare-copy p { font-size:var(--body); line-height:1.9; }
.compare-copy p+p { margin-top:var(--s3); }
.compare-copy a { color:var(--ink); text-decoration:underline; text-underline-offset:4px; font-weight:500; }
.compare-overview { background:var(--paper); color:var(--ink); }
.compare-section-lead { max-width:840px; }
.compare-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s3); margin-top:var(--s5); align-items:stretch; }
.compare-summary { display:flex; flex-direction:column; min-width:0; padding:var(--s4); border:1px solid var(--line); border-radius:var(--r2); background:var(--paper); color:var(--ink); }
.compare-summary-alias { background:var(--selected); color:var(--ink); border-color:var(--selected); }
.compare-summary-icon { display:grid; place-items:center; width:48px; height:48px; border-radius:var(--pill); background:var(--lime-2); color:var(--ink); margin-bottom:var(--s3); }
.compare-summary-icon svg { width:24px; height:24px; }
.compare-summary h3 { font-size:var(--h3); font-weight:500; line-height:1.4; }
.compare-summary-intro { margin-top:12px; font-size:var(--body); color:var(--muted); }
.compare-summary-facts { margin-top:var(--s4); margin-bottom:var(--s4); }
.compare-summary-facts>div+div { margin-top:var(--s3); }
.compare-summary-facts dt { font-size:var(--micro); font-weight:600; color:var(--deep); margin-bottom:var(--s1); }
.compare-summary-facts dd { margin:0; font-size:var(--small); line-height:1.8; color:var(--muted); }
.compare-text-link { display:inline-block; max-width:100%; color:var(--deep); font-size:var(--small); font-weight:600; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.compare-summary>.compare-text-link { margin-top:auto; }
.compare-table-section { background:var(--bg2); color:var(--ink); }
.compare-scroll-hint { margin-top:var(--s4); color:var(--muted); font-size:var(--micro); }
.compare-table-scroll { margin-top:12px; overflow-x:auto; border:1px solid var(--line); border-radius:var(--r2); background:var(--paper); color:var(--ink); scrollbar-color:var(--grey) var(--paper); }
.compare-table-scroll:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.compare-table { min-width:920px; table-layout:fixed; line-height:1.8; }
.compare-table caption { text-align:left; padding:var(--s3); font-size:var(--small); background:var(--paper); color:var(--muted); }
.compare-table th,.compare-table td { vertical-align:top; padding:var(--s3); border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.compare-table thead th { background:var(--lime-2); color:var(--ink); font-size:var(--body); font-weight:600; }
.compare-table thead th:first-child { width:17%; }
.compare-table tbody th { background:var(--paper-warm); color:var(--ink); font-size:var(--small); font-weight:500; }
.compare-table tbody td { background:var(--paper); color:var(--muted); }
.compare-table strong { font-weight:600; color:var(--ink); }
.compare-table tbody tr:last-child th,.compare-table tbody tr:last-child td { border-bottom:0; }
.compare-table-note { max-width:960px; margin-top:var(--s4); font-size:var(--small); line-height:1.8; color:var(--muted); }
.compare-table-note a { color:var(--deep); text-decoration:underline; text-underline-offset:4px; }
.compare-task-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s3); margin-top:var(--s5); }
.compare-task { display:flex; flex-direction:column; min-width:0; padding:var(--s4); border-radius:var(--r2); background:var(--bg2); color:var(--ink); }
.compare-task-orders { background:var(--guide-green); color:var(--ink); }
.compare-task-number { font-family:var(--mono); font-size:var(--small); color:var(--deep); margin-bottom:var(--s3); }
.compare-task h3 { font-size:var(--h3); line-height:1.4; font-weight:500; margin-bottom:var(--s2); }
.compare-task>p { font-size:var(--body); color:var(--muted); line-height:1.8; }
.compare-task-check { padding-top:var(--s3); margin-top:var(--s3); border-top:1px solid var(--grey); }
.compare-task-check h4 { font-size:var(--small); font-weight:600; margin-bottom:var(--s1); }
.compare-task-check p { font-size:var(--small); line-height:1.8; color:var(--muted); }
.compare-task>.compare-text-link { margin-top:auto; padding-top:var(--s4); }
.compare-task-footnote { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1fr); gap:var(--s2) var(--s5); margin-top:var(--s5); padding:var(--s4); border:1px solid var(--line); border-radius:var(--r2); background:var(--paper); color:var(--ink); }
.compare-task-footnote h3 { grid-row:1/3; font-size:var(--lead); line-height:1.5; font-weight:500; }
.compare-task-footnote p { color:var(--muted); font-size:var(--small); line-height:1.8; }
.compare-task-footnote .compare-text-link { justify-self:start; margin-top:var(--s1); }
.compare-recovery-section { background:var(--paper-warm); color:var(--ink); }
.compare-recovery-grid { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1fr); gap:var(--s6); align-items:start; }
.compare-recovery-heading .btn { margin-top:var(--s4); }
.compare-recovery-list { display:grid; gap:var(--s3); }
.compare-recovery-item { padding:var(--s4); border:1px solid var(--line); border-radius:var(--r2); background:var(--paper); color:var(--ink); }
.compare-recovery-item h3 { font-size:var(--lead); line-height:1.5; font-weight:500; margin-top:20px; }
.compare-recovery-item p { font-size:var(--small); line-height:1.9; color:var(--muted); margin-top:var(--s2); }
.compare-recovery-item strong { color:var(--ink); font-weight:600; }
.compare-action-section { background:var(--paper); color:var(--ink); }
.compare-action-panel { padding:var(--s6); border-radius:var(--r2); background:var(--lime); color:var(--ink); }
.compare-action-eyebrow { justify-content:center; color:var(--ink); }
.compare-action-panel h2 { max-width:840px; margin-inline:auto; }
.compare-action-panel .section-intro { max-width:720px; color:var(--cta-copy); }
.compare-final-actions { margin-top:var(--s4); }
.compare-action-note { max-width:720px; margin:var(--s4) auto 0; font-size:var(--small); color:var(--cta-copy); }
.compare-action-note a { color:var(--ink); font-weight:500; text-decoration:underline; text-underline-offset:4px; }
@media (max-width:1100px) {
  .compare-hero-grid { grid-template-columns:minmax(0,1fr) 280px; gap:var(--s4); }
  .compare-summary,.compare-task { padding:var(--s3); }
  .compare-scope-grid,.compare-recovery-grid { gap:var(--s4); }
}
@media (max-width:860px) {
  .compare-hero-grid { grid-template-columns:minmax(0,1fr); gap:var(--s4); margin-top:var(--s4); }
  .compare-principle { display:grid; grid-template-columns:112px minmax(0,1fr); gap:12px var(--s3); }
  .compare-principle>svg { grid-row:1/4; margin:0; }
  .compare-principle p,.compare-principle a { margin-top:0; }
  .compare-scope-grid { grid-template-columns:minmax(0,1fr); }
  .compare-summary-grid,.compare-task-grid { grid-template-columns:minmax(0,1fr); gap:var(--s3); margin-top:var(--s4); }
  .compare-summary { padding:var(--s4); }
  .compare-summary-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s3); margin-block:var(--s3); }
  .compare-summary-facts>div+div { margin-top:0; }
  .compare-task { padding:var(--s4); }
  .compare-task-footnote { grid-template-columns:minmax(0,1fr); gap:var(--s2); }
  .compare-task-footnote h3 { grid-row:auto; }
  .compare-recovery-grid { grid-template-columns:minmax(0,1fr); gap:var(--s5); }
  .compare-action-panel { padding:var(--s5) var(--s4); }
}
@media (max-width:560px) {
  .compare-hero { padding-top:var(--s4); padding-bottom:var(--s5); }
  .compare-hero h1 { font-size:var(--h1-inner); }
  .compare-hero-lead { font-size:var(--body); }
  .compare-hero-actions { display:grid; grid-template-columns:minmax(0,1fr); }
  .compare-principle { display:block; padding:var(--s3); }
  .compare-principle>svg { margin-bottom:var(--s2); }
  .compare-principle p { margin-top:12px; }
  .compare-principle a { margin-top:var(--s3); }
  .compare-jump { gap:var(--s1) var(--s3); margin-top:var(--s4); }
  .compare-scope { padding-block:var(--s5); }
  .compare-summary,.compare-task,.compare-task-footnote,.compare-recovery-item { padding:var(--s3); }
  .compare-summary-facts { grid-template-columns:minmax(0,1fr); gap:var(--s3); margin-block:var(--s3) var(--s4); }
  .compare-summary h3,.compare-task h3 { font-size:var(--lead); }
  .compare-table { min-width:860px; }
  .compare-table th,.compare-table td { padding:var(--s2); }
  .compare-table caption { padding:var(--s2); }
  .compare-action-panel { padding:var(--s5) var(--s3); }
  .compare-final-actions { display:grid; grid-template-columns:minmax(0,1fr); }
  .compare-final-actions .btn { width:100%; white-space:normal; height:auto; }
}


.sort-hero { padding:var(--s6) 0 var(--s6); background:var(--paper); color:var(--ink); }
.sort-hero h1 { max-width:1000px; font-size:var(--h2); font-weight:500; line-height:1.3; letter-spacing:-.01em; }
.sort-lead { max-width:800px; font-size:var(--body); }
.sort-hero-actions { margin-top:var(--s4); }
.sort-premise { display:grid; grid-template-columns:52px minmax(0,1fr); gap:var(--s3); padding:var(--s4); margin-top:var(--s5); border-radius:var(--r2); background:var(--bg2); color:var(--ink); }
.sort-premise h2 { font-size:var(--lead); line-height:1.5; font-weight:500; margin-bottom:12px; }
.sort-premise p { max-width:1080px; font-size:var(--body); color:var(--muted); }
.sort-premise p+p { margin-top:12px; }
.sort-premise a { color:var(--deep); text-decoration:underline; text-underline-offset:3px; }
.sort-work-section { padding:var(--s6) 0; background:var(--lime); color:var(--ink); }
.sort-work-section .section-intro { color:var(--cta-copy); }
.sort-workbench { display:grid; grid-template-columns:minmax(0,.36fr) minmax(0,.64fr); margin-top:var(--s5); border:1px solid var(--line); border-radius:var(--r2); background:var(--paper); color:var(--ink); box-shadow:var(--shadow-window); overflow:hidden; }
.sort-incoming { min-width:0; display:flex; flex-direction:column; border-right:1px solid var(--line); background:var(--paper-warm); color:var(--ink); }
.sort-work-caption { padding:20px var(--s3); font-size:var(--small); color:var(--muted); border-bottom:1px solid var(--line); }
.sort-route-picker { display:grid; grid-template-columns:minmax(0,1fr); }
.sort-route-button { display:grid; grid-template-columns:36px minmax(0,1fr) auto; align-items:center; gap:12px; width:100%; min-height:96px; padding:var(--s3); text-align:left; border-bottom:1px solid var(--line); background:var(--paper); color:var(--ink); }
.sort-route-button strong { display:block; font-size:var(--body); font-weight:500; }
.sort-route-button small { display:block; margin-top:4px; font-size:var(--small); color:var(--muted); }
.sort-route-button:hover { background:var(--bg2); color:var(--ink); }
.sort-route-button[aria-pressed="true"] { box-shadow:inset 3px 0 var(--deep); background:var(--selected); color:var(--ink); }
.sort-route-button:focus-visible { outline-offset:-4px; }
.sort-route-number { font-family:var(--mono); font-size:var(--micro); color:var(--soft); }
.sort-work-note { padding:var(--s3); font-size:var(--small); color:var(--muted); }
.sort-route-display { min-width:0; padding:40px; background:var(--paper); color:var(--ink); }
.sort-route-panel { min-height:450px; }
.sort-route-panel h3 { margin:var(--s3) 0 var(--s2); font-size:var(--h3); line-height:1.4; font-weight:500; }
.sort-route-panel>p { font-size:var(--body); color:var(--muted); }
.sort-route-steps { display:grid; gap:20px; padding:0; margin-top:var(--s4); list-style:none; }
.sort-route-steps li { display:grid; grid-template-columns:112px minmax(0,1fr); gap:var(--s2); font-size:var(--small); }
.sort-route-steps strong { font-weight:500; color:var(--ink); }
.sort-route-steps span { color:var(--muted); }
.sort-route-panel .sort-route-boundary { margin-top:var(--s4); padding-top:var(--s3); border-top:1px solid var(--line); color:var(--deep); font-size:var(--small); }
.sort-note { margin-top:var(--s3); color:var(--cta-copy); font-size:var(--small); }
.sort-notice { margin-top:var(--s3); padding:var(--s3); border-radius:var(--r1); background:var(--paper); color:var(--ink); }
.sort-section-head { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:var(--s6); align-items:end; }
.sort-section-head>p { color:var(--muted); font-size:var(--body); }
.sort-map { margin-top:var(--s5); border:1px solid var(--line); border-radius:var(--r2); background:var(--paper); color:var(--ink); }
.sort-map table { min-width:800px; }
.sort-map tbody th { background:var(--paper); color:var(--ink); }
.sort-map code { font-family:var(--mono); font-size:var(--small); letter-spacing:0; white-space:nowrap; }
.sort-map tr:last-child th,.sort-map tr:last-child td { border-bottom:0; }
.sort-map-follow { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:var(--s5); margin-top:var(--s4); }
.sort-map-follow p { max-width:900px; color:var(--muted); }
.sort-keep-section { padding:var(--s6) 0; background:var(--bg2); color:var(--ink); }
.sort-choice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s3); margin-top:var(--s5); }
.sort-choice-card { padding:var(--s4); border-radius:var(--r2); border:1px solid var(--line); background:var(--paper); color:var(--ink); }
.sort-card-index { font-size:var(--small); font-weight:500; color:var(--deep); }
.sort-choice-card h3 { margin:20px 0 var(--s2); font-size:var(--h3); line-height:1.4; font-weight:500; }
.sort-choice-card p { font-size:var(--body); color:var(--muted); }
.sort-choice-card .sort-card-result { padding-top:var(--s3); margin-top:var(--s3); border-top:1px solid var(--line); color:var(--deep); font-size:var(--small); }
.sort-rule-note { margin-top:var(--s5); max-width:1000px; }
.sort-rule-note h3 { font-size:var(--lead); line-height:1.5; font-weight:500; margin-bottom:var(--s2); }
.sort-rule-note p { color:var(--muted); }
.sort-rule-note p+p { margin-top:var(--s2); }
.sort-close-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:var(--s6); align-items:start; }
.sort-inline-action { margin-top:var(--s4); }
.sort-close-steps { display:grid; gap:var(--s4); list-style:none; }
.sort-close-steps li { display:grid; grid-template-columns:40px minmax(0,1fr); gap:var(--s3); align-items:start; }
.sort-step-index { display:grid; place-items:center; width:40px; height:40px; border-radius:var(--pill); font-family:var(--mono); font-size:var(--body); background:var(--lime); color:var(--ink); }
.sort-close-steps h3 { font-size:var(--lead); line-height:1.5; font-weight:500; margin:4px 0 12px; }
.sort-close-steps p { font-size:var(--body); color:var(--muted); }
.sort-archive-section { padding:var(--s6) 0; background:var(--bg2); color:var(--ink); }
.sort-archive-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s6); align-items:start; }
.sort-archive-fact { display:flex; align-items:center; gap:var(--s3); margin-top:var(--s4); padding:var(--s3); max-width:480px; border:1px solid var(--line); border-radius:var(--r2); background:var(--paper); color:var(--ink); }
.sort-archive-fact strong { font-size:var(--h1-inner); font-weight:500; white-space:nowrap; }
.sort-archive-fact span { color:var(--muted); font-size:var(--small); }
.sort-archive-guide { display:grid; gap:var(--s4); }
.sort-archive-guide h3 { font-size:var(--lead); line-height:1.5; font-weight:500; margin-bottom:12px; }
.sort-archive-guide p { font-size:var(--body); color:var(--muted); }
.sort-archive-guide .sort-archive-boundary { padding:var(--s3); border:1px solid var(--grey); border-radius:var(--r1); background:var(--paper); color:var(--ink); font-size:var(--small); }
.sort-review-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s6); align-items:start; }
.sort-review-actions { margin-top:var(--s4); }
.sort-check-panel { padding:var(--s4); border:1px solid var(--line); border-radius:var(--r2); background:var(--paper-warm); color:var(--ink); }
.sort-checklist { display:grid; gap:20px; border:0; min-width:0; }
.sort-checklist label { display:grid; grid-template-columns:20px minmax(0,1fr); align-items:start; gap:12px; font-size:var(--body); cursor:pointer; }
.sort-checklist input { width:18px; height:18px; margin-top:5px; accent-color:var(--deep); cursor:pointer; }
.sort-check-status { margin:var(--s4) 0 var(--s2); padding-top:var(--s3); border-top:1px solid var(--line); font-size:var(--small); color:var(--deep); }
@media (max-width:860px) {
  .sort-hero { padding-top:var(--s5); }
  .sort-section-head,.sort-map-follow,.sort-close-layout,.sort-archive-layout,.sort-review-layout { grid-template-columns:minmax(0,1fr); gap:var(--s4); }
  .sort-workbench { grid-template-columns:minmax(0,.4fr) minmax(0,.6fr); }
  .sort-route-display { padding:var(--s3); }
  .sort-route-button { padding:20px var(--s2); gap:var(--s1); }
  .sort-route-number { display:none; }
  .sort-route-steps li { grid-template-columns:minmax(0,1fr); gap:4px; }
  .sort-choice-grid { grid-template-columns:minmax(0,1fr); gap:var(--s2); }
  .sort-choice-card { padding:var(--s3); }
  .sort-choice-card h3 { margin-top:20px; }
  .sort-map-follow>.btn { justify-self:start; }
  .sort-route-panel { min-height:0; }
}
@media (max-width:560px) {
  .sort-hero { padding-top:var(--s4); padding-bottom:var(--s5); }
  .sort-hero h1 { font-size:var(--h1-inner); }
  .sort-premise { grid-template-columns:minmax(0,1fr); padding:var(--s3); gap:var(--s2); margin-top:var(--s4); }
  .sort-work-section,.sort-keep-section,.sort-archive-section { padding:var(--s5) 0; }
  .sort-workbench { grid-template-columns:minmax(0,1fr); margin-top:var(--s4); }
  .sort-incoming { border-right:0; border-bottom:1px solid var(--line); }
  .sort-work-caption { padding:var(--s2); }
  .sort-route-button { min-height:76px; grid-template-columns:36px minmax(0,1fr) auto; }
  .sort-route-number { display:block; }
  .sort-work-note { padding:var(--s2); }
  .sort-route-display { padding:var(--s3) var(--s2); }
  .sort-route-panel h3 { font-size:var(--lead); }
  .sort-route-steps { margin-top:var(--s3); }
  .sort-map { margin-top:var(--s4); }
  .sort-choice-grid { margin-top:var(--s4); }
  .sort-choice-card h3 { font-size:var(--lead); }
  .sort-close-steps li { grid-template-columns:40px minmax(0,1fr); gap:var(--s2); }
  .sort-archive-fact { align-items:flex-start; gap:var(--s2); }
  .sort-archive-fact strong { font-size:var(--h3); }
  .sort-check-panel { padding:var(--s3); }
  .sort-review-actions { align-items:stretch; flex-direction:column; }
  .sort-review-actions .btn { width:100%; }
}

.planner-hero { padding:var(--s6) 0 var(--s6); background:var(--paper); color:var(--ink); }
.planner-hero-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:var(--s6); align-items:start; }
.planner-hero h1 { max-width:850px; font-size:var(--h2); line-height:1.3; font-weight:500; letter-spacing:-.01em; }
.planner-hero-intro { max-width:740px; font-size:var(--lead); }
.planner-hero-actions { margin-top:var(--s4); }
.planner-limit-card { padding:var(--s4); border-radius:var(--r2); background:var(--bg2); color:var(--ink); }
.planner-pod-mark { width:168px; height:64px; max-width:100%; margin-bottom:var(--s3); color:var(--deep); }
.planner-limit-number { font-family:var(--mono); font-size:var(--h1); font-weight:500; line-height:1.15; color:var(--ink); }
.planner-limit-number span { display:block; margin-top:var(--s1); font:400 var(--small)/1.7 var(--font); color:var(--muted); }
.planner-limit-card h2 { margin-top:var(--s3); font-size:var(--lead); font-weight:500; line-height:1.5; }
.planner-limit-card p:not(.planner-limit-number) { margin-top:12px; font-size:var(--small); color:var(--muted); }
.planner-tool-section { padding:var(--s6) 0; background:var(--lime); color:var(--lime-ink); scroll-margin-top:var(--s3); }
.planner-section-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:var(--s4); margin-bottom:var(--s4); }
.planner-section-heading .section-intro { max-width:820px; }
.planner-section-heading>.status-pill { flex:none; margin-top:4px; background:var(--paper); color:var(--ink); }
.planner-tool-section .eyebrow { color:var(--ink); }
.planner-tool-section .section-intro { color:var(--cta-copy); }
.planner-workbench { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); border:1px solid var(--line); border-radius:var(--r2); background:var(--paper); color:var(--ink); box-shadow:var(--shadow-window); }
.planner-inputs { min-width:0; padding:var(--s4); border-right:1px solid var(--line); }
.planner-input-heading { display:flex; align-items:center; justify-content:space-between; gap:var(--s2); margin-bottom:12px; }
.planner-input-heading h3 { font-size:var(--lead); font-weight:500; line-height:1.5; }
.planner-input-heading .ghost { flex:none; }
.planner-field-help { margin:0; font-size:var(--small); line-height:1.7; color:var(--muted); }
.planner-category { padding:var(--s3) 0; border-bottom:1px solid var(--line); }
.planner-category-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:4px var(--s2); margin-bottom:12px; }
.planner-category-heading label { font-size:var(--body); font-weight:500; }
.planner-category-heading>span { font-size:var(--micro); color:var(--muted); }
.planner-control-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--s2); align-items:center; }
.planner-number-field { position:relative; min-width:0; }
.planner-number-field input { height:52px; padding-right:78px !important; font-family:var(--mono); letter-spacing:0; }
.planner-number-field>span { position:absolute; top:50%; right:var(--s2); transform:translateY(-50%); pointer-events:none; font-size:var(--micro); color:var(--muted); }
.planner-number-field input[aria-invalid="true"] { border-color:var(--warm-ink); background:var(--paper); color:var(--ink); }
.planner-cycle { display:block; min-width:0; }
.planner-cycle-trigger { width:100%; min-height:52px; margin:0; border-radius:var(--r1); justify-content:space-between; gap:var(--s2); font-size:var(--small); background:var(--paper); color:var(--ink); }
.planner-cycle-trigger:hover { background:var(--bg2); color:var(--ink); }
.planner-cycle-trigger [data-planner-cycle-label] { min-width:0; text-align:left; }
.planner-cycle-menu { top:calc(100% + 8px); left:0; right:auto; width:100%; min-width:0; }
.planner-cycle-menu button { min-height:40px; white-space:normal; font-size:var(--small); }
.planner-cycle-menu [aria-checked="true"] { background:var(--selected); color:var(--ink); }
.planner-reserve-field { display:grid; grid-template-columns:minmax(0,1fr) 150px; gap:var(--s3); align-items:center; padding-top:var(--s3); }
.planner-reserve-field label { font-size:var(--body); font-weight:500; }
.planner-reserve-field p { margin-top:4px; font-size:var(--micro); line-height:1.7; color:var(--muted); }
.planner-input-error { margin-top:var(--s3); padding:12px var(--s2); border-radius:var(--r1); background:var(--warm-bg); color:var(--warm-ink); font-size:var(--small); }
.planner-result { display:flex; flex-direction:column; min-width:0; padding:var(--s4); border-radius:0 var(--r2) var(--r2) 0; background:var(--paper-warm); color:var(--ink); }
.planner-result-kicker { margin-bottom:20px; font-size:var(--small); color:var(--deep); font-weight:500; }
.planner-result h3 { font-size:var(--h3); line-height:1.4; font-weight:500; }
.planner-result-live { margin-top:var(--s3); }
.planner-main-total { display:flex; flex-wrap:wrap; align-items:baseline; gap:12px; }
.planner-main-total strong { font-family:var(--mono); font-size:var(--h1); font-weight:500; line-height:1.15; letter-spacing:0; }
.planner-main-total>span { font-size:var(--small); color:var(--muted); }
.planner-budget-description { margin-top:var(--s2); min-height:0; font-size:var(--small); color:var(--muted); }
.planner-budget-track { display:flex; width:100%; height:16px; margin-top:var(--s3); overflow:hidden; border-radius:var(--pill); background:var(--track); color:var(--ink); }
.planner-budget-track>span { display:block; flex:none; height:100%; }
.planner-budget-used { background:var(--deep); color:var(--paper); }
.planner-budget-reserved { background:var(--lime); color:var(--ink); }
.planner-budget-free { background:var(--track); color:var(--ink); }
.planner-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s3); margin-top:var(--s4); }
.planner-metrics dt { font-size:var(--micro); color:var(--muted); }
.planner-metrics dd { display:flex; align-items:baseline; gap:var(--s1); margin-top:4px; font-family:var(--mono); font-size:var(--h1-inner); line-height:1.3; font-weight:500; color:var(--ink); }
.planner-metrics small { font-family:var(--font); font-size:var(--micro); font-weight:400; color:var(--muted); }
.planner-verdict { margin-top:var(--s4); padding:6px 12px; max-width:100%; line-height:1.5; text-align:left; justify-content:flex-start; border:1px solid var(--line); background:var(--success-bg); color:var(--deep); }
.planner-verdict-warning { background:var(--warm-bg); color:var(--warm-ink); border-color:var(--grey); }
.planner-result-advice { margin-top:var(--s2); font-size:var(--small); color:var(--muted); }
.planner-result-footnote { display:grid; grid-template-columns:20px minmax(0,1fr); align-items:start; gap:12px; margin-top:auto; padding-top:var(--s4); font-size:var(--micro); color:var(--muted); }
.planner-result-footnote svg { width:20px; height:20px; }
.planner-method-note { max-width:1040px; margin-top:var(--s3); color:var(--cta-copy); font-size:var(--small); }
.planner-noscript { padding:var(--s3); margin-bottom:var(--s3); border-radius:var(--r1); background:var(--paper); color:var(--ink); }
.planner-noscript h3 { margin-bottom:var(--s1); font-size:var(--lead); font-weight:500; }
.planner-noscript p { font-size:var(--small); color:var(--muted); }
.planner-allocation-section { padding:var(--s7) 0 var(--s6); background:var(--paper); color:var(--ink); }
.planner-priority-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s3); }
.planner-priority-card { display:flex; flex-direction:column; min-width:0; padding:var(--s4); border-radius:var(--r2); background:var(--bg2); color:var(--ink); }
.planner-priority-card h3 { font-size:var(--lead); line-height:1.5; font-weight:500; margin-bottom:12px; }
.planner-priority-card p { font-size:var(--body); color:var(--muted); }
.planner-priority-card a { display:block; margin-top:auto; padding-top:28px; font-size:var(--small); font-weight:500; line-height:1.7; color:var(--deep); text-decoration:underline; text-underline-offset:4px; }
.planner-priority-card .st-n { align-self:flex-start; }
.planner-boundary-note { margin-top:var(--s4); padding:var(--s3) var(--s4); border-left:3px solid var(--lime); background:var(--paper-warm); color:var(--ink); }
.planner-boundary-note h3 { font-size:var(--lead); line-height:1.5; font-weight:500; }
.planner-boundary-note p { margin-top:12px; font-size:var(--small); color:var(--muted); }
.planner-review-section { padding:var(--s6) 0 var(--s7); background:var(--paper); color:var(--ink); }
.planner-review-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:var(--s6); align-items:start; }
.planner-review-intro { min-width:0; }
.planner-archive-note { margin-top:var(--s4); padding:var(--s3); border-radius:var(--r2); background:var(--guide-grey); color:var(--ink); }
.planner-archive-note h3 { font-size:var(--lead); line-height:1.5; font-weight:500; }
.planner-archive-note p { margin-top:12px; font-size:var(--small); color:var(--muted); }
.planner-review-panel { min-width:0; padding:var(--s4); border:1px solid var(--line); border-radius:var(--r2); background:var(--paper); color:var(--ink); }
.planner-review-panel>h3 { font-size:var(--h3); line-height:1.4; font-weight:500; margin-bottom:12px; }
.planner-review-list { margin-top:var(--s3); }
.planner-review-row { padding:var(--s3) 0; border-top:1px solid var(--line); }
.planner-review-row-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; }
.planner-review-row h4 { font-size:var(--body); line-height:1.5; font-weight:500; }
.planner-review-row .status-pill { flex:none; background:var(--bg2); color:var(--muted); }
.planner-review-row p { margin-top:12px; font-size:var(--small); color:var(--muted); }
.planner-review-disclaimer { margin-top:var(--s2); font-size:var(--micro); color:var(--muted); }
.planner-review-empty { padding:var(--s3); border-radius:var(--r1); background:var(--bg2); color:var(--ink); }
.planner-review-empty h4 { font-size:var(--lead); line-height:1.5; font-weight:500; }
.planner-review-empty p { margin-top:12px; font-size:var(--small); color:var(--muted); }
.planner-execute-section { padding:0 0 var(--s6); background:var(--paper); color:var(--ink); }
.planner-execute { padding:var(--s6) var(--s5); border-radius:var(--r2); background:var(--lime); color:var(--ink); }
.planner-execute .eyebrow { justify-content:center; color:var(--ink); }
.planner-execute .section-intro { max-width:800px; color:var(--cta-copy); }
.planner-execute .actions { margin-top:var(--s4); }
.planner-execute-note { max-width:800px; margin:var(--s3) auto 0; font-size:var(--small); color:var(--cta-copy); }
@media (max-width:1100px) {
  .planner-hero-grid { gap:var(--s4); grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); }
  .planner-workbench { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .planner-inputs,.planner-result { padding:var(--s3); }
  .planner-control-row { gap:12px; }
  .planner-reserve-field { grid-template-columns:minmax(0,1fr) 130px; gap:var(--s2); }
  .planner-priority-card { padding:var(--s3); }
  .planner-review-layout { gap:var(--s4); }
}
@media (max-width:860px) {
  .planner-hero { padding:var(--s5) 0; }
  .planner-hero-grid { grid-template-columns:minmax(0,1fr); gap:var(--s4); }
  .planner-limit-card { padding:var(--s3); }
  .planner-pod-mark { float:right; width:132px; margin:0 0 var(--s2) var(--s2); }
  .planner-limit-number { font-size:var(--h2); }
  .planner-limit-number span { display:inline-block; margin-left:12px; }
  .planner-limit-card h2 { clear:both; }
  .planner-workbench { grid-template-columns:minmax(0,1fr); }
  .planner-inputs { padding:var(--s4); border-right:0; border-bottom:1px solid var(--line); }
  .planner-result { padding:var(--s4); border-radius:0 0 var(--r2) var(--r2); }
  .planner-result-footnote { margin-top:var(--s3); padding-top:0; }
  .planner-result-live { margin-top:var(--s3); }
  .planner-main-total strong { font-size:var(--h1); }
  .planner-metrics { gap:var(--s3); }
  .planner-priority-grid { grid-template-columns:minmax(0,1fr); gap:var(--s2); }
  .planner-priority-card { padding:var(--s4); }
  .planner-priority-card a { margin-top:0; }
  .planner-review-layout { grid-template-columns:minmax(0,1fr); gap:var(--s4); }
  .planner-review-panel { padding:var(--s4); }
  .planner-section-heading { gap:var(--s2); }
  .planner-section-heading>.status-pill { margin-top:0; }
  .planner-execute { padding:var(--s5) var(--s4); }
}
@media (max-width:560px) {
  .planner-hero { padding-top:var(--s4); }
  .planner-hero h1 { font-size:var(--h1-inner); line-height:1.35; }
  .planner-hero-intro { font-size:var(--body); }
  .planner-hero-actions { gap:12px; }
  .planner-hero-actions .btn { width:100%; }
  .planner-pod-mark { width:104px; height:48px; }
  .planner-limit-number span { display:block; margin-left:0; }
  .planner-limit-card h2 { margin-top:var(--s3); }
  .planner-tool-section { padding:var(--s5) 0; }
  .planner-section-heading { flex-direction:column; gap:var(--s2); }
  .planner-inputs,.planner-result { padding:var(--s3) var(--s2); }
  .planner-input-heading { align-items:flex-start; }
  .planner-input-heading h3 { max-width:160px; }
  .planner-control-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--s1); }
  .planner-number-field input { padding-left:12px; padding-right:64px !important; }
  .planner-number-field>span { right:12px; }
  .planner-cycle-trigger { padding-inline:12px; gap:var(--s1); font-size:var(--small); }
  .planner-reserve-field { grid-template-columns:minmax(0,1fr); gap:12px; }
  .planner-reserve-field>.planner-number-field { width:100%; }
  .planner-result h3 { font-size:var(--lead); }
  .planner-metrics dd { font-size:var(--h3); }
  .planner-metrics { gap:var(--s3) var(--s2); }
  .planner-verdict { margin-top:var(--s4); }
  .planner-method-note { font-size:var(--micro); }
  .planner-priority-card { padding:var(--s3); }
  .planner-boundary-note { padding:var(--s3); }
  .planner-review-panel { padding:var(--s3); }
  .planner-review-panel>h3 { font-size:var(--lead); }
  .planner-execute { padding:var(--s5) var(--s3); }
  .planner-execute .actions { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
  .planner-execute .btn { width:100%; white-space:normal; height:auto; }
}


.exposure-first {
  min-width:0;
}

.tool-legend {
  display:block;
  position:static;
  width:100%;
  margin:0 0 var(--s3);
  padding:0;
  font-size:var(--lead);
  font-weight:600;
  line-height:1.5;
  color:var(--ink);
}

.section-head {
  margin-bottom:var(--s5);
}

.content-head {
  margin-bottom:var(--s5);
}


.tool-legend {
  display:block;
  position:static;
  float:none;
  width:100%;
  margin:0 0 var(--s3);
  padding:0;
  font-size:var(--lead);
  font-weight:500;
  line-height:1.5;
  color:var(--ink);
}

[data-inbox-empty] {
  width:min(420px,calc(100% - 32px));
  height:auto;
  min-height:0;
  margin:0;
  padding:var(--s2);
  border:1px solid var(--line);
  border-radius:var(--r1);
  background:var(--paper-warm);
  color:var(--ink);
}

[data-reader-empty] {
  width:min(420px,calc(100% - 32px));
  height:auto;
  min-height:0;
  margin:0;
  padding:var(--s2);
  border:1px solid var(--line);
  border-radius:var(--r1);
  background:var(--paper-warm);
  color:var(--ink);
}


/* Field notes */
.notes-index-hero {
  padding:var(--s6) 0 var(--s5);
  background:var(--paper);
  color:var(--ink);
}
.notes-index-hero h1 {
  max-width:1000px;
  font-size:var(--h2);
  font-weight:500;
  line-height:1.3;
  letter-spacing:-.01em;
}
.notes-count {
  display:flex;
  width:fit-content;
  margin:var(--s3) 0 0;
  padding:4px 12px;
  border:1px solid var(--line);
  background:var(--bg2);
  color:var(--muted);
  font-size:var(--small);
}
.notes-index-intro {
  max-width:780px;
  margin-top:var(--s3);
  font-size:var(--body);
  line-height:1.85;
}
.notes-noscript {
  margin-top:var(--s2);
  font-size:var(--small);
  color:var(--muted);
}
.notes-index-posts {
  padding:0 0 var(--s7);
  background:var(--paper);
  color:var(--ink);
}
.notes-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--s4);
  align-items:stretch;
}
.notes-card {
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--r2);
  background:var(--paper-warm);
  color:var(--ink);
  transition:border-color .2s,box-shadow .2s;
}
.notes-card:hover {
  border-color:var(--grey);
  background:var(--paper-warm);
  color:var(--ink);
  box-shadow:var(--shadow-small);
}
.notes-card:focus-visible {
  outline:2px solid var(--ink);
  outline-offset:5px;
}
.notes-card-visual {
  display:grid;
  place-items:center;
  min-width:0;
  height:208px;
}
.notes-visual-observe {
  background:var(--guide-green);
  color:var(--ink);
}
.notes-visual-recover {
  background:var(--guide-grey);
  color:var(--ink);
}
.notes-card-visual svg {
  display:block;
  width:min(100%,480px);
  height:auto;
  max-height:100%;
}
.notes-art-paper {
  fill:var(--paper);
  stroke:var(--grey);
  stroke-width:1;
}
.notes-art-line {
  stroke:var(--ink);
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.notes-art-route {
  stroke:var(--deep);
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.notes-art-lens {
  fill:var(--lime-2);
  stroke:var(--ink);
  stroke-width:1.5;
}
.notes-art-dot {
  fill:var(--deep);
}
.notes-card-content {
  position:relative;
  display:flex;
  flex:1;
  flex-direction:column;
  min-width:0;
  padding:var(--s4);
}
.notes-card-tag {
  align-self:flex-start;
  color:var(--deep);
  font-size:var(--small);
  font-weight:500;
  line-height:1.5;
}
.notes-card h2 {
  margin:20px 0 var(--s2);
  max-width:540px;
  font-size:var(--h3);
  font-weight:500;
  line-height:1.5;
  overflow-wrap:anywhere;
}
.notes-card:hover h2 {
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:5px;
}
.notes-card-content>p {
  margin-bottom:var(--s4);
  color:var(--muted);
  font-size:var(--body);
  line-height:1.85;
  overflow-wrap:anywhere;
}
.notes-card-meta {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--s1) var(--s3);
  margin-top:auto;
  padding-right:var(--s5);
  color:var(--muted);
  font-size:var(--micro);
}
.notes-card-meta time {
  display:block;
}
.notes-card-arrow {
  position:absolute;
  right:var(--s4);
  bottom:var(--s4);
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:var(--pill);
  background:var(--paper);
  color:var(--ink);
  font-size:var(--lead);
  line-height:1;
}
.notes-index-hero.centered h1,
.notes-index-hero.centered .notes-count,
.notes-index-hero.centered .notes-index-intro {
  margin-inline:auto;
}
.notes-index-hero.centered .eyebrow {
  justify-content:center;
}

/* Article reading shell */
.notes-reading-wrap {
  width:min(1180px,calc(100% - 64px));
  margin-inline:auto;
}
.notes-article-hero {
  padding:var(--s6) 0 var(--s5);
  background:var(--paper);
  color:var(--ink);
}
.notes-breadcrumb {
  margin-bottom:var(--s4);
  font-size:var(--small);
  color:var(--muted);
}
.notes-breadcrumb ol {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--s1) var(--s2);
  list-style:none;
}
.notes-breadcrumb li {
  min-width:0;
  overflow-wrap:anywhere;
}
.notes-breadcrumb li+li::before {
  content:"/";
  margin-right:var(--s2);
  color:var(--soft);
}
.notes-breadcrumb a:hover {
  color:var(--deep);
  text-decoration:underline;
  text-underline-offset:4px;
}
.notes-article-hero .eyebrow {
  margin-bottom:20px;
}
.notes-article-hero h1 {
  max-width:1000px;
  font-size:var(--h2);
  font-weight:500;
  line-height:1.35;
  letter-spacing:-.01em;
  overflow-wrap:anywhere;
}
.notes-article-deck {
  max-width:850px;
  margin-top:20px;
  font-size:var(--lead);
  line-height:1.8;
  color:var(--muted);
}
.notes-article-meta {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px var(--s2);
  margin-top:var(--s4);
  font-size:var(--small);
  color:var(--muted);
}
.notes-meta-pill {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:fit-content;
  min-height:28px;
  padding:3px 12px;
  border:1px solid var(--line);
  border-radius:var(--pill);
  background:var(--bg2);
  color:var(--muted);
  font-size:var(--micro);
  line-height:1.6;
}
.notes-meta-pill.is-topic {
  border-color:var(--guide-green);
  background:var(--guide-green);
  color:var(--deep);
}
.notes-article-layout {
  display:grid;
  grid-template-columns:240px minmax(0,1fr);
  align-items:start;
  gap:var(--s6);
  padding-bottom:var(--s7);
}
.notes-toc {
  position:sticky;
  top:calc(var(--header-h) + var(--s2));
  min-width:0;
  border:1px solid var(--line);
  border-radius:var(--r2);
  background:var(--bg2);
  color:var(--ink);
}
.notes-toc details,
.notes-toc details:first-child {
  border:0;
}
.notes-toc summary {
  padding:var(--s2) var(--s3);
  font-size:var(--lead);
  font-weight:500;
  line-height:1.5;
}
.notes-toc summary i {
  width:28px;
  height:28px;
  background:var(--paper);
  color:var(--ink);
}
.notes-toc-body {
  padding:0 var(--s3) var(--s3);
}
.notes-toc ol {
  padding-left:20px;
  list-style:decimal;
  font-size:var(--small);
  line-height:1.8;
}
.notes-toc li+li {
  margin-top:12px;
}
.notes-toc a {
  overflow-wrap:anywhere;
  text-underline-offset:4px;
}
.notes-toc a:hover {
  color:var(--deep);
  text-decoration:underline;
}
.notes-toc-count {
  margin-top:var(--s2);
}
.notes-toc-note {
  margin-top:var(--s3);
  padding:0;
  color:var(--muted);
  font-size:var(--micro);
}
.notes-prose {
  min-width:0;
  max-width:880px;
  color:var(--ink);
  font-size:var(--body);
  line-height:1.95;
}
.notes-prose>section {
  scroll-margin-top:calc(var(--header-h) + var(--s3));
}
.notes-prose>section+section {
  margin-top:var(--s6);
}
.notes-prose h2 {
  margin:var(--s5) 0 var(--s3);
  font-size:var(--h3);
  font-weight:500;
  line-height:1.5;
  letter-spacing:normal;
}
.notes-prose>section>h2:first-child {
  margin-top:0;
}
.notes-prose h3 {
  margin:var(--s4) 0 var(--s2);
  font-size:var(--lead);
  font-weight:500;
  line-height:1.6;
}
.notes-prose p {
  margin:0 0 var(--s3);
  overflow-wrap:anywhere;
}
.notes-prose strong {
  font-weight:600;
  color:var(--ink);
}
.notes-prose ul,
.notes-prose ol {
  margin:var(--s3) 0 var(--s4);
  padding-left:var(--s3);
  list-style:revert;
}
.notes-prose li+li {
  margin-top:12px;
}
.notes-prose a:not(.btn) {
  color:var(--deep);
  text-decoration:underline;
  text-underline-offset:4px;
}
.notes-prose a:not(.btn):hover {
  color:var(--ink);
}
.notes-prose code {
  padding:2px 6px;
  border-radius:var(--r1);
  background:var(--bg2);
  color:var(--ink);
  font-family:var(--mono);
  font-size:var(--small);
  letter-spacing:0;
  overflow-wrap:anywhere;
}
.notes-prose pre {
  max-width:100%;
  margin:var(--s3) 0 var(--s4);
  padding:var(--s3);
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:var(--r1);
  background:var(--bg2);
  color:var(--ink);
  font-family:var(--mono);
  font-size:var(--small);
  line-height:1.8;
}
.notes-prose pre code {
  padding:0;
}
.notes-prose blockquote {
  margin:var(--s4) 0;
  padding:var(--s3) var(--s4);
  border-left:3px solid var(--lime);
  border-radius:var(--r1);
  background:var(--paper-warm);
  color:var(--ink);
}
.notes-prose blockquote p:last-child {
  margin-bottom:0;
}
.notes-callout {
  margin:var(--s4) 0;
  padding:var(--s3);
  border:1px solid var(--line);
  border-radius:var(--r2);
  background:var(--selected);
  color:var(--ink);
}
.notes-callout h3 {
  margin-top:0;
}
.notes-callout p:last-child {
  margin-bottom:0;
}
.notes-callout.is-boundary {
  background:var(--paper-warm);
  color:var(--ink);
}
.notes-table-scroll {
  max-width:100%;
  margin:var(--s3) 0 var(--s4);
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:var(--r1);
  background:var(--paper);
  color:var(--ink);
}
.notes-table-scroll:focus-visible {
  outline:2px solid var(--ink);
  outline-offset:4px;
}
.notes-table-scroll table {
  min-width:640px;
  font-size:var(--small);
  line-height:1.8;
}
.notes-table-scroll caption {
  padding:var(--s2);
  text-align:left;
  background:var(--paper-warm);
  color:var(--muted);
}
.notes-table-scroll th,
.notes-table-scroll td {
  vertical-align:top;
}
.notes-table-scroll thead th {
  background:var(--bg2);
  color:var(--ink);
}
.notes-table-scroll tbody th {
  background:var(--paper-warm);
  color:var(--ink);
}
.notes-table-scroll tr:last-child td,
.notes-table-scroll tbody tr:last-child th {
  border-bottom:0;
}
.notes-evidence {
  margin:var(--s4) 0;
  padding:var(--s4);
  border:1px solid var(--line);
  border-radius:var(--r2);
  background:var(--bg2);
  color:var(--ink);
}
.notes-evidence h3 {
  margin-top:0;
}
.notes-evidence dl {
  display:grid;
  gap:var(--s2);
  margin-top:var(--s3);
}
.notes-evidence dl>div {
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:var(--s2);
}
.notes-evidence dt {
  font-size:var(--small);
  font-weight:500;
}
.notes-evidence dd {
  margin:0;
  color:var(--muted);
  font-size:var(--small);
  overflow-wrap:anywhere;
}
.notes-evidence>p:last-child {
  margin-bottom:0;
}
.notes-article-cta {
  margin-top:var(--s6);
  padding:var(--s4);
  border-radius:var(--r2);
  background:var(--ink);
  color:var(--paper);
}
.notes-prose .notes-article-cta h2 {
  margin:0 0 var(--s3);
  color:var(--paper);
}
.notes-prose .notes-article-cta p {
  color:var(--paper-warm);
}
.notes-article-cta .actions {
  margin-top:28px;
}
.notes-prose .notes-article-cta a.btn-lime {
  background:var(--lime);
  color:var(--ink);
  text-decoration:none;
}
.notes-prose .notes-article-cta a.btn-lime:hover {
  background:var(--lime-hover);
  color:var(--ink);
}
.notes-prose .notes-article-cta a.btn-light {
  background:var(--paper);
  color:var(--ink);
  text-decoration:none;
}
.notes-prose .notes-article-cta a.btn-light:hover {
  background:var(--ghost-hover);
  color:var(--ink);
}
.notes-article-cta a:focus-visible {
  outline-color:var(--lime-2);
}
.notes-prose .notes-article-cta .notes-cta-footnote {
  margin:var(--s3) 0 0;
  color:var(--paper-warm);
  font-size:var(--micro);
}
.notes-article-end {
  margin-top:var(--s4);
  color:var(--muted);
  font-size:var(--small);
}
.notes-recommend {
  position:fixed;
  right:var(--s3);
  bottom:var(--s3);
  z-index:40;
  width:min(340px,calc(100% - 32px));
  max-height:calc(100dvh - var(--header-h) - var(--s4));
  overflow:auto;
  border:1px solid var(--line);
  border-radius:var(--r2);
  background:var(--paper);
  color:var(--ink);
  box-shadow:var(--shadow-window);
}
.notes-recommend-visual {
  display:grid;
  place-items:center;
  min-height:112px;
  padding:var(--s2) var(--s4);
  background:var(--guide-green);
  color:var(--ink);
}
.notes-recommend-visual svg {
  display:block;
  width:100%;
  height:96px;
}
.notes-recommend-content {
  padding:var(--s3);
}
.notes-recommend-content h2 {
  padding-right:0;
  font-size:var(--lead);
  font-weight:500;
  line-height:1.5;
}
.notes-recommend-content p {
  margin:12px 0 20px;
  color:var(--muted);
  font-size:var(--small);
}
.notes-recommend-content .btn {
  width:auto;
  max-width:100%;
  height:auto;
  min-height:44px;
  white-space:normal;
  overflow-wrap:anywhere;
  font-size:var(--small);
  line-height:1.35;
}
.notes-recommend .float-close {
  position:absolute;
  top:12px;
  right:12px;
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border:1px solid var(--grey);
  border-radius:var(--pill);
  background:var(--paper);
  color:var(--ink);
}
.notes-recommend .float-close:hover {
  background:var(--ghost-hover);
  color:var(--ink);
}
.notes-recommend .float-close svg {
  width:14px;
  height:14px;
}
@media (max-width:1100px) {
  .notes-card-content {
    padding:var(--s3);
  }
  .notes-card-arrow {
    right:var(--s3);
    bottom:var(--s3);
  }
  .notes-article-layout {
    grid-template-columns:220px minmax(0,1fr);
    gap:var(--s4);
  }
}
@media (max-width:860px) {
  .notes-index-hero,
  .notes-article-hero {
    padding-top:var(--s5);
  }
  .notes-grid {
    gap:var(--s3);
  }
  .notes-card-visual {
    height:168px;
  }
  .notes-card h2 {
    font-size:var(--lead);
    line-height:1.55;
  }
  .notes-card-meta {
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
  }
  .notes-article-layout {
    grid-template-columns:minmax(0,1fr);
    gap:var(--s4);
  }
  .notes-toc {
    position:static;
  }
  .notes-toc-body {
    padding-top:var(--s1);
  }
  .notes-toc ol {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px var(--s4);
  }
  .notes-toc li+li {
    margin-top:0;
  }
  .notes-prose {
    max-width:none;
  }
}
@media (max-width:560px) {
  .notes-index-hero,
  .notes-article-hero {
    padding-top:var(--s4);
    padding-bottom:var(--s4);
  }
  .notes-index-hero h1,
  .notes-article-hero h1 {
    font-size:var(--h1-inner);
    line-height:1.4;
  }
  .notes-title-break {
    display:none;
  }
  .notes-index-intro,
  .notes-article-deck {
    font-size:var(--body);
  }
  .notes-grid {
    grid-template-columns:minmax(0,1fr);
    gap:var(--s3);
  }
  .notes-card-visual {
    height:160px;
  }
  .notes-card-content {
    padding:var(--s3);
  }
  .notes-card h2 {
    font-size:var(--h3);
    line-height:1.5;
  }
  .notes-card-meta {
    flex-direction:row;
    align-items:center;
    gap:var(--s1) var(--s2);
  }
  .notes-reading-wrap {
    width:calc(100% - 32px);
  }
  .notes-breadcrumb {
    margin-bottom:var(--s4);
  }
  .notes-article-meta {
    gap:var(--s1) 12px;
    margin-top:var(--s3);
  }
  .notes-toc summary {
    padding:var(--s2);
    font-size:var(--body);
  }
  .notes-toc-body {
    padding:0 var(--s2) var(--s2);
  }
  .notes-toc ol {
    display:block;
  }
  .notes-toc li+li {
    margin-top:12px;
  }
  .notes-prose>section+section {
    margin-top:var(--s5);
  }
  .notes-prose h2 {
    font-size:var(--h3);
    line-height:1.5;
  }
  .notes-prose h3 {
    font-size:var(--lead);
  }
  .notes-prose blockquote,
  .notes-evidence,
  .notes-article-cta {
    padding:var(--s3);
  }
  .notes-evidence dl>div {
    grid-template-columns:minmax(0,1fr);
    gap:4px;
  }
  .notes-article-cta .actions {
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }
  .notes-article-cta .btn {
    width:100%;
    height:auto;
    white-space:normal;
  }
  .notes-recommend {
    right:var(--s2);
    bottom:var(--s2);
  }
}


.note-hero {
  padding-top:96px;
  padding-bottom:var(--s6);
  background:var(--paper);
  color:var(--ink);
}
.note-hero .breadcrumb {
  margin-bottom:var(--s4);
}
.note-hero .breadcrumb a:hover {
  color:var(--deep);
  text-decoration:underline;
  text-underline-offset:4px;
}
.note-hero h1 {
  max-width:1040px;
  font-size:var(--h2);
  line-height:1.3;
  font-weight:500;
}
.note-meta {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--s1);
  margin-top:var(--s3);
}
.note-meta .status-pill {
  background:var(--bg2);
  color:var(--muted);
  padding:6px 12px;
  line-height:1.5;
}
.note-deck {
  max-width:880px;
  font-size:var(--lead);
  line-height:1.8;
}
.note-opening {
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:var(--s4);
  align-items:center;
  margin-top:var(--s5);
  padding:var(--s4);
  border-radius:var(--r2);
  background:var(--lime-2);
  color:var(--ink);
}
.note-opening svg {
  width:120px;
  height:64px;
}
.note-opening p {
  max-width:800px;
  font-size:var(--body);
  line-height:1.85;
}
.note-opening strong {
  font-weight:600;
}
.note-layout {
  grid-template-columns:240px minmax(0,1fr);
  gap:var(--s6);
}
.note-toc {
  z-index:3;
  top:calc(var(--header-h) + var(--s2));
}
.note-toc ol {
  margin:0;
  list-style:decimal;
}
.note-toc li + li {
  margin-top:var(--s1);
}
.note-toc a:hover {
  text-decoration:underline;
  text-underline-offset:4px;
}
.note-toc .toc-count {
  margin-top:var(--s2);
  background:var(--paper);
  color:var(--deep);
}
.note-prose {
  min-width:0;
}
.note-prose section {
  scroll-margin-top:calc(var(--header-h) + var(--s4));
}
.note-prose section + section {
  margin-top:var(--s5);
}
.note-prose section > h2 {
  margin-top:0;
  font-size:var(--h3);
  line-height:1.45;
  font-weight:500;
}
.note-prose h3 {
  font-size:var(--lead);
  line-height:1.5;
  font-weight:500;
}
.note-prose li {
  margin-block:0;
}
.note-prose li + li {
  margin-top:var(--s1);
}
.note-prose strong {
  font-weight:600;
}
.note-prose code {
  font-family:var(--mono);
  font-size:var(--small);
  letter-spacing:0;
  overflow-wrap:anywhere;
}
.note-table-scroll {
  margin-top:var(--s3);
  margin-bottom:var(--s4);
  border:1px solid var(--line);
  border-radius:var(--r1);
  background:var(--paper);
  color:var(--ink);
}
.note-table-scroll:focus-visible {
  outline:2px solid var(--ink);
  outline-offset:4px;
}
.note-table {
  min-width:640px;
  table-layout:fixed;
  line-height:1.8;
}
.note-table caption {
  padding:var(--s2);
  text-align:left;
  font-size:var(--small);
  background:var(--paper-warm);
  color:var(--muted);
}
.note-table th,.note-table td {
  vertical-align:top;
  overflow-wrap:anywhere;
}
.note-table thead th:first-child {
  width:19%;
}
.note-table tbody th {
  background:var(--paper);
  color:var(--ink);
  font-weight:500;
}
.note-table tbody td {
  background:var(--paper);
  color:var(--muted);
}
.note-table tbody tr:last-child th,.note-table tbody tr:last-child td {
  border-bottom:0;
}
.note-case {
  margin:var(--s3) 0 var(--s4);
  padding:var(--s4);
  border-radius:var(--r2);
  background:var(--bg2);
  color:var(--ink);
}
.note-case .note-case-label {
  margin-bottom:20px;
  font-size:var(--micro);
  color:var(--deep);
}
.note-case h3 {
  margin-top:0;
}
.note-case dl {
  margin:var(--s3) 0;
}
.note-case dl > div {
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  gap:var(--s2);
  font-size:var(--small);
}
.note-case dl > div + div {
  margin-top:var(--s1);
}
.note-case dt {
  color:var(--muted);
}
.note-case dd {
  min-width:0;
  margin:0;
}
.note-case > p:last-child {
  margin-bottom:0;
  font-size:var(--micro);
  color:var(--muted);
}
.note-path-list strong {
  color:var(--ink);
}
.note-boundary {
  padding:var(--s3) var(--s4);
  margin:var(--s4) 0;
  border-radius:var(--r2);
  background:var(--selected);
  color:var(--ink);
}
.note-boundary h3 {
  margin-top:0;
}
.note-boundary p {
  margin-bottom:0;
  font-size:var(--small);
}
.note-end-card {
  padding:var(--s5);
  margin-top:var(--s5);
  border-radius:var(--r2);
  background:var(--lime-2);
  color:var(--ink);
}
.note-end-icon {
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  margin-bottom:var(--s3);
  border-radius:var(--pill);
  background:var(--paper);
  color:var(--ink);
}
.note-end-icon svg {
  width:40px;
  height:40px;
}
.note-prose .note-end-card h2 {
  margin:0 0 var(--s3);
  font-size:var(--h3);
  line-height:1.4;
  font-weight:500;
}
.note-end-card .actions {
  margin-top:28px;
}
.note-end-card .btn-ink {
  background:var(--ink);
  color:var(--paper);
}
.note-end-card .btn-ink:hover {
  background:var(--ink-hover);
  color:var(--paper);
}
.note-end-card .btn-lime {
  background:var(--lime);
  color:var(--ink);
}
.note-end-card .btn-lime:hover {
  background:var(--lime-hover);
  color:var(--ink);
}
.note-end-card .note-end-footnote {
  margin:var(--s3) 0 0;
  font-size:var(--micro);
  color:var(--muted);
}
.note-recommend {
  z-index:40;
}
.note-recommend .recommend-image {
  padding:var(--s2) var(--s3);
  background:var(--bg2);
  color:var(--ink);
}
.note-recommend .recommend-image > svg {
  display:block;
  width:160px;
  height:56px;
  max-width:calc(100% - 40px);
}
.note-recommend .recommend-content {
  padding:var(--s3);
}
.note-recommend .recommend-content p {
  margin:12px 0 20px;
}
.note-recommend .float-close {
  position:absolute;
  top:12px;
  right:12px;
  background:var(--paper);
  color:var(--ink);
}
.note-recommend .float-close:hover {
  background:var(--lime-2);
  color:var(--ink);
}
.note-recommend .btn {
  max-width:100%;
  white-space:normal;
  height:auto;
  line-height:1.35;
}
@media (max-width:1100px) {
  .note-layout {
    gap:var(--s4);
    grid-template-columns:220px minmax(0,1fr);
  }
  .note-end-card {
    padding:var(--s4);
  }
}
@media (max-width:860px) {
  .note-layout {
    grid-template-columns:minmax(0,1fr);
    gap:var(--s5);
  }
  .note-toc {
    position:static;
  }
  .note-toc ol {
    columns:2;
    column-gap:var(--s5);
  }
  .note-toc li {
    break-inside:avoid;
    padding-right:var(--s1);
  }
  .note-opening {
    gap:var(--s3);
    padding:var(--s3);
  }
}
@media (max-width:560px) {
  .note-hero {
    padding-top:96px;
    padding-bottom:var(--s4);
  }
  .note-hero h1 {
    font-size:var(--h1-inner);
    line-height:1.35;
  }
  .note-hero .breadcrumb {
    font-size:var(--micro);
    margin-bottom:var(--s3);
  }
  .note-deck {
    font-size:var(--body);
  }
  .note-meta {
    gap:var(--s1);
  }
  .note-meta .status-pill {
    padding:4px var(--s1);
  }
  .note-opening {
    grid-template-columns:minmax(0,1fr);
    gap:var(--s2);
    margin-top:var(--s4);
  }
  .note-opening svg {
    width:96px;
    height:52px;
  }
  .note-layout {
    gap:var(--s4);
  }
  .note-toc ol {
    columns:1;
  }
  .note-case,.note-boundary,.note-end-card {
    padding:var(--s3);
  }
  .note-case dl > div {
    grid-template-columns:minmax(0,1fr);
    gap:0;
  }
  .note-case dl > div + div {
    margin-top:12px;
  }
  .note-end-card .actions {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:12px;
  }
  .note-end-card .btn {
    width:100%;
    height:auto;
    white-space:normal;
  }
  .note-recommend .recommend-image {
    padding:12px var(--s2);
  }
  .note-recommend .recommend-image > svg {
    width:128px;
    height:40px;
  }
  .note-recommend .recommend-content {
    padding:var(--s2);
  }
}


.retirement-hero {
  padding-top:96px;
  padding-bottom:var(--s5);
}
.retirement-hero .breadcrumb {
  margin-bottom:var(--s4);
}
.retirement-hero .breadcrumb a:hover {
  color:var(--deep);
  text-decoration:underline;
  text-underline-offset:4px;
}
.retirement-hero h1 {
  max-width:960px;
  font-size:var(--h2);
  line-height:1.3;
  font-weight:500;
  letter-spacing:-.01em;
}
.retirement-meta {
  display:inline-flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--s1) var(--s2);
  max-width:100%;
  margin-top:var(--s3);
  padding:8px var(--s2);
  border-radius:var(--pill);
  background:var(--bg2);
  color:var(--muted);
  font-size:var(--micro);
  line-height:1.7;
}
.retirement-meta > span {
  padding-left:var(--s2);
  border-left:1px solid var(--grey);
}
.retirement-deck {
  max-width:900px;
  margin-top:var(--s3);
  font-size:var(--lead);
  line-height:1.8;
}
.retirement-opening {
  display:grid;
  grid-template-columns:144px minmax(0,1fr);
  align-items:center;
  gap:var(--s4);
  margin-top:var(--s5);
  padding:var(--s4);
  border-radius:var(--r2);
  background:var(--lime-2);
  color:var(--ink);
}
.retirement-opening svg {
  width:144px;
  height:64px;
  color:var(--deep);
}
.retirement-opening p {
  max-width:840px;
  font-size:var(--body);
}
.retirement-opening strong {
  font-weight:600;
}
.retirement-layout {
  grid-template-columns:240px minmax(0,1fr);
  gap:var(--s6);
}
.retirement-sidebar {
  position:sticky;
  top:calc(var(--header-h) + var(--s2));
  z-index:3;
  min-width:0;
}
.retirement-directory,
.retirement-directory:first-child {
  padding:var(--s3);
  border:1px solid var(--line);
  border-radius:var(--r2);
  background:var(--bg2);
  color:var(--ink);
}
.retirement-directory > summary {
  padding:0;
  font-size:var(--lead);
  line-height:1.5;
}
.retirement-directory > summary i {
  width:24px;
  height:24px;
  background:var(--paper);
  color:var(--ink);
}
.retirement-directory nav {
  margin-top:var(--s3);
}
.retirement-directory ol {
  padding-left:22px;
  list-style:decimal;
  font-size:var(--small);
  line-height:1.7;
}
.retirement-directory li + li {
  margin-top:8px;
}
.retirement-directory a:not(.status-pill):hover {
  color:var(--deep);
  text-decoration:underline;
  text-underline-offset:4px;
}
.retirement-count {
  margin-top:var(--s3);
  background:var(--paper);
  color:var(--muted);
}
.retirement-prose {
  min-width:0;
}
.retirement-prose > section {
  scroll-margin-top:calc(var(--header-h) + var(--s3));
}
.retirement-prose > section + section {
  margin-top:var(--s5);
}
.retirement-prose h2 {
  margin:0 0 var(--s3);
  font-size:var(--h3);
  line-height:1.5;
  font-weight:500;
}
.retirement-prose h3 {
  font-size:var(--lead);
  line-height:1.5;
  font-weight:500;
}
.retirement-prose strong {
  font-weight:600;
}
.retirement-prose li + li {
  margin-top:8px;
}
.retirement-prose li {
  margin-bottom:0;
}
.retirement-prose code {
  font-family:var(--mono);
  font-size:var(--small);
  letter-spacing:0;
  overflow-wrap:anywhere;
}
.retirement-table {
  margin-top:var(--s3);
  margin-bottom:var(--s4);
  border:1px solid var(--line);
  border-radius:var(--r1);
  background:var(--paper);
  color:var(--ink);
}
.retirement-table:focus-visible {
  outline:2px solid var(--ink);
  outline-offset:4px;
}
.retirement-table table {
  min-width:620px;
  line-height:1.8;
}
.retirement-table caption {
  padding:var(--s2);
  text-align:left;
  background:var(--paper-warm);
  color:var(--muted);
  font-size:var(--small);
}
.retirement-table th,
.retirement-table td {
  vertical-align:top;
}
.retirement-table thead th {
  background:var(--selected);
  color:var(--ink);
}
.retirement-table tbody th {
  width:20%;
  background:var(--paper);
  color:var(--ink);
  font-weight:500;
}
.retirement-table tbody tr:last-child th,
.retirement-table tbody tr:last-child td {
  border-bottom:0;
}
.retirement-note-box {
  margin:var(--s3) 0 var(--s4);
  padding:var(--s3);
  border-radius:var(--r2);
  background:var(--paper-warm);
  color:var(--ink);
  border:1px solid var(--line);
}
.retirement-note-box h3 {
  margin-top:0;
}
.retirement-note-box p:last-child {
  margin-bottom:0;
}
.retirement-boundaries {
  margin:var(--s3) 0 var(--s4);
  padding:var(--s3);
  border-radius:var(--r2);
  background:var(--bg2);
  color:var(--ink);
}
.retirement-boundaries > div + div {
  margin-top:var(--s3);
}
.retirement-boundaries dt {
  margin-bottom:var(--s1);
  font-weight:500;
}
.retirement-boundaries dd {
  margin:0;
  font-size:var(--small);
  color:var(--muted);
}
.retirement-handover {
  padding:var(--s4);
  margin:var(--s3) 0 var(--s4);
  border:1px solid var(--line);
  border-radius:var(--r2);
  background:var(--selected);
  color:var(--ink);
}
.retirement-handover h3 {
  margin-top:0;
}
.retirement-handover ul {
  margin-bottom:0;
}
.retirement-prose .retirement-cta {
  margin-top:var(--s6);
  padding:var(--s4);
  border-radius:var(--r2);
  background:var(--ink);
  color:var(--paper);
}
.retirement-cta-icon {
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  margin-bottom:var(--s3);
  border-radius:var(--pill);
  background:var(--lime);
  color:var(--ink);
}
.retirement-cta-icon svg {
  width:28px;
  height:28px;
}
.retirement-cta h2 {
  color:var(--paper);
}
.retirement-cta p {
  color:var(--paper-warm);
}
.retirement-cta .actions {
  margin-top:28px;
}
.retirement-prose .retirement-cta .btn-lime {
  background:var(--lime);
  color:var(--ink);
  border-color:var(--clear);
}
.retirement-prose .retirement-cta .btn-lime:hover {
  background:var(--lime-hover);
  color:var(--ink);
}
.retirement-prose .retirement-cta .btn-light {
  background:var(--paper);
  color:var(--ink);
  border-color:var(--clear);
}
.retirement-prose .retirement-cta .btn-light:hover {
  background:var(--ghost-hover);
  color:var(--ink);
}
.retirement-cta .retirement-cta-note {
  margin-top:var(--s3);
  margin-bottom:0;
  font-size:var(--micro);
  color:var(--paper-warm);
}
.retirement-cta a:focus-visible {
  outline-color:var(--lime-2);
}
.retirement-recommend {
  width:min(304px,calc(100% - 32px));
  z-index:40;
}
.retirement-recommend-visual {
  padding:var(--s2) var(--s3);
  background:var(--lime-2);
  color:var(--ink);
}
.retirement-recommend-visual svg {
  display:block;
  width:160px;
  height:48px;
  max-width:calc(100% - 32px);
}
.retirement-recommend .float-close {
  position:absolute;
  top:12px;
  right:12px;
  background:var(--paper);
  color:var(--ink);
}
.retirement-recommend-actions {
  display:flex;
  flex-wrap:wrap;
  gap:var(--s1);
}
.retirement-recommend-actions .btn {
  flex:1 1 104px;
  max-width:100%;
  min-width:0;
  height:auto;
  white-space:normal;
  line-height:1.35;
}
@media (min-width:861px) {
  .retirement-directory > summary {
    pointer-events:none;
    list-style:none;
  }
  .retirement-directory > summary i {
    display:none;
  }
}
@media (max-width:1100px) {
  .retirement-layout {
    gap:var(--s4);
    grid-template-columns:220px minmax(0,1fr);
  }
}
@media (max-width:860px) {
  .retirement-layout {
    grid-template-columns:minmax(0,1fr);
    gap:var(--s4);
  }
  .retirement-sidebar {
    position:static;
  }
  .retirement-directory {
    padding:var(--s2);
  }
  .retirement-directory ol {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px var(--s4);
  }
  .retirement-directory li + li {
    margin-top:0;
  }
  .retirement-opening {
    grid-template-columns:112px minmax(0,1fr);
    gap:var(--s3);
  }
  .retirement-opening svg {
    width:112px;
    height:56px;
  }
}
@media (max-width:560px) {
  .retirement-hero {
    padding-top:96px;
    padding-bottom:var(--s4);
  }
  .retirement-hero h1 {
    font-size:var(--h1-inner);
    line-height:1.35;
  }
  .retirement-deck {
    font-size:var(--body);
  }
  .retirement-meta {
    gap:6px 10px;
    padding-inline:12px;
  }
  .retirement-meta > span {
    padding-left:10px;
  }
  .retirement-opening {
    grid-template-columns:minmax(0,1fr);
    padding:var(--s3);
    margin-top:var(--s4);
  }
  .retirement-opening svg {
    width:112px;
    height:48px;
  }
  .retirement-directory ol {
    grid-template-columns:minmax(0,1fr);
  }
  .retirement-prose h2 {
    font-size:var(--lead);
    line-height:1.6;
  }
  .retirement-handover,
  .retirement-prose .retirement-cta {
    padding:var(--s3);
  }
  .retirement-cta .actions {
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }
  .retirement-cta .btn {
    width:100%;
    height:auto;
    white-space:normal;
  }
  .retirement-recommend {
    display:none;
  }
  .retirement-recommend .recommend-content {
    padding:var(--s2);
  }
  .retirement-recommend .recommend-content p {
    margin:8px 0 12px;
    font-size:var(--micro);
  }
  .retirement-recommend .recommend-content h2 {
    font-size:var(--body);
  }
  .retirement-recommend-visual {
    padding-block:var(--s1);
  }
  .retirement-recommend-visual svg {
    height:32px;
  }
}


.note-page { min-width:0; }

@media (max-width:560px) {
  .article-layout { width:calc(100% - 32px); }
}
