:root {
  --wrap:1200px;
  --header-h:76px;
  --h1:40px;
  --h2:40px;
  --h3:20px;
  --body:16px;
  --small:14px;
  --caption:12px;
  --subhead:18px;
  --card-title:24px;
  --ink:#0c2422;
  --text:#1f3936;
  --muted:#5b716d;
  --faint:#8a9d99;
  --line:#dfe8e5;
  --paper:#ffffff;
  --primary:#0a7c6c;
  --primary-dark:#07685a;
  --primary-soft:#e3f1ed;
  --mist:#f5f9f8;
  --mist2:#ecf4f1;
  --choice:#e6f0ed;
  --choice-hover:#d9e9e4;
  --warm:#f7f1e9;
  --warm-ink:#5a4632;
  --warm-line:#eadfce;
  --warm-border:#cdbba4;
  --warm-dash:#cdb89e;
  --warm-strike:#d7b9ab;
  --stamp:#c4532d;
  --dark:#0c2422;
  --dark-hover:#1b3a37;
  --dark-card:#132f2c;
  --dark-line:#21423e;
  --dark-dash:#2f514c;
  --dark-muted:#a7c3be;
  --dark-text:#cfe0dc;
  --dark-border:#5d7f7a;
  --mint:#3fc2a8;
  --mint-hover:#5fd3bb;
  --soft-line:#b9c8c4;
  --demo-dark:#111214;
  --demo-panel:#1d1f23;
  --demo-text:#d9dbde;
  --demo-muted:#b8bcc2;
  --demo-light:#e8eaed;
  --demo-cyan:#25f4ee;
  --demo-pink:#fe2c55;
  --steam-dark:#1b2838;
  --steam-text:#c7d5e0;
  --steam-blue:#66c0f4;
  --shadow-ink:12,36,34;
  --r-s:8px;
  --r-m:16px;
  --r-p:999px;
  --radius-control:var(--r-p);
  --radius-card:var(--r-m);
  --s1:8px;
  --s2:12px;
  --s3:16px;
  --s4:24px;
  --s5:40px;
  --s6:64px;
  --s7:112px;
  --sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Noto Sans SC","Microsoft YaHei","Inter","Segoe UI",sans-serif;
  --mono:"SF Mono","JetBrains Mono",Menlo,Consolas,"Liberation Mono",monospace;
}
* { box-sizing:border-box; margin:0; padding:0; }
[hidden] { display:none !important; }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--header-h) + 24px); }
body { font-family:var(--sans); font-size:var(--body); line-height:1.7; color:var(--text); background:var(--paper); -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
button,input,textarea { font:inherit; }
button { cursor:pointer; }
button,a,input,textarea,summary { -webkit-tap-highlight-color:transparent; }
button:disabled { cursor:wait; opacity:.65; }
button { color:var(--ink); }
:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
input:focus,textarea:focus { outline:none; border-color:var(--ink); box-shadow:inset 0 0 0 1px var(--ink); }
.wrap { width:min(var(--wrap),calc(100% - 48px)); margin:0 auto; }
h1,h2,h3 { color:var(--ink); font-weight:700; letter-spacing:-.02em; text-wrap:balance; }
h1 em { font-style:normal; }
h2 { font-size:var(--h2); line-height:1.22; }
h3 { font-size:var(--h3); line-height:1.4; }
.eyebrow { margin:0 0 20px; font-size:14px; font-weight:500; color:var(--primary); letter-spacing:.02em; }
.lead { font-size:20px; line-height:1.6; color:var(--muted); }
.section-intro { margin-top:20px; }
.mono { font-family:var(--mono); letter-spacing:0; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.skip-link { position:fixed; left:16px; top:8px; z-index:150; padding:8px 16px; background:var(--ink); color:var(--paper); border-radius:var(--r-s); transform:translateY(-160%); }
.skip-link:focus { transform:none; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:0 24px; border:1px solid transparent; border-radius:var(--r-p); font-size:16px; font-weight:500; line-height:1.35; text-align:center; transition:background .2s,color .2s,border-color .2s; }
.btn-primary { background:var(--primary); color:var(--paper); }
.btn-primary:hover { background:var(--primary-dark); color:var(--paper); }
.btn-dark { background:var(--ink); color:var(--paper); }
.btn-dark:hover { background:var(--dark-hover); color:var(--paper); }
.btn-line { border-color:var(--line); color:var(--ink); background:transparent; }
.btn-line:hover { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.btn-sm { min-height:40px; padding:0 20px; font-size:14px; }
.chipbtn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:36px; padding:0 16px; border-radius:var(--r-p); border:1px solid var(--line); font-size:14px; color:var(--ink); background:var(--paper); line-height:1.35; }
.chipbtn:hover { border-color:var(--ink); background:var(--mist); color:var(--ink); }
.actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.strip { background:var(--warm); border-bottom:1px solid var(--warm-line); }
.strip .wrap { min-height:40px; display:flex; align-items:center; justify-content:center; gap:12px; position:relative; }
.strip .tag { display:inline-flex; align-items:center; height:22px; padding:0 8px; border-radius:var(--r-p); background:var(--ink); color:var(--paper); font-size:12px; font-weight:500; flex:none; }
.strip .title { font-size:14px; font-weight:600; color:var(--ink); letter-spacing:-.01em; white-space:nowrap; flex:none; }
.strip .sub { font-size:13px; color:var(--warm-ink); min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.strip .go { width:24px; height:24px; border-radius:var(--r-p); border:1px solid var(--warm-border); display:inline-flex; align-items:center; justify-content:center; color:var(--ink); flex:none; }
.strip .go svg { width:14px; height:14px; }
.strip a:hover .go { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.strip a { display:flex; align-items:center; gap:10px; min-width:0; max-width:100%; }
.strip .stampart { width:64px; height:32px; margin-left:8px; flex:none; }
.site { position:sticky; top:0; z-index:50; background:var(--paper); border-bottom:1px solid var(--line); }
.site .header-inner { height:var(--header-h); display:flex; align-items:center; position:relative; }
.brand { display:inline-flex; align-items:center; gap:12px; font-size:20px; font-weight:700; color:var(--ink); letter-spacing:-.02em; flex:none; }
.brand img { width:32px; height:32px; }
nav.main { display:flex; gap:40px; margin-left:96px; align-items:center; }
nav.main a { font-size:var(--body); color:var(--text); padding:8px 12px; border-radius:var(--r-p); white-space:nowrap; }
nav.main a:hover { color:var(--primary); }
[data-site-nav] a[aria-current="page"] { background:var(--primary-soft); color:var(--primary-dark); }
.head-right { margin-left:auto; display:flex; align-items:center; gap:12px; }
.head-right>.btn { flex:none; white-space:nowrap; }
.language { position:relative; margin-left:12px; }
.lang { position:relative; display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:500; color:var(--ink); padding:8px 24px 8px 4px; border:0; background:var(--paper); min-height:40px; }
.chevron { display:block; width:7px; height:7px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; position:absolute; right:6px; top:50%; transform:translateY(calc(-50% - 1px)) rotate(45deg); pointer-events:none; }
.lang-globe { display:none; width:20px; height:20px; }
.lang-menu,.filter-menu { position:absolute; top:calc(100% + 8px); right:0; min-width:176px; padding:8px; background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:var(--r-m); box-shadow:0 16px 40px -20px rgba(var(--shadow-ink),.3); z-index:80; }
.lang-menu a,.filter-menu button { display:flex; width:100%; align-items:center; padding:10px 12px; border:0; border-radius:var(--r-s); font-size:14px; text-align:left; background:var(--paper); color:var(--ink); }
.lang-menu a:hover,.lang-menu a[aria-current],.filter-menu button:hover,.filter-menu button[aria-selected="true"] { background:var(--mist2); color:var(--primary-dark); }
.nav-toggle { display:none; align-items:center; justify-content:center; width:40px; height:40px; background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:var(--r-s); }
.nav-drawer { position:fixed; z-index:70; left:24px; right:auto; top:calc(var(--header-h) + 8px); width:min(340px,calc(100% - 48px)); padding:16px; background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:var(--r-m); box-shadow:0 24px 48px -24px rgba(var(--shadow-ink),.3); text-align:left; max-height:calc(100dvh - var(--header-h) - 24px); overflow:auto; }
.drawer-nav { display:grid; gap:8px; }
.drawer-nav>a { padding:12px; border-radius:var(--r-s); font-size:14px; background:var(--paper); color:var(--ink); }
.drawer-nav>a:hover,.drawer-nav>a[aria-current="page"] { background:var(--mist2); color:var(--primary-dark); }
.x-short { display:none; }
.hero { background:linear-gradient(180deg,var(--mist) 0,var(--mist) 620px,var(--paper) 620px); }
.hero-top { display:grid; grid-template-columns:500px 1fr; gap:40px; align-items:center; padding:64px 0 48px; }
.trust { display:flex; align-items:center; gap:12px; font-size:14px; color:var(--muted); flex-wrap:wrap; }
.trust b { color:var(--ink); font-weight:500; }
.trust i { width:1px; height:14px; background:var(--soft-line); }
.hero h1 { font-size:var(--h1); line-height:1.24; margin:24px 0 16px; }
.hero .ask { font-size:20px; color:var(--text); margin-bottom:24px; }
.switch>input {
  position:absolute;
  width:1px;
  height:1px;
  left:0;
  top:0;
  opacity:0;
  pointer-events:none;
}
.seg { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.seg label,.seg .mode-option { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; min-height:96px; padding:12px; border-radius:var(--r-m); background:var(--choice); color:var(--ink); font-size:16px; line-height:1.5; text-align:center; cursor:pointer; transition:background .2s,color .2s; }
.seg label:hover,.seg .mode-option:hover { background:var(--choice-hover); color:var(--ink); }
.seg svg { width:28px; height:28px; flex:none; }
#m-temp:checked~.seg [for="m-temp"],.seg .mode-option.is-selected { background:var(--primary); color:var(--paper); }
#m-fwd:checked~.seg [for="m-fwd"] { background:var(--primary); color:var(--paper); }
.pane { margin-top:16px; background:var(--paper); border-radius:var(--r-m); padding:24px; box-shadow:0 1px 2px rgba(var(--shadow-ink),.05),0 12px 32px -16px rgba(var(--shadow-ink),.18); }
.pane-fwd { display:none; }
#m-fwd:checked~.pane-temp { display:none; }
#m-fwd:checked~.pane-fwd { display:block; }
.pane .lbl { font-size:14px; color:var(--muted); margin-bottom:8px; }
.addr { display:flex; align-items:center; min-height:56px; border-radius:var(--r-s); background:var(--mist2); padding:8px 8px 8px 16px; gap:8px; }
.addr .mono { font-size:20px; color:var(--ink); white-space:nowrap; letter-spacing:0; flex:1; min-width:0; overflow:auto; }
.addr .mono em { font-style:normal; color:var(--muted); }
.addr .btn { min-height:40px; padding:0 16px; font-size:14px; border-radius:var(--r-s); flex:none; }
.meta { display:flex; align-items:center; gap:12px; margin-top:16px; font-size:14px; color:var(--muted); flex-wrap:wrap; }
.meta .left { display:inline-flex; align-items:center; gap:8px; color:var(--ink); font-weight:500; }
.meta .left .mono { font-size:16px; }
.meta .act { margin-left:auto; display:flex; gap:8px; }
.pane-fwd p { font-size:16px; color:var(--text); margin-bottom:16px; }
.pane-fwd ul { list-style:none; display:grid; gap:8px; margin-bottom:24px; font-size:14px; color:var(--muted); }
.pane-fwd li { display:flex; gap:8px; align-items:center; }
.pane-fwd li svg { flex:none; }
.hero-art { display:grid; border-radius:var(--r-m); overflow:hidden; }
.hero-art .art-photo { grid-area:1/1; width:100%; height:clamp(22rem,38vw,34rem); object-fit:cover; }
.hero-art .float-card { grid-area:1/1; align-self:end; justify-self:start; margin:1.5rem; background:var(--paper); border-radius:var(--r-m); padding:16px 20px; width:300px; box-shadow:0 16px 40px -16px rgba(var(--shadow-ink),.35); }
.hero-art .float-note { align-self:start; justify-self:end; width:280px; padding:12px 16px; display:flex; gap:12px; align-items:center; }
.float-note>svg { flex:none; }
.fc-top { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.fc-top b { font-size:14px; color:var(--ink); font-weight:500; display:block; }
.fc-top span { font-size:12px; color:var(--muted); }
.fc-row { display:flex; justify-content:space-between; font-size:14px; padding:8px 0; border-top:1px solid var(--line); color:var(--muted); }
.fc-row b { color:var(--ink); font-weight:500; }
.float-note b { display:block; font-size:14px; color:var(--ink); font-weight:500; line-height:1.4; }
.float-note span { font-size:12px; color:var(--muted); line-height:1.5; }
.inbox { margin:0 auto; width:min(var(--wrap),calc(100% - 48px)); border:1px solid var(--line); border-radius:var(--r-m); background:var(--paper); overflow:hidden; box-shadow:0 24px 48px -32px rgba(var(--shadow-ink),.28); }
.ib-bar { min-height:56px; display:flex; align-items:center; padding:12px 24px; border-bottom:1px solid var(--line); gap:16px; }
.ib-bar h2 { font-size:16px; letter-spacing:0; font-weight:700; }
.ib-bar .cnt { font-size:12px; font-weight:500; color:var(--primary); background:var(--primary-soft); border-radius:var(--r-p); padding:2px 10px; }
.ib-bar .to { font-size:14px; color:var(--muted); min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ib-bar .live { margin-left:auto; display:inline-flex; align-items:center; gap:8px; font-size:14px; color:var(--muted); white-space:nowrap; }
.ib-bar .live i { width:8px; height:8px; border-radius:var(--r-p); background:var(--primary); box-shadow:0 0 0 4px var(--primary-soft); }
.ib-bar .chipbtn { flex:none; }
.ib-body { display:grid; grid-template-columns:380px minmax(0,1fr); height:600px; }
.list { border-right:1px solid var(--line); display:flex; flex-direction:column; background:var(--mist); min-height:0; overflow:auto; }
.row { height:76px; min-height:76px; flex:none; width:100%; display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:12px; align-items:center; padding:0 20px; border:0; border-bottom:1px solid var(--line); background:var(--mist); color:var(--ink); text-align:left; }
.row.is-active { background:var(--paper); color:var(--ink); box-shadow:inset 3px 0 0 var(--primary); }
.row:hover { background:var(--mist2); color:var(--ink); }
.row .who { font-size:14px; font-weight:700; color:var(--ink); line-height:1.4; display:flex; align-items:center; gap:8px; }
.row .sub { display:block; font-size:14px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.5; }
.row .t { font-size:12px; color:var(--faint); align-self:center; }
.row>span,.row>div { min-width:0; }
.sender-mark { width:40px; height:40px; flex:none; display:inline-flex; align-items:center; justify-content:center; border-radius:var(--r-s); background:var(--primary-soft); color:var(--primary-dark); font-size:16px; font-weight:700; }
.demo { display:inline-flex; align-items:center; height:20px; padding:0 8px; border-radius:var(--r-p); background:var(--warm); color:var(--warm-ink); font-size:12px; font-weight:500; letter-spacing:0; flex:none; }
.list-foot { margin-top:auto; padding:24px 20px; display:flex; align-items:center; gap:16px; font-size:12px; color:var(--faint); line-height:1.6; }
.list-foot svg { flex:none; }
.read { display:flex; flex-direction:column; min-width:0; min-height:0; overflow:auto; background:var(--paper); color:var(--ink); }
.rd-head { padding:24px 32px 20px; border-bottom:1px solid var(--line); }
.rd-head .subj { font-size:20px; font-weight:700; color:var(--ink); letter-spacing:-.01em; line-height:1.35; margin-bottom:16px; overflow-wrap:anywhere; }
.rd-from { display:flex; align-items:center; gap:12px; }
.rd-from .n { font-size:14px; color:var(--ink); font-weight:500; display:flex; gap:8px; align-items:center; }
.rd-from .a { font-size:14px; color:var(--muted); }
.rd-from .a .mono { font-size:14px; color:var(--text); }
.rd-from .t { margin-left:auto; font-size:14px; color:var(--faint); white-space:nowrap; }
.rd-body { flex:1; padding:24px 32px; background:var(--mist); overflow:auto; min-height:0; }
.rd-body iframe,.archive-body iframe { display:block; width:100%; min-height:320px; border:0; background:var(--paper); color:var(--ink); }
.rd-body pre,.archive-body pre { white-space:pre-wrap; overflow-wrap:anywhere; font-family:var(--mono); font-size:14px; color:var(--ink); background:var(--paper); padding:20px; }
.tt { width:min(560px,100%); background:var(--demo-dark); border-radius:var(--r-s); padding:32px 40px; color:var(--demo-text); }
.tt .mk { display:flex; align-items:center; gap:8px; font-size:16px; font-weight:700; color:var(--paper); letter-spacing:0; margin-bottom:24px; min-height:24px; line-height:1.15; }
.tt h4 { font-size:20px; color:var(--paper); font-weight:700; margin-bottom:8px; }
.tt p { font-size:14px; line-height:1.7; color:var(--demo-muted); }
.tt p .mono { color:var(--demo-light); }
.code { margin:20px 0; display:flex; align-items:center; justify-content:space-between; gap:12px; background:var(--demo-panel); border-radius:var(--r-s); padding:16px 24px; border-left:3px solid var(--demo-cyan); }
.code .mono { font-size:28px; font-weight:700; color:var(--paper); letter-spacing:.24em; }
.code span { font-size:12px; color:var(--demo-pink); font-weight:500; }
.disc { margin-top:16px; font-size:12px; color:var(--faint); }
.rd-act { min-height:64px; border-top:1px solid var(--line); display:flex; align-items:center; gap:12px; padding:12px 32px; flex-wrap:wrap; }
.rd-act .note { margin-left:auto; font-size:12px; color:var(--faint); }
.reader-mobile-actions { display:none; }
.is-real .demo-pill,.is-real [data-demo-brand] { display:none; }
.hero-inbox { padding-bottom:96px; }
section { padding:112px 0; }
.center { text-align:center; }
.center .lead { max-width:660px; margin:20px auto 0; }
.center .actions { justify-content:center; }
.perks { background:var(--paper); padding-top:32px; }
.perk-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:64px; }
.perk { background:var(--mist); border-radius:var(--r-m); overflow:hidden; }
.perk img { width:100%; height:360px; object-fit:cover; }
.perk .tx { padding:32px 40px 40px; }
.perk h3 { font-size:var(--card-title); line-height:1.3; margin:20px 0 12px; }
.perk p { color:var(--muted); font-size:16px; }
.perk .facts { display:flex; gap:32px; margin-top:24px; padding-top:24px; border-top:1px solid var(--line); }
.perk .facts b { display:block; font-size:var(--card-title); color:var(--ink); font-weight:700; letter-spacing:-.02em; line-height:1.2; }
.perk .facts span { font-size:14px; color:var(--muted); }
.real { margin-top:24px; background:var(--warm); border-radius:var(--r-m); padding:48px; display:grid; grid-template-columns:400px minmax(0,1fr); gap:64px; align-items:center; }
.real h3 { font-size:var(--card-title); line-height:1.3; margin:20px 0 12px; }
.real p { color:var(--warm-ink); }
.real .eyebrow { color:var(--stamp); }
.cmp { display:grid; grid-template-columns:1fr 1fr; gap:16px; min-width:0; }
.cmp>div { background:var(--paper); border-radius:var(--r-s); padding:24px; min-width:0; overflow:auto; }
.cmp h4 { font-size:14px; font-weight:500; color:var(--muted); margin-bottom:12px; }
.cmp ul { list-style:none; display:grid; gap:8px; }
.cmp li { font-family:var(--mono); font-size:16px; color:var(--ink); white-space:nowrap; letter-spacing:0; }
.cmp .bad li { color:var(--faint); text-decoration:line-through; text-decoration-color:var(--warm-strike); }
.fwd { background:var(--mist); padding:112px 0; }
.fwd-panel { background:var(--paper); border-radius:var(--r-m); display:grid; grid-template-columns:minmax(0,1fr) 600px; overflow:hidden; }
.fwd-tx { padding:72px 64px 72px 80px; }
.fwd-tx h2 { font-size:var(--h2); margin:20px 0; }
.fwd-tx>p { color:var(--muted); max-width:440px; }
.steps { list-style:none; margin:32px 0 40px; display:grid; gap:20px; max-width:460px; }
.steps li { display:grid; grid-template-columns:40px minmax(0,1fr); gap:16px; }
.steps .dot { width:40px; height:40px; border-radius:var(--r-p); background:var(--primary-soft); color:var(--primary); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; }
.steps b { display:block; color:var(--ink); font-size:16px; font-weight:500; }
.steps span { font-size:14px; color:var(--muted); }
.fwd-btns { display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.fwd-btns .lnk { font-size:14px; color:var(--ink); text-decoration:underline; text-underline-offset:4px; }
.fwd-art { background:var(--mist2); padding:64px 56px; display:flex; flex-direction:column; justify-content:center; gap:16px; min-width:0; }
.desk { background:var(--paper); border-radius:var(--r-m); overflow:hidden; box-shadow:0 20px 40px -24px rgba(var(--shadow-ink),.3); }
.desk-h { display:flex; align-items:center; padding:20px 24px; border-bottom:1px solid var(--line); }
.desk-h b { font-size:16px; color:var(--ink); }
.desk-h span { margin-left:auto; font-size:14px; color:var(--muted); }
.desk-h span b { font-size:14px; color:var(--primary); }
.meter { height:4px; background:var(--mist2); }
.meter i { display:block; width:4%; height:100%; background:var(--primary); }
.al { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 12px; padding:16px 24px; border-bottom:1px solid var(--line); }
.al:last-child { border-bottom:0; }
.al .mono { font-size:14px; color:var(--ink); white-space:nowrap; }
.al .tg { font-size:12px; color:var(--muted); background:var(--mist); border-radius:var(--r-p); padding:0 10px; align-self:center; line-height:22px; }
.al .to { grid-column:1/-1; font-size:12px; color:var(--faint); display:flex; align-items:center; gap:8px; }
.relay-toast { align-self:flex-end; display:flex; align-items:center; gap:12px; background:var(--ink); color:var(--paper); border-radius:var(--r-m); padding:12px 20px; font-size:14px; margin-right:-24px; }
.relay-toast span { color:var(--dark-muted); font-size:12px; display:block; }
.line-sec { background:var(--warm); }
.line-head { display:flex; align-items:end; justify-content:space-between; gap:40px; }
.line-head h2 { max-width:620px; }
.line-head p { max-width:420px; color:var(--warm-ink); }
.tl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin-top:64px; position:relative; }
.tl::before { content:""; position:absolute; left:44px; right:44px; top:44px; border-top:1px dashed var(--warm-dash); }
.tl li { list-style:none; position:relative; }
.pm { width:88px; height:88px; border-radius:var(--r-p); background:var(--warm); display:flex; align-items:center; justify-content:center; position:relative; }
.tl h3 { margin:24px 0 8px; font-size:20px; }
.tl p { font-size:var(--body); color:var(--warm-ink); line-height:1.7; }
.tl .when { font-size:14px; font-weight:500; color:var(--stamp); margin-top:24px; display:block; }
.tl .when-primary { color:var(--primary); }
.tl .when+h3 { margin-top:4px; }
.line-more { margin-top:48px; display:inline-flex; align-items:center; gap:8px; font-size:16px; font-weight:500; color:var(--ink); border-bottom:1px solid var(--ink); padding-bottom:2px; }
.faq { background:var(--paper); }
.faq .wrap { display:grid; grid-template-columns:380px minmax(0,1fr); gap:96px; }
.faq aside p { color:var(--muted); margin-top:20px; }
.faq aside a.mail { display:inline-block; margin-top:24px; font-family:var(--mono); font-size:16px; color:var(--primary); letter-spacing:0; border-bottom:1px solid currentColor; }
.faq details { border-bottom:1px solid var(--line); }
.faq details:first-child { border-top:1px solid var(--line); }
summary { list-style:none; cursor:pointer; }
summary::-webkit-details-marker { display:none; }
.faq summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:24px 0; font-size:20px; font-weight:500; color:var(--ink); }
.faq summary .pl { width:32px; height:32px; border-radius:var(--r-p); background:var(--mist2); display:flex; align-items:center; justify-content:center; flex:none; transition:background .2s; }
.faq details[open] summary .pl { background:var(--primary); color:var(--paper); }
.faq details[open] summary .pl path { stroke:var(--paper); }
.faq details[open] summary .pl .v { display:none; }
.faq details p { padding:0 64px 24px 0; color:var(--muted); font-size:16px; }
.cta { background:var(--dark); color:var(--dark-text); padding:96px 0; }
.cta .wrap { display:grid; grid-template-columns:minmax(0,1fr) 440px; gap:64px; align-items:center; }
.cta h2 { color:var(--paper); }
.cta p { color:var(--dark-muted); font-size:20px; margin:20px 0 40px; max-width:560px; }
.cta .btns { display:flex; gap:16px; flex-wrap:wrap; }
.cta .btn-primary { background:var(--mint); color:var(--ink); }
.cta .btn-primary:hover { background:var(--mint-hover); color:var(--ink); }
.cta .btn-line { background:transparent; border-color:var(--dark-border); color:var(--paper); }
.cta .btn-line:hover { background:var(--paper); color:var(--ink); border-color:var(--paper); }
.ticket { background:var(--dark-card); color:var(--dark-text); border-radius:var(--r-m); padding:32px; border:1px solid var(--dark-line); min-width:0; }
.ticket .tk-h { display:flex; justify-content:space-between; align-items:center; font-size:14px; color:var(--dark-muted); padding-bottom:20px; border-bottom:1px dashed var(--dark-dash); }
.ticket .tk-a { font-family:var(--mono); font-size:20px; color:var(--paper); letter-spacing:0; white-space:nowrap; margin:20px 0 8px; overflow:auto; }
.ticket .tk-r { display:flex; justify-content:space-between; font-size:14px; padding:8px 0; color:var(--dark-muted); }
.ticket .tk-r b { color:var(--paper); font-weight:500; }
footer { background:var(--mist); padding:72px 0 40px; }
.ft { display:grid; grid-template-columns:1.4fr 2fr 1fr; gap:48px; align-items:start; }
.ft .about p { font-size:14px; color:var(--muted); margin-top:16px; }
.ft .about a.mail { display:inline-flex; margin-top:16px; font-size:14px; color:var(--ink); background:var(--paper); font-family:var(--mono); letter-spacing:0; border:1px solid var(--line); border-radius:var(--r-p); padding:8px 16px; max-width:100%; overflow-wrap:anywhere; }
.ft .about a.mail:hover { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.ft h4,.ft .footer-heading { display:block; font-size:14px; font-weight:500; color:var(--faint); margin-bottom:16px; }
.ft ul { list-style:none; display:grid; gap:12px; min-width:0; }
.ft li a { font-size:14px; color:var(--text); overflow-wrap:anywhere; }
.ft li a:hover { color:var(--primary); }
.footer-reading { margin-top:24px; }
.ft-bot { margin-top:64px; padding-top:24px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:24px; font-size:12px; color:var(--faint); }
.toast { position:fixed; bottom:24px; left:50%; z-index:140; width:max-content; max-width:min(430px,calc(100% - 32px)); padding:14px 20px; border-radius:var(--r-m); background:var(--ink); color:var(--paper); box-shadow:0 12px 32px -16px rgba(var(--shadow-ink),.3); font-size:14px; line-height:1.5; opacity:0; visibility:hidden; transform:translate(-50%,12px); transition:opacity .2s,transform .2s,visibility .2s; pointer-events:none; overflow-wrap:anywhere; }
.toast.show { opacity:1; visibility:visible; transform:translate(-50%,0); }
.surface,.login-card,.surface-safety { padding:32px; border-radius:var(--r-m); background:var(--paper); color:var(--ink); border:1px solid var(--line); }
.surface-muted { background:var(--mist); color:var(--ink); }
.surface-warm { background:var(--warm); color:var(--warm-ink); }
.field { display:grid; gap:8px; font-size:14px; color:var(--ink); }
input,textarea { min-width:0; width:100%; font-size:14px; background:var(--paper); color:var(--ink); border:1px solid var(--soft-line); border-radius:var(--r-p); padding:12px 16px; min-height:48px; }
input::placeholder,textarea::placeholder { font-size:14px; color:var(--muted); opacity:1; }
textarea { border-radius:var(--r-m); min-height:120px; resize:vertical; }
.form-stack { display:grid; gap:20px; }
.form-notice { margin:12px 0; padding:12px 16px; background:var(--mist2); color:var(--ink); border-radius:var(--r-s); font-size:14px; }
.form-error { color:var(--stamp); font-size:14px; }
.table-scroll { overflow-x:auto; margin:24px 0 32px; }
table { width:100%; border-collapse:collapse; font-size:14px; text-align:left; }
th,td { padding:16px; border-bottom:1px solid var(--line); vertical-align:middle; }
th { background:var(--mist); color:var(--muted); font-weight:500; }
.status-pill { display:inline-flex; align-items:center; gap:8px; width:fit-content; margin:0; padding:4px 12px; border-radius:var(--r-p); font-size:12px; line-height:1.5; background:var(--primary-soft); color:var(--primary-dark); }
.status-pill.is-idle { background:var(--warm); color:var(--warm-ink); border:1px solid var(--warm-border); }
.empty-state { height:auto; min-height:0; width:min(420px,calc(100% - 32px)); margin:16px auto; padding:20px; border:1px solid var(--line); border-radius:var(--r-m); background:var(--paper); color:var(--ink); text-align:center; }
.empty-state h3 { font-size:18px; margin-bottom:8px; }
.empty-state p { font-size:14px; color:var(--muted); }
.alias-empty { width:100%; margin:24px 0 0; text-align:left; }
.empty-host { display:grid; place-items:center; }
.filter { position:relative; display:inline-flex; }
.filter-trigger { position:relative; width:auto; margin-block:16px; padding:8px 32px 8px 16px; min-height:40px; background:var(--paper); color:var(--ink); border:1px solid var(--soft-line); border-radius:var(--r-p); font-size:var(--small); display:inline-flex; align-items:center; }
.filter-trigger .chevron { right:14px; }
.filter-menu { left:0; right:auto; min-width:220px; border-color:var(--soft-line); }
.modal-backdrop { position:fixed; inset:0; z-index:100; background:rgba(var(--shadow-ink),.48); display:grid; place-items:center; padding:24px; }
.modal { width:min(420px,100%); max-height:calc(100dvh - 48px); overflow:auto; background:var(--paper); color:var(--ink); border-radius:var(--r-m); padding:32px; }
.modal h2,.modal h3 { font-size:var(--h3); line-height:1.35; margin:12px 0 16px; }
.modal>svg { display:block; width:32px; height:32px; }
.modal p { font-size:14px; color:var(--muted); }
.modal .actions { margin-top:24px; justify-content:flex-end; }
[data-auth-split] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px; align-items:start; padding-top:64px; padding-bottom:96px; }
[data-auth-story] h1 { font-size:var(--h1); line-height:1.25; margin:20px 0; }
[data-auth-story] p { color:var(--muted); }
[data-auth-panel] { min-width:0; }
.login-card { background:var(--warm); color:var(--ink); padding:40px; }
.login-card h2 { font-size:var(--card-title); margin-bottom:24px; }
.login-card .actions { margin-top:24px; }
.login-card input { background:var(--paper); color:var(--ink); }
.auth-code-pane { display:grid; gap:20px; }
.auth-code-pane .form-notice { margin:12px 0; }
.desk-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:32px; padding:48px 0 96px; }
.desk-identity { display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; padding:40px 0 24px; }
.desk-identity h1 { font-size:var(--card-title); line-height:1.3; }
[data-session-email] { font-size:14px; color:var(--muted); overflow-wrap:anywhere; }
.alias-panel { background:var(--mist); color:var(--ink); border-radius:var(--r-m); padding:32px; min-width:0; }
.alias-compose { display:flex; gap:12px; align-items:center; margin-top:24px; }
.prefix-group { display:flex; min-width:0; flex:1; align-items:center; gap:8px; padding-right:16px; border:1px solid var(--soft-line); border-radius:var(--r-p); background:var(--paper); color:var(--ink); }
.prefix-group:focus-within { border-color:var(--ink); box-shadow:inset 0 0 0 1px var(--ink); }
.prefix-group input { min-width:0; padding-left:16px; border:0; background:transparent; color:var(--ink); }
.prefix-group input:focus { border:0; box-shadow:none; }
.prefix-suffix { font-size:14px; white-space:nowrap; color:var(--muted); }
.alias-compose .btn { font-size:14px; min-height:48px; flex:none; }
.alias-compose button[type="submit"] { min-width:108px; }
.alias-list { display:grid; margin-top:24px; gap:12px; }
.alias-row { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:16px; background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:var(--r-m); }
.alias-address { font-family:var(--mono); font-size:14px; overflow-wrap:anywhere; min-width:0; flex:1; }
.alias-row .actions { flex:none; }
.archive-panel { min-width:0; }
.archive-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; }
.archive-panel h2,.alias-panel h2,.surface-safety h2 { font-size:24px; line-height:1.35; }
.archive-list { display:grid; gap:12px; }
.archive-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 16px; width:100%; padding:16px; background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:var(--r-m); text-align:left; font-size:14px; }
.archive-row .archive-subject { grid-column:1/-1; font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.archive-sender { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.archive-meta { display:flex; align-items:center; gap:8px; white-space:nowrap; font-size:12px; }
.archive-panel .empty-state { width:100%; margin:0; }
.archive-detail { padding:24px; border:1px solid var(--line); border-radius:var(--r-m); background:var(--paper); color:var(--ink); min-width:0; margin-top:24px; }
.archive-detail-head { display:flex; align-items:flex-start; gap:16px; justify-content:space-between; margin-bottom:24px; }
.archive-detail-head h3 { font-size:20px; overflow-wrap:anywhere; }
.archive-detail-head .actions { align-items:center; flex:none; }
.archive-detail-head button { align-self:flex-start; }
.archive-body { overflow:auto; }
.surface-safety { grid-column:1/-1; background:var(--warm); color:var(--ink); border-color:var(--warm-line); }
.twofa-idle { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px; }
.twofa-status { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.twofa-idle .btn { align-self:center; flex:none; }
.twofa-steps { display:flex; flex-wrap:wrap; gap:24px; margin-top:24px; list-style:none; font-size:14px; }
.twofa-steps li { display:flex; align-items:center; gap:12px; }
.step-number { width:32px; height:32px; display:inline-flex; align-items:center; justify-content:center; border-radius:var(--r-p); border:1px solid var(--warm-border); color:var(--warm-ink); flex:none; }
[data-twofa-setup] { margin-top:24px; margin-bottom:24px; }
.setup-grid { display:grid; grid-template-columns:192px minmax(0,1fr); gap:32px; align-items:start; }
[data-twofa-qr] { width:192px; height:192px; aspect-ratio:1; background:var(--paper); object-fit:contain; padding:8px; border-radius:var(--r-s); }
.secret-row { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:16px 0 24px; }
.twofa-secret { color:var(--ink); font-family:var(--mono); font-size:14px; overflow-wrap:anywhere; }
.secret-row .btn { width:auto; flex:none; white-space:nowrap; }
.form-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.form-actions input { width:160px; }
.form-actions .btn { margin:0; min-height:48px; }
.article-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:64px; width:min(1080px,calc(100% - 48px)); margin:0 auto; padding:64px 0 96px; }
.article-hero { padding:48px 0 40px; background:var(--mist); }
.article-hero .breadcrumbs { font-size:14px; color:var(--muted); margin-bottom:24px; }
.article-hero h1 { font-size:var(--h1); line-height:1.25; max-width:900px; }
.article-hero .lead { margin-top:20px; max-width:780px; }
.toc { position:sticky; top:calc(var(--header-h) + 16px); align-self:start; padding:24px; border:1px solid var(--line); border-radius:var(--r-m); background:var(--mist); color:var(--ink); font-size:14px; }
.toc ol { padding-left:20px; margin-top:16px; }
.toc li+li { margin-top:8px; }
.toc-count { display:block; margin-top:16px; font-size:12px; color:var(--muted); }
.prose { min-width:0; font-size:16px; line-height:1.85; }
.prose h2 { font-size:var(--card-title); line-height:1.35; margin:40px 0 20px; }
.prose h3 { font-size:20px; line-height:1.4; margin:32px 0 16px; }
.prose p,.prose ul,.prose ol { margin-bottom:20px; }
.prose ul,.prose ol { padding-left:24px; }
.prose a:not(.btn) { color:var(--primary-dark); text-decoration:underline; text-underline-offset:3px; }
.prose .btn-primary { color:var(--paper); background:var(--primary); }
.prose .surface { margin:24px 0 32px; }
.article-cta { margin-top:48px; padding:32px; background:var(--ink); color:var(--dark-text); border-radius:var(--r-m); }
.article-cta h2 { margin:0 0 20px; color:var(--paper); font-size:var(--card-title); }
.article-cta .actions { margin-top:28px; }
.recommend-float { position:fixed; right:24px; bottom:24px; z-index:60; width:min(340px,calc(100% - 48px)); border:1px solid var(--line); border-radius:var(--r-m); background:var(--paper); color:var(--ink); box-shadow:0 16px 40px -20px rgba(var(--shadow-ink),.3); overflow:hidden; }
.recommend-float img { width:100%; height:140px; object-fit:cover; }
.recommend-float-content { padding:24px; }
.recommend-float h3 { font-size:18px; padding-right:24px; }
.recommend-float p { margin:12px 0 20px; font-size:14px; color:var(--muted); }
.recommend-float .btn { max-width:100%; height:auto; min-height:40px; padding:10px 16px; white-space:normal; }
.float-close { position:absolute; right:12px; top:12px; width:32px; height:32px; display:flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:var(--r-p); background:var(--paper); color:var(--ink); }
.blog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:40px; }
.blog-card { display:flex; flex-direction:column; padding:32px; border:1px solid var(--line); border-radius:var(--r-m); background:var(--paper); color:var(--ink); }
.blog-card:hover { border-color:var(--primary); background:var(--mist); color:var(--ink); }
.blog-card h2 { font-size:24px; margin:20px 0 12px; }
.blog-card time { display:block; margin-top:16px; font-size:14px; color:var(--muted); }
body.reader-open { overflow:hidden; }
@media (max-width:1100px) {
  nav.main { margin-left:40px; gap:24px; }
  .head-right { gap:8px; }
  .head-right>.btn { padding:0 14px; }
  .language { margin-left:0; }
  .hero-top { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; }
  .hero h1 { font-size:var(--h1); }
  .trust { gap:8px; }
  .ib-body { grid-template-columns:34% minmax(0,1fr); }
  .row { padding:0 16px; gap:8px; }
  .row .t { font-size:12px; }
  .real { grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:32px; padding:32px; }
  .cmp { grid-template-columns:1fr; }
  .fwd-panel { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fwd-tx { padding:48px 32px; }
  .fwd-art { padding:48px 32px; }
  .fwd-tx h2 { font-size:var(--h2); }
  .al { padding:16px; }
  .al .mono { white-space:normal; overflow-wrap:anywhere; }
  .faq .wrap { grid-template-columns:300px minmax(0,1fr); gap:48px; }
  .cta .wrap { grid-template-columns:minmax(0,1fr) 380px; gap:40px; }
  .alias-compose { flex-wrap:wrap; }
  .prefix-group { flex-basis:100%; }
}
@media (max-width:960px) {
  [data-auth-split] { grid-template-columns:minmax(0,1fr); gap:40px; }
  [data-auth-panel] { grid-row:1; }
  [data-auth-story] { grid-row:2; }
}
@media (max-width:860px) {
  :root { --h1:32px; --h2:32px; --header-h:72px; }
  .strip .wrap { min-height:40px; }
  .strip .stampart { display:none; }
  .strip a { gap:8px; }
  .strip .sub { font-size:13px; }
  .site .header-inner { gap:16px; }
  nav.main { display:none; }
  .nav-toggle { display:inline-flex; order:-1; }
  .head-right { margin-left:auto; }
  .header-product { display:none !important; }
  .hero { padding-top:0; }
  .hero-top { padding-top:48px; grid-template-columns:minmax(0,1fr); gap:40px; }
  .hero h1 { font-size:var(--h1); }
  .hero-art { max-height:420px; }
  .hero-art .art-photo { height:420px; }
  .hero-top>.hero-copy { max-width:620px; }
  .hero-art .float-card { margin:24px; }
  .ib-bar { flex-wrap:wrap; gap:12px; }
  .ib-bar .to { flex:1; }
  .ib-bar .live { margin-left:0; }
  .ib-body { grid-template-columns:minmax(0,1fr); height:auto; min-height:0; }
  .list { border-right:0; min-height:260px; max-height:440px; }
  .read { display:none; }
  .reader-mobile-actions { position:sticky; top:0; z-index:2; min-height:64px; padding:12px 20px; display:flex; align-items:center; justify-content:space-between; gap:12px; background:var(--paper); color:var(--ink); border-bottom:1px solid var(--line); }
  .read.mobile-reader { position:fixed; z-index:90; top:var(--header-h); left:0; right:0; height:calc(100dvh - var(--header-h)); max-height:calc(100dvh - var(--header-h)); display:flex; background:var(--paper); color:var(--ink); overflow:auto; }
  .mobile-reader .rd-body { flex:1 0 auto; overflow:visible; }
  .mobile-reader .rd-act { flex:none; }
  .hero,.hero-top,.hero-inbox,.inbox,.ib-body { transform:none; animation:none; }
  body.reader-open .hero-art,body.reader-open .stampart { visibility:hidden; }
  .hero-inbox { padding-bottom:64px; }
  section,.fwd { padding:72px 0; }
  .perk-grid { margin-top:40px; gap:20px; }
  .perk img { height:280px; }
  .perk .tx { padding:24px; }
  .perk h3 { font-size:24px; }
  .perk .facts { gap:20px; flex-wrap:wrap; }
  .perk .facts b { font-size:24px; }
  .real { grid-template-columns:minmax(0,1fr); }
  .cmp { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fwd-panel { grid-template-columns:minmax(0,1fr); }
  .fwd-tx { padding:40px; }
  .fwd-art { padding:40px; }
  .relay-toast { margin-right:0; }
  .line-head { display:grid; gap:24px; }
  .line-head p { max-width:620px; }
  .tl { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:40px; }
  .tl::before { display:none; }
  .faq .wrap { grid-template-columns:minmax(0,1fr); gap:40px; }
  .cta .wrap { grid-template-columns:minmax(0,1fr); gap:40px; }
  .ticket { max-width:500px; }
  .ft { gap:32px; grid-template-columns:1.4fr 1fr 1fr; }
  .ft-bot { flex-direction:column; gap:12px; margin-top:40px; }
  .desk-layout { grid-template-columns:minmax(0,1fr); }
  .article-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
  .toc { position:static; }
  .article-hero h1 { font-size:var(--h1); }
  .article-layout { padding-top:40px; }
}
@media (max-width:560px) {
  :root { --h1:32px; --h2:32px; --header-h:64px; }
  .wrap,.inbox { width:calc(100% - 32px); }
  .strip .wrap { min-height:40px; padding:0; }
  .strip a { display:flex; width:100%; gap:8px; }
  .strip .title { font-size:13px; }
  .strip .sub { display:none; }
  .site .header-inner { gap:10px; }
  .brand { font-size:18px; gap:8px; }
  .brand img { width:28px; height:28px; }
  .head-right { gap:8px; }
  .head-right .header-login { min-height:36px; padding:0 12px; font-size:12px; }
  .language { margin:0; }
  .lang { width:38px; min-height:36px; padding:8px 16px 8px 0; background:var(--paper); color:var(--ink); }
  .lang .lang-label { display:none; }
  .lang-globe { display:block; }
  .lang .chevron { right:0; }
  .language { order:-1; }
  .nav-toggle { width:36px; height:36px; flex:none; }
  .nav-drawer { left:16px; width:min(340px,calc(100% - 32px)); }
  .x-full { display:none; }
  .x-short { display:inline; }
  .hero-top { padding-top:32px; padding-bottom:32px; gap:32px; }
  .trust { font-size:12px; gap:8px; }
  .trust i { height:12px; }
  .hero h1 { font-size:var(--h1); margin-top:24px; }
  .hero .ask { font-size:18px; }
  .seg { gap:8px; }
  .seg label,.seg .mode-option { font-size:14px; min-height:96px; padding:12px 8px; }
  .pane { padding:16px; }
  .addr { padding-left:12px; }
  .addr .mono { font-size:var(--body); }
  .addr .btn { padding:0 12px; }
  .meta { font-size:12px; gap:12px; }
  .meta .act { width:100%; margin-left:0; }
  .meta .chipbtn { flex:1; }
  .hero-art .art-photo { height:360px; }
  .hero-art .float-card { margin:16px; width:260px; padding:16px; }
  .hero-art .float-note { width:244px; padding:12px; }
  .ib-bar { padding:16px; gap:12px; }
  .ib-bar .to { order:4; flex-basis:100%; }
  .ib-bar .live { margin-left:auto; font-size:12px; }
  .ib-bar .chipbtn { padding:0 12px; }
  .row { padding:0 16px; height:76px; min-height:76px; grid-template-columns:40px minmax(0,1fr) auto; }
  .row .t { font-size:var(--caption); }
  .list-foot { padding:20px 16px; }
  .rd-head { padding:24px 20px; }
  .rd-from { flex-wrap:wrap; }
  .rd-from .t { font-size:12px; margin-left:0; }
  .rd-from .a .mono { font-size:12px; }
  .rd-body { padding:20px; }
  .tt { padding:24px 20px; }
  .code { padding:16px 12px; flex-wrap:wrap; }
  .code .mono { font-size:var(--card-title); }
  .rd-act { padding:16px 20px; gap:12px; }
  .rd-act .note { width:100%; margin-left:0; }
  .hero-inbox { padding-bottom:48px; }
  .perks { padding-top:24px; }
  section,.fwd { padding:56px 0; }
  .lead { font-size:18px; }
  .perk-grid { grid-template-columns:minmax(0,1fr); margin-top:32px; }
  .perk img { height:280px; }
  .perk .tx { padding:24px; }
  .real { padding:24px; gap:24px; }
  .real h3 { font-size:24px; }
  .cmp { grid-template-columns:minmax(0,1fr); }
  .cmp>div { padding:20px; }
  .cmp li { font-size:14px; }
  .fwd-tx { padding:32px 24px; }
  .fwd-tx h2 { font-size:var(--h2); }
  .fwd-art { padding:24px; }
  .al { grid-template-columns:minmax(0,1fr); }
  .al .tg { justify-self:start; }
  .al .mono { overflow-wrap:anywhere; }
  .relay-toast { max-width:100%; font-size:var(--small); padding:12px; }
  .relay-toast svg { flex:none; }
  .tl { grid-template-columns:minmax(0,1fr); margin-top:32px; gap:32px; }
  .tl li { display:grid; grid-template-columns:72px minmax(0,1fr); column-gap:20px; }
  .tl .pm { grid-row:1/4; width:72px; height:72px; }
  .tl .pm svg { width:72px; height:72px; }
  .tl .when { margin-top:0; }
  .tl h3 { font-size:18px; }
  .tl p { grid-column:2; font-size:14px; }
  .line-more { margin-top:32px; font-size:14px; }
  .faq summary { font-size:18px; gap:12px; padding:20px 0; }
  .faq details p { padding-right:0; }
  .faq aside a.mail { font-size:14px; }
  .cta { padding:56px 0; }
  .cta p { font-size:18px; margin-bottom:28px; }
  .cta .btns { flex-direction:column; align-items:stretch; }
  .cta .btn { padding:12px 20px; }
  .ticket { padding:24px; }
  .ticket .tk-a { font-size:16px; }
  footer { padding:48px 0 32px; }
  .ft { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; }
  .ft .about { grid-column:1/-1; }
  .ft .about a.mail { font-size:var(--small); }
  .ft-bot { margin-top:32px; }
  .surface,.login-card,.surface-safety,.alias-panel { padding:24px; }
  [data-auth-split] { padding-top:32px; gap:32px; }
  [data-auth-story] h1 { font-size:var(--h1); }
  .login-card h2 { font-size:24px; }
  .desk-layout { padding-top:24px; gap:24px; }
  .desk-identity { padding-top:32px; }
  .desk-identity .btn { white-space:normal; }
  .alias-compose { display:grid; grid-template-columns:minmax(0,1fr); }
  .prefix-group { flex-wrap:wrap; }
  .prefix-group input { flex-basis:100%; }
  .alias-compose .btn { width:100%; }
  .alias-row { display:grid; grid-template-columns:minmax(0,1fr); }
  .alias-address { width:100%; }
  .alias-row .actions { flex-wrap:wrap; }
  .archive-row { grid-template-columns:minmax(0,1fr); }
  .archive-meta { flex-wrap:wrap; white-space:normal; }
  .archive-detail { padding:20px; }
  .archive-detail-head { flex-wrap:wrap; }
  .twofa-idle { align-items:flex-start; }
  .twofa-status { flex-wrap:wrap; }
  .setup-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
  .form-actions input { width:100%; }
  .twofa-steps { display:grid; gap:16px; }
  .article-layout { width:calc(100% - 32px); }
  .article-hero { padding:32px 0; }
  .article-hero h1 { font-size:var(--h1); }
  .prose h2 { font-size:24px; }
  .prose h3 { font-size:18px; }
  .blog-grid { grid-template-columns:minmax(0,1fr); }
  .recommend-float { right:16px; bottom:16px; width:calc(100% - 32px); }
  .modal { padding:24px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none !important; animation:none !important; }
}


/* Mail engine states */
.unread-dot { display:inline-block; width:6px; height:6px; flex:none; border-radius:var(--r-p); background:var(--primary); color:var(--primary); }
.row .who { min-width:0; flex-wrap:nowrap; }
.row .who .unread-dot { margin-left:2px; }
.row.is-unread .sub { color:var(--text); }
[data-mail-list] { min-height:0; }
[data-mail-list].empty-host { flex:1; }
[data-reader].is-empty .rd-head,[data-reader].is-empty .rd-act { display:none; }
[data-reader].is-empty .rd-body { display:grid; place-items:center; }
[data-reader].is-empty [data-mobile-delete] { visibility:hidden; }
[data-mailbox-ui].address-highlight { outline:2px solid var(--primary); outline-offset:5px; }
.rd-body iframe { max-width:100%; }
.rd-body>.form-notice { margin:0 0 16px; }

/* Access */
.access-ground { background:var(--mist); color:var(--ink); }
.access-postmark { grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:64px; align-items:center; }
.access-story { min-width:0; padding-right:8px; }
.access-story>.section-intro { max-width:520px; font-size:16px; line-height:1.85; }
.access-story .eyebrow { margin-bottom:20px; }
.access-story h1 { letter-spacing:-.02em; line-height:1.28; }
.access-letter { display:grid; grid-template-columns:64px minmax(0,1fr); gap:20px; padding:24px; margin-top:32px; border-radius:var(--r-m); background:var(--paper); color:var(--ink); }
.access-seal { width:64px; height:64px; color:var(--stamp); }
.access-letter h2 { font-size:18px; line-height:1.5; }
.access-letter p { margin-top:12px; font-size:14px; line-height:1.8; }
.access-letter .mono { overflow-wrap:anywhere; }
.access-promises { display:grid; gap:20px; list-style:none; margin-top:32px; }
.access-promises li { display:grid; grid-template-columns:128px minmax(0,1fr); gap:16px; font-size:14px; }
.access-promises b { font-weight:500; color:var(--ink); }
.access-promises span { color:var(--muted); }
.access-story .line-more { margin-top:28px; font-size:14px; }
.access-panel { min-width:0; align-self:start; padding-top:8px; }
.access-card { border-color:var(--warm-line); box-shadow:0 24px 48px -36px rgba(var(--shadow-ink),.3); }
.access-card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:28px; }
.access-card-top .status-pill { background:var(--paper); color:var(--primary-dark); }
.access-card-caption { font-size:12px; color:var(--warm-ink); }
.access-card h2 { font-size:var(--card-title); line-height:1.4; margin-bottom:20px; }
.access-form-intro { margin-bottom:24px; font-size:16px; color:var(--warm-ink); }
.access-card .form-stack { gap:20px; }
.access-card .field { gap:10px; }
.access-card input { font-size:14px; border-color:var(--warm-border); }
.access-card .btn { min-height:48px; }
.access-card .btn-line { background:var(--paper); color:var(--ink); border-color:var(--warm-border); }
.access-card .btn-line:hover { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.access-card .auth-code-pane>.actions { margin-top:0; }
.access-card .form-notice { margin:12px 0; background:var(--paper); color:var(--ink); }
.access-card .form-notice b { display:inline; overflow-wrap:anywhere; font-size:14px; font-weight:500; }
.access-smallprint { margin-top:24px; font-size:12px; color:var(--warm-ink); line-height:1.85; }
.access-smallprint a { text-decoration:underline; text-underline-offset:3px; }
.access-card .form-error:empty,.access-status:empty { display:none; }
.access-card .form-error { margin-top:20px; }
.access-status { margin-top:20px; padding:12px 16px; border:1px solid var(--warm-border); border-radius:var(--r-s); background:var(--paper); color:var(--ink); font-size:14px; overflow-wrap:anywhere; }
.access-panel-note { font-size:14px; color:var(--muted); margin-top:24px; padding:0 16px; }
.access-panel-note a { color:var(--primary-dark); text-decoration:underline; text-underline-offset:4px; }

/* Relay workspace */
.relay-ground { background:var(--paper); color:var(--ink); padding-bottom:80px; }
.relay-identity { padding-top:48px; }
.relay-identity h1 { font-size:var(--card-title); }
.relay-identity p { margin-top:8px; font-size:14px; color:var(--muted); }
.relay-session-actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.relay-quota { display:inline-flex; align-items:center; gap:12px; font-size:14px; color:var(--muted); }
.relay-quota b { font-weight:500; color:var(--ink); }
.relay-live-notice { font-size:14px; color:var(--muted); margin-bottom:32px; min-height:24px; }
.relay-workbench { display:grid; grid-template-columns:minmax(0,3fr) minmax(0,1fr); gap:40px 32px; align-items:start; }
.relay-names { min-width:0; background:var(--mist2); color:var(--ink); border-radius:var(--r-m); padding:32px; }
.relay-block-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.relay-block-heading>div { min-width:0; }
.relay-block-heading h2 { font-size:var(--card-title); line-height:1.35; }
.relay-block-seal { width:64px; height:64px; color:var(--primary); flex:none; }
.relay-names>.section-intro { font-size:14px; line-height:1.85; color:var(--muted); }
.relay-compose { margin-top:28px; }
.relay-compose .prefix-group { flex-basis:auto; }
.relay-compose input { background:transparent; color:var(--ink); border:0; }
.relay-compose .btn-line { background:transparent; color:var(--ink); border-color:var(--primary); }
.relay-compose .btn-line:hover { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.relay-compose button[type="submit"] { min-width:120px; }
.relay-field-help { font-size:12px; line-height:1.8; color:var(--muted); margin-top:12px; }
.relay-load-line { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:24px; font-size:14px; color:var(--muted); }
.relay-load-line p:empty { display:none; }
.relay-names .alias-list { margin-top:24px; }
.relay-names .alias-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:20px; }
.relay-names .alias-row .actions { grid-column:1/-1; gap:8px; }
.alias-inspect-link { display:block; width:100%; min-width:0; padding:0; text-align:left; border:0; background:transparent; color:var(--ink); line-height:1.6; text-decoration:underline; text-decoration-color:var(--soft-line); text-underline-offset:4px; }
.alias-inspect-link:hover { background:transparent; color:var(--primary-dark); text-decoration-color:var(--primary-dark); }
.relay-names .alias-empty { margin-top:24px; background:var(--paper); color:var(--ink); }
.relay-inspect-wrap { margin-top:24px; }
.relay-inspect-wrap:has([data-alias-inspect][hidden]) { display:none; }
.relay-inspect-wrap .surface { padding:24px; background:var(--paper); color:var(--ink); }
.relay-inspect-wrap h3 { font-size:16px; overflow-wrap:anywhere; }
.relay-inspect-wrap p { margin-top:12px; font-size:14px; }
.relay-inspect-wrap>.chipbtn { margin-top:12px; }
.relay-margin-note { padding:24px 4px 0 16px; color:var(--muted); min-width:0; }
.relay-margin-note h2 { font-size:24px; line-height:1.5; margin-top:24px; }
.relay-margin-note p { margin-top:20px; font-size:14px; line-height:1.85; }
.relay-margin-note>a { display:inline-block; margin-top:28px; font-size:14px; color:var(--primary-dark); text-decoration:underline; text-underline-offset:4px; }
.relay-records { grid-column:1/-1; padding:40px; min-width:0; background:var(--mist); color:var(--ink); border-radius:var(--r-m); }
.relay-records-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; }
.relay-records-intro>div:first-child { max-width:680px; min-width:0; }
.relay-records h2 { font-size:var(--card-title); line-height:1.35; }
.relay-records .section-intro { font-size:14px; color:var(--muted); line-height:1.85; }
.relay-records-intro>.actions { flex:none; gap:12px; }
.relay-records .filter-trigger { background:var(--paper); color:var(--ink); border-color:var(--soft-line); }
.relay-records .filter-menu { background:var(--paper); color:var(--ink); border-color:var(--soft-line); }
.relay-record-status { margin-top:16px; font-size:14px; color:var(--muted); overflow-wrap:anywhere; }
.relay-record-status:empty { display:none; }
.relay-archive-list { margin-top:28px; gap:12px; }
.relay-archive-list .archive-row { grid-template-columns:minmax(0,1fr) minmax(140px,.6fr) auto; padding:20px 24px; gap:16px; background:var(--paper); color:var(--ink); }
.relay-archive-list .archive-subject { grid-column:auto; }
.relay-archive-list .archive-row:hover { background:var(--mist2); color:var(--ink); border-color:var(--soft-line); }
.relay-archive-empty { width:100%; margin:24px 0 0; padding:24px; background:var(--paper); color:var(--ink); }
.relay-detail-meta { display:flex; flex-wrap:wrap; gap:8px 20px; font-size:14px; color:var(--muted); margin-top:12px; overflow-wrap:anywhere; }
.relay-records .archive-detail-head { align-items:flex-start; }
.relay-records .archive-detail-head>div:first-child { min-width:0; flex:1; }
.relay-records .archive-detail-head .status-pill { margin:0 0 16px; }
.relay-records .archive-detail-head button { align-self:flex-start; }
.relay-records .archive-body { margin-top:24px; }
.relay-attachments { margin-top:20px; }
.relay-attachments:empty { display:none; }
.relay-attachments .chipbtn { max-width:100%; overflow-wrap:anywhere; height:auto; white-space:normal; padding:10px 16px; }
.relay-safety { grid-column:1/-1; padding:40px; background:var(--warm); color:var(--ink); border-color:var(--warm-line); }
.relay-safety .twofa-idle { flex-wrap:nowrap; align-items:center; gap:40px; }
.relay-safety .twofa-idle>div:first-child { max-width:760px; min-width:0; }
.relay-safety h2 { font-size:var(--card-title); line-height:1.4; }
.relay-safety .section-intro { font-size:14px; color:var(--warm-ink); line-height:1.85; }
.relay-safety-controls { display:flex; flex-direction:column; align-items:flex-start; gap:0; flex:none; }
.relay-safety-controls .btn { align-self:flex-start; width:auto; height:auto; min-height:48px; padding:12px 24px; }
.relay-safety .twofa-status { font-size:14px; }
.relay-safety .status-pill.is-idle { background:var(--paper); color:var(--warm-ink); border-color:var(--warm-border); margin:0; }
.relay-safety .status-pill:not(.is-idle) { background:var(--primary-soft); color:var(--primary-dark); }
.relay-safety .twofa-steps { margin-top:32px; gap:20px 40px; color:var(--warm-ink); }
.relay-safety [data-twofa-setup] { margin-top:32px; margin-bottom:24px; padding-top:28px; border-top:1px solid var(--warm-line); }
.relay-safety .setup-grid { grid-template-columns:192px minmax(0,1fr); gap:32px; }
.relay-safety .setup-grid h3 { font-size:18px; line-height:1.5; }
.relay-safety .secret-row { margin:20px 0; }
.relay-safety .twofa-secret { color:var(--ink); font-size:14px; }
.relay-safety .btn-line { background:var(--paper); color:var(--ink); border-color:var(--warm-border); }
.relay-safety .btn-line:hover { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.relay-safety .form-actions { align-items:center; gap:12px; }
.relay-safety .form-actions input { min-height:48px; background:var(--paper); color:var(--ink); }
.relay-safety .form-actions .btn { min-height:48px; margin:0; }
.relay-disable-panel { margin-top:28px; padding-top:24px; border-top:1px solid var(--warm-line); }
.relay-disable-panel h3 { font-size:18px; }
.relay-disable-panel>p { margin:12px 0 20px; font-size:14px; color:var(--warm-ink); }

@media (max-width:1100px) {
  .access-postmark { gap:40px; }
  .access-card { padding:32px; }
  .access-story h1 { font-size:var(--h1); }
  .access-promises li { grid-template-columns:110px minmax(0,1fr); }
  .relay-workbench { grid-template-columns:minmax(0,2.5fr) minmax(0,1fr); gap:32px 24px; }
  .relay-compose { display:grid; grid-template-columns:1fr 1fr; }
  .relay-compose .prefix-group { grid-column:1/-1; }
  .relay-compose .btn { width:100%; }
  .relay-records-intro { display:grid; gap:24px; }
  .relay-archive-list .archive-row { grid-template-columns:minmax(0,1fr) auto; }
  .relay-archive-list .archive-subject { grid-column:1/-1; }
}
@media (max-width:960px) {
  .access-postmark { grid-template-columns:minmax(0,1fr); gap:48px; padding-top:40px; }
  .access-panel { padding-top:0; max-width:600px; width:100%; justify-self:center; }
  .access-story { max-width:680px; width:100%; justify-self:center; padding-right:0; }
  .access-story>.section-intro { max-width:none; }
  .relay-workbench { grid-template-columns:minmax(0,1fr); }
  .relay-margin-note { background:var(--paper); color:var(--muted); padding:8px 24px 24px; }
  .relay-margin-note h2 br { display:none; }
  .relay-records,.relay-safety { grid-column:auto; }
}
@media (max-width:860px) {
  .read.mobile-reader { inset:0; top:0; height:100dvh; max-height:100dvh; padding-top:var(--header-h); border-radius:0; overflow:auto; transform:none; animation:none; }
  .read.mobile-reader .reader-mobile-actions { top:0; flex:none; }
  body.reader-open .site { z-index:95; }
  body.reader-open .nav-drawer { z-index:100; }
  .read.mobile-reader .rd-body { overflow:visible; }
  .read.mobile-reader .rd-head { flex:none; }
  .read.mobile-reader .rd-act { flex:none; }
  .read.mobile-reader .rd-body iframe { min-height:360px; }
  .relay-safety .twofa-idle { flex-wrap:wrap; gap:24px; }
  .relay-safety-controls { flex-direction:row; align-items:center; gap:0 24px; flex-wrap:wrap; }
}
@media (max-width:720px) {
  .relay-names .alias-row { grid-template-columns:minmax(0,1fr); }
  .relay-names .alias-address { grid-column:1/-1; width:100%; overflow-wrap:anywhere; }
  .relay-names .alias-row .status-pill { justify-self:start; }
  .relay-names .alias-row .actions { grid-column:1/-1; }
  .relay-safety .setup-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
}
@media (max-width:560px) {
  .access-postmark { padding-top:32px; padding-bottom:48px; gap:40px; }
  .access-card { padding:24px; }
  .access-card-top { margin-bottom:24px; gap:8px; }
  .access-card h2 { font-size:24px; }
  .access-form-intro { font-size:14px; margin-bottom:20px; }
  .access-card-caption { font-size:12px; }
  .access-card .actions { gap:10px; }
  .access-card .actions .btn { padding:10px 16px; min-height:44px; height:auto; white-space:normal; }
  .access-panel-note { padding:0; font-size:14px; margin-top:20px; }
  .access-story h1 { font-size:var(--h1); }
  .access-letter { padding:20px; grid-template-columns:minmax(0,1fr); gap:16px; margin-top:24px; }
  .access-seal { width:48px; height:48px; }
  .access-promises { margin-top:24px; }
  .access-promises li { grid-template-columns:minmax(0,1fr); gap:6px; }
  .relay-ground { padding-bottom:48px; }
  .relay-identity { padding-top:32px; gap:20px; }
  .relay-identity h1 { font-size:24px; }
  .relay-identity p { line-height:1.8; }
  .relay-identity [data-session-email] { display:block; margin-top:4px; }
  .relay-session-actions { width:100%; justify-content:space-between; gap:16px; }
  .relay-session-actions .btn { max-width:100%; white-space:normal; min-height:40px; padding:10px 16px; }
  .relay-live-notice { margin-bottom:24px; }
  .relay-workbench { gap:28px; }
  .relay-names,.relay-records,.relay-safety { padding:24px; }
  .relay-block-heading { gap:16px; align-items:flex-start; }
  .relay-block-seal { width:44px; height:44px; }
  .relay-block-heading h2,.relay-records h2,.relay-safety h2 { font-size:24px; line-height:1.45; }
  .relay-compose { grid-template-columns:minmax(0,1fr); gap:12px; margin-top:24px; }
  .relay-compose .prefix-group { grid-column:auto; gap:10px; }
  .relay-compose .prefix-suffix { width:100%; }
  .relay-compose .btn { min-height:48px; }
  .relay-load-line { flex-wrap:wrap; }
  .relay-names .alias-row { padding:16px; }
  .relay-names .alias-row .actions { gap:8px; }
  .relay-names .alias-row .chipbtn { padding:0 12px; }
  .relay-margin-note { padding:0 8px 8px; }
  .relay-margin-note h2 { font-size:24px; }
  .relay-records-intro>.actions { flex-wrap:wrap; gap:12px; }
  .relay-records .filter-trigger { font-size:14px; }
  .relay-records .filter-menu { min-width:min(230px,calc(100vw - 80px)); }
  .relay-archive-list { margin-top:24px; }
  .relay-archive-list .archive-row { grid-template-columns:minmax(0,1fr); padding:16px; gap:8px; }
  .relay-archive-list .archive-subject { grid-column:auto; }
  .relay-archive-list .archive-meta { flex-wrap:wrap; gap:8px 12px; }
  .relay-records .archive-detail { padding:16px; margin-top:24px; }
  .relay-records .archive-detail-head { gap:20px; flex-wrap:wrap; }
  .relay-records .archive-detail-head .actions { flex-wrap:wrap; }
  .relay-records .archive-detail-head>div:first-child { flex-basis:100%; }
  .relay-records .archive-detail-head h3 { font-size:18px; }
  .relay-archive-empty { padding:20px; }
  .relay-safety .twofa-idle { align-items:flex-start; }
  .relay-safety-controls { flex-direction:column; align-items:flex-start; gap:0; }
  .relay-safety .twofa-status { flex-wrap:nowrap; align-items:center; }
  .relay-safety .twofa-steps { margin-top:24px; gap:16px; }
  .relay-safety .form-actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }
  .relay-safety .form-actions input { grid-column:1/-1; width:100%; }
  .relay-safety .form-actions .btn { width:100%; padding:10px 12px; height:auto; white-space:normal; }
  .relay-safety .secret-row { align-items:center; }
  .relay-safety .twofa-secret { flex-basis:100%; }
}


/* Shared component completion */
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.reader-letterhead { display:grid; grid-template-columns:auto minmax(0,1fr) auto; column-gap:12px; row-gap:10px; align-items:center; min-width:0; }
.reader-letterhead > .subj { grid-column:1 / 3; grid-row:1; margin-bottom:0; }
.reader-letterhead .rd-from { display:contents; }
.reader-letterhead .sender-mark { grid-column:1; grid-row:2; }
.reader-letterhead .rd-from > div { grid-column:2 / 4; grid-row:2; min-width:0; }
.reader-letterhead .rd-from .t { grid-column:3; grid-row:1; margin-left:0; margin-top:2px; justify-self:end; align-self:start; }
.brand-name { display:inline-block; flex:none; white-space:nowrap; line-height:1.2; }
.site-header { position:sticky; top:0; z-index:50; background:var(--paper); color:var(--ink); }
.status-pill.is-active { background:var(--primary-soft); color:var(--primary-dark); }
.status-pill.is-paused { background:var(--warm); color:var(--warm-ink); border:1px solid var(--warm-border); }
.twofa-copy { align-self:center; margin-top:0; width:auto; flex:none; }
.twofa-setup { margin-top:24px; }
.auth-card h2 { font-size:var(--card-title); line-height:1.4; }
[data-alias-prefix] { padding-left:16px; }
.filter-chevron { position:absolute; right:14px; top:50%; width:7px; height:7px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:translateY(calc(-50% - 1px)) rotate(45deg); pointer-events:none; }
[data-reader]:not(.mobile-reader) [data-reader-close] { display:none; }
.form-actions,
.twofa-actions {
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:24px;
}
[data-2fa-disable] { margin:0; }

@media (min-width:861px) {
  [data-reader-close] { display:none; }
}


/* Privacy notice */
.privacy-hero { padding:64px 0; background:var(--mist); color:var(--ink); }
.privacy-heading { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:64px; align-items:start; }
.privacy-heading h1 { max-width:780px; font-size:var(--h1); line-height:1.28; }
.privacy-lead { max-width:740px; font-size:18px; line-height:1.8; color:var(--muted); }
.privacy-edition { display:grid; justify-items:start; gap:8px; padding:24px; background:var(--warm); color:var(--warm-ink); border-radius:var(--r-m); font-size:14px; }
.privacy-edition svg { margin-bottom:12px; color:var(--stamp); }
.privacy-edition time { color:var(--ink); font-weight:500; }
.privacy-edition a { max-width:100%; margin-top:8px; font-family:var(--mono); font-size:12px; overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:3px; }
.privacy-glance.legal-glance { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:48px; }
.privacy-glance-card { display:flex; flex-direction:column; align-items:flex-start; padding:24px; background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:var(--r-m); }
.privacy-index { font-family:var(--mono); font-size:12px; color:var(--primary-dark); }
.privacy-glance-card h2 { margin:20px 0 12px; font-size:18px; line-height:1.5; }
.privacy-glance-card p { margin-bottom:24px; font-size:14px; color:var(--muted); line-height:1.8; }
.privacy-glance-card a { margin-top:auto; font-size:14px; font-weight:500; color:var(--primary-dark); text-decoration:underline; text-underline-offset:4px; }
.privacy-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:64px; padding-top:64px; padding-bottom:96px; align-items:start; }
.privacy-directory { position:sticky; top:calc(var(--header-h) + 24px); padding:24px; background:var(--mist); color:var(--ink); border-radius:var(--r-m); font-size:14px; }
.privacy-directory>p { color:var(--muted); font-size:12px; margin-bottom:20px; }
.privacy-directory nav { display:grid; gap:12px; }
.privacy-directory nav a { line-height:1.6; }
.privacy-directory a:hover { color:var(--primary-dark); text-decoration:underline; text-underline-offset:4px; }
.privacy-top-link { display:inline-block; margin-top:28px; color:var(--muted); font-size:12px; }
.privacy-prose { min-width:0; }
.privacy-prose .privacy-topic { padding:0; scroll-margin-top:calc(var(--header-h) + 32px); }
.privacy-prose .privacy-topic+.privacy-topic { margin-top:64px; }
.privacy-prose .eyebrow { margin:0 0 20px; font-size:14px; }
.privacy-prose h2 { margin:0 0 24px; font-size:var(--card-title); line-height:1.4; }
.privacy-prose h3 { margin:0 0 12px; font-size:var(--subhead); line-height:1.5; }
.privacy-prose p { font-size:var(--body); font-weight:400; }
.privacy-route { margin:28px 0 32px; padding:24px; border-radius:var(--r-m); background:var(--mist2); color:var(--ink); }
.privacy-route figcaption { margin-bottom:24px; font-size:14px; color:var(--muted); }
.privacy-route-origin { padding-bottom:24px; text-align:center; }
.privacy-route-label { display:block; font-size:12px; color:var(--primary-dark); }
.privacy-route p { margin:8px 0 0; font-size:14px; color:var(--ink); }
.privacy-route-branches { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.privacy-route-branch { padding:24px; border-radius:var(--r-s); background:var(--paper); color:var(--ink); text-align:center; }
.privacy-route-arrow { display:block; margin-top:12px; color:var(--primary); line-height:1.2; }
.privacy-table-scroll { margin:28px 0 32px; border:1px solid var(--line); border-radius:var(--r-m); }
.privacy-table-scroll table { min-width:600px; line-height:1.75; }
.privacy-table-scroll caption { padding:16px; background:var(--paper); color:var(--muted); font-size:14px; text-align:left; }
.privacy-table-scroll th { font-size:14px; }
.privacy-table-scroll tbody th { width:24%; background:var(--paper); color:var(--ink); }
.privacy-table-scroll td { width:38%; color:var(--text); }
.privacy-table-scroll tbody tr:last-child>* { border-bottom:0; }
.privacy-retention { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:28px 0 32px; }
.privacy-retention-item { padding:24px; border-radius:var(--r-m); background:var(--warm); color:var(--warm-ink); }
.privacy-retention-item strong { display:block; margin-bottom:20px; font-size:var(--card-title); line-height:1.3; color:var(--ink); font-weight:700; }
.privacy-retention-item h3 { font-size:var(--subhead); }
.privacy-retention-item p { margin:0; color:var(--warm-ink); font-size:14px; }
.privacy-note { margin:28px 0 32px; padding:24px; border-left:3px solid var(--primary); border-radius:var(--r-s); background:var(--mist); color:var(--ink); }
.privacy-note p { margin:0; font-size:14px; color:var(--muted); }
.privacy-prose .privacy-controls { display:grid; gap:24px; list-style:none; padding:0; margin:28px 0 32px; }
.privacy-controls li { padding:24px; border:1px solid var(--line); border-radius:var(--r-m); background:var(--paper); color:var(--ink); }
.privacy-controls p { margin:0; }
.privacy-contact { margin-top:40px; padding:32px; border-radius:var(--r-m); background:var(--warm); color:var(--warm-ink); }
.privacy-contact p { color:var(--warm-ink); }
.privacy-contact .actions { margin-top:28px; }
.privacy-contact .btn { padding:12px 24px; height:auto; max-width:100%; white-space:normal; }
.privacy-contact .btn-line { background:var(--paper); color:var(--ink); border-color:var(--warm-border); }
.privacy-contact .btn-line:hover { background:var(--ink); color:var(--paper); border-color:var(--ink); }

@media (max-width:860px) {
  .privacy-hero { padding:48px 0; }
  .privacy-heading { grid-template-columns:minmax(0,1fr); gap:32px; }
  .privacy-edition { grid-template-columns:auto minmax(0,1fr); column-gap:16px; width:100%; }
  .privacy-edition svg { grid-row:1/4; align-self:center; margin:0; }
  .privacy-edition a { margin-top:0; }
  .privacy-glance.legal-glance { grid-template-columns:minmax(0,1fr); gap:16px; margin-top:32px; }
  .privacy-glance-card a { margin-top:0; }
  .privacy-layout { grid-template-columns:minmax(0,1fr); gap:40px; padding-top:40px; padding-bottom:64px; }
  .privacy-directory { position:static; }
  .privacy-directory nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 24px; }
  .privacy-prose .privacy-topic+.privacy-topic { margin-top:48px; }
  .privacy-route-branches { gap:16px; }
  .privacy-route-branch { padding:20px; }
}

@media (max-width:560px) {
  .privacy-hero { padding:32px 0; }
  .privacy-heading { gap:24px; }
  .privacy-heading h1 { font-size:var(--h1); }
  .privacy-lead { font-size:16px; }
  .privacy-edition { padding:20px; }
  .privacy-glance-card { padding:20px; }
  .privacy-directory { padding:20px; }
  .privacy-directory nav { grid-template-columns:minmax(0,1fr); }
  .privacy-route { padding:20px; }
  .privacy-route-branches { grid-template-columns:minmax(0,1fr); }
  .privacy-route-origin { text-align:left; }
  .privacy-retention { grid-template-columns:minmax(0,1fr); gap:16px; }
  .privacy-contact { padding:24px; }
  .privacy-contact .actions { align-items:stretch; flex-direction:column; }
  .privacy-controls li { padding:20px; }
  .privacy-prose h2 { font-size:var(--card-title); }
  .privacy-prose h3 { font-size:var(--subhead); }
}


/* Terms document */
.terms-hero { padding:64px 0; background:var(--mist); color:var(--ink); }
.terms-hero h1 { max-width:900px; font-size:var(--h1); line-height:1.28; }
.terms-hero .lead { max-width:800px; font-size:var(--subhead); }
.terms-document-meta { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:24px; font-size:var(--small); color:var(--muted); }
.terms-legal-glance.legal-glance { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:40px; }
.terms-glance-card { min-width:0; padding:24px; background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:var(--r-m); }
.terms-glance-card>svg { display:block; color:var(--primary); }
.terms-glance-card h2 { margin:20px 0 12px; font-size:var(--subhead); line-height:1.4; }
.terms-glance-card p { font-size:var(--small); line-height:1.8; color:var(--muted); }
.terms-reading { padding-top:64px; }
.terms-prose { min-width:0; }
.terms-prose h2 { font-size:var(--card-title); line-height:1.4; }
.terms-prose h3 { font-size:var(--subhead); line-height:1.5; }
.terms-opening { color:var(--text); }
.terms-opening p:last-child { margin-bottom:0; }
.terms-chapter { padding:0; margin-top:48px; scroll-margin-top:calc(var(--header-h) + 24px); }
.terms-chapter>h2:first-child { margin-top:0; }
.terms-chapter>p:last-child { margin-bottom:0; }
.terms-inline-note { padding:24px; margin:24px 0 32px; border-radius:var(--r-m); background:var(--warm); color:var(--warm-ink); }
.terms-inline-note>strong { display:block; color:var(--ink); font-size:var(--body); font-weight:500; }
.terms-inline-note p { margin:12px 0 0; font-size:var(--small); line-height:1.85; }
.terms-boundary-table { margin-top:24px; margin-bottom:32px; border:1px solid var(--line); border-radius:var(--r-m); }
.terms-boundary-table table { min-width:620px; font-size:var(--small); line-height:1.8; }
.terms-boundary-table caption { padding:16px; background:var(--mist2); color:var(--ink); font-size:var(--small); font-weight:500; text-align:left; }
.terms-boundary-table thead th { background:var(--mist); color:var(--muted); }
.terms-boundary-table tbody th { width:22%; background:var(--paper); color:var(--ink); font-weight:500; vertical-align:top; }
.terms-boundary-table td { width:39%; background:var(--paper); color:var(--text); vertical-align:top; }
.terms-boundary-table tbody tr:last-child th,.terms-boundary-table tbody tr:last-child td { border-bottom:0; }
.terms-use-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:24px 0 32px; }
.terms-use-card { min-width:0; padding:24px; border:1px solid var(--line); border-radius:var(--r-m); background:var(--mist); color:var(--text); }
.terms-use-card-restricted { background:var(--warm); color:var(--warm-ink); border-color:var(--warm-line); }
.terms-use-heading { display:flex; align-items:center; gap:12px; color:var(--primary-dark); }
.terms-use-card-restricted .terms-use-heading { color:var(--warm-ink); }
.terms-use-heading svg { flex:none; }
.terms-prose .terms-use-heading h3 { margin:0; font-size:var(--subhead); line-height:1.5; color:inherit; }
.terms-use-card ul { display:grid; gap:20px; margin:24px 0 0; padding:0; list-style:none; }
.terms-use-card li { display:grid; gap:8px; font-size:var(--small); line-height:1.8; }
.terms-use-card li strong { font-weight:500; color:var(--ink); }
.terms-effects { display:grid; gap:16px; margin:24px 0 32px; }
.terms-effects>div { display:grid; grid-template-columns:144px minmax(0,1fr); gap:20px; padding:20px 24px; border:1px solid var(--line); border-radius:var(--r-m); background:var(--paper); color:var(--text); }
.terms-effects dt { font-size:var(--small); font-weight:500; color:var(--ink); }
.terms-effects dd { min-width:0; font-size:var(--small); line-height:1.85; }
.terms-related { margin-top:40px; padding:32px; border-radius:var(--r-m); background:var(--mist2); color:var(--text); }
.terms-prose .terms-related h3 { margin:0 0 20px; font-size:var(--subhead); }
.terms-related p { margin-bottom:0; }
.terms-related .actions { margin-top:28px; }
.terms-related .btn { height:auto; padding:12px 20px; white-space:normal; }
.terms-prose .terms-related .btn-primary { background:var(--primary); color:var(--paper); }
.terms-prose .terms-related .btn-primary:hover { background:var(--primary-dark); color:var(--paper); }
.terms-prose .terms-related .btn-line { background:var(--paper); color:var(--ink); border-color:var(--soft-line); }
.terms-prose .terms-related .btn-line:hover { background:var(--ink); color:var(--paper); border-color:var(--ink); }

@media (max-width:860px) {
  .terms-hero { padding:40px 0; }
  .terms-legal-glance.legal-glance { gap:16px; margin-top:32px; }
  .terms-glance-card { padding:20px; }
  .terms-reading { padding-top:40px; }
  .terms-use-grid { gap:16px; }
  .terms-chapter { margin-top:40px; }
  .terms-effects>div { grid-template-columns:128px minmax(0,1fr); }
}
@media (max-width:560px) {
  .terms-hero { padding:32px 0; }
  .terms-document-meta { display:grid; gap:8px; }
  .terms-legal-glance.legal-glance { grid-template-columns:minmax(0,1fr); }
  .terms-glance-card { padding:24px; }
  .terms-use-grid { grid-template-columns:minmax(0,1fr); }
  .terms-use-card { padding:24px; }
  .terms-effects>div { grid-template-columns:minmax(0,1fr); gap:8px; padding:20px; }
  .terms-inline-note { padding:20px; }
  .terms-related { padding:24px; }
  .terms-related .actions { align-items:stretch; flex-direction:column; }
  .terms-prose h2 { font-size:var(--card-title); }
  .terms-prose h3 { font-size:var(--subhead); }
}


/* Address lifespan planner */
.planner-hero { background:var(--mist); color:var(--ink); padding:64px 0 80px; }
.planner-hero-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:64px; align-items:center; }
.planner-hero h1 { font-size:var(--h1); line-height:1.25; }
.planner-hero .lead { font-size:var(--subhead); line-height:1.85; }
.planner-hero .lead strong { color:var(--ink); font-weight:500; }
.planner-hero-note { margin-top:20px; font-size:var(--body); color:var(--muted); }
.planner-hero-actions { margin-top:32px; }
.planner-hero-actions .btn { padding:12px 24px; height:auto; }
.planner-letter { padding:32px; border-radius:var(--r-m); background:var(--paper); color:var(--ink); box-shadow:0 24px 48px -32px rgba(var(--shadow-ink),.2); min-width:0; }
.planner-letter-top { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:var(--caption); color:var(--stamp); }
.planner-letter-top svg { flex:none; }
.planner-letter-entry { padding:24px 0; }
.planner-letter-entry+.planner-letter-entry { border-top:1px dashed var(--warm-border); }
.planner-letter-label { display:block; font-size:var(--small); color:var(--muted); margin-bottom:8px; }
.planner-letter-number { font-family:var(--mono); font-size:var(--h1); line-height:1.25; letter-spacing:0; color:var(--primary-dark); font-weight:700; }
.planner-letter-number span { font-family:var(--sans); font-size:var(--small); font-weight:400; }
.planner-letter-entry h2 { font-size:var(--h3); line-height:1.4; }
.planner-letter-entry>p:last-child { font-size:var(--small); color:var(--muted); margin-top:12px; }
.planner-text-link { display:inline-block; color:var(--primary-dark); text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; font-size:var(--small); }
.planner-text-link:hover { color:var(--ink); }
.planner-journey { background:var(--paper); color:var(--ink); }
.planner-section-heading { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:end; gap:64px; }
.planner-section-heading>p { color:var(--muted); font-size:var(--body); }
.planner-timeline { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px; list-style:none; margin-top:56px; }
.planner-timeline li { min-width:0; position:relative; }
.planner-timeline li:not(:last-child)::after { content:""; position:absolute; top:28px; left:72px; right:0; border-top:1px dashed var(--warm-dash); }
.planner-postmark { display:flex; align-items:center; justify-content:center; width:56px; height:56px; border:1px dashed var(--stamp); border-radius:var(--r-p); background:var(--warm); color:var(--stamp); font-family:var(--mono); font-size:var(--small); }
.planner-phase { font-size:var(--caption); color:var(--warm-ink); margin-top:24px; }
.planner-timeline h3 { font-size:var(--subhead); margin:8px 0 12px; line-height:1.45; }
.planner-timeline h3+p { color:var(--muted); font-size:var(--small); line-height:1.85; }
.planner-timeline a { display:inline-block; margin-top:20px; color:var(--primary-dark); font-size:var(--small); text-decoration:underline; text-underline-offset:4px; }
.planner-journey-note { display:flex; gap:16px; align-items:flex-start; margin-top:48px; padding:20px 24px; border-radius:var(--r-m); background:var(--mist); color:var(--muted); font-size:var(--small); }
.planner-journey-note svg { flex:none; color:var(--primary); margin-top:2px; }
.planner-calc-section { background:var(--warm); color:var(--warm-ink); }
.planner-calc-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:80px; align-items:start; }
.planner-calc-copy { min-width:0; }
.planner-calc-copy .eyebrow { color:var(--stamp); }
.planner-calc-copy>p:not(.eyebrow) { color:var(--warm-ink); font-size:var(--body); }
.planner-calc-copy>p+p { margin-top:20px; }
.planner-calc-copy>.planner-text-link { margin-top:28px; }
.planner-calculator { background:var(--paper); color:var(--ink); border-radius:var(--r-m); padding:32px; min-width:0; box-shadow:0 24px 48px -36px rgba(var(--shadow-ink),.24); }
.planner-calc-form-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:24px; }
.planner-calc-form-heading h3 { font-size:var(--subhead); }
.planner-calc-form-heading .status-pill { background:var(--warm); color:var(--warm-ink); }
.planner-input-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.planner-input-grid .field { min-width:0; font-size:var(--small); }
.planner-input-grid input { font-family:var(--mono); font-size:var(--small); background:var(--paper); color:var(--ink); border-color:var(--soft-line); }
.planner-calc-help { color:var(--muted); font-size:var(--caption); line-height:1.85; margin:16px 0 24px; }
.planner-calc-error { margin-top:16px; }
.planner-result { margin-top:32px; padding-top:24px; border-top:1px solid var(--line); }
.planner-result-label { font-size:var(--small); color:var(--muted); }
.planner-result-duration { display:block; margin-top:8px; font-size:var(--card-title); font-weight:700; color:var(--primary-dark); line-height:1.5; overflow-wrap:anywhere; }
.planner-result-equation { margin-top:8px; font-size:var(--caption); color:var(--muted); overflow-wrap:anywhere; }
.planner-result-time { display:grid; gap:8px; margin-top:24px; padding:16px; border-radius:var(--r-s); background:var(--mist); color:var(--ink); font-size:var(--small); }
.planner-result-time>span { color:var(--muted); font-size:var(--caption); }
.planner-result-time time { overflow-wrap:anywhere; font-weight:500; }
.planner-result-verdict { display:block; margin-top:24px; padding:12px 16px; background:var(--warm); color:var(--warm-ink); border-radius:var(--r-s); font-size:var(--caption); line-height:1.85; }
.planner-comparison { background:var(--paper); color:var(--ink); }
.planner-comparison-heading { max-width:780px; }
.planner-comparison-heading>.section-intro { font-size:var(--body); color:var(--muted); }
.planner-table-scroll { margin:40px 0 32px; border:1px solid var(--line); border-radius:var(--r-m); background:var(--paper); color:var(--ink); }
.planner-table { min-width:800px; font-size:var(--small); line-height:1.85; table-layout:fixed; }
.planner-table caption { text-align:left; padding:16px 20px; font-size:var(--small); background:var(--mist); color:var(--muted); }
.planner-table th,.planner-table td { padding:20px; vertical-align:top; border-color:var(--line); }
.planner-table thead th { background:var(--mist2); color:var(--ink); }
.planner-table th:first-child { width:16%; }
.planner-table tbody th { background:var(--paper); color:var(--muted); font-weight:500; }
.planner-table tbody tr:last-child>* { border-bottom:0; }
.planner-table-note { max-width:900px; font-size:var(--small); color:var(--muted); }
.planner-table-note a { color:var(--primary-dark); text-decoration:underline; text-underline-offset:3px; }
.planner-return { background:var(--mist); color:var(--ink); }
.planner-return-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:80px; align-items:start; }
.planner-return-grid>div:first-child>.section-intro { color:var(--text); font-size:var(--body); }
.planner-return-copy { margin-top:20px; color:var(--muted); font-size:var(--body); }
.planner-return-grid>div:first-child>.planner-text-link { margin-top:28px; }
.planner-return-cases { display:grid; gap:16px; min-width:0; }
.planner-return-case { display:grid; grid-template-columns:40px minmax(0,1fr); gap:16px; padding:24px; background:var(--paper); color:var(--ink); border-radius:var(--r-m); }
.planner-return-index { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:var(--r-p); background:var(--primary-soft); color:var(--primary-dark); font-size:var(--small); }
.planner-return-case h3 { font-size:var(--subhead); line-height:1.5; }
.planner-return-case p { margin-top:12px; font-size:var(--small); color:var(--muted); line-height:1.85; }
.planner-return-security { font-size:var(--caption); color:var(--muted); margin-top:8px; }
.planner-return-security a { color:var(--primary-dark); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.planner-scenarios { background:var(--paper); color:var(--ink); }
.planner-scenario-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:40px; }
.planner-scenario-card { display:flex; flex-direction:column; min-width:0; padding:32px; background:var(--mist); color:var(--ink); border-radius:var(--r-m); }
.planner-scenario-icon { color:var(--primary); margin-bottom:24px; flex:none; }
.planner-scenario-card h3 { font-size:var(--h3); margin-bottom:16px; }
.planner-scenario-card>p { font-size:var(--small); color:var(--muted); line-height:1.85; }
.planner-scenario-relay { background:var(--mist2); color:var(--ink); }
.planner-scenario-main { background:var(--warm); color:var(--ink); }
.planner-scenario-main .planner-scenario-icon { color:var(--stamp); }
.planner-scenario-main>p { color:var(--warm-ink); }
.planner-scenario-bottom { margin-top:auto; padding-top:28px; }
.planner-scenario-bottom>span { display:block; color:var(--muted); font-size:var(--caption); line-height:1.7; }
.planner-scenario-bottom a { margin-top:16px; }
.planner-summary-section { padding-top:0; background:var(--paper); color:var(--ink); }
.planner-summary { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:64px; padding:48px; border:1px solid var(--line); border-radius:var(--r-m); background:var(--paper); color:var(--ink); }
.planner-summary .section-intro { color:var(--muted); font-size:var(--body); }
.planner-summary-list { display:grid; gap:24px; min-width:0; }
.planner-summary-list>div { padding-left:20px; border-left:2px solid var(--primary-soft); }
.planner-summary-list dt { font-size:var(--body); font-weight:500; color:var(--ink); margin-bottom:8px; }
.planner-summary-list dd { font-size:var(--small); color:var(--muted); line-height:1.85; }
.planner-summary-list a { color:var(--primary-dark); text-decoration:underline; text-underline-offset:3px; }
.planner-final { background:var(--dark); color:var(--dark-text); padding:80px 0; }
.planner-final-inner { display:flex; flex-direction:column; align-items:center; text-align:center; }
.planner-final .eyebrow { color:var(--mint); }
.planner-final h2 { color:var(--paper); }
.planner-final .section-intro { max-width:660px; color:var(--dark-text); font-size:var(--body); }
.planner-final .actions { justify-content:center; margin-top:32px; }
.planner-final .btn { height:auto; padding:14px 24px; max-width:100%; white-space:normal; }
.planner-final .btn-primary { background:var(--mint); color:var(--ink); }
.planner-final .btn-primary:hover { background:var(--mint-hover); color:var(--ink); }
.planner-final .btn-line { background:transparent; color:var(--paper); border-color:var(--dark-border); }
.planner-final .btn-line:hover { background:var(--paper); color:var(--ink); border-color:var(--paper); }
.planner-top-link { display:inline-block; margin-top:32px; font-size:var(--small); color:var(--dark-muted); text-decoration:underline; text-underline-offset:4px; }
.planner-top-link:hover { color:var(--paper); }

