:root {
  --wrap:1280px;
  --header-h:72px;
  --h1:40px;
  --h2:32px;
  --h3:20px;
  --body:15px;
  --small:13px;
  --display-code:32px;
  --lead:17px;
  --weight-normal:400;
  --weight-medium:500;
  --weight-bold:600;
  --radius-control:999px;
  --radius-card:14px;
  --radius-inner:8px;
  --s1:4px;
  --s2:8px;
  --s3:12px;
  --s4:16px;
  --s5:24px;
  --s6:48px;
  --s7:96px;
  --paper:#ffffff;
  --ink:#1c2a33;
  --text:#45525c;
  --muted:#606f7b;
  --line:#e3e8eb;
  --line-strong:#cfd8dc;
  --line-control:#d4dbdf;
  --line-window:#e6ebee;
  --line-active:#c7d6dc;
  --line-dashed:#b9c6cc;
  --line-decor:#c9d3d8;
  --dot-inactive:#cdd5d9;
  --primary:#1f6a85;
  --primary-d:#17566c;
  --primary-wash:#f3f8fa;
  --selected:#f4f8fa;
  --amber:#f2b04a;
  --amber-t:#fbe2b3;
  --mint:#f1f8f5;
  --mint-2:#d8ede3;
  --mint-edge:#93ccb6;
  --mint-ink:#24503f;
  --mint-text:#4a5f56;
  --mint-copy:#3c5f51;
  --mint-decor:#e6f3ed;
  --mint-scene:#e3f1ea;
  --mint-cut:#e8f4ee;
  --cream:#fdf6ec;
  --cream-ink:#5b4120;
  --bg2:#fafbfb;
  --wa:#1fa855;
  --wa-wash:#e5f5ec;
  --code-wash:#f2f8f4;
  --abnb:#e8505b;
  --success:#247657;
  --live:#3aa77c;
  --shadow-ink:28,42,51;
  --shadow-mint:36,80,63;
  --shadow-cream:91,65,32;
  --shadow:0 8px 28px rgba(var(--shadow-ink),.08),0 1px 2px rgba(var(--shadow-ink),.06);
  --shadow-window:0 18px 48px rgba(var(--shadow-ink),.12),0 1px 3px rgba(var(--shadow-ink),.08);
  --sans:"Poppins","Avenir Next","Segoe UI","PingFang SC","Hiragino Sans GB","Noto Sans SC","Microsoft YaHei",sans-serif;
  --mono:"JetBrains Mono","SF Mono","Menlo","Consolas","PingFang SC",monospace;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--header-h) + var(--s5)); }
