/* City Pad: a night isometric pixel city (SimCity 2000 school). Navy + amber windows, one accent. No glow, no gradients,
   hard pixel offsets only. Sixtyfour / Workbench ALWAYS with SCAN 100, BLED 0 (else they render as scanlines). */
:root{
  --night:#0E1230;--navy:#1C2350;--face:#34418C;--ink:#14142B;--lot:#3A3F5C;--kerb:#5B6078;--steel:#8A8FA8;--menu:#C9C3B0;
  --amber:#FFB547;--lit:#FFE29A;--lip:#C9822B;--cream:#F3E7C4;--bonus:#3ED8B0;--burn:#FF7A2F;--grass:#2B4A3A;--mute:#AEB3CF;
  --fd:"Sixtyfour",ui-monospace,monospace;--fw:"Workbench",ui-monospace,monospace;--fb:"Bytesized",ui-monospace,monospace;--fm:"Spline Sans Mono",ui-monospace,monospace;
  --vs:"SCAN" 100,"BLED" 0;--mb:44px;
  --c-arrow:url(/assets/art/cur-arrow.png) 2 2,auto;--c-hand:url(/assets/art/cur-hand.png) 12 2,pointer;
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--night);scroll-behavior:auto;-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;background:var(--night);color:var(--cream);font:500 15px/1.5 var(--fm);font-variant-numeric:tabular-nums;cursor:var(--c-arrow);overflow-x:hidden}
img{image-rendering:pixelated;max-width:100%}
a{color:var(--amber)}
a,button,[role=button],[onclick],summary,label,.ca,select,input[type=file],[data-qa-click]{cursor:pointer}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.num{font-family:var(--fm);font-variant-numeric:tabular-nums}
.amb{color:var(--amber)}.bon{color:var(--bonus)}
.sm{font-size:13px;color:var(--mute)}
.lab{font:400 16px/1 var(--fb);letter-spacing:.02em;color:var(--steel);text-transform:uppercase}
.xg{display:block}

/* ------------------------------------------------ menu bar (Mac / SimCity 2000) */
.mbar{position:fixed;z-index:60;left:0;right:0;top:0;height:var(--mb);display:flex;align-items:center;gap:6px;padding:0 10px;background:var(--menu);border-bottom:4px solid var(--ink);color:var(--ink)}
.mb-home{display:grid;place-items:center;width:34px;height:34px;flex:none}
.mb-home img{width:24px;height:24px}
.menus{display:flex;align-items:stretch;height:100%}
.menu{position:relative;display:flex}
.mt{border:0;background:none;padding:0 12px;font:400 20px/1 var(--fw);font-variation-settings:var(--vs);color:var(--ink);min-height:40px}
.mt:hover,.menu.open .mt{background:var(--ink);color:var(--menu)}
.dd{position:absolute;left:0;top:100%;min-width:250px;background:var(--menu);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);padding:4px 0;display:grid}
.dd[hidden]{display:none}
.dd a,.dd button{display:block;text-align:left;border:0;background:none;padding:8px 14px;font:400 18px/1.1 var(--fw);font-variation-settings:var(--vs);color:var(--ink);text-decoration:none;white-space:nowrap}
.dd a:hover,.dd button:hover,.dd a:focus-visible,.dd button:focus-visible{background:var(--ink);color:var(--amber);outline:0}
.dd-list{border-top:2px solid var(--ink);margin-top:4px;padding-top:4px;display:grid;max-height:40vh;overflow:auto}
.mb-icons{display:none}
.mb-r{margin-left:auto;display:flex;align-items:center;gap:6px}
.chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;min-width:40px;padding:0 10px;border:0;background:var(--ink);color:var(--amber);font:600 14px/1 var(--fm);text-decoration:none;white-space:nowrap}
.chip:hover{background:var(--navy)}
.chip:active{transform:translateY(2px)}
.cachip .lab{color:var(--menu)}
.cachip .cl:empty{display:none}
.cachip.copied .num{color:var(--bonus)}
.cachip.copied::after{content:"copied";font:400 13px/1 var(--fb);color:var(--bonus)}
.cachip.ca-off .num{color:var(--steel)}
.wchip.on{color:var(--bonus)}