@media (max-width:1100px) {
  .planner-hero-grid { gap:40px; }
  .planner-calc-grid,.planner-return-grid { gap:40px; }
  .planner-section-heading { gap:40px; }
  .planner-timeline { gap:20px; }
  .planner-scenario-card { padding:24px; }
  .planner-summary { gap:40px; padding:32px; }
}
@media (max-width:860px) {
  .planner-hero { padding:48px 0 64px; }
  .planner-hero-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
  .planner-hero h1 { max-width:660px; }
  .planner-letter { max-width:640px; width:100%; }
  .planner-section-heading { grid-template-columns:minmax(0,1fr); gap:24px; }
  .planner-timeline { grid-template-columns:minmax(0,1fr); gap:0; margin-top:40px; }
  .planner-timeline li { display:grid; grid-template-columns:56px minmax(0,1fr); gap:0 24px; padding-bottom:32px; }
  .planner-timeline li:not(:last-child)::after { left:28px; right:auto; top:68px; bottom:12px; width:0; border-top:0; border-left:1px dashed var(--warm-dash); }
  .planner-timeline li:last-child { padding-bottom:0; }
  .planner-postmark { grid-column:1; grid-row:1/5; }
  .planner-phase { grid-column:2; margin-top:0; }
  .planner-timeline h3,.planner-timeline h3+p,.planner-timeline a { grid-column:2; }
  .planner-timeline a { justify-self:start; margin-top:16px; }
  .planner-journey-note { margin-top:32px; }
  .planner-calc-grid,.planner-return-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
  .planner-calc-copy h2 br,.planner-return h2 br,.planner-summary h2 br { display:none; }
  .planner-calc-copy { max-width:680px; }
  .planner-calculator { width:100%; }
  .planner-scenario-grid { grid-template-columns:minmax(0,1fr); }
  .planner-scenario-card { padding:32px; }
  .planner-scenario-bottom { margin-top:0; }
  .planner-summary { grid-template-columns:minmax(0,1fr); gap:32px; }
  .planner-summary-section { padding-top:0; }
  .planner-final { padding:64px 0; }
}
@media (max-width:560px) {
  .planner-hero { padding:32px 0 48px; }
  .planner-hero .lead { font-size:var(--body); }
  .planner-hero-actions { align-items:stretch; }
  .planner-hero-actions .btn { flex:1 1 100%; }
  .planner-letter { padding:24px; }
  .planner-letter-entry { padding:20px 0; }
  .planner-timeline li { gap:0 16px; }
  .planner-timeline h3 { font-size:var(--subhead); }
  .planner-journey-note { padding:16px; gap:12px; }
  .planner-calculator { padding:24px; }
  .planner-input-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 12px; }
  .planner-input-grid>.field:last-child { grid-column:1/-1; }
  .planner-calculator form>.btn { width:100%; padding:12px 16px; height:auto; }
  .planner-result-time { padding:16px 12px; }
  .planner-result-verdict { padding:12px; }
  .planner-table th,.planner-table td { padding:16px; }
  .planner-table-scroll { margin-top:32px; }
  .planner-return-case { grid-template-columns:32px minmax(0,1fr); gap:12px; padding:20px; }
  .planner-return-index { width:32px; height:32px; }
  .planner-return-case h3 { font-size:var(--body); }
  .planner-scenario-grid { margin-top:32px; gap:16px; }
  .planner-scenario-card { padding:24px; }
  .planner-summary { padding:24px; }
  .planner-summary-list>div { padding-left:16px; }
  .planner-final { padding:48px 0; }
  .planner-final .actions { width:100%; flex-direction:column; align-items:stretch; }
}