html,body { margin:0; }
body { font-family:var(--sans); font-size:var(--body); line-height:1.6; color:var(--text); background:var(--paper); -webkit-font-smoothing:antialiased; }
body.sheet-open,body.modal-open { overflow:hidden; }
[hidden] { display:none !important; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
button { cursor:pointer; }
button:disabled { cursor:wait; opacity:.6; }
button,a,input,textarea,summary { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
input:focus,textarea:focus { border-color:var(--ink); outline:1px solid var(--ink); outline-offset:0; box-shadow:none; }
h1,h2,h3,h4,p { margin:0; }
h1,h2,h3,h4 { color:var(--ink); }
h1,h2 { text-wrap:balance; }
h1 em,h2 em { font-style:normal; }
h1 { font-size:var(--h1); font-weight:var(--weight-bold); line-height:1.25; letter-spacing:-.02em; }
h2 { font-size:var(--h2); font-weight:var(--weight-bold); line-height:1.3; letter-spacing:-.02em; }
h3 { font-size:var(--h3); font-weight:var(--weight-medium); line-height:1.4; }
img,svg { vertical-align:middle; }
img { max-width:100%; }
code,pre { font-family:var(--mono); letter-spacing:0; }
pre { white-space:pre-wrap; overflow-wrap:anywhere; }
.wrap { width:min(var(--wrap),calc(100% - 64px)); margin:0 auto; min-width: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; top:var(--s2); left:var(--s4); z-index:300; padding:var(--s3) var(--s5); background:var(--ink); color:var(--paper); border-radius:var(--radius-control); transform:translateY(-160%); }
.skip-link:focus { transform:none; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:var(--s2); height:40px; padding:0 20px; border-radius:var(--radius-control); font:var(--weight-medium) var(--body)/1 var(--sans); border:1px solid transparent; cursor:pointer; text-decoration:none; vertical-align:middle; transition:background .2s,border-color .2s,color .2s; max-width:100%; }
.btn-fill { background:var(--primary); color:var(--paper); }
.btn-fill:hover { background:var(--primary-d); color:var(--paper); }
.btn-line { background:var(--paper); color:var(--primary); border-color:var(--primary); }
.btn-line:hover { background:var(--primary-wash); color:var(--primary-d); }
.btn-ghost { background:var(--paper); color:var(--muted); border-color:var(--line-control); }
.btn-ghost:hover { background:var(--paper); color:var(--primary); border-color:var(--primary); }
.btn-dark { background:var(--ink); color:var(--paper); }
.btn-dark:hover { background:var(--primary-d); color:var(--paper); }
.btn-sm { height:32px; padding:0 var(--s4); font-size:var(--small); }
.btn-icon { width:36px; height:36px; padding:0; flex:none; }
.actions { display:flex; align-items:center; flex-wrap:wrap; gap:var(--s3); }
.text-link { color:var(--primary); text-decoration:underline; text-underline-offset:3px; }
.chevron { width:7px; height:7px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; flex:none; transform:rotate(45deg); }
.eyebrow { display:block; width:fit-content; min-width:0; max-width:min(100%,calc(100vw - 48px)); overflow-wrap:anywhere; margin:0 0 20px; color:var(--primary); font-size:var(--small); font-weight:var(--weight-medium); }
.section-intro { margin-top:20px; font-size:var(--lead); font-weight:var(--weight-normal); }
.banner { min-height:52px; background:var(--primary); display:flex; align-items:center; justify-content:center; position:relative; padding:6px 48px; }
.banner::before { content:""; position:absolute; inset:50% 0 0; background:var(--amber); pointer-events:none; }
.banner a { position:relative; display:inline-flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:var(--s3); background:var(--paper); border-radius:var(--radius-control); padding:6px 20px; font-size:var(--small); color:var(--ink); box-shadow:0 2px 8px rgba(var(--shadow-ink),.12); max-width:100%; line-height:1.6; }
.banner b { font-weight:var(--weight-bold); }
.banner .x { position:absolute; right:24px; top:16px; width:20px; height:20px; border:0; padding:0; border-radius:var(--radius-control); background:rgba(var(--shadow-ink),.25); color:var(--paper); display:flex; align-items:center; justify-content:center; }
.site-header { position:sticky; top:0; z-index:60; }
.nav { height:var(--header-h); border-bottom:1px solid var(--line); background:var(--paper); position:sticky; top:0; z-index:60; }
.nav .wrap { height:100%; display:flex; align-items:center; position:relative; }
.brand { display:inline-flex; align-items:center; gap:var(--s2); font-weight:var(--weight-bold); font-size:20px; color:var(--ink); letter-spacing:-.01em; flex:none; }
.brand img { width:32px; height:32px; display:block; }
.links { display:flex; gap:32px; margin-left:64px; font-size:var(--body); color:var(--ink); }
.links a { padding:8px 0; border-bottom:2px solid transparent; white-space:nowrap; }
.links a:hover { color:var(--primary); }
.links a.on,.links a[aria-current="page"] { color:var(--primary); border-bottom-color:var(--primary); }
.nav-right { margin-left:auto; display:flex; gap:var(--s3); align-items:center; }
.language { position:relative; }
.lang { position:relative; display:inline-flex; align-items:center; gap:var(--s2); min-height:40px; padding:0 36px 0 16px; border-radius:var(--radius-control); border:1px solid var(--line-control); font-size:var(--body); color:var(--ink); background:var(--paper); }
.lang .chevron { position:absolute; right:16px; top:50%; transform:translateY(calc(-50% - .12em)) rotate(45deg); }
.lang-menu { position:absolute; top:calc(100% + 12px); right:0; width:188px; padding:var(--s2); border:1px solid var(--line); border-radius:var(--radius-card); background:var(--paper); color:var(--ink); box-shadow:var(--shadow); z-index:100; }
.lang-menu a { display:flex; align-items:center; min-height:40px; padding:var(--s2) var(--s3); border-radius:var(--radius-inner); }
.lang-menu a:hover,.lang-menu a[aria-current] { background:var(--mint); color:var(--mint-ink); }
.menu-toggle { display:none; background:var(--paper); color:var(--ink); border:1px solid var(--line-control); border-radius:var(--radius-control); width:40px; height:40px; align-items:center; justify-content:center; padding:0; }
.menu-toggle svg { width:18px; height:18px; }
.nav-drawer { position:fixed; left:24px; right:auto; top:calc(var(--header-h) + 12px); width:min(320px,calc(100% - 48px)); text-align:left; padding:var(--s3); border-radius:var(--radius-card); border:1px solid var(--line); box-shadow:var(--shadow-window); background:var(--paper); color:var(--ink); z-index:110; }
.nav-drawer a { display:block; padding:var(--s3) var(--s4); border-radius:var(--radius-inner); }
.nav-drawer a:hover,.nav-drawer a[aria-current],.nav-drawer a.on { background:var(--mint); color:var(--mint-ink); }
.x-short { display:none; }
.hero { padding:56px 0 72px; position:relative; overflow:hidden; }
.hero .wrap { display:grid; grid-template-columns:minmax(0,1fr); gap:40px; align-items:start; }
.hero h1 { font-size:clamp(44px,4vw,56px); line-height:1.18; font-weight:var(--weight-bold); color:var(--ink); letter-spacing:-.02em; max-width:16em; }
.hero .left { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.9fr); column-gap:56px; align-items:start; width:100%; max-width:none; margin:0; }
.hero-lead { display:flex; flex-direction:column; align-items:flex-start; gap:28px; min-width:0; }
.hero .left > .rows { min-width:0; }
.switch { display:flex; flex-wrap:wrap; gap:var(--s3); margin:0; }
.switch a { display:inline-flex; align-items:center; justify-content:center; gap:var(--s2); min-height:44px; padding:10px 24px; border-radius:var(--radius-control); font-weight:var(--weight-medium); font-size:var(--body); border:1px solid var(--line-control); color:var(--ink); background:var(--paper); line-height:1.35; }
.switch a.on { background:var(--ink); border-color:var(--ink); color:var(--paper); }
.switch a:not(.on):hover { border-color:var(--primary); color:var(--primary); background:var(--paper); }
.rows { display:flex; flex-direction:column; gap:8px; padding:8px; background:var(--mint); border-radius:var(--radius-card); }
.row { display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:var(--s4); align-items:center; padding:var(--s4) var(--s5); background:var(--paper); border-radius:var(--radius-inner); }
.row h3 { font-size:var(--h3); font-weight:var(--weight-medium); color:var(--ink); line-height:1.4; }
.row p { font-size:var(--body); color:var(--text); }
.row .ico { width:40px; height:40px; align-self:start; margin-top:4px; }
.card-on { background:var(--paper); border-radius:var(--radius-card); border-top:4px solid var(--mint-edge); box-shadow:var(--shadow); padding:20px 24px 16px; }
.card-on .lbl { font-size:var(--small); color:var(--muted); }
.addr { display:flex; align-items:center; justify-content:space-between; gap:var(--s4); margin-top:var(--s1); }
.addr code { font-family:var(--mono); font-size:20px; letter-spacing:0; white-space:nowrap; color:var(--ink); font-weight:var(--weight-medium); overflow:auto; min-width:0; }
.addr .btn { flex:none; }
.perf { border-top:1px dashed var(--line-strong); margin:16px 0 12px; }
.stub { display:flex; flex-wrap:wrap; gap:var(--s5); font-size:var(--small); color:var(--muted); }
.stub b { font-family:var(--mono); font-weight:var(--weight-medium); color:var(--ink); }
.live {
  display:inline-flex;
  align-items:center;
  gap:var(--s2);
  font-size:var(--small);
  color:var(--mint-ink);
  background:var(--mint);
  border-radius:var(--radius-control);
  padding:4px 12px;
  white-space:normal;
  max-width:100%;
}
.row:has(.live) {
  grid-template-columns:40px minmax(0,1fr);
}
.row:has(.live) .live {
  grid-column:2;
  justify-self:start;
}
.live i { width:8px; height:8px; border-radius:var(--radius-control); background:var(--live); box-shadow:0 0 0 4px rgba(var(--shadow-mint),.12); }
.right { position:relative; height:auto; width:100%; min-width:0; max-width:none; margin:0; padding-top:128px; }
.hero-art { position:absolute; left:6%; right:4%; top:0; height:160px; z-index:0; pointer-events:none; }
.hero-art svg { width:100%; height:100%; display:block; }
.float { position:absolute; z-index:3; left:28px; top:0; display:flex; align-items:center; gap:var(--s3); background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-card); padding:12px 16px; box-shadow:0 10px 30px rgba(var(--shadow-ink),.10); animation:rise .8s ease-out both; }
.float .t { font-size:var(--small); color:var(--muted); line-height:1.3; }
.float code { font-family:var(--mono); font-size:var(--lead); color:var(--ink); font-weight:var(--weight-medium); letter-spacing:0; }
.float .av { background:var(--wa-wash); width:32px; height:32px; }
@keyframes rise {
  from { opacity:0; transform:translateY(8px); }
  to { opacity:1; transform:none; }
}
.win { position:relative; z-index:2; right:auto; top:auto; width:100%; height:680px; min-height:600px; background:var(--paper); border-radius:var(--radius-card); box-shadow:var(--shadow-window); border:1px solid var(--line-window); overflow:hidden; display:flex; flex-direction:column; }
.win-hd { height:56px; display:flex; align-items:center; gap:var(--s3); padding:0 20px; border-bottom:1px solid var(--line); flex:none; }
.win-hd h4 { font-size:var(--lead); font-weight:var(--weight-bold); color:var(--ink); white-space:nowrap; }
.chip,.status-pill { display:inline-flex; align-items:center; justify-content:center; width:fit-content; font-size:var(--small); line-height:1.35; padding:4px 8px; border-radius:var(--radius-control); background:var(--mint); color:var(--mint-ink); }
.win-hd code { font-family:var(--mono); font-size:var(--small); color:var(--muted); letter-spacing:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }
.win-hd .btn { margin-left:auto; flex:none; }
.win-bd { flex:1; display:grid; grid-template-columns:240px minmax(0,1fr); min-height:0; }
.list { border-right:1px solid var(--line); display:flex; flex-direction:column; min-width:0; overflow-y:auto; }
.item { width:100%; height:76px; min-height:76px; flex:none; padding:12px 16px; display:grid; grid-template-columns:36px minmax(0,1fr); gap:var(--s3); border:0; border-bottom:1px solid var(--line); align-items:center; text-align:left; font:inherit; background:var(--paper); color:var(--text); }
.item.sel,.item.is-active { background:var(--selected); color:var(--ink); box-shadow:inset 3px 0 0 var(--primary); }
.item:hover { background:var(--primary-wash); color:var(--ink); }
.av { width:36px; height:36px; border-radius:var(--radius-control); display:flex; align-items:center; justify-content:center; flex:none; font-size:var(--small); font-weight:var(--weight-bold); background:var(--mint-2); color:var(--mint-ink); }
.av svg { width:20px; height:20px; }
.av-wa { background:var(--wa); color:var(--paper); }
.av-airbnb { background:var(--abnb); color:var(--paper); }
.item-copy { min-width:0; }
.item .top { display:flex; align-items:center; gap:var(--s2); font-size:var(--body); font-weight:var(--weight-bold); color:var(--ink); line-height:1.4; }
.item .top .sender { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.item .top time { margin-left:auto; flex:none; font-size:var(--small); font-weight:var(--weight-normal); color:var(--muted); }
.item .sub { font-size:var(--small); color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.5; }
.demo { display:inline-flex; align-items:center; font-size:var(--small); line-height:1; font-weight:var(--weight-medium); padding:3px 6px; border-radius:var(--radius-control); background:var(--cream); color:var(--cream-ink); }
.list-foot { margin-top:auto; padding:24px 16px; text-align:center; font-size:var(--small); color:var(--muted); }
.list-foot svg { display:block; margin:0 auto 8px; }
.read { padding:20px 24px 0; display:flex; flex-direction:column; min-width:0; overflow-y:auto; overscroll-behavior:contain; background:var(--paper); color:var(--text); }
.from { display:grid; grid-template-columns:36px minmax(0,1fr) auto; gap:var(--s3); align-items:center; flex:none; }
.from .av { width:36px; height:36px; }
.from b { font-size:var(--body); color:var(--ink); font-weight:var(--weight-bold); display:flex; flex-wrap:wrap; gap:var(--s2); align-items:center; }
.from small { display:block; font-size:var(--small); color:var(--muted); font-family:var(--mono); letter-spacing:0; overflow-wrap:anywhere; }
.from time { font-size:var(--small); color:var(--muted); align-self:start; white-space:nowrap; }
.subj { font-size:var(--h3); font-weight:var(--weight-medium); color:var(--ink); margin:var(--s4) 0; flex:none; overflow-wrap:anywhere; }
.mail { border:1px solid var(--line); border-radius:var(--radius-inner); overflow:hidden; flex:none; }
.mail-top { height:4px; background:var(--wa); }
.mail-in { padding:20px 24px; }
.wa-mark { display:flex; align-items:center; gap:var(--s2); font-weight:var(--weight-bold); color:var(--wa); font-size:var(--body); }
.airbnb-mark { display:flex; align-items:center; gap:var(--s2); font-weight:var(--weight-bold); color:var(--abnb); font-size:var(--body); }
.mail-in h5 { margin:12px 0 4px; font-size:var(--lead); color:var(--ink); font-weight:var(--weight-medium); }
.mail-in p { font-size:var(--small); line-height:1.7; color:var(--text); }
.code { margin:var(--s4) 0; background:var(--code-wash); border-radius:var(--radius-inner); padding:12px 0; text-align:center; font-family:var(--mono); font-size:var(--display-code); font-weight:var(--weight-medium); color:var(--ink); letter-spacing:.08em; }
.disc { margin-top:var(--s3); padding-top:var(--s3); border-top:1px solid var(--line); font-size:var(--small); color:var(--muted); }
.acts { margin-top:auto; display:flex; flex-wrap:wrap; gap:var(--s2); align-items:center; padding:var(--s4) 0; border-top:1px solid var(--line); flex:none; }
.acts span { margin-left:auto; font-size:var(--small); color:var(--muted); }
.reader-mobile-actions { display:none; }
.reader:not(.mobile-reader) [data-reader-close],.read:not(.mobile-reader) [data-reader-close] { display:none; }
.reader-frame { display:block; width:100%; max-width:100%; min-width:0; min-height:320px; border:0; background:var(--paper); color:var(--ink); }
.read.is-real .demo-pill,.read.is-real .demo-letterhead { display:none; }
.sec-h { text-align:center; }
.sec-h h2 { font-size:var(--h2); font-weight:var(--weight-bold); color:var(--ink); letter-spacing:-.02em; line-height:1.3; }
.sec-h p { margin-top:20px; font-size:var(--lead); color:var(--text); }
.points { background:var(--mint); padding:64px 0; position:relative; overflow:hidden; }
.points .bg,.scene .bg,.faq .bg { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.points .wrap,.scene .wrap,.faq .wrap { position:relative; }
.pt-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s6); margin-top:var(--s6); padding:0 96px; }
.pt { display:grid; grid-template-columns:64px minmax(0,1fr); gap:var(--s4); align-items:center; }
.pt .tile { width:64px; height:64px; border-radius:var(--radius-card); background:var(--paper); display:flex; align-items:center; justify-content:center; box-shadow:0 1px 2px rgba(var(--shadow-mint),.08); }
.pt h3 { font-size:var(--lead); font-weight:var(--weight-medium); color:var(--ink); }
.pt p { font-size:var(--body); color:var(--mint-text); }
.pt em { font-style:normal; font-size:var(--small); color:var(--mint-ink); font-weight:var(--weight-medium); }
.scene { padding:var(--s7) 0; background:var(--bg2); position:relative; overflow:hidden; }
.scene-card { width:min(560px,100%); margin:var(--s6) auto 0; background:var(--cream); color:var(--cream-ink); border-radius:var(--radius-card); padding:32px; position:relative; }
.ticket-mark { position:absolute; left:-56px; top:-32px; pointer-events:none; }
.sc-hd { display:flex; align-items:center; gap:var(--s4); }
.sc-hd .tile { width:56px; height:56px; flex:none; border-radius:var(--radius-control); background:var(--paper); display:flex; align-items:center; justify-content:center; }
.sc-hd h3 { font-size:var(--h3); font-weight:var(--weight-medium); color:var(--ink); }
.sc-hd p { font-size:var(--body); color:var(--cream-ink); }
.portal { margin-top:var(--s5); background:var(--paper); color:var(--ink); border-radius:var(--radius-inner); padding:var(--s5); box-shadow:0 1px 2px rgba(var(--shadow-cream),.08); }
.portal .ph { font-size:var(--small); color:var(--muted); display:flex; justify-content:space-between; gap:var(--s2); }
.portal h4 { font-size:var(--lead); font-weight:var(--weight-medium); color:var(--ink); margin:4px 0 16px; }
.field { font-size:var(--small); color:var(--muted); margin-bottom:var(--s1); }
.input { min-height:44px; border:1px solid var(--line-strong); border-radius:var(--radius-inner); display:flex; align-items:center; padding:0 var(--s3); font-family:var(--mono); font-size:var(--body); color:var(--ink); background:var(--paper); letter-spacing:0; gap:var(--s2); }
.input .ok { margin-left:auto; font-family:var(--sans); font-size:var(--small); color:var(--success); flex:none; }
.portal .go { margin-top:var(--s4); display:flex; justify-content:space-between; align-items:center; gap:var(--s3); font-size:var(--small); color:var(--muted); }
.sc-steps { margin-top:var(--s5); font-size:var(--body); color:var(--cream-ink); line-height:1.8; }
.sc-steps a { color:var(--primary); text-decoration:underline; text-underline-offset:3px; }
.pager { display:flex; align-items:center; justify-content:center; gap:var(--s6); margin-top:32px; }
.pager button { display:flex; align-items:center; justify-content:center; width:32px; height:32px; border:0; padding:0; background:transparent; color:var(--primary); }
.dots { display:flex; gap:var(--s2); }
.dots i { width:8px; height:8px; border-radius:var(--radius-control); background:var(--dot-inactive); }
.dots i.on { background:var(--primary); }
.tabs3 { display:flex; flex-wrap:wrap; gap:var(--s2); justify-content:center; margin-top:var(--s5); }
.tabs3 button { font:var(--weight-normal) var(--small)/1.6 var(--sans); padding:4px 12px; border-radius:var(--radius-control); border:1px solid var(--line-control); color:var(--text); background:var(--paper); }
.tabs3 button.on { border-color:var(--cream-ink); color:var(--cream-ink); background:var(--cream); }
.flow { padding:var(--s7) 0; background:var(--paper); }
.steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s5); margin-top:var(--s6); position:relative; }
.step { background:var(--bg2); border-radius:var(--radius-card); padding:32px; position:relative; }
.step .no { display:inline-flex; align-items:center; justify-content:center; min-height:32px; padding:0 var(--s3); border-radius:var(--radius-control); background:var(--paper); border:1px dashed var(--line-dashed); font-family:var(--mono); font-size:var(--small); color:var(--primary); letter-spacing:0; }
.step h3 { margin:16px 0 4px; font-size:var(--h3); font-weight:var(--weight-medium); color:var(--ink); }
.step p { font-size:var(--body); }
.step svg.s { position:absolute; right:24px; top:24px; }
.fwd { background:var(--mint); padding:var(--s7) 0; }
.fwd-card { margin-top:var(--s6); background:var(--mint-2); color:var(--mint-ink); border-radius:var(--radius-card); padding:48px 64px; position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--s6); align-items:center; }
.fwd-card .bg { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.fwd-card > :not(.bg) { position:relative; }
.fwd-card h3 { font-size:28px; font-weight:var(--weight-bold); color:var(--mint-ink); letter-spacing:-.01em; }
.fwd-card p { margin-top:var(--s2); font-size:var(--lead); color:var(--mint-copy); max-width:560px; }
.fwd-card .acts2 { display:flex; flex-wrap:wrap; gap:var(--s3); }
.fwd-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--s5); margin-top:var(--s6); }
.fg { text-align:center; padding:0 var(--s4); }
.fg svg { display:block; margin:0 auto 16px; }
.fg h4 { font-size:var(--lead); font-weight:var(--weight-bold); color:var(--ink); }
.fg p { margin-top:var(--s1); font-size:var(--body); color:var(--mint-text); }
.faq { padding:var(--s7) 0; position:relative; overflow:hidden; background:var(--paper); }
.qs { width:min(720px,100%); margin:var(--s6) auto 0; display:flex; flex-direction:column; gap:var(--s3); }
details { border:1px solid var(--line); border-radius:var(--radius-inner); background:var(--paper); color:var(--text); }
summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:var(--s5); padding:20px 24px; font-size:var(--body); font-weight:var(--weight-medium); color:var(--ink); cursor:pointer; }
summary::-webkit-details-marker { display:none; }
summary .chevron { margin-right:3px; transform:rotate(-45deg); transition:transform .2s; }
details[open] summary .chevron { transform:rotate(45deg); }
details[open] { border-color:var(--line-active); }
details p { padding:0 24px 20px; font-size:var(--body); color:var(--text); }
.qs-more { text-align:center; margin-top:var(--s5); font-size:var(--body); }
.qs-more a { color:var(--primary); text-decoration:underline; text-underline-offset:3px; }
.cta { background:var(--cream); padding:64px 0; }
.cta .wrap { display:flex; align-items:center; justify-content:space-between; gap:var(--s5); }
.cta h2 { font-size:var(--h2); font-weight:var(--weight-bold); color:var(--ink); letter-spacing:-.02em; }
.cta p { margin-top:var(--s2); font-size:var(--lead); color:var(--cream-ink); }
.cta .b { display:flex; flex-wrap:wrap; gap:var(--s3); }
footer { background:var(--bg2); padding:64px 0 32px; }
.ft { display:grid; grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr)); gap:var(--s6); }
.ft p { margin-top:var(--s3); font-size:var(--body); }
.ft .mail-l { display:inline-flex; margin-top:var(--s4); font-family:var(--mono); font-size:var(--small); letter-spacing:0; }
.ft h5 { font-size:var(--small); font-weight:var(--weight-bold); color:var(--ink); margin:4px 0 16px; }
.ft ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:var(--s3); font-size:var(--body); }
.ft li,.ft a { min-width:0; overflow-wrap:anywhere; }
.ft ul a:hover { color:var(--primary); }
.footer-support { margin-top:var(--s5); padding:var(--s4); background:var(--cream); color:var(--cream-ink); border-radius:var(--radius-card); }
.footer-support p { margin:0; font-size:var(--small); }
.footer-support .btn { height:auto; min-height:32px; white-space:normal; padding:8px 12px; line-height:1.35; background:var(--paper); color:var(--primary); border-color:var(--primary); }
.copy { margin-top:var(--s6); padding-top:var(--s5); border-top:1px solid var(--line); font-size:var(--small); color:var(--muted); display:flex; flex-wrap:wrap; justify-content:space-between; gap:var(--s3); }
.toast { position:fixed; left:50%; bottom:24px; z-index:240; width:max-content; max-width:min(430px,calc(100% - 32px)); padding:12px 20px; background:var(--ink); color:var(--paper); border-radius:var(--radius-card); box-shadow:var(--shadow); 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); }
.card { background:var(--paper); color:var(--text); border:1px solid var(--line); border-radius:var(--radius-card); padding:32px; min-width:0; }
.card-mint { background:var(--mint); color:var(--mint-ink); }
.card-cream { background:var(--cream); color:var(--cream-ink); }
.form-field { display:grid; gap:var(--s2); margin-bottom:var(--s4); min-width:0; }
.form-field label { color:var(--ink); font-size:var(--small); font-weight:var(--weight-medium); }
.form-input,input[type=email],input[type=text],input[type=search],input[inputmode=numeric],textarea { width:100%; min-width:0; min-height:44px; border:1px solid var(--line-strong); border-radius:var(--radius-control); padding:10px 16px; font:var(--weight-normal) 14px/1.5 var(--sans); color:var(--ink); background:var(--paper); }
input::placeholder,textarea::placeholder { color:var(--muted); font-size:14px; opacity:1; }
textarea { border-radius:var(--radius-inner); resize:vertical; }
.form-error { color:var(--cream-ink); background:var(--cream); padding:var(--s3) var(--s4); border-radius:var(--radius-inner); margin-top:var(--s4); font-size:var(--small); }
.form-note { font-size:var(--small); color:var(--muted); }
.table-scroll { overflow-x:auto; margin-top:var(--s5); }
table { width:100%; border-collapse:collapse; color:var(--text); background:var(--paper); font-size:var(--small); }
th,td { text-align:left; padding:var(--s4); border-bottom:1px solid var(--line); vertical-align:middle; }
th { color:var(--ink); font-weight:var(--weight-medium); background:var(--bg2); }
.empty-host { display:grid; place-items:center; min-width:0; }
.empty-state { min-height:0; height:auto; width:min(420px,calc(100% - 32px)); padding:16px; margin:var(--s4) auto; background:var(--bg2); color:var(--text); border:1px solid var(--line); border-radius:var(--radius-inner); }
.empty-state h3 { font-size:var(--lead); margin-bottom:var(--s2); }
.empty-state p { font-size:var(--small); }
.filter { position:relative; width:fit-content; }
.filter-trigger { position:relative; display:inline-flex; align-items:center; gap:var(--s3); width:auto; min-height:36px; margin-block:16px; padding:8px 14px; border:1px solid var(--line-strong); border-radius:var(--radius-control); background:var(--paper); color:var(--ink); font:var(--weight-normal) var(--small)/1.4 var(--sans); }
.filter-menu { position:absolute; top:calc(100% + 8px); left:0; min-width:168px; padding:var(--s2); border:1px solid var(--line-strong); border-radius:var(--radius-card); background:var(--paper); color:var(--ink); box-shadow:var(--shadow); z-index:20; }
.filter-menu button { display:inline-flex; align-items:center; text-align:left; width:100%; padding:var(--s2) var(--s3); border:0; border-radius:var(--radius-inner); background:var(--paper); color:var(--ink); font:var(--weight-normal) var(--small)/1.5 var(--sans); }
.filter-menu [role=option] { display:inline-flex; align-items:center; }
.filter-menu button:hover,.filter-menu button[aria-selected=true] { background:var(--mint); color:var(--mint-ink); }
.modal-backdrop { position:fixed; inset:0; z-index:200; display:grid; place-items:center; padding:var(--s4); background:rgba(var(--shadow-ink),.35); }
.modal { width:min(420px,100%); max-height:calc(100dvh - 32px); overflow:auto; background:var(--paper); color:var(--text); border:1px solid var(--line); border-radius:var(--radius-card); padding:var(--s5); box-shadow:var(--shadow-window); }
.modal h2 { font-size:22px; line-height:1.35; letter-spacing:-.01em; margin:12px 0 16px; }
.modal .actions { justify-content:flex-end; margin-top:var(--s5); }
.modal-close { float:right; }
.page-hero { padding:64px 0 48px; }
.page-hero .section-intro { max-width:720px; }
.auth-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px; align-items:center; padding:64px 0 96px; }
.auth-story { min-width:0; padding:32px; background:var(--mint); color:var(--mint-ink); border-radius:var(--radius-card); }
.auth-story h1 { line-height:1.3; }
.auth-panel { min-width:0; padding:32px; }
.login-card { max-width:440px; margin:auto; padding:32px; border-radius:var(--radius-card); background:var(--cream); color:var(--cream-ink); }
.login-card h2 { font-size:24px; line-height:1.35; margin-bottom:var(--s5); }
.login-card .btn { min-height:40px; }
.login-notice { margin:24px 0 16px; padding:12px 16px; border:1px solid var(--line); border-radius:var(--radius-inner); background:var(--paper); color:var(--text); font-size:var(--small); }
.login-pane { display:grid; gap:var(--s4); }
.desk-layout { padding:48px 0 96px; min-width:0; }
.desk-session { display:flex; flex-wrap:wrap; gap:var(--s4); align-items:center; margin-bottom:var(--s6); }
.desk-session [data-session-email] { overflow-wrap:anywhere; }
.desk-session [data-logout] { margin-left:auto; }
.desk-section + .desk-section { margin-top:var(--s6); }
.surface-alias { background:var(--paper); color:var(--text); border-top:4px solid var(--mint-edge); border-radius:var(--radius-card); padding:32px; box-shadow:var(--shadow); }
.alias-compose {
  display:flex;
  align-items:center;
  gap:var(--s3);
  flex-wrap:wrap;
  margin:var(--s5) 0;
  border-radius:var(--radius-card);
}
.alias-compose:focus-within {
  outline:2px solid var(--primary);
  outline-offset:6px;
  background:var(--primary-wash);
  color:var(--ink);
}
.alias-compose input:focus {
  outline:none;
  box-shadow:none;
  border-color:var(--line-strong);
}
.alias-compose:focus-within .alias-suffix {
  color:var(--primary);
}
.alias-compose input { flex:1 1 200px; min-width:0; height:44px; font-size:14px; border-radius:var(--radius-control); }
.alias-compose .btn { height:44px; font-size:14px; flex:none; }
.alias-suffix { font-family:var(--mono); font-size:var(--small); color:var(--muted); }
.alias-list { margin-top:var(--s5); }
.alias-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--s4); align-items:center; padding:var(--s4) 0; border-bottom:1px solid var(--line); }
.alias-address { font-family:var(--mono); font-size:var(--small); overflow-wrap:anywhere; }
.alias-row .actions { justify-content:flex-end; }
.surface-archive { background:var(--bg2); color:var(--text); border:1px solid var(--line); border-radius:var(--radius-card); padding:32px; }
.archive-header { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s4); margin-bottom:var(--s5); }
.archive-header .filter { margin-left:auto; }
.archive-list { margin-top:var(--s5); }
.archive-row { display:block; width:100%; padding:var(--s4) 0; text-align:left; border:0; border-bottom:1px solid var(--line); background:transparent; color:var(--text); font:inherit; }
.archive-row-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--s4); align-items:center; }
.archive-row h3 { font-size:var(--body); }
.archive-row-meta { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:var(--s2); font-size:var(--small); }
.archive-row small { display:block; color:var(--muted); overflow-wrap:anywhere; }
.archive-detail { min-width:0; max-width:100%; overflow-wrap:anywhere; margin-top:var(--s5); padding:var(--s5); background:var(--paper); color:var(--text); border:1px solid var(--line); border-radius:var(--radius-card); }
.archive-detail iframe { width:100%; max-width:100%; min-width:0; }
.archive-detail-header { display:flex; align-items:flex-start; gap:var(--s4); flex-wrap:wrap; margin-bottom:var(--s5); }
.archive-detail-header h2 { font-size:22px; line-height:1.35; }
.archive-detail-header .status-pill { margin-left:auto; }
.archive-detail-header .btn { align-self:flex-start; flex:none; }
.surface-archive [data-archive-empty] { width:100%; margin-left:0; margin-right:0; }
.surface-safety { padding:32px; background:var(--cream); color:var(--cream-ink); border-radius:var(--radius-card); }
.twofa-ribbon { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s5); }
.twofa-ribbon .actions { margin-left:auto; align-items:center; }
.twofa-ribbon .btn { flex:none; align-self:center; }
.twofa-status { display:flex; align-items:center; gap:var(--s3); margin:0; font-size:var(--small); }
[data-2fa-badge] { display:inline-flex; align-items:center; width:fit-content; margin:0; padding:4px 10px; border-radius:var(--radius-control); background:var(--paper); color:var(--cream-ink); border:1px solid var(--amber-t); font-size:var(--small); }
.twofa-short-steps { display:flex; flex-wrap:wrap; gap:var(--s5); margin-top:var(--s5); padding:0; list-style:none; font-size:var(--small); }
.step-circle { display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; margin-right:var(--s2); border:1px solid var(--line-strong); border-radius:var(--radius-control); background:var(--paper); color:var(--primary); font-family:var(--mono); flex:none; }
.twofa-setup { margin-top:24px; margin-right:0; margin-bottom:24px; margin-left:0; padding-top:var(--s5); border-top:1px solid var(--amber-t); color:var(--ink); }
.setup-grid { display:grid; grid-template-columns:180px minmax(0,1fr); gap:32px; align-items:start; }
.twofa-qr { display:block; width:180px; height:180px; aspect-ratio:1; object-fit:contain; background:var(--paper); color:var(--ink); border-radius:var(--radius-inner); padding:var(--s2); }
.twofa-secret { display:flex; align-items:center; flex-wrap:wrap; gap:var(--s3); margin:var(--s4) 0; color:var(--ink); }
.twofa-secret code { color:var(--ink); overflow-wrap:anywhere; min-width:0; }
.twofa-secret .btn { width:auto; flex:none; }
.twofa-confirm { display:flex; align-items:center; flex-wrap:wrap; gap:var(--s3); margin-top:var(--s5); }
.twofa-confirm input { width:180px; height:44px; min-height:44px; margin:0; padding:0 16px; }
.twofa-confirm .btn { height:44px; min-height:44px; margin-top:0; align-self:center; }
.article-layout { width:min(1160px,calc(100% - 64px)); margin:0 auto; display:grid; grid-template-columns:240px minmax(0,1fr); gap:64px; align-items:start; padding:48px 0 96px; }
.article-toc { position:sticky; top:calc(var(--header-h) + 16px); padding:var(--s5); border:1px solid var(--line); border-radius:var(--radius-card); background:var(--bg2); color:var(--text); }
.article-toc h2 { font-size:var(--lead); letter-spacing:0; }
.article-toc ol { padding-left:20px; margin:var(--s4) 0 0; font-size:var(--small); }
.article-toc li + li { margin-top:var(--s2); }
.article-toc .count { display:block; margin-top:var(--s4); font-size:var(--small); color:var(--muted); }
.prose { min-width:0; font-size:var(--body); line-height:1.85; }
.prose h2 { font-size:24px; line-height:1.4; margin:40px 0 20px; letter-spacing:-.01em; }
.prose h3 { font-size:var(--lead); font-weight:var(--weight-medium); line-height:1.5; margin:28px 0 12px; }
.prose p + p { margin-top:var(--s4); }
.prose a:not(.btn) { color:var(--primary); text-decoration:underline; text-underline-offset:3px; }
.prose p + table,.prose p + .card,.prose p + .table-scroll { margin-top:var(--s5); }
.prose .card + p,.prose .table-scroll + p { margin-top:32px; }
.prose ul,.prose ol { margin:var(--s4) 0; padding-left:24px; }
.prose .article-cta { margin-top:var(--s6); padding:32px; background:var(--mint); color:var(--mint-ink); border-radius:var(--radius-card); }
.article-cta .actions { margin-top:28px; }
.article-cta .btn-fill { background:var(--primary); color:var(--paper); }
.post-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s5); margin-top:var(--s6); }
.post-card { display:flex; flex-direction:column; min-width:0; padding:32px; background:var(--paper); color:var(--text); border:1px solid var(--line); border-radius:var(--radius-card); }
.post-card:hover { background:var(--mint); color:var(--mint-ink); border-color:var(--mint-edge); }
.post-card h2 { font-size:24px; line-height:1.4; }
.post-card p { margin-top:var(--s4); }
.post-card time { display:block; margin-top:var(--s4); color:var(--muted); font-size:var(--small); }
.recommend-float { position:fixed; bottom:24px; right:24px; width:min(320px,calc(100% - 32px)); border:1px solid var(--line); border-radius:var(--radius-card); background:var(--paper); color:var(--text); box-shadow:var(--shadow-window); z-index:80; overflow:hidden; }
.recommend-float img { width:100%; height:120px; object-fit:cover; display:block; }
.recommend-float-content { padding:var(--s5); }
.recommend-float h2 { font-size:var(--h3); line-height:1.4; }
.recommend-float p { margin-top:var(--s3); font-size:var(--small); }
.recommend-float .btn { margin-top:var(--s4); max-width:100%; white-space:normal; height:auto; min-height:40px; line-height:1.35; padding:10px 16px; }
.float-close { position:absolute; right:8px; top:8px; width:30px; height:30px; padding:0; display:flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:var(--radius-control); background:var(--paper); color:var(--ink); }
.svg-primary { stroke:var(--primary); }
.svg-ink { stroke:var(--ink); }
.svg-paper { stroke:var(--paper); }
.svg-wa { stroke:var(--wa); }
.svg-amber { stroke:var(--amber); }
.svg-mint-ink { stroke:var(--mint-ink); }
.fill-amber { fill:var(--amber); }
.fill-amber-t { fill:var(--amber-t); }
.fill-mint { fill:var(--mint-2); }
.fill-mint-decor { fill:var(--mint-decor); }
.fill-mint-scene { fill:var(--mint-scene); }
.fill-mint-cut { fill:var(--mint-cut); }
.svg-line-decor { stroke:var(--line-decor); }
.svg-cream { stroke:var(--cream); }
.fill-primary { fill:var(--primary); }
@media (max-width:1100px) {
  .links { margin-left:32px; gap:20px; }
  .nav-right { gap:var(--s2); }
  .hero .wrap { gap:32px; }
  .hero h1 { font-size:44px; }
  .hero .left { column-gap:32px; }
  .win { width:100%; height:640px; }
  .win-bd { grid-template-columns:minmax(0,.38fr) minmax(0,.62fr); }
  .win-hd code { display:none; }
  .read { padding:20px 16px 0; }
  .item { padding:12px 10px; gap:var(--s2); grid-template-columns:28px minmax(0,1fr); }
  .item .av { width:28px; height:28px; }
  .item .top { font-size:var(--small); }
  .item .top time { font-size:11px; }
  .from { grid-template-columns:36px minmax(0,1fr); }
  .from time { grid-column:2; }
  .mail-in { padding:var(--s4); }
  .float { left:-16px; }
  .row { padding:16px 12px; gap:var(--s3); }
  .row .btn { padding:0 12px; }
  .addr code { font-size:var(--lead); }
  .pt-row { padding:0; gap:32px; }
  .fwd-card { padding:40px; gap:32px; }
  .fwd-card .acts2 { flex-direction:column; }
  .ft { gap:32px; }
  .auth-layout { gap:32px; }
  .auth-story,.auth-panel { padding:var(--s5); }
  .article-layout { grid-template-columns:220px minmax(0,1fr); gap:32px; }
}
@media (max-width:960px) {
  .auth-layout { grid-template-columns:minmax(0,1fr); max-width:720px; margin:auto; }
  .auth-panel { padding:var(--s5) 0 0; }
  .login-card { max-width:100%; }
}
@media (max-width:860px) {
  :root { --h1:36px; --h2:28px; }
  .wrap { width:calc(100% - 48px); }
  .links { display:none; }
  .menu-toggle { display:inline-flex; order:-1; margin-right:var(--s4); }
  .nav-right { margin-left:auto; }
  .nav-product { display:none; }
  .hero { padding:48px 0 64px; }
  .hero .wrap { gap:32px; }
  .hero .left { grid-template-columns:minmax(0,1fr); row-gap:20px; max-width:none; width:100%; margin:0; }
  .hero-lead { gap:20px; }
  .right { height:auto; width:100%; max-width:none; margin:0; padding-top:112px; }
  .win { width:100%; height:640px; }
  .win-bd { grid-template-columns:minmax(0,.36fr) minmax(0,.64fr); }
  .item { grid-template-columns:36px minmax(0,1fr); padding:12px 16px; gap:var(--s3); }
  .item .av { width:36px; height:36px; }
  .item .top { font-size:var(--body); }
  .item .top time { font-size:var(--small); }
  .read { padding:20px 24px 0; }
  .float { left:24px; }
  .from { grid-template-columns:36px minmax(0,1fr) auto; }
  .from time { grid-column:auto; }
  .pt-row { gap:var(--s5); }
  .pt { grid-template-columns:minmax(0,1fr); text-align:center; }
  .pt .tile { margin:auto; }
  .scene,.flow,.fwd,.faq { padding:64px 0; }
  .steps { gap:var(--s4); }
  .step { padding:var(--s5); }
  .step svg.s { width:32px; height:32px; right:16px; top:20px; }
  .fwd-card { grid-template-columns:minmax(0,1fr); }
  .fwd-card .acts2 { flex-direction:row; }
  .fwd-grid { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:32px; }
  .cta .wrap { flex-direction:column; align-items:flex-start; }
  .ft { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
  .footer-brand { grid-column:1/-1; }
  .footer-support { max-width:560px; }
  .article-layout { width:calc(100% - 48px); grid-template-columns:minmax(0,1fr); }
  .article-toc { position:static; }
  .post-grid { grid-template-columns:minmax(0,1fr); }
  .archive-row-inner { grid-template-columns:minmax(0,1fr); gap:var(--s2); }
  .archive-row-meta { justify-content:flex-start; }
}
@media (max-width:720px) {
  .alias-compose { display:grid; grid-template-columns:minmax(0,1fr); }
  .alias-compose .btn { width:100%; }
  .alias-row { grid-template-columns:minmax(0,1fr); }
  .alias-row .actions { justify-content:flex-start; }
  .alias-address { width:100%; overflow-wrap:anywhere; }
  .setup-grid { grid-template-columns:minmax(0,1fr); }
  .twofa-ribbon { align-items:flex-start; }
  .twofa-ribbon .actions { margin-left:0; }
}
@media (max-width:560px) {
  :root { --header-h:64px; --h1:32px; --h2:26px; }
  .wrap { width:calc(100% - 32px); }
  .banner { padding:8px 40px 8px 16px; min-height:76px; }
  .banner a { flex-direction:column; gap:2px; padding:6px 16px; border-radius:var(--radius-card); font-size:12px; text-align:center; line-height:1.35; }
  .banner a > svg,.banner a > .banner-arrow { display:none; }
  .banner .x { right:12px; top:12px; }
  .nav .wrap { gap:0; }
  .brand { font-size:18px; gap:6px; }
  .brand img { width:28px; height:28px; }
  .menu-toggle { width:34px; height:34px; margin-right:var(--s2); flex:none; }
  .nav-right { gap:var(--s2); }
  .nav-right > .btn { height:36px; padding:0 12px; font-size:var(--small); }
  .lang { padding:0 27px 0 10px; min-height:36px; }
  .lang .lang-name { display:none; }
  .lang .chevron { right:11px; }
  .lang > svg { width:16px; height:16px; }
  .nav-drawer { left:16px; width:min(320px,calc(100% - 32px)); }
  .x-full { display:none; }
  .x-short { display:inline; }
  .hero { padding:40px 0 48px; overflow:hidden; }
  .hero h1 { font-size:var(--h1); line-height:1.3; }
  .hero .wrap { gap:32px; }
  .switch { margin:0; gap:var(--s2); }
  .switch a { padding:10px 16px; font-size:14px; }
  .card-on { padding:16px; }
  .addr { gap:var(--s2); }
  .addr code { font-size:14px; }
  .addr .btn { height:36px; padding:0 12px; font-size:var(--small); gap:6px; }
  .stub { gap:8px 16px; font-size:12px; }
  .row { grid-template-columns:32px minmax(0,1fr) auto; gap:var(--s2); padding:12px; }
  .row .ico { width:32px; height:32px; }
  .row h3 { font-size:var(--lead); }
  .row p { font-size:var(--small); }
  .row .btn { font-size:12px; height:34px; padding:0 10px; }
  .live { font-size:12px; padding:4px 8px; gap:6px; }
  .right { height:auto; padding-top:96px; transform:none; animation:none; }
  .hero-art { left:0; right:0; top:0; height:120px; }
  .float { left:8px; top:0; padding:8px 12px; gap:var(--s2); animation:none; max-width:calc(100% - 16px); }
  .float .t { font-size:12px; }
  .float code { font-size:var(--body); }
  .float .btn { height:28px; font-size:12px; padding:0 10px; }
  .win { position:relative; top:auto; right:auto; width:100%; height:auto; min-height:0; }
  .win-hd { height:56px; padding:0 16px; gap:var(--s2); }
  .win-bd { display:block; min-height:0; }
  .list { border-right:0; min-height:0; max-height:360px; }
  .item { height:76px; min-height:76px; padding:12px 16px; }
  .item .top { font-size:var(--body); }
  .list-foot { padding:24px 16px; }
  .read { display:none; }
  .reader-mobile-actions { display:flex; align-items:center; justify-content:space-between; gap:var(--s3); position:sticky; top:0; z-index:3; padding:12px 16px; margin:0 -16px 16px; border-bottom:1px solid var(--line); background:var(--paper); color:var(--ink); flex:none; }
  .read.mobile-reader { position:fixed; top:var(--header-h); left:0; width:100%; height:calc(100dvh - var(--header-h)); min-height:calc(100dvh - var(--header-h)); z-index:90; display:flex; padding:0 16px 16px; background:var(--paper); color:var(--text); overflow-y:auto; }
  .read.mobile-reader .from { grid-template-columns:36px minmax(0,1fr); }
  .read.mobile-reader .from time { grid-column:2; }
  .read.mobile-reader .mail { margin-bottom:var(--s4); }
  .read.mobile-reader .acts { position:sticky; bottom:-16px; background:var(--paper); color:var(--text); }
  body.sheet-open .hero-art,body.sheet-open .float { visibility:hidden; }
  .points { padding:48px 0; }
  .sec-h p { font-size:var(--body); margin-top:20px; }
  .pt-row { grid-template-columns:minmax(0,1fr); margin-top:32px; gap:var(--s5); }
  .pt { grid-template-columns:64px minmax(0,1fr); text-align:left; max-width:320px; width:100%; margin:auto; }
  .scene,.flow,.fwd,.faq { padding:56px 0; }
  .scene-card { margin-top:32px; padding:24px 16px; }
  .ticket-mark { width:64px; height:48px; left:-8px; top:-26px; }
  .sc-hd { gap:var(--s3); }
  .sc-hd h3 { font-size:var(--lead); }
  .sc-hd p { font-size:var(--small); }
  .portal { padding:var(--s4); }
  .portal h4 { font-size:var(--body); }
  .portal .input { font-size:12px; padding:8px; flex-wrap:wrap; }
  .portal .input .ok { font-size:11px; }
  .portal .go { flex-wrap:wrap; }
  .portal .go .btn { height:auto; min-height:32px; line-height:1.35; padding:8px 12px; }
  .sc-steps { font-size:var(--small); }
  .tabs3 { gap:6px; }
  .tabs3 button { font-size:12px; padding:4px 8px; }
  .steps { grid-template-columns:minmax(0,1fr); margin-top:32px; }
  .step { padding:var(--s5); }
  .fwd-card { margin-top:32px; padding:var(--s5); gap:var(--s5); }
  .fwd-card h3 { font-size:24px; }
  .fwd-card p { font-size:var(--body); }
  .fwd-card .btn { height:auto; min-height:40px; line-height:1.35; padding:10px 16px; white-space:normal; }
  .fwd-grid { margin-top:32px; gap:32px 16px; }
  .fg { padding:0; }
  .fg h4 { font-size:var(--body); }
  .fg p { font-size:var(--small); }
  .qs { margin-top:32px; }
  summary { padding:16px; gap:var(--s4); font-size:14px; }
  details p { padding:0 16px 20px; font-size:14px; }
  .cta { padding:48px 0; }
  .cta h2 { font-size:var(--h2); }
  .cta p { font-size:var(--body); }
  .cta .b { width:100%; }
  .cta .btn { height:auto; min-height:40px; line-height:1.35; padding:10px 16px; }
  footer { padding:48px 0 24px; }
  .ft { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 20px; }
  .footer-brand { grid-column:1/-1; }
  .ft > :last-child { grid-column:1/-1; }
  .copy { margin-top:32px; }
  .page-hero { padding:40px 0 32px; }
  .auth-layout { padding:40px 0 56px; gap:var(--s5); }
  .auth-story,.login-card { padding:var(--s5); }
  .auth-panel { padding:0; }
  .desk-layout { padding:32px 0 56px; }
  .desk-session { margin-bottom:32px; }
  .desk-session [data-logout] { margin-left:0; }
  .surface-alias,.surface-archive,.surface-safety { padding:var(--s5) var(--s4); }
  .archive-header { align-items:flex-start; }
  .archive-header .filter { margin-left:0; }
  .archive-detail { padding:var(--s4); }
  .twofa-short-steps { display:grid; grid-template-columns:minmax(0,1fr); gap:var(--s3); }
  .twofa-confirm input { flex:1 1 120px; width:120px; }
  .twofa-confirm .btn { font-size:var(--small); padding:0 12px; }
  .article-layout { width:calc(100% - 32px); padding:32px 0 56px; }
  .prose h2 { font-size:22px; }
  .prose h3 { font-size:var(--lead); }
  .recommend-float { right:16px; bottom:16px; }
  .recommend-float-content { padding:20px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
}


/* Product engines and independent access routes. */
.banner-arrow { flex:none; }
.hero-actions { align-items:center; }
.reader-letterhead { min-width:0; }
.demo-pill { flex:none; }
.item { position:relative; }
.item .top { align-items:center; }
.item .top time { align-self:center; }
.item-copy { display:block; }
.item .sub { display:block; }
.item.is-unread { padding-left:18px; }
.unread-dot { position:absolute; left:10px; top:50%; width:5px; height:5px; margin-top:-2.5px; border-radius:var(--radius-control); background:var(--primary); }
.reader-content { min-width:0; flex:none; }
.reader-content > .mail { border:0; border-radius:0; }
.mail-plain { margin:0; padding:var(--s4) 0; font-size:var(--small); color:var(--ink); background:var(--paper); line-height:1.8; }
.mail-image-note { margin:0 0 var(--s4); padding:var(--s3); font-size:var(--small); color:var(--cream-ink); background:var(--cream); border-radius:var(--radius-inner); }
.list .empty-state,.read .empty-state { flex:none; }
.read.empty-host { display:grid; }
.address-highlight { outline:2px solid var(--primary); outline-offset:6px; }
.mailbox-destroy { margin-top:var(--s4); }
.access-route { background:var(--paper); padding:64px 0 var(--s7); }
.access-spread { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px; align-items:start; }
.access-context { min-width:0; padding:var(--s5) 0; }
.access-context h1 { line-height:1.3; font-weight:var(--weight-medium); }
.access-context .section-intro { max-width:480px; }
.access-route-map { margin-top:32px; padding:var(--s5); border-radius:var(--radius-card); background:var(--mint); color:var(--mint-ink); max-width:480px; }
.route-stop { display:flex; align-items:center; gap:var(--s4); }
.route-stop svg { flex:none; }
.route-stop strong { display:block; font-size:var(--body); font-weight:var(--weight-medium); }
.route-stop small { display:block; margin-top:var(--s1); font-size:var(--small); }
.route-connection { width:1px; height:24px; margin:var(--s2) 0 var(--s2) 12px; border-left:1px dashed var(--mint-edge); }
.access-return { margin-top:32px; max-width:480px; }
.access-return strong { color:var(--ink); font-weight:var(--weight-medium); }
.access-return p { margin:var(--s2) 0 var(--s4); font-size:var(--body); }
.access-entry { min-width:0; }
.sky-access-card { width:100%; max-width:none; margin:0; padding:32px; background:var(--cream); color:var(--cream-ink); }
.access-card-heading { display:flex; align-items:center; gap:var(--s3); margin-bottom:var(--s5); color:var(--cream-ink); font-size:var(--small); }
.access-seal { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:var(--radius-inner); background:var(--paper); color:var(--primary); }
.sky-access-card h2 { font-size:24px; font-weight:var(--weight-medium); margin-bottom:var(--s3); }
.access-card-lead { margin-bottom:var(--s5); font-size:var(--body); line-height:1.7; }
.sky-access-card input { background:var(--paper); color:var(--ink); border-color:var(--line-strong); font-size:14px; }
.access-submit { width:100%; min-height:44px; }
.sky-access-card form > .form-note { margin-top:var(--s3); color:var(--cream-ink); }
.access-secondary { margin-top:var(--s4); gap:var(--s2); }
.access-secondary .btn { min-height:40px; height:auto; padding:10px 14px; font-size:var(--small); line-height:1.35; background:var(--paper); color:var(--primary); border-color:var(--primary); }
.auth-session-note { margin-top:var(--s5); font-size:var(--small); color:var(--cream-ink); }
.access-consent { margin-top:var(--s4); font-size:var(--small); line-height:1.8; }
.sky-access-card .login-notice { margin:var(--s5) 0 var(--s4); overflow-wrap:anywhere; }
.sky-access-card .form-error { background:var(--paper); color:var(--cream-ink); border:1px solid var(--amber-t); }
.mailroom-route { padding:var(--s6) 0 var(--s7); background:var(--paper); }
.mailroom-top { display:flex; align-items:center; flex-wrap:wrap; gap:var(--s4); margin-bottom:var(--s6); }
.mailroom-top > .btn { margin-left:auto; }
.mailroom-session { display:flex; align-items:center; flex-wrap:wrap; gap:var(--s4); min-width:0; }
.mailroom-session > div { min-width:0; }
.mailroom-session strong { display:block; color:var(--ink); font-size:var(--body); font-weight:var(--weight-medium); overflow-wrap:anywhere; }
.session-caption { font-size:var(--small); color:var(--muted); }
.session-mark { width:44px; height:44px; display:flex; align-items:center; justify-content:center; border-radius:var(--radius-control); background:var(--mint); color:var(--mint-ink); flex:none; }
.desk-alert { margin:0 0 var(--s5); }
.address-ledger { min-width:0; }
.ledger-intro { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:64px; align-items:center; margin-bottom:32px; }
.ledger-intro h1 { font-size:var(--h2); font-weight:var(--weight-medium); }
.ledger-intro .section-intro { max-width:620px; font-size:var(--body); }
.ledger-note { display:flex; gap:var(--s4); align-items:flex-start; padding:var(--s5); background:var(--mint); color:var(--mint-ink); border-radius:var(--radius-card); font-size:var(--small); }
.ledger-note svg { flex:none; }
.alias-signing h2 { font-size:var(--h3); font-weight:var(--weight-medium); letter-spacing:0; }
.module-description { margin-top:var(--s2); font-size:var(--body); }
.alias-signing .alias-compose { flex-wrap:nowrap; }
.alias-signing .alias-compose input { flex:1 1 160px; max-width:480px; }
.alias-signing .alias-suffix { flex:none; color:var(--text); }
.ledger-empty { display:flex; align-items:center; gap:var(--s4); padding:var(--s5); margin-top:var(--s5); border:1px dashed var(--line-strong); border-radius:var(--radius-inner); background:var(--bg2); color:var(--text); }
.ledger-empty h3 { font-size:var(--lead); }
.ledger-empty p { font-size:var(--small); margin-top:var(--s1); }
.empty-ticket { color:var(--primary); flex:none; }
.alias-identity { display:flex; align-items:center; flex-wrap:wrap; gap:var(--s3); min-width:0; }
.alias-active { background:var(--mint); color:var(--mint-ink); }
.alias-paused { background:var(--cream); color:var(--cream-ink); border:1px solid var(--amber-t); }
.records-spread { display:grid; grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr); gap:var(--s6); align-items:start; margin-top:var(--s7); }
.records-caption { min-width:0; padding-top:var(--s5); }
.records-caption h2 { font-weight:var(--weight-medium); }
.records-caption .section-intro { font-size:var(--body); max-width:360px; }
.records-retention { width:min(300px,100%); margin-top:32px; padding:var(--s5); background:var(--mint); color:var(--mint-ink); border-radius:var(--radius-card); }
.records-retention strong { display:block; color:var(--mint-ink); font-size:var(--h3); font-family:var(--mono); font-weight:var(--weight-medium); }
.records-retention p { margin-top:var(--s2); font-size:var(--small); }
.records-spread .surface-archive { padding:var(--s5); min-width:0; }
.records-spread .archive-header { gap:var(--s3); }
.records-spread .archive-header h3 { font-size:var(--lead); }
.records-spread .archive-header .form-note { margin-top:var(--s1); }
.archive-identity { min-width:0; }
.archive-subject { display:block; font-size:var(--body); font-weight:var(--weight-medium); color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.archive-detail-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:var(--s2); margin-bottom:var(--s5); }
.archive-detail-toolbar .status-pill { margin-left:auto; }
.archive-detail-toolbar .btn { flex:none; align-self:center; }
.archive-detail-from { margin-top:var(--s3); font-size:var(--small); overflow-wrap:anywhere; }
.archive-detail-time { display:block; margin-top:var(--s1); font-size:var(--small); color:var(--muted); }
.archive-body { min-width:0; overflow:auto; background:var(--paper); color:var(--ink); }
.archive-attachments { display:flex; flex-wrap:wrap; gap:var(--s2); margin-top:var(--s5); }
.archive-attachments:empty { display:none; }
.archive-attachments h3 { width:100%; font-size:var(--lead); margin-bottom:var(--s2); }
.archive-attachments .btn { white-space:normal; height:auto; min-height:32px; line-height:1.4; padding:8px 12px; overflow-wrap:anywhere; }
.phone-check { margin-top:var(--s7); }
.phone-check h2 { font-size:24px; font-weight:var(--weight-medium); }
.phone-check .twofa-ribbon { gap:var(--s5); }
.phone-check .twofa-ribbon > :first-child { flex:1 1 440px; }
.phone-check .twofa-ribbon .actions { align-items:center; align-self:center; gap:var(--s3); margin-left:auto; padding:6px 6px 6px 16px; background:var(--paper); border:1px solid var(--amber-t); border-radius:var(--radius-card); }
.twofa-instructions { margin:var(--s3) 0; font-size:var(--body); }
.qr-caption { margin-top:var(--s2); font-size:var(--small); color:var(--cream-ink); }
.twofa-disable { margin-top:var(--s5); font-size:var(--body); }
.twofa-disable .twofa-confirm { margin-top:var(--s3); }
.twofa-confirm input { height:44px; min-height:44px; margin:0; padding:0 16px; }
.twofa-confirm .btn { height:44px; min-height:44px; margin-top:0; align-self:center; }
.confirm-symbol { display:flex; align-items:center; justify-content:center; width:44px; height:44px; background:var(--cream); color:var(--cream-ink); border-radius:var(--radius-control); }
.alias-stat-content { margin-top:var(--s5); }
.alias-stat-content h3 { font-size:var(--lead); margin:var(--s5) 0 var(--s3); }
.alias-stat-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s2); margin:0; }
.alias-stat-grid > div { padding:var(--s3); background:var(--mint); color:var(--mint-ink); border-radius:var(--radius-inner); }
.alias-stat-grid dt { font-size:var(--small); }
.alias-stat-grid dd { margin:var(--s2) 0 0; font:var(--weight-medium) var(--h3)/1.4 var(--mono); }
.sender-stat-list { margin:0; padding:0; list-style:none; }
.sender-stat-list li { display:flex; justify-content:space-between; align-items:center; gap:var(--s3); padding:var(--s2) 0; font-size:var(--small); }
.sender-stat-list span { min-width:0; overflow-wrap:anywhere; }
.sender-stat-list b { flex:none; font-weight:var(--weight-medium); }
.filter-menu button { font-size:var(--small); }
.filter-trigger .chevron { margin:0 2px 0 0; transform:translateY(-2px) rotate(45deg); }
.filter-chevron { width:7px; height:7px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; flex:none; transform:translateY(-2px) rotate(45deg); }
@media (max-width:1100px) {
  .access-spread { gap:32px; }
  .ledger-intro { gap:32px; }
  .records-spread { grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:32px; }
  .alias-row { grid-template-columns:minmax(0,1fr); gap:var(--s3); }
  .alias-row .actions { justify-content:flex-start; }
}
@media (max-width:960px) {
  .access-spread { grid-template-columns:minmax(0,1fr); max-width:680px; margin:auto; }
  .access-entry { grid-row:1; }
  .sky-access-card { max-width:100%; }
  .access-context { padding-top:var(--s5); }
  .access-context h1 br { display:none; }
  .access-context .section-intro,.access-route-map,.access-return { max-width:none; }
  .records-spread { grid-template-columns:minmax(0,1fr); gap:32px; }
  .records-caption { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.6fr); gap:0 32px; }
  .records-caption .eyebrow,.records-caption h2,.records-caption .section-intro { grid-column:1; }
  .records-caption .records-retention { grid-column:2; grid-row:1/4; align-self:center; margin:0; }
  .records-caption .section-intro { max-width:none; }
  .ledger-intro { grid-template-columns:minmax(0,1fr); gap:var(--s5); }
  .ledger-note { max-width:620px; }
}
@media (max-width:720px) {
  .alias-signing .alias-compose { display:grid; grid-template-columns:minmax(0,1fr); }
  .alias-signing .alias-compose input { max-width:none; }
  .alias-signing .alias-compose .btn { width:100%; }
  .alias-identity { display:grid; grid-template-columns:minmax(0,1fr); gap:var(--s2); }
  .alias-identity .status-pill { width:fit-content; }
  .records-caption { display:block; }
  .records-caption .records-retention { margin-top:var(--s5); }
  .alias-row .actions { flex-wrap:wrap; }
  .access-spread { gap:var(--s5); }
}
@media (max-width:560px) {
  .access-route { padding:40px 0 56px; }
  .sky-access-card { padding:var(--s5); }
  .sky-access-card h2 { font-size:var(--h3); }
  .access-card-heading { margin-bottom:var(--s5); }
  .access-context h1 { font-size:var(--h2); }
  .access-route-map { padding:var(--s4); }
  .mailroom-route { padding:32px 0 56px; }
  .mailroom-top { align-items:flex-start; margin-bottom:32px; }
  .mailroom-top > .btn { margin-left:0; }
  .mailroom-session { gap:var(--s3); width:100%; }
  .mailroom-session .chip { margin-left:56px; }
  .ledger-intro h1 { font-size:var(--h2); }
  .ledger-note { padding:var(--s4); }
  .ledger-empty { align-items:flex-start; padding:var(--s4); }
  .records-spread,.phone-check { margin-top:56px; }
  .records-spread .surface-archive { padding:var(--s5) var(--s4); }
  .records-spread .archive-header .filter { margin-left:0; }
  .phone-check h2 { font-size:var(--h3); }
  .phone-check .twofa-ribbon > :first-child { flex-basis:100%; }
  .phone-check .twofa-ribbon .actions { margin-left:0; width:100%; justify-content:space-between; }
  .phone-check .twofa-confirm { gap:var(--s2); }
  .twofa-confirm .btn { font-size:var(--small); padding:0 12px; }
  .reader-content { width:100%; }
  .read.mobile-reader { top:var(--reader-top,var(--header-h)); height:calc(100dvh - var(--reader-top,var(--header-h))); min-height:calc(100dvh - var(--reader-top,var(--header-h))); border-radius:0; transform:none; animation:none; z-index:120; }
  .read.mobile-reader .reader-mobile-actions { flex-shrink:0; }
  .read.mobile-reader .from { grid-template-columns:36px minmax(0,1fr); }
  .read.mobile-reader .reader-content > .mail { border:0; }
  .read.mobile-reader .mail-in { padding:var(--s4) 0; }
  .read.mobile-reader .subj { font-size:var(--h3); }
  .read.mobile-reader .acts { flex-wrap:wrap; }
  .read.mobile-reader .acts span { margin-left:0; width:100%; }
  .addr code { white-space:normal; overflow-wrap:anywhere; overflow:visible; }
  .win { min-height:600px; }
  .win-bd { flex:1; }
  .list { min-height:540px; max-height:600px; }
  .list.empty-host { display:grid; }
  .item .top time { align-self:center; }
  .archive-detail { scroll-margin-top:calc(var(--header-h) + 16px); }
}

