
/* Geist and Geist Mono (SIL Open Font License), served from this site so no visit touches Google Fonts (privacy.html) */
@font-face{font-family:'Geist';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/geist-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Geist';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/geist-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/geist-mono-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/geist-mono-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* ---------- tokens ---------- */
:root{
  color-scheme:light;
  --bg:#ECEEF0; --panel:#FFFFFF; --panel-2:#F5F6F7; --raise:#FFFFFF;
  --disc:#F9FAFA; --rim:#E7EAEC; --hub:#FFFFFF;
  --line:#D9DDE1; --line-2:#BDC4CA; --ink:#101418; --ink-2:#48525B; --ink-3:#5F6871;
  --accent:#FFD60A; --on-accent:#141414; --accent-ink:#6B5300; --accent-soft:rgba(255,214,10,.30); --accent-wash:rgba(255,214,10,.16);
  --free:#077640; --near:#9E5A00; --taken:#C02631; --unk:#67717A;
  --free-bg:rgba(11,138,75,.12); --near-bg:rgba(178,102,0,.13); --taken-bg:rgba(204,43,55,.11); --unk-bg:rgba(103,113,122,.12);
  --sweep:rgba(240,184,0,.34); --blip:#D9A200;
  --cat-domains:#0b58bb; --cat-social:#d65194; --cat-creator:#654abb; --cat-dev:#11a1b4; --cat-apps:#8f2e8a; --cat-biz:#018e7d; --cat-web3:#a571db;
  --cat-domains-on:#fff; --cat-social-on:#101418; --cat-creator-on:#fff; --cat-dev-on:#101418; --cat-apps-on:#fff; --cat-biz-on:#101418; --cat-web3-on:#101418;
  --shadow:0 1px 2px rgba(16,20,24,.06),0 12px 32px rgba(16,20,24,.09);
  --shadow-lg:0 2px 6px rgba(16,20,24,.08),0 24px 64px rgba(16,20,24,.18);
  --focus:#101418; --scrim:rgba(16,20,24,.38);
  --sans:'Geist',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme=light]){
    color-scheme:dark;
    --bg:#0B0D0F; --panel:#13161A; --panel-2:#181C20; --raise:#1C2126;
    --disc:#0F1215; --rim:#161A1F; --hub:#14181C;
    --line:#252B31; --line-2:#363E46; --ink:#EEF1F3; --ink-2:#A7B0B8; --ink-3:#858F98;
    --accent:#FFD60A; --on-accent:#141414; --accent-ink:#FFD60A; --accent-soft:rgba(255,214,10,.20); --accent-wash:rgba(255,214,10,.08);
    --free:#45DB8C; --near:#FFB02E; --taken:#FF6469; --unk:#909AA2;
    --free-bg:rgba(69,219,140,.14); --near-bg:rgba(255,176,46,.15); --taken-bg:rgba(255,100,105,.15); --unk-bg:rgba(144,154,162,.15);
    --sweep:rgba(255,214,10,.22); --blip:#FFD60A;
    --cat-domains:#498beb; --cat-social:#fb90c1; --cat-creator:#927eec; --cat-dev:#58d1e5; --cat-apps:#c360bc; --cat-biz:#4bc1ad; --cat-web3:#d0aafc;
    --cat-domains-on:#101418; --cat-social-on:#101418; --cat-creator-on:#101418; --cat-dev-on:#101418; --cat-apps-on:#101418; --cat-biz-on:#101418; --cat-web3-on:#101418;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 16px 40px rgba(0,0,0,.4);
    --shadow-lg:0 2px 8px rgba(0,0,0,.5),0 30px 80px rgba(0,0,0,.6);
    --focus:#FFD60A; --scrim:rgba(0,0,0,.6);
  }
}
:root[data-theme=dark]{
  color-scheme:dark;
  --bg:#0B0D0F; --panel:#13161A; --panel-2:#181C20; --raise:#1C2126;
  --disc:#0F1215; --rim:#161A1F; --hub:#14181C;
  --line:#252B31; --line-2:#363E46; --ink:#EEF1F3; --ink-2:#A7B0B8; --ink-3:#858F98;
  --accent:#FFD60A; --on-accent:#141414; --accent-ink:#FFD60A; --accent-soft:rgba(255,214,10,.20); --accent-wash:rgba(255,214,10,.08);
  --free:#45DB8C; --near:#FFB02E; --taken:#FF6469; --unk:#909AA2;
  --free-bg:rgba(69,219,140,.14); --near-bg:rgba(255,176,46,.15); --taken-bg:rgba(255,100,105,.15); --unk-bg:rgba(144,154,162,.15);
  --sweep:rgba(255,214,10,.22); --blip:#FFD60A;
  --cat-domains:#498beb; --cat-social:#fb90c1; --cat-creator:#927eec; --cat-dev:#58d1e5; --cat-apps:#c360bc; --cat-biz:#4bc1ad; --cat-web3:#d0aafc;
  --cat-domains-on:#101418; --cat-social-on:#101418; --cat-creator-on:#101418; --cat-dev-on:#101418; --cat-apps-on:#101418; --cat-biz-on:#101418; --cat-web3-on:#101418;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 16px 40px rgba(0,0,0,.4);
  --shadow-lg:0 2px 8px rgba(0,0,0,.5),0 30px 80px rgba(0,0,0,.6);
  --focus:#FFD60A; --scrim:rgba(0,0,0,.6);
}