/* Section and tool group headings */
.section-head,.content-head { margin-bottom:var(--s5); }
.tool-legend { display:block; margin:0 0 var(--s4); padding:0; font-size:var(--subhead); font-weight:500; line-height:1.5; color:var(--ink); }
.timeline article { align-items:start; }
.timeline article h2,.timeline article h3 { margin-top:0; }

/* Mailbox-only empty cards */
.inbox-empty { width:min(420px,calc(100% - 32px)); height:auto; min-height:0; margin:16px auto; padding:20px; border:1px solid var(--line); border-radius:var(--r-m); background:var(--paper); color:var(--ink); text-align:center; }
.inbox-empty h3 { margin:0 0 8px; font-size:var(--subhead); }
.inbox-empty p { font-size:var(--small); color:var(--muted); }


/* Notes index and article surfaces */
.notes-index-hero { padding:64px 0 56px; background:var(--mist); color:var(--ink); }
.notes-index-heading { position:relative; padding-right:160px; }
.notes-index-heading .eyebrow { margin-bottom:24px; }
.notes-index-heading h1 { max-width:820px; font-size:var(--h1); line-height:1.28; }
.notes-post-count { display:flex; width:fit-content; margin:24px 0 0; padding:6px 14px; background:var(--paper); color:var(--primary-dark); border:1px solid var(--line); }
.notes-index-lead { max-width:710px; margin-top:24px; font-size:var(--body); line-height:1.85; color:var(--muted); }
.notes-hero-postmark { position:absolute; right:0; top:24px; color:var(--stamp); }
.notes-index-body { padding-top:48px; padding-bottom:96px; }
.notes-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:stretch; }
.notes-card { display:flex; flex-direction:column; min-width:0; padding:32px; border:1px solid var(--line); border-radius:var(--r-m); background:var(--paper); color:var(--ink); transition:border-color .2s,background .2s,color .2s; }
.notes-card:hover { border-color:var(--primary); background:var(--mist); color:var(--ink); }
.notes-card:focus-visible { outline-color:var(--primary-dark); }
.notes-card-top { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.notes-meta-pill { display:inline-flex; align-items:center; width:fit-content; max-width:100%; padding:5px 12px; border-radius:var(--r-p); background:var(--primary-soft); color:var(--primary-dark); font-size:var(--caption); font-weight:500; line-height:1.5; }
.notes-card-number { font-family:var(--mono); font-size:var(--small); color:var(--faint); flex:none; }
.notes-card-date { display:block; margin-top:20px; font-size:var(--small); color:var(--muted); }
.notes-card-title { margin:20px 0 16px; font-size:var(--card-title); line-height:1.45; }
.notes-card-description { font-size:var(--body); font-weight:400; line-height:1.85; color:var(--muted); }
.notes-card-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px 24px; margin-top:auto; padding-top:32px; font-size:var(--small); }
.notes-reading-time { color:var(--muted); }
.notes-card-open { display:inline-flex; align-items:center; gap:12px; color:var(--primary-dark); font-weight:500; }
.notes-card-open svg { flex:none; }
.notes-script-notice { padding:24px; border:1px solid var(--line); border-radius:var(--r-m); background:var(--mist); color:var(--muted); font-size:var(--small); }