/* Shared relationship corrections. */
.brand-name { display:inline; white-space:nowrap; }
.auth-card h2 { font-size:var(--h3); line-height:1.35; }
[data-login] label { display:block; margin-bottom:var(--s2); }
[data-alias-prefix] { padding-left:var(--s4); }
[data-twofa-setup] { margin-top:var(--s5); }
[data-twofa-confirm-form] { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s3); margin-top:var(--s5); }
[data-twofa-confirm-form] input { min-width:0; height:44px; min-height:44px; margin:0; padding:0 16px; }
[data-twofa-confirm-form] .btn { flex:none; height:44px; min-height:44px; margin-top:0; align-self:center; }
section .eyebrow + h2,.hero-copy .eyebrow + h1,.page-hero .eyebrow + h1 { margin-top:20px; }
@media (min-width:561px) {
  [data-reader-close] { display:none; }
}


/* Shared chrome and control-state corrections. */
.site-header {
  background: var(--paper, Canvas);
  color: var(--ink, CanvasText);
  border-bottom: 1px solid var(--line, ButtonBorder);
}

.brand .brand-name {
  display: inline-block;
  flex: 0 0 auto;
  width: auto;
  max-width: none;
  overflow: visible;
  white-space: nowrap;
  text-overflow: clip;
}