/* ------------------------------------------------ the map */
.city{position:fixed;z-index:0;left:0;top:var(--mb);width:100vw;height:calc(100vh - var(--mb));height:calc(100dvh - var(--mb));display:block;image-rendering:pixelated;touch-action:pan-y;background:var(--night)}
.city.over{cursor:var(--c-hand)}
.city.dragging{cursor:grabbing}
.city.dim{pointer-events:none;filter:brightness(.55) saturate(.8)}
.htag{position:fixed;z-index:30;left:0;top:0;pointer-events:none;padding:5px 8px;background:var(--ink);color:var(--amber);font:400 16px/1 var(--fb);white-space:nowrap;box-shadow:3px 3px 0 #000}
.htag span{color:var(--steel);margin-left:6px}.htag i{font-style:normal;color:var(--burn);margin-left:6px}
.lens{position:fixed;z-index:29;left:0;top:0;width:168px;height:168px;border-radius:50%;overflow:hidden;border:5px solid var(--ink);box-shadow:0 0 0 4px var(--steel),6px 6px 0 4px var(--ink);pointer-events:none;background:var(--night)}
.lens canvas{display:block;width:168px;height:168px;image-rendering:pixelated}

/* ------------------------------------------------ pixel buttons (9-slice of the brand sprites) */
.pbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:68px;min-width:150px;padding:10px 26px 20px;border:solid transparent;border-width:10px 12px 20px;border-image:url(/assets/art/ui-btn.png) 5 6 10 6 fill / 10px 12px 20px 12px stretch;background:none;color:var(--ink);font:400 20px/1 var(--fd);font-variation-settings:var(--vs);text-decoration:none;image-rendering:pixelated;white-space:nowrap;padding:0 14px}
.pbtn:hover{filter:brightness(1.06)}
.pbtn:active,.pbtn.busy{border-image:url(/assets/art/ui-btn-pressed.png) 5 6 6 6 fill / 10px 12px 12px 12px stretch;border-width:10px 12px 12px;transform:translateY(8px);min-height:60px}
.pbtn[disabled]{filter:grayscale(.8) brightness(.7)}
.pbtn .bl{pointer-events:none}
.pbtn-s{min-height:52px;min-width:0;font-size:15px;border-width:8px 10px 16px;border-image-width:10px 12px 16px 12px}
.pbtn-s:active,.pbtn-s.busy{min-height:46px;transform:translateY(6px);border-width:8px 10px 10px}
.pbtn-x{min-width:68px;padding:0 8px}
.pbtn-x .xg{width:20px;height:20px}
.pbtn-wide{width:100%}