/* Notes article hero and reading chrome */
.notes-article-hero { padding:48px 0 56px; background:var(--mist); color:var(--ink); }
.notes-breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin:0 0 32px; font-size:var(--small); line-height:1.6; color:var(--muted); }
.notes-breadcrumbs ol { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; list-style:none; }
.notes-breadcrumbs li { display:inline-flex; align-items:center; gap:12px; min-width:0; }
.notes-breadcrumbs li+li::before { content:"/"; color:var(--faint); }
.notes-breadcrumbs a:hover { color:var(--primary-dark); text-decoration:underline; text-underline-offset:4px; }
.notes-breadcrumbs [aria-current="page"] { overflow-wrap:anywhere; }
.notes-article-hero .eyebrow { margin-bottom:24px; }
.notes-article-hero h1 { max-width:960px; font-size:var(--h1); line-height:1.3; }
.notes-article-hero .section-intro { max-width:820px; margin-top:24px; font-size:var(--subhead); line-height:1.85; color:var(--muted); }
.notes-article-meta { display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; margin-top:28px; font-size:var(--small); color:var(--muted); }
.notes-article-meta .notes-meta-pill { background:var(--paper); color:var(--primary-dark); border:1px solid var(--line); }
.notes-article-meta time { white-space:normal; }
.notes-article-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:64px; align-items:start; width:min(1120px,calc(100% - 48px)); margin:0 auto; padding:64px 0 96px; }
.notes-toc { position:sticky; top:calc(var(--header-h) + 24px); min-width:0; padding:24px; border:1px solid var(--line); border-radius:var(--r-m); background:var(--mist); color:var(--ink); font-size:var(--small); }
.notes-toc h2 { font-size:var(--subhead); line-height:1.5; letter-spacing:0; }
.notes-toc ol { display:grid; gap:12px; padding-left:20px; margin-top:20px; }
.notes-toc li { padding-left:4px; color:var(--muted); }
.notes-toc a { color:var(--text); overflow-wrap:anywhere; }
.notes-toc a:hover { color:var(--primary-dark); text-decoration:underline; text-underline-offset:4px; }
.notes-toc-count { display:block; margin-top:20px; padding-top:16px; border-top:1px solid var(--line); font-size:var(--caption); color:var(--muted); }
.notes-toc-mobile { display:none; }
.notes-prose { min-width:0; color:var(--text); font-size:var(--body); line-height:1.9; }
.notes-prose>p,.notes-prose section>p { margin:0 0 24px; font-weight:400; }
.notes-prose h2 { margin:48px 0 24px; font-size:var(--card-title); line-height:1.45; }
.notes-prose h3 { margin:32px 0 16px; font-size:var(--subhead); line-height:1.5; }
.notes-prose>h2:first-child { margin-top:0; }
.notes-prose section { padding:0; }
.notes-prose section+section { margin-top:48px; }
.notes-prose section>h2:first-child { margin-top:0; }
.notes-prose [id] { scroll-margin-top:calc(var(--header-h) + 24px); }
.notes-prose strong { color:var(--ink); font-weight:700; }
.notes-prose a:not(.btn) { color:var(--primary-dark); text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
.notes-prose a:not(.btn):hover { color:var(--ink); }
.notes-prose ul,.notes-prose ol { margin:24px 0 32px; padding-left:24px; }
.notes-prose li+li { margin-top:12px; }
.notes-prose code { padding:2px 6px; border-radius:var(--r-s); background:var(--mist2); color:var(--ink); font-family:var(--mono); font-size:var(--small); overflow-wrap:anywhere; }
.notes-prose pre { margin:24px 0 32px; padding:24px; border:1px solid var(--line); border-radius:var(--r-m); background:var(--mist); color:var(--ink); overflow:auto; font-family:var(--mono); font-size:var(--small); line-height:1.85; white-space:pre-wrap; overflow-wrap:anywhere; }
.notes-prose pre code { padding:0; border-radius:0; background:var(--mist); color:var(--ink); }
.notes-prose blockquote { margin:28px 0 32px; padding:24px; border-left:3px solid var(--primary); border-radius:var(--r-s); background:var(--mist); color:var(--text); }
.notes-prose blockquote p:last-child { margin-bottom:0; }
.notes-callout { margin:28px 0 32px; padding:24px; border-radius:var(--r-m); background:var(--warm); color:var(--warm-ink); }
.notes-callout h3 { margin:0 0 16px; color:var(--ink); font-size:var(--subhead); }
.notes-callout p { margin:0; font-size:var(--small); line-height:1.85; }
.notes-callout p+p { margin-top:16px; }
.notes-callout a:not(.btn) { color:var(--warm-ink); }
.notes-table-scroll { margin:28px 0 32px; overflow-x:auto; border:1px solid var(--line); border-radius:var(--r-m); background:var(--paper); color:var(--ink); }
.notes-table-scroll table { min-width:640px; font-size:var(--small); line-height:1.8; }
.notes-table-scroll caption { padding:16px 20px; text-align:left; background:var(--mist2); color:var(--ink); font-weight:500; }
.notes-table-scroll th { background:var(--mist); color:var(--muted); }
.notes-table-scroll tbody th { background:var(--paper); color:var(--ink); }
.notes-table-scroll td { background:var(--paper); color:var(--text); vertical-align:top; }
.notes-table-scroll tbody tr:last-child>* { border-bottom:0; }
.notes-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:28px 0 32px; }
.notes-choice-card { min-width:0; padding:24px; border:1px solid var(--line); border-radius:var(--r-m); background:var(--mist); color:var(--text); }
.notes-choice-card h3 { margin:0 0 16px; }
.notes-choice-card p { margin:0; font-size:var(--small); line-height:1.85; }
.notes-choice-card ul { margin:20px 0 0; font-size:var(--small); }
.notes-prose .notes-checklist { display:grid; gap:16px; list-style:none; padding:0; margin:28px 0 32px; }
.notes-checklist li { padding:20px 24px; border:1px solid var(--line); border-radius:var(--r-m); background:var(--paper); color:var(--text); }
.notes-checklist li+li { margin:0; }
.notes-checklist strong { display:block; margin-bottom:8px; font-size:var(--body); font-weight:500; }
.notes-checklist p { margin:0; font-size:var(--small); }
.notes-caption { margin:16px 0 32px; font-size:var(--caption); line-height:1.8; color:var(--muted); }