/* ---------- base ---------- */
*{box-sizing:border-box}
html,body{margin:0;height:100%;overflow:hidden}
body{background:var(--bg);color:var(--ink);font:400 15px/1.45 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select{font:inherit;color:inherit;letter-spacing:inherit}
button{cursor:pointer;background:none;border:0;padding:0;margin:0}
a{color:inherit}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.mono{font-family:var(--mono)}
.sr{position:absolute!important;top:0;left:0;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#announce{position:fixed!important}
[hidden]{display:none!important}
.g{display:inline-block;width:1em;height:1em;background:currentColor;-webkit-mask:var(--g) center/contain no-repeat;mask:var(--g) center/contain no-repeat;flex:none}
.ic{display:inline-block;width:18px;height:18px;flex:none;background:var(--c,currentColor);-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.tldt{font:600 13px/1 var(--sans);letter-spacing:-.02em;color:var(--c,currentColor);white-space:nowrap}

/* ---------- frame ---------- */
.app{height:100vh;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}
.top{display:flex;align-items:center;justify-content:space-between;height:64px;padding:8px 24px 0}  /* Lee, 24 Oct 2026: logo a bit lower */
/* Logo B2 (Lee, 24 Oct 2026): the zero in the @ holds the name and the strapline; the 1 sits on the yellow tile */
.mark{display:inline-grid;grid-template-columns:auto auto;column-gap:9px;align-items:center;text-decoration:none;color:var(--ink)}
.mark .mk{width:42px;height:42px;display:block}
.mark .mt{display:grid;row-gap:3px}
.mark .mn{font:700 24px/1 var(--sans);letter-spacing:-.035em;white-space:nowrap}
.mark .hl{display:inline-block;background:var(--accent);color:#141414;border-radius:3px;padding:1px 2px 0;margin-right:1px;line-height:1}
.mark .ms{font:500 13px/1.1 var(--sans);color:var(--ink-2);white-space:nowrap}
.nav{display:flex;gap:2px}
.nav button{height:36px;padding:0 12px;border-radius:999px;color:var(--ink-2);font-size:14px;font-weight:500;white-space:nowrap}
.nav button:hover{color:var(--ink);background:var(--panel)}
.nav [data-open=more] .mnm{display:inline-block;max-width:6.5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
.nav [data-open=more] .av,#acctBtn .av{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ink);color:var(--bg);font:600 12px/1 var(--sans);margin:0 7px 0 -4px;vertical-align:middle}  /* the signed-in initial; the button keeps its own display rules (hidden in the phone header) */
.main{--stage:min(calc(100dvh - 88px),54vw);min-height:0;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) var(--stage);gap:40px;padding:0 24px 24px}
.side{position:relative;min-height:0;display:flex;flex-direction:column;--g1:clamp(24px,5vh,40px);--g2:clamp(28px,5.5vh,48px);--g3:clamp(32px,6.5vh,56px)}
.app[data-view=home] .toprow{margin-top:clamp(8px,calc((100dvh - 720px) * .5 + 18px),118px)}  /* room for the legal line under the chips */
.stage{container-type:size;min-width:0;min-height:0;display:grid;place-items:center}

/* ---------- home: check ---------- */
.toprow{display:flex;align-items:center;gap:10px;margin-top:6px}
.tabs{display:inline-flex;padding:3px;border-radius:999px;background:var(--panel);border:1px solid var(--line)}
.tabs button{height:36px;padding:0 16px;border-radius:999px;font-size:15px;font-weight:500;color:var(--ink-2);transition:background .2s,color .2s}
.tabs button[aria-selected=true]{background:var(--ink);color:var(--bg)}
.backres{margin-left:auto;height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line-2);font-size:14px;font-weight:500;display:inline-flex;align-items:center;gap:6px}
.backres .g{--g:var(--g-arrow)}
.backres .sm{display:none}
.hero h1{font:600 clamp(30px,3.2vw,42px)/1.08 var(--sans);letter-spacing:-.028em;margin:var(--g1) 0 16px;max-width:13.5em;text-wrap:balance}
.hero p{margin:0;color:var(--ink-2);font-size:16px;max-width:33em;text-wrap:pretty}
.hero .hsub{margin:-6px 0 12px;color:var(--ink);font:500 19px/1.35 var(--sans);max-width:30em}  /* Lee's line, under the headline that says what the tool does */
.qform{display:flex;align-items:center;gap:6px;height:60px;padding:6px 6px 6px 18px;border-radius:16px;background:var(--panel);border:1px solid var(--line-2);box-shadow:var(--shadow);transition:border-color .2s}
.qform:focus-within{border-color:var(--ink-2)}
.qform:has(input:focus-visible),.find:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}
.fld:focus-visible{outline:2px solid var(--focus);outline-offset:1px}
.qform input{flex:1;min-width:0;height:100%;border:0;background:none;outline:none;font:500 19px var(--mono);letter-spacing:-.01em}
.qform input::placeholder{color:var(--ink-2);opacity:1;font:400 17px var(--sans)}
#qslotH{margin-top:var(--g2);position:relative}
.sel{appearance:none;-webkit-appearance:none;height:40px;padding:0 30px 0 12px;border-radius:10px;border:1px solid var(--line);background:var(--panel-2) var(--chev) no-repeat right 10px center/10px;font-size:14px;color:var(--ink);max-width:180px;text-overflow:ellipsis;cursor:pointer}
.primary{height:46px;padding:0 20px;border-radius:12px;background:var(--accent);color:var(--on-accent);font-weight:600;font-size:15px;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;transition:transform .15s,filter .15s}
.primary:hover{filter:brightness(.96)}
.primary:active{transform:scale(.98)}
.primary[disabled]{opacity:.6;cursor:progress}
.primary .g{--g:var(--g-arrow)}
.ghost{height:40px;padding:0 14px;border-radius:10px;border:1px solid var(--line-2);font-size:14px;font-weight:500;color:var(--ink);white-space:nowrap}
.ghost:hover{background:var(--panel)}
.link{color:var(--ink);font-weight:500;text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}
.link:hover{text-decoration-color:var(--ink)}
.err{min-height:0;color:var(--taken);font-size:14px;font-weight:500;margin-top:8px}
#qslotH .err{position:absolute;left:0;top:calc(100% + 8px);margin:0;z-index:6;padding:6px 12px;border-radius:10px;background:var(--panel);box-shadow:var(--shadow);max-width:100%}
.err:empty{display:none}
.places{margin-top:var(--g3)}
.ph{display:flex;align-items:center;gap:10px;margin-bottom:6px;min-height:36px}
.lbl{font:600 13px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.hint{font-size:14px;color:var(--ink-2)}
.find{display:flex;align-items:center;gap:8px;height:36px;padding:0 10px;border-radius:10px;border:1px solid var(--line);background:var(--panel);width:200px;color:var(--ink-2)}
.find:focus-within{border-color:var(--ink-2)}
.find .g{--g:var(--g-search);font-size:15px}
.find input{flex:1;min-width:0;border:0;background:none;outline:none;font-size:14px;color:var(--ink)}
.find input::placeholder{color:var(--ink-2);opacity:.8}
[data-slot=find-d]{margin-left:auto}
.order{display:flex;flex-wrap:wrap;align-content:flex-start;gap:12px;height:129px;overflow:hidden}
.cfree .order{height:35px}
.ghd.tk{text-transform:none;letter-spacing:0;font-size:14px;font-weight:600;color:var(--ink-2)}  /* a sentence, not a label */
#lede .sm{display:none}
@media (max-width:760px){#lede .sd{display:none}#lede .sm{display:inline}}  /* the sub: long on computers, short on phones (Lee, 25 Oct 2026) */
.chip{display:inline-flex;align-items:center;gap:7px;height:35px;padding:0 4px 0 5px;border-radius:999px;background:var(--panel);border:1px solid var(--line);font-size:14px;font-weight:500;white-space:nowrap}
.chip[data-k]{background:color-mix(in oklab,var(--cc,var(--ink-3)) 14%,var(--panel));border:1.5px solid var(--cc,var(--line));color:var(--ink)}
.chip .n{min-width:24px;height:24px;padding:0 5px;border-radius:999px;background:var(--cc,var(--accent));color:var(--cco,var(--on-accent));font:600 13px/24px var(--mono);text-align:center}
.chip .x{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:var(--ink-2)}
.chip .x:hover{background:var(--panel-2);color:var(--ink)}
.chip .x .g{--g:var(--g-cross);font-size:11px}
.chip.more{padding:0 12px;color:var(--ink);font-weight:600;border-style:dashed;cursor:pointer}
.chip.more:hover{background:var(--panel-2)}
.empty-picks{font-size:14px;color:var(--ink-2);height:35px;display:flex;align-items:center}
.tools{display:none}

/* ---------- home: create ---------- */
.create{display:none;flex-direction:column;min-height:0;margin-top:var(--g1)}
.cstep{display:none;flex-direction:column;gap:14px}
.cstep.on{display:flex;animation:rise .35s cubic-bezier(.2,.8,.2,1) both}
.q{display:flex;flex-direction:column;gap:8px;min-width:0}
.ql{font-weight:600;font-size:15px;display:flex;align-items:baseline;gap:8px}
.ql em{font-style:normal;font-weight:400;font-size:14px;color:var(--ink-2)}
.ql output{margin-left:auto;font:500 14px var(--mono);color:var(--ink-2);white-space:nowrap}
.ql output.over{color:var(--taken)}
.fld{height:48px;padding:0 14px;border-radius:12px;border:1px solid var(--line-2);background:var(--panel);font-size:16px;outline:none;width:100%}
.fld:focus{border-color:var(--ink-2)}
.fld::placeholder{color:var(--ink-2);opacity:.75}
.fld.big{height:50px;font-size:17px}
.q .sel{height:44px;max-width:none;width:100%;font-size:15px}
.qform .sel{width:136px;flex:none}
@media (max-width:400px){.qform input#q::placeholder{font-size:15px}}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.opt{height:35px;padding:0 13px;border-radius:999px;border:1px solid var(--line-2);font-size:14px;font-weight:500;display:inline-flex;align-items:center;gap:7px;transition:background .15s,color .15s,border-color .15s}
.opt small{font-size:13px;color:var(--ink-2);font-weight:400}
.opt:hover{background:var(--panel)}
.opt[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.opt[aria-pressed=true] small{color:inherit;opacity:.75}
.range{width:100%;accent-color:var(--ink);height:28px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cact{display:flex;align-items:center;gap:8px;margin-top:20px}
.cact .primary{margin-left:auto}
.cplaces{display:flex;flex-direction:column;gap:10px}
.cfree .ql{align-items:center}
.cfree .cchg{margin-left:auto;font-size:14px;display:none}

.cplaces p{margin:0;font-size:14px;color:var(--ink-2)}
#cslot{display:none}

/* ---------- radar ---------- */
.radar{position:relative;width:min(100cqw,100cqh);height:min(100cqw,100cqh);container-type:size;user-select:none;-webkit-user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.radar svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.disc{fill:var(--disc);stroke:var(--line-2);stroke-width:1.2}
.gridring{fill:none;stroke:var(--line);stroke-width:1;stroke-dasharray:1.5 7}
.tick{stroke:var(--line-2);stroke-width:1.2}
.tick.l{stroke:var(--ink-3);stroke-width:1.6}
.divl{stroke:var(--line-2);stroke-width:1.2}
.cat{fill:var(--rim);cursor:pointer;transition:fill .2s,opacity .3s;outline:none}
.cat:hover,.cat.hot{fill:color-mix(in oklab,var(--cc,var(--accent)) 18%,var(--rim))}
.catarc{fill:none;stroke:var(--cc);stroke-width:6;stroke-linecap:round;pointer-events:none;transition:stroke-width .2s,opacity .3s}
.cat.hot~.catarc.hot,.catarc.hot{stroke-width:9}
.radar.res .catarc{opacity:.35}
.cat:focus-visible{stroke:var(--focus);stroke-width:3}
.cattx{fill:var(--ink);font-family:var(--sans);font-weight:600;letter-spacing:.14em;pointer-events:none;transition:fill .3s}
.cat.full+.cattx,.cattx.full{fill:var(--ink)}
.catprog{fill:none;stroke:var(--accent);stroke-width:4.5;stroke-linecap:round;transition:opacity .3s;pointer-events:none}
.grp{fill:var(--line);cursor:pointer;transition:fill .2s,opacity .3s;outline:none;stroke:transparent;stroke-width:14}
.grp.ind{fill:color-mix(in oklab,var(--cc,var(--accent)) 28%,var(--line))}
.grpfill{fill:var(--cc,var(--accent));pointer-events:none;transition:opacity .3s}
.radar.res .grpfill{opacity:0}
.grp[data-s=all],.grp.ind[data-s=all]{fill:var(--cc,var(--accent))}
.grp:hover,.grp.hot{fill:var(--ink-3)}
.grp[data-s=all]:hover,.grp[data-s=all].hot{fill:color-mix(in oklab,var(--cc,var(--accent)) 80%,var(--ink))}
.grp:focus-visible{stroke:var(--focus);stroke-width:4;paint-order:stroke}
.gauge path{fill:none;stroke-width:11;transition:stroke .4s}
.gauge{opacity:0;transition:opacity .4s}
.radar.res .gauge{opacity:1}
.radar.res .grp,.radar.res .catprog{opacity:0;pointer-events:none}
.radar.res .cat{pointer-events:none;fill:var(--rim)}
.radar.res .cattx{fill:var(--ink-3)}

.pl{position:absolute;width:var(--bs,7.8%);height:var(--bs,7.8%);transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;--c:var(--ink-3);color:var(--c);box-shadow:inset 0 0 0 1px var(--line);transition:opacity .35s,background .2s,box-shadow .2s,transform .2s,left .55s cubic-bezier(.2,.8,.2,1),top .55s cubic-bezier(.2,.8,.2,1),width .55s cubic-bezier(.2,.8,.2,1),height .55s cubic-bezier(.2,.8,.2,1);outline:none}
.pl.new{animation:ping .55s cubic-bezier(.2,.8,.2,1) both}
.pl::after{content:'';position:absolute;inset:0;border-radius:50%;pointer-events:none}
.pl.pulse{animation:bump 1.6s ease-out infinite}
.pl.pulse::after{animation:ring 1.6s ease-out infinite}
@keyframes bump{0%{transform:translate(-50%,-50%) scale(1)}15%{transform:translate(-50%,-50%) scale(1.08)}37.5%,100%{transform:translate(-50%,-50%) scale(1)}}
@keyframes ring{0%{box-shadow:0 0 0 0 color-mix(in oklab,var(--cc) 65%,transparent)}37.5%,100%{box-shadow:0 0 0 14px color-mix(in oklab,var(--cc) 0%,transparent)}}
.pl.ind:not(.on){box-shadow:inset 0 0 0 1.5px color-mix(in oklab,var(--cc,var(--accent)) 75%,var(--line));--c:var(--ink-2)}
.pl .tldt{max-width:86%;overflow:hidden;white-space:nowrap;display:block}
.tldt.fade{-webkit-mask-image:linear-gradient(90deg,#000 70%,transparent);mask-image:linear-gradient(90deg,#000 70%,transparent)}
.pl .ic{width:46%;height:46%}
.pl .tldt{font-size:var(--tfs,13px);letter-spacing:-.03em}
.pl .tldt.lg{letter-spacing:-.06em}
.pl:hover{background:var(--panel)}
.pl:focus-visible{box-shadow:0 0 0 2px var(--focus)}
.pl.on{--c:var(--onb,#fff);background:var(--b);box-shadow:0 0 0 2px var(--disc),0 3px 12px rgba(0,0,0,.16)}
.pl.on:hover{background:var(--b);filter:brightness(1.08)}
.pl.on:focus-visible{box-shadow:0 0 0 2px var(--disc),0 0 0 4px var(--focus)}
.pl .badge{position:absolute;top:-14%;right:-16%;min-width:max(20px,2.7cqw);height:max(20px,2.7cqw);padding:0 .35em;border-radius:999px;background:var(--cc,var(--accent));color:var(--cco,var(--on-accent));font:600 max(13px,1.75cqw)/1 var(--mono);display:none;place-items:center;box-shadow:0 0 0 2px var(--disc)}
.pl.on .badge{display:grid}
.pl .pip{position:absolute;right:-12%;bottom:-12%;width:max(18px,2.5cqw);height:max(18px,2.5cqw);border-radius:50%;background:var(--sc);display:none;place-items:center;color:var(--disc);box-shadow:0 0 0 2px var(--disc)}
.pl .pip .g{font-size:max(11px,1.5cqw)}
.radar.finding .pl:not(.match){opacity:.16}
.radar.finding .pl.match{box-shadow:inset 0 0 0 2px var(--accent),0 0 0 6px var(--accent-soft);background:var(--raise)}
.radar.finding .pl.match.on{background:var(--b);box-shadow:0 0 0 2px var(--disc),0 0 0 6px var(--accent-soft)}
.radar.res .pl:not(.on){opacity:.09;pointer-events:none}
.radar.res .pl.on{--c:var(--bc);box-shadow:inset 0 0 0 3px var(--sc);background:color-mix(in oklab,var(--sc) 14%,var(--raise));filter:none}
.radar.res .pl.on .pip{display:grid}
.radar.res .pl.on .badge{opacity:.95}
.radar.res .pl.on:focus-visible{box-shadow:inset 0 0 0 3px var(--sc),0 0 0 3px var(--focus)}
[data-st=free]{--sc:var(--free);--sb:var(--free-bg)}
[data-st=near]{--sc:var(--near);--sb:var(--near-bg)}
[data-st=taken]{--sc:var(--taken);--sb:var(--taken-bg)}
[data-st=unknown]{--sc:var(--unk);--sb:var(--unk-bg)}
[data-st=pending]{--sc:var(--line-2);--sb:transparent}
.radar.res .pl.on[data-st=pending]{animation:pend 1.3s ease-in-out infinite}
.radar.verify .hub{animation:breathe 2.8s ease-in-out infinite}
.radar.verify .gauge{animation:glow 2.8s ease-in-out infinite}
@keyframes breathe{0%,100%{box-shadow:0 0 0 0 var(--accent-soft),var(--shadow)}50%{box-shadow:0 0 0 8px var(--accent-soft),var(--shadow)}}
@keyframes glow{0%,100%{opacity:1}50%{opacity:.55}}
.hub{position:absolute;left:50%;top:50%;width:var(--hubw,35.6%);height:var(--hubw,35.6%);transform:translate(-50%,-50%);border-radius:50%;background:var(--hub);border:1px solid var(--line-2);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3.5%;box-shadow:var(--shadow);transition:box-shadow .2s,border-color .2s,width .55s cubic-bezier(.2,.8,.2,1),height .55s cubic-bezier(.2,.8,.2,1);overflow:hidden}
.hub:hover{border-color:var(--ink-3)}
.hub>span{max-width:100%}
.hub-n{font:600 clamp(28px,7.4cqw,60px)/1 var(--mono);letter-spacing:-.04em}
.hub-l{margin-top:4px;font-size:max(13px,1.9cqw);line-height:1.25;color:var(--ink-2)}
.hub-t{font:600 max(14px,2.3cqw)/1.2 var(--sans);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;letter-spacing:-.01em;overflow-wrap:break-word}  /* breaks at the dot (a <wbr>), not mid-word */
.hub-t.mono{font-family:var(--mono);font-weight:500}
.radar .hub.top10{padding-bottom:calc(3.5% + var(--toph,0px))}  /* room under "Pick all" for the top-10 button (placeTop) */
.radar.three .hub.top10{padding-bottom:calc(2% + var(--toph,0px))}
.hub.top10 .hub-n{font-size:clamp(26px,5.6cqw,46px)}  /* a smaller count leaves the two pills inside the circle */
.hub.tight .hub-l{display:none}
.hub.tight .hub-n{font-size:clamp(22px,5.6cqw,40px)}
.hub.tight .hub-c{margin-top:4px;font-size:13px}
.hub-top.tight{font-size:13px;padding:.3em .75em}
.hub-top{position:absolute;left:50%;top:50%;transform:translateX(-50%);z-index:3;font-size:max(13px,1.85cqw);font-weight:600;line-height:1.2;padding:.35em .85em;border-radius:999px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);white-space:nowrap}
.hub-top:hover{filter:brightness(1.05)}
.hub-top:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.hub-top[aria-pressed=true]{background:var(--accent-wash);color:var(--ink);border-color:var(--accent)}
.hub-c{margin-top:max(6px,1cqw);font-size:max(13px,1.85cqw);font-weight:500;line-height:1.2;padding:.35em .85em;border-radius:999px;border:1px solid var(--line-2);color:var(--ink);max-width:94%}
.hub-k{font:600 max(13px,1.7cqw)/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:4px}
.hub-k.v{text-transform:none;letter-spacing:0;font-size:max(13px,1.9cqw);color:var(--ink-2)}
.hub-s{font:500 max(13px,1.8cqw)/1.25 var(--sans);color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hub-n.free{color:var(--free)}
.hub-n.risk{color:var(--taken)}
.sweepbox{position:absolute;inset:0;border-radius:50%;overflow:hidden;pointer-events:none;contain:paint}
.sweep{position:absolute;inset:0;border-radius:50%;pointer-events:none;opacity:0;background:conic-gradient(from 0deg,transparent 0 72%,var(--sweep) 99.5%,transparent 100%);-webkit-mask:radial-gradient(circle closest-side,transparent 0 calc(var(--hubr,35.6%) + .9%),#000 calc(var(--hubr,35.6%) + 1.4%) 90.6%,transparent 91%);mask:radial-gradient(circle closest-side,transparent 0 calc(var(--hubr,35.6%) + .9%),#000 calc(var(--hubr,35.6%) + 1.4%) 90.6%,transparent 91%)}
.sweep::after{content:'';position:absolute;left:50%;top:4.6%;width:1.5px;height:27%;margin-left:-.75px;background:linear-gradient(to top,transparent,var(--blip));opacity:.7}
.radar.boot .sweep{animation:spin 1.6s cubic-bezier(.45,.05,.3,1) both,fadeio 1.6s both}
.radar.scan .sweep{opacity:1;animation:spin 2.8s linear infinite}
.radar.boot .pl{animation:ping .55s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d)}
.blip{position:absolute;width:1.2%;height:1.2%;border-radius:50%;background:var(--blip);box-shadow:0 0 12px var(--blip);transform:translate(-50%,-50%);pointer-events:none;animation:blip 2s ease-out forwards}
.radar.mini .pl .badge,.radar.mini .pl .pip,.radar.mini .cattx,.radar.mini .tick,.radar.mini .hub-l,.radar.mini .hub-k,.radar.mini .hub-t,.radar.mini .hub-c,.radar.mini .hub-s,.radar.mini .gridring,.radar.mini .pl .ic,.radar.mini .pl .tldt{display:none!important}
.radar.mini .pl{width:10%;height:10%;box-shadow:none!important}
.radar.mini .pl.on{background:var(--sc,var(--bc))!important;animation:none!important}
.radar.mini .blip{display:none}
.radar.mini .hub{box-shadow:none;padding:0}
.radar.mini .hub-n{font-size:16px;letter-spacing:-.04em;white-space:nowrap}
/* ---------- zoom dial (Lee, 24 Oct 2026: "i choose the zoom dial A ... for small screens"): a phone radar shows one
   slice per section at rest; a tapped slice opens to fill the disc with that section's platforms at full size ---------- */
.zdsvg{display:none;pointer-events:none}
.radar.zd .zdsvg{display:block}
.radar.zd .gridring,.radar.zd .tick,.radar.zd .divl,.radar.zd .rimg,.radar.zd .grps{display:none}
.radar.zd .pl:not(.zin){opacity:0!important;pointer-events:none!important}
.radar.zd .pl.zin{width:var(--zbs);height:var(--zbs)}
.radar.zd .pl.zin .tldt{font-size:var(--ztfs,15px)}
.zsl{fill:color-mix(in oklab,var(--cc) 8%,var(--disc));stroke:transparent;cursor:pointer;outline:none;pointer-events:auto;transition:fill .2s,opacity .3s}
.zsl.some{fill:color-mix(in oklab,var(--cc) 18%,var(--disc))}
.zsl.full{fill:color-mix(in oklab,var(--cc) 28%,var(--disc))}
.zsl:active,.zsl:hover{fill:color-mix(in oklab,var(--cc) 34%,var(--disc))}
.zsl:focus-visible{stroke:var(--focus);stroke-width:5}
.zdsvg .dim{opacity:.35}
.zarc{fill:none;stroke:var(--cc);stroke-width:8;stroke-linecap:round;pointer-events:none}
.zarc.some{stroke-width:16}
.zlab{fill:var(--ink);font-family:var(--sans);font-weight:600;pointer-events:none}
.zcnt{fill:var(--ink-2);font-family:var(--mono);pointer-events:none}
.zdot{fill:var(--cc);pointer-events:none}
.zbg{fill:color-mix(in oklab,var(--cc) 6%,var(--disc));stroke:var(--line-2);stroke-width:1.2}
.zrim{fill:none;stroke:var(--rim);stroke-width:45}
.zgl{fill:var(--ink-2);font-family:var(--sans);font-weight:600;letter-spacing:.14em;pointer-events:none}
.zring{fill:none;stroke:var(--line);stroke-width:1;stroke-dasharray:1.5 7}
.zg.fade{animation:zfade .35s ease-out both}
@keyframes zfade{from{opacity:0}}
.radar.zsw .sweep{opacity:1;animation:zsw .7s cubic-bezier(.3,.6,.3,1) both,fadeio .7s both}
@keyframes zsw{from{transform:rotate(calc(var(--za,0deg) - 360deg))}to{transform:rotate(var(--za,0deg))}}
/* the open section's hub: its top half goes back to all sections, its lower half (#hubTop) picks the whole section */
.radar.zd.zz .hub{justify-content:flex-end;padding:0 6% calc(var(--hubw) / 2 + 1.6%)}
.radar.zd.zz .hub .hub-t{font-size:max(15px,2.3cqw);-webkit-line-clamp:1;white-space:nowrap}
.radar.zd.zz .hub .hub-l{margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.radar.zd.zz .hub-top{top:50%!important;width:var(--hubw);height:calc(var(--hubw) / 2);transform:translateX(-50%);padding:0;border:0;border-top:1px solid var(--line-2);border-radius:0 0 50% 50% / 0 0 100% 100%;background:transparent;color:var(--ink);display:flex;justify-content:center;align-items:flex-start}
.radar.zd.zz .hub-top::after{display:none}
.radar.zd.zz .hub-top>span{margin-top:max(8px,2.2cqw);padding:.35em .85em;border-radius:999px;border:1px solid var(--line-2);font-weight:600}
.radar.zd.zz .hub-top[aria-pressed=true]{background:transparent}
.radar.zd.zz .hub-top[aria-pressed=true]>span{background:var(--accent-wash);border-color:var(--accent)}
.radar.zd.zz .hub-top:hover{filter:none;background:var(--panel-2)}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes fadeio{0%{opacity:0}12%{opacity:1}80%{opacity:1}100%{opacity:0}}
@keyframes ping{from{opacity:0;transform:translate(-50%,-50%) scale(.55)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes blip{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}12%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}100%{opacity:0;transform:translate(-50%,-50%) scale(.5)}}
@keyframes pend{0%,100%{box-shadow:inset 0 0 0 2px var(--line-2)}50%{box-shadow:inset 0 0 0 2px var(--ink-3)}}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes shim{from{transform:translateX(-100%)}to{transform:translateX(250%)}}

/* ---------- results ---------- */
.results{display:none;flex-direction:column;min-height:0;height:100%;outline:none}
.rbar{display:flex;align-items:center;gap:10px;height:54px;flex:none;margin-top:6px;padding:0 7px 0 16px;border-radius:14px;border:1px solid var(--line-2);background:var(--panel)}
.rbar .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;color:var(--ink-2)}
.rbar .t b{color:var(--ink);font-weight:600}
.rbar .ghost{height:38px;flex:none}
.rbar .ghost[data-st=stop]{color:var(--taken);border-color:var(--taken);font-weight:650}
.rbar .ghost[data-st=stop]:hover{background:color-mix(in srgb,var(--taken) 10%,var(--panel))}
.rbar .ghost[data-st=done],.rbar .ghost[data-st=done]:hover{display:inline-flex;align-items:center;gap:6px;background:var(--free);border-color:var(--free);color:var(--panel);font-weight:750;letter-spacing:.06em;text-transform:uppercase}
.rbar .ghost[data-st=done] .g{font-size:13px}
@media (max-width:760px),(max-width:1099px) and (orientation:portrait),(max-height:500px){
  /* preview (Lee, 25 Oct 2026): no Find box on phones, as on desktop; the industry picker takes the row */
  #app[data-uin] [data-slot=find-m]{display:none}
  #app[data-uin] .tools .sel{flex:1 1 100%}
  /* "the icons should be a little bigger" */
  #app[data-uin] .pl .ic{width:58%;height:58%}
  #app[data-uin] .pl .tldt{font-size:calc(var(--tfs,13px) * 1.15)}
  #app[data-uin] .radar.zd .pl.zin .tldt{font-size:calc(var(--ztfs,15px) * 1.12)}}
.rbar .ghost[data-tip]{position:relative}
.rbar .ghost[data-tip]:hover::after,.rbar .ghost[data-tip]:focus-visible::after{content:attr(data-tip);position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:max-content;max-width:min(280px,80vw);padding:8px 11px;border-radius:9px;background:var(--ink);color:var(--panel);font:500 13px/1.4 var(--sans);letter-spacing:0;text-transform:none;white-space:normal;text-align:left;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.sumrow{display:flex;gap:14px;align-items:center;margin:14px 0 10px;flex:none}
#dial{display:none}
.sum{min-width:0;flex:1}
.sum h2{font:600 19px/1.32 var(--sans);margin:0;letter-spacing:-.012em;text-wrap:pretty;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sum h2 b,.sum p b{font-family:var(--mono);font-weight:600;letter-spacing:-.02em}
.sum p{margin:4px 0 0;color:var(--ink-2);font-size:15px;text-wrap:pretty}
.meta{margin-top:8px;font-size:14px;color:var(--ink-2);display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center}
.meta .live{display:inline-flex;align-items:center;gap:7px;color:var(--ink)}
.meta .live i{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);animation:pend2 1.2s ease-in-out infinite}
@keyframes pend2{50%{opacity:.35}}
.prog{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:8px;font-size:14px;color:var(--ink-3)}
.prog span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.prog .dn{color:var(--ink-2)}
.prog .dn .g{color:var(--free);font-size:12px}
.prog .cur{color:var(--ink);font-weight:600}
.ydom{flex:none;margin:12px 0 0;padding:11px 16px 12px;border-radius:14px;border:1px solid var(--line);background:var(--panel)}
.ydom small{display:block;font:600 13px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.ydom b,.ydom .ev-addr{display:flex;width:max-content;font:600 19px/1.3 var(--mono);margin-top:6px;letter-spacing:-.02em}
.ydom p{margin:2px 0 0;font-size:15px;color:var(--ink-2)}
.app[data-kind=domain] .ydom+.sumrow{margin-top:12px}
.plist{flex:0 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:4px 5px;scrollbar-width:thin}
.rows{display:flex;flex-direction:column}
.pills{display:flex;align-items:center;gap:8px;padding:7px 6px 8px;border-bottom:1px solid var(--line);overflow:hidden}
.pills .lbl{font-size:13px;white-space:nowrap;margin-right:2px}
.pill{height:30px;padding:0 11px;border-radius:999px;border:1px solid var(--line-2);font:500 14px var(--mono);letter-spacing:-.01em;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:var(--ink-2);flex:none}
.pill.no{text-decoration:line-through;text-decoration-color:var(--ink-3)}
.pill.ok{color:var(--ink)}
.pill .g{font-size:11px;color:var(--free)}
.pill:hover{background:var(--panel-2)}
.pill[aria-pressed=true]{background:var(--free-bg);border-color:color-mix(in oklab,var(--free) 45%,var(--line-2));color:var(--ink)}
.pill.no[aria-pressed=true]{background:var(--taken-bg);border-color:color-mix(in oklab,var(--taken) 45%,var(--line-2))}
/* Create results v2 (preview): a colour per kind of name, a pastel and an ink, light and dark */
:root{--ln-best-bg:#FFF4C4;--ln-best-ink:#6B5300;--ln-close-bg:#E2EEFB;--ln-close-ink:#1E4E86;--ln-styled-bg:#EEE7FB;--ln-styled-ink:#5532A0;--ln-mix-bg:#FDE9DB;--ln-mix-ink:#9A4110;
  --ln-myth-bg:#E6E8FA;--ln-myth-ink:#343C9C;--ln-nature-bg:#E3F3E2;--ln-nature-ink:#2D6A27;--ln-search-bg:#DDF2F0;--ln-search-ink:#0D625B;--ln-pairs-bg:#FBE4EC;--ln-pairs-ink:#9A2650;
  --ln-endings-bg:#F6EDD9;--ln-endings-ink:#7A5310;--ln-play-bg:#FDE4DF;--ln-play-ink:#A23224;--ln-lang-bg:#E4F1F8;--ln-lang-ink:#1D5D80}
@media (prefers-color-scheme:dark){:root{--ln-best-bg:#3A3110;--ln-best-ink:#F2D86E;--ln-close-bg:#172A40;--ln-close-ink:#9CC6F2;--ln-styled-bg:#2A2140;--ln-styled-ink:#C7B2F3;--ln-mix-bg:#3B2416;--ln-mix-ink:#F4B58E;
  --ln-myth-bg:#20244A;--ln-myth-ink:#B4BAF5;--ln-nature-bg:#1C3220;--ln-nature-ink:#9ED897;--ln-search-bg:#133230;--ln-search-ink:#86D9D0;--ln-pairs-bg:#3A1C28;--ln-pairs-ink:#F2A5C0;
  --ln-endings-bg:#352A14;--ln-endings-ink:#E6C27A;--ln-play-bg:#3D1F1A;--ln-play-ink:#F5A496;--ln-lang-bg:#15303E;--ln-lang-ink:#93CBEA}}
.cv2 .prow{grid-template-columns:minmax(0,1fr) 46px 30px;grid-template-areas:"kd sc st" "pn sc st" "pm sc st" "bar sc st" "pv sc st"}
.cv2 .prow .rk{display:none}
.kd{grid-area:kd;display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin:2px 0 3px}
.kchip{background:var(--lt);color:var(--li);font:700 11px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;padding:5px 8px;border-radius:999px}
.cv2 .sbar{gap:4px;align-items:center;margin:8px 0 6px}
.cv2 .seg,.lg2 .seg{flex:none;width:10px;height:10px;min-width:0;border-radius:50%}
.lg2 .seg{display:inline-block;cursor:default}
.ov2{padding:6px 2px 4px}
.ovh{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;margin:0 2px 10px}
.ovh h3{margin:0;font:700 17px/1.2 var(--sans);color:var(--ink)}
.ovh span{font-size:13px;color:var(--ink-3)}
.ovg{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.ovt{display:grid;gap:3px;align-content:start;text-align:left;min-height:84px;padding:10px 11px;border:0;border-radius:12px;background:var(--lt);color:var(--li);cursor:pointer;transition:transform .15s}
.ovt:hover{transform:translateY(-1px)}
.ovl{font:700 12px/1.25 var(--sans)}
.ovn{font:600 13.5px/1.25 var(--mono);color:var(--ink);overflow-wrap:anywhere}
.ovm{font-size:12px;opacity:.9}
.kb2{position:sticky;top:0;z-index:4;display:flex;gap:6px;overflow-x:auto;padding:10px 2px 8px;background:var(--bg);scrollbar-width:none}
.kb2::-webkit-scrollbar{display:none}
.kbc{flex:none;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 11px;border-radius:999px;background:var(--panel);border:1px solid var(--line);font:600 13px var(--sans);color:var(--ink-2);cursor:pointer;white-space:nowrap}
.kbc:hover{border-color:var(--li)}
.kbc i{width:9px;height:9px;border-radius:50%;background:var(--li)}
.kbc em{font-style:normal;color:var(--ink-3);font-weight:500}
.lg2{display:flex;flex-wrap:wrap;gap:4px 14px;padding:2px 4px 8px;font-size:12.5px;color:var(--ink-3)}
.lg2 span{display:inline-flex;align-items:center;gap:6px}
.cv2 .ghd.lh{display:block;padding:14px 0 6px;scroll-margin-top:56px}
.lb2{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:10px 12px;border-radius:12px;background:var(--lt);color:var(--li)}
.lb2 .lt{color:inherit;font:750 15px/1.2 var(--sans);letter-spacing:0;text-transform:none}
.lb2 .lb{font:500 13px/1.35 var(--sans);letter-spacing:0;text-transform:none;color:inherit;opacity:.9}
.lb2 .lmore{color:var(--ink)}
.lb2 .lrec{flex-basis:100%;font:500 13px/1.4 var(--mono);color:var(--ink-2);text-transform:none;letter-spacing:0}
.lb2 .lrec b{color:var(--li);font-weight:600}
.lb2 .lall{font:600 13px/1 var(--sans);background:var(--panel);color:var(--ink);border:0;border-radius:9px;padding:8px 11px;cursor:pointer}
.kd .rec{font:500 12.5px/1.3 var(--mono);color:var(--ink-3);overflow-wrap:anywhere}
@media (min-width:761px){#rows.cv2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;align-items:start}
  #rows.cv2>:not(.prow){grid-column:1/-1}
  #rows.cv2 .pv{white-space:normal;align-items:flex-start}  /* two across: the status sentence wraps instead of being cut */
  #rows.cv2 .pvt{min-width:0}
  #rows.cv2 .pm{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}
@media (max-width:760px){.cv2 .prow{grid-template-columns:minmax(0,1fr) 40px 40px;grid-template-areas:"kd kd kd" "pn sc st" "pm pm pm" "bar bar bar" "pv pv pv"}
  .ovg{grid-template-columns:1fr 1fr}}
.ghd{padding:12px 8px 4px;font:600 13px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.ghd.lh{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:16px 8px 5px}
.lh .lt{color:var(--ink);margin:0;font:inherit;letter-spacing:inherit}
.lh .lb{font:400 13px/1.3 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink-3)}
.lh .lmore{margin-left:auto;font:500 13px/1 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}
.lh .lmore:hover{text-decoration-color:var(--ink)}
.prow{display:grid;grid-template-columns:24px minmax(0,1fr) 46px 30px;grid-template-areas:"rk pn sc st" "rk pm sc st" "rk bar sc st" "rk pv sc st";column-gap:10px;align-items:center;padding:9px 4px 9px 2px;border-bottom:1px solid var(--line);border-radius:10px;cursor:pointer;transition:background .15s,box-shadow .15s;position:relative}
.prow:last-child{border-bottom-color:transparent}
.prow.enter{animation:fade .45s ease-out both;animation-delay:calc(var(--i,0)*45ms)}
.prow .rk{grid-area:rk;align-self:center}
.prow .sc{grid-area:sc}
.prow .star{grid-area:st}
.pn{grid-area:pn;justify-self:start;max-width:100%;text-align:left;font:500 18px/1.25 var(--mono);letter-spacing:-.015em;overflow-wrap:anywhere;border-radius:6px}
.pn .end{color:var(--free)}
.pn .end.no{color:var(--taken)}
.pn .end.pend{color:var(--ink-3)}
.pm{grid-area:pm;min-width:0;font-size:14px;line-height:1.3;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px}
.pm.mono{font:400 13.5px/1.3 var(--mono);letter-spacing:-.01em}
.sbar{grid-area:bar;display:flex;gap:3px;margin:7px 0 5px;min-width:0}
.seg{flex:1 1 0;min-width:5px;height:9px;border-radius:3px;background:var(--sc);transition:background .3s,transform .12s;cursor:pointer}
.seg[data-l="1"]{background:transparent;box-shadow:inset 0 0 0 1.5px var(--sc)}
.seg[data-st=pending]{background:var(--line);animation:pend3 1.3s ease-in-out infinite}
@keyframes pend3{50%{opacity:.45}}
.seg:hover{transform:scaleY(1.45)}
.seg.chg{animation:segchg .3s ease-out}
@keyframes segchg{0%{transform:scaleY(1.9);box-shadow:0 0 0 2px var(--accent-soft)}100%{transform:none;box-shadow:none}}
.pv{grid-area:pv;min-width:0;font-size:13.5px;line-height:1.3;color:var(--ink-2);display:flex;gap:10px;align-items:flex-start}  /* the status sentence wraps instead of being cut off (QA-26) */
.pv .pvt{min-width:0}
.cl-rules{color:var(--ink-2);font-size:inherit;text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:2px}  /* the platform's own page (Lee: icons and names link to it) */
.cl-rules:hover{color:var(--ink);text-decoration-color:var(--ink)}
.pvt{min-width:0;overflow:hidden;text-overflow:ellipsis}
.pv .go{flex:none;margin-left:auto;font-weight:600;color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}
.prow:hover .pv .go,.prow.hov .pv .go{text-decoration-color:var(--ink)}
.pv .cf{flex:none;margin-left:auto;font-size:12px;color:var(--ink-3)}
.ev-help{margin-top:12px;padding:12px 14px;border-radius:12px;background:var(--panel-2);display:grid;gap:6px;justify-items:start}
.ev-help p{margin:0;color:var(--ink-2);font-size:14px}
.slow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:8px;padding:8px 12px;border-radius:10px;background:var(--accent-wash);font-size:14px}
.prow:hover,.prow.hov{background:var(--panel-2)}
.prow.is-sel{background:var(--accent-wash);box-shadow:inset 0 0 0 1.5px color-mix(in oklab,var(--accent) 60%,transparent);border-bottom-color:transparent}
.prow.is-sel.hov,.prow.is-sel:hover{background:color-mix(in oklab,var(--accent) 22%,var(--panel))}
.pn:focus-visible{outline-offset:1px}
.rk{font:500 14px var(--mono);color:var(--ink-2);text-align:center}
.rk .yd{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.sc{font:600 18px var(--mono);text-align:right;letter-spacing:-.02em;border-radius:7px;padding:2px 0}
.sc.p{color:var(--free)}
.sc.risk{color:var(--taken)}
.sc .dots{color:var(--ink-3)}
.star{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--ink-3)}
.star .g{font-size:17px}
.star:hover{color:var(--ink);background:var(--panel-2)}
.star[aria-pressed=true]{color:var(--accent-ink)}
:root:not([data-theme=dark]) .star[aria-pressed=true]{color:#C99A00}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .star[aria-pressed=true]{color:var(--accent)}}
.rt{color:var(--taken);font-weight:600;text-transform:none;letter-spacing:0}
.rv{font-size:14px;color:var(--ink-2);text-align:left;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rv b{color:var(--ink);font-weight:600;font-family:var(--sans)!important;letter-spacing:0!important}
.drow{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:7px 6px;border-bottom:1px solid var(--line)}
.drow:last-child{border-bottom-color:transparent}
.drow.enter{animation:fade .45s ease-out both;animation-delay:calc(var(--i,0)*45ms)}
.drow .cl-ic{width:34px;height:34px}
.dc{min-width:0;text-align:left;border-radius:6px}
.dc b{display:block;font:500 16px/1.3 var(--mono);letter-spacing:-.015em;overflow-wrap:anywhere}
.dc small{display:block;font-size:13.5px;color:var(--ink-2);overflow-wrap:anywhere}
.dc:hover b{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-2)}
.dst{height:28px;padding:0 10px;border-radius:8px;background:var(--sb);color:var(--sc);font-size:14px;font-weight:600;white-space:nowrap}
.dst[data-l="1"]{background:transparent;box-shadow:inset 0 0 0 1.5px var(--sc)}
.dfoot{flex:none;display:flex;align-items:center;gap:12px;margin-top:10px;font-size:14px;color:var(--ink-2)}
.dfoot span{flex:1;min-width:0}
.dfoot .primary{height:42px}
[data-st=mine]{--sc:var(--ink-2);--sb:var(--panel-2)}
.radar.three .hub{padding:2%}
.bars{list-style:none;margin:6px 0 0;padding:0}
.bars li{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:4px 12px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line);font-size:15px}
.bars li b{font:600 15px var(--mono);text-align:right}
.bars li i{grid-column:1/-1;height:4px;border-radius:2px;background:var(--line);position:relative;overflow:hidden}
.bars li i::after{content:'';position:absolute;inset:0;width:var(--v);background:var(--ink-2);border-radius:2px}
.bars li.top i::after{background:var(--free)}
.notes{margin:10px 0 0;padding:0 0 0 18px;font-size:15px;color:var(--ink-2)}
.notes li{margin:3px 0}
.riskc{margin:10px 0 0!important;padding:10px 12px;border-radius:10px;background:var(--taken-bg);color:var(--taken);font-weight:600;font-size:15px}
.wl{list-style:none;margin:0;padding:0}
.wi{padding:10px 0;border-bottom:1px solid var(--line)}
.wi .r1{display:flex;align-items:center;gap:10px}
.wi .r1 .nmb{flex:1;min-width:0;text-align:left;font:500 16px var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wi .r1 .ov{font:600 16px var(--mono)}
.wi .r2{display:flex;align-items:center;gap:10px;margin-top:6px;font-size:13.5px;color:var(--ink-2)}
.wi .dots{display:flex;gap:3px}
.wi .dots i{width:10px;height:10px;border-radius:3px;background:var(--sc)}
.wi .dots i[data-l="1"]{background:transparent;box-shadow:inset 0 0 0 1.5px var(--sc)}
.wi .chg{margin:6px 0 0!important;padding:6px 10px;border-radius:8px;background:var(--accent-wash);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--accent) 60%,var(--line));font-size:14px}
.wi .chg b{font-weight:600}
.rs{height:32px;padding:0 10px;border-radius:8px;border:1px solid var(--line-2);font-size:13.5px;font-weight:500;display:inline-flex;align-items:center;gap:6px}
.rs[disabled]{opacity:.7}
.spin{width:12px;height:12px;border-radius:50%;border:2px solid var(--line-2);border-top-color:var(--ink);animation:spin .8s linear infinite;display:inline-block}
.wfoot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}
.wfoot .t{font-size:14px;color:var(--ink-2);margin-right:auto}
.copyf{width:100%;margin-top:8px}
/* ---------- tokens (Lee, 24 Oct 2026): the balance in the top bar, the wallet, sharing and gifts ---------- */
.nav .tokb{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 11px 0 7px;margin-left:4px;border-radius:999px;background:var(--ink);color:var(--bg);font:600 14px/1 var(--mono);font-variant-numeric:tabular-nums;align-self:center}
.nav .tokb:hover{background:var(--ink);color:var(--bg);filter:brightness(1.2)}
.coin{width:14px;height:14px;flex:none;border-radius:50%;background:var(--accent);box-shadow:inset 0 0 0 2.5px color-mix(in oklab,var(--accent) 65%,#000)}
.app[data-tok=off] .cost{display:none}
.cost{font-weight:500;opacity:.68;font-size:.88em}
.ev-addr{color:inherit;font-weight:700;text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px;display:inline-flex;align-items:center;gap:4px}
.ev-addr:hover{text-decoration-color:currentColor}
.ev-addr .g{width:13px;height:13px;opacity:.6}
.ev-lab{color:inherit;text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}
.ev-lab:hover{text-decoration-color:currentColor}
.qcost{margin:8px 2px 0;font-size:13.5px;color:var(--ink-3)}  /* about how long, for how many platforms (Lee, 25 Oct 2026) */
.qtok{display:none}
.cest{flex:1;text-align:right;align-self:center;font-size:13.5px;color:var(--ink-3);margin-right:10px}
@media (max-width:760px){#go .cost{display:none}.qtok{display:inline}}  /* phones: no room in the button, so the cost sits under the box */
.app[data-tok=off] .qtok,.app[data-tok=off] .cost{display:none}
.toast{position:fixed;z-index:60;left:50%;bottom:max(20px,calc(env(safe-area-inset-bottom) + 12px));transform:translateX(-50%);width:max-content;max-width:min(440px,calc(100vw - 32px));background:var(--ink);color:var(--bg);border-radius:14px;padding:12px 16px;font-size:14.5px;line-height:1.4;box-shadow:var(--shadow);animation:pop .28s cubic-bezier(.2,.8,.2,1) both}
.tk-bal{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}
.tk-bal b{font:600 44px/1 var(--mono);letter-spacing:-.04em}
.tk-bal span{color:var(--ink-2)}
.tk-rows{display:grid;margin-top:8px}
.tk-row{display:grid;grid-template-columns:1fr auto;gap:2px 14px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.tk-row b{font-size:15px}
.tk-row span{grid-column:1;color:var(--ink-2);font-size:14px;line-height:1.4}
.tk-row .act{grid-row:1 / span 2;grid-column:2}
.tk-h{font-size:14px;margin:14px 0 4px;color:var(--ink-2);font-weight:600}
.tk-hist{list-style:none;margin:0;padding:0;display:grid}
.tk-hist li{display:grid;grid-template-columns:44px 1fr;gap:8px;padding:7px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.35}
.tk-hist li span:last-child{min-width:0;overflow-wrap:anywhere}
.tk-amt{font:600 14px/1.35 var(--mono);font-variant-numeric:tabular-nums}
.tk-amt.plus{color:var(--free)}
.tk-foot{color:var(--ink-2);font-size:13.5px;margin:12px 0 0!important}
.tk-link{display:flex;gap:8px;margin-top:12px}
.tk-link .fld{flex:1;min-width:0;height:42px;font:500 14px var(--mono)}
.tk-link .act{height:42px}
.tk-nets{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.tk-form{display:grid;gap:6px;margin-top:6px}
.tk-form label{font-size:14px;color:var(--ink-2);margin-top:4px}
.tk-form textarea.fld{height:auto;padding:10px 14px;line-height:1.4;resize:none;font:inherit;font-size:16px}
.tk-form .act{height:44px;margin-top:8px;justify-content:center}
.giftc{position:relative;display:grid;gap:8px;background:var(--ink);color:var(--bg);border-radius:18px;padding:18px;overflow:hidden}
.giftc::after{content:"";position:absolute;right:-36px;top:-36px;width:120px;height:120px;border-radius:50%;background:var(--accent);opacity:.2;pointer-events:none}
.giftc .gk{font:600 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.giftc .ga{font:600 34px/1 var(--mono);letter-spacing:-.03em}
.giftc .ga small{font:500 14px var(--sans);letter-spacing:0;margin-left:6px;opacity:.8}
.giftc q{font-style:italic;line-height:1.45;opacity:.92;overflow-wrap:anywhere}
.giftc .gs{font-size:14px;line-height:1.4;opacity:.8}
.giftc .primary{justify-self:start;height:42px;z-index:1}
.more-l{display:flex;flex-direction:column;gap:8px}
.more-l button{height:48px;border-radius:12px;border:1px solid var(--line-2);font-size:16px;font-weight:500;text-align:left;padding:0 16px}
.nav .wn{font:600 13px var(--mono);margin-left:4px;color:var(--ink-2)}
.nav [data-open=more]{display:none}
.nav [data-open=account][data-in=true]{color:var(--ink)}
.note{margin:0 0 10px;padding:10px 12px;border-radius:10px;background:var(--near-bg);color:var(--ink);font-size:14px}
.legal{margin:0;font-size:13px;line-height:1.3;color:var(--ink-2);display:flex;flex-wrap:wrap;gap:4px 14px}
.main{position:relative}
.main>.legal{position:absolute;left:24px;bottom:4px}
.legal a{color:var(--ink-2);text-underline-offset:3px}
.legal a:hover{color:var(--ink)}
.app[data-view=results] .main>.legal{display:none}
.acct p{margin:0 0 12px}
.acct .gbtn{min-height:44px;margin:4px 0 10px}
.acct .row{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.acct small{display:block;font-size:13px;color:var(--ink-2)}
.wsign{margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--panel-2);font-size:14px;color:var(--ink-2)}
.h1s{display:none}

/* ---------- hub: time-left ring, cost, reveal ---------- */
.hub-ring{position:absolute;inset:3.5%;width:93%;height:93%;pointer-events:none;transform:rotate(-90deg);overflow:visible}
.hub-ring circle{fill:none;stroke-width:5}
.hub-ring .trk{stroke:var(--line)}
.hub-ring .prg{stroke:var(--accent);stroke-linecap:round;transition:stroke-dasharray 1.2s linear}
.hub-b{color:var(--ink)!important;font-weight:600}
.hub-m{display:none}
.radar.mini .hub-m{display:block}
.radar.mini .hub-d{display:none}
.radar.mini .hub-ring circle{stroke-width:9}
.radar.reveal .pl.on{animation:fillin .32s ease-out both;animation-delay:var(--rd,0ms)}
.radar.reveal .pl.on .pip{animation:pipin .32s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--rd,0ms)}
.radar.reveal .hub{animation:hubpulse .7s ease-out}
@keyframes fillin{from{box-shadow:inset 0 0 0 3px var(--line-2);background:var(--raise)}}
@keyframes pipin{from{transform:scale(0)}}
@keyframes hubpulse{0%{box-shadow:0 0 0 0 var(--accent-soft),var(--shadow)}35%{box-shadow:0 0 0 16px var(--accent-soft),var(--shadow)}100%{box-shadow:0 0 0 26px transparent,var(--shadow)}}

/* ---------- claim ---------- */
.claim{position:absolute;inset:0;z-index:5;background:var(--bg);display:flex;flex-direction:column;min-height:0}
.cstrip{display:flex;align-items:center;gap:8px;height:44px;margin-top:6px;flex:none;min-width:0}
.chips-n{display:flex;gap:6px;min-width:0;overflow:hidden;align-items:center}
.chipn{height:34px;padding:0 10px;border-radius:10px;border:1px solid var(--line);background:var(--panel);font:500 14px var(--mono);letter-spacing:-.01em;white-space:nowrap;display:inline-flex;gap:7px;align-items:center;min-width:0;max-width:240px;flex:0 1 auto}
.chipn span{overflow:hidden;text-overflow:ellipsis;min-width:0}
.chipn b{color:var(--free);font-weight:600;flex:none}
.chipn b.risk{color:var(--taken)}
.chipn:hover{border-color:var(--line-2)}
.more-n{font-size:14px;color:var(--ink-2);white-space:nowrap;flex:none}
.back{height:36px;padding:0 12px 0 8px;border-radius:10px;display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;border:1px solid var(--line-2);background:var(--panel);flex:none}
.back .g{--g:var(--g-arrow);transform:rotate(180deg)}
.back:hover{background:var(--panel-2)}
.cl-live{margin-left:auto;font-size:14px;color:var(--ink-2);display:inline-flex;align-items:center;gap:7px;white-space:nowrap;flex:none}
.cl-live i{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);animation:pend2 1.1s ease-in-out infinite}
.cl-live.done i{background:var(--free);box-shadow:0 0 0 3px var(--free-bg);animation:none}
.cl-live.error i{background:var(--taken);box-shadow:none;animation:none}
.ccard{margin-top:10px;flex:0 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:16px 20px 16px;display:flex;flex-direction:column;align-items:stretch;scrollbar-width:thin}
.ctag{align-self:flex-start;height:24px;padding:0 9px;border-radius:7px;background:var(--accent-wash);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--accent) 55%,transparent);font:600 13px/24px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-bottom:6px;flex:none}
.ctop{display:flex;align-items:flex-start;gap:14px;flex:none}
.ctitle{margin:0;font:600 34px/1.12 var(--mono);letter-spacing:-.03em;min-width:0;overflow-wrap:anywhere;flex:1}
.ctitle .end{color:var(--free)}
.ctitle .end.no{color:var(--taken)}
.cscore{text-align:right;flex:none;border-radius:8px;padding:0 2px}
.cscore b{display:block;font:600 34px/1.05 var(--mono);letter-spacing:-.03em}
.cscore b.p{color:var(--free)}
.cscore b.risk{color:var(--taken)}
.cscore small{font-size:13px;color:var(--ink-2)}
.cscore:hover small{text-decoration:underline}
.cmean{margin:4px 0 0;font-size:15px;color:var(--ink-2);text-wrap:pretty;flex:none}
.cbars{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:12px;text-align:left;border-radius:8px;flex:none}
.cbars>span{flex:1 1 96px;min-width:90px;display:flex;flex-direction:column;justify-content:flex-end;gap:2px}
.cbars .l{font-size:13px;line-height:1.2;color:var(--ink-2)}
.cbars b{font:600 15px/1.3 var(--mono);color:var(--ink)}
.cbars i{height:5px;margin-top:2px;border-radius:3px;background:var(--line);position:relative;overflow:hidden}
.cbars i::after{content:'';position:absolute;inset:0;width:var(--v);background:var(--ink-2);border-radius:3px}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin-top:14px;flex:none}
.tile{display:flex;flex-direction:column;align-items:stretch;border-radius:12px;background:var(--panel-2);border:1px solid var(--line);min-width:0}
.tmain{display:flex;align-items:center;gap:10px;text-align:left;padding:8px 10px;min-width:0;border-radius:11px;width:100%}
.topt{appearance:none;-webkit-appearance:none;align-self:flex-start;margin:-2px 10px 8px;height:26px;padding:0 22px 0 8px;border-radius:7px;border:1px solid var(--line-2);background:var(--panel) var(--chev) no-repeat right 7px center/9px;font:500 13px var(--sans);color:var(--ink);max-width:calc(100% - 20px);cursor:pointer}
.tile .tq{flex:none;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--sb);color:var(--sc)}
.tile .tt{display:flex;flex-direction:column;min-width:0}
.tile .tm{display:flex;flex-wrap:wrap;column-gap:7px;white-space:normal}
.tile .tm b{font-size:13px;font-weight:600;color:var(--ink)}
.tile .tq .g{font-size:13px}
.tile .tq[data-l="1"]{background:transparent;box-shadow:inset 0 0 0 1.5px var(--sc)}
.tile .tt>b{font-size:14.5px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}
.tile small{font-size:13px;line-height:1.25;color:var(--ink-2);overflow-wrap:anywhere}
.tile small.mono{color:var(--near)}
.tile small.mono.m{color:var(--free)}
.tile:hover{border-color:var(--line-2)}
.tmain:focus-visible{outline-offset:-2px}
.cend{margin:10px 0 0;font-size:14px;color:var(--ink-2);text-align:left;flex:none}
.cend b{color:var(--free);font-weight:600;font-family:var(--mono)}
.cfoot{display:flex;align-items:center;gap:10px;margin-top:14px;flex:none}
.cfoot .primary{min-width:0}
.cfoot .ghost{height:46px;display:inline-flex;align-items:center;gap:6px;flex:none}
.cfoot .ghost .g{font-size:15px}
.cfoot .ghost[aria-pressed=true] .g{color:#C99A00}
.cstrip .cl-live{display:none}
.cfoot .cl-live{margin-left:auto}
.ctotal{margin:8px 0 0;font-size:14px;color:var(--ink-2);flex:none}
.cl-plan{margin:2px 0 0;font-size:15.5px;line-height:1.45;color:var(--ink-2);flex:none;max-width:44em}  /* Lee, 24 Oct 2026: "messy and chaotic, clean it up" */
.cl-list{margin-top:12px;min-height:0;overflow:auto;flex:0 1 auto;border-top:1px solid var(--line)}
.cl-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;column-gap:12px;row-gap:8px;min-height:62px;padding:10px 2px;border-bottom:1px solid var(--line)}
.cl-main{display:grid;gap:3px;min-width:0}
.cl-sub{display:flex;align-items:center;gap:7px;min-width:0;font-size:13.5px;color:var(--ink-2);white-space:nowrap;overflow:hidden}
.cl-sub .cl-st{display:inline-flex;align-items:center;gap:6px;height:auto;padding:0;background:none;box-shadow:none;color:var(--sc);font-size:13.5px;font-weight:600}
.cl-sub .cl-st::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--sc);flex:none}
.cl-sub .cl-st:hover{box-shadow:none;text-decoration:underline;text-underline-offset:3px}
.cl-chg{color:var(--ink);font-weight:500;font-size:13.5px;text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}
.cl-chg:hover{text-decoration-color:var(--ink)}
.cl-a .act{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-2)}
.cl-a .act:hover{filter:none;box-shadow:inset 0 0 0 1.5px var(--ink)}
.cl-a{justify-self:end}
.cl-l2{display:contents}
.m2{display:none}
.cl-ic{position:relative;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--raise);box-shadow:inset 0 0 0 1.5px var(--line-2);--c:var(--bc)}
.cl-hd{display:flex;flex-direction:column;align-items:flex-start;min-width:0;text-align:left;border-radius:6px;padding:2px 0}
.cl-hd b{font:500 15.5px/1.25 var(--mono);letter-spacing:-.015em;max-width:100%;overflow-wrap:anywhere}
.cl-hd small{font-size:13.5px;color:var(--ink-2);display:inline-flex;gap:5px;align-items:center;max-width:100%;white-space:nowrap;overflow:hidden}
.cl-hd small .g{--g:var(--g-chev);font-size:10px;transition:transform .2s}
.cl-hd[aria-expanded=true] small .g{transform:rotate(180deg)}
.cl-st{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 9px;border-radius:8px;background:var(--sb);color:var(--sc);font-size:14px;font-weight:600;white-space:nowrap;justify-self:start}
.cl-st .g{font-size:13px}
.cl-st span{color:var(--ink-2);font-weight:500;font-family:var(--mono);font-size:13px}
.cl-st:hover{box-shadow:0 0 0 1.5px var(--sc)}
.cl-st[data-l="1"]{background:transparent;box-shadow:inset 0 0 0 1.5px var(--sc)}
.act{height:34px;padding:0 12px;border-radius:9px;background:var(--ink);color:var(--bg);font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:6px;text-decoration:none;white-space:nowrap}
.act .g{--g:var(--g-out);font-size:11px}
.act.w{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-2)}
.act:hover{filter:brightness(1.15)}
.act.y{background:var(--accent);color:var(--on-accent)}
.na{font-size:14px;color:var(--ink-2)}
.cl-more{grid-column:2/-1;font-size:14px;color:var(--ink-2);padding:0 0 6px;line-height:1.45}
.cl-more b{color:var(--ink);font-weight:600}
.cl-foot{flex:none;margin-top:12px;font-size:14px;color:var(--ink-2);display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.cl-alts{grid-column:2/-1;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:0 0 2px}
.cl-alts>span{font-size:13px;color:var(--ink-2);margin-right:2px}
.alt{height:30px;padding:0 10px;border-radius:8px;border:1px solid var(--line-2);font:500 13.5px var(--mono);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.alt small{font:500 13px var(--sans);color:var(--ink-2)}
.cl-alts select{display:none;height:36px;max-width:100%;font:500 14px var(--mono)}
.alt[aria-checked=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.alt[aria-checked=true] small{color:inherit;opacity:.8}
.cl-ind{font-size:14px;color:var(--ink-2);text-align:left}
.cl-ind b{color:var(--free)}
.cl-ind:hover{color:var(--ink)}
.ev-alts{margin:4px 0 0;padding:10px 12px;border-radius:10px;background:var(--near-bg)}
.ev-alts p{margin:0 0 6px!important;font-size:15px}
.ev-alts li,.indlist li{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px solid var(--line)}
.ev-alts ul,.indlist{list-style:none;margin:0;padding:0}
.ev-alts li b,.indlist li b{font:500 15px var(--mono);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.ev-alts li span,.indlist li span.pr{font-size:14px;color:var(--ink-2);white-space:nowrap}
.indlist .ev-v{flex:none}

/* ---------- sheet ---------- */
.scrim{position:fixed;inset:0;background:var(--scrim);z-index:40;animation:fade .2s both}
@keyframes fade{from{opacity:0}}
.sheet{position:fixed;z-index:41;left:50%;top:50%;transform:translate(-50%,-50%);width:min(540px,calc(100vw - 32px));max-height:calc(100dvh - 48px);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);animation:pop .28s cubic-bezier(.2,.8,.2,1) both}
@keyframes pop{from{opacity:0;transform:translate(-50%,-48%) scale(.98)}}
.sh-head{display:flex;align-items:center;gap:12px;padding:18px 16px 6px 22px;flex:none}
.sh-head h2{margin:0;font-size:19px;font-weight:600;letter-spacing:-.01em;min-width:0;flex:1}
.sh-x{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:var(--ink-2);flex:none}
.sh-x:hover{background:var(--panel-2);color:var(--ink)}
.sh-x .g{--g:var(--g-cross);font-size:13px}
.sh-body{padding:4px 22px 22px;overflow:auto;min-height:0}
.sh-body p{margin:0 0 10px}
.ev-head{display:flex;align-items:center;gap:12px}
.ev-head .cl-ic{width:40px;height:40px}
.ev-head .cl-ic .ic{width:20px;height:20px}
.ev-head small{display:block;font-size:14px;color:var(--ink-2)}
.ev-st{display:flex;flex-wrap:wrap;row-gap:2px;align-items:center;gap:10px;margin:14px 0 6px;font-size:22px;font-weight:600;color:var(--sc);letter-spacing:-.01em}
.ev-st .g{font-size:18px}
.ev-st span{font:500 16px var(--mono);color:var(--ink-2);white-space:nowrap}
.ev-d{color:var(--ink-2);font-size:15px}
.ev-near{padding:10px 12px;border-radius:10px;background:var(--near-bg);font-size:15px}
.ev-next{margin:10px 0 4px;padding:12px 14px;border-radius:12px;background:var(--free-bg);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--free) 30%,transparent)}
.ev-next .lbl{display:block;font:600 13px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-bottom:8px}
.ev-next .nx{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ev-next .nx b{font:600 18px/1.2 var(--mono);letter-spacing:-.015em}
.ev-next .nx .act{margin-left:auto}
.ev-next .act[aria-pressed=true]{background:transparent;color:var(--free);box-shadow:inset 0 0 0 1.5px var(--free);cursor:default}
.ev-next .ev-v{background:var(--panel)}  /* green on green read 4.25:1 */
.cl-save{margin:12px 0 0;font-size:14px;color:var(--ink-2)}
.ev-next .act .g{--g:var(--g-check)}
.ev-next p{margin:6px 0 0!important;font-size:14px;color:var(--ink-2)}
.ev-also{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}
.ev-also>span{font-size:14px;color:var(--ink-2);margin-right:2px}
.hchip{height:32px;padding:0 11px;border-radius:999px;border:1.5px solid color-mix(in oklab,var(--free) 55%,var(--line-2));background:var(--panel);font:500 14px var(--mono);letter-spacing:-.01em;color:var(--ink)}
.hchip[data-l="1"]{border-style:dashed}
.hchip:hover{background:var(--panel-2)}
.hchip[aria-pressed=true]{background:var(--free);border-color:var(--free);color:var(--panel)}
.hchip small{font:500 13px var(--sans);color:var(--ink-2);margin-left:6px}
.hchip[aria-pressed=true] small{color:inherit;opacity:.85}
.ev-next .pr{font-size:14px;color:var(--ink-2)}
.ev-list{list-style:none;margin:10px 0 0;padding:0;border-top:1px solid var(--line)}
.ev-step{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid var(--line)}
.ev-n{width:24px;height:24px;border-radius:7px;background:var(--panel-2);border:1px solid var(--line);font:600 13px/22px var(--mono);text-align:center;margin-top:1px}
.ev-l b{display:block;font-size:15px;font-weight:600}
.ev-l small{display:block;font-size:14px;color:var(--ink-2);line-height:1.4;overflow-wrap:anywhere}
.ev-l a{color:var(--ink-2)}
.ev-v{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;border-radius:7px;font-size:13.5px;font-weight:600;background:var(--sb);color:var(--sc);white-space:nowrap}
.ev-v .g{font-size:11px}
.ev-skip{margin-top:10px!important;font-size:14px;color:var(--ink-2)}
.ev-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}
.ev-foot .t{font-size:14px;color:var(--ink-2);margin-right:auto}
.list{list-style:none;margin:0;padding:0}
.li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;text-align:left;padding:11px 10px;border-bottom:1px solid var(--line)}
.stag{display:inline-block;margin-right:2px;padding:3px 6px;border-radius:6px;border:1px solid var(--line-2);font:700 11px/1 var(--sans);letter-spacing:.04em;color:var(--ink-2);vertical-align:1px}
.stag.cr{border-color:transparent;background:var(--accent-soft);color:var(--ink)}
.rsum{margin:0 2px 4px;font-size:13.5px;color:var(--ink-2)}
.rgh{margin:14px 2px 6px;font:700 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.rl{display:grid;gap:8px}
.rc{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"q b" "m m";gap:6px 12px;width:100%;min-height:44px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);text-align:left;cursor:pointer}
.rc:hover,.rc:focus-visible{border-color:var(--ink-3)}
.rq{grid-area:q;min-width:0;font:600 15px/1.3 var(--mono);color:var(--ink);overflow-wrap:anywhere}
.rb{grid-area:b;display:inline-flex;align-items:center;gap:8px;justify-self:end;min-width:0;max-width:52vw;font-size:13.5px;color:var(--ink-2)}
.rb .mono{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rs{flex:none;min-width:30px;padding:3px 7px;border-radius:999px;background:var(--line);color:var(--ink);font:700 12.5px/1.2 var(--sans);text-align:center}
.rm{grid-area:m;display:flex;flex-wrap:wrap;align-items:center;gap:4px 7px;font-size:12.5px;color:var(--ink-3)}
.rm i{font-style:normal;opacity:.6}
.li:hover{background:var(--panel-2)}
.li b{font:500 16px var(--mono);letter-spacing:-.015em;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.li small{display:block;font-size:14px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.li .sc{font-size:16px}
.li .pips{display:flex;gap:3px;justify-content:flex-end;margin-top:4px}
.li .pips i{width:9px;height:9px;border-radius:3px;background:var(--sc)}
.steps{margin:0;padding:0;list-style:none;counter-reset:s}
.steps li{position:relative;padding:0 0 14px 40px;font-size:15px}
.steps li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:-1px;width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--on-accent);font:600 13px/26px var(--mono);text-align:center}
.steps b{display:block;font-weight:600}
.leg2{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-top:6px;font-size:14px}
.leg2 span{display:flex;align-items:center;gap:8px}
.leg2>span>i{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;background:var(--sb);color:var(--sc)}
.leg2 .g{font-size:12px}
.form{display:flex;gap:8px;margin-top:6px}
.form .fld{flex:1;height:46px}
.ok{color:var(--free);font-weight:600}
.sk{height:14px;border-radius:6px;background:linear-gradient(90deg,var(--panel-2),var(--line),var(--panel-2));background-size:200% 100%;animation:skel 1.2s linear infinite;margin:10px 0}
@keyframes skel{to{background-position:-200% 0}}

/* ---------- views ---------- */
.app[data-view=results] .results{display:flex}
.app[data-view=results] .toprow,.app[data-view=results] .hero,.app[data-view=results] .places,.app[data-view=results] .create,.app[data-view=results] #qslotH,.app[data-view=results] .err.home{display:none}
.app[data-view=home][data-path=create] #qslotH,.app[data-view=home][data-path=create] .places{display:none}
.app[data-view=home][data-path=create] .create{display:flex}
.app[data-view=home][data-path=create] .hero{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.app[data-view=home][data-path=create] .hero p{display:none}

/* ---------- phone ---------- */
@media (max-width:760px),(max-width:1099px) and (orientation:portrait),(max-height:500px){
  body{font-size:15px}
  .top{height:56px;padding:6px max(12px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))}
  .nav button{padding:0 9px;font-size:14px}
  .main{display:flex;flex-direction:column;gap:clamp(8px,1.6vh,14px);padding:0 max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
  .app[data-view=home] .toprow{margin-top:0}
  .app[data-view=home] .places,.app[data-view=home][data-path=create] .create{margin-bottom:0}
  .side{display:contents}
  .toprow{order:1;margin-top:0}
  .tabs{flex:1}
  .tabs button{flex:1;padding:0 8px}
  .backres{padding:0 12px;flex:none}
  .backres .lg{display:none}
  .backres .sm{display:inline}
  .hero{display:block;order:0}
  .nav .tokb{height:30px;font-size:13px;padding:0 9px 0 6px;margin-left:2px}
  .hero h1{font-size:16px;line-height:1.3;margin:0;max-width:none;font-weight:600}
  .h1l{display:none}
  .hero p{display:block;margin:3px 0 0;font-size:14px;line-height:1.4;max-width:none}  /* the short intro line (Lee 24 Oct 2026: "hero + sub was missing") */
  .hero .hsub{margin:2px 0 0;font-size:14px;font-weight:500}
  .h1s{display:inline}
  .main>.legal{position:static;order:8;padding-top:2px}
  .app[data-path=create] .main>.legal{display:none}
  #qslotH{order:2;margin-top:0}
  .qform{height:54px;padding:5px 5px 5px 14px;box-shadow:none;border-radius:14px}
  .qform input{font-size:17px}
  .qform input::placeholder{font-size:16px}
  .qform .primary{height:44px;padding:0 16px}
  .qform [data-slot=sector-d]{display:none}
  #qslotH .err{top:calc(100% + 4px)}
  .tools{order:4;display:flex;gap:8px}
  .tools .sel{flex:1;max-width:none;height:40px;font-size:15px;background-color:var(--panel)}
  [data-slot=find-m]{flex:1;display:flex;min-width:0}
  .tools .find{flex:1;width:100%;min-width:0;height:40px}
  .tools .sel{min-width:0;flex:0 1 44%}
  .tools .find input{font-size:15px}
  .stage{order:6;flex:1 1 auto;margin:0 -14px;min-height:0}
  .places{order:7;margin:0}
  .places .ph{display:none}
  .order{flex-wrap:nowrap;height:35px;gap:8px}
  .order .chip .x{display:none}
  .order .chip{padding-right:12px}
  .app[data-view=home][data-path=create] .stage,.app[data-view=results] .stage,.app[data-view=results] .tools{display:none}
  .app[data-view=home][data-path=create] .tools{display:none}
  .create{order:2;margin-top:0!important;flex:1;min-height:0}
  .cfree .cchg{display:inline}
  .cfree .chint{display:none}
  .cstep{gap:14px}
  .cstep.on{flex:1;min-height:0}
  .cstep[data-step="1"] #cslot{display:grid;flex:1;min-height:0;container-type:size;place-items:center;margin:0 -14px}
  .cstep[data-step="1"] .cplaces p{display:none}
  .cact{margin-top:12px}
  .two{gap:8px}
  .results{order:2;flex:1;height:auto;min-height:0;--dial:150px}
  .rbar{height:48px;margin-top:0;padding-left:14px}
  .rbar .t{font-size:14.5px}
  .rbar .ghost{height:36px;padding:0 12px}
  .sumrow{flex-direction:column;align-items:stretch;gap:6px;margin:8px 0 8px}
  #dial{display:block;align-self:center;flex:none;width:var(--dial);height:var(--dial);container-type:size;border-radius:50%;cursor:pointer}
  .sum h2{font-size:16.5px;line-height:1.32}
  .sum p{font-size:14.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .meta{font-size:14px;margin-top:4px;gap:2px 12px}
  .meta .m-secs{display:none}
  .prog{margin-top:4px;gap:2px 12px}
  .ydom{margin-top:8px;padding:9px 14px}
  .ydom b,.ydom .ev-addr{font-size:17px;margin-top:4px}
  .ydom p{font-size:14px}
  .plist{padding:3px 4px}
  .prow{grid-template-columns:minmax(0,1fr) 40px 40px;grid-template-areas:"pn sc st" "pm pm pm" "bar bar bar" "pv pv pv";column-gap:6px;padding:8px 6px}
  .prow .rk{display:none}
  .pn{font-size:16.5px}
  .sc{font-size:17px}
  .star{width:40px;height:40px}
  .pills{padding:6px 4px 7px;gap:6px}
  .pills .lbl{display:none}
  .pill{padding:0 9px;font-size:13.5px}
  .drow{gap:10px;padding:7px 4px}
  .dfoot{margin-top:8px}
  .dfoot .primary{height:40px;padding:0 14px}

  .claim{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:30;padding:0 max(14px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));border-radius:22px 22px 0 0;background:var(--panel);box-shadow:var(--shadow-lg);border:1px solid var(--line);border-bottom:0}
  .cstrip{height:44px;margin-top:4px}
  .chips-n,.cfoot .cl-live{display:none}
  .cstrip .cl-live{display:inline-flex}
  .drow .cl-ic{grid-area:auto;align-self:center;margin-top:0}
  .ccard{margin-top:0;padding:2px 2px 0;border:0;border-radius:0;background:transparent;flex:1}
  .ctag{display:none}
  .ctitle{font-size:24px}
  .cscore b{font-size:26px}
  .cmean{font-size:14.5px}
  .cbars{gap:8px 14px;margin-top:10px}
  .cbars>span{flex:1 1 40%;min-width:0}
  .tiles{grid-template-columns:1fr 1fr;margin-top:10px;gap:6px}
  .tile{padding:7px 8px;column-gap:8px}
  .cfoot{position:sticky;bottom:0;background:var(--panel);padding:8px 0 2px;margin-top:8px}
  .cfoot .primary{flex:1;justify-content:center}
  .ctotal{margin-top:4px}
  .cl-plan{font-size:15px;padding:10px 12px}
  .cl-row{grid-template-columns:34px minmax(0,1fr) auto;column-gap:10px;row-gap:6px;padding:9px 0;min-height:0}
  .cl-sub{flex-wrap:wrap;row-gap:2px;white-space:normal}
  .cl-ic{align-self:center}
  .cl-hd{padding:0}
  .cl-hd small{display:none}
  .cl-hd b{font-size:16px}
  .cl-l2{grid-area:l2;display:flex;align-items:center;gap:10px;min-width:0}
  .cl-st{height:28px;padding:0 8px;font-size:14px}
  .cl-l2{flex-wrap:wrap;row-gap:2px}
  .m2{display:inline;font-size:14px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cl-a{align-self:center}
  .cl-more{grid-column:1/-1}
  .cstep[data-step="1"] .cplaces{flex:1;min-height:0}
  .sheet{left:0;right:0;top:auto;bottom:0;transform:none;width:100%;max-height:92dvh;border-radius:22px 22px 0 0;border-bottom:0;animation:up .3s cubic-bezier(.2,.8,.2,1) both}
  @keyframes up{from{transform:translateY(30px);opacity:0}}
  .sh-body{padding:4px max(18px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}
  .sh-head{padding:16px max(12px,env(safe-area-inset-right)) 6px max(18px,env(safe-area-inset-left))}
}
@media (max-width:640px){
  .nav [data-open=how],.nav [data-open=account]{display:none}
  .nav [data-open=more]{display:inline-flex;align-items:center}
}
@media (max-width:520px){
  .nav [data-open=how],.nav [data-open=account]{display:none}
  .nav [data-open=more]{display:inline-flex;align-items:center}
  .mark{column-gap:7px} .mark .mk{width:30px;height:30px} .mark .mn{font-size:19px} .mark .ms{display:none}
}
@media (max-width:420px){
  .top{padding:6px max(8px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left))}
  .nav button{padding:0 6px}
  .nav{gap:0}  /* the token pill was 8 px past the edge on 390 px phones (25 Oct 2026) */
  .mark .mn{font-size:17px} .mark .mk{width:27px;height:27px}
  .nx{display:none}
}
/* 320 px phones (QA XB-03): Recent moves into More, so the header fits and focus never shifts the page sideways */
@media (max-width:300px){.mark .mt{display:none}}  /* zoomed phones: the mark alone, so Wish list and More fit */
@media (max-width:360px){
  .nav [data-open=recent]{display:none}
  .mark{column-gap:6px} .mark .mn{font-size:16px} .mark .mk{width:25px;height:25px}
  .tiles{grid-template-columns:1fr}
}
/* short screens: phones held sideways, and desktops zoomed to 200% (QA XB-02 / A11Y-01): the stacked layout and a page
   that scrolls, so the search box, the radar and the list all stay reachable */
@media (max-height:500px){
  html,body{height:auto;overflow-x:hidden;overflow-y:auto}
  .app{height:auto;min-height:100dvh}
  .stage{flex:none!important;height:min(92vw,440px,calc(100dvh - 24px));min-height:260px}
  .cstep[data-step="1"] #cslot{flex:none!important;height:min(92vw,440px);min-height:300px}
  .create,.cstep.on,.results{flex:none!important}
  .plist{flex:none;overflow:visible}
  .claim{top:0!important;max-height:100dvh;border-radius:0}
  .hero{display:none}
}
/* touch: targets of 40 px and more (QA XB-05), and 16 px text in form fields so iOS doesn't zoom in (XB-06) */
@media (pointer:coarse){
  .seg{position:relative}
  .seg::after{content:'';position:absolute;inset:-12px -1px}
  .pl::before{content:'';position:absolute;inset:-16%;border-radius:50%}
  .meta{row-gap:24px!important}  /* 44 px tap boxes on rows 44 px apart: a tap on Rivals can't land on Create more */
  .lh .lmore,.meta .link{padding:12px 4px;margin:-12px -4px}
  .legal a{padding:12px 4px;margin:-12px -4px}
  .cl-sub{row-gap:12px}
  .cl-sub .cl-st,.cl-chg{padding:8px 2px;margin:-8px -2px}  /* bigger, but never over each other when the line wraps */
  .topt{height:36px}
  .hub-top{position:absolute}
  .hub-top::after{content:'';position:absolute;inset:-7px -4px}
  .hub.tight .hub-c{white-space:nowrap}
  .nav button,.tabs button{height:42px}
  .sh-x{width:44px;height:44px}
  .chip .x{width:34px;height:34px}
  input,select,.fld,.sel,.topt,#find,.qform input{font-size:16px!important}
}
/* ---------- tablet, upright (Lee, 24 Oct 2026: "fit and work at its best on mobile and tablet"): the phone's
   stacked layout given room: a centred column, the headline back, larger controls, a bigger radar and dial ---------- */
@media (min-width:761px) and (max-width:1099px) and (orientation:portrait){
  .top{height:72px;padding:8px 28px 0}
  .nav button{padding:0 12px;font-size:15px}
  .main{width:100%;max-width:780px;justify-self:center;gap:18px;padding:4px 28px 24px}
  .hero{display:block;order:2}
  .hero h1{font-size:clamp(32px,4.4vw,40px);margin:6px 0 10px;max-width:16em}
  .hero p{display:block;font-size:17px;max-width:36em}
  .h1l{display:inline} .h1s{display:none}
  #qslotH{order:3}
  .qform{height:60px;padding:6px 6px 6px 18px}
  .qform input{font-size:18px}
  .qform .primary{height:48px;padding:0 22px}
  .tools .sel,.tools .find{height:46px;font-size:16px}
  .stage{margin:0}
  .order{height:38px}
  .results{--dial:210px}
  .rbar{height:54px}
  .sum h2{font-size:20px}
  .sum p{font-size:15.5px}
  .pn{font-size:18px}
  .claim,.sheet{left:0;right:0;margin:0 auto;max-width:780px}
}
/* ---------- tablet on its side and small laptops: two columns, but the industry picker moves under the search
   and the radar gives a little width back, so the search box keeps its room ---------- */
@media (min-width:761px) and (max-width:1279px) and (orientation:landscape) and (min-height:501px){
  .main{--stage:min(calc(100dvh - 88px),50vw);gap:32px}
  .qform [data-slot=sector-d]{display:none}
  .tools{display:flex;margin-top:8px}
  .tools .sel{height:42px;width:auto;max-width:260px;background-color:var(--panel)}
  .places{margin-top:calc(var(--g3) - 20px)}  /* wins back the picker's row, so short screens still fit */
  .app[data-view=results] .tools,.app[data-view=home][data-path=create] .tools{display:none}
}
@media (max-width:760px) and (max-height:600px){
  .hero,.main>.legal{display:none}  /* small phones keep the radar big enough to pick from; More has the legal links */
}
@media (max-width:760px) and (max-height:700px){
  .top{height:50px}
  .main{gap:8px;padding-bottom:10px}
  .qform{height:50px}
  .qform .primary{height:40px}
  .tools .sel,.tools .find{height:38px}
  .cstep{gap:10px}
  .q{gap:6px}
  .fld{height:44px}
  .fld.big{height:46px}
  .q .sel{height:42px}
  .opt{height:33px}
  .cact{margin-top:10px}
  .cact .ghost,.cact .primary{height:42px}
  .sumrow{margin:6px 0 6px;gap:4px}
  .results{--dial:128px}
  .rbar{height:46px}
  .sum h2{font-size:16px;-webkit-line-clamp:2}
  .meta{margin-top:2px}
  .prow{padding:6px 6px}
  .sbar{margin:5px 0 4px}
  .sum.run .meta .live+span{display:none}
  .ydom{padding:7px 12px}
  .ydom p{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .sweep,.sweepbox,.blip{display:none!important}
  .pl.pulse,.pl.pulse::after{animation:none!important}
  .pl.pulse::after{box-shadow:0 0 0 3px var(--cc)!important}
  .radar.reveal .pl.on,.radar.reveal .pl.on .pip,.radar.reveal .hub{animation:none!important}
}

/* ---------- design A home (sitebuild/home.py) ---------- */
html,body{height:auto;overflow:visible;overflow-x:clip}  /* clip, not hidden: hidden would stop the header sticking */
html{scrollbar-gutter:stable}  /* a scrollbar appearing never nudges the page sideways */
.top{position:relative;z-index:40;justify-content:flex-start}
.top .nav{margin-left:auto}
.zz-nav{display:flex;align-items:center;gap:2px;margin-left:22px}
.zz-nb{height:36px;padding:0 12px;border-radius:999px;display:inline-flex;align-items:center;gap:7px;color:var(--ink-2);font-size:14px;font-weight:500;white-space:nowrap;text-decoration:none}
.zz-nb:hover,.zz-nb[aria-expanded=true]{color:var(--ink);background:var(--panel)}
.zz-car{width:8px;height:8px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s}
.zz-nb[aria-expanded=true] .zz-car{transform:rotate(225deg) translate(-1px,-1px)}
.zz-mega{position:absolute;left:16px;right:16px;top:60px;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 50px rgba(16,20,24,.16);overflow:hidden;animation:zzdrop .18s ease-out}
.zz-mega.plat{display:grid;grid-template-columns:230px 1fr;max-height:calc(100dvh - 76px)}
.zz-mega.plat>div:last-child{overflow:auto;min-height:0}
.zz-mega[hidden],.zz-mbody[hidden]{display:none}
@keyframes zzdrop{from{opacity:0;transform:translateY(-6px)}}
.zz-rail{background:var(--panel-2);padding:12px;display:grid;gap:2px;align-content:start}
.zz-rb{display:flex;align-items:center;justify-content:space-between;gap:8px;height:42px;padding:0 12px;border-radius:10px;font-weight:500;font-size:15px;color:var(--ink-2);text-align:left}
.zz-rb small{font:600 11px var(--mono);color:var(--ink-3)}
.zz-rb .zz-dot{width:9px;height:9px;border-radius:50%;background:var(--zc,var(--ink-3));flex:none;margin-right:2px}
.zz-rb .lab{display:flex;align-items:center;gap:8px;margin-right:auto}
.zz-row{border-radius:10px}
.zz-row:hover,.zz-row:focus-within{background:var(--panel-2)}
.zz-row a.zz-pl:hover{background:transparent}
#radar.zz-focus .pl:not(.zz-in){opacity:.22}
#radar.zz-focus path.cat:not(.zz-in),#radar.zz-focus path.catarc:not(.zz-in),#radar.zz-focus text.cattx:not(.zz-in){opacity:.3}
#radar .pl.zz-hl{transform:translate(-50%,-50%) scale(1.32);box-shadow:0 0 0 3px var(--accent),0 6px 18px rgba(0,0,0,.18);z-index:4}
.zz-ind button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:0 12px;border-radius:10px;font-size:14.5px;font-weight:500;color:var(--ink);text-align:left;width:100%}
.zz-ind button:hover,.zz-ind button[aria-pressed=true]{background:var(--panel-2)}
.zz-ind button[aria-pressed=true]{box-shadow:inset 0 0 0 1.5px var(--ink)}
.zz-rb[aria-selected=true],.zz-rb:hover{background:var(--panel);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.zz-mbody{padding:18px 20px 6px}
.zz-gcols{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px 18px}
.zz-gh{font:600 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:2px 0 8px}
.zz-pl{display:grid;grid-template-columns:30px 1fr;gap:1px 10px;align-items:center;padding:7px 8px;border-radius:10px;text-decoration:none;color:var(--ink)}
a.zz-pl:hover{background:var(--panel-2)}
.zz-pl .zz-ib{grid-row:1/span 2;width:30px;height:30px;border-radius:8px;background:var(--panel-2);display:grid;place-items:center}
.zz-pl b{font-size:14.5px;font-weight:600}
.zz-pl span:not(.zz-ib):not(.zz-ico){font-size:12.5px;color:var(--ink-3)}
.zz-pl.dim,.zz-ind .dim{opacity:.5}
.zz-ind{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:16px}
.zz-ind a,.zz-ind span{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:0 12px;border-radius:10px;font-size:14.5px;font-weight:500;color:var(--ink);text-decoration:none}
.zz-ind a:hover{background:var(--panel-2)}
.zz-ind small{font-size:11.5px;color:var(--ink-3);font-weight:500}
.zz-mfoot{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);margin:8px 20px 0;padding:12px 0 16px;font-size:13.5px;color:var(--ink-2)}
.zz-mfoot a{font-weight:600;color:var(--ink);text-decoration:none}
.zz-ico{display:inline-block;width:20px;height:20px;flex:none;background:currentColor;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.zz-ico.tx{width:auto;min-width:20px;background:none;-webkit-mask:none;mask:none;font:700 11px/20px var(--mono);letter-spacing:-.03em;text-align:center}
/* the home: the full radar, smaller, beside the headline and checker, with Browse platforms right after (Lee, 25 Oct 2026) */
@media (min-width:761px) and (min-height:501px){
  .app[data-view=home]{height:auto;min-height:0}
  .app[data-view=home] .main{--stage:min(calc(100dvh - 190px),42vw,640px);max-width:1320px;margin:0 auto;width:100%;align-items:start}  /* top-aligned, so Check and Create don't shift the page */
  .app[data-view=home] .stage{align-self:start;margin-top:8px}
  .app[data-view=home] .places .ph{display:none}  /* Lee: the Platforms label and Find row aren't needed; the chips stay */
  .app[data-view=home] .toprow{margin-top:28px}
  .app[data-view=home] .stage{height:var(--stage)}
  .zz-mega.plat{right:auto;width:min(880px,calc(100vw - min(calc(100dvh - 190px),42vw,640px) - 96px))}  /* opens beside the radar, so the radar shows what you point at */
  .app[data-view=home][data-path=check] .hero .h1l{display:none}
  .app[data-view=home][data-path=check] .hero .h1s{display:inline}
  .app[data-view=home] .hero h1{font-size:clamp(30px,2.7vw,38px);max-width:17em;text-wrap:balance}  /* two lines for the longer headline (Lee, 25 Oct 2026) */
}
/* a lean menu bar (Lee, 25 Oct 2026: "too busy"): logo, Platforms, Industries, Guides | Wish list, Recent, tokens, your name.
   The tagline under the logo repeats the headline, and How it works sits in the footer and the More menu. */
.main>.legal{display:none}  /* Privacy and Terms live in the footer now (Lee, 25 Oct 2026) */
@media (min-width:761px){
  .top .mark .ms{display:none}
  .top .nav [data-open=how]{display:none}
  .top .nav .tokb{order:8}
  .top .nav [data-open=wish],.top .nav [data-open=recent],.top .nav #acctBtn{display:none}  /* they live in the account menu (Lee, 25 Oct 2026) */
  .top .nav [data-open=more]{display:inline-flex;align-items:center;order:9;margin-left:4px;color:var(--ink)}
  .top{width:100%;max-width:1320px;margin:0 auto}  /* the menu bar lines up with the page on wide screens */
}
.app[data-view=results]~.zz-below{display:none}
.zz-below{max-width:1320px;margin:0 auto;padding:40px 24px 0}
.zz-below section+section{margin-top:40px}
.zz-below h2{margin:0 0 14px;font:600 22px/1.2 var(--sans);letter-spacing:-.02em}
.zz-more{margin:14px 0 0}.zz-more a{font-weight:600;font-size:15px;color:var(--ink);text-decoration:none}.zz-more a:hover{text-decoration:underline}
.zz-below .zz-lede{margin:-6px 0 16px;font-size:15px;line-height:1.5;color:var(--ink-2);max-width:720px}
.zz-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.zz-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px 18px;display:grid;gap:6px;align-content:start;text-decoration:none;color:var(--ink)}
.zz-card b,.zz-card .ttl{font-size:16px;font-weight:600}
.zz-card .ttl{color:var(--ink);text-decoration:none}
.zz-card .ttl:hover{text-decoration:underline}
.zz-card .n{font-size:13.5px;color:var(--ink-3)}
.zz-card .line{font-size:14.5px;color:var(--ink-2)}
.zz-card .icons{display:flex;gap:8px;color:var(--ink);margin-top:2px}
.zz-card .icons .zz-ico{width:18px;height:18px}
.zz-card .ends{font:600 13px var(--mono);color:var(--ink);letter-spacing:-.01em}
.zz-card .rules{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:14px;margin-top:4px}
.zz-card .rules a{display:inline-block;min-width:24px;padding:2px 0;color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:2px}  /* 24 px to tap (QA-22) */
.zz-card.soon{opacity:.6}
/* the guide cards (Lee, 25 Oct 2026): a pastel per tag, icon, title, one line, reading time; the whole card is the link */
.zz-gc{--gc:var(--ink-3);display:grid;grid-template-rows:auto auto 1fr auto;gap:8px;padding:18px;border-radius:18px;text-decoration:none;color:var(--ink);
  background:color-mix(in oklab,var(--gc) 7%,var(--panel));border:1px solid color-mix(in oklab,var(--gc) 22%,var(--line));transition:transform .15s,box-shadow .15s}
.zz-gc:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(16,20,24,.08)}
.zz-gc .gc-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.zz-gc .gc-ic{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:color-mix(in oklab,var(--gc) 16%,var(--panel));color:color-mix(in oklab,var(--gc) 80%,var(--ink))}
.zz-gc .gc-ic .zz-ico{width:19px;height:19px}
.zz-gc .gc-tag{font:600 11.5px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:color-mix(in oklab,var(--gc) 75%,var(--ink));background:color-mix(in oklab,var(--gc) 12%,var(--panel));padding:5px 9px;border-radius:999px}
.zz-gc .gc-t{font-size:16.5px;line-height:1.3;font-weight:650;letter-spacing:-.01em}
.zz-gc .gc-l{font-size:14px;line-height:1.45;color:var(--ink-2)}
.zz-gc .gc-f{font-size:13px;font-weight:600;color:color-mix(in oklab,var(--gc) 70%,var(--ink));padding-top:4px}
.zz-gc:hover .gc-f i{margin-left:3px}
.zz-allb{display:inline-flex;align-items:center;height:42px;padding:0 18px;border-radius:12px;background:var(--panel);border:1px solid var(--line);text-decoration:none!important}
.zz-allb:hover{border-color:var(--ink)}
@media (max-width:620px){.zz-grid .zz-gc{grid-column:1/-1}}
/* each section card wears its radar colour as a soft pastel (Lee, 25 Oct 2026); dark mode mixes into the dark panel instead */
.zz-card.tint{background:color-mix(in oklab,var(--zc) 9%,var(--panel));border-color:color-mix(in oklab,var(--zc) 26%,var(--line))}
.zz-card.tint .icons,.zz-card.tint .ends{color:color-mix(in oklab,var(--zc) 55%,var(--ink))}
.zz-card.tint .rules a{text-decoration-color:color-mix(in oklab,var(--zc) 45%,var(--line-2))}
.zz-card .soonl{font-size:12.5px;color:var(--ink-3)}
.zz-ftr{background:var(--panel);border-top:1px solid var(--line);margin-top:48px}
.zz-fcols{max-width:1320px;margin:0 auto;padding:32px 24px 10px;display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:24px}
.zz-fcols h2{margin:0 0 10px;font:600 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.zz-fcols a,.zz-fcols button{display:block;font-size:15px;color:var(--ink-2);padding:5px 0;text-decoration:none;text-align:left}
.zz-fcols a:hover,.zz-fcols button:hover{color:var(--ink)}
.zz-fmission{font-size:14.5px;color:var(--ink-2);max-width:320px;display:grid;gap:10px;align-content:start}
.zz-fbase{max-width:1320px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;font-size:13px;color:var(--ink-3);border-top:1px solid var(--line);padding:14px 24px 24px}
@media (max-width:980px){.zz-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zz-fcols{grid-template-columns:1fr 1fr}.zz-gcols{grid-template-columns:repeat(2,minmax(0,1fr))}.zz-ind{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* phones and upright tablets keep today's stacked layout; only the spacing below changes */
@media (max-width:760px),(max-width:1099px) and (orientation:portrait){
  .zz-nav{display:none}
  .zz-below{padding:28px 16px 0}
  .zz-fcols{grid-template-columns:1fr;padding:28px 16px 8px}
  .zz-fbase{padding:14px 16px 24px}
}

/* Industries menu (sitebuild/industries_menu.py): list on the left, a preview on the right; each industry has its own
   icon and a soft pastel colour (hue in --ih) for its hover and its preview (Lee, 25 Oct 2026) */
.zc-ii{display:inline-block;width:18px;height:18px;flex:none;background:currentColor;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.im{display:grid;grid-template-columns:minmax(0,1fr) 320px;min-height:0;overflow:hidden}
.im-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:14px;align-content:start;overflow:auto}
.im-it{--ic:hsl(var(--ih) 52% 42%);--iw:hsl(var(--ih) 80% 95%);display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;padding:0 10px;border-radius:10px;
  font:500 14.5px var(--sans);color:var(--ink-2,var(--ink2));text-decoration:none;text-align:left;width:100%;background:none;border:0;cursor:pointer;box-sizing:border-box}
.im-lab{display:inline-flex;align-items:center;gap:10px}
.im-it .zc-ii{color:var(--ic);opacity:.85}
.im-it.has{color:var(--ink)}
.im-it:hover,.im-it[aria-current=true]{background:var(--iw);color:var(--ink)}
.im-it:hover .zc-ii,.im-it[aria-current=true] .zc-ii{opacity:1}
.im-it .im-g{font:600 10.5px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--zc-ink2);font-style:normal;border:1px solid var(--ic);border-radius:4px;padding:2px 4px}  /* readable text, the industry's colour as the outline (QA-21: 2.8 to 4.2:1) */
.im-prev{background:hsl(var(--ph,220) 60% 97%);padding:18px 20px;border-left:1px solid var(--line);overflow:auto}
.im-p{--ic:hsl(var(--ih) 52% 42%);--iw:hsl(var(--ih) 80% 94%);display:grid;gap:10px;align-content:start}
.im-p[hidden]{display:none}
.im-t{display:flex;align-items:center;gap:10px;font:600 18px/1.2 var(--sans);letter-spacing:-.01em;color:var(--ink)}
.im-big{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--iw);color:var(--ic);flex:none}
.im-big .zc-ii{width:22px;height:22px}
.im-h{font:600 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3,var(--ink3));margin-top:4px}
.im-chips{display:flex;flex-wrap:wrap;gap:6px}
.im-chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px 0 8px;border-radius:999px;background:var(--panel);border:1px solid var(--line);font-size:13px;font-weight:500;color:var(--ink);text-decoration:none}
a.im-chip:hover{border-color:var(--ic)}
.im-chip .zc-pi{width:16px;height:16px}
.im-ends{display:flex;flex-wrap:wrap;gap:6px}
.im-ends span{font:600 12.5px var(--mono);background:var(--iw);border:1px solid color-mix(in oklab,var(--ic) 25%,var(--line));border-radius:8px;padding:4px 8px;color:var(--ink)}
.im-go{justify-self:start;margin-top:6px;font-weight:600;font-size:14px;color:var(--ic);text-decoration:none}
.im-go:hover{text-decoration:underline}
.im-soon{margin-top:6px;font-size:13.5px;color:var(--ink-3,var(--ink3))}
@media (prefers-color-scheme:dark){.im-it,.im-p{--ic:hsl(var(--ih) 70% 70%);--iw:hsl(var(--ih) 30% 20%)}.im-prev{background:var(--panel-2,var(--panel2))}}
@media (max-width:980px){.im{grid-template-columns:1fr}.im-list{grid-template-columns:repeat(2,minmax(0,1fr))}.im-prev{display:none}}

/* ---------- the shared header and footer (sitebuild/sitechrome.py), the same on every page ---------- */
.zc{--zc-panel2:var(--panel-2,var(--panel2));--zc-ink2:var(--ink-2,var(--ink2));--zc-ink3:var(--ink-3,var(--ink3));--zc-line2:var(--line-2,var(--line2));
  --zc-acc:var(--accent,var(--acc));--zc-onacc:var(--on-accent,var(--on-acc));font-family:var(--sans)}
:root{--zc-h:68px}
:root{--cat-domains:#0b58bb;--cat-social:#d65194;--cat-creator:#654abb;--cat-dev:#11a1b4;--cat-apps:#8f2e8a;--cat-biz:#018e7d;--cat-web3:#a571db}
@media (prefers-color-scheme:dark){:root{--cat-domains:#498beb;--cat-social:#fb90c1;--cat-creator:#927eec;--cat-dev:#58d1e5;--cat-apps:#c360bc;--cat-biz:#4bc1ad;--cat-web3:#d0aafc}}
/* pastel section colours in the Platforms menu, like the radar and the Industries menu (Lee, 25 Oct 2026: "bring them back") */
.zc-rb[aria-selected=true],.zc-rb:hover{background:color-mix(in oklab,var(--zc-c,transparent) 11%,var(--panel))!important}
.zc-pl .zc-ib{background:color-mix(in oklab,var(--zc-c,var(--zc-ink3)) 13%,var(--panel))!important;color:color-mix(in oklab,var(--zc-c,var(--ink)) 72%,var(--ink))}
a.zc-pl:hover{background:color-mix(in oklab,var(--zc-c,var(--zc-ink3)) 8%,var(--panel))!important}
.zc-mbody .zc-gh{color:color-mix(in oklab,var(--zc-c,var(--zc-ink3)) 60%,var(--zc-ink3))}
.zc-mob details .zc-pi{color:color-mix(in oklab,var(--zc-c,var(--ink)) 72%,var(--ink))}
.zc-mob details summary::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--zc-c,var(--zc-ink3));margin-right:10px;flex:none}
html{scrollbar-gutter:stable}  /* every page reserves the scrollbar's space, so nothing shifts between pages */
.zc-hdr{position:sticky;top:0;z-index:35;background:var(--bg);transition:box-shadow .2s}
.zc-hdr.scrolled{box-shadow:0 1px 0 var(--line),0 6px 18px rgba(16,20,24,.06)}
.zc-in{position:relative;display:flex;align-items:center;gap:6px;height:var(--zc-h);max-width:1320px;margin:0 auto;padding:0 24px;box-sizing:border-box}
.zc-logo,.zc-flogo{display:inline-flex;align-items:center;gap:8px;font:700 19px/1 var(--sans);letter-spacing:-.03em;white-space:nowrap;color:var(--ink);text-decoration:none}
.zc-logo svg,.zc-flogo svg{width:28px;height:28px;color:var(--ink)}
.zc-lt{display:grid;gap:3px}
.zc-tag{font:500 12.5px/1 var(--sans);letter-spacing:0;color:var(--zc-ink3);white-space:nowrap}
.zc-lt[data-fit]{display:inline-grid;width:max-content}
.zc-lt[data-fit] .zc-nm{white-space:nowrap;justify-self:start}  /* its box = its words, so the script measures the name, not the column the strapline widens */
.zc-lt[data-fit] .zc-tag{font-size:11px;justify-self:start}  /* the script below sets its spacing so it ends exactly under the last 0 */
.zc-logo b,.zc-flogo b{font-weight:700;background:var(--zc-acc);color:var(--zc-onacc);border-radius:3px;padding:0 2px}
.zc-nav{display:flex;align-items:center;gap:2px;margin-left:24px}
.zc-nb{height:38px;padding:0 13px;border-radius:999px;display:inline-flex;align-items:center;gap:7px;color:var(--zc-ink2);font:500 15px var(--sans);white-space:nowrap;text-decoration:none;background:none;border:0;cursor:pointer}
.zc-nb:hover,.zc-nb[aria-expanded=true]{color:var(--ink);background:var(--panel)}
.zc-car{width:8px;height:8px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s}
.zc-nb[aria-expanded=true] .zc-car{transform:rotate(225deg) translate(-1px,-1px)}
.zc-right{margin-left:auto;display:flex;align-items:center;gap:8px}
.zc-tok{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px 0 8px;border-radius:999px;background:var(--ink);color:var(--bg);font:600 13.5px var(--mono);text-decoration:none}
.zc-tok[hidden]{display:none}
.zc-tok i{width:14px;height:14px;border-radius:50%;background:var(--zc-acc);box-shadow:inset 0 0 0 2.5px #C9A800}
.zc-acct{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:999px;font:500 15px var(--sans);color:var(--ink);background:none;border:0;cursor:pointer;white-space:nowrap}
.zc-acct:hover,.zc-acct[aria-expanded=true]{background:var(--panel)}
.zc-acct .av{width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--bg);display:grid;place-items:center;font:600 12.5px/1 var(--sans);margin-left:-4px}
.zc-burger{display:none;width:42px;height:42px;border-radius:12px;place-items:center;background:var(--panel);border:0;cursor:pointer}
.zc-burger span{width:18px;height:2px;background:var(--ink);border-radius:2px;box-shadow:0 -6px 0 var(--ink),0 6px 0 var(--ink)}
.zc-mega{position:absolute;left:24px;top:calc(var(--zc-h) - 6px);background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 50px rgba(16,20,24,.16);overflow:hidden;z-index:2;animation:zcdrop .16s ease-out;max-height:calc(100dvh - var(--zc-h) - 16px)}
.zc-mega[hidden],.zc-mbody[hidden],.zc-menu[hidden],.zc-mob[hidden]{display:none}
@keyframes zcdrop{from{opacity:0;transform:translateY(-6px)}}
.zc-megap{display:grid;grid-template-columns:220px minmax(0,1fr);width:min(1000px,calc(100% - 48px))}
.zc-megai{width:min(1000px,calc(100% - 48px));display:grid;grid-template-rows:minmax(0,1fr) auto}
.zc-rail{background:var(--zc-panel2);padding:12px;display:grid;gap:2px;align-content:start}
.zc-rb{display:flex;align-items:center;justify-content:space-between;gap:8px;height:42px;padding:0 12px;border-radius:10px;font:500 15px var(--sans);color:var(--zc-ink2);text-align:left;background:none;border:0;cursor:pointer}
.zc-rb .lab{display:flex;align-items:center;gap:8px}
.zc-rb .zc-dot{width:9px;height:9px;border-radius:50%;background:var(--zc-c,var(--zc-ink3))}
.zc-rb small{font:600 11px var(--mono);color:var(--zc-ink3)}
.zc-rb[aria-selected=true],.zc-rb:hover{background:var(--panel);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.zc-mright{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0}
.zc-mbody{padding:18px 20px 8px;overflow:auto}
.zc-gcols{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px 18px}
.zc-gh{font:600 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--zc-ink3);margin:2px 0 8px}
.zc-pl{display:grid;grid-template-columns:30px 1fr;gap:1px 10px;align-items:center;padding:7px 8px;border-radius:10px;text-decoration:none;color:var(--ink)}
a.zc-pl:hover{background:var(--zc-panel2)}
.zc-pi{display:inline-block;width:20px;height:20px;flex:none;background:currentColor;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.zc-pi.tx{width:auto;min-width:20px;background:none;-webkit-mask:none;mask:none;font:700 11px/20px var(--mono);letter-spacing:-.03em;text-align:center}
.zc-pl .zc-ib{grid-row:1/span 2;width:30px;height:30px;border-radius:8px;background:var(--zc-panel2);display:grid;place-items:center}
.zc-pl b{font-size:14.5px;font-weight:600}
.zc-pl>span:last-child{font-size:12.5px;color:var(--zc-ink3)}
.zc-pl.dim{opacity:.5}
.zc-sec{display:inline-block;margin:10px 8px 0;font-weight:600;font-size:14px;color:var(--ink);text-decoration:none}
.zc-sec:hover{text-decoration:underline}
.zc-mfoot{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);margin:0 20px;padding:12px 0 14px;font-size:13.5px;color:var(--zc-ink2)}
.zc-mfoot a{font-weight:600;color:var(--ink);text-decoration:none}
.zc-menu{position:absolute;right:24px;top:calc(var(--zc-h) - 8px);width:280px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 40px rgba(16,20,24,.16);padding:6px;z-index:3;animation:zcdrop .14s ease-out}
.zc-menu .hd{display:flex;align-items:center;gap:10px;padding:10px 10px 12px}
.zc-menu .hd .av{width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--bg);display:grid;place-items:center;font:600 15px/1 var(--sans);flex:none}
.zc-menu .hd b{display:block;font-size:15px;color:var(--ink)}
.zc-menu .hd small{display:block;font-size:12.5px;color:var(--zc-ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}
.zc-menu .in{display:grid;gap:4px;padding:10px 10px 12px}
.zc-menu .in small{font-size:12.5px;color:var(--zc-ink3)}
.zc-menu .sep{height:1px;background:var(--line);margin:4px 6px}
.zc-menu a,.zc-menu button{display:flex;align-items:center;justify-content:space-between;width:100%;height:38px;padding:0 10px;border-radius:9px;font:400 14.5px var(--sans);color:var(--ink);text-align:left;text-decoration:none;background:none;border:0;cursor:pointer;box-sizing:border-box}
.zc-menu a:hover,.zc-menu button:hover,.zc-menu a:focus-visible,.zc-menu button:focus-visible{background:var(--zc-panel2);outline:none}
.zc-menu .go{background:var(--ink);color:var(--bg);justify-content:center;font-weight:600}
.zc-menu .go:hover{background:var(--ink);filter:brightness(1.15)}
.zc-menu .cnt{font:600 12px var(--mono);color:var(--zc-ink3)}
.zc-menu .quiet{color:var(--zc-ink2)}
.zc-mob{position:fixed;inset:var(--zc-h) 0 0 0;background:var(--bg);overflow:auto;padding:8px 16px 40px;z-index:34}
.zc-mob .zc-mi,.zc-mob summary{display:flex;align-items:center;min-height:52px;font:600 17px var(--sans);border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);cursor:pointer}
.zc-mob .zc-mh{font:600 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--zc-ink3);margin:22px 0 4px}
.zc-mob details a,.zc-mob details span{display:flex;align-items:center;gap:10px;min-height:46px;padding-left:8px;font-size:16px;text-decoration:none;color:var(--ink)}
.zc-mob details .dim{opacity:.5}
.zc-mob details small{margin-left:auto;font-size:12px;color:var(--zc-ink3)}
.zc-mob .zc-pi,.zc-mob .zc-ii{width:20px;height:20px}
.zc-mobacct{display:grid;gap:2px;padding:8px 0 4px}
.zc-mobacct .in{display:grid;gap:8px;padding:6px 0 10px;border-bottom:1px solid var(--line)}
.zc-mobacct .in small{font-size:13.5px;color:var(--zc-ink2)}
.zc-mobacct .go{justify-content:center!important;min-height:48px;border-radius:12px;background:var(--ink)!important;color:var(--bg)!important;font-weight:600!important;border:0!important}
.zc-mobacct .sep{display:none}
.zc-mobacct a,.zc-mobacct button{display:flex;align-items:center;justify-content:space-between;min-height:48px;font:500 16px var(--sans);color:var(--ink);text-decoration:none;background:none;border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;padding:0}
.zc-ftr{background:var(--panel);border-top:1px solid var(--line);margin-top:56px}
.zc-fin{max-width:1320px;margin:0 auto;padding:36px 24px 12px;display:grid;grid-template-columns:1.5fr repeat(4,minmax(0,1fr));gap:28px;align-items:start;box-sizing:border-box}
.zc-fbrand{display:grid;gap:12px;align-content:start;justify-items:start}
.zc-fbrand p{margin:0;font-size:14.5px;line-height:1.55;color:var(--zc-ink2);max-width:320px}
.zc-fcol{display:grid;gap:2px;align-content:start}
.zc-fh{margin:0 0 8px;font:600 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--zc-ink3)}
.zc-fcol a{font-size:15px;color:var(--zc-ink2);padding:5px 0;text-decoration:none}
.zc-fcol a:hover{color:var(--ink)}
.zc-fbase{max-width:1320px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;font-size:13px;color:var(--zc-ink3);border-top:1px solid var(--line);padding:14px 24px 24px;box-sizing:border-box}
@media (max-width:1100px){.zc-fin{grid-template-columns:repeat(3,minmax(0,1fr))}.zc-fbrand{grid-column:1/-1}}
@media (max-width:860px){:root{--zc-h:60px}.zc-nav,.zc-acct{display:none}.zc-burger{display:grid}.zc-in{padding:0 16px}.zc-menu{display:none}
  .zc-fin{grid-template-columns:1fr 1fr;padding:28px 16px 8px}.zc-fbase{padding:14px 16px 24px}}

/* ---------- requests and the exit question (Lee, 25 Oct 2026): one card in a <dialog>, on every page ---------- */
.zc-dlg{padding:0;border:0;background:none;width:min(520px,calc(100vw - 32px));max-width:none;color:var(--ink);overflow:visible}
.zc-dlg::backdrop{background:rgba(16,20,24,.45)}
.zc-card{position:relative;display:grid;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 60px rgba(16,20,24,.25);padding:24px;box-sizing:border-box;max-height:calc(100dvh - 32px);overflow:auto}
.zc-x{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;border:0;background:none;font:400 24px/1 var(--sans);color:var(--zc-ink2);cursor:pointer}
.zc-x:hover{background:var(--zc-panel2)}
.zc-dt{margin:0;padding-right:36px;font:600 20px/1.3 var(--sans);letter-spacing:-.01em;color:var(--ink)}
.zc-dd{margin:0;font-size:14.5px;line-height:1.5;color:var(--zc-ink2)}
.zc-dd a,.zc-fine a{color:inherit}
.zc-form{display:grid;gap:10px}
.zc-kinds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.zc-kinds.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.zc-kinds button{min-height:40px;padding:0 6px;border-radius:10px;border:1px solid var(--line);background:var(--bg);font:500 14px var(--sans);color:var(--zc-ink2);cursor:pointer}
.zc-kinds button:hover{color:var(--ink);border-color:var(--zc-ink3)}
.zc-kinds button[aria-checked=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.zc-lab{margin:4px 0 0;font:600 14px var(--sans);color:var(--ink)}
.zc-lab span{font-weight:400;color:var(--zc-ink3)}
.zc-card textarea,.zc-card input[type=email]{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;background:var(--bg);padding:10px 12px;font:400 16px/1.45 var(--sans);color:var(--ink);resize:vertical}
.zc-card textarea:focus,.zc-card input[type=email]:focus{outline:2px solid var(--ink);outline-offset:1px}
.zc-sug{display:grid;gap:4px}
.zc-sug[hidden]{display:none}
.zc-sug p{margin:0;font-size:12.5px;color:var(--zc-ink3)}
.zc-sug button{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);font:500 14.5px var(--sans);color:var(--ink);text-align:left;cursor:pointer}
.zc-sug button:hover,.zc-sug button[aria-pressed=true]{border-color:var(--ink)}
.zc-sug small{font-size:12.5px;color:var(--zc-ink3);white-space:nowrap}
.zc-chk{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.4;color:var(--ink);cursor:pointer}
.zc-chk input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--ink);flex:none}
.zc-err{margin:0;font-size:14px;color:#B42318}
.zc-err[hidden]{display:none}
.zc-row{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.zc-go{min-height:44px;padding:0 20px;border-radius:12px;border:0;background:var(--zc-acc);color:var(--zc-onacc);font:600 15px var(--sans);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}
.zc-go.dark{background:var(--ink);color:var(--bg)}
.zc-go.ghost{background:none;box-shadow:inset 0 0 0 1.5px var(--line);color:var(--ink)}
.zc-go[disabled]{opacity:.6;cursor:default}
.zc-fine{margin:0;font-size:12.5px;color:var(--zc-ink3)}
.zc-nps{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:4px}
.zc-nps button{min-height:44px;padding:0;border-radius:9px;border:1px solid var(--line);background:var(--bg);font:600 15px var(--mono);color:var(--ink);cursor:pointer}
.zc-nps button:hover{border-color:var(--ink)}
.zc-nps button[aria-checked=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.zc-npsl{display:flex;justify-content:space-between;margin-top:-4px;font-size:12.5px;color:var(--zc-ink3)}
.zc-more{display:grid;gap:10px}
.zc-more[hidden]{display:none}
@media (max-width:480px){.zc-card{padding:20px 16px}.zc-kinds{grid-template-columns:1fr 1fr}.zc-nps{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* the home page inside the shared frame (sitebuild/sitechrome.py): the app's own top bar gives way to the shared header */
html,body{height:auto;overflow:visible;overflow-x:clip}  /* clip, not hidden: hidden would stop the header sticking */
html{scrollbar-gutter:stable}
.app>.top{display:none}
.app{height:calc(100dvh - var(--zc-h));grid-template-rows:minmax(0,1fr)}  /* its own top bar is hidden, so the page gets the one row (phones had a 0 px radar, CRO review 25 Oct 2026) */
@media (min-width:761px) and (max-width:1099px) and (orientation:portrait){.app[data-view=home] .main{align-items:stretch}.app[data-view=home] .stage{align-self:stretch}}  /* upright tablets stack like phones: the radar, search box and chips take the full width (they shrank to their content) */
@media (max-height:500px){.app{height:auto;min-height:calc(100dvh - var(--zc-h))}}  /* short screens (phones held sideways, 200% zoom) scroll as one page again, as design-a.html intends */
.main>.legal{display:none}