.status-pill.is-active {
  background: var(--mint, Canvas);
  color: var(--mint-ink, CanvasText);
}

.status-pill.is-paused {
  background: var(--amber-t, Canvas);
  color: var(--ink, CanvasText);
}

[data-filter-trigger] {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

[data-filter-trigger] .filter-chevron {
  display: inline-block;
  position: static;
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  margin: 0 0 3px;
  padding: 0;
  border: 0;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  background: transparent;
  transform: rotate(45deg);
}

[data-twofa-setup] {
  margin-top: 24px;
}

[data-twofa-confirm]:not(.actions *) {
  margin-top: 0;
}


/* Privacy notice: shared surfaces, explicit data boundaries. */
.privacy-hero { background:var(--mint); color:var(--mint-ink); padding-bottom:64px; }
.privacy-hero h1 { max-width:860px; font-weight:var(--weight-medium); }
.privacy-hero .section-intro { color:var(--mint-text); }
.privacy-meta { display:flex; flex-wrap:wrap; gap:var(--s2) var(--s5); margin-top:var(--s5); font-size:var(--small); color:var(--mint-text); }
.privacy-glance.legal-glance { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s5); margin-top:var(--s6); }
.privacy-glance-card { min-width:0; padding:var(--s5); border:1px solid var(--line); border-radius:var(--radius-card); background:var(--paper); color:var(--text); display:flex; flex-direction:column; align-items:flex-start; }
.privacy-glance-index { font:var(--weight-medium) var(--small)/1.6 var(--sans); color:var(--primary); }
.privacy-glance-card h2 { margin-top:20px; font-size:var(--lead); line-height:1.5; font-weight:var(--weight-medium); letter-spacing:0; text-wrap:initial; }
.privacy-glance-card p { margin-top:var(--s3); font-size:var(--body); }
.privacy-glance-card > a { margin-top:var(--s5); font-size:var(--small); }
.privacy-document { display:grid; grid-template-columns:220px minmax(0,1fr); gap:64px; align-items:start; padding-top:64px; padding-bottom:var(--s7); }
.privacy-index { position:sticky; top:calc(var(--header-h) + var(--s5)); padding:var(--s5); border-radius:var(--radius-card); background:var(--bg2); color:var(--text); border:1px solid var(--line); min-width:0; }
.privacy-index-title { font-size:var(--body); font-weight:var(--weight-medium); color:var(--ink); }
.privacy-index ol { padding-left:20px; margin:var(--s4) 0 0; font-size:var(--small); }
.privacy-index li + li { margin-top:var(--s3); }
.privacy-index li a:hover { color:var(--primary); text-decoration:underline; text-underline-offset:3px; }
.privacy-index-note { margin-top:var(--s5); font-size:var(--small); }
.privacy-index > a { display:inline-block; margin-top:var(--s4); font-size:var(--small); }
.privacy-prose { max-width:900px; }
.privacy-section { scroll-margin-top:calc(var(--header-h) + 32px); }
.privacy-section + .privacy-section { margin-top:64px; }
.privacy-prose .privacy-section > h2 { margin:0 0 var(--s5); font-size:24px; line-height:1.45; font-weight:var(--weight-medium); }
.privacy-prose h3 { font-size:var(--lead); line-height:1.5; font-weight:var(--weight-medium); }
.privacy-prose .eyebrow { margin-bottom:20px; }
.privacy-table { margin-block:var(--s5) 32px; border:1px solid var(--line); border-radius:var(--radius-inner); background:var(--paper); color:var(--text); }
.privacy-table table { min-width:560px; table-layout:fixed; line-height:1.75; }
.privacy-table caption { padding:var(--s4); text-align:left; font-size:var(--small); font-weight:var(--weight-medium); background:var(--mint); color:var(--mint-ink); }
.privacy-table th:first-child { width:24%; }
.privacy-table tbody th { background:var(--paper); color:var(--ink); }
.privacy-table tbody tr:last-child > * { border-bottom:0; }
.privacy-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s4); margin:var(--s5) 0 32px; }
.privacy-fact { padding:var(--s5); min-width:0; border-radius:var(--radius-card); background:var(--cream); color:var(--cream-ink); }
.privacy-fact strong { display:block; font-size:var(--h2); line-height:1.3; font-weight:var(--weight-medium); color:var(--cream-ink); }
.privacy-prose .privacy-fact h3 { margin:var(--s4) 0 var(--s2); font-size:var(--body); color:var(--cream-ink); }
.privacy-fact p { font-size:var(--small); line-height:1.8; }
.privacy-storage { margin:var(--s5) 0 32px; display:grid; gap:var(--s3); }
.privacy-storage > div { display:grid; grid-template-columns:160px minmax(0,1fr); gap:var(--s5); padding:var(--s5); border:1px solid var(--line); border-radius:var(--radius-inner); background:var(--bg2); color:var(--text); }
.privacy-storage dt { font-weight:var(--weight-medium); color:var(--ink); }
.privacy-storage dd { min-width:0; margin:0; font-size:var(--small); }
.privacy-storage code { overflow-wrap:anywhere; color:var(--ink); }
.privacy-prose .privacy-device-note { padding:var(--s5); margin-bottom:32px; }
.privacy-prose .privacy-device-note h3 { margin:0 0 var(--s3); color:var(--cream-ink); }
.privacy-device-note p { font-size:var(--body); }
.privacy-prose .privacy-controls { margin:var(--s5) 0 32px; padding-left:24px; }
.privacy-controls li { padding-left:var(--s2); }
.privacy-controls li + li { margin-top:var(--s5); }
.privacy-controls li::marker { color:var(--primary); font-weight:var(--weight-medium); }
.privacy-prose .privacy-controls h3 { margin:0 0 var(--s2); }
.privacy-request-note { margin:var(--s5) 0 32px; padding:var(--s5); background:var(--mint); color:var(--mint-ink); border-radius:var(--radius-card); }
.privacy-prose .privacy-request-note h3 { margin:0 0 var(--s3); color:var(--mint-ink); }
.privacy-prose .privacy-request-note ul { margin:0; }
.privacy-request-note li + li { margin-top:var(--s2); }
.privacy-contact > .actions { margin-top:32px; }
.privacy-contact .btn { height:auto; min-height:40px; padding:10px 20px; line-height:1.35; white-space:normal; }
@media (max-width:860px) {
  .privacy-hero { padding-bottom:var(--s6); }
  .privacy-glance.legal-glance { grid-template-columns:minmax(0,1fr); gap:var(--s4); margin-top:32px; }
  .privacy-glance-card { padding:var(--s5); }
  .privacy-document { grid-template-columns:minmax(0,1fr); gap:var(--s6); padding-top:var(--s6); padding-bottom:64px; }
  .privacy-index { position:static; }
  .privacy-index ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s3) 32px; }
  .privacy-index li + li { margin-top:0; }
  .privacy-index-note { max-width:560px; }
  .privacy-facts { gap:var(--s3); }
  .privacy-fact { padding:var(--s4); }
  .privacy-storage > div { grid-template-columns:minmax(0,1fr); gap:var(--s2); }
}
@media (max-width:560px) {
  .privacy-meta { flex-direction:column; gap:var(--s2); }
  .privacy-document { padding-top:32px; padding-bottom:56px; gap:32px; }
  .privacy-section + .privacy-section { margin-top:var(--s6); }
  .privacy-prose .privacy-section > h2 { font-size:22px; }
  .privacy-glance-card { padding:var(--s5) var(--s4); }
  .privacy-facts { grid-template-columns:minmax(0,1fr); }
  .privacy-fact { padding:var(--s5); }
  .privacy-fact strong { font-size:var(--h2); }
  .privacy-index,.privacy-storage > div { padding:var(--s4); }
  .privacy-table th,.privacy-table td { padding:var(--s3); }
  .privacy-prose .privacy-device-note,.privacy-request-note { padding:var(--s4); }
}