/* End-of-article actions */
.notes-article-cta { margin-top:48px; padding:32px; border-radius:var(--r-m); background:var(--dark); color:var(--dark-text); }
.notes-prose .notes-article-cta h2 { margin:0 0 20px; color:var(--paper); font-size:var(--card-title); }
.notes-article-cta>p { margin:0; color:var(--dark-text); font-size:var(--body); }
.notes-article-cta .actions { margin-top:28px; align-items:center; }
.notes-article-cta .btn { height:auto; min-height:48px; max-width:100%; padding:12px 20px; white-space:normal; }
.notes-prose .notes-article-cta .btn-primary { background:var(--mint); color:var(--ink); border-color:transparent; }
.notes-prose .notes-article-cta .btn-primary:hover { background:var(--mint-hover); color:var(--ink); }
.notes-prose .notes-article-cta .btn-line { background:transparent; color:var(--paper); border-color:var(--dark-border); }
.notes-prose .notes-article-cta .btn-line:hover { background:var(--paper); color:var(--ink); border-color:var(--paper); }
.notes-related { margin-top:40px; padding-top:32px; border-top:1px solid var(--line); }
.notes-related h2 { margin:0 0 20px; font-size:var(--subhead); }
.notes-related a { display:inline-block; font-size:var(--body); line-height:1.7; }
.notes-related p { margin-top:12px; font-size:var(--small); color:var(--muted); }