/* ------------------------------------------------ windows (ui-window 9-slice: steel frame, amber title bar) */
.win{position:relative;color:var(--cream);border:solid transparent;border-width:36px 16px 18px;border-image:url(/assets/art/ui-window.png) 18 18 9 18 fill / 36px 36px 18px 36px stretch;image-rendering:pixelated;filter:drop-shadow(6px 6px 0 rgba(20,20,43,.85))}
.wt{position:absolute;left:-16px;right:-16px;top:-36px;height:36px;display:flex;align-items:center;padding:4px 10px 0 44px;touch-action:none}
.wt[data-drag]{cursor:move}
.wt h1,.wt h2{margin:0;padding-top:3px;font:400 15px/1.2 var(--fd);font-variation-settings:var(--vs);color:var(--ink);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wbox{display:none}
.wx{margin-left:auto;width:38px;height:32px;margin-top:0;border:3px solid var(--ink);background:var(--amber);color:var(--ink);font:700 20px/1 var(--fm);display:grid;place-items:center;padding:0}
.wx:hover{background:var(--lit)}
.wb{padding:14px 12px 10px}
.one{margin:0 0 12px;font:400 22px/1.2 var(--fw);font-variation-settings:var(--vs);color:var(--cream)}
.one.sm{font-size:18px;color:var(--mute)}

/* ------------------------------------------------ home: hero = the map */
.scroll{position:relative;z-index:2;pointer-events:none}
.scroll .sc>*,.sc-end{pointer-events:auto}
.scroll .plaque,.scroll .sc-tax,.scroll .sc-nb,.scroll .sc-tiers{pointer-events:none}
.scroll .sc-film .win{pointer-events:auto}
.plaque .acts,.plaque .acts *{pointer-events:auto}
.plaque .line{width:max-content;max-width:100%}
.sc{position:relative;min-height:100vh;min-height:100svh}
.sc-hero{height:100vh;height:100svh;min-height:560px}
.plaque{position:absolute;left:clamp(16px,3.4vw,56px);top:calc(var(--mb) + clamp(20px,5vh,56px));max-width:min(860px,calc(100vw - 32px))}
.name{margin:0 0 0 12px;font:400 clamp(40px,6.6vw,112px)/1 var(--fd);font-variation-settings:var(--vs);color:var(--amber);letter-spacing:-.01em;text-shadow:-3px 3px 0 var(--lip),-6px 6px 0 var(--lip),-9px 9px 0 #7A4A1E,-12px 12px 0 var(--ink);white-space:nowrap}
.line{margin:20px 0 22px;display:inline-block;padding:8px 14px;background:var(--ink);font:400 clamp(22px,2.2vw,32px)/1.1 var(--fw);font-variation-settings:var(--vs);color:var(--cream)}
.acts{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;width:max-content;max-width:100%}
.status{position:absolute;left:clamp(16px,3.4vw,56px);bottom:22px;display:flex;flex-wrap:wrap;gap:0;background:var(--ink);border:3px solid var(--ink);box-shadow:5px 5px 0 rgba(0,0,0,.5)}
.st{display:flex;align-items:baseline;gap:8px;padding:8px 14px;border-right:2px solid var(--navy)}
.st:last-child{border-right:0}
.st b{font:600 22px/1 var(--fm);color:var(--amber)}
.st span{font:400 17px/1 var(--fb);color:var(--menu);text-transform:uppercase}
.tools{position:absolute;right:clamp(12px,2vw,28px);bottom:22px;display:flex;gap:6px}
.tool{width:62px;height:60px;display:grid;place-items:center;padding:0;border:solid transparent;border-width:12px;border-image:url(/assets/art/ui-tool.png) 6 fill / 12px stretch;background:none}
.tool img{margin:-12px;max-width:none}
.tool[aria-pressed=true]{border-image-source:url(/assets/art/ui-tool-pressed.png)}
.tool:active{transform:translateY(3px)}
.tool.off img{filter:grayscale(1) brightness(.75)}
.zoom{position:absolute;right:clamp(12px,2vw,28px);top:calc(var(--mb) + 18px);display:flex;background:var(--ink);border:3px solid var(--ink)}
.zb{min-width:48px;min-height:40px;border:0;background:var(--navy);color:var(--steel);font:600 15px/1 var(--fm)}
.zb[aria-pressed=true]{background:var(--amber);color:var(--ink)}
.zb+.zb{border-left:3px solid var(--ink)}

/* Build tool (floating, draggable; bottom sheet on phones) */
.w-build{position:absolute;z-index:20;right:clamp(16px,2.6vw,40px);top:calc(var(--mb) + 76px);width:min(400px,calc(100vw - 32px))}
.w-build:not(.docked) .wb{max-height:calc(100vh - var(--mb) - 76px - 54px - 104px);overflow:auto;overscroll-behavior:contain}
.w-build[hidden],.w-query[hidden]{display:none}
.w-build.moving,.w-query.moving{opacity:.92}
.bw-top{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;margin-bottom:12px}
.mini{display:grid;grid-template-columns:repeat(3,30px);grid-auto-rows:30px;gap:3px;padding:4px;background:var(--ink);align-self:start}
.mini i{display:grid;place-items:center;background:var(--lot);font:400 11px/1 var(--fb);font-style:normal;color:var(--cream)}
.mini i.free{background:var(--kerb)}
.mini i.t0{background:var(--lip)}.mini i.t1{background:var(--face)}.mini i.t2{background:var(--steel);color:var(--ink)}.mini i.t3{background:var(--cream);color:var(--ink)}
.mini i.cnt{box-shadow:inset 0 0 0 3px var(--bonus)}
.mini i.tgt{background:var(--amber);box-shadow:inset 0 0 0 3px var(--ink)}
.bw-facts{margin:0;display:grid;gap:4px}
.bw-facts div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed var(--face);padding-bottom:3px}
.bw-facts dt{font:400 16px/1.2 var(--fb);color:var(--steel);text-transform:uppercase}
.bw-facts dd{margin:0;font-weight:600}
.bw-form{display:grid;gap:9px}
.frow{display:grid;grid-template-columns:1fr 120px;gap:8px}
.fld{display:grid;gap:4px;min-width:0}
.fld>span{font:400 16px/1 var(--fb);color:var(--steel);text-transform:uppercase}
.fld input:not([type=file]),.seg input{width:100%;min-height:40px;padding:6px 10px;border:3px solid var(--ink);border-top-color:#090A1F;border-left-color:#090A1F;box-shadow:inset 2px 2px 0 #0B0E28,0 0 0 2px var(--steel);background:var(--night);color:var(--cream);font:500 15px/1 var(--fm);border-radius:0;outline:0}
.fld input:focus{box-shadow:inset 2px 2px 0 #0B0E28,0 0 0 2px var(--amber)}
.fld input::placeholder{color:#5D6390}
.fld-file{position:relative}
.fld-file input{position:absolute;inset:18px 0 0;opacity:0;width:100%}
.fpick{display:flex;align-items:center;min-height:40px;padding:0 10px;background:var(--navy);border:3px dashed var(--steel);font:500 14px/1 var(--fm);color:var(--cream);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.fld-file:hover .fpick{border-color:var(--amber)}
.fld-file:focus-within .fpick{border-color:var(--amber)}
.more summary{font:400 16px/1.4 var(--fb);color:var(--steel);text-transform:uppercase;min-height:28px}
.more[open]{display:grid;gap:8px}
.seg{display:grid;grid-template-columns:repeat(4,1fr) 80px;gap:4px}
.seg button{min-height:40px;border:3px solid var(--ink);background:var(--face);color:var(--cream);font:600 14px/1 var(--fm)}
.seg button[aria-pressed=true]{background:var(--amber);color:var(--ink)}
.bw-note{margin:2px 0 4px;font-size:13px;color:var(--mute)}
.w-build.docked{position:relative;right:auto;top:auto;margin:0 auto;width:min(460px,100%)}

/* Query window */
.w-query{position:fixed;z-index:40;right:clamp(16px,2.6vw,40px);top:calc(var(--mb) + 64px);width:min(430px,calc(100vw - 32px))}
.w-query .wb{max-height:calc(100vh - var(--mb) - 64px - 54px - 104px);overflow:auto;overscroll-behavior:contain;scrollbar-color:var(--steel) var(--navy)}
.qhead{display:flex;align-items:flex-end;gap:12px;margin-bottom:8px}
.qspr{flex:none}
.qid{display:flex;align-items:center;gap:10px;min-width:0;padding-bottom:6px}
.qpic{width:56px;height:56px;object-fit:cover;border:3px solid var(--ink);image-rendering:auto;background:var(--navy)}
.qsym{display:block;font:700 24px/1.1 var(--fm);color:var(--amber);overflow-wrap:anywhere}
.qname{display:block;font-size:14px;color:var(--mute);overflow-wrap:anywhere}
.qtier{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 10px}
.tg{display:inline-block;padding:4px 6px;background:var(--ink);color:var(--amber);font:400 16px/1 var(--fb)}
.tg-b{color:var(--bonus)}.tg-s{color:var(--burn)}
.curve{position:relative;height:16px;background:var(--night);border:3px solid var(--ink);box-shadow:0 0 0 2px var(--steel)}
.cv-fill{position:absolute;left:0;top:0;bottom:0;background:var(--amber);border-right:3px solid var(--lip)}
.curve i{position:absolute;top:-3px;bottom:-3px;width:3px;background:var(--cream)}
.cv-lab{display:flex;justify-content:space-between;gap:8px;margin:6px 0 10px;font-size:14px}
.qdl{margin:0 0 10px;display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}
.qdl div{display:grid;gap:2px;border-bottom:1px dashed var(--face);padding-bottom:4px}
.qdl dt{font:400 16px/1.1 var(--fb);color:var(--steel);text-transform:uppercase}
.qdl dd{margin:0;font-weight:600}
.qdl.wide{grid-template-columns:repeat(4,1fr)}
.qdev{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;margin:0 0 10px;background:var(--navy);border:2px solid var(--bonus);font-size:14px}
.trade{margin:6px 0 12px;padding:10px;background:var(--navy);border:3px solid var(--ink)}
.qtabs{display:flex;gap:4px;margin-bottom:8px}
.qtabs button{flex:1;min-height:38px;border:3px solid var(--ink);background:var(--night);color:var(--steel);font:400 16px/1 var(--fw);font-variation-settings:var(--vs)}
.qtabs button[aria-selected=true]{background:var(--amber);color:var(--ink)}
.qrow{display:flex;align-items:center;gap:6px;margin-top:6px}
.qrow input{flex:1;min-width:0;min-height:40px;padding:0 10px;border:3px solid var(--ink);background:var(--night);color:var(--cream);font:600 15px/1 var(--fm);box-shadow:0 0 0 2px var(--steel);border-radius:0}
.qrow .sm{flex:1}
.qp{min-height:40px;min-width:44px;border:3px solid var(--ink);background:var(--face);color:var(--cream);font:600 13px/1 var(--fm)}
.qp:hover{background:var(--amber);color:var(--ink)}
.carow{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 10px}
.carow .lab{color:var(--steel)}
.carow .cachip,.carow .lk{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;background:var(--ink);border:0;color:var(--amber);font:600 13px/1 var(--fm);text-decoration:none}
.carow .cachip .cl{font:400 13px/1 var(--fb);color:var(--menu)}
.carow .cachip.copied .cl{color:var(--bonus)}
.carow .lk:hover,.carow .cachip:hover{background:var(--navy)}
.qfoot{display:flex;gap:6px}
.qlist{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.qlist li,.mrow2{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:4px;background:var(--navy);border:2px solid var(--ink)}
.ql{flex:1;display:flex;align-items:center;gap:10px;min-height:44px;border:0;background:none;text-align:left;padding:2px 6px;color:var(--cream)}
.ql img{flex:none}
.ql b{font:700 16px/1 var(--fm);color:var(--amber)}
.ql .num{margin-left:auto;color:var(--steel);font-size:13px}
.ql:hover{background:var(--face)}
.ql-ca{display:flex;gap:4px}
.ql-ca a,.mini-copy{display:grid;place-items:center;min-width:44px;min-height:40px;padding:0 6px;background:var(--ink);border:0;color:var(--amber);font:400 14px/1 var(--fb);text-decoration:none}
.mini-copy.copied{color:var(--bonus)}
.civic{display:flex;justify-content:center;gap:0;margin:-6px 0 6px}
.civic img{width:144px;height:auto}

/* ------------------------------------------------ scroll scenes (the map keeps going behind them) */
.sc-tax,.sc-nb,.sc-tiers{display:flex;align-items:center;padding:12vh clamp(16px,4vw,64px)}
.sc-nb{justify-content:flex-start}
.sc-tax,.sc-tiers{justify-content:flex-start}
.sc-nb{justify-content:flex-end}
.w-scene{width:min(470px,100%)}
.split{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:6px}
.split li{display:grid;grid-template-columns:76px 1fr;gap:10px;align-items:center;padding:6px 8px;background:var(--navy);border-left:6px solid var(--steel)}
.split li b{font:700 22px/1 var(--fm);color:var(--cream)}
.split li span{font-size:14px;line-height:1.3}
.split .sp-tax{border-left-color:var(--amber)}.split .sp-tax b{color:var(--amber)}
.split .sp-burn{border-left-color:var(--burn)}.split .sp-burn b{color:var(--burn)}
.ledger{display:grid;gap:4px;padding:8px 10px;background:var(--ink)}
.ledger div{display:flex;align-items:baseline;gap:8px}
.ledger .lab{flex:1}
.ledger b{font-size:18px}
.meter{margin:4px 0 12px}
.mrow{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;text-align:center}
.mk{font:600 15px/1 var(--fm);color:var(--steel);padding:4px 0}
.mk.on{color:var(--ink);background:var(--bonus)}
.mlab span{font:400 16px/1 var(--fb);color:var(--steel);padding-top:4px}
.mbar2{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:4px;background:var(--ink)}
.mbar2 i{height:22px;background:var(--lot)}
.mbar2 i.on{background:var(--bonus)}
.rule{margin:0 0 8px;font-size:14px;line-height:1.45;color:var(--cream)}
.live{margin:0;font-size:14px;color:var(--bonus)}
.lot{position:relative;display:flex;justify-content:center;align-items:flex-end;height:252px;margin:0 0 10px;background:var(--night);border:3px solid var(--ink);box-shadow:inset 0 0 0 2px var(--face)}
.lot img{display:block;width:192px;height:242px;object-fit:contain;object-position:50% 100%}
.lot-tag{position:absolute;left:8px;top:8px;padding:3px 6px;background:var(--steel);color:var(--ink);font:400 14px/1 var(--fb)}
.ladder{list-style:none;margin:0 0 10px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.ladder li{display:grid;justify-items:center;align-content:end;gap:3px;padding:6px 2px;background:var(--navy);border:2px solid var(--ink);text-align:center}
.ladder li span{font:400 15px/1 var(--fb);color:var(--steel);text-transform:uppercase}
.ladder li b{font-size:13px}
.ladder li.on{border-color:var(--amber)}
.ladder li.on span{color:var(--amber)}

/* ending: the last map chunk + the menu strip */
.sc-end{position:relative;background:var(--night)}
.end-art{display:flex;justify-content:center;overflow:hidden;background:var(--night)}
.end-art img{display:block;width:min(1536px,100%);height:auto;aspect-ratio:2/1}
.end-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 12px;padding:18px 16px 26px;background:var(--menu);border-top:4px solid var(--ink);border-bottom:4px solid var(--ink);color:var(--ink)}
.es-t{font:400 24px/1 var(--fw);font-variation-settings:var(--vs);margin-right:6px}

/* status bar footer (sim game) */
.sbar{position:relative;z-index:3;display:flex;flex-wrap:wrap;align-items:center;gap:0;background:var(--ink);color:var(--menu);border-top:3px solid var(--steel);font-size:14px}
.sb-cell{padding:10px 14px;border-right:2px solid var(--navy);white-space:nowrap}
.sb-cell .lab{color:var(--steel);margin-right:4px}
.sb-links{margin-left:auto;display:flex;gap:14px;border-right:0}
.sb-links a{display:inline-flex;align-items:center;min-height:36px;color:var(--amber);text-decoration:none;font:400 18px/1 var(--fw);font-variation-settings:var(--vs)}
.sb-links a:hover{text-decoration:underline}

/* ------------------------------------------------ inner pages (window over the dimmed city) */
.inner .page{position:relative;z-index:2;min-height:calc(100vh - 44px);padding:calc(var(--mb) + 64px) 16px 64px;display:flex;flex-direction:column;align-items:center}
.inner .sbar{position:relative}
.w-page{width:min(920px,100%)}
.ptitle{margin:0 0 56px;font:400 clamp(40px,6vw,84px)/1 var(--fd);font-variation-settings:var(--vs);color:var(--amber);text-shadow:-3px 3px 0 var(--lip),-6px 6px 0 #7A4A1E,-9px 9px 0 var(--ink)}
.claimbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--ink);margin-bottom:8px}
.claimbar .big{font-size:30px}
.h2{margin:22px 0 10px;font:400 18px/1 var(--fd);font-variation-settings:var(--vs);color:var(--amber)}
.mlist{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.mrow2 .carow{margin:0}
.lnk{border:0;background:none;padding:0;color:var(--amber);text-decoration:underline;font:inherit}
.killer{margin:4px 0 18px;font:400 clamp(24px,3vw,36px)/1.25 var(--fw);font-variation-settings:var(--vs)}
.killer b{font-family:var(--fm);font-weight:700}
.tiers4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}
.t4{display:grid;justify-items:center;align-content:end;gap:4px;padding:10px 4px;background:var(--navy);border:3px solid var(--ink)}
.t4 b{font:700 28px/1 var(--fm);color:var(--amber)}
.t4 span{font:400 16px/1 var(--fb);color:var(--steel);text-transform:uppercase}
.w-docs .wb{font-size:15px;line-height:1.6}
.w-docs h2{margin:28px 0 10px;font:400 20px/1.1 var(--fd);font-variation-settings:var(--vs);color:var(--amber);scroll-margin-top:80px}
.w-docs p{margin:0 0 10px;max-width:72ch}
.w-docs code{font:600 14px var(--fm);color:var(--lit)}
.toc{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.toc a{display:inline-flex;align-items:center;min-height:36px;padding:6px 10px;background:var(--ink);color:var(--amber);text-decoration:none;font:400 17px/1 var(--fw);font-variation-settings:var(--vs)}
.toc a:hover{background:var(--face)}
.steps{margin:0 0 10px;padding-left:22px;display:grid;gap:8px;max-width:76ch}
.steps b{color:var(--amber)}
.tbl{width:100%;border-collapse:collapse;margin:6px 0 14px;font-size:14px}
.tbl th{text-align:left;font:400 16px/1 var(--fb);color:var(--steel);text-transform:uppercase;padding:8px;border-bottom:3px solid var(--ink)}
.tbl td{padding:8px;border-bottom:1px dashed var(--face);vertical-align:top}
.tbl td.num{white-space:nowrap;color:var(--amber);font-weight:600}
.trust{margin:0 0 12px;padding-left:20px;display:grid;gap:6px;max-width:76ch}
.pid{font-size:13px;overflow-wrap:anywhere;color:var(--mute)}
.page-launch{padding-top:calc(var(--mb) + 40px)}

/* ------------------------------------------------ 404 */
.nf{background:var(--night)}
.nf-main{position:relative;min-height:100vh;display:grid;place-items:center;padding:calc(var(--mb) + 24px) 16px 24px;overflow:hidden}
.nf-art{position:absolute;inset:var(--mb) 0 0;width:100%;height:calc(100% - var(--mb));object-fit:cover;object-position:center 60%;max-width:none}
.nf-win{position:relative;z-index:2;width:min(440px,100%)}
.nf-win h1{font-size:20px}

/* ------------------------------------------------ toasts, tooltips, wallet dialog */
.tstack{position:fixed;z-index:70;right:16px;top:calc(var(--mb) + 12px);display:grid;gap:8px;width:min(380px,calc(100vw - 32px))}
.toast{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:10px 12px;background:var(--navy);border:3px solid var(--ink);box-shadow:0 0 0 2px var(--steel),5px 5px 0 2px var(--ink);font-size:14px;color:var(--cream)}
.toast.ok{box-shadow:0 0 0 2px var(--bonus),5px 5px 0 2px var(--ink)}
.toast.err{box-shadow:0 0 0 2px var(--burn),5px 5px 0 2px var(--ink)}
.toast .tt{flex:1 1 200px}
.toast a{color:var(--amber)}
.toast .tx{border:0;background:none;font-size:22px;line-height:1;min-width:36px;min-height:36px;color:var(--steel)}
.tipt{position:fixed;z-index:80;max-width:280px;padding:6px 9px;background:var(--ink);color:var(--amber);font:400 15px/1.25 var(--fb);pointer-events:none;box-shadow:3px 3px 0 #000}
dialog.dlg{border:solid transparent;border-width:36px 16px 18px;border-image:url(/assets/art/ui-window.png) 18 18 9 18 fill / 36px 36px 18px 36px stretch;background:none;color:var(--cream);padding:14px 16px;max-width:min(420px,calc(100vw - 24px));width:420px;font-family:var(--fm);overflow:visible}
dialog.dlg::backdrop{background:rgba(14,18,48,.7)}
.dlg h2{position:absolute;left:28px;top:-27px;margin:0;font:400 15px/1 var(--fd);font-variation-settings:var(--vs);color:var(--ink)}
.dlg-x{position:absolute;right:-6px;top:-32px;width:32px;height:28px;border:3px solid var(--ink);background:var(--amber);color:var(--ink);font:700 20px/1 var(--fm);padding:0}
.wp-list{display:grid;gap:6px}
.wp-item{display:flex;align-items:center;gap:12px;min-height:48px;padding:6px 10px;border:3px solid var(--ink);background:var(--navy);color:var(--cream);text-align:left;font:600 15px var(--fm)}
.wp-item:hover{background:var(--face)}
.wp-dot{width:32px;height:32px;background:url(/assets/art/mark.png) center/24px 24px no-repeat}
.wp-get{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;font-size:14px}
.wp-off{margin-top:12px;min-height:40px;padding:0 12px;border:3px solid var(--ink);background:var(--night);color:var(--cream)}
.wp-err{color:var(--burn)}
.wp-cur .mono{font-family:var(--fm)}

/* ------------------------------------------------ phones: map full screen, Build = bottom sheet, menus -> icons */
@media (max-width:980px){
  .menus{display:none}
  .mb-icons{display:flex;gap:4px}
  .mi{display:grid;place-items:center;width:40px;height:36px;border:0;background:none;padding:0;color:var(--ink);text-decoration:none;font:400 16px/1 var(--fw);font-variation-settings:var(--vs)}
  .mi img{max-width:none}
  .mi:hover{background:rgba(20,20,43,.12)}
}
@media (max-width:980px){
  .w-build:not(.docked),.w-query{position:fixed;left:6px;right:6px;top:auto;bottom:6px;width:auto;max-height:78vh;z-index:45}
  .w-build:not(.docked) .wb,.w-query .wb{max-height:calc(78vh - 60px);overflow:auto;overscroll-behavior:contain}
  body.win-open .tools,body.win-open .status,body.win-open .zoom{visibility:hidden}
  body.win-open .acts{visibility:hidden}
}
@media (max-width:760px){
  :root{--mb:44px}
  .mbar{padding:0 6px;gap:2px}
  .mb-r{gap:4px}
  .chip{padding:0 7px;font-size:13px;min-height:36px}
  .sb-links a{padding:8px 0}
  .wchip{display:none}
  .plaque{top:calc(var(--mb) + 14px)}
  .name{text-shadow:-2px 2px 0 var(--lip),-4px 4px 0 var(--lip),-6px 6px 0 #7A4A1E,-8px 8px 0 var(--ink);margin-left:8px}
  .line{margin:14px 0 14px;font-size:20px}
  .pbtn{min-height:56px;min-width:0;font-size:15px;padding:0 6px}
  .pbtn:active,.pbtn.busy{min-height:50px}
  .acts{gap:8px;flex-wrap:nowrap}
  .pbtn-x{min-width:56px}
  .status{left:12px;right:12px;bottom:88px}
  .st{flex:1;flex-direction:column;align-items:flex-start;gap:4px;padding:6px 8px}
  .st b{font-size:18px}.st span{font-size:12px}
  .tools{left:12px;right:12px;bottom:14px;justify-content:space-between}
  .tool{width:58px;height:58px}
  .zoom{top:auto;bottom:154px;right:12px}
  .status{right:auto;max-width:calc(100vw - 24px)}
  .frow{grid-template-columns:1fr 100px}
  .seg{grid-template-columns:repeat(4,1fr) 64px}
  .sc-tax,.sc-nb,.sc-tiers{align-items:flex-end;padding:40vh 10px 6vh;justify-content:center}
  .w-scene{width:100%}
  .qdl.wide{grid-template-columns:1fr 1fr}
  .tiers4{grid-template-columns:repeat(2,1fr)}
  .sb-links{margin-left:0}
  .es-t{width:100%;text-align:center;margin:0}
  .qhead .qspr{width:96px;height:auto}
}
@media (max-width:360px){
  .mb-icons .mi-txt{display:none}
  .chip{padding:0 6px}
  .tool{width:52px;height:52px}
}
@media (min-width:1900px){
  .plaque,.status{left:calc(50vw - 900px)}
  .tools,.zoom{right:calc(50vw - 900px)}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* how it works: the call-in film, own player in the window skin */
.sc-film{display:flex;align-items:center;justify-content:center;padding:10vh clamp(16px,4vw,64px)}
.sc-film .w-film{width:min(1000px,100%)}
.player{position:relative;background:var(--ink);padding:8px}
.vp-scr{position:relative;background:var(--night);border:4px solid #000;aspect-ratio:16/9}
.vp-scr video{display:block;width:100%;height:100%;object-fit:contain;background:var(--night);cursor:pointer}
.vp-big{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);gap:12px}
.vp-big[hidden]{display:none}
.vp-tri{display:inline-block;width:0;height:0;border-left:14px solid currentColor;border-top:9px solid transparent;border-bottom:9px solid transparent}
.vp-pp.on .vp-tri{width:14px;height:16px;border:0;border-left:5px solid currentColor;border-right:5px solid currentColor}
.vp-bar{display:flex;align-items:center;gap:10px;margin-top:10px}
.vpb{min-width:52px;min-height:44px;padding:0 10px;border:0;background:var(--amber);color:var(--ink);font:400 14px/1 var(--fb);letter-spacing:.04em;box-shadow:0 4px 0 var(--lip);cursor:pointer}
.vpb:active{transform:translateY(3px);box-shadow:0 1px 0 var(--lip)}
.vp-tl{position:relative;flex:1;height:30px;background:var(--navy);border:4px solid #000;cursor:pointer;touch-action:none}
.vp-fill{position:absolute;left:0;top:0;bottom:0;max-width:100%;background:var(--amber)}
.vp-k{position:absolute;top:-8px;width:14px;height:42px;margin-left:-7px;background:var(--cream);border:4px solid #000}
.vp-t{min-width:112px;text-align:center;background:var(--navy);border:4px solid #000;color:var(--cream);padding:6px;font:600 14px var(--fm)}
.vp-vol{display:flex;align-items:stretch;cursor:pointer}
.vp-vol button{position:relative;width:16px;height:44px;padding:0;background:transparent;border:0;cursor:pointer}
.vp-vol button::before{content:"";position:absolute;left:2px;right:2px;bottom:4px;background:var(--steel);border:3px solid #000}
.vp-vol button:nth-child(1)::before{height:14px}.vp-vol button:nth-child(2)::before{height:20px}.vp-vol button:nth-child(3)::before{height:26px}.vp-vol button:nth-child(4)::before{height:32px}
.vp-vol button.on::before{background:var(--amber)}
.player:fullscreen{display:flex;flex-direction:column;justify-content:center;padding:18px;max-width:none;background:var(--ink)}
.player:fullscreen .vp-scr{max-height:calc(100vh - 90px);margin:0 auto;width:min(100%,calc((100vh - 90px) * 16 / 9))}
@media (max-width:640px){.vp-vol,.vp-m{display:none}.vp-t{min-width:0;font-size:12px}.vp-bar{gap:6px}.sc-film{padding:8vh 10px}}