/* Terms reading surface. */
.terms-hero { background:var(--mint); color:var(--mint-ink); padding-bottom:var(--s6); }
.terms-hero .section-intro { max-width:760px; color:var(--mint-text); }
.terms-version { margin-top:var(--s5); font-size:var(--small); color:var(--mint-text); }
.terms-glance.legal-glance { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s5); margin-top:var(--s6); }
.terms-glance-card { display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:var(--s5); border:1px solid var(--line); border-radius:var(--radius-card); background:var(--paper); color:var(--text); }
.terms-glance-card h2 { margin-top:var(--s4); font-size:var(--lead); font-weight:var(--weight-medium); line-height:1.5; letter-spacing:0; }
.terms-glance-card p { margin-top:var(--s2); font-size:var(--body); }
.terms-glance-card a { margin-top:var(--s4); font-size:var(--small); }
.terms-document { display:grid; grid-template-columns:240px minmax(0,1fr); gap:64px; align-items:start; padding-top:64px; padding-bottom:var(--s7); }
.terms-index { position:sticky; top:calc(var(--header-h) + var(--s5)); padding:var(--s5); border-radius:var(--radius-card); background:var(--bg2); color:var(--text); border:1px solid var(--line); }
.terms-index-title { color:var(--ink); font-size:var(--small); font-weight:var(--weight-medium); }
.terms-index nav { display:grid; gap:var(--s3); margin-top:var(--s4); font-size:var(--small); }
.terms-index nav a:hover { color:var(--primary); text-decoration:underline; text-underline-offset:3px; }
.terms-index > p:last-child { margin-top:var(--s5); font-size:var(--small); }
.terms-prose { max-width:900px; }
.terms-prose h2 { font-size:24px; font-weight:var(--weight-medium); line-height:1.4; margin:0 0 20px; letter-spacing:-.01em; }
.terms-prose h3 { font-size:var(--lead); font-weight:var(--weight-medium); line-height:1.5; margin:28px 0 12px; }
.terms-prose strong { font-weight:var(--weight-medium); color:var(--ink); }
.terms-section { scroll-margin-top:calc(var(--header-h) + 32px); }
.terms-section + .terms-section { margin-top:64px; }
.terms-prose .eyebrow { font-size:var(--small); line-height:1.6; margin-bottom:20px; }
.terms-prose .terms-section > .eyebrow + h2 { margin-top:0; }
.terms-boundary-table { border:1px solid var(--line); border-radius:var(--radius-inner); margin-bottom:32px; }
.terms-boundary-table table { min-width:560px; font-size:var(--small); line-height:1.75; }
.terms-boundary-table caption { padding:var(--s4); text-align:left; background:var(--mint); color:var(--mint-ink); font-weight:var(--weight-medium); }
.terms-boundary-table th:first-child { width:112px; }
.terms-boundary-table tbody th { background:var(--bg2); color:var(--ink); }
.terms-boundary-table tr:last-child > * { border-bottom:0; }
.terms-use-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s5); margin:var(--s5) 0 32px; }
.terms-use-card { padding:var(--s5); border:1px solid var(--line); border-radius:var(--radius-card); background:var(--mint); color:var(--text); }
.terms-use-card.terms-use-restricted { background:var(--cream); color:var(--text); }
.terms-prose .terms-use-card h3 { display:flex; align-items:center; gap:var(--s3); margin:0 0 var(--s4); }
.terms-use-card h3 svg { flex:none; }
.terms-prose .terms-use-card ul { list-style:none; padding:0; margin:0; }
.terms-use-card li + li { margin-top:var(--s4); }
.terms-portal-note { margin:var(--s5) 0 32px; padding:var(--s5); }
.terms-prose .terms-portal-note h3 { margin:0 0 var(--s3); }
.terms-lifetime-note { margin:var(--s5) 0 32px; padding:var(--s5); border-radius:var(--radius-card); background:var(--cream); color:var(--cream-ink); }
.terms-prose .terms-lifetime-note h3 { margin:0 0 var(--s3); }
.terms-contact { margin-top:32px; padding:32px; border-radius:var(--radius-card); background:var(--mint); color:var(--mint-ink); }
.terms-prose .terms-contact h3 { margin:0 0 var(--s3); }
.terms-contact .actions { margin-top:28px; }
.terms-contact .btn { height:auto; min-height:40px; padding:10px 20px; line-height:1.35; white-space:normal; overflow-wrap:anywhere; background:var(--primary); color:var(--paper); }
.terms-contact .btn:hover { background:var(--primary-d); color:var(--paper); }
.terms-end { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s3) var(--s5); margin-top:var(--s6); font-size:var(--small); color:var(--text); }
@media (max-width:860px) {
  .terms-glance.legal-glance { gap:var(--s4); }
  .terms-glance-card { padding:var(--s4); }
  .terms-document { grid-template-columns:minmax(0,1fr); gap:40px; padding-top:var(--s6); padding-bottom:64px; }
  .terms-index { position:static; padding:var(--s5); }
  .terms-index nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s3) var(--s5); }
  .terms-index > p:last-child { margin-top:var(--s4); }
  .terms-use-grid { gap:var(--s4); }
  .terms-use-card { padding:var(--s4); }
  .terms-section + .terms-section { margin-top:var(--s6); }
}
@media (max-width:560px) {
  .terms-hero { padding-bottom:32px; }
  .terms-version { font-size:var(--small); }
  .terms-glance.legal-glance { grid-template-columns:minmax(0,1fr); margin-top:32px; gap:var(--s3); }
  .terms-glance-card { padding:var(--s5); }
  .terms-document { padding-top:32px; padding-bottom:56px; gap:32px; }
  .terms-index { padding:var(--s4); }
  .terms-index nav { gap:var(--s3); }
  .terms-prose h2 { font-size:22px; }
  .terms-prose h3 { font-size:var(--lead); }
  .terms-use-grid { grid-template-columns:minmax(0,1fr); }
  .terms-use-card { padding:var(--s5); }
  .terms-contact { padding:var(--s5); }
  .terms-contact .actions { align-items:flex-start; flex-direction:column; }
  .terms-end { align-items:flex-start; flex-direction:column; }
}