/* Recommendation uses the shared float-close control */
.notes-recommend { position:fixed; z-index:60; right:24px; bottom:24px; width:min(340px,calc(100% - 48px)); border:1px solid var(--line); border-radius:var(--r-m); background:var(--paper); color:var(--ink); box-shadow:0 16px 40px -20px rgba(var(--shadow-ink),.3); overflow:hidden; }
.notes-recommend-cover { display:flex; align-items:center; gap:16px; min-height:104px; padding:24px 56px 24px 24px; background:var(--mist2); color:var(--primary-dark); }
.notes-recommend-cover>svg { flex:none; }
.notes-recommend-cover>span { font-size:var(--small); line-height:1.6; font-weight:500; }
.notes-recommend>img { width:100%; height:140px; object-fit:cover; }
.notes-recommend-content { padding:24px; }
.notes-recommend-content h2,.notes-recommend-content h3 { margin:0; font-size:var(--subhead); line-height:1.5; }
.notes-recommend-content p { margin:16px 0 24px; font-size:var(--small); line-height:1.8; color:var(--muted); }
.notes-recommend .btn { height:auto; min-height:40px; padding:10px 16px; max-width:100%; white-space:normal; line-height:1.35; }
.notes-recommend .float-close { z-index:1; background:var(--paper); color:var(--ink); border-color:var(--soft-line); }
.notes-recommend .float-close:hover { background:var(--ink); color:var(--paper); border-color:var(--ink); }

@media (max-width:1100px) {
  .notes-article-layout { grid-template-columns:220px minmax(0,1fr); gap:40px; }
  .notes-card { padding:28px; }
}
@media (max-width:860px) {
  .notes-index-hero { padding:48px 0; }
  .notes-index-heading { padding-right:120px; }
  .notes-hero-postmark { width:80px; height:80px; top:16px; }
  .notes-index-body { padding-top:32px; padding-bottom:64px; }
  .notes-card-grid { gap:20px; }
  .notes-card { padding:24px; }
  .notes-card-title { font-size:var(--card-title); }
  .notes-card-description { font-size:var(--small); }
  .notes-card-bottom { align-items:flex-start; flex-direction:column; gap:12px; }
  .notes-article-hero { padding:40px 0; }
  .notes-breadcrumbs { margin-bottom:24px; }
  .notes-article-hero .section-intro { font-size:var(--body); }
  .notes-article-layout { grid-template-columns:minmax(0,1fr); gap:32px; padding-top:40px; padding-bottom:64px; }
  .notes-toc { position:static; }
  .notes-toc-mobile { display:block; padding:0; border:1px solid var(--line); border-radius:var(--r-m); background:var(--mist); color:var(--ink); }
  .notes-toc-mobile summary { position:relative; padding:16px 48px 16px 20px; font-size:var(--small); font-weight:500; color:var(--ink); }
  .notes-toc-mobile summary .chevron { right:22px; }
  .notes-toc-mobile[open] summary .chevron { transform:translateY(calc(-50% + 1px)) rotate(225deg); }
  .notes-toc-mobile nav { padding:0 20px 20px; }
  .notes-toc-mobile ol { display:grid; gap:12px; padding-left:20px; font-size:var(--small); color:var(--text); }
  .notes-toc-mobile .notes-toc-count { margin-top:20px; }
  .notes-article-layout:has(.notes-toc-mobile)>.notes-toc { display:none; }
  .notes-prose h2 { margin-top:40px; font-size:var(--card-title); }
  .notes-prose section+section { margin-top:40px; }
  .notes-choice-grid { gap:16px; }
}
@media (max-width:560px) {
  .notes-index-hero { padding:32px 0 40px; }
  .notes-index-heading { padding-right:0; }
  .notes-index-heading h1 { max-width:100%; }
  .notes-hero-postmark { display:none; }
  .notes-post-count { margin-top:20px; }
  .notes-index-lead { margin-top:24px; font-size:var(--body); }
  .notes-index-body { padding-top:24px; padding-bottom:48px; }
  .notes-card-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
  .notes-card { padding:24px; }
  .notes-card-title { font-size:var(--card-title); line-height:1.45; }
  .notes-card-bottom { flex-direction:row; align-items:center; flex-wrap:wrap; padding-top:28px; }
  .notes-article-hero { padding:32px 0; }
  .notes-breadcrumbs { font-size:var(--caption); }
  .notes-article-hero h1 { font-size:var(--h1); line-height:1.3; }
  .notes-article-meta { gap:12px 16px; margin-top:24px; font-size:var(--caption); }
  .notes-article-layout { width:calc(100% - 32px); padding-top:32px; padding-bottom:48px; gap:28px; }
  .notes-prose { font-size:var(--body); line-height:1.85; }
  .notes-prose h2 { font-size:var(--card-title); }
  .notes-prose h3 { font-size:var(--subhead); }
  .notes-prose pre,.notes-prose blockquote,.notes-callout { padding:20px; }
  .notes-choice-grid { grid-template-columns:minmax(0,1fr); }
  .notes-choice-card { padding:20px; }
  .notes-checklist li { padding:20px; }
  .notes-table-scroll th,.notes-table-scroll td { padding:16px; }
  .notes-article-cta { padding:24px; margin-top:40px; }
  .notes-article-cta .actions { flex-direction:column; align-items:stretch; }
  .notes-recommend { right:16px; bottom:16px; width:calc(100% - 32px); max-height:calc(100dvh - var(--header-h) - 32px); overflow:auto; }
  .notes-recommend-cover { min-height:88px; padding:20px 56px 20px 20px; }
  .notes-recommend-content { padding:20px; }
}