/* Address lifespan: continuous route, planning slip and expiry boundaries. */
.lifespan-hero { padding-bottom:var(--s6); }
.lifespan-hero .section-intro { max-width:760px; }
.lifespan-hero-actions { margin-top:32px; }
.lifespan-note { display:flex; align-items:flex-start; gap:var(--s4); margin-top:32px; padding:var(--s5); max-width:900px; border-radius:var(--radius-card); background:var(--mint); color:var(--mint-ink); }
.lifespan-note svg { flex:none; }
.lifespan-note p { font-size:var(--small); }
.lifespan-note strong { font-weight:var(--weight-medium); }
.lifespan-route { padding:var(--s6) 0 var(--s7); background:var(--paper); color:var(--text); }
.lifespan-route .sec-h { text-align:left; }
.lifespan-route .sec-h h2,.lifespan-route .sec-h p { margin-left:0; margin-right:0; }
.lifespan-timeline { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; list-style:none; padding:0; margin:var(--s6) 0 0; }
.lifespan-timeline li { position:relative; min-width:0; padding-right:var(--s4); }
.lifespan-timeline li:not(:last-child)::after { content:""; position:absolute; top:20px; left:56px; right:-16px; height:1px; background:var(--line-strong); }
.lifespan-stop { position:relative; z-index:1; display:inline-flex; width:40px; height:40px; align-items:center; justify-content:center; border:1px solid var(--mint-edge); border-radius:var(--radius-control); font:var(--weight-medium) var(--small)/1 var(--mono); background:var(--mint); color:var(--mint-ink); }
.lifespan-timeline h3 { margin-top:var(--s5); font-size:var(--lead); }
.lifespan-timeline p { margin:var(--s3) 0 var(--s4); font-size:var(--body); }
.lifespan-planning { padding:var(--s7) 0; background:var(--mint); color:var(--mint-ink); }
.lifespan-planning-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:64px; align-items:start; }
.lifespan-planning .section-intro { color:var(--mint-text); }
.lifespan-planner-context { margin:var(--s5) 0; font-size:var(--body); color:var(--mint-text); }
.lifespan-planner { min-width:0; padding:32px; border-radius:var(--radius-card); background:var(--paper); color:var(--text); box-shadow:var(--shadow); }
.lifespan-range-group + .lifespan-range-group { margin-top:32px; }
.lifespan-range-heading { display:flex; justify-content:space-between; align-items:center; gap:var(--s4); margin-bottom:var(--s4); }
.lifespan-range-heading label { color:var(--ink); font-size:var(--body); font-weight:var(--weight-medium); }
.lifespan-range-heading output { flex:none; font:var(--weight-medium) var(--small)/1.5 var(--mono); color:var(--primary); }
.lifespan-planner input[type=range] { display:block; width:100%; min-width:0; height:24px; margin:0; padding:0; accent-color:var(--primary); cursor:pointer; }
.lifespan-range-scale { display:flex; justify-content:space-between; gap:var(--s4); margin:var(--s2) 0; color:var(--muted); font-size:var(--small); }
.lifespan-check { display:flex; align-items:flex-start; gap:var(--s3); margin-top:var(--s5); font-size:var(--small); color:var(--ink); cursor:pointer; }
.lifespan-check input { flex:none; width:18px; height:18px; margin:2px 0 0; accent-color:var(--primary); }
.lifespan-verdict { margin-top:var(--s5); padding:var(--s5); border-radius:var(--radius-inner); background:var(--cream); color:var(--cream-ink); }
.lifespan-verdict .status-pill { background:var(--paper); color:var(--cream-ink); border:1px solid var(--amber-t); }
.lifespan-verdict h3 { margin-top:var(--s4); font-size:var(--lead); }
.lifespan-verdict p { margin-top:var(--s3); font-size:var(--body); }
.lifespan-verdict .btn { margin-top:var(--s5); height:auto; min-height:40px; padding:10px 20px; line-height:1.35; white-space:normal; }
.lifespan-planner-disclaimer { margin-top:var(--s4); font-size:var(--small); color:var(--muted); }
.lifespan-extension { padding:var(--s7) 0; background:var(--paper); color:var(--text); }
.lifespan-extension-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:64px; align-items:center; }
.lifespan-extension-copy { margin-top:var(--s5); }
.lifespan-extension-actions { margin-top:32px; }
.lifespan-extension-slip { min-width:0; padding:32px; border-radius:var(--radius-card); background:var(--cream); color:var(--cream-ink); }
.lifespan-extension-slip h3 { margin-top:var(--s5); font-size:var(--h3); }
.lifespan-extension-slip ol { margin:var(--s5) 0; padding-left:20px; }
.lifespan-extension-slip li + li { margin-top:var(--s3); }
.lifespan-extension-slip p { font-size:var(--small); }
.lifespan-expiry { padding:var(--s7) 0; background:var(--bg2); color:var(--text); }
.lifespan-expiry .section-intro { max-width:800px; }
.lifespan-boundaries { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s5); margin-top:var(--s6); }
.lifespan-boundaries h3 { font-size:var(--lead); }
.lifespan-boundaries p { margin-top:var(--s3); }
.lifespan-policy { margin-top:32px; max-width:900px; }
.lifespan-events { padding:var(--s7) 0; background:var(--paper); color:var(--text); }
.lifespan-event-table { margin-top:var(--s6); border:1px solid var(--line); border-radius:var(--radius-card); }
.lifespan-event-table table { min-width:700px; }
.lifespan-event-table caption { text-align:left; padding:var(--s4); background:var(--mint); color:var(--mint-ink); font-size:var(--small); }
.lifespan-event-table th:first-child { width:100px; }
.lifespan-event-table tbody th { background:var(--paper); color:var(--ink); }
.lifespan-event-table tr:last-child td,.lifespan-event-table tr:last-child th { border-bottom:0; }
.lifespan-event-note { margin-top:32px; max-width:920px; }
.lifespan-save { padding:var(--s7) 0; background:var(--mint); color:var(--mint-ink); }
.lifespan-save-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:64px; align-items:start; }
.lifespan-save .section-intro { color:var(--mint-text); }
.lifespan-save-list { display:grid; grid-template-columns:minmax(0,1fr); gap:var(--s4); }
.lifespan-save-list h3 { font-size:var(--lead); }
.lifespan-save-list p { margin-top:var(--s3); }
.lifespan-save-list .text-link { display:inline-block; margin-top:var(--s5); }
.lifespan-final .wrap { flex-direction:column; align-items:center; text-align:center; }
.lifespan-final .b { justify-content:center; }
.lifespan-final p { max-width:720px; margin:20px auto 0; }
@media (max-width:860px) {
  .lifespan-route,.lifespan-planning,.lifespan-extension,.lifespan-expiry,.lifespan-events,.lifespan-save { padding:64px 0; }
  .lifespan-planning-layout,.lifespan-extension-layout,.lifespan-save-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
  .lifespan-timeline { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:32px; }
  .lifespan-timeline li:nth-child(2)::after { display:none; }
  .lifespan-planning h2 br,.lifespan-save h2 br { display:none; }
  .lifespan-boundaries { gap:var(--s4); }
}
@media (max-width:560px) {
  .lifespan-route,.lifespan-planning,.lifespan-extension,.lifespan-expiry,.lifespan-events,.lifespan-save { padding:48px 0; }
  .lifespan-note { padding:var(--s4); gap:var(--s3); }
  .lifespan-hero-actions .btn { height:auto; min-height:40px; padding:10px 16px; line-height:1.35; }
  .lifespan-timeline { grid-template-columns:minmax(0,1fr); gap:0; margin-top:32px; }
  .lifespan-timeline li { padding:0 0 32px 60px; }
  .lifespan-timeline li:last-child { padding-bottom:0; }
  .lifespan-stop { position:absolute; left:0; top:0; }
  .lifespan-timeline li:not(:last-child)::after { display:block; left:20px; top:48px; bottom:8px; right:auto; height:auto; width:1px; }
  .lifespan-timeline h3 { margin-top:0; padding-top:6px; }
  .lifespan-planner,.lifespan-extension-slip { padding:var(--s5) var(--s4); }
  .lifespan-verdict { padding:var(--s4); }
  .lifespan-range-heading { gap:var(--s2); }
  .lifespan-range-heading label { font-size:var(--small); }
  .lifespan-boundaries { grid-template-columns:minmax(0,1fr); margin-top:32px; }
  .lifespan-boundaries .card,.lifespan-save-list .card { padding:var(--s5); }
  .lifespan-event-table { margin-top:32px; }
  .lifespan-extension-actions { gap:var(--s4); }
  .lifespan-final .b { width:100%; }
}


/* Public hotspot guide. */
.hotspot-hero { padding:64px 0 var(--s7); background:var(--paper); color:var(--text); }
.hotspot-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:center; }
.hotspot-hero h1 { max-width:560px; font-size:var(--h1); line-height:1.3; font-weight:var(--weight-medium); }
.hotspot-hero .section-intro { max-width:520px; }
.hotspot-hero-note { margin-top:var(--s5); max-width:520px; }
.hotspot-hero-actions { margin-top:32px; }
.hotspot-hero-actions .btn { height:auto; min-height:44px; padding:12px 20px; line-height:1.35; white-space:normal; }
.hotspot-jump { display:inline-block; margin-top:var(--s5); font-size:var(--small); }
.hotspot-portal { margin:0; min-width:0; background:var(--paper); color:var(--text); border:1px solid var(--line-window); border-top:4px solid var(--mint-edge); border-radius:var(--radius-card); box-shadow:var(--shadow-window); }
.hotspot-portal-heading { display:flex; align-items:center; gap:var(--s3); padding:20px var(--s5); border-bottom:1px solid var(--line); }
.hotspot-portal-heading > div { min-width:0; }
.hotspot-portal-heading strong { display:block; color:var(--ink); font-weight:var(--weight-medium); font-size:var(--lead); }
.hotspot-portal-heading > div > span { display:block; font-size:var(--small); color:var(--muted); }
.hotspot-portal-heading > .status-pill { margin-left:auto; flex:none; background:var(--cream); color:var(--cream-ink); }
.hotspot-wifi-mark { width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; flex:none; border-radius:var(--radius-inner); background:var(--mint); color:var(--primary); }
.hotspot-portal-body { padding:32px; }
.hotspot-portal-title { font-size:var(--h3); font-weight:var(--weight-medium); color:var(--ink); margin-bottom:var(--s2); }
.hotspot-field-example { margin:var(--s5) 0; }
.hotspot-field-example > span { display:block; font-size:var(--small); margin-bottom:var(--s2); color:var(--text); }
.hotspot-field-example code { display:block; width:100%; padding:var(--s3) var(--s4); font-size:var(--body); white-space:nowrap; overflow-x:auto; letter-spacing:0; background:var(--bg2); color:var(--ink); border:1px solid var(--line-strong); border-radius:var(--radius-inner); }
.hotspot-portal-message { display:flex; align-items:flex-start; gap:var(--s3); color:var(--mint-ink); background:var(--mint); border-radius:var(--radius-inner); padding:var(--s4); font-size:var(--small); }
.hotspot-portal-message svg { flex:none; margin-top:2px; }
.hotspot-portal-check { display:flex; align-items:flex-start; gap:var(--s3); margin-top:var(--s5); font-size:var(--small); }
.hotspot-portal-check > span { width:14px; height:14px; margin-top:4px; flex:none; border:1px solid var(--line-strong); border-radius:2px; }
.hotspot-portal figcaption { padding:var(--s4) var(--s5); background:var(--cream); color:var(--cream-ink); border-radius:0 0 var(--radius-card) var(--radius-card); font-size:var(--small); }
.hotspot-section { padding:80px 0; background:var(--paper); color:var(--text); scroll-margin-top:calc(var(--header-h) + var(--s5)); }
.hotspot-mint { background:var(--mint); color:var(--mint-text); }
.hotspot-paper { background:var(--bg2); color:var(--text); }
.hotspot-centered-kicker { margin-left:auto; margin-right:auto; text-align:center; }
.hotspot-choice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s5); margin-top:var(--s6); }
.hotspot-choice { padding:28px; min-width:0; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--paper); color:var(--text); }
.hotspot-choice-icon { display:flex; align-items:center; justify-content:center; width:44px; height:44px; background:var(--mint); color:var(--primary); border-radius:var(--radius-inner); margin-bottom:var(--s5); }
.hotspot-choice h3 { font-size:var(--h3); margin:var(--s4) 0 var(--s3); }
.hotspot-choice-facts { margin:var(--s5) 0; font-size:var(--small); }
.hotspot-choice-facts > div + div { margin-top:var(--s4); }
.hotspot-choice-facts dt { color:var(--ink); font-weight:var(--weight-medium); }
.hotspot-choice-facts dd { margin:var(--s1) 0 0; }
.hotspot-choice > a { display:inline-block; font-size:var(--small); }
.hotspot-section-note { max-width:800px; margin:32px auto 0; text-align:center; font-size:var(--small); color:var(--mint-text); }
.hotspot-section-heading { max-width:760px; }
.hotspot-step-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--s5); list-style:none; margin:var(--s6) 0 0; padding:0; }
.hotspot-step-grid > li { min-width:0; padding:var(--s5); background:var(--bg2); color:var(--text); border-radius:var(--radius-card); }
.hotspot-step-grid .step-circle { margin:0 0 var(--s4); width:32px; height:32px; }
.hotspot-step-grid h3 { font-size:var(--lead); margin-bottom:var(--s3); }
.hotspot-step-grid p { font-size:var(--body); }
.hotspot-step-grid code { font-size:var(--small); overflow-wrap:anywhere; }
.hotspot-switch-note { margin-top:32px; padding:var(--s5) 32px; background:var(--cream); color:var(--cream-ink); border-radius:var(--radius-card); }
.hotspot-switch-note strong { font-weight:var(--weight-medium); }
.hotspot-switch-note p { margin-top:var(--s3); font-size:var(--body); }
.hotspot-reading-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:center; }
.hotspot-reading-copy { min-width:0; }
.hotspot-reading-checks { list-style:decimal; margin:var(--s5) 0; padding-left:22px; }
.hotspot-reading-checks li { padding-left:var(--s1); }
.hotspot-reading-checks li + li { margin-top:var(--s4); }
.hotspot-reading-checks strong { font-weight:var(--weight-medium); color:var(--ink); }
.hotspot-reading-warning { margin:var(--s5) 0; padding:var(--s4); border-left:3px solid var(--amber); background:var(--cream); color:var(--cream-ink); font-size:var(--small); }
.hotspot-letter { margin:0; min-width:0; border:1px solid var(--line-window); border-radius:var(--radius-card); background:var(--paper); color:var(--text); box-shadow:var(--shadow); overflow:hidden; }
.hotspot-letter-head { display:flex; align-items:center; gap:var(--s3); padding:var(--s5); border-bottom:1px solid var(--line); }
.hotspot-letter-head > div { min-width:0; }
.hotspot-letter-head strong { display:block; color:var(--ink); font-size:var(--body); font-weight:var(--weight-medium); }
.hotspot-letter-head code { display:block; color:var(--muted); font-size:var(--small); overflow-wrap:anywhere; }
.hotspot-letter-head > .demo { margin-left:auto; flex:none; }
.hotspot-letter-body { padding:32px; }
.hotspot-letter-body h3 { margin-bottom:var(--s4); font-size:var(--h3); }
.hotspot-letter-body p { font-size:var(--body); }
.hotspot-sample-code { padding:var(--s4); margin:var(--s5) 0; border-radius:var(--radius-inner); text-align:center; background:var(--mint); color:var(--mint-ink); }
.hotspot-sample-code > span { display:block; font-size:var(--small); }
.hotspot-sample-code code { display:block; font-size:var(--display-code); color:var(--ink); margin-top:var(--s2); }
.hotspot-link-example { margin-top:var(--s5); font-size:var(--small); }
.hotspot-link-example > span { display:block; margin-bottom:var(--s2); color:var(--muted); }
.hotspot-link-example code { display:block; overflow-wrap:anywhere; color:var(--primary); }
.hotspot-letter figcaption { padding:var(--s4) var(--s5); border-top:1px solid var(--line); background:var(--bg2); color:var(--muted); font-size:var(--small); }
.hotspot-route-list { display:grid; gap:var(--s4); margin-top:var(--s6); }
.hotspot-route { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:var(--s6); padding:32px; background:var(--bg2); color:var(--text); border-radius:var(--radius-card); border:1px solid var(--line); }
.hotspot-route h3 { margin-top:var(--s4); font-size:var(--h3); }
.hotspot-route p + p { margin-top:var(--s3); }
.hotspot-route-footer { display:flex; align-items:center; justify-content:space-between; gap:var(--s5); margin-top:32px; }
.hotspot-route-footer p { max-width:760px; font-size:var(--small); }
.hotspot-route-footer .btn { flex:none; height:auto; min-height:40px; padding:10px 20px; line-height:1.35; white-space:normal; }
.hotspot-after-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:start; }
.hotspot-after-copy { margin-top:var(--s5); }
.hotspot-retention-card { padding:32px; border-radius:var(--radius-card); background:var(--paper); color:var(--text); border-top:4px solid var(--mint-edge); box-shadow:var(--shadow); }
.hotspot-retention-card h3 { font-size:var(--h3); }
.hotspot-retention-card ul { margin:var(--s5) 0; padding-left:20px; }
.hotspot-retention-card li + li { margin-top:var(--s2); }
.hotspot-retention-card p { font-size:var(--small); }
.hotspot-retention-card > a { display:inline-block; margin-top:var(--s5); font-size:var(--small); }
.hotspot-follow-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s5); margin-top:var(--s6); }
.hotspot-follow-links > a { display:block; min-width:0; padding:var(--s5); border:1px solid var(--mint-edge); border-radius:var(--radius-card); background:var(--mint); color:var(--mint-text); }
.hotspot-follow-links > a:hover { background:var(--paper); color:var(--mint-ink); }
.hotspot-follow-links strong { display:block; color:var(--mint-ink); font-size:var(--lead); font-weight:var(--weight-medium); }
.hotspot-follow-links span { display:block; margin-top:var(--s2); font-size:var(--body); }
.hotspot-follow-links .text-link { margin-top:var(--s4); font-size:var(--small); }
.hotspot-ending { padding:64px 0; background:var(--cream); color:var(--cream-ink); text-align:center; }
.hotspot-ending .section-intro { max-width:720px; margin-left:auto; margin-right:auto; }
.hotspot-ending-actions { justify-content:center; margin-top:32px; }
.hotspot-ending-actions .btn { height:auto; min-height:44px; padding:12px 20px; line-height:1.35; white-space:normal; }
.hotspot-ending-note { margin-top:var(--s5); font-size:var(--small); }
@media (max-width:860px) {
  .hotspot-hero { padding:var(--s6) 0 64px; }
  .hotspot-hero-grid { grid-template-columns:minmax(0,1fr); gap:40px; }
  .hotspot-hero h1,.hotspot-hero .section-intro,.hotspot-hero-note { max-width:680px; }
  .hotspot-portal { width:100%; max-width:680px; }
  .hotspot-section { padding:64px 0; }
  .hotspot-choice-grid { grid-template-columns:minmax(0,1fr); gap:var(--s4); margin-top:32px; }
  .hotspot-choice { padding:var(--s5); }
  .hotspot-choice-icon { margin-bottom:var(--s4); }
  .hotspot-choice-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s5); }
  .hotspot-choice-facts > div + div { margin-top:0; }
  .hotspot-step-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s4); margin-top:32px; }
  .hotspot-reading-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
  .hotspot-letter { width:100%; max-width:680px; }
  .hotspot-route-list { margin-top:32px; }
  .hotspot-route { grid-template-columns:minmax(0,1fr); gap:var(--s5); padding:var(--s5); }
  .hotspot-route-footer { align-items:flex-start; }
  .hotspot-after-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
  .hotspot-follow-links { margin-top:32px; }
  .hotspot-ending { padding:56px 0; }
}
@media (max-width:560px) {
  .hotspot-hero { padding:40px 0 56px; }
  .hotspot-hero-grid { gap:32px; }
  .hotspot-hero-note { font-size:var(--body); }
  .hotspot-hero-actions { gap:var(--s2); }
  .hotspot-hero-actions .btn { padding:11px 16px; font-size:var(--small); }
  .hotspot-portal-heading { flex-wrap:wrap; padding:var(--s4); }
  .hotspot-portal-heading > .status-pill { font-size:12px; }
  .hotspot-portal-body { padding:var(--s5) var(--s4); }
  .hotspot-field-example code { font-size:var(--small); padding:var(--s3); }
  .hotspot-portal figcaption { padding:var(--s4); }
  .hotspot-section { padding:56px 0; }
  .hotspot-choice { padding:var(--s5) var(--s4); }
  .hotspot-choice-facts { grid-template-columns:minmax(0,1fr); gap:var(--s4); }
  .hotspot-step-grid { grid-template-columns:minmax(0,1fr); }
  .hotspot-step-grid > li { padding:var(--s5); }
  .hotspot-switch-note { padding:var(--s5) var(--s4); }
  .hotspot-letter-head { flex-wrap:wrap; padding:var(--s4); }
  .hotspot-letter-head > div { flex:1 1 170px; }
  .hotspot-letter-body { padding:var(--s5) var(--s4); }
  .hotspot-letter figcaption { padding:var(--s4); }
  .hotspot-route { padding:var(--s5) var(--s4); }
  .hotspot-route-footer { flex-direction:column; gap:var(--s4); }
  .hotspot-retention-card { padding:var(--s5) var(--s4); }
  .hotspot-follow-links { grid-template-columns:minmax(0,1fr); gap:var(--s4); }
  .hotspot-follow-links > a { padding:var(--s5) var(--s4); }
  .hotspot-ending { padding:var(--s6) 0; }
  .hotspot-ending .section-intro { font-size:var(--body); }
  .hotspot-ending-actions { gap:var(--s2); }
  .hotspot-ending-actions .btn { font-size:var(--small); padding:12px 16px; }
}