/* Account migration article */
.migration-measure { width:min(1080px,calc(100% - 48px)); margin-inline:auto; }
.migration-hero { padding:96px 0 56px; background:var(--mist); color:var(--ink); }
.migration-hero .breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-bottom:32px; font-size:var(--small); color:var(--muted); }
.migration-hero .breadcrumbs a:hover { color:var(--primary-dark); text-decoration:underline; text-underline-offset:4px; }
.migration-hero .eyebrow { margin-bottom:20px; }
.migration-hero h1 { max-width:920px; font-size:var(--h1); line-height:1.28; }
.migration-meta { margin-top:24px; }
.migration-meta-pill { display:inline-flex; flex-wrap:wrap; align-items:center; gap:8px 12px; max-width:100%; padding:8px 16px; border-radius:var(--r-p); background:var(--paper); color:var(--muted); font-size:var(--small); line-height:1.5; }
.migration-deck { max-width:820px; font-size:var(--subhead); line-height:1.85; color:var(--muted); }
.migration-dispatch { display:flex; align-items:center; gap:20px; max-width:820px; margin-top:32px; padding:24px; background:var(--warm); color:var(--warm-ink); border-radius:var(--r-m); }
.migration-dispatch svg { flex:none; color:var(--stamp); }
.migration-dispatch p { font-size:var(--small); line-height:1.85; }
.migration-dispatch strong { font-weight:500; color:var(--ink); }
.migration-reading { display:grid; grid-template-columns:240px minmax(0,1fr); gap:64px; align-items:start; padding:64px 0 96px; }
.migration-sidebar { position:sticky; top:calc(var(--header-h) + 16px); z-index:3; min-width:0; }
.migration-toc { padding:20px; max-height:calc(100dvh - var(--header-h) - 32px); overflow:auto; border:1px solid var(--line); border-radius:var(--r-m); background:var(--mist); color:var(--ink); }
.migration-toc summary { position:relative; padding-right:20px; font-size:var(--small); font-weight:500; line-height:1.5; }
.migration-toc summary .chevron { right:2px; }
.migration-toc[open] summary .chevron { transform:translateY(1px) rotate(225deg); }
.migration-toc ol { margin:20px 0 0; padding-left:24px; font-size:var(--small); line-height:1.6; }
.migration-toc li { padding-left:2px; }
.migration-toc li+li { margin-top:8px; }
.migration-toc li::marker { color:var(--muted); font-family:var(--mono); font-size:var(--caption); }
.migration-toc a:hover { color:var(--primary-dark); text-decoration:underline; text-underline-offset:3px; }
.migration-toc .migration-count { margin-top:20px; background:var(--primary-soft); color:var(--primary-dark); font-size:var(--caption); }
.migration-prose { min-width:0; }
.migration-prose .migration-opening { margin-bottom:32px; color:var(--muted); }
.migration-chapter { padding:0; scroll-margin-top:calc(var(--header-h) + 32px); }
.migration-chapter+.migration-chapter { margin-top:48px; }
.migration-prose .migration-chapter>h2 { margin:0 0 20px; font-size:var(--card-title); line-height:1.45; }
.migration-prose h3 { font-size:var(--subhead); line-height:1.5; margin:28px 0 16px; }
.migration-prose p { font-weight:400; }
.migration-prose li+li { margin-top:8px; }
.migration-prose strong { font-weight:500; color:var(--ink); }
.migration-table { margin:28px 0 32px; border:1px solid var(--line); border-radius:var(--r-m); background:var(--paper); color:var(--text); }
.migration-table table { min-width:580px; font-size:var(--small); line-height:1.8; }
.migration-table caption { text-align:left; padding:16px; background:var(--mist2); color:var(--ink); font-size:var(--small); font-weight:500; }
.migration-table th,.migration-table td { padding:16px; vertical-align:top; }
.migration-table tbody th { width:22%; font-weight:500; background:var(--paper); color:var(--ink); }
.migration-table tbody tr:last-child>* { border-bottom:0; }
.migration-choices { display:grid; gap:16px; margin:24px 0 32px; }
.migration-choices>div { padding:24px; border:1px solid var(--line); border-radius:var(--r-m); background:var(--mist); color:var(--text); }
.migration-choices>div:last-child { background:var(--warm); color:var(--warm-ink); border-color:var(--warm-line); }
.migration-prose .migration-choices h3 { margin:0 0 12px; font-size:var(--subhead); }
.migration-prose .migration-choices p { margin:0; font-size:var(--small); line-height:1.85; }
.migration-prose .migration-action-list { margin:24px 0 32px; padding-left:24px; }
.migration-action-list li { padding-left:8px; }
.migration-action-list li::marker { color:var(--primary-dark); font-family:var(--mono); }
.migration-prose .migration-final-check { padding:24px 24px 24px 44px; margin:24px 0 32px; border-radius:var(--r-m); background:var(--mist2); color:var(--text); font-size:var(--small); }
.migration-final-check li { padding-left:4px; }
.migration-endcard { display:grid; grid-template-columns:48px minmax(0,1fr); gap:20px; margin-top:48px; }
.migration-endcard>svg { color:var(--mint); }
.migration-prose .migration-endcard h2 { margin:0 0 20px; font-size:var(--card-title); color:var(--paper); line-height:1.4; }
.migration-prose .migration-endcard p { margin-bottom:0; font-size:var(--small); color:var(--dark-text); }
.migration-prose .migration-endcard .actions { margin-top:28px; }
.migration-prose .migration-endcard .btn { max-width:100%; height:auto; min-height:48px; padding:12px 20px; white-space:normal; }
.migration-prose .migration-endcard .btn-primary { background:var(--mint); color:var(--ink); border-color:transparent; }
.migration-prose .migration-endcard .btn-primary:hover { background:var(--mint-hover); color:var(--ink); }
.migration-prose .migration-end-secondary { background:var(--dark-card); color:var(--paper); border-color:var(--dark-border); }
.migration-prose .migration-end-secondary:hover { background:var(--dark-hover); color:var(--paper); border-color:var(--mint); }
.migration-back { display:inline-block; margin-top:32px; font-size:var(--small); }
.migration-recommend { z-index:60; width:min(320px,calc(100% - 48px)); }
.migration-recommend-top { display:flex; align-items:center; gap:12px; padding:16px 52px 16px 20px; background:var(--warm); color:var(--warm-ink); font-size:var(--caption); }
.migration-recommend-top svg { flex:none; color:var(--stamp); }
.migration-recommend .float-close { position:absolute; top:12px; right:12px; background:var(--paper); color:var(--ink); }
.migration-recommend .recommend-float-content { padding:20px; }
.migration-recommend h3 { padding-right:0; font-size:var(--subhead); line-height:1.5; }
.migration-recommend .actions { gap:8px; }
.migration-recommend .btn { padding:10px 16px; max-width:100%; min-height:40px; height:auto; white-space:normal; line-height:1.35; }

@media (max-width:860px) {
  .migration-reading { grid-template-columns:minmax(0,1fr); gap:32px; padding-top:40px; padding-bottom:64px; }
  .migration-sidebar { position:static; }
  .migration-toc { max-height:none; }
  .migration-toc ol { columns:2; column-gap:32px; }
  .migration-toc li { break-inside:avoid; }
  .migration-recommend { width:min(300px,calc(100% - 32px)); right:16px; bottom:16px; }
}
@media (max-width:560px) {
  .migration-measure { width:calc(100% - 32px); }
  .migration-hero { padding:96px 0 40px; }
  .migration-hero .breadcrumbs { font-size:var(--caption); gap:8px; margin-bottom:28px; }
  .migration-hero h1 { font-size:var(--h1); line-height:1.3; }
  .migration-meta-pill { font-size:var(--caption); gap:8px; padding:8px 12px; }
  .migration-deck { font-size:var(--body); }
  .migration-dispatch { padding:20px; align-items:flex-start; gap:12px; }
  .migration-dispatch svg { width:32px; height:32px; }
  .migration-reading { padding-top:32px; padding-bottom:56px; }
  .migration-toc { padding:16px 20px; }
  .migration-toc ol { columns:auto; }
  .migration-chapter+.migration-chapter { margin-top:40px; }
  .migration-prose .migration-chapter>h2 { font-size:var(--card-title); }
  .migration-choices>div { padding:20px; }
  .migration-endcard { grid-template-columns:minmax(0,1fr); padding:24px; gap:20px; }
  .migration-endcard .actions { align-items:stretch; flex-direction:column; }
  .migration-recommend .recommend-float-content { padding:16px; }
  .migration-recommend h3 { font-size:var(--body); }
  .migration-recommend p { margin:8px 0 12px; font-size:var(--caption); }
  .migration-recommend-top { padding-top:12px; padding-bottom:12px; }
}


/* Verification request article */
.request-note-wrap { width:min(1080px,calc(100% - 48px)); margin:0 auto; }
.request-note-hero { padding:96px 0 48px; background:var(--mist); color:var(--ink); }
.request-note-hero .breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-bottom:32px; color:var(--muted); font-size:var(--small); }
.request-note-hero .breadcrumbs a:hover { color:var(--primary-dark); text-decoration:underline; text-underline-offset:4px; }
.request-note-hero h1 { max-width:960px; font-size:var(--h1); line-height:1.28; }
.request-note-lead { max-width:800px; color:var(--muted); font-size:var(--subhead); line-height:1.85; }
.request-note-meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:28px; font-size:var(--caption); }
.request-note-meta>span { display:inline-flex; align-items:center; padding:6px 12px; border:1px solid var(--line); border-radius:var(--r-p); background:var(--paper); color:var(--muted); }
.request-note-layout { align-items:start; }
.request-note-toc { z-index:2; padding:20px; max-height:calc(100dvh - var(--header-h) - 40px); overflow:auto; border-color:var(--line); background:var(--mist); color:var(--ink); }
.request-note-toc summary { position:relative; padding-right:20px; color:var(--ink); font-weight:500; }
.request-note-toc summary .chevron { display:none; }
.request-note-toc ol { margin-top:20px; padding-left:20px; color:var(--muted); font-size:var(--small); line-height:1.6; }
.request-note-toc li+li { margin-top:8px; }
.request-note-toc a:hover { color:var(--primary-dark); text-decoration:underline; text-underline-offset:3px; }
.request-note-toc .toc-count { display:inline-flex; margin-top:20px; background:var(--primary-soft); color:var(--primary-dark); }
.request-note-prose strong { font-weight:500; color:var(--ink); }
.request-note-prose li+li { margin-top:8px; }
.request-note-prose .request-note-section { padding:0; scroll-margin-top:calc(var(--header-h) + 24px); }
.request-note-section+.request-note-section { margin-top:40px; }
.request-note-prose .request-note-section>h2 { margin:0 0 20px; font-size:var(--card-title); line-height:1.45; }
.request-note-prose .request-note-section>p:last-child { margin-bottom:0; }
.request-note-takeaway { display:flex; align-items:flex-start; gap:16px; padding:24px; margin-bottom:40px; border-radius:var(--r-m); background:var(--mist2); color:var(--text); }
.request-note-takeaway svg { flex:none; color:var(--primary); margin-top:4px; }
.request-note-takeaway p { margin:0; font-size:var(--small); line-height:1.85; }
.request-note-check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:24px 0 32px; }
.request-note-check { padding:24px; border:1px solid var(--line); border-radius:var(--r-m); background:var(--paper); color:var(--ink); min-width:0; }
.request-note-check-label { display:block; font-size:var(--caption); color:var(--primary-dark); }
.request-note-prose .request-note-check h3 { margin:20px 0 12px; font-size:var(--subhead); line-height:1.5; }
.request-note-check p { margin:0; font-size:var(--small); line-height:1.85; color:var(--muted); }
.request-note-example { margin:24px 0 32px; padding:24px; border-radius:var(--r-m); background:var(--warm); color:var(--warm-ink); }
.request-note-example figcaption { font-size:var(--small); color:var(--warm-ink); margin-bottom:24px; }
.request-note-prose .request-note-event-list { display:grid; gap:16px; margin:0; padding:0; list-style:none; }
.request-note-prose .request-note-event-list li { display:grid; grid-template-columns:88px minmax(0,1fr); gap:16px; align-items:start; margin:0; font-size:var(--small); }
.request-note-event-list time { font-family:var(--mono); letter-spacing:0; color:var(--ink); }
.request-note-example>p { margin:24px 0 0; padding-top:20px; border-top:1px dashed var(--warm-border); font-size:var(--small); line-height:1.85; }
.request-note-table { margin:24px 0 32px; border:1px solid var(--line); border-radius:var(--r-m); background:var(--paper); color:var(--text); }
.request-note-table table { min-width:580px; font-size:var(--small); line-height:1.8; }
.request-note-table caption { text-align:left; padding:16px; background:var(--mist2); color:var(--ink); }
.request-note-table th,.request-note-table td { vertical-align:top; }
.request-note-table tbody th { background:var(--paper); color:var(--ink); font-weight:500; width:23%; }
.request-note-table tbody tr:last-child>* { border-bottom:0; }
.request-note-support { margin:24px 0 32px; padding:24px; border-radius:var(--r-m); background:var(--mist); color:var(--text); }
.request-note-prose .request-note-support h3 { margin:0 0 16px; font-size:var(--subhead); }
.request-note-support p { margin:0; font-size:var(--small); line-height:1.85; }
.request-note-cta>svg { display:block; color:var(--mint); margin-bottom:24px; }
.request-note-prose .request-note-cta h2 { margin:0 0 20px; font-size:var(--card-title); line-height:1.45; }
.request-note-cta p { color:var(--dark-text); margin-bottom:0; font-size:var(--body); }
.request-note-cta .btn { padding:12px 20px; height:auto; max-width:100%; white-space:normal; }
.request-note-prose .request-note-cta .btn-primary { background:var(--mint); color:var(--ink); border-color:transparent; }
.request-note-prose .request-note-cta .btn-primary:hover { background:var(--mint-hover); color:var(--ink); }
.request-note-cta .btn-line { background:transparent; color:var(--paper); border-color:var(--dark-border); }
.request-note-cta .btn-line:hover { background:var(--paper); color:var(--ink); border-color:var(--paper); }
.request-note-back { display:inline-block; margin-top:32px; font-size:var(--small); }
.request-note-float { z-index:60; width:min(320px,calc(100% - 48px)); }
.request-note-float-top { display:flex; align-items:center; gap:12px; padding:16px 52px 16px 20px; background:var(--warm); color:var(--warm-ink); font-size:var(--caption); }
.request-note-float-top svg { flex:none; color:var(--stamp); }
.request-note-float .float-close { position:absolute; top:12px; right:12px; background:var(--paper); color:var(--ink); border-color:var(--warm-border); }
.request-note-float .recommend-float-content { padding:20px; }
.request-note-float h3 { padding-right:0; font-size:var(--subhead); line-height:1.5; }
.request-note-float p { margin:12px 0 20px; font-size:var(--small); }
.request-note-float .actions { gap:8px; }
.request-note-float .btn { max-width:100%; white-space:normal; height:auto; padding:10px 16px; line-height:1.35; }

@media (max-width:860px) {
  .request-note-hero { padding-top:96px; padding-bottom:40px; }
  .request-note-layout { gap:32px; }
  .request-note-toc { position:static; max-height:none; overflow:visible; z-index:1; }
  .request-note-toc summary .chevron { display:block; right:4px; }
  .request-note-toc details[open] summary .chevron { transform:translateY(-50%) rotate(225deg); }
  .request-note-toc ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 32px; }
  .request-note-toc li+li { margin-top:0; }
}
@media (max-width:560px) {
  .request-note-wrap { width:calc(100% - 32px); }
  .request-note-hero h1 br { display:none; }
  .request-note-lead { font-size:var(--body); }
  .request-note-meta { gap:8px; margin-top:24px; }
  .request-note-meta>span { padding:6px 10px; }
  .request-note-toc ol { display:block; }
  .request-note-toc li+li { margin-top:8px; }
  .request-note-check-grid { grid-template-columns:minmax(0,1fr); }
  .request-note-check { padding:20px; }
  .request-note-takeaway { padding:20px; gap:12px; }
  .request-note-takeaway svg { width:24px; height:24px; }
  .request-note-example,.request-note-support { padding:20px; }
  .request-note-prose .request-note-event-list li { grid-template-columns:minmax(0,1fr); gap:4px; }
  .request-note-prose .request-note-section>h2 { font-size:var(--card-title); }
  .request-note-cta { padding:24px; }
  .request-note-cta .actions { align-items:stretch; flex-direction:column; }
  .request-note-float { right:16px; bottom:16px; width:calc(100% - 32px); }
  .request-note-float-top { padding-top:12px; padding-bottom:12px; }
  .request-note-float .recommend-float-content { padding:16px 20px; }
  .request-note-float p { margin:8px 0 12px; }
}


/* Article root */
.migration-note { min-width:0; }


/* Local review corrections */
[data-lang-trigger] { position:relative; }
[data-lang-trigger] .chevron {
  position:static;
  top:auto;
  bottom:auto;
  width:7px;
  height:7px;
  flex:none;
  border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;
  transform:rotate(45deg);
}
[data-lang-trigger][aria-expanded="true"] .chevron {
  transform:rotate(45deg);
}
[data-desk-root] [data-2fa-disable]:not(.form-actions *) {
  margin-top:var(--s4);
}