/* Task-led duration comparison. */
.compare-hero { padding-bottom:64px; }
.compare-hero h1 { max-width:880px; font-weight:var(--weight-medium); }
.compare-hero .section-intro { max-width:760px; }
.compare-start { display:flex; align-items:center; gap:var(--s6); max-width:960px; margin-top:32px; padding:var(--s5); border-radius:var(--radius-card); background:var(--mint); color:var(--mint-ink); }
.compare-start p { flex:1; min-width:0; }
.compare-start > a { flex:none; }
.compare-section { padding:72px 0; }
.compare-heading { max-width:800px; margin-bottom:32px; }
.compare-heading h2 { font-weight:var(--weight-medium); }
.compare-heading .section-intro { max-width:720px; }
.compare-overview { background:var(--bg2); color:var(--text); }
.compare-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s5); }
.compare-option { display:flex; flex-direction:column; align-items:flex-start; gap:var(--s4); padding:32px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--paper); color:var(--text); min-width:0; }
.compare-option-mint { background:var(--mint); color:var(--mint-text); border-color:var(--mint-edge); }
.compare-option-cream { background:var(--cream); color:var(--cream-ink); border-color:var(--amber-t); }
.compare-icon { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:var(--radius-inner); background:var(--paper); color:var(--primary); border:1px solid var(--line); }
.compare-label { font-size:var(--small); font-weight:var(--weight-medium); }
.compare-option h3 { font-size:var(--h3); font-weight:var(--weight-medium); }
.compare-option > a,.compare-option > .status-pill { margin-top:auto; }
.compare-table-hint { font-size:var(--small); color:var(--muted); }
.compare-table { margin-top:var(--s5); border:1px solid var(--line-strong); border-radius:var(--radius-card); overscroll-behavior-x:contain; }
.compare-table table { min-width:920px; table-layout:fixed; font-size:var(--body); line-height:1.7; }
.compare-table th,.compare-table td { padding:20px 24px; vertical-align:top; overflow-wrap:anywhere; }
.compare-table thead th { background:var(--mint); color:var(--mint-ink); font-weight:var(--weight-medium); }
.compare-table th:first-child { width:16%; }
.compare-table tbody th { background:var(--bg2); color:var(--ink); }
.compare-table tbody tr:last-child > * { border-bottom:0; }
.compare-table-note { max-width:900px; margin-top:32px; font-size:var(--small); line-height:1.8; }
.compare-tasks { background:var(--mint); color:var(--mint-text); }
.compare-task-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s5); }
.compare-task { display:flex; flex-direction:column; align-items:flex-start; gap:var(--s4); padding:32px; min-width:0; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--paper); color:var(--text); }
.compare-task-number { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border:1px dashed var(--line-dashed); border-radius:var(--radius-control); font:var(--weight-medium) var(--small)/1 var(--mono); color:var(--primary); background:var(--paper); }
.compare-task h3 { font-size:var(--h3); }
.compare-advice { padding:var(--s4); border-radius:var(--radius-inner); background:var(--bg2); color:var(--text); }
.compare-advice strong { display:block; font-weight:var(--weight-medium); color:var(--ink); margin-bottom:var(--s2); }
.compare-advice p { font-size:var(--small); }
.compare-limit { font-size:var(--small); }
.compare-limit strong { font-weight:var(--weight-medium); color:var(--ink); }
.compare-task > a { margin-top:auto; }
.compare-mistakes { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:64px; align-items:start; }
.compare-mistakes .compare-heading { margin-bottom:0; }
.compare-cautions { display:grid; gap:var(--s5); }
.compare-caution { padding:var(--s5); border-radius:var(--radius-card); border:1px solid var(--line); background:var(--bg2); color:var(--text); }
.compare-caution h3 { margin-bottom:var(--s3); font-size:var(--lead); }
.compare-next { background:var(--cream); color:var(--cream-ink); }
.compare-next-inner { max-width:880px; margin:0 auto; text-align:center; }
.compare-next .eyebrow { margin-left:auto; margin-right:auto; }
.compare-next h2 { font-weight:var(--weight-medium); }
.compare-next .section-intro { max-width:720px; margin-left:auto; margin-right:auto; }
.compare-next .actions { justify-content:center; margin-top:32px; }
.compare-next .btn { height:auto; min-height:44px; padding:12px 20px; white-space:normal; line-height:1.35; }
.compare-next-note { margin:var(--s5) 0 var(--s4); font-size:var(--small); }
@media (max-width:1100px) {
  .compare-option,.compare-task { padding:var(--s5); }
  .compare-mistakes { gap:32px; }
}
@media (max-width:860px) {
  .compare-hero { padding-bottom:48px; }
  .compare-section { padding:56px 0; }
  .compare-start { flex-direction:column; align-items:flex-start; gap:var(--s4); }
  .compare-options,.compare-task-grid { grid-template-columns:minmax(0,1fr); }
  .compare-option,.compare-task { gap:var(--s4); }
  .compare-option > a,.compare-option > .status-pill,.compare-task > a { margin-top:var(--s2); }
  .compare-mistakes { grid-template-columns:minmax(0,1fr); gap:32px; }
  .compare-table th,.compare-table td { padding:var(--s4); }
}
@media (max-width:560px) {
  .compare-section { padding:48px 0; }
  .compare-hero { padding-bottom:40px; }
  .compare-start { padding:var(--s4); }
  .compare-heading { margin-bottom:var(--s5); }
  .compare-option,.compare-task { padding:var(--s5); }
  .compare-caution { padding:var(--s4); }
  .compare-next .actions { flex-direction:column; align-items:center; }
  .compare-next .btn { width:min(300px,100%); }
}


/* Local corrections for access width and section relationships. */
.access-route .access-entry > .sky-access-card {
  width:100%;
  max-width:none;
  margin:0;
}

.timeline article {
  align-items:start;
}

.timeline article h2,
.timeline article h3 {
  margin-top:0;
}

main .section-head,
main .content-head {
  margin-bottom:var(--s6);
}

main section .eyebrow + h1,
main section .eyebrow + h2,
main .page-hero .eyebrow + h1,
main .page-hero .eyebrow + h2,
main .hero-copy .eyebrow + h1,
main .hero-copy .eyebrow + h2 {
  margin-top:20px;
}

.surface-safety .twofa-setup,
.surface-safety [data-twofa-setup] {
  margin-top:var(--s5);
}


/* Notes: index, reading chrome and article-only recommendations. */
.notes-index { background:var(--paper); color:var(--text); }
.notes-index-hero { padding:64px 0 40px; }
.notes-index-hero h1 { max-width:880px; font-weight:var(--weight-medium); }
.notes-index-hero .section-intro { max-width:740px; }
.notes-post-count { display:flex; margin:var(--s5) 0 0; border:1px solid var(--mint-edge); background:var(--mint); color:var(--mint-ink); padding:6px 12px; }
.notes-list-wrap { padding-bottom:var(--s7); }
.notes-post-grid { margin-top:0; align-items:stretch; gap:32px; }
.notes-post-card { padding:32px; min-width:0; align-items:flex-start; height:100%; transition:background .2s,border-color .2s; }
.notes-post-card:nth-child(2n) { background:var(--cream); color:var(--cream-ink); border-color:var(--amber-t); }
.notes-post-card:hover,.notes-post-card:nth-child(2n):hover { background:var(--mint); color:var(--mint-ink); border-color:var(--mint-edge); }
.notes-post-tag { background:var(--mint); color:var(--mint-ink); border:1px solid var(--mint-edge); padding:5px 10px; }
.notes-post-card:nth-child(2n) .notes-post-tag { background:var(--paper); color:var(--cream-ink); border-color:var(--amber-t); }
.notes-post-card h2 { margin-top:var(--s5); font-size:24px; font-weight:var(--weight-medium); line-height:1.5; letter-spacing:-.01em; text-wrap:initial; overflow-wrap:anywhere; }
.notes-post-card .notes-post-description { margin-top:20px; font-size:var(--body); line-height:1.85; }
.notes-post-meta { display:flex; align-items:center; flex-wrap:wrap; gap:var(--s2) var(--s5); width:100%; padding-top:var(--s5); margin-top:auto; font-size:var(--small); color:var(--text); }
.notes-post-card .notes-post-meta time { display:inline; margin:0; font-size:var(--small); color:var(--text); }
.notes-read-time { font-size:var(--small); }
.notes-post-read { display:inline-flex; align-items:center; gap:var(--s3); margin-top:28px; font-size:var(--small); font-weight:var(--weight-medium); color:var(--primary); }
.notes-post-card:hover .notes-post-read { color:var(--primary-d); }
.notes-post-read > span { transition:transform .2s; }
.notes-post-card:hover .notes-post-read > span { transform:translateX(3px); }
.notes-noscript { margin-top:var(--s5); padding:var(--s5); border:1px solid var(--line); border-radius:var(--radius-card); background:var(--bg2); color:var(--text); }

.notes-article-hero { padding:48px 0 var(--s6); background:var(--mint); color:var(--mint-text); }
.notes-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s2) var(--s3); margin:0 0 32px; font-size:var(--small); color:var(--mint-text); }
.notes-breadcrumb a { text-decoration:underline; text-underline-offset:3px; }
.notes-breadcrumb a:hover { color:var(--primary); }
.notes-breadcrumb [aria-current] { overflow-wrap:anywhere; }
.notes-breadcrumb-separator { flex:none; width:5px; height:5px; border-top:1px solid currentColor; border-right:1px solid currentColor; transform:rotate(45deg); }
.notes-article-hero .eyebrow { margin-bottom:20px; }
.notes-article-hero h1 { max-width:960px; font-weight:var(--weight-medium); line-height:1.3; }
.notes-article-hero .section-intro { max-width:840px; color:var(--mint-text); margin-top:20px; }
.notes-article-meta { display:flex; align-items:center; flex-wrap:wrap; gap:var(--s3); margin-top:28px; font-size:var(--small); }
.notes-meta-pill { display:inline-flex; align-items:center; gap:var(--s2); width:fit-content; max-width:100%; padding:6px 12px; border:1px solid var(--mint-edge); border-radius:var(--radius-control); background:var(--paper); color:var(--mint-ink); line-height:1.5; overflow-wrap:anywhere; }
.notes-article-layout { display:grid; grid-template-columns:220px minmax(0,1fr); align-items:start; gap:64px; width:min(1160px,calc(100% - 64px)); margin:0 auto; padding:var(--s6) 0 var(--s7); }
.notes-toc { position:sticky; top:calc(var(--header-h) + var(--s4)); min-width:0; padding:var(--s5); background:var(--bg2); color:var(--text); border:1px solid var(--line); border-radius:var(--radius-card); }
.notes-toc h2 { font-size:var(--lead); font-weight:var(--weight-medium); letter-spacing:0; }
.notes-toc ol { margin:var(--s4) 0 0; padding-left:20px; font-size:var(--small); line-height:1.8; }
.notes-toc li + li { margin-top:var(--s3); }
.notes-toc a { overflow-wrap:anywhere; }
.notes-toc a:hover { color:var(--primary); text-decoration:underline; text-underline-offset:3px; }
.notes-toc [data-post-count],.notes-toc .count { display:block; margin-top:var(--s4); color:var(--muted); font-size:var(--small); }
.notes-toc details { border:0; border-radius:0; background:transparent; color:var(--text); }
.notes-toc summary { padding:0; font-size:var(--lead); font-weight:var(--weight-medium); }
.notes-toc details:not([open]) { padding:0; }
.notes-prose { min-width:0; max-width:876px; line-height:1.85; }
.notes-prose > section { scroll-margin-top:calc(var(--header-h) + 32px); }
.notes-prose h2 { margin:48px 0 20px; font-size:24px; font-weight:var(--weight-medium); line-height:1.45; }
.notes-prose > section:first-child > h2:first-child { margin-top:0; }
.notes-prose h3 { margin:28px 0 var(--s3); font-size:var(--lead); font-weight:var(--weight-medium); line-height:1.5; }
.notes-prose p { font-size:var(--body); font-weight:var(--weight-normal); }
.notes-prose li + li { margin-top:var(--s2); }
.notes-prose strong { font-weight:var(--weight-medium); color:var(--ink); }
.notes-prose code { font-size:var(--small); overflow-wrap:anywhere; }
.notes-prose pre { margin:var(--s5) 0 32px; padding:var(--s5); border:1px solid var(--line); border-radius:var(--radius-inner); background:var(--bg2); color:var(--ink); font-size:var(--small); }
.notes-prose figure { margin:var(--s5) 0 32px; }
.notes-prose figcaption { margin-top:var(--s3); font-size:var(--small); color:var(--text); }
.notes-prose blockquote { margin:var(--s5) 0 32px; padding:var(--s5); border-left:3px solid var(--mint-edge); border-radius:var(--radius-inner); background:var(--mint); color:var(--mint-ink); }
.notes-prose blockquote p { color:var(--mint-ink); }
.notes-prose .table-scroll { margin:var(--s5) 0 32px; border:1px solid var(--line); border-radius:var(--radius-inner); }
.notes-prose table { min-width:580px; line-height:1.75; }
.notes-prose table caption { padding:var(--s4); text-align:left; background:var(--mint); color:var(--mint-ink); font-weight:var(--weight-medium); }
.notes-prose tr:last-child > * { border-bottom:0; }
.notes-callout { margin:var(--s5) 0 32px; padding:var(--s5); border-radius:var(--radius-card); background:var(--cream); color:var(--cream-ink); }
.notes-prose .notes-callout h3 { margin:0 0 var(--s3); color:var(--cream-ink); }
.notes-callout p { color:var(--cream-ink); }
.notes-checklist { margin:var(--s5) 0 32px; padding:var(--s5); border:1px solid var(--line); border-radius:var(--radius-card); background:var(--bg2); color:var(--text); }
.notes-prose .notes-checklist h3 { margin:0 0 var(--s4); }
.notes-checklist ul { margin:0; padding-left:20px; }
.notes-prose .notes-article-cta { margin-top:var(--s6); padding:32px; border-radius:var(--radius-card); background:var(--mint); color:var(--mint-ink); }
.notes-prose .notes-article-cta h2 { margin:0 0 20px; font-size:24px; color:var(--mint-ink); }
.notes-article-cta p { color:var(--mint-ink); }
.notes-article-cta .actions { margin-top:28px; }
.notes-prose .notes-article-cta .btn { height:auto; min-height:44px; padding:12px 20px; white-space:normal; line-height:1.35; text-decoration:none; }
.notes-prose .notes-article-cta .btn-fill { background:var(--primary); color:var(--paper); }
.notes-prose .notes-article-cta .btn-fill:hover { background:var(--primary-d); color:var(--paper); }
.notes-prose .notes-article-cta .btn-line { background:var(--paper); color:var(--primary); border-color:var(--primary); }
.notes-prose .notes-article-cta .btn-line:hover { background:var(--primary-wash); color:var(--primary-d); }
.notes-article-back { display:inline-block; margin-top:32px; font-size:var(--small); }
.notes-recommend-visual { padding:20px var(--s5); background:var(--mint); color:var(--mint-ink); border-bottom:1px solid var(--mint-edge); }
.notes-recommend-visual svg { display:block; width:48px; height:48px; }
.notes-recommend-visual > span { display:block; margin-top:var(--s3); font-size:var(--small); }
.recommend-float.notes-recommend .float-close { background:var(--paper); color:var(--ink); border-color:var(--line-strong); }
.notes-recommend .recommend-float-content h2 { font-weight:var(--weight-medium); }
.notes-recommend .recommend-float-content .btn { background:var(--primary); color:var(--paper); }
.notes-recommend .recommend-float-content .btn:hover { background:var(--primary-d); color:var(--paper); }
@media (max-width:860px) {
  .notes-index-hero { padding:48px 0 32px; }
  .notes-list-wrap { padding-bottom:64px; }
  .notes-post-grid { grid-template-columns:minmax(0,1fr); gap:var(--s5); }
  .notes-post-card { padding:var(--s5); }
  .notes-article-hero { padding:40px 0; }
  .notes-article-layout { width:calc(100% - 48px); grid-template-columns:minmax(0,1fr); gap:32px; padding:32px 0 64px; }
  .notes-toc { position:static; padding:var(--s4) var(--s5); }
  .notes-toc ol { padding-bottom:var(--s2); }
  .notes-prose { max-width:none; }
  .notes-prose h2 { margin-top:40px; }
  .notes-prose .notes-article-cta { padding:var(--s5); }
}
@media (max-width:560px) {
  .notes-index-hero { padding:40px 0 32px; }
  .notes-index-hero .section-intro { font-size:var(--body); }
  .notes-post-count { margin-top:20px; }
  .notes-list-wrap { padding-bottom:56px; }
  .notes-post-card { padding:var(--s5) 20px; }
  .notes-post-card h2 { font-size:var(--h3); }
  .notes-post-meta { gap:var(--s2) var(--s4); }
  .notes-article-hero { padding:40px 0 32px; }
  .notes-breadcrumb { margin-bottom:var(--s5); }
  .notes-article-meta { gap:var(--s2); }
  .notes-article-layout { width:calc(100% - 32px); padding-bottom:56px; }
  .notes-toc { padding:var(--s4); }
  .notes-prose h2 { font-size:24px; }
  .notes-prose pre,.notes-callout,.notes-checklist { padding:var(--s4); }
  .notes-prose .notes-article-cta { padding:var(--s5) var(--s4); }
  .notes-prose .notes-article-cta h2 { font-size:var(--h3); }
  .notes-article-cta .actions { align-items:flex-start; }
  .notes-article-cta .btn { font-size:var(--small); }
  .notes-recommend .recommend-float-content .btn { max-width:100%; white-space:normal; height:auto; line-height:1.35; }
}


/* Confirmation-link article: aligned reading rail and local reference surfaces. */
.confirmation-hero { padding:96px 0 var(--s6); background:var(--mint); color:var(--mint-text); }
.confirmation-reading-width { width:min(1160px,calc(100% - 64px)); margin:0 auto; padding-left:304px; }
.confirmation-crumb { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s2) var(--s3); margin-bottom:32px; font-size:var(--small); color:var(--mint-text); }
.confirmation-crumb a:hover { color:var(--primary); text-decoration:underline; text-underline-offset:3px; }
.confirmation-hero h1 { font-weight:var(--weight-medium); line-height:1.3; }
.confirmation-hero .section-intro { margin-top:20px; color:var(--mint-text); }
.confirmation-meta { display:inline-flex; align-items:center; flex-wrap:wrap; gap:var(--s2) var(--s5); margin-top:var(--s5); padding:var(--s3) var(--s4); border:1px solid var(--mint-edge); border-radius:var(--radius-card); background:var(--paper); color:var(--mint-ink); font-size:var(--small); }
.confirmation-layout { padding-top:var(--s6); }
.confirmation-toc { padding:var(--s4); z-index:2; }
.confirmation-toc details { border:0; border-radius:0; background:var(--bg2); color:var(--text); }
.confirmation-toc summary { padding:0; font-size:var(--lead); font-weight:var(--weight-medium); line-height:1.5; }
.confirmation-toc ol { margin-top:var(--s5); padding-left:22px; }
.confirmation-toc li + li { margin-top:var(--s2); }
.confirmation-toc li a:hover { color:var(--primary); text-decoration:underline; text-underline-offset:3px; }
.confirmation-toc .confirmation-count { display:inline-flex; margin-top:var(--s5); background:var(--mint); color:var(--mint-ink); }
.confirmation-prose > section { scroll-margin-top:calc(var(--header-h) + 32px); }
.confirmation-prose > section + section { margin-top:var(--s6); }
.confirmation-prose > section > h2 { margin:0 0 20px; font-size:24px; font-weight:var(--weight-medium); line-height:1.45; }
.confirmation-prose h3 { font-weight:var(--weight-medium); }
.confirmation-prose strong { color:var(--ink); font-weight:var(--weight-medium); }
.confirmation-prose li { margin-block:var(--s2); padding-left:var(--s1); }
.confirmation-prose code { font-size:var(--small); color:var(--ink); overflow-wrap:anywhere; }
.confirmation-table { margin:var(--s5) 0 32px; border:1px solid var(--line); border-radius:var(--radius-inner); }
.confirmation-table table { min-width:570px; line-height:1.75; }
.confirmation-table caption { padding:var(--s4); text-align:left; font-size:var(--small); background:var(--mint); color:var(--mint-ink); }
.confirmation-table th:first-child { width:24%; }
.confirmation-table tbody th { background:var(--bg2); color:var(--ink); }
.confirmation-table tbody tr:last-child > * { border-bottom:0; }
.confirmation-url { margin:var(--s5) 0 32px; padding:var(--s5); border:1px solid var(--line); border-radius:var(--radius-inner); background:var(--bg2); color:var(--text); }
.confirmation-url > span { display:block; margin-bottom:var(--s3); font-size:var(--small); color:var(--muted); }
.confirmation-url code { display:block; font-size:var(--body); line-height:1.8; overflow-wrap:anywhere; }
.confirmation-note { padding:var(--s5); margin:var(--s5) 0 32px; border-radius:var(--radius-card); background:var(--cream); color:var(--cream-ink); }
.confirmation-prose .confirmation-note h3 { margin:0 0 var(--s3); color:var(--cream-ink); }
.confirmation-prose .confirmation-cta { margin-top:64px; }
.confirmation-prose .confirmation-cta h2 { margin:20px 0; font-size:24px; line-height:1.4; }
.confirmation-cta .btn { min-height:44px; height:auto; padding:12px 20px; line-height:1.35; white-space:normal; }
.confirmation-prose .confirmation-cta .btn-fill { background:var(--primary); color:var(--paper); border-color:transparent; }
.confirmation-prose .confirmation-cta .btn-fill:hover { background:var(--primary-d); color:var(--paper); }
.confirmation-float { width:min(304px,calc(100% - 32px)); z-index:80; }
.confirmation-float-head { display:flex; align-items:center; gap:var(--s3); padding:var(--s4) 48px var(--s4) var(--s5); background:var(--mint); color:var(--mint-ink); font-size:var(--small); }
.confirmation-float .float-close { position:absolute; top:10px; right:10px; background:var(--paper); color:var(--ink); }
.confirmation-float .actions { margin-top:var(--s4); gap:var(--s2); }
.confirmation-float .actions .btn { margin-top:0; min-height:36px; padding:9px 12px; font-size:var(--small); white-space:normal; height:auto; max-width:100%; line-height:1.35; }
@media (max-width:1100px) {
  .confirmation-reading-width { padding-left:252px; }
}
@media (max-width:860px) {
  .confirmation-reading-width { width:calc(100% - 48px); padding-left:0; }
  .confirmation-layout { gap:32px; }
  .confirmation-toc { position:static; }
  .confirmation-toc ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s2) 32px; }
  .confirmation-toc li + li { margin-top:0; }
}
@media (max-width:560px) {
  .confirmation-hero { padding:96px 0 32px; }
  .confirmation-reading-width { width:calc(100% - 32px); }
  .confirmation-hero h1 { font-size:var(--h2); }
  .confirmation-crumb { margin-bottom:var(--s5); }
  .confirmation-meta { gap:var(--s2) var(--s4); padding:var(--s3); }
  .confirmation-layout { padding-top:32px; }
  .confirmation-toc summary { font-size:var(--body); }
  .confirmation-toc ol { gap:var(--s2) var(--s5); font-size:var(--small); }
  .confirmation-prose > section > h2 { font-size:22px; }
  .confirmation-prose > section + section { margin-top:40px; }
  .confirmation-url,.confirmation-note { padding:var(--s4); }
  .confirmation-prose .confirmation-cta { padding:var(--s5); margin-top:var(--s6); }
  .confirmation-prose .confirmation-cta h2 { font-size:22px; }
  .confirmation-float { width:min(290px,calc(100% - 32px)); }
  .confirmation-float-head { padding:var(--s3) 48px var(--s3) var(--s4); }
  .confirmation-float .recommend-float-content { padding:var(--s4); }
  .confirmation-float h2 { font-size:var(--lead); }
  .confirmation-float p { margin-top:var(--s2); }
}


/* Network-switch reading surface. */
.network-note-shell { width:min(1160px,calc(100% - 64px)); margin:0 auto; min-width:0; }
.network-note-hero { padding:96px 0 48px; background:var(--mint); color:var(--mint-text); }
.network-note-crumb { display:flex; align-items:center; flex-wrap:wrap; gap:var(--s2) var(--s3); margin-bottom:32px; font-size:var(--small); color:var(--mint-text); }
.network-note-crumb a:hover { color:var(--primary); text-decoration:underline; text-underline-offset:3px; }
.network-note-hero h1 { max-width:940px; font-weight:var(--weight-medium); line-height:1.3; }
.network-note-hero .section-intro { max-width:800px; margin-top:20px; color:var(--mint-text); }
.network-note-meta { display:inline-flex; align-items:center; flex-wrap:wrap; gap:var(--s2) var(--s4); margin-top:var(--s5); padding:8px 16px; max-width:100%; border:1px solid var(--mint-edge); border-radius:var(--radius-control); background:var(--paper); color:var(--mint-ink); font-size:var(--small); }
.network-note-meta > * { white-space:nowrap; }
.network-note-summary { display:flex; align-items:flex-start; gap:var(--s4); max-width:940px; margin-top:32px; padding:var(--s5); border-radius:var(--radius-card); background:var(--paper); color:var(--text); }
.network-note-summary > svg { flex:none; color:var(--primary); }
.network-note-summary p { font-size:var(--body); line-height:1.8; }
.network-note-summary strong { font-weight:var(--weight-medium); color:var(--ink); }
.network-note-layout { padding-top:64px; }
.network-note-toc { z-index:2; }
.network-note-toc details { border:0; border-radius:0; background:transparent; color:var(--text); }
.network-note-toc summary { padding:0; font-size:var(--lead); font-weight:var(--weight-medium); line-height:1.5; }
.network-note-toc ol { margin-top:20px; line-height:1.7; }
.network-note-toc li + li { margin-top:8px; }
.network-note-toc a:hover { color:var(--primary); text-decoration:underline; text-underline-offset:3px; }
.network-note-count { margin-top:20px; background:var(--paper); color:var(--mint-ink); border:1px solid var(--line-strong); }
.network-note-prose section { scroll-margin-top:calc(var(--header-h) + 32px); }
.network-note-prose section + section { margin-top:48px; }
.network-note-prose section > h2 { margin:0 0 20px; font-size:24px; line-height:1.45; font-weight:var(--weight-medium); }
.network-note-prose h3 { font-weight:var(--weight-medium); }
.network-note-prose strong { font-weight:var(--weight-medium); color:var(--ink); }
.network-note-prose li { margin-block:0; }
.network-note-prose li + li { margin-top:8px; }
.network-note-prose .network-note-table { margin:24px 0 32px; border:1px solid var(--line); border-radius:var(--radius-inner); background:var(--paper); color:var(--text); overscroll-behavior-x:contain; }
.network-note-table table { min-width:620px; table-layout:fixed; line-height:1.8; }
.network-note-table caption { padding:var(--s4); text-align:left; background:var(--mint); color:var(--mint-ink); font-size:var(--small); }
.network-note-table th:first-child { width:23%; }
.network-note-table tbody th { background:var(--bg2); color:var(--ink); }
.network-note-table tr:last-child > * { border-bottom:0; }
.network-note-prose .network-note-callout { margin:24px 0 32px; padding:var(--s5); border-color:var(--amber-t); }
.network-note-prose .network-note-callout h3 { margin:0 0 12px; color:var(--cream-ink); }
.network-note-callout p { color:var(--cream-ink); }
.network-note-checklist { padding-left:24px; }
.network-note-checklist li { padding-left:var(--s2); }
.network-note-checklist li::marker { color:var(--primary); font-weight:var(--weight-medium); }
/* Writer FAQ answers live in .faq-a, so the shared details p inset never reaches them.
   Keep the article accordion on the same inset, gap, and chevron as the homepage list. */
.prose .faq-list { display:flex; flex-direction:column; gap:var(--s3); margin:0; }
.prose .faq-item > summary:not(:has(.chevron))::after { content:""; width:7px; height:7px; margin-right:3px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; flex:none; transform:rotate(-45deg); transition:transform .2s; }
.prose .faq-item[open] > summary:not(:has(.chevron))::after { transform:rotate(45deg); }
.prose .faq-item .faq-a { padding:0 24px 20px; font-size:var(--body); line-height:1.85; color:var(--text); overflow-wrap:anywhere; }
.network-note-cta-head { display:flex; align-items:flex-start; gap:var(--s4); }
.network-note-cta-icon { display:inline-flex; align-items:center; justify-content:center; flex:none; width:48px; height:48px; border-radius:var(--radius-inner); background:var(--paper); color:var(--primary); }
.network-note-prose .network-note-cta h3 { margin:0 0 12px; color:var(--mint-ink); font-size:var(--h3); }
.network-note-cta p { color:var(--mint-text); }
.network-note-cta .btn { height:auto; min-height:44px; padding:12px 20px; white-space:normal; line-height:1.35; border:0; }
.network-note-cta .btn-fill { background:var(--primary); color:var(--paper); }
.network-note-cta .btn-fill:hover { background:var(--primary-d); color:var(--paper); }
.network-note-cta .btn-dark { background:var(--ink); color:var(--paper); }
.network-note-cta .btn-dark:hover { background:var(--primary-d); color:var(--paper); }
.network-note-float { z-index:80; width:min(304px,calc(100% - 32px)); }
.network-note-float .float-close { position:absolute; top:8px; right:8px; z-index:1; background:var(--paper); color:var(--ink); }
.network-note-float-top { display:flex; align-items:center; gap:var(--s3); padding:18px 48px 18px 20px; background:var(--mint); color:var(--mint-ink); font-size:var(--small); }
.network-note-float-top svg { flex:none; }
.network-note-float .recommend-float-content { padding:20px; }
.network-note-float h2 { font-size:var(--lead); font-weight:var(--weight-medium); }
.network-note-float-actions { display:flex; align-items:center; flex-wrap:wrap; gap:var(--s2); margin-top:var(--s4); }
.network-note-float .network-note-float-actions .btn { margin-top:0; max-width:100%; height:auto; min-height:36px; padding:9px 14px; white-space:normal; line-height:1.35; font-size:var(--small); }
@media (min-width:861px) {
  .network-note-toc summary { cursor:default; pointer-events:none; }
  .network-note-toc summary .chevron { display:none; }
}
@media (max-width:860px) {
  .network-note-shell { width:calc(100% - 48px); }
  .network-note-layout { padding-top:32px; gap:32px; }
  .network-note-toc { padding:var(--s4) var(--s5); }
  .network-note-toc summary { min-height:24px; }
  .network-note-toc ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 32px; }
  .network-note-toc li + li { margin-top:0; }
  .network-note-prose section + section { margin-top:40px; }
  .network-note-float { right:16px; bottom:16px; }
}
@media (max-width:560px) {
  .network-note-shell { width:calc(100% - 32px); }
  .network-note-hero { padding:96px 0 32px; }
  .network-note-crumb { margin-bottom:var(--s5); }
  .network-note-hero h1 { font-size:var(--h1); }
  .network-note-hero .section-intro { font-size:var(--body); }
  .network-note-meta { gap:6px 12px; padding:8px 12px; font-size:12px; }
  .network-note-summary { padding:var(--s4); gap:var(--s3); margin-top:var(--s5); }
  .network-note-summary > svg { width:24px; height:24px; }
  .network-note-summary p { font-size:var(--small); }
  .network-note-toc { padding:var(--s4); }
  .network-note-toc ol { grid-template-columns:minmax(0,1fr); }
  .network-note-prose section > h2 { font-size:22px; }
  .network-note-table th,.network-note-table td { padding:var(--s3); }
  .network-note-prose .network-note-callout { padding:var(--s4); }
  .prose .faq-item .faq-a { padding:0 16px 20px; font-size:14px; }
  .network-note-prose .network-note-cta { padding:var(--s5); }
  .network-note-cta-head { flex-direction:column; }
  .network-note-cta .btn { font-size:var(--small); padding:12px 16px; }
  .network-note-float { width:min(288px,calc(100% - 32px)); }
  .network-note-float-top { padding-block:12px; }
  .network-note-float .recommend-float-content { padding:var(--s4); }
  .network-note-float p { line-height:1.6; }
}
