/* All site styles, in cascade order (moved out of index.html). Later rules intentionally override earlier ones. */
:root{--bg:#d6d1c4;--panel:#e8e4d8;--ink:#15151a;--mute:#54524a;--blue:#0000aa;--blue-ink:#fff;--line:#15151a;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0d1230;--panel:#161c44;--ink:#eceefb;--mute:#a4a9d0;--blue:#55ffff;--blue-ink:#0d1230;--line:#eceefb}}
:root[data-theme="dark"]{--bg:#0d1230;--panel:#161c44;--ink:#eceefb;--mute:#a4a9d0;--blue:#55ffff;--blue-ink:#0d1230;--line:#eceefb}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 "IBM Plex Sans",system-ui,sans-serif}
.wrap{max-width:960px;margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:"VT323","Courier New",monospace;font-weight:400;line-height:1;margin:0}
h1{font-size:clamp(34px,10vw,96px);overflow-wrap:anywhere}
h2{font-size:36px;margin-bottom:12px}
a{color:inherit}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
header.top{padding:18px 0;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
header.top a{font-family:"VT323",monospace;font-size:24px;text-decoration:none}
@media(max-width:480px){header.top a{font-size:20px}}
header.top nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;max-width:100%}
nav a{margin-left:16px;font-size:15px}
.hero{padding:28px 0 36px}
.hero p{max-width:60ch;margin:14px 0 0}
.mem{margin-top:26px;border:2px solid var(--line);background:var(--panel);padding:10px}
.bar{height:26px;border:2px solid var(--line);background:repeating-linear-gradient(90deg,transparent 0 9px,color-mix(in srgb,var(--line) 18%,transparent) 9px 10px)}
.bar i{display:block;height:100%;background:var(--blue);min-width:6px}
.mem small{display:block;margin-top:8px;font-family:"VT323",monospace;font-size:21px;color:var(--mute)}
.socials{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0}
.btn{display:inline-block;padding:10px 16px;border:2px solid var(--line);background:var(--panel);text-decoration:none;font-weight:600;font-size:15px}
.btn:hover,.btn.pri{background:var(--blue);color:var(--blue-ink)}
section{padding:24px 0}
.tools{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 18px}
input,select{font:inherit;padding:9px 12px;border:2px solid var(--line);background:var(--panel);color:var(--ink);min-width:0}
input{flex:1 1 200px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.card{display:block;text-decoration:none;border:2px solid var(--line);background:var(--panel)}
.card:hover{border-color:var(--blue);box-shadow:4px 4px 0 var(--blue)}
.ph{aspect-ratio:4/3;display:grid;place-items:center;background:var(--bg);border-bottom:2px solid var(--line);font-family:"VT323",monospace;font-size:22px;color:var(--mute);overflow:hidden}
.ph img{width:100%;height:100%;object-fit:cover}
.card div.t{padding:10px 12px}
.card h3{font-size:26px}
.card p{margin:2px 0 0;color:var(--mute);font-size:14px}
.tag{font-size:12px;border:1px solid var(--mute);padding:1px 6px;color:var(--mute);margin-left:6px}
.detail{display:grid;gap:22px}
@media(min-width:720px){.detail{grid-template-columns:1.1fr 1fr}}
.detail .ph{border:2px solid var(--line);font-size:28px}
dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:16px 0}
dt{color:var(--mute)}dd{margin:0}
.score{margin:14px 0}.score b{font-family:"VT323",monospace;font-size:28px;font-weight:400;margin-right:8px}.score span{color:var(--mute)}
.src{border:2px solid var(--line);background:var(--panel);padding:12px 14px;margin:16px 0}.src small{display:block;color:var(--mute);margin-top:6px}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:10px}.gal .ph{cursor:zoom-in;font-size:18px}
.aud{margin:10px 0}.aud audio{width:100%}.aud span{display:block;font-size:14px;color:var(--mute)}
.lb{position:fixed;inset:0;background:rgba(0,0,0,.88);display:grid;place-items:center;z-index:9;cursor:zoom-out;padding:16px}.lb img{max-width:100%;max-height:100%}
.score .bar{background:repeating-linear-gradient(90deg,transparent 0 calc(15.625% - 2px),var(--line) calc(15.625% - 2px) 15.625%)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stats div{border:2px solid var(--line);background:var(--panel);padding:10px 12px;color:var(--mute);font-size:14px}
.stats b{display:block;font-family:"VT323",monospace;font-weight:400;font-size:34px;line-height:1.1;color:var(--ink)}
.tl{margin:4px 0}.tl b{font-family:"VT323",monospace;font-size:24px;font-weight:400;margin-right:8px}
.pn{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:15px}
.bld label{display:block;font-size:14px;color:var(--mute);margin-top:10px}.bld input,.bld select,.bld textarea{width:100%;display:block}
.bld fieldset{border:2px solid var(--line);margin:16px 0;padding:6px 14px 14px}.bld legend{font-family:"VT323",monospace;font-size:24px;padding:0 6px}
.bld textarea{font:14px/1.4 monospace;min-height:220px;background:var(--panel);color:var(--ink);border:2px solid var(--line);padding:10px}
button.btn{font-family:inherit;color:var(--ink);cursor:pointer;padding:4px 10px}
:root[data-theme="green"]{--bg:#031403;--panel:#082408;--ink:#4dff6e;--mute:#2fb84a;--blue:#4dff6e;--blue-ink:#031403;--line:#2fb84a}
:root[data-theme="amber"]{--bg:#140c00;--panel:#221400;--ink:#ffb000;--mute:#b87d00;--blue:#ffb000;--blue-ink:#140c00;--line:#b87d00}
:root[data-theme="ega"]{--bg:#0000aa;--panel:#0000c8;--ink:#fff;--mute:#aaf;--blue:#55ffff;--blue-ink:#000080;--line:#fff}
:root[data-theme="green"] body,:root[data-theme="amber"] body,:root[data-theme="ega"] body{font-family:"VT323","Courier New",monospace;font-size:21px}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:15;background:repeating-linear-gradient(0deg,rgba(0,0,0,.09) 0 1px,transparent 1px 3px)}
:root[data-theme="green"] body::after,:root[data-theme="amber"] body::after,:root[data-theme="ega"] body::after{background:repeating-linear-gradient(0deg,rgba(0,0,0,.2) 0 1px,transparent 1px 3px)}
:root[data-theme="clean"] body::after{display:none}
@media (prefers-contrast:more){body::after{display:none}}
:root[data-theme="green"] h1,:root[data-theme="amber"] h1{text-shadow:0 0 8px currentColor}
.cur{margin-left:2px}
.hm-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:8px 0 8px}.hm-tile{display:flex;flex-direction:column;gap:2px;padding:14px 12px;border:2px solid var(--line);background:var(--panel);text-decoration:none;box-shadow:4px 4px 0 var(--line)}.hm-tile:hover,.hm-tile:focus-visible{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--blue);border-color:var(--blue)}.hm-tile b{font:400 26px/1 "VT323",monospace;overflow-wrap:anywhere}.hm-tile span{font-size:14px;color:var(--mute)}.hm-tile.pri{background:var(--blue);color:var(--blue-ink)}.hm-tile.pri span{color:inherit}
@media (prefers-reduced-motion:no-preference){.cur{animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}}
.tb{background:var(--blue);color:var(--blue-ink);font-family:"VT323",monospace;font-size:22px;line-height:1.4;padding:0 10px;margin-bottom:10px;overflow-wrap:anywhere}
.dlg{max-width:480px;margin:30px auto;border:2px solid var(--line);background:var(--panel);box-shadow:6px 6px 0 var(--line)}.dlg .tb{margin:0}.dlg p{padding:0 14px}
.scr{overflow-x:auto;border:2px solid var(--line);background:var(--panel);padding:12px}.dir{font:15px/1.35 "Courier New",monospace;margin:0}
.boot{position:fixed;inset:0;z-index:20;background:#000;color:#c8c8c8;font:24px/1.3 "VT323","Courier New",monospace;padding:calc(20px + env(safe-area-inset-top,0px)) 20px 20px;cursor:pointer}
.boot pre{margin:0;white-space:pre-wrap;font:inherit}.boot p{margin-top:24px;color:#777}
.prompt{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px}.prompt label{font-family:"VT323",monospace;font-size:24px;color:var(--ink)}
.prompt input{flex:1;min-width:140px;border:0;border-bottom:2px solid var(--line);background:transparent}#cout{width:100%;min-height:1.5em;color:var(--mute)}
.uc{border:3px solid #000;background:repeating-linear-gradient(45deg,#ffd400 0 14px,#111 14px 28px);text-align:center;margin:0 0 10px}
.uc span{display:inline-block;background:#111;color:#ffd400;font:22px/1 "VT323",monospace;padding:4px 14px;margin:6px;letter-spacing:.08em}
.mq{border:2px solid var(--line);background:var(--panel);padding:2px 8px;font-family:"VT323",monospace;font-size:22px}
@media (prefers-reduced-motion:no-preference){.mq{overflow:hidden;white-space:nowrap;padding:2px 0}.mq span{display:inline-block;padding-left:100%;animation:mq 22s linear infinite}@keyframes mq{to{transform:translateX(-100%)}}.new{animation:blink 1.1s steps(1) infinite}.mb .flag{transition:transform .25s}}
.new{background:#d22;color:#fff;font:14px/1 "VT323",monospace;padding:1px 4px;margin-left:4px;vertical-align:middle}
.mbox{display:inline-block;text-decoration:none}.mbox .flag{transform-origin:120px 66px}.mbox:hover .flag,.mbox:focus-visible .flag{transform:rotate(-18deg)}
.ctc{display:flex;flex-wrap:wrap;align-items:center;gap:18px}.ctc svg{width:150px;height:auto;display:block}
.rb{height:6px;background:linear-gradient(90deg,#e22,#f90,#fd0,#3b3,#28e,#84c);margin:8px 0}
.cnt{display:inline-flex;gap:2px;vertical-align:middle;margin:0 6px}.cnt b{background:#000;color:#3f3;font:22px/1 "VT323",monospace;padding:3px 4px;border:1px solid var(--mute)}
.btns{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.b88{display:flex;align-items:center;justify-content:center;width:88px;height:31px;border:2px outset #999;background:#c0c0c0;color:#000;font:10px/11px "Courier New",monospace;text-align:center;padding:1px 2px;text-decoration:none;overflow:hidden}
.ring{margin:8px 0;font-size:14px}
.br{display:grid;grid-template-columns:110px 1fr 32px;gap:8px;align-items:center;margin:4px 0}.br i{display:block;height:16px;background:var(--blue);min-width:4px}.br b{font-family:"VT323",monospace;font-weight:400}
.chips{margin:0 0 10px}.chips a.tag{display:inline-block;margin:0 6px 6px 0;text-decoration:none}
.tl.mk{color:var(--mute);font-style:italic}
.cmp{display:grid;grid-template-columns:120px 1fr 1fr;gap:10px;padding:5px 4px;min-width:520px;border-bottom:1px solid color-mix(in srgb,var(--line) 25%,transparent)}
.cmp.df{background:color-mix(in srgb,var(--blue) 14%,transparent)}.cmph b{font-family:"VT323",monospace;font-size:24px;font-weight:400}
.tl.g,.tl.p{border-left:3px solid var(--mute);padding-left:8px}.tl.g{border-color:var(--blue)}
.qt{margin:12px 0;padding:10px 14px;border-left:4px solid var(--blue);background:var(--panel)}.qt p{margin:0;font-size:1.05em}.qa{margin-top:6px;color:var(--mute);font-family:"VT323",monospace;font-size:20px}
.cl{padding:5px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 25%,transparent)}.cl b{font-family:"VT323",monospace;font-size:22px;font-weight:400;margin-right:8px}
.ex{padding:4px 0}.tn{color:var(--mute)}
.tag.want{background:var(--blue);color:var(--blue-ink);border-color:var(--blue)}.tag.pr{border-color:var(--ink);color:var(--ink)}
.tl b{display:inline-block;min-width:96px}.tl.gt,.tl.i,.tl.hw{border-left:3px solid var(--blue);padding-left:8px}.tl.w,.tl.u{color:var(--mute)}
.tl.e{border-left:3px solid var(--mute);padding-left:8px;font-weight:600}.ast{color:var(--mute);cursor:help}
.ad{margin:10px 0;padding:10px 12px;border:2px dashed var(--line);background:var(--panel)}.ad b.adh{font-family:"VT323",monospace;font-size:24px;font-weight:400}.ad p{margin:2px 0}
.ad .adp{font-family:"VT323",monospace;font-size:26px}.ad .adx{font-size:12px;color:var(--mute)}
.gm{background:#000;color:#fff;border:3px solid #aaa;padding:0;margin:8px 0}.gm h2{color:#ff5;margin:0 0 6px}
.gbar{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;background:#aaa;color:#000;padding:4px 10px;font-family:"VT323",monospace;font-size:22px}.gbar b{color:#00a}
.gmemw{margin-left:auto;display:inline-flex;align-items:center;gap:6px}.gmemw .bar{display:inline-block;width:90px;height:12px;background:#555;border:1px solid #000;padding:0}.gmemw .bar i{display:block;height:100%;background:#5f5;width:100%}
.gstage canvas{display:block;width:100%;height:auto;image-rendering:pixelated;image-rendering:crisp-edges;background:#000}
.gq{background:#00a;color:#fff;border-top:3px solid #fff;padding:10px 12px}.gq[hidden]{display:none}.gq .gpre{color:#ff5;font-style:italic}.gopts{display:grid;gap:6px;margin:8px 0}
.gm .btn{background:#aaa;color:#000;border:2px solid #fff;border-right-color:#555;border-bottom-color:#555;text-align:left;font-family:inherit}.gm .btn:hover,.gm .btn:focus{background:#ff5;outline:2px solid #fff}.gm .btn.pri{background:#5f5}
.gmsg{min-height:3.2em;padding:6px 12px;background:#000;color:#5ff;border-top:3px solid #aaa;font-family:"VT323",monospace;font-size:21px;line-height:1.15}
.gctl{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding:8px 10px;background:#555}.gpad,.gact{display:flex;flex-wrap:wrap;gap:6px}.gpad .btn{min-width:48px;min-height:44px;text-align:center}.gact .btn{min-height:44px}
.gnote{padding:6px 12px;font-size:13px;color:#aaa}.gnote a,.gsel a{color:#5ff}
.gcode{width:100%;font:13px/1.3 monospace;background:#000;color:#5ff;border:2px solid #aaa;padding:6px;word-break:break-all}.gsel{padding:12px 14px}.gchars{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:12px 0}.gchar{background:#00a;color:#fff;border:3px solid #aaa;padding:10px;text-align:center;cursor:pointer;font:inherit}.gchar:hover,.gchar:focus{border-color:#ff5}.gchar b{display:block;font-family:"VT323",monospace;font-size:28px;color:#ff5}.gchar span{display:block;font-size:14px}.gchar canvas{image-rendering:pixelated}
.sbar{display:flex;gap:2px;height:20px;border:2px solid var(--line);background:var(--bg);padding:2px}.sbar i{display:block;height:100%;background:color-mix(in srgb,var(--line) 15%,transparent);position:relative}.sbar i b{display:block;height:100%}.sbar.big{height:34px;margin:10px 0 18px}
.sline{margin:8px 0 2px}.sline b{font-family:"VT323",monospace;font-size:30px;font-weight:400}.verdict{display:inline-block;padding:1px 10px;color:#000;font:22px/1.2 "VT323",monospace;text-transform:uppercase;letter-spacing:.04em;border:2px solid #000}
.tier{border:2px solid var(--line);border-left-width:14px;background:var(--panel);padding:8px 14px;margin:10px 0}.tier p{margin:6px 0}.tierh b{font-family:"VT323",monospace;font-size:24px;font-weight:400;margin:0 6px}
.itempage .detail{display:grid;gap:22px;align-items:start}
@media(min-width:820px){.itempage .detail{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}.itempage .dl{position:sticky;top:12px}}
.dl .ph{border:2px solid var(--line);font-size:28px}
.era{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px 24px}.eras h2{font-size:30px}

h2,h3,h4{overflow-wrap:anywhere}
/* tribute ads: styled like a 1990s software store circular (white newsprint, red and navy, halftone header) */
.cz{--paper:#fffdf2;--cred:#d1202f;--cnavy:#10307a;--cink:#111;position:relative;margin:22px 0;border:3px solid var(--cink);background:var(--paper);color:var(--cink);font:15px/1.35 "Arial Narrow",Arial,"Liberation Sans",sans-serif;box-shadow:5px 5px 0 var(--line);overflow:hidden}
.cz *{box-sizing:border-box}.cz a{color:var(--cnavy)}
.cz-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 14px;padding:6px 12px;background:var(--cnavy);color:#fff;background-image:radial-gradient(rgba(255,255,255,.18) 1px,transparent 1.3px);background-size:5px 5px;border-bottom:4px solid var(--cred)}
.cz-logo{font:italic 900 24px/1 "Arial Black",Impact,sans-serif;color:#fff;letter-spacing:-.02em;text-shadow:2px 2px 0 var(--cred)}.cz-logo b{color:#ffe14d}.cz-logo em{font-style:italic}
.cz-sub{display:block;font:700 12px/1.2 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;margin-top:3px;color:#ffe14d}.cz-hr{font:700 12px/1.2 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;text-align:right}
.cz-main{display:grid;grid-template-columns:minmax(210px,300px) 1fr;gap:16px;padding:14px}
.cz-figure{position:relative}.cz-art{position:relative;border:3px solid var(--cink);background:#000;overflow:hidden}.cz-art svg,.cz-art img{display:block;width:100%;height:auto}.cz-art.big img,.cz-art.big svg{aspect-ratio:4/3;object-fit:cover}
.cz-price{position:absolute;right:-6px;top:-8px;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:86px;min-height:86px;padding:8px;background:var(--cred);color:#fff;text-align:center;font-family:Impact,"Arial Black",sans-serif;line-height:.95;transform:rotate(6deg);clip-path:polygon(50% 0,60% 10%,74% 4%,79% 18%,94% 20%,90% 35%,100% 47%,90% 58%,95% 73%,80% 77%,75% 92%,61% 86%,50% 100%,39% 86%,25% 92%,20% 77%,5% 73%,10% 58%,0 47%,10% 35%,6% 20%,21% 18%,26% 4%,40% 10%)}
.cz-price i{font:italic 700 10px/1 Arial,sans-serif;letter-spacing:.06em}.cz-price b{font-size:26px;font-weight:400;color:#ffe14d}.cz-price.est{background:var(--cnavy)}
.cz-new{position:absolute;left:-4px;bottom:10px;background:#ffe14d;color:var(--cink);font:900 12px/1 Arial,sans-serif;letter-spacing:.08em;padding:4px 10px;border:2px solid var(--cink);transform:rotate(-3deg)}
.cz-h{margin:0 0 4px;font:900 36px/1 Impact,"Arial Black",sans-serif;text-transform:uppercase;color:var(--cred);letter-spacing:.01em}
.cz-name{margin:0 0 8px;font:900 20px/1.1 "Arial Black",Arial,sans-serif;color:var(--cnavy)}.cz-name em{font:italic 400 15px Arial,sans-serif;color:var(--cink)}
.cz-sub2{margin:0 0 8px;font-size:15px}.cz-feat{list-style:none;margin:0;padding:0;font-size:14.5px}.cz-feat li{padding:3px 0 3px 22px;position:relative;border-bottom:1px dotted #999}.cz-feat li::before{content:"";position:absolute;left:3px;top:.62em;width:9px;height:9px;background:var(--cred)}.cz-feat b{color:var(--cnavy)}
.cz-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 14px 12px}.cz-chip{flex:1 1 120px;text-align:center;padding:6px 4px;border:2px solid var(--cnavy);background:#fff}.cz-chip b{display:block;font:400 24px/1 Impact,"Arial Black",sans-serif;color:var(--cred)}.cz-chip span{font:700 10px/1.2 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#444}
.cz-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;padding:0 14px 14px}
.cz-panel,.cz-coupon{border:2px solid var(--cink);padding:8px 10px;font-size:13.5px;background:#fff}.cz-panel h4,.cz-coupon h4,.cz-more h4{margin:-8px -10px 8px;padding:3px 10px;background:var(--cink);color:#fff;font:900 12px/1.4 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.cz-panel>div{display:flex;justify-content:space-between;gap:8px;padding:2px 0;border-bottom:1px dotted #999}.cz-panel>div span{color:#555}.cz-panel>div b{font-weight:700;text-align:right}
.cz-ex{list-style:none;margin:0;padding:0}.cz-ex li{padding:2px 0}.cz-ex code{background:none;color:var(--cnavy);font-weight:700}.cz-ex .e-have code{color:#0a7a2a}.cz-ex .e-missing code{color:var(--cred)}.cz-ex small{color:#666}
.cz-sc{margin-top:8px}.cz-sc .sbar{background:#eee;border-color:var(--cink)}.cz-sc .sline b{font-size:26px}.cz-sc p{margin:4px 0;font-size:13px}.cz-sc .tn{color:#555}
.cz-coupon{border:2px dashed var(--cred);position:relative}.cz-coupon h4{background:var(--cred)}.cz-coupon p{margin:3px 0;font:16px/1.2 "Courier New",monospace}.cz-coupon small{color:#555}
.cz-more{padding:0 14px 12px}.cz-more h4{margin:0 0 8px;background:var(--cnavy);padding:3px 10px}.cz-more ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.cz-more a{display:block;border:2px solid var(--cnavy);background:#fff;padding:3px 8px;font-size:13px;text-decoration:none;color:var(--cink)}.cz-more a:hover{background:#ffe14d}.cz-more b{color:var(--cred)}.cz-more span{color:var(--cnavy);font-weight:700}
.cz-fine{margin:0;padding:6px 14px 10px;font-size:11px;color:#555;border-top:1px solid #ccc}
.cz-row{display:flex;gap:14px;overflow-x:auto;padding:14px 14px 8px;scroll-snap-type:x proximity}
.cz-box{flex:0 0 172px;scroll-snap-align:start;position:relative;border:2px solid var(--cink);background:#fff;padding:8px;transition:transform .15s}.cz-box:hover{transform:translateY(-3px) rotate(-.5deg);box-shadow:3px 3px 0 var(--cred)}
.cz-box .cz-art{border-width:2px;box-shadow:4px 4px 0 rgba(0,0,0,.35)}.cz-spine{position:absolute;left:0;top:0;bottom:0;width:9px;background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,0));pointer-events:none}
.cz-box h4{margin:8px 0 2px;font:900 15px/1.1 "Arial Black",Arial,sans-serif;color:var(--cnavy)}.cz-meta{margin:0 0 6px;font-size:11.5px;color:#555}.cz-box .cz-price{position:static;transform:none;clip-path:none;display:inline-flex;flex-direction:row;gap:6px;align-items:baseline;min-width:0;min-height:0;padding:2px 8px;border:2px solid var(--cink)}.cz-box .cz-price i{font-size:9px}.cz-box .cz-price b{font-size:20px}.cz-tag{margin:6px 0 0;font-size:12px;font-style:italic;color:#333}
.cz-tbl{width:calc(100% - 28px);margin:6px 14px 12px;border-collapse:collapse;font-size:13px}.cz-tbl caption{text-align:left;font:900 12px/1.6 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--cred)}.cz-tbl th{background:var(--cink);color:#fff;text-align:left;padding:3px 8px;font:700 11px Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}.cz-tbl td{padding:3px 8px;border-bottom:1px solid #bbb}.cz-tbl tr:nth-child(even) td{background:#f3efdc}
.cz-bar{display:flex;align-items:center;gap:12px;margin:8px 0 16px;padding:6px 40px 6px 8px;min-height:72px;border-width:3px}.cz-bar .cz-art.sm{flex:0 0 72px;height:60px}.cz-bar .cz-art.sm svg{height:100%;width:100%}.cz-bt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cz-bt b{font:900 20px/1.05 Impact,"Arial Black",sans-serif;color:var(--cred);text-transform:uppercase}.cz-bt span{font-size:12px;font-weight:700;color:var(--cnavy)}.cz-bar .cz-price{position:static;transform:none;min-width:70px;min-height:70px}
.adx{position:absolute;top:2px;right:4px;border:0;background:transparent;font-size:24px;line-height:1;cursor:pointer;padding:4px 8px}.cz-bar .adx{color:var(--cink)}.cz-bar .adx:hover{color:var(--cred)}
@media(prefers-reduced-motion:no-preference){.cz-price{animation:czpulse 2.4s ease-in-out infinite}@keyframes czpulse{50%{transform:rotate(6deg) scale(1.07)}}.cz-box .cz-price,.cz-bar .cz-price{animation:none}}
@media(max-width:640px){.cz-main{grid-template-columns:1fr}.cz-h{font-size:30px}.cz-bar .cz-price{display:none}.cz-hr{text-align:left}}
/* timeline: a Windows 3.1 style window with a chart you can click */
.tlwin{--g:#c0c0c0;color:#000;background:var(--g);border:3px solid #fff;border-right-color:#404040;border-bottom-color:#404040;box-shadow:5px 5px 0 var(--line);font-family:"Arial Narrow",Arial,"Liberation Sans",sans-serif}
.tlbar-t{display:flex;justify-content:space-between;gap:10px;padding:3px 8px;background:linear-gradient(90deg,#000080,#1084d0);color:#fff;font:700 14px/1.5 Arial,sans-serif}.tlbtn{letter-spacing:.2em}
.tlbody{padding:12px;background:repeating-linear-gradient(135deg,transparent 0 22px,rgba(0,128,128,.06) 22px 24px)}
.tlintro{margin:0 0 10px;font-size:15px}
.tlchartw{background:#fff;border:2px inset #808080;padding:6px 6px 0;overflow-x:auto}.tlc{display:block;width:100%;min-width:640px;height:auto}
.tlbar{cursor:pointer;outline:none}.tlbar:hover rect:not(.hit),.tlbar:focus-visible rect:not(.hit){filter:brightness(1.35)}.tlbar.on .hit{fill:rgba(255,225,77,.55)}.tlbar:focus-visible .hit{stroke:#000;stroke-dasharray:2 2}.tly{font:10px Arial,sans-serif;fill:#333}
.tlkey{display:flex;flex-wrap:wrap;gap:4px 14px;margin:6px 0;font-size:12px}.tlkey i{display:inline-block;width:11px;height:11px;margin-right:5px;border:1px solid #000;vertical-align:-1px}
.tlnav{display:flex;align-items:center;gap:8px;margin:6px 0}.tlnav input{flex:1;accent-color:#000080;min-width:0}
.tlwin .btn{background:#c0c0c0;color:#000;border:2px solid #fff;border-right-color:#404040;border-bottom-color:#404040;padding:4px 12px;font:700 13px Arial,sans-serif}.tlwin .btn:hover,.tlwin .btn:active{background:#dcdcdc}.tlwin .btn:active{border-color:#404040 #fff #fff #404040}
.tlrow{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.tlrow input{flex:1 1 180px;background:#fff;color:#000;border:2px inset #808080;padding:4px 8px}
.tlotd{background:#ffffe1;border:1px solid #000;padding:8px 12px;margin:6px 0;box-shadow:3px 3px 0 rgba(0,0,0,.3)}.tlotd p{margin:2px 0}
.tlsnap{background:#fff;border:2px inset #808080;padding:10px 12px;margin:10px 0}.tlsnap h3{font:400 30px/1 "VT323",monospace;margin:0 0 8px;color:#000080}
.tlstats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.tlstats div{flex:1 1 80px;border:2px solid #000;border-left-width:8px;padding:2px 8px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;background:#f4f4f4}.tlstats b{display:block;font:400 26px/1 "VT323",monospace}
.tlfacts{display:grid;grid-template-columns:auto 1fr;gap:3px 14px;margin:0;font-size:14px}.tlfacts dt{font-weight:700;color:#000080}.tlfacts dd{margin:0}.tlfacts a{color:#0000cc}
.tlpills{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.tlpill{display:inline-flex;align-items:center;gap:5px;border:2px solid #fff;border-right-color:#404040;border-bottom-color:#404040;background:#c0c0c0;padding:1px 8px;font-size:12px;cursor:pointer}.tlpill input{flex:none;min-width:0;margin:0}.tlpill b{background:#000080;color:#fff;padding:0 5px;font-weight:400}
.tlmon{margin:12px 0 4px;padding:2px 8px;background:#000080;color:#fff;font:700 12px/1.6 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}.tlmon a{color:#ffe14d}
.tle{background:#fff;border:1px solid #808080;border-left:8px solid #808080;margin:3px 0}.tle.k-hw,.tle.k-sw,.tle.k-p{border-left-color:#0000aa}.tle.k-pe{border-left-color:#008888}.tle.k-gt,.tle.k-gn,.tle.k-gc{border-left-color:#00aa00}.tle.k-e{border-left-color:#aa0000}.tle.k-i{border-left-color:#aa00aa}.tle.k-m,.tle.k-w,.tle.k-u{border-left-color:#aa5500}
.tle.flash{animation:tlflash 1.6s ease-out}@keyframes tlflash{from{background:#ffe14d}}
.tle-h{display:flex;align-items:baseline;gap:8px;width:100%;text-align:left;border:0;background:transparent;color:#000;font:14px/1.3 Arial,sans-serif;padding:4px 8px;cursor:pointer}.tle-h:hover{background:#eef}
.tle-d{flex:0 0 58px;font:700 13px Arial,sans-serif;color:#000080}.tle-k{flex:0 0 auto;font:700 10px Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;border:1px solid #808080;padding:0 5px;color:#444}.tle-t{flex:1;min-width:0;overflow-wrap:anywhere;font-weight:700}.tle-p{font:400 17px/1 "VT323",monospace;color:#aa0000}.tle-x{font:700 16px/1 monospace;color:#000080}
.tle-b{display:flex;gap:12px;padding:6px 10px 10px 74px;border-top:1px dotted #808080;font-size:14px}.tl-thumb{position:relative;flex:0 0 96px;border:2px solid #000;height:80px;overflow:hidden}.tl-thumb svg{display:block;width:96px;height:80px}.tle-t2{min-width:0}.tle-t2 p{margin:0 0 6px}.tle-inf{color:#006400;font-weight:700}.tle-rel a{margin-right:8px;color:#0000cc}
.tlfoot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;padding:3px 10px;border-top:2px solid #fff;font-size:12px;color:#000}.tlwin .tn,.tlwin .empty{color:#333}
/* catalog */
.cchips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.chip{font:inherit;font-size:14px;border:2px solid var(--line);background:var(--panel);color:var(--fg);padding:2px 10px;cursor:pointer;transition:transform .12s,background .12s}.chip b{opacity:.7}.chip:hover{transform:translateY(-2px) rotate(-1deg);border-color:var(--blue)}.chip.on{background:var(--blue);color:#fff;border-color:var(--blue)}.chip.dec{border-style:dashed}.chip.st{border-radius:10px}
.cmin{display:flex;gap:8px;align-items:center;font-size:14px}.cmin input{width:160px}.cviews{display:flex;gap:6px;flex-wrap:wrap}
.card.fl{background:none;border:0;perspective:900px}.card.fl:hover{box-shadow:none;border:0}.fl-in{position:relative;transition:transform .55s cubic-bezier(.2,.8,.2,1);transform-style:preserve-3d}.fl-f{border:2px solid var(--line);background:var(--panel);backface-visibility:hidden;-webkit-backface-visibility:hidden}.fl-b{position:absolute;inset:0;transform:rotateY(180deg);backface-visibility:hidden;-webkit-backface-visibility:hidden;border:2px solid var(--blue);background:var(--panel);padding:10px 12px;overflow:hidden;box-shadow:4px 4px 0 var(--blue);font-size:13px;color:var(--fg);display:flex;flex-direction:column;gap:4px}.fl-b b{font-family:"VT323",monospace;font-size:22px;line-height:1}.fl-b dl{display:grid;grid-template-columns:auto 1fr;gap:0 8px;margin:0}.fl-b dt{color:var(--mute)}.fl-b dd{margin:0;overflow-wrap:anywhere}.fl-b p{margin:0}.fl-s{height:10px;border:2px solid var(--line);background:var(--bg)}.fl-s i{display:block;height:100%}.fl-go{margin-top:auto;font-weight:bold;color:var(--blue)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.card.fl:hover .fl-in,.card.fl:focus-visible .fl-in{transform:rotateY(180deg)}}
@media(hover:none),(prefers-reduced-motion:reduce){.fl-b{display:none}}
.shelfw{position:relative}.shelf{display:flex;align-items:flex-end;gap:4px;padding:40px 14px 0;min-height:320px;border-bottom:14px solid #6b4a2b;background:linear-gradient(var(--panel),var(--bg));overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.spine{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:4px;padding:6px 2px;border:2px solid #000;color:#000;text-decoration:none;flex:0 0 auto;box-sizing:border-box;transition:transform .2s cubic-bezier(.3,1.6,.5,1)}.spine .spx{position:static;transform:none;flex:0 0 auto}.spine span{writing-mode:vertical-rl;font-family:"VT323",monospace;font-size:18px;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto;min-height:0;max-width:100%;text-align:start}.spine small{font-size:11px;flex:0 0 auto}.spine:hover,.spine:focus-visible{transform:translateY(-22px) rotate(-3deg);z-index:3;outline:2px solid #fff}.shtip{position:absolute;z-index:10;pointer-events:none;background:#000;color:#fff;border:2px solid #fff;padding:5px 9px;max-width:min(340px,92%);font-size:13px;line-height:1.3;box-shadow:3px 3px 0 rgba(0,0,0,.5)}.shtip b{display:block;font-size:14px}.shtip span{opacity:.8}.shtip[hidden]{display:none}
.tm{border-left:4px solid var(--blue);padding-left:14px;margin-left:6px}.tmy{margin:0 0 14px;position:relative}.tmh{font-family:"VT323",monospace;font-size:28px;text-decoration:none}.tmi{display:block;padding:3px 0;text-decoration:none}.tmd{display:inline-block;width:10px;height:10px;background:var(--blue);margin-right:8px;transition:transform .2s}.tmi:hover .tmd{transform:scale(1.8) rotate(45deg)}
/* extra hover play */
@media(prefers-reduced-motion:no-preference){.hm-tile{transition:transform .18s cubic-bezier(.3,1.7,.5,1),box-shadow .18s}.hm-tile:hover{transform:translateY(-4px) rotate(-1.2deg) scale(1.03)}.cz-price{transition:transform .3s cubic-bezier(.3,1.7,.5,1)}.cz-box:hover .cz-price{animation:none;transform:rotate(12deg) scale(1.22)}.cz-box:hover .cz-art{filter:saturate(1.35) contrast(1.05)}.tier{transition:transform .2s,box-shadow .2s}.tier:hover{transform:translateX(6px);box-shadow:-6px 0 0 var(--blue)}.verdict{transition:transform .2s cubic-bezier(.3,1.7,.5,1)}.tier:hover .verdict{transform:rotate(-4deg) scale(1.12)}.tlbar:hover rect:not(.hit){filter:brightness(1.3)}.tle{transition:transform .15s,box-shadow .15s}.tle:hover{transform:translateX(3px);box-shadow:-3px 0 0 #000080}.qt{transition:transform .2s}.qt:hover{transform:rotate(.4deg) scale(1.01)}}
.wfacts{display:grid;grid-template-columns:max-content 1fr;gap:2px 14px;margin:8px 0;font-size:14px}.wfacts dt{color:var(--mute)}.wfacts dd{margin:0;overflow-wrap:anywhere}.wsec{border:2px solid var(--line);background:var(--panel);margin:8px 0;padding:0}.wsec summary{cursor:pointer;padding:6px 12px;font:400 22px/1.2 "VT323",monospace;list-style:none}.wsec summary::before{content:"+ ";color:var(--blue)}.wsec[open] summary::before{content:"- "}.wsec p{margin:0;padding:0 12px 10px;font-size:15px}.wsee{font-size:14px}.wsee a{margin-right:4px}
.tltabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.tltabs .btn.pri{background:#000080;color:#fff}.tlflt{display:flex;flex-wrap:wrap;gap:4px 16px;margin:4px 0 0;font-size:13px}.tlflt input{flex:none;min-width:0}
.tle-acts{margin-top:8px!important}.tle-acts .btn{font-size:12px;padding:2px 10px}
.tlweb .tlnode.own rect{fill:#ff55ff}.pmap{display:block;width:100%;height:auto;background:#fff;border:2px inset #808080}.pmap .g{stroke:#ccc;stroke-width:1}.pmap text{font:11px Arial,sans-serif;fill:#333}.pm{cursor:pointer;outline:none}.pm circle{transition:r .12s}.pm:hover circle,.pm:focus circle{r:8}.pm:hover path,.pm:focus path{transform:scale(1.5);transform-box:fill-box;transform-origin:center}.pmctl{display:flex;flex-wrap:wrap;gap:4px 14px;margin:6px 0;font-size:13px}.pmctl input{flex:none;min-width:0}
.nu{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.nui{display:flex;flex-direction:column;gap:2px;border:2px dashed var(--line);background:var(--panel);padding:8px 12px;text-decoration:none;transition:transform .15s,border-color .15s}.nui:hover{transform:translateY(-3px) rotate(-.6deg);border-style:solid;border-color:var(--blue)}.nui b{font:400 22px/1.1 "VT323",monospace}.nui span{color:var(--mute);font-size:14px}.nui small{color:var(--blue)}
.tle-sp{display:grid;grid-template-columns:max-content 1fr;gap:1px 10px;margin:4px 0 8px;font-size:13px}.tle-sp dt{font-weight:bold}.tle-sp dd{margin:0;overflow-wrap:anywhere}.tle-est{opacity:.6}
.tle-web{margin:8px 0}.tlweb{display:block;width:100%;max-width:440px;height:auto;background:#000080}.tlweb line{stroke:#c0c0c0;stroke-width:1;stroke-dasharray:3 3}.tlweb .tlnode{cursor:pointer}.tlweb .tlnode rect{fill:#c0c0c0;stroke:#fff;stroke-width:2;transition:transform .15s,fill .15s;transform-box:fill-box;transform-origin:center}.tlweb .tlnode:hover rect,.tlweb .tlnode:focus rect{fill:#ffff55;transform:scale(1.12) rotate(-2deg)}.tlweb .tlnode:focus{outline:none}.tlweb text{font-family:"VT323",monospace;font-size:13px;fill:#000;pointer-events:none}.tlweb .n2{font-size:11px;fill:#000080}.tlweb .tlhub rect{fill:#ff55ff;stroke:#fff;stroke-width:2}.tlweb .tlhub text{font-weight:bold}
@media(max-width:600px){.tle-b{padding-left:10px;flex-wrap:wrap}.tle-h{flex-wrap:wrap}.tle-d{flex-basis:60px}}
@media(prefers-reduced-motion:reduce){.tle.flash{animation:none}}
.adm{overflow-wrap:anywhere}.adm input,.adm select,.adm textarea{max-width:100%}.adm .fld{min-width:0}body{overflow-x:clip}.adm .row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 25%,transparent)}.adm .row>span{flex:1 1 200px}
.adm .btn.danger{border-color:#aa0000;color:#aa0000}.adm .msg{padding:8px 12px;border:2px solid var(--line);background:var(--panel);margin:10px 0}.adm .msg.err{border-color:#aa0000}.adm .msg.ok{border-color:#00aa00}
.adm input[type=password]{width:100%}.adm .two{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 14px}.adm .thumbs{display:flex;flex-wrap:wrap;gap:8px}.adm .thumbs figure{margin:0;width:110px}.adm .thumbs img{width:110px;height:80px;object-fit:cover;border:2px solid var(--line);display:block}.adm .thumbs figcaption{font-size:11px;word-break:break-all}
h3.sub{font-size:26px;margin:18px 0 4px}
footer{margin-top:30px;padding:20px 0 30px;border-top:2px solid var(--line);font-size:14px;color:var(--mute)}
.empty{padding:24px;border:2px dashed var(--mute);color:var(--mute)}
.pf{display:inline-block;font:12px/1.4 "Courier New",monospace;padding:0 6px;margin:1px 2px 1px 0;border:1px solid #000;color:#fff;background:#808080;cursor:default}button.pf{cursor:pointer}button.pf:hover,button.pf:focus-visible{outline:2px dotted #ffff55;transform:translateY(-1px)}
.pf-pc{background:#0000aa}.pf-micro{background:#aa5500}.pf-con{background:#007700}.pf-hand{background:#aa00aa}.pf-arc{background:#aa0000}.pf-g{background:#fff;color:#000;border-style:dashed}
.gxhint{font:11px "Courier New",monospace;color:#555;margin-left:6px;white-space:nowrap}.gx{margin:6px 0}.gxt{border-collapse:collapse;font-size:13px;margin:6px 0;width:100%;max-width:640px}.gxt caption{text-align:left;font-weight:bold;padding:2px 0}.gxt th,.gxt td{border:1px solid #c0c0c0;padding:2px 6px;text-align:left;vertical-align:top}.gxt thead th{background:#c0c0c0}.gxt tr.gx1 td{background:#ffffcc}.gxt tr.gxpc td{font-weight:bold}.gxh{margin:10px 0 2px;font-size:14px}
.gxwrap{overflow-x:auto}.gxlist{max-width:none}.gxheat{width:100%;height:auto;display:block;font:10px "Courier New",monospace}.gxheat text{fill:#000}.gxpl{cursor:pointer}.gxpl.on{font-weight:bold;fill:#0000aa}.gxc{cursor:pointer}.gxc:hover{stroke:#ffff55;stroke-width:2}
.gxfilters{display:flex;flex-wrap:wrap;gap:6px}.gxfilters input,.gxfilters select{font:inherit;padding:3px;max-width:100%}.gxstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.gxstats h4{margin:0 0 4px}.gxstats ol{margin:0;padding-left:20px;font-size:13px}.gxstats .tn{margin:0 0 4px}.gxsub{margin-top:6px}.gxrig select{font:inherit;max-width:100%}
@media (prefers-reduced-motion:no-preference){.gxc{transition:fill-opacity .15s}.pf{transition:transform .12s}}
.gxera{grid-column:1/-1}.gxfit{font:12px "Courier New",monospace;padding:0 5px;border:1px solid #808080;background:#eee;white-space:nowrap}.gxfit.ok{background:#00aa00;color:#fff;border-color:#005500}.gxfit.no{background:#aa0000;color:#fff;border-color:#550000}.gxera.onlyfit .gxrow[data-fit="no"],.gxera.onlyfit .gxrow[data-fit="?"]{display:none}
.tlpill.k-pe b{background:#008888}
.px{vertical-align:-3px;margin-right:4px;image-rendering:pixelated;flex:none}.pf .px{vertical-align:-1px;margin-right:3px}.btn .px{vertical-align:-3px}
.hm-tile{position:relative}.hm-ic{display:block;margin-bottom:4px}.hm-ic .px{margin:0}.spine .spx .px{margin:0}
@media (prefers-reduced-motion:no-preference){a:hover>.hm-ic .px,a:hover>.px,.chip:hover .px,.btn:hover .px,.tle-h:hover .px,.card:hover h3 .px{animation:pxhop .45s steps(3) 1}@keyframes pxhop{0%{transform:translateY(0)}33%{transform:translateY(-3px)}66%{transform:translateY(1px)}100%{transform:translateY(0)}}}
.cm-photo{display:block;width:100%;height:100%;object-fit:contain;background:#fff}.tl-thumb .cm-photo{position:absolute;inset:0;object-fit:cover}.ph{position:relative}.ph .cm-photo{position:absolute;inset:0}.cm-credit{display:block;margin-top:4px;color:var(--mute);font-size:12px}

/* ---- readability pass: theme-aware link colors, paper surfaces keep dark ink, new store logo plates ---- */
:root{--lk:#0a1fb4;--lk-v:#5b1a9c;--lk-h:#b00d1e;--paper-lk:#0a1fb4;--ink-on-paper:#111}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--lk:#8fe3ff;--lk-v:#d7b8ff;--lk-h:#ffe14d}}
:root[data-theme="dark"]{--lk:#8fe3ff;--lk-v:#d7b8ff;--lk-h:#ffe14d}
:root[data-theme="green"]{--lk:#b4ffc2;--lk-v:#7be28f;--lk-h:#ffffff}
:root[data-theme="amber"]{--lk:#ffd978;--lk-v:#e0a63c;--lk-h:#ffffff}
:root[data-theme="ega"]{--lk:#ffff6a;--lk-v:#ffb3ff;--lk-h:#ffffff}
.tlfacts a,.tle-rel a,.gxt a,.wsee a,.gnote a,.gsel a,.nui small a{color:var(--lk);text-decoration:underline;text-underline-offset:2px}
.tlfacts a:hover,.tle-rel a:hover,.gxt a:hover,.wsee a:hover{color:var(--lk-h)}
.tle,.tle-b{color:var(--ink-on-paper)}.tle a,.tle-b a,.tle .tlfacts a,.tle .tle-rel a,.tle .gxt a,.tle .wsee a{color:var(--paper-lk)}.tle a:hover{color:#b00d1e}.tle .tlfacts dt{color:#00006a}
.gxt thead th,.gxt tr.gx1 td,.gxfit,.tlbtn{color:var(--ink-on-paper)}.gxt tr.gx1 td{background:#ffffcc}
.gxfit.ok{background:#006b24;color:#fff;border-color:#003d14}.gxfit.no{background:#8a0f0f;color:#fff;border-color:#4a0000}
.tlbtn{background:#c0c0c0}
.verdict{text-shadow:none}
.cz-logo{display:inline-flex;align-items:stretch;gap:0;font:italic 900 19px/1 "Arial Black",Impact,sans-serif;letter-spacing:-.01em;text-shadow:none;color:#111;transform:skew(-6deg);border:2px solid #111;box-shadow:2px 2px 0 rgba(0,0,0,.45);vertical-align:middle}
.cz-logo b{background:#ffe14d;color:#10307a;padding:3px 7px;font-style:italic}
.cz-logo em{background:#d1202f;color:#fff;padding:3px 7px;font-style:italic;border-left:2px solid #111}
.cz-bar .cz-logo{font-size:15px}.cz-bt .cz-logo{align-self:flex-start;margin-bottom:3px}
.cz-price b{color:#fff;text-shadow:1px 1px 0 rgba(0,0,0,.5)}.cz-price.est{background:#10307a}
.cz-new{background:#ffe14d;color:#111}
.tlmon a{color:#ffe14d}

.gxera .sub{font-family:"VT323",monospace;font-size:28px;margin:8px 0 4px}
.gxstrip{position:relative;height:92px;margin:10px 2px 6px;border:2px solid var(--line);background:linear-gradient(90deg,transparent 19.6%,rgba(128,128,128,.35) 19.8%,transparent 20%),repeating-linear-gradient(90deg,rgba(128,128,128,.12) 0 1px,transparent 1px 3.33%),var(--panel)}
.gxdot{position:absolute;width:12px;height:12px;border:2px solid #000;box-shadow:1px 1px 0 rgba(0,0,0,.5);transform:translateX(-50%);transition:transform .12s}.gxdot:hover,.gxdot:focus-visible{transform:translateX(-50%) scale(1.8);z-index:3;outline:2px solid var(--lk)}
.gxpin{position:absolute;top:0;bottom:16px;width:0;border-left:2px dashed var(--ink);color:var(--ink);font:11px/1 Arial,sans-serif;white-space:nowrap}.gxpin i{font-style:normal;position:absolute;bottom:-4px;left:-6px}.gxpin{padding-left:4px}
.gxtk{position:absolute;bottom:0;font:11px/1.4 Arial,sans-serif;color:var(--mute);padding:0 4px;background:var(--panel)}
.gxbtns{margin:6px 0}.gxlab{margin-left:10px;font-size:14px}
.gxpick{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;border:3px double var(--line);padding:8px 12px;margin:6px 0 10px;background:var(--panel);animation:gxpop .35s cubic-bezier(.3,1.6,.5,1)}.gxpick[hidden]{display:none}.gxpick b{font:24px "VT323",monospace}.gxpick a{font-weight:700;font-size:18px;color:var(--lk)}.gxpick i{flex:1 1 100%;color:var(--mute)}
@keyframes gxpop{from{transform:scale(.92);opacity:0}}@media(prefers-reduced-motion:reduce){.gxpick{animation:none}}
.gxsec{margin:8px 0;border:2px solid var(--line);background:var(--panel)}.gxsec>summary{cursor:pointer;padding:5px 10px;font:22px "VT323",monospace;list-style:none;display:flex;align-items:center;gap:6px}.gxsec>summary::-webkit-details-marker{display:none}.gxsec>summary::before{content:"\25B6";font-size:12px}.gxsec[open]>summary::before{content:"\25BC"}.gxn{margin-left:auto;background:var(--ink);color:var(--bg);font:14px Arial,sans-serif;padding:0 8px}
.gxcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;padding:8px 10px 10px}
.gxcard{display:flex;gap:8px;align-items:flex-start;text-decoration:none;color:#111;background:#fffdf2;border:2px solid #111;border-left:8px solid var(--fc,#444);padding:6px 8px;box-shadow:3px 3px 0 rgba(0,0,0,.35);transition:transform .12s,box-shadow .12s}.gxcard:hover,.gxcard:focus-visible{transform:translate(-2px,-2px) rotate(-.4deg);box-shadow:5px 5px 0 rgba(0,0,0,.45)}
.gxcard b{display:block;font:700 15px/1.2 Arial,sans-serif;color:#10307a}.gxcard small{display:block;color:#444;font-size:12px}.gxcs{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:3px}.gxci{flex:0 0 auto;margin-top:2px}
.onlyfit .gxcard[data-fit="no"],.onlyfit .gxcard[data-fit="?"]{display:none}
.gxloot{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}.gxlc{border:2px dashed var(--line);padding:6px 10px}.gxlc b{display:block;font:20px "VT323",monospace}.gxlc a{display:block;color:var(--lk);padding:1px 0}.gxlc small{color:var(--mute)}
.tle .gxcard,.tle .gxlc a{color:#111}.tle .gxlc a{color:var(--paper-lk)}.tle .gxsec,.tle .gxstrip,.tle .gxpick,.tle .gxtk{background:#fff;color:#111}.tle .gxpin{color:#111;border-color:#111}.tle .gxlc,.tle .gxsec{border-color:#808080}.tle .gxn{background:#111;color:#fff}.tle .gxpick a{color:var(--paper-lk)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* admin: completeness, quest */
.mbar{display:inline-block;vertical-align:middle;width:120px;height:12px;border:2px solid var(--line);background:var(--bg)}.mbar i{display:block;height:100%;background:var(--blue)}.mpc{margin-left:2px}
.adm .qhero{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;border:2px solid var(--line);background:var(--panel);padding:10px 14px;margin:10px 0}
.adm .abar{display:flex;flex-wrap:wrap;gap:8px}.adm .rb{flex:0 1 auto!important;display:flex;flex-wrap:wrap;gap:6px}
.adm .tools .chip{cursor:pointer}.adm .tools .chip.on{background:var(--blue);color:var(--bg)}
.adm input[data-bl]:placeholder-shown{border-style:dashed;background:color-mix(in srgb,var(--blue) 8%,var(--bg))}
.adm .stick{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;gap:8px;padding:10px 0;background:var(--bg);border-top:2px solid var(--line)}
.adm .qhud{border:2px solid var(--line);background:var(--panel);padding:10px 14px;margin:10px 0}
.adm .qbd{display:inline-block;font-size:13px;padding:1px 8px;margin:2px 2px 0 0;border:2px dashed var(--line);opacity:.55}.adm .qbd.on{opacity:1;border-style:solid;background:var(--blue);color:var(--bg)}
.adm .qcard{border:3px double var(--line);background:var(--panel);padding:14px 16px;margin:12px 0}.adm .qcard .qq{font-size:26px;margin:8px 0}.adm .qsg{border-left:4px solid var(--blue);padding-left:10px}
.adm .qcard input:not([type=file]),.adm .qcard textarea,.adm .qcard select{width:100%;font-size:18px}
.qboom{position:relative;height:0;overflow:visible;pointer-events:none}.qboom i{position:absolute;top:0;left:var(--x);width:9px;height:9px;background:var(--c);animation:qfall 1.4s var(--d) ease-in forwards}
@keyframes qfall{to{transform:translateY(260px) rotate(540deg);opacity:0}}
@media (prefers-reduced-motion:reduce){.qboom{display:none}}

/* quest v2 */
.adm .qlv{margin-bottom:6px}.adm .qstat{display:flex;flex-wrap:wrap;gap:6px 16px;margin:6px 0;font-size:15px}.adm .qstat span{border-bottom:2px solid var(--line)}
.adm .qdq,.adm .qrel{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.adm .qdg{border:2px solid var(--line);padding:2px 8px;background:var(--bg);font-size:14px}.adm .qdg.ok{background:var(--blue);color:var(--blue-ink)}
.adm .qr{display:inline-flex;align-items:center;gap:2px;min-width:30px;justify-content:center;border:2px solid var(--line);padding:1px 4px;opacity:.55}.adm .qr.on{opacity:1}.adm .qr.r-rare.on{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue)}.adm .qr.r-epic.on{border-color:#b00d1e;box-shadow:0 0 0 2px #b00d1e,0 0 8px #ffb000}.adm .qr small{font-size:12px}
.adm .qboss{border:3px double var(--line);background:var(--panel);padding:8px 12px;margin:10px 0;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.adm .qboss .bhp{min-width:140px;flex:1}.adm .qboss .bhp i{background:#b00d1e}
html[data-motion=on] .adm .qboss.hit{animation:bosshit .4s steps(4)}@keyframes bosshit{0%,50%{background:#b00d1e;color:#fff}100%{background:var(--panel)}}
.adm .qspeed .qstat span{font-size:18px}
.adm .qtrophy{display:flex;flex-wrap:wrap;gap:6px}.adm .qtrophy .qbd{display:inline-flex;align-items:center;gap:4px;min-width:34px;justify-content:center}.adm .qtrophy .qbd small{font-size:12px}
.adm .qaward{display:flex;flex-wrap:wrap;gap:8px 18px;border:3px double var(--line);background:var(--panel);padding:10px 14px;margin:10px 0;animation:qpulse .8s 3}.adm .qaward div{display:flex;align-items:center;gap:8px;font-size:18px}
.adm .qwin{border:3px solid #00aa00;background:var(--panel);padding:10px 14px;margin:10px 0;font-size:18px}
.adm .qmap{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:10px 0}
.adm .qtile{font:inherit;color:var(--ink);text-align:left;background:var(--panel);border:2px solid var(--line);padding:6px;cursor:pointer;display:flex;flex-direction:column;gap:4px}.adm .qtile:hover,.adm .qtile:focus-visible{border-color:var(--blue);outline:2px solid var(--blue)}
.adm .qtile b{font-size:15px;line-height:1.15}.adm .qst{letter-spacing:1px}
.adm .qpic{border:2px solid var(--line);background:var(--bg);overflow:hidden;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center}.adm .qpic img,.adm .qpic svg{width:100%;height:100%;object-fit:contain;display:block}.adm .qpic.gold{border-color:#ffaa00;box-shadow:0 0 0 3px #ffaa00}
.adm .qplay{display:grid;grid-template-columns:minmax(200px,300px) 1fr;gap:16px;align-items:start;margin:10px 0}@media(max-width:760px){.adm .qplay{grid-template-columns:1fr}}
.adm .qside{border:2px solid var(--line);background:var(--panel);padding:10px}.adm .qname{margin-top:8px;font-size:18px}
.adm .qchips{display:flex;flex-wrap:wrap;gap:4px}.adm .qchip{font:inherit;font-size:13px;color:var(--ink);background:var(--bg);border:2px dashed var(--line);padding:1px 6px;cursor:pointer;display:inline-flex;align-items:center;gap:3px}.adm .qchip.done{border-style:solid;background:var(--blue);color:var(--bg)}.adm .qchip.now{outline:3px solid #ffaa00;animation:qblink 1s steps(2) infinite}
.adm .qmain{position:relative;margin:0}.adm .qkind{display:flex;align-items:center;gap:8px;font-size:20px}.adm .qwh{margin:0 0 8px;color:var(--mute)}
.adm .qcimg{margin:0 0 8px}.adm .qcimg img{max-width:100%;max-height:260px;border:2px solid var(--line);display:block;background:#fff}
.adm .qpop{position:absolute;right:16px;top:8px;font-size:30px;color:#00aa00;font-weight:bold;animation:qfloat 1.2s ease-out forwards;pointer-events:none}
.adm .qcombo{position:absolute;right:16px;top:44px;color:#cc5500;font-weight:bold}
.adm .qadd{border:2px dashed var(--line);padding:8px 12px;margin:10px 0}.adm .qadd .abar input{flex:1 1 220px}.adm .qres .btn{margin:2px}
@keyframes qfloat{from{transform:translateY(0);opacity:1}to{transform:translateY(-34px);opacity:0}}@keyframes qblink{50%{outline-color:transparent}}@keyframes qpulse{50%{background:var(--bg)}}
@media (prefers-reduced-motion:reduce){.adm .qpop,.adm .qaward,.adm .qchip.now{animation:none}}

/* play pages and admin review */
.pl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.pl-grid em{display:block;color:var(--lk);font-style:normal;margin-top:4px}
.pl-pbar{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;border:2px solid var(--line);background:var(--panel);padding:6px 12px;margin:0 0 12px}.pl-pbar .mbar{min-width:120px;flex:0 1 200px}
.pl-award{border:2px solid var(--line);background:var(--panel);padding:6px 10px;margin:8px 0;display:flex;flex-wrap:wrap;gap:6px 14px}.pl-nb{display:inline-flex;gap:4px;align-items:center}
.pl-badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.pl-bd{border:2px solid var(--line);padding:10px;background:var(--panel);display:flex;flex-direction:column;gap:2px;opacity:.6}.pl-bd.on{opacity:1;border-color:var(--blue)}.pl-bd .pl-q{font-size:30px}.pl-rec th{text-align:left;padding:4px 14px 4px 0}
.pl-vs{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}.pl-vsc{border:2px solid var(--line);background:var(--panel);padding:8px;text-align:center}.pl-vsc h3{margin:6px 0}.pl-vsx{font-size:28px;font-weight:bold}.pl-price{font-size:26px;margin:4px 0}.pl-fb1{padding:6px 10px;border:2px solid var(--line)}.pl-fb1.ok{border-color:#008800}.pl-fb1.no{border-color:#b00d1e}
@media(max-width:700px){.pl-vs{grid-template-columns:1fr}.pl-vsx{text-align:center}}
.pl-sort{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:10px 0}.pl-sc{font:inherit;text-align:left;border:2px solid var(--line);background:var(--panel);color:var(--ink);padding:10px;cursor:pointer;display:flex;flex-direction:column;gap:2px;min-height:84px}.pl-sc i{font-style:normal;font-size:24px;min-height:28px;color:var(--blue)}.pl-sc.on{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue)}.pl-sc.ok{border-color:#008800}.pl-sc.no{border-color:#b00d1e}.pl-sc:disabled{cursor:default}
.pl-mys .pl-art{filter:blur(var(--b,0px))}html[data-motion=on] .pl-mys .pl-art{transition:filter .6s}.pl-opts .btn.ok{border-color:#008800;box-shadow:0 0 0 2px #008800}.pl-opts .btn.no{border-color:#b00d1e;box-shadow:0 0 0 2px #b00d1e}
.pl-sq i.half{background:#c98a00}.pl-cal{display:flex;gap:4px}.pl-cd{width:22px;height:22px;border:2px solid var(--line);display:inline-block}.pl-cd.perfect{background:#e6b800}.pl-cd.ok{background:#00aa00}.pl-cd.miss{background:#aa0000}.pl-stats{border:2px solid var(--line);padding:6px 12px;margin:12px 0}
.pl-wanted{border:3px double var(--line);background:var(--panel);padding:8px 12px;margin:10px 0}.pl-wanted ul{margin:4px 0 4px 18px}.pl-wanted li.ok{color:var(--ink);font-weight:bold}.pl-wanted li.ok::after{content:" \2713"}.pl-hint{border-left:6px solid var(--blue);padding:4px 10px;background:var(--panel)}
.pl-stk label{margin-right:12px;white-space:nowrap}.pl-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.pl-gal figure{margin:0;border:2px solid var(--line);padding:6px;background:var(--panel)}.pl-gal .th>svg{width:100%;height:auto;display:block}
.fx-term{position:fixed;inset:0;z-index:9998;background:#000;color:#55ff55;padding:5vh 6vw;font-family:"Courier New",monospace;font-size:20px;cursor:pointer}.fx-term pre{white-space:pre-wrap;margin:0 0 1em;font:inherit;color:#55ff55}.fx-term p{color:#aaa;font-size:14px}
.fx-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:9999;background:var(--ink);color:var(--bg);padding:8px 16px;border:2px solid var(--line)}
.fx-saver{position:fixed;inset:0;width:100vw;height:100vh;z-index:9997;background:#000;cursor:none}
.pl-bingo{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;max-width:760px;margin:10px 0}.pl-bc{min-width:0;overflow:hidden;hyphens:auto;font:inherit;font-size:14px;aspect-ratio:1;border:2px solid var(--line);background:var(--panel);color:var(--ink);padding:4px;cursor:pointer;word-break:break-word;display:flex;align-items:center;justify-content:center;text-align:center}.pl-bc.on{background:var(--blue);color:var(--blue-ink)}.pl-bc.win{box-shadow:0 0 0 3px #e6b800 inset}.pl-bc:disabled{opacity:1;font-weight:bold}
@media(max-width:560px){.pl-bc{font-size:11px}}
.pl-word{font-size:34px;letter-spacing:2px;font-family:"Courier New",monospace;margin:10px 0;word-break:break-word}.pl-keys{display:flex;flex-wrap:wrap;gap:6px;max-width:700px}.pl-keys .btn{min-width:40px;text-align:center;padding:6px}.pl-clue{border-left:6px solid var(--blue);padding:2px 10px;background:var(--panel)}
.pl-flo{width:100%;max-width:700px;font-family:monospace;font-size:12px}#sq{width:100%;max-width:460px;box-sizing:border-box}.pl-sr{list-style:none;padding:0}.pl-sr li{padding:4px 0;border-bottom:1px dotted var(--line)}.ihero .watch{margin:6px 0}
.pl-hud{display:flex;flex-wrap:wrap;gap:6px 18px}.pl-hud span{border-bottom:2px solid var(--line)}
.pl-case{max-width:420px}.pl-case .ph{border:3px double var(--line);position:relative}.pl-art{position:relative}.pl-art svg{width:100%;height:100%;display:block}
.pl-q h3,.pl-res h3{font-size:26px;margin:10px 0}.pl-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;max-width:760px}.pl-opts .btn{text-align:left;font-size:18px;padding:10px 14px}
.pl-pip{display:inline-block;width:14px;height:14px;border:2px solid var(--line);margin-right:4px;vertical-align:middle}.pl-pip.on{background:var(--blue)}.pl-pip.now{outline:2px solid var(--blue)}
.pl-sq{display:flex;gap:6px;margin:6px 0}.pl-sq i{width:30px;height:30px;border:2px solid var(--line)}.pl-sq i.ok{background:#00aa00}.pl-sq i.no{background:#aa0000}
.pl-fb{padding-left:0;list-style:none}.pl-fb li{border-left:6px solid var(--line);padding:4px 10px;margin:6px 0}.pl-fb li.ok{border-color:#00aa00}.pl-fb li.no{border-color:#aa0000}
.pl-share textarea{width:100%;max-width:520px;font:inherit;background:var(--panel);color:var(--ink);border:2px solid var(--line);padding:8px}
.pl-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.pl-slot{border:2px solid var(--line);background:var(--panel);padding:8px 10px;margin:0}.pl-slot legend{padding:0 6px}
.pl-opt{display:flex;gap:8px;align-items:flex-start;padding:6px;border:2px solid transparent;cursor:pointer}.pl-opt.on{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,var(--panel))}.pl-opt input{margin-top:5px}.pl-opt small{display:block;color:var(--mute)}.pl-cost{float:right;margin-left:10px;font-style:normal;border:2px solid var(--line);padding:0 6px;font-size:14px}
.pl-meter{margin:10px 0;font-size:18px}.pl-meter.over{color:#aa0000}.pl-meter.over .mbar{border-color:#aa0000}
.pl-games{list-style:none;padding:0;columns:2 280px}.pl-games li{padding:2px 8px;border-left:6px solid var(--line);margin:3px 0;break-inside:avoid}.pl-games li.great{border-color:#00aa00}.pl-games li.ok{border-color:#55aa55}.pl-games li.no{border-color:#aa0000}
.pl-ctl{display:flex;flex-wrap:wrap;gap:12px}.pl-ctl fieldset{border:2px solid var(--line);background:var(--panel)}.pl-ctl label{display:block;padding:2px 0}
.pl input[type=text],.pl input:not([type]),.pl select{max-width:100%;width:min(100%,460px);font:inherit}.pl-prev{border:3px double var(--line);max-width:760px;background:#888}.pl-prev>svg{width:100%;height:auto;display:block}
.adm .rvd{border:2px solid var(--line);background:var(--panel);margin:8px 0;padding:6px 10px}.adm .rvt{border-collapse:collapse;width:100%}.adm .rvt th{text-align:left;width:130px;vertical-align:top;padding:3px 6px}.adm .rvt td{padding:3px 6px;word-break:break-word}.adm .rvt del{color:#aa0000}.adm .rvt ins{color:#007700;text-decoration:none}
.sg[data-theme="default"],.sg[data-theme="clean"]{--bg:#d6d1c4;--panel:#e8e4d8;--ink:#15151a;--mute:#54524a;--blue:#0000aa;--blue-ink:#fff;--line:#15151a;--lk:#0a1fb4;--lk-v:#5b1a9c;--lk-h:#b00d1e}
.sg[data-theme="dark"]{--bg:#0d1230;--panel:#161c44;--ink:#eceefb;--mute:#a4a9d0;--blue:#55ffff;--blue-ink:#0d1230;--line:#eceefb;--lk:#8fe3ff;--lk-v:#d7b8ff;--lk-h:#ffe14d}
.sg[data-theme="green"]{--bg:#031403;--panel:#082408;--ink:#4dff6e;--mute:#2fb84a;--blue:#4dff6e;--blue-ink:#031403;--line:#2fb84a;--lk:#b4ffc2;--lk-v:#7be28f;--lk-h:#ffffff}
.sg[data-theme="amber"]{--bg:#140c00;--panel:#221400;--ink:#ffb000;--mute:#b87d00;--blue:#ffb000;--blue-ink:#140c00;--line:#b87d00;--lk:#ffd978;--lk-v:#e0a63c;--lk-h:#ffffff}
.sg[data-theme="ega"]{--bg:#0000aa;--panel:#0000c8;--ink:#fff;--mute:#aaf;--blue:#55ffff;--blue-ink:#000080;--line:#fff;--lk:#ffff6a;--lk-v:#ffb3ff;--lk-h:#ffffff}
.sg{background:var(--bg);color:var(--ink);padding:14px;border:3px solid var(--line);margin:14px 0}.sg[data-theme="green"],.sg[data-theme="amber"],.sg[data-theme="ega"]{font-family:"VT323","Courier New",monospace;font-size:21px}
.sg h3{margin:0 0 8px}.sg-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}.sg a{color:var(--lk)}.sg a:visited{color:var(--lk-v)}
.sg .btn{background:var(--panel);color:var(--ink);border:2px solid var(--line)}.sg .btn.pri{background:var(--blue);color:var(--blue-ink)}.sg .mbar{border-color:var(--line);background:var(--bg)}.sg .mbar i{background:var(--blue)}
.sg .qchip{font:inherit;font-size:13px;color:var(--ink);background:var(--bg);border:2px dashed var(--line);padding:1px 6px}.sg .qchip.done{border-style:solid;background:var(--blue);color:var(--blue-ink)}
.sg .qbd{display:inline-block;font-size:13px;padding:1px 8px;border:2px dashed var(--line)}.sg .qbd.on{border-style:solid;background:var(--blue);color:var(--blue-ink)}
.sg .msg{padding:8px 12px;border:2px solid var(--line);background:var(--panel);margin:8px 0}.sg .msg.err{border-color:#ff5555}.sg .msg.ok{border-color:#55cc55}
.sg .cz{min-height:80px;overflow:hidden}.sg-sw{display:flex;flex-wrap:wrap;gap:4px}.sg-sw i{width:70px;padding:10px 4px;border:2px solid var(--line);font-style:normal;font-size:12px;text-align:center}
/* item hero, photo placards, motion */
.ihero{border:3px double var(--line);background:var(--panel);padding:12px 16px;margin:12px 0}.ihero .tb{margin-bottom:6px}.ihero h2{font-size:44px;line-height:1;margin:2px 0 10px}
.ibs{display:flex;flex-wrap:wrap;gap:8px}.ib{display:inline-flex;align-items:center;gap:6px;border:2px solid var(--line);background:var(--bg);color:var(--ink);padding:2px 10px;font-size:15px}.ib small{color:inherit;opacity:.75;text-transform:uppercase;letter-spacing:.5px;font-size:11px}.ib b{font-weight:600}
.ihs{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin-top:12px;padding-top:10px;border-top:2px dashed var(--line);font-size:15px}.ihs>b{font-family:"VT323",monospace;font-size:20px;font-weight:400}.ihs a:not(.btn){display:inline-flex;align-items:center;gap:5px;border:2px solid var(--line);padding:1px 8px;background:var(--bg);text-decoration:none}.ihs a small{opacity:.7}
.dl .ph,.detail .ph{border:3px double var(--line);box-shadow:6px 6px 0 color-mix(in srgb,var(--line) 70%,transparent)}
.ph .cm-photo,.ph>img{transition:transform .45s ease}.ph:hover .cm-photo,.ph:hover>img{transform:scale(1.05)}
.ph:has(.cm-photo)::after{content:"REAL PHOTO";position:absolute;left:0;bottom:0;background:var(--blue);color:var(--blue-ink);font:400 14px/1 "VT323",monospace;padding:3px 8px;letter-spacing:1px}
.cm-credit{display:block;border:2px solid var(--line);border-top:0;background:var(--panel);color:var(--ink);padding:3px 8px;font-size:12px;line-height:1.35;margin:-2px 0 10px}.cm-credit a{color:var(--lk)}
/* ---- CRT screen effects. Controlled by the Screen button: data-crt = off | on | max. All motion respects the Motion button. ---- */
#crtfx{position:fixed;inset:0;pointer-events:none;z-index:16;overflow:hidden;box-shadow:inset 0 0 110px rgba(0,0,0,.2)}
#crtfx i{position:absolute;display:block}
.fx-noise{inset:-20px;opacity:.05;mix-blend-mode:multiply;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
.fx-roll{left:0;right:0;top:-18vh;height:16vh;background:linear-gradient(180deg,transparent,rgba(255,255,255,.06),transparent);opacity:0}
html[data-crt=off] #crtfx,html[data-crt=off] body::after{display:none}
html[data-crt=max] #crtfx{box-shadow:inset 0 0 190px rgba(0,0,0,.45),inset 0 0 0 2px rgba(0,0,0,.25);border-radius:22px}
html[data-crt=max] .fx-noise{opacity:.09}html[data-crt=max] body::after{background:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 1px,transparent 1px 3px)}
html:not([data-crt=off]) h1,html:not([data-crt=off]) h2{text-shadow:0 0 7px color-mix(in srgb,var(--ink) 28%,transparent)}
html[data-crt=max] h1,html[data-crt=max] h2{text-shadow:-1px 0 rgba(255,40,40,.5),1px 0 rgba(0,190,255,.5),0 0 9px color-mix(in srgb,var(--ink) 30%,transparent)}
:root[data-theme=green]:not([data-crt=off]) main,:root[data-theme=amber]:not([data-crt=off]) main,:root[data-theme=ega]:not([data-crt=off]) main{text-shadow:0 0 3px color-mix(in srgb,var(--ink) 55%,transparent)}
html[data-motion=on]:not([data-crt=off]) .fx-noise{animation:fxnoise .6s steps(6) infinite}
@keyframes fxnoise{0%{transform:translate(0,0)}20%{transform:translate(-18px,9px)}40%{transform:translate(11px,-15px)}60%{transform:translate(-9px,-6px)}80%{transform:translate(15px,12px)}100%{transform:translate(0,0)}}
html[data-motion=on]:not([data-crt=off]) .fx-roll{opacity:1;animation:fxroll 9s linear infinite}
@keyframes fxroll{from{transform:translateY(0)}to{transform:translateY(130vh)}}
html[data-motion=on][data-crt=max] body{animation:fxflick 5s steps(1) infinite}
@keyframes fxflick{0%,92%,100%{opacity:1}93%{opacity:.965}95%{opacity:.99}97%{opacity:.97}}
html[data-motion=on]:not([data-crt=off]) header,html[data-motion=on]:not([data-crt=off]) main,html[data-motion=on]:not([data-crt=off]) footer{animation:fxpower .75s cubic-bezier(.2,.8,.3,1) 1}
@keyframes fxpower{0%{transform:scale(1,.004);filter:brightness(7);opacity:.9}35%{transform:scale(1,.004);filter:brightness(7)}60%{transform:scale(1,1.02);filter:brightness(2.4)}100%{transform:none;filter:none;opacity:1}}
html[data-motion=on]:not([data-crt=off]) #app.crt h2:first-of-type{animation:fxtype .5s steps(14) 1}
@keyframes fxtype{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
html[data-motion=on][data-crt=max] a:hover,html[data-motion=on][data-crt=max] .btn:hover{animation:fxglitch .22s steps(2) 1}
@keyframes fxglitch{0%{text-shadow:2px 0 rgba(255,40,40,.7),-2px 0 rgba(0,190,255,.7)}50%{text-shadow:-2px 0 rgba(255,40,40,.7),2px 0 rgba(0,190,255,.7)}100%{text-shadow:none}}
/* ---- new pages ---- */
.tour-say{font-size:20px;border-left:6px solid var(--blue);padding:4px 12px;background:var(--panel)}
.mx-filters{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:end;margin:8px 0}.mx-filters label{display:flex;flex-direction:column;gap:2px;font-size:14px}.mx-n{width:92px}
.mx-wrap{overflow-x:auto;max-width:100%}.era input[type=range]{max-width:60vw}.mx-t,.mx-cmp table{border-collapse:collapse;width:100%}.mx-t th,.mx-t td,.mx-cmp th,.mx-cmp td{border:1px solid var(--line);padding:4px 8px;text-align:left;vertical-align:top}.mx-t tr.on{background:var(--panel)}.mx-sort{font:inherit;background:none;border:0;color:var(--ink);cursor:pointer;font-weight:bold}.mx-cmp{overflow-x:auto;margin:10px 0}
.mx-bar{display:inline-block;width:90px;height:10px;border:1px solid var(--line);vertical-align:middle}.mx-bar i{display:block;height:100%;background:var(--blue)}
.mx-spec{border:2px solid var(--line);padding:8px 12px;background:var(--panel)}.mx-r{display:inline-block;margin-right:12px}.mx-vis{width:100%;max-width:640px;border:2px solid var(--line);background:#000}
.z-scroll{overflow-x:auto;border:2px solid var(--line);background:var(--bg);cursor:grab;touch-action:pan-x pan-y}.z-scroll:focus{outline:3px solid var(--blue)}.z-inner{position:relative}.z-axis{position:relative;height:24px;border-bottom:2px solid var(--line)}.z-axis span{position:absolute;top:2px;font-size:13px;border-left:1px solid var(--line);padding-left:3px}
.z-lane{position:relative;border-bottom:1px solid var(--line)}.z-lt{position:sticky;left:6px;top:0;display:inline-block;background:var(--panel);border:1px solid var(--line);padding:0 6px;font-size:12px;z-index:3}
.zn{position:absolute;font:inherit;font-size:12px;line-height:18px;height:20px;padding:0 4px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;white-space:nowrap;display:inline-flex;gap:3px;align-items:center}.zn:hover,.zn:focus{background:var(--blue);color:var(--blue-ink);z-index:4}.zn.z-gt,.zn.z-gn,.zn.z-gc{border-style:dashed}
.z-mini{position:relative;height:14px;border:2px solid var(--line);margin:6px 0;cursor:pointer;background:var(--panel)}.z-mini i{position:absolute;top:0;bottom:0;background:var(--blue);opacity:.7}.z-pop{border:2px solid var(--line);padding:8px 12px;margin:8px 0;background:var(--panel);min-height:48px}
.mine-row{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;border-bottom:1px dotted var(--line);padding:6px 0}.mine-add{display:inline-block;margin:2px 8px 2px 0}.mine-set{margin:6px 0}.mine-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.mine-it{text-decoration:none;color:var(--ink);font-size:13px;text-align:center}.mine-it .pl-art,.mine-it .ph{margin:0}.mine-it svg,.mine-it img{max-width:100%;height:auto}
.mx-forms{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.mx-form{border:2px solid var(--line);padding:10px 14px;background:var(--panel);display:flex;flex-direction:column;gap:8px}.mx-form label{display:flex;flex-direction:column;gap:2px}.mx-form input,.mx-form textarea{font:inherit;max-width:100%;box-sizing:border-box}
.mx-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.mx-mem{margin:0;border:2px solid var(--line);padding:10px;background:var(--panel)}.mx-mem blockquote{margin:6px 0}
.tv{max-width:760px}.tv-bezel{background:#3a3228;border:6px solid #1c1812;border-radius:26px;padding:22px;box-shadow:inset 0 0 18px #000}.tv-screen{position:relative;aspect-ratio:16/9;background:#000;border-radius:18px/22px;overflow:hidden;box-shadow:inset 0 0 40px rgba(0,0,0,.8)}.tv-screen iframe{width:100%;height:100%;border:0}
.tv-nosig{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;background:repeating-linear-gradient(0deg,#222 0 3px,#444 3px 6px)}.tv-static{position:absolute;inset:0;pointer-events:none;opacity:0;background:repeating-linear-gradient(0deg,#fff 0 2px,#000 2px 4px);mix-blend-mode:difference}.tv-static.on{opacity:.8}
.tv-ctl{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin-top:10px;font-family:"Courier New",monospace}.tv-ch{background:#000;color:#55ff55;padding:2px 8px;border:2px solid var(--line)}.tv-btns{margin-left:auto}
.tv-guide{list-style:none;padding:0;max-width:760px}.tv-g{font:inherit;width:100%;text-align:left;border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:6px 10px;cursor:pointer;margin-bottom:3px}.tv-g.on{background:var(--blue);color:var(--blue-ink)}.tv-g small{float:right}
.mx-cards{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}.mx-card{flex:0 0 min(300px,80vw);aspect-ratio:9/16;scroll-snap-align:start;border:3px solid #55ffff;background:linear-gradient(#0b1030,#000);color:#fff;padding:14px;display:flex;flex-direction:column;gap:6px;overflow:hidden}.mx-card h3{color:#ffff55;margin:6px 0}.mx-card .mx-ch{background:#000080;padding:2px 6px;font-size:12px}.mx-card .btn{margin-top:auto}.mx-card small{color:#55ffff}
.fx-era{position:fixed;left:8px;bottom:8px;z-index:9996;background:#000080;color:#fff;border:2px solid #fff;padding:4px 10px;font-family:"Courier New",monospace;font-size:14px;display:flex;gap:10px;align-items:center}.fx-era a,.fx-era button{color:#ffff55;background:none;border:0;font:inherit;cursor:pointer;text-decoration:underline}
.st-cal{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}.st-day{border:1px solid currentColor;padding:4px;min-width:0;font-size:.85em}.st-day input,.st-day select{width:100%;max-width:100%}
/* catalog: style switch, pro tools */
.cpanel{border:2px solid var(--line);background:var(--panel);padding:8px 12px;margin:0 0 10px}.cpanel[hidden]{display:none}
.cact{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.cjump{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 14px}.cgh{margin:22px 0 10px;padding:4px 10px;background:var(--blue);color:var(--bg);scroll-margin-top:70px}.cgh small{opacity:.8}
.cmore{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:18px 0}
.crows{display:flex;flex-direction:column;gap:6px}.crw{display:grid;grid-template-columns:56px minmax(0,1fr) 140px 110px auto;gap:10px;align-items:center;text-decoration:none;border:2px solid var(--line);background:var(--panel);padding:4px 8px}.crw:hover{border-color:var(--blue);box-shadow:3px 3px 0 var(--blue)}
.crw-p{height:42px;overflow:hidden;display:block}.crw-p img,.crw-p svg{width:100%;height:100%;object-fit:cover;display:block}.crw-n b{display:block;font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crw-n small,.crw-c{color:var(--mute);font-size:13px}
.crw-s{position:relative;height:16px;border:1px solid var(--line);background:var(--bg)}.crw-s i{position:absolute;left:0;top:0;bottom:0}.crw-s em{position:relative;font:12px/14px inherit;padding-left:4px;font-style:normal}
.ctab{border-collapse:collapse;width:100%;font-size:14px}.ctab th,.ctab td{border:1px solid var(--line);padding:3px 8px;text-align:left}.ctab th{background:var(--blue);color:var(--bg)}
@media(max-width:700px){.crw{grid-template-columns:48px minmax(0,1fr) 70px}.crw-c,.crw .tag{display:none}}
/* catalog: mail-order book */
/* ===== Catalog book v2 (bending leaf, desk, tabs) ===== */
.srcb{display:inline-flex;align-items:center;gap:.4em;font:700 11px/1.2 "Courier New",monospace;padding:.18em .55em;border:1px solid currentColor;border-radius:2px;background:rgba(255,255,255,.75);text-transform:uppercase;letter-spacing:.03em;vertical-align:middle;white-space:nowrap}
.srcb-ebay{color:#4b2f93}.srcb-shopgoodwill{color:#0a6f5c}.srcb.big{font-size:13px;padding:.3em .7em}.srcrow{margin:6px 0}
.card .srcb{margin-top:4px;font-size:10px}
.bk-wrap{--paper:#f6efd6;--paper2:#ece1bd;--ink:#1d1a16;--red:#c3202f;--navy:#10307a;--yel:#ffd23f;--u:5px;margin:0 0 18px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
.bk-desk{position:relative;padding:30px 46px 44px 34px;border-radius:10px;background:radial-gradient(ellipse at 50% 35%,#2f7050 0,#1e4c37 55%,#112e20 100%);box-shadow:inset 0 0 70px rgba(0,0,0,.6),inset 0 0 0 3px #0b2016;overflow:hidden}
.bk-desk::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1.3px);background-size:7px 7px;pointer-events:none}
.bk-stage{position:relative}
.bk-book{--tl:2px;--tr:2px;--k:1;position:relative;display:flex;margin:0 auto;width:min(100%,1040px,calc(76vh*1.5));aspect-ratio:1.5/1;outline:none;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab}
.bk-book::after{content:"";position:absolute;inset:3% 1% -2% 1%;z-index:-1;border-radius:8px;box-shadow:0 26px 40px rgba(0,0,0,.6),0 4px 8px rgba(0,0,0,.5)}
.bk-book.grab{cursor:grabbing}
.bk-book.one{--k:1.5;width:min(100%,430px);aspect-ratio:.66/1;overflow:hidden;border-radius:6px}
.bk-half{position:relative;flex:1 1 50%;min-width:0;height:100%;background:var(--paper);color:var(--ink)}
.bk-L{border-radius:6px 0 0 6px;z-index:1}.bk-R{border-radius:0 6px 6px 0;z-index:2;perspective:2600px;perspective-origin:0 45%}
.bk-L::before,.bk-R::before{content:"";position:absolute;top:3px;bottom:-3px;pointer-events:none;z-index:-1}
.bk-L::before{right:100%;width:var(--tl);background:repeating-linear-gradient(90deg,#cbbf93 0 1px,#f1e8c8 1px 3px);border-radius:3px 0 0 3px;box-shadow:-2px 0 0 #7a1620}
.bk-R::before{left:100%;width:var(--tr);background:repeating-linear-gradient(90deg,#f1e8c8 0 2px,#cbbf93 2px 3px);border-radius:0 3px 3px 0;box-shadow:2px 0 0 #7a1620}
.bk-L::after,.bk-R::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:3}
.bk-L::after{background:linear-gradient(90deg,transparent 80%,rgba(70,45,10,.16) 94%,rgba(40,25,5,.4) 100%)}
.bk-R::after{background:linear-gradient(270deg,transparent 80%,rgba(70,45,10,.16) 94%,rgba(40,25,5,.4) 100%)}
.bk-book.one .bk-L{display:none}.bk-book.one .bk-R{flex:1 1 100%;border-radius:6px}.bk-book.one .bk-R::after{background:linear-gradient(270deg,transparent 92%,rgba(40,25,5,.25) 100%)}
.bk-book.one .bk-R::before{display:none}
.bk-book.closed .bk-R::after{background:none}
.bk-shd{position:absolute;inset:0;z-index:4;pointer-events:none}
.bk-R.turning{z-index:3}
.bk-leaf{position:absolute;left:0;top:0;z-index:6;transform-style:preserve-3d;pointer-events:none}
.bk-st{position:absolute;top:0;transform-origin:0 50%;transform-style:preserve-3d;will-change:transform}
.bk-sf,.bk-sb{position:absolute;inset:0;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--paper)}
.bk-sb{transform:rotateY(180deg)}
.bk-si{position:absolute;top:0}
.bk-ss{position:absolute;inset:0;background:#2a1a05;opacity:0;pointer-events:none}
.bk-rib{position:absolute;top:-9px;left:calc(50% - 7px);width:15px;height:calc(var(--u)*24);background:linear-gradient(90deg,#d62d3c,#9c1523);clip-path:polygon(0 0,100% 0,100% 100%,50% 88%,0 100%);z-index:8;transform-origin:50% 0;animation:bkswing 3.4s ease-in-out infinite;pointer-events:none}
.bk-book.one .bk-rib{left:12px}
/* page tabs on the right edge */
.bk-tabs{position:absolute;left:calc(100% + var(--tr) + 1px);top:5%;bottom:5%;display:flex;flex-direction:column;gap:3px;z-index:0}
.bk-tab{flex:1 1 0;max-height:9%;min-height:0;writing-mode:vertical-rl;background:var(--c);color:#fff;border:0;border-radius:0 7px 7px 0;font:700 10px/1 Arial,sans-serif;padding:0 5px 0 4px;cursor:pointer;transform:translateX(-3px);transition:transform .22s cubic-bezier(.2,.9,.3,1.4),filter .2s;overflow:hidden;white-space:nowrap;text-overflow:clip;box-shadow:2px 1px 3px rgba(0,0,0,.4)}
.bk-tab:hover,.bk-tab:focus-visible{transform:translateX(3px);filter:brightness(1.18)}.bk-tab.on{transform:translateX(7px)}
.bk-book.closed .bk-tabs{opacity:0;pointer-events:none}
.bk-book.one .bk-tabs{display:none}
/* pages */
.bk-pg{--f:calc(var(--u)*var(--k,1));position:absolute;inset:0;overflow:hidden;box-sizing:border-box;padding:calc(var(--u)*5) calc(var(--u)*5.5) calc(var(--u)*7);font-size:calc(var(--f)*2.05);line-height:1.25;background:var(--paper) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .45 0 0 0 0 .35 0 0 0 0 .15 0 0 0 .09 0'/></filter><rect width='120' height='120' filter='url(%23n)'/></svg>");color:var(--ink)}
.bk-pg a{color:inherit;text-decoration:none}
.bk-blank{background:var(--paper2)}
.bk-h{margin:0 0 .5em;font:900 calc(var(--f)*5.2)/1 Impact,"Arial Black",sans-serif;text-transform:uppercase;color:var(--navy);letter-spacing:.01em;text-shadow:calc(var(--f)*.3) calc(var(--f)*.3) 0 rgba(195,32,47,.35)}
.bk-h.sm{font-size:calc(var(--f)*3.4)}.bk-h2{margin:1em 0 .3em;font:900 calc(var(--f)*2.6)/1 Impact,"Arial Black",sans-serif;text-transform:uppercase;color:var(--red)}
.bk-note{font-style:italic;color:#5a4d2a;margin:.8em 0 0;font-size:calc(var(--f)*1.8)}
.bk-pn{position:absolute;left:calc(var(--u)*5.5);right:calc(var(--u)*5.5);bottom:calc(var(--u)*2.4);display:flex;justify-content:space-between;font-size:calc(var(--f)*1.5);color:#6b5a2a;border-top:1px solid #b9a56a;padding-top:3px}.bk-pn em{font-style:italic}
.bk-pn span{font-weight:900;font-size:calc(var(--f)*2)}
.bk-run{position:absolute;left:0;right:0;top:0;height:calc(var(--u)*5.2*var(--k,1));background:var(--c);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 calc(var(--u)*5.5);font:900 calc(var(--f)*1.9)/1 Impact,"Arial Black",sans-serif;text-transform:uppercase;letter-spacing:.1em}
.bk-run span{display:flex;align-items:center;gap:.5em}.bk-run i{font-style:normal;opacity:.85;font-size:.85em}
.bk-lay-hero,.bk-lay-grid,.bk-lay-list{padding-top:calc(var(--u)*7.4*var(--k,1))}
.bk-its{display:grid;gap:calc(var(--u)*2.6);height:100%}
.bk-lay-hero .bk-its{grid-template-columns:1fr 1fr;grid-template-rows:1.25fr 1fr}.bk-lay-hero .bk-m-big{grid-column:1/-1}
.bk-lay-grid .bk-its{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.bk-lay-list .bk-its{grid-template-columns:1fr;grid-auto-rows:1fr}
.bk-it{--c:#10307a;position:relative;display:flex;flex-direction:column;min-height:0;border:calc(var(--u)*.45) solid var(--c);background:#fffdf3;color:inherit;box-shadow:calc(var(--u)*.7) calc(var(--u)*.7) 0 rgba(30,20,0,.2);transition:transform .28s cubic-bezier(.2,.9,.3,1.35),box-shadow .28s}
.bk-it:hover,.bk-it:focus-visible{transform:translateY(-3px) rotate(-.7deg) scale(1.02);box-shadow:calc(var(--u)*1.2) calc(var(--u)*1.6) 0 rgba(30,20,0,.28);z-index:5}
.bk-m-big,.bk-m-list{flex-direction:row}.bk-m-big .bk-ph{flex:0 0 48%}.bk-m-list .bk-ph{flex:0 0 36%}
.bk-ph{position:relative;flex:1 1 0;min-height:0;min-width:0;background:linear-gradient(#fff,#e9e3cd);overflow:hidden;border-bottom:calc(var(--u)*.3) solid rgba(0,0,0,.12)}
.bk-m-big .bk-ph,.bk-m-list .bk-ph{border-bottom:0;border-right:calc(var(--u)*.3) solid rgba(0,0,0,.12)}
.bk-ph img,.bk-ph svg{display:block;width:100%;height:100%;object-fit:contain}
.bk-ph .ph{height:100%}
.bk-burst{position:absolute;right:calc(var(--u)*.6);top:calc(var(--u)*.6);width:calc(var(--f)*9);height:calc(var(--f)*9);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;clip-path:polygon(50.0% 0.0%,58.9% 11.0%,71.7% 5.0%,74.9% 18.7%,89.1% 18.8%,86.0% 32.6%,98.7% 38.9%,90.0% 50.0%,98.7% 61.1%,86.0% 67.4%,89.1% 81.2%,74.9% 81.3%,71.7% 95.0%,58.9% 89.0%,50.0% 100.0%,41.1% 89.0%,28.3% 95.0%,25.1% 81.3%,10.9% 81.2%,14.0% 67.4%,1.3% 61.1%,10.0% 50.0%,1.3% 38.9%,14.0% 32.6%,10.9% 18.8%,25.1% 18.7%,28.3% 5.0%,41.1% 11.0%);transform:rotate(8deg);line-height:1}
.bk-burst b{font:900 calc(var(--f)*2.6)/1 Impact,"Arial Black",sans-serif}.bk-burst i{font:700 calc(var(--f)*1.05)/1.05 Arial,sans-serif;font-style:normal;text-transform:uppercase;max-width:78%;margin-top:.1em}
.bk-stks{position:absolute;left:calc(var(--u)*.5);top:calc(var(--u)*.7);display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--u)*.6)}
.bk-stk{display:inline-block;font:900 calc(var(--f)*1.45)/1 Impact,"Arial Black",sans-serif;text-transform:uppercase;padding:.3em .6em;transform:rotate(-6deg);background:#ffe14d;color:#c3202f;border:2px solid #c3202f;box-shadow:1px 1px 0 rgba(0,0,0,.3);letter-spacing:.04em;white-space:nowrap}
.bk-stk.new{background:#c3202f;color:#fff;border-color:#fff;animation:bkpulse 1.6s ease-in-out infinite}
.bk-tx{flex:0 0 auto;padding:calc(var(--u)*1) calc(var(--u)*1.4) calc(var(--u)*1.2);display:flex;flex-direction:column;gap:.14em;min-width:0;overflow:hidden}
.bk-m-big .bk-tx,.bk-m-list .bk-tx{flex:1 1 0;justify-content:center}
.bk-no{font:700 calc(var(--f)*1.3)/1 "Courier New",monospace;color:var(--c);text-transform:uppercase;letter-spacing:.04em}
.bk-it h4{margin:.1em 0 0;font:800 calc(var(--f)*2.45)/1.1 "Helvetica Neue",Arial,sans-serif;color:var(--navy);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.bk-m-big h4{font-size:calc(var(--f)*3.3);-webkit-line-clamp:3}
.bk-mk{margin:0;color:#6b5a2a;font-size:calc(var(--f)*1.7)}
.bk-bl{margin:.2em 0;font-size:calc(var(--f)*1.7);color:#3b3321;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.bk-m-big .bk-bl{-webkit-line-clamp:5;font-size:calc(var(--f)*1.9)}
.bk-it ul{list-style:none;margin:.15em 0;padding:0;font-size:calc(var(--f)*1.5);color:#3b3321}.bk-it li{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.bk-m-grid ul li:nth-child(n+3){display:none}
.bk-it .srcb{font-size:calc(var(--f)*1.15);align-self:flex-start;margin-top:.15em}
.bk-it .srcb svg{width:1.1em;height:1.1em}
.bk-go{margin-top:auto;font:800 calc(var(--f)*1.5)/1 Arial,sans-serif;color:#fff;background:var(--c);padding:.35em .6em;align-self:flex-start;text-transform:uppercase;letter-spacing:.03em;border-radius:2px}
.bk-m-grid .bk-go,.bk-m-small .bk-go{display:none}
/* cover */
.bk-cover{padding:0;background:linear-gradient(155deg,#10307a 0,#2a1a7a 55%,#6a1a6e 100%);color:#fff;display:flex}
.bk-cover::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 22%,rgba(255,210,63,.45) 0,transparent 38%),repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 2px,transparent 2px 6px)}
.bk-cover::after{content:"";position:absolute;left:0;right:0;bottom:0;height:11%;background:var(--red);border-top:calc(var(--u)*.6) solid var(--yel)}
.bk-foil{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.28) 47%,rgba(255,225,130,.34) 50%,rgba(255,255,255,.2) 53%,transparent 62%);background-size:260% 100%;background-position:130% 0;animation:bkfoil 5.5s ease-in-out infinite}
.bk-ct{position:relative;z-index:1;margin:auto;padding:calc(var(--u)*4);text-align:center;width:100%}
.bk-ct small{display:block;letter-spacing:.34em;color:var(--yel);font-weight:800;font-size:calc(var(--f)*2)}
.bk-ct h3{margin:.1em 0;font:900 calc(var(--f)*8.6)/.95 Impact,"Arial Black",sans-serif;color:var(--yel);text-transform:uppercase;transform:skew(-5deg) rotate(-2deg);text-shadow:calc(var(--f)*.5) calc(var(--f)*.5) 0 var(--red),calc(var(--f)*1) calc(var(--f)*1) 0 #000}
.bk-ct h3 span{display:block}
.bk-sub{margin:.4em 0;font:800 calc(var(--f)*2.6) Arial,sans-serif;letter-spacing:.3em;color:#fff}
.bk-px{display:flex;justify-content:center;gap:calc(var(--u)*2.5);margin:calc(var(--u)*2.5) auto;padding:calc(var(--u)*1.6);background:#fff;width:max-content;max-width:90%;border:calc(var(--u)*.5) solid var(--yel);box-shadow:calc(var(--u)*.8) calc(var(--u)*.8) 0 rgba(0,0,0,.4);transform:rotate(1.5deg)}
.bk-seal{position:absolute;right:calc(var(--u)*4);top:calc(var(--u)*4);width:calc(var(--f)*11);height:calc(var(--f)*11);display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--yel);color:#c3202f;clip-path:polygon(50.0% 0.0%,58.9% 11.0%,71.7% 5.0%,74.9% 18.7%,89.1% 18.8%,86.0% 32.6%,98.7% 38.9%,90.0% 50.0%,98.7% 61.1%,86.0% 67.4%,89.1% 81.2%,74.9% 81.3%,71.7% 95.0%,58.9% 89.0%,50.0% 100.0%,41.1% 89.0%,28.3% 95.0%,25.1% 81.3%,10.9% 81.2%,14.0% 67.4%,1.3% 61.1%,10.0% 50.0%,1.3% 38.9%,14.0% 32.6%,10.9% 18.8%,25.1% 18.7%,28.3% 5.0%,41.1% 11.0%);transform:rotate(12deg);font:900 calc(var(--f)*1.7)/1.05 Impact,sans-serif;text-transform:uppercase;text-align:center;animation:bkpulse 2.4s ease-in-out infinite}
.bk-seal b{font-size:calc(var(--f)*4.6);display:block}
.bk-cs{margin:.4em 0 0;font-size:calc(var(--f)*2);opacity:.92}
.bk-lab{z-index:3;position:absolute;left:calc(var(--u)*5);bottom:calc(var(--u)*13);margin:0;background:#fff;color:#000;padding:calc(var(--u)*1) calc(var(--u)*2);font:700 calc(var(--f)*1.5)/1.3 "Courier New",monospace;text-align:left;transform:rotate(-3deg);box-shadow:1px 1px 0 rgba(0,0,0,.4)}
.bk-hint{z-index:3;position:absolute;left:0;right:0;bottom:calc(var(--u)*2.8);margin:0;font:800 calc(var(--f)*1.9) Arial,sans-serif;color:#fff;animation:bkhint 1.8s ease-in-out infinite}
/* welcome, toc, index, dividers, corner, order, back */
.bk-leg{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--u)*2);margin:calc(var(--u)*2) 0}.bk-leg>div{display:flex;flex-direction:column;align-items:flex-start;gap:.3em;font-size:calc(var(--f)*1.7)}.bk-leg p{margin:0}
.bk-leg .bk-burst{position:static;transform:rotate(6deg)}.bk-leg .bk-stk{position:static}
.bk-how{margin:0;padding-left:1.1em}.bk-how li{margin:.2em 0}
.bk-toc,.bk-ix{list-style:none;margin:0;padding:0}.bk-toc li a,.bk-ix li a{display:flex;align-items:baseline;gap:.3em;padding:.22em 0}
.bk-toc li a{font-size:calc(var(--f)*2.5);font-weight:700}
.bk-toc u{display:inline-block;width:.7em;height:.7em;background:var(--c,#123);margin-right:.4em;text-decoration:none}
.bk-toc li a>span{display:flex;align-items:center;gap:.3em}.bk-toc small{color:#6b5a2a;font-weight:400}
.bk-toc i,.bk-ix i{flex:1;border-bottom:2px dotted rgba(0,0,0,.38);min-width:1em;transform:translateY(-.3em)}.bk-toc b,.bk-ix b{font-weight:900}
.bk-ix{column-count:2;column-gap:calc(var(--u)*3);font-size:calc(var(--f)*1.7)}.bk-ix li{break-inside:avoid}.bk-ix li a{padding:.08em 0}.bk-ix li a>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:75%}
.bk-book.one .bk-ix{column-count:1}
.bk-toc li a:hover span,.bk-ix li a:hover span{color:var(--red)}
.bk-div{background:var(--c);color:#fff;padding:0}.bk-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.26) 24%,transparent 26%);background-size:calc(var(--u)*3) calc(var(--u)*3);-webkit-mask-image:linear-gradient(135deg,#000 0,transparent 75%);mask-image:linear-gradient(135deg,#000 0,transparent 75%)}
.bk-dv{position:relative;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:calc(var(--u)*1.4);padding:calc(var(--u)*6)}
.bk-dv small{letter-spacing:.4em;font-weight:800;font-size:calc(var(--f)*1.9);opacity:.9}.bk-ic{display:block;background:#fff;padding:calc(var(--u)*2);border:calc(var(--u)*.6) solid var(--yel);box-shadow:calc(var(--u)*1) calc(var(--u)*1) 0 rgba(0,0,0,.35);transform:rotate(-3deg)}
.bk-dv h3{margin:0;font:900 calc(var(--f)*8)/.95 Impact,"Arial Black",sans-serif;text-transform:uppercase;text-shadow:calc(var(--f)*.4) calc(var(--f)*.4) 0 rgba(0,0,0,.35)}
.bk-dv p{margin:0;font-size:calc(var(--f)*2.2);font-weight:700}
.bk-pk{margin-top:calc(var(--u)*1.5);background:var(--yel);color:#c3202f;padding:calc(var(--u)*1) calc(var(--u)*2.4);transform:rotate(-2deg);font-weight:800;max-width:90%;box-shadow:calc(var(--u)*.6) calc(var(--u)*.6) 0 rgba(0,0,0,.35)}.bk-pk b{display:block;font:900 calc(var(--f)*1.4) Impact,sans-serif;letter-spacing:.1em;text-transform:uppercase}.bk-pk span{font-size:calc(var(--f)*2)}
.bk-div .bk-pn{color:#fff;border-color:rgba(255,255,255,.5)}
.bk-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--u)*1.6);margin:calc(var(--u)*1) 0 calc(var(--u)*2)}.bk-facts div{background:var(--c);color:#fff;text-align:center;padding:calc(var(--u)*1.4) 0;box-shadow:calc(var(--u)*.6) calc(var(--u)*.6) 0 rgba(0,0,0,.2)}.bk-facts b{display:block;font:900 calc(var(--f)*3.6)/1 Impact,sans-serif}.bk-facts span{font-size:calc(var(--f)*1.4);text-transform:uppercase;letter-spacing:.06em}
.bk-spot{border:calc(var(--u)*.5) dashed var(--c);padding:calc(var(--u)*2);background:#fffbe6}.bk-spot small{display:block;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--c);font-size:calc(var(--f)*1.4)}.bk-spot b{display:block;font:800 calc(var(--f)*3) Arial,sans-serif;color:var(--navy);margin:.2em 0}.bk-spot span{color:#6b5a2a}
.bk-cut,.bk-order .bk-cut{margin:calc(var(--u)*3) 0 0;text-align:center;color:#7a6a3a;border-top:2px dashed #7a6a3a;padding-top:.5em;font-size:calc(var(--f)*1.6)}
.bk-lines{height:70%;background:repeating-linear-gradient(transparent 0 calc(var(--u)*4.4),rgba(16,48,122,.25) calc(var(--u)*4.4) calc(var(--u)*4.5))}
.bk-ord{display:grid;gap:calc(var(--u)*1.8);margin:calc(var(--u)*2) 0}.bk-ord a{display:block;border:calc(var(--u)*.45) solid var(--navy);padding:calc(var(--u)*1.4) calc(var(--u)*2);background:#fffdf3;box-shadow:calc(var(--u)*.6) calc(var(--u)*.6) 0 rgba(0,0,0,.2);transition:transform .2s}.bk-ord a:hover{transform:translate(-2px,-2px) rotate(-.5deg)}.bk-ord b{display:block;font-size:calc(var(--f)*2.6);color:var(--red)}
.bk-backc{background:linear-gradient(155deg,#2a1a7a,#10307a);color:#fff;padding:0}.bk-bt{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:calc(var(--u)*2);padding:calc(var(--u)*6)}.bk-bt h3{margin:0;font:900 calc(var(--f)*6)/1 Impact,sans-serif;color:var(--yel);text-transform:uppercase}.bk-bar{width:60%;height:calc(var(--u)*9);background:repeating-linear-gradient(90deg,#fff 0 2px,transparent 2px 5px,#fff 5px 6px,transparent 6px 10px,#fff 10px 13px,transparent 13px 15px);border:calc(var(--u)*1) solid #fff}
.bk-lay-hero.n1 .bk-its{grid-template-rows:minmax(0,1fr) auto}.bk-lay-hero.n1 .bk-also{grid-column:1/-1}
.bk-also{display:flex;flex-wrap:wrap;align-content:flex-start;gap:calc(var(--u)*1);padding:calc(var(--u)*1.6);border:calc(var(--u)*.45) dashed #7a6a3a;background:#fffbe6;min-width:0}
.bk-also b{flex:0 0 100%;font:900 calc(var(--f)*1.9)/1 Impact,"Arial Black",sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--red)}
.bk-chip{display:inline-flex;align-items:center;gap:.4em;background:var(--c);color:#fff!important;padding:.3em .7em;font-weight:800;font-size:calc(var(--f)*1.6);border-radius:2px;box-shadow:calc(var(--u)*.4) calc(var(--u)*.4) 0 rgba(0,0,0,.25);transition:transform .2s cubic-bezier(.2,.9,.3,1.4)}.bk-chip:hover{transform:translateY(-2px) rotate(-1deg)}.bk-chip svg{background:#fff;padding:1px}
.bk-roll{list-style:none;margin:0;padding:0;font-size:calc(var(--f)*1.8)}.bk-roll li a{display:flex;align-items:center;gap:.5em;padding:.2em 0}.bk-roll span{font-weight:700;color:var(--navy);max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bk-roll i{flex:1;border-bottom:2px dotted rgba(0,0,0,.35);min-width:1em;transform:translateY(-.25em)}.bk-roll em{font-style:normal;color:#6b5a2a}.bk-roll b{padding:.1em .5em;font:900 .9em Impact,sans-serif;border-radius:2px}.bk-roll li a:hover span{color:var(--red)}
/* controls */
.bk-ctl,.bk-ctl2{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;margin:10px 0 0}.bk-jump select{margin-left:6px}.bk-thumb{display:flex;align-items:center;gap:8px}.bk-thumb input{width:min(46vw,260px)}
.bk-book.one .bk-seal{top:auto;right:calc(var(--u)*4);bottom:calc(var(--u)*17);width:calc(var(--f)*8);height:calc(var(--f)*8)}.bk-book.one .bk-ct h3{font-size:calc(var(--u)*11)}.bk-book.one .bk-sub{font-size:calc(var(--u)*3.4)}.bk-book.one .bk-px{transform:scale(.8)}
/* motion: staggered pop-in when a page lands, stamp for the score bursts */
.bk-in .bk-it{animation:bkpop .55s cubic-bezier(.2,1.3,.4,1) both;animation-delay:calc(var(--i,0)*85ms + 140ms)}
.bk-in .bk-burst{animation:bkstamp .5s cubic-bezier(.2,1.5,.4,1) both;animation-delay:calc(var(--i,0)*85ms + 480ms)}
.bk-in .bk-h,.bk-in .bk-dv>*,.bk-in .bk-toc li,.bk-in .bk-facts div,.bk-in .bk-spot,.bk-in .bk-ord a{animation:bkpop .5s cubic-bezier(.2,1.2,.4,1) both}
.bk-in .bk-dv>*:nth-child(2){animation-delay:.1s}.bk-in .bk-dv>*:nth-child(3){animation-delay:.2s}.bk-in .bk-dv>*:nth-child(4){animation-delay:.3s}.bk-in .bk-dv>*:nth-child(5){animation-delay:.4s}
.bk-in .bk-toc li:nth-child(n){animation-delay:calc(var(--i,0)*40ms)}
.bk-in .bk-facts div:nth-child(2){animation-delay:.08s}.bk-in .bk-facts div:nth-child(3){animation-delay:.16s}
@keyframes bkpop{from{opacity:0;transform:translateY(16px) scale(.93) rotate(-1.4deg)}to{opacity:1;transform:none}}
@keyframes bkstamp{0%{opacity:0;transform:scale(2.8) rotate(-28deg)}60%{opacity:1;transform:scale(.86) rotate(14deg)}100%{opacity:1;transform:scale(1) rotate(8deg)}}
@keyframes bkfoil{0%,18%{background-position:130% 0}58%,100%{background-position:-40% 0}}
@keyframes bkpulse{0%,100%{transform:rotate(-6deg) scale(1)}50%{transform:rotate(-6deg) scale(1.08)}}
.bk-seal{animation-name:bkpulse2}@keyframes bkpulse2{0%,100%{transform:rotate(12deg) scale(1)}50%{transform:rotate(12deg) scale(1.07)}}
@keyframes bkhint{0%,100%{transform:translateX(0);opacity:.85}50%{transform:translateX(8px);opacity:1}}
@keyframes bkswing{0%,100%{transform:rotate(-1.2deg)}50%{transform:rotate(1.2deg)}}
[data-motion="off"] .bk-wrap *,[data-motion="off"] .bk-wrap *::before,[data-motion="off"] .bk-wrap *::after{animation:none!important;transition:none!important}
@media (prefers-reduced-motion:reduce){.bk-wrap *,.bk-wrap *::before,.bk-wrap *::after{animation:none!important;transition:none!important}}
@media (max-width:899px){.bk-desk{padding:12px 10px 22px}.bk-ctl2{font-size:13px}}
@media print{.rpt .ctab{font-size:11px}.rpt .mx-wrap{overflow:visible}header.top,nav,footer,#crtfx,.fx-era,.noprint,.cz-bar,.btn,#cmd,.prompt,#retro{display:none!important}body,main,#app{background:#fff!important;color:#000!important}body::after{display:none!important}a{color:#000!important;text-decoration:none}.ihero,.detail{break-inside:avoid}}
html[data-motion="off"] *,html[data-motion="off"] *::before,html[data-motion="off"] *::after{animation:none!important;transition:none!important}
html[data-motion="on"] #app.crt{animation:crtin .32s steps(8) 1}
@keyframes crtin{0%{opacity:.15;filter:brightness(2.2) contrast(1.4);transform:scaleY(.985)}45%{opacity:.8;filter:brightness(1.4)}100%{opacity:1;filter:none;transform:none}}
html[data-motion="on"] .card:hover,html[data-motion="on"] .hm-tile:hover{transform:translateY(-3px)}html[data-motion="on"] .card,html[data-motion="on"] .hm-tile{transition:transform .15s}
html[data-motion="on"] .cm-photo{animation:cmfade .6s}@keyframes cmfade{from{opacity:0}to{opacity:1}}
html[data-motion="on"] .pl-res{animation:plpop .5s}@keyframes plpop{0%{transform:scale(.96);opacity:.3}100%{transform:none;opacity:1}}
html[data-motion="on"] .pl-sq i{animation:plflip .5s backwards}html[data-motion="on"] .pl-sq i:nth-child(2){animation-delay:.15s}html[data-motion="on"] .pl-sq i:nth-child(3){animation-delay:.3s}@keyframes plflip{from{transform:rotateX(90deg)}to{transform:none}}
.pl-stars{display:inline-block;color:var(--blue);letter-spacing:2px}html[data-motion="on"] .pl-stars{animation:plstar .7s cubic-bezier(.3,1.6,.5,1)}@keyframes plstar{from{transform:scale(0)}to{transform:none}}
.cstrip{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;padding:4px 0 8px;margin:0 0 6px;scrollbar-width:thin}.cstrip .chip{flex:0 0 auto;white-space:nowrap}
.ctags{margin:0 0 8px;border:2px solid var(--line);background:var(--panel)}.ctags summary{cursor:pointer;padding:5px 10px;color:var(--mute)}.ctags .chips{max-height:140px;overflow:auto;padding:6px 10px;margin:0}
.catw .grid>*{min-width:0}.catw .grid h3,.catw .card h3{font-size:16px;line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.3em;word-break:break-word}
#jm{display:none}
.cps{margin:6px 0}.cpr{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.cpb{padding:0;border:2px solid var(--line);background:var(--panel);cursor:pointer;width:84px;height:64px;overflow:hidden}.cpb.on{border-color:#00a;outline:2px solid #00a}.cpb img{width:100%;height:100%;object-fit:cover;display:block}.qcimg img{max-height:340px;object-fit:contain}
.ph>svg,.bk-ph svg{width:100%;height:100%;display:block}.catw .card .t h3{overflow-wrap:anywhere}
.crw-s{overflow:hidden}.crw-s:empty{visibility:hidden}.crw-s em{position:absolute;right:0;top:0;padding:0 4px;font-size:12px;line-height:14px;font-style:normal;background:var(--panel);color:var(--ink)}
.ctab{table-layout:fixed}.ctab th:nth-child(1){width:72px}.ctab th:nth-child(3){width:17%}.ctab th:nth-child(4){width:62px}.ctab th:nth-child(5){width:15%}.ctab th:nth-child(6){width:64px}.ctab th:nth-child(7){width:88px}.ctab td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:700px){.ctab{table-layout:auto;min-width:560px}.ctab td{white-space:normal}}
.shelf{flex-wrap:wrap;overflow:visible;min-height:0;padding:30px 14px 14px;row-gap:16px;border-bottom-width:8px}.spine{box-shadow:0 8px 0 #6b4a2b;margin-bottom:8px}
@media(max-width:700px){.crw{grid-template-columns:48px minmax(0,1fr) auto}.crw-n b{white-space:normal;overflow:visible;font-size:16px;line-height:1.15}.crw .srcb{grid-column:2/-1;justify-self:start;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.crw-s{width:64px}.crw-s:empty{display:none}}
.bk-pg{--k:1.3}.bk-ph svg{width:100%;height:100%}
.bk-ph{background:linear-gradient(#10244a,#0a1530)}.bk-ph>img,.bk-ph .ph>img{object-fit:cover}
.pbadge{position:absolute;left:6px;top:6px;background:var(--panel);border:2px solid var(--line);padding:2px;line-height:0;z-index:2}.refs{margin:0;padding-left:18px}.refs li{margin:2px 0}
.imgs figure.cov{outline:3px solid #00a}.imgs figure{max-width:150px}.imgs img{width:100%;height:100px;object-fit:cover;display:block}.stk{border-top:1px dotted var(--line);margin-top:8px;padding-top:6px}.cpf{margin:0;width:130px;text-align:center}.cpf img{width:130px;height:96px;object-fit:cover;display:block;border:2px solid var(--line)}.xbox fieldset{margin:8px 0}.exth{display:inline-flex;gap:4px;vertical-align:middle;margin-right:6px}.exth img{width:48px;height:36px;object-fit:cover;border:1px solid var(--line);display:block}.exi{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:4px 0;border-bottom:1px dotted var(--line)}.pcr{display:block;color:var(--mute);font-size:12px;margin-top:2px}
/* item page: the folder with function-key tabs */
.folder{min-width:0}
.ftabs{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 10px;padding:0;border-bottom:3px solid var(--line)}
.ftab{display:inline-flex;align-items:stretch;border:2px solid var(--line);border-bottom:0;background:var(--panel);padding:0;cursor:pointer;font:inherit;color:var(--ink);margin-bottom:-3px}
.ftab b{background:var(--ink);color:var(--bg);padding:2px 4px;font-family:"VT323",monospace;font-size:16px;line-height:1.1}
.ftab span{padding:2px 5px;font-family:"VT323",monospace;font-size:16px;gap:3px;line-height:1.1;display:flex;align-items:center;gap:5px}
.ftab i{font-style:normal;font-size:14px;background:var(--bg);border:1px solid var(--line);padding:0 4px;color:var(--mute)}
.ftab.on span{background:var(--blue);color:var(--bg)}.ftab.on{border-color:var(--ink)}
.ftab:hover span{background:var(--line);color:var(--bg)}.ftab:focus-visible{outline:3px solid var(--ink);outline-offset:1px}
.pane[hidden]{display:none}.pane>h3.sub:first-child{margin-top:4px}
.facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin:6px 0 10px}
.fcard{border:2px solid var(--line);background:var(--panel);padding:4px 8px;min-width:0}.fcard small{display:block;color:var(--mute);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.fcard b{display:block;font-weight:600;overflow-wrap:anywhere;font-size:15px;line-height:1.25}
.specgrid{columns:2 270px;column-gap:12px}.spg{break-inside:avoid;border:2px solid var(--line);background:var(--panel);margin:0 0 10px;padding:0 0 4px}.spg h3.sub{margin:0 0 4px;padding:2px 8px;background:var(--blue);color:var(--bg);font-size:19px}.spg dl{margin:0;padding:0 8px;display:grid;grid-template-columns:minmax(80px,38%) 1fr;gap:2px 8px}.spg dt,.spg dd{margin:0;padding:3px 0;border-bottom:1px dotted var(--line);min-width:0;overflow-wrap:anywhere;font-size:14px}.spg dt{color:var(--mute)}
.rm p{margin:6px 0}.rm:not(.open) p{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.rmb{padding:1px 10px;font-size:14px}
.take{border-left:4px solid var(--blue);padding:2px 0 2px 10px;margin:8px 0}.take>b{font-family:"VT323",monospace;font-size:18px;color:var(--blue)}
.units{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin:6px 0 10px}.unit{border:2px solid var(--line);background:var(--panel);padding:6px 8px}.unit p{margin:4px 0;font-size:14px}
.cs{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 2px}.csb{padding:0;border:2px solid var(--line);background:var(--panel);width:64px;height:48px;cursor:pointer;overflow:hidden}.csb.on{outline:3px solid var(--blue);outline-offset:1px}.csb img{width:100%;height:100%;object-fit:cover;display:block}.pcw{min-height:1.2em;margin:2px 0 8px}
.detail .dr{min-width:0}
@media(max-width:700px){.ftabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:0}.ftab{flex:0 0 auto}.ftab b,.ftab span{font-size:18px}.specgrid{columns:1}}
@media print{.pane[hidden]{display:block!important}.ftabs{display:none}}
.dfold{border:2px solid var(--line);background:var(--panel);margin:12px 0}.dfold>summary{cursor:pointer;padding:6px 10px;font-family:"VT323",monospace;font-size:20px;list-style:none}.dfold>summary::before{content:"[+] ";color:var(--blue)}.dfold[open]>summary::before{content:"[-] "}.dfold>summary small{font-family:inherit;color:var(--mute);font-size:16px}.dfold[open]>summary{border-bottom:2px solid var(--line)}.dfold>*:not(summary){margin-left:10px;margin-right:10px}
/* Catalog front (catfront.js) */
.front{margin-top:12px}.fh{margin:20px 0 8px;font-size:20px;color:var(--mute)}
.memp{border:3px solid var(--line);background:#000;color:#c0c0c0;padding:0;margin:4px 0 6px;font-family:inherit}
.memh{display:flex;flex-wrap:wrap;gap:4px 14px;justify-content:space-between;padding:4px 10px;background:#c0c0c0;color:#000}.memh span{opacity:.75}
.memb{display:flex;gap:3px;padding:10px;height:70px}
.ms{flex:1 1 0;min-width:0;border:0;border-top:3px solid rgba(255,255,255,.55);border-left:3px solid rgba(255,255,255,.35);border-bottom:3px solid rgba(0,0,0,.5);color:#fff;font:inherit;font-size:15px;cursor:pointer;padding:0 4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-shadow:1px 1px 0 #000}
.ms:hover,.ms:focus-visible{filter:brightness(1.3);outline:2px dashed #ff0;outline-offset:1px}.ms span{pointer-events:none}
.memt{display:flex;flex-wrap:wrap;gap:4px 18px;padding:6px 10px 8px;font-size:15px}.memt b{color:#ff0}.memf{margin-left:auto}
.depts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:22px 14px;padding-top:14px}
.dept{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:16px 8px 10px;border:3px solid var(--line);background:var(--panel);color:var(--text,inherit);font:inherit;cursor:pointer;box-shadow:4px 4px 0 var(--line)}
.dept::before,.dept::after{content:"";position:absolute;top:-16px;width:3px;height:16px;background:var(--line)}.dept::before{left:22%}.dept::after{right:22%}
.dept .dr{position:absolute;inset:0 0 auto 0;height:7px;background:var(--dc)}.dept .di{display:block;margin-top:4px}.dept b{font-size:19px}.dept small{color:var(--mute);font-size:15px}
.dept:hover,.dept:focus-visible{background:var(--dc);color:#fff;border-color:#000}.dept:hover small,.dept:focus-visible small{color:#fff}
.mb{display:block;width:80%;height:6px;background:rgba(128,128,128,.3);margin-top:3px}.mb i{display:block;height:100%}
html[data-motion=on] .dept{transition:transform .12s steps(3)}html[data-motion=on] .dept:hover{transform:translate(-2px,-3px) rotate(-1.2deg)}
.fduo{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-top:22px}.spot,.crate{border:3px solid var(--line);background:var(--panel);padding:12px}
.spot{display:grid;grid-template-columns:minmax(150px,42%) 1fr;gap:14px}.sph{position:relative}.sbd{position:absolute;z-index:2;top:-12px;left:-6px;background:#aa0000;color:#fff;padding:1px 8px;font-size:15px;transform:rotate(-3deg)}
.spp{display:block;aspect-ratio:4/3;overflow:hidden;background:#111;border:2px solid var(--line)}.spp svg,.spp img,.mp svg,.mp img{width:100%;height:100%;object-fit:cover;display:block}
.spt h3{margin:0 0 4px;font-size:22px}.spt p{margin:6px 0}.sc{display:inline-block;padding:0 7px}
.crate{text-align:center}.crate h3{margin:0}.cbtn{background:none;border:0;cursor:pointer;padding:6px}.cbtn svg{display:block;margin:auto}.cbtn:hover,.cbtn:focus-visible{outline:2px dashed var(--line)}
.cbtn.pop svg .lid{transform:translateY(-6px) rotate(-8deg);transform-origin:10px 12px}html[data-motion=on] .cbtn.pop{animation:crshake .45s steps(6)}@keyframes crshake{0%,100%{transform:none}25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}
.crx .mc{margin:6px auto;max-width:200px}
.aisle{margin-top:20px}.ah{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.ah small{color:var(--mute);font-size:15px}.aa{margin-left:auto;display:flex;gap:4px}.aa .btn{padding:0 10px}
.asign{margin:0;display:inline-block;background:var(--dc);color:#fff;padding:2px 14px;font-size:19px;border:2px solid #000;box-shadow:3px 3px 0 #000}
.atabs{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}
.arow{display:flex;gap:12px;overflow-x:auto;padding:12px 4px 12px;margin-top:6px;border-bottom:6px solid var(--line);scroll-snap-type:x proximity;scrollbar-width:thin}
.mc{flex:0 0 170px;width:170px;box-sizing:border-box;min-width:0;align-self:flex-start;scroll-snap-align:start;display:flex;flex-direction:column;gap:2px;text-decoration:none;color:inherit;border:2px solid var(--line);background:var(--panel);padding:6px}.mc:hover{border-color:var(--link,#00f)}
.mc .mp{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#111;margin-bottom:4px}.mc b{font-size:17px;line-height:1.15}.mc small{color:var(--mute);font-size:14px}.mc .mb{width:100%}
.wtiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.wt{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border:3px solid var(--line);background:var(--panel);font:inherit;color:inherit;cursor:pointer;text-align:left}.wt i{font-style:normal;font-size:26px;line-height:1;color:var(--link,#00f)}.wt b{font-size:19px}.wt small{color:var(--mute);font-size:15px}.wt:hover,.wt:focus-visible{background:var(--hl,#ffff99)}
.fall{text-align:center;margin:18px 0 6px}.cback{margin:6px 0 4px}
@media(max-width:700px){.fduo{grid-template-columns:1fr}.spot{grid-template-columns:1fr}.memb{height:56px;padding:8px}.ms{font-size:12px}.memf{margin-left:0}.depts{grid-template-columns:repeat(2,1fr)}.mc{flex-basis:150px;width:150px}}
/* navigation: current page, crumbs, scrolling on phones */
nav a[aria-current=page]{background:var(--line);color:var(--bg,#fff);padding:0 6px;text-decoration:none}
.crumb{text-transform:uppercase;font-size:15px;color:var(--mute);margin:6px 0 0;word-break:break-word}.crumb a{color:inherit}.crumb [aria-current]{color:var(--text,inherit)}
@media(max-width:700px){nav{display:flex;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;gap:2px;padding-bottom:4px;scrollbar-width:thin}nav a{margin-left:10px;flex:0 0 auto}nav .btn{flex:0 0 auto}}
/* item page v3: full-width folder */
.itempage .pn{align-items:center;margin:4px 0}.itempage .pn>span{flex:1 1 0;min-width:0}.itempage .pn>span:last-child{text-align:right}.pnc{flex:0 0 auto;border:2px solid var(--line);padding:0 10px;background:var(--panel);text-decoration:none}
.iact{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}.iact .btn{font-size:15px;padding:2px 10px;text-decoration:none}
.abt{display:grid;gap:22px;align-items:start}@media(min-width:820px){.abt{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}.abl{position:sticky;top:12px}}
.ftabs{margin-top:4px}.ftab b{display:flex;align-items:center}.cz-item,.cz-shelf{max-width:860px!important}.ftab span svg{flex:0 0 auto}
@media(min-width:701px){.ftabs{flex-wrap:nowrap}.ftab{flex:1 1 0;justify-content:stretch}.ftab span{flex:1;justify-content:center}}
.ehead{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;border:3px double var(--line);background:var(--panel);padding:10px 14px;margin-bottom:10px}.ehead b{font:44px/1 "VT323",monospace;color:var(--blue)}.ehead span{flex:1;min-width:200px;font-size:17px}.ehead i{font-style:normal;font-weight:700}
.esw{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}.esw .chip b{margin-left:4px}
.ep[hidden]{display:none}.ep>.gxera>.sub:first-child,.ep>h3.sub:first-child{margin-top:0}
.evcols{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:4px 24px}
.evl{display:flex;flex-direction:column;gap:4px}.evr{display:grid;grid-template-columns:20px 100px 1fr auto;gap:8px;align-items:center;padding:4px 8px;border:2px solid var(--line);background:var(--panel);text-decoration:none;color:inherit}.evr:hover,.evr:focus-visible{background:var(--hl,#ffff99)}.evr b{font-weight:400;overflow-wrap:anywhere}.evr small{color:var(--mute)}.evd{color:var(--mute);font-size:14px}
@media(max-width:560px){.evr{grid-template-columns:20px 1fr}.evr .evd{grid-column:2;order:3}.evr b{grid-column:2}}
.adn{margin:0 0 10px}.cz-item{max-width:760px;margin-left:auto;margin-right:auto}.cz-shelf{max-width:760px;margin-left:auto;margin-right:auto}
.ep .tle-rel,.ep .tbl{overflow-wrap:anywhere}
@media(max-width:700px){.ihero{padding:8px 10px}.ihero h2{font-size:32px;margin-bottom:6px}.ib{padding:1px 6px;gap:4px}.ib small{display:none}.ihs{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}.ihs>*{flex:0 0 auto}.ihero .tb{font-size:18px}
.ftabs{position:sticky;top:0;z-index:6;background:var(--bg)}.iact .btn{font-size:14px;padding:1px 8px}}
/* header v2: brand + display settings on one row, menu bar below, never wraps */
header.top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:center;padding:14px 0 10px}
header.top>*{min-width:0}header.top a.brand{font-size:26px;min-width:0;overflow-wrap:anywhere}
.utl{display:flex;gap:6px;justify-self:end}.utl .btn{font-size:14px;padding:2px 8px;white-space:nowrap}
header.top nav{grid-column:1/-1;display:flex;flex-wrap:nowrap;gap:2px;overflow-x:auto;scrollbar-width:thin;border-top:2px solid var(--line);border-bottom:2px solid var(--line);padding:3px 0;max-width:100%;-webkit-overflow-scrolling:touch}
header.top nav a{flex:0 0 auto;margin:0;padding:1px 10px;font-size:20px;white-space:nowrap}
header.top nav a[aria-current=page]{background:var(--line);color:var(--bg,#fff)}
@media(min-width:900px){header.top nav a{flex:1 1 auto;text-align:center}}
@media(max-width:560px){header.top{grid-template-columns:minmax(0,1fr)}.utl{justify-self:start;flex-wrap:nowrap}.utl .btn{font-size:13px;padding:1px 6px}header.top a.brand{font-size:21px}header.top nav a{font-size:19px;padding:1px 8px}}
@media(max-width:560px){.utl{justify-self:stretch;width:100%}.utl .btn{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis}}@media(max-width:340px){.utl .btn{font-size:12px;padding:1px 3px}}
.itempage .pn>span{overflow:hidden}.itempage .pn>span a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:700px){.itempage .pn{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}.itempage .pn .pnc{grid-column:1/-1;order:-1;text-align:center}}
@media(max-width:560px){.utl .bl{display:none}#th::before{content:"\25D0  "}#mo::before{content:"\25B6  "}#cr::before{content:"\25A4  "}header.top nav.more{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent)}}
@media(max-width:340px){header.top a.brand{font-size:17px}header.top a.brand .cur{display:none}}
.pqc{border:3px double var(--line);background:var(--panel);padding:12px 16px;margin-top:8px}.pqk{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.pqi{border:2px solid var(--line);padding:1px 8px;font-size:15px}.pqi.ok{background:#cfe8cf;color:#064}.pqi.no{background:#f3d0d0;color:#600}.pqi small{opacity:.8}
.hlth{border:3px solid var(--line);background:var(--panel);padding:12px 14px;display:grid;gap:6px}.hl-top{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.hl-top b{font:44px/1 "VT323",monospace;color:var(--blue)}
.hl-r{display:grid;grid-template-columns:110px 1fr 48px;gap:8px;align-items:center}.hl-r b{text-align:right;font-weight:400}.hl-b{display:block;height:12px;border:2px solid var(--line);background:var(--bg)}.hl-b em{display:block;height:100%;background:#00aa00}
.soon{border:3px dashed var(--line);padding:10px 14px}.sn{display:flex;flex-wrap:wrap;gap:6px}.sn span{border:2px solid var(--line);background:var(--panel);padding:0 8px;display:inline-flex;align-items:center;gap:5px;font-size:15px;max-width:100%;overflow-wrap:anywhere}.sn .sm{border-style:dashed}
@media(max-width:480px){.hl-r{grid-template-columns:84px 1fr 42px}}
.story{border-left:6px solid var(--blue);background:var(--panel);padding:6px 12px;margin:10px 0}.story>b{display:block;font:22px "VT323",monospace;color:var(--blue)}
.latg{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;align-items:start}.grid.one{grid-template-columns:minmax(0,1fr)}
.vcard{display:block;border:3px solid var(--line);background:var(--panel);text-decoration:none;color:inherit;box-shadow:5px 5px 0 var(--line)}.vcard b{display:block;padding:8px 10px 0;font-size:19px}.vcard small{display:block;padding:0 10px 8px;color:var(--mute)}
.vph{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#000}.vph svg,.vph img{width:100%;height:100%;object-fit:cover;display:block}.vpl{position:absolute;inset:0;margin:auto;width:56px;height:56px;border:3px solid #fff;background:rgba(170,0,0,.9);color:#fff;font-style:normal;font-size:26px;line-height:50px;text-align:center}.vcard:hover .vpl{background:#0000aa}
.shr{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;padding:12px;overflow:auto}.shb{background:var(--panel);border:3px solid var(--line);padding:12px;max-width:min(96vw,900px);box-shadow:6px 6px 0 #000}.shb img{display:block;width:100%;height:auto;border:2px solid var(--line)}.shbt{display:flex;flex-wrap:wrap;gap:6px}@media print{.shr{display:none}}
@media print{.pane[hidden]{display:block!important}.pane[data-pane=era],.pane[data-pane=ad],.esw,.iact,.pn,.ihs,.cs,.rmb{display:none!important}
.pane::before{content:attr(data-label);display:block;font:24px "VT323","Courier New",monospace;border-bottom:2px solid #000;margin:14px 0 6px}.pane[data-pane=about]::before{display:none}
.abt{display:block!important}.abl{position:static!important;max-width:60%}.pane,.dfold,.fcard,.spg{break-inside:avoid}.clamp{max-height:none!important}
.dfold>*{display:block!important}.folder .ftabs{display:none}.grid{display:none}h3.sub:has(+.grid){display:none}.ihero{border:2px solid #000;padding:6px 10px;margin:0 0 8px;background:#fff!important}.ihero h2{font-size:30px}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
/* lab pages */
.runs-top{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:end;margin:8px 0}.runs-top select,.runs-top input{max-width:100%}
.runs-hero{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;border:3px double var(--line);background:var(--panel);padding:10px 14px;margin:10px 0}.runs-hero>b{font:40px/1 "VT323",monospace;color:var(--blue)}.runs-hero>span{flex:1;min-width:200px}
.runs-pick{min-height:1.4em;font-size:19px}.rv-no td{opacity:.8}
.gxstats ol{padding-left:22px;margin:4px 0}
.bw{display:flex;flex-direction:column;gap:4px;margin:8px 0}.bw-r{display:grid;grid-template-columns:minmax(120px,32%) 1fr 90px;gap:8px;align-items:center;text-decoration:none;color:inherit;padding:2px 6px;border:2px solid transparent}.bw-r:hover,.bw-r.me{border-color:var(--line);background:var(--panel)}
.bw-b{display:block;height:16px;border:2px solid var(--line);background:var(--bg)}.bw-b em{display:block;height:100%;background:var(--blue)}.bw-v{text-align:right;font-variant-numeric:tabular-nums}.bwc{margin:8px 0}
@media(max-width:560px){.bw-r{grid-template-columns:1fr 70px}.bw-r .bw-b{grid-column:1/-1;order:3}}
.adv{display:grid;grid-template-columns:44px 1fr;gap:10px;border:3px solid var(--line);background:var(--panel);padding:10px 12px;margin:8px 0}.adv-n{font:34px/1 "VT323",monospace;color:var(--blue);text-align:center}.adv p{margin:4px 0}
.hq-in{width:100%;box-sizing:border-box;font-size:24px;padding:10px 12px}.hq-c{border:4px solid var(--line);padding:10px 14px;margin:10px 0;background:var(--panel)}.hq-c h3{margin:2px 0 4px;font-size:28px}.hq-c.yes{border-color:#00aa00}.hq-c.no{border-color:#aa0000}
.hq-y,.hq-n{display:inline-block;color:#fff;padding:0 8px;font:22px "VT323",monospace}.hq-y{background:#007700}.hq-n{background:#aa0000}.hq-v{width:100%;max-height:260px;background:#000}
.hq-v2{font:26px "VT323",monospace;padding:0 8px}.hq-v2.ok{background:#007700;color:#fff}.hq-v2.no{background:#aa0000;color:#fff}.hq-l{list-style:none;padding:0}.hq-l li{padding:6px 0;border-bottom:1px dotted var(--line)}
/* dream rig + walk */
.rg-top{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:end;margin:8px 0}.rg-top select,.rg-top input{max-width:100%}
.rg-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}
.rg-f{border:2px solid var(--line);margin:0 0 10px;padding:6px 10px;min-width:0}.rg-f legend{font:22px "VT323",monospace;padding:0 6px}
.rg-o{display:grid!important;grid-template-columns:22px minmax(0,1fr) auto;gap:2px 8px;align-items:baseline;padding:4px;cursor:pointer;text-align:left!important;margin:0}.rg-o input{width:auto!important;min-width:0;margin:0;justify-self:start}.rg-o b{text-align:left}.rg-o small{grid-column:2}.rg-o .rg-mu{grid-column:2;justify-self:start;text-decoration:none}.rg-o.on{background:var(--panel);outline:2px solid var(--blue)}.rg-o small{opacity:.8}.rg-mu{background:#007700;color:#fff;padding:0 6px;font:18px "VT323",monospace}
.rg-stat{border:4px solid var(--line);padding:8px 12px;margin:0 0 10px;font-size:18px}.rg-stat b{font:30px "VT323",monospace;display:block}.rg-stat.good{border-color:#007700}.rg-stat.good b{color:#007700}.rg-stat.bad{border-color:#aa0000}.rg-stat.bad b{color:#aa0000}.rg-stat ul{margin:4px 0 0;padding-left:20px}
.rg-bad td{background:#aa0000;color:#fff}.rg-used td{background:var(--panel)}.rg-j{border:2px dashed var(--line);padding:6px 10px}.rg-sv{list-style:none;padding:0}.rg-sv li{padding:3px 0;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.rg-w{margin:10px 0}
@media(max-width:760px){.rg-cols{grid-template-columns:minmax(0,1fr)}}
.walk{max-width:900px}.wk-nb{background:#c0c0c0;color:#000;border:2px solid #000;padding:2px 8px;font:18px "VT323",monospace;margin-bottom:6px}
.wk-dots{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:8px 0}.wk-dots button{min-width:40px;min-height:40px;border:3px solid var(--line);background:var(--bg);color:var(--fg);font:22px "VT323",monospace;cursor:pointer}.wk-dots button.on{background:var(--blue);color:#fff}.wk-dots button.done{background:var(--panel)}
.wk-pane{border:4px double var(--line);background:var(--panel);padding:10px 14px;min-height:240px}
.wk-hero{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center}.wk-hero>b{font:clamp(54px,16vw,110px)/1 "VT323",monospace;color:var(--blue)}.wk-hero>span{flex:1;min-width:200px;font-size:20px}
.wk-yr{font:22px "VT323",monospace}.wk-nav{display:flex;gap:10px;margin:10px 0;flex-wrap:wrap}
.evl{display:flex;flex-direction:column}.evr{display:grid;grid-template-columns:20px 110px minmax(0,1fr);gap:8px;align-items:baseline;padding:4px 0;border-bottom:1px dotted var(--line);text-decoration:none;color:inherit}.evr small{grid-column:3;opacity:.8}.evd{font-variant-numeric:tabular-nums}
/* journal, video */
.ba{position:relative;max-width:560px;margin:8px 0;border:3px solid var(--line);background:#000;line-height:0;overflow:hidden}.ba img{display:block;width:100%;height:auto;max-height:420px;object-fit:contain}.ba-a{position:absolute;left:0;top:0;clip-path:inset(0 0 0 var(--p))}
.ba::after{content:"";position:absolute;top:0;bottom:0;left:var(--p);width:3px;background:#fff;box-shadow:0 0 0 1px #000;pointer-events:none}.ba input{position:absolute;left:0;right:0;bottom:6px;width:100%;margin:0;background:transparent;z-index:2;height:32px}
.ba-l,.ba-r{position:absolute;top:6px;background:#000;color:#fff;font:18px/1.2 "VT323",monospace;padding:0 6px}.ba-l{left:6px}.ba-r{right:6px}
.jsum{border:2px dashed var(--line);padding:6px 10px}
.vp{margin:0 0 18px}.vf{position:relative;aspect-ratio:16/9;background:#000;border:3px solid var(--line);max-width:760px}.vf iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.vplay{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;background:#000;cursor:pointer;color:#fff}.vplay img{width:100%;height:100%;object-fit:cover;opacity:.75;display:block}.vplay b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--blue);padding:4px 18px;font:34px "VT323",monospace}
.vch{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:8px 0}.vch .chip b{font-variant-numeric:tabular-nums}
@media print{.vf,.vch{display:none}}
.ftabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}.ftab{flex:1 0 auto}.ftab span{white-space:nowrap}
/* related-page tab bar */
.tbar{display:flex;gap:4px;overflow-x:auto;white-space:nowrap;border-bottom:3px solid var(--line);margin:0 0 14px;padding:0;scrollbar-width:thin}.tbar a{flex:0 0 auto;padding:6px 12px;border:2px solid var(--line);border-bottom:0;background:var(--panel);color:var(--ink);text-decoration:none;margin-bottom:-3px;font:20px "VT323","Courier New",monospace}.tbar a:hover{background:var(--bg)}.tbar a[aria-current]{background:var(--blue);color:#fff}
/* wish book: circle it */
.bk-it{position:relative}.bk-wish{position:absolute;right:6px;top:6px;z-index:3;background:#fff;color:#a00;border:2px solid #a00;border-radius:12px;padding:0 8px;font:16px/1.4 "VT323",monospace;cursor:pointer;opacity:.9}.bk-wish:hover,.bk-wish:focus-visible{opacity:1;background:#fff4f4}.bk-wish.on{background:#a00;color:#fff}
.bk-it.wished .bk-ph{outline:4px solid rgba(200,0,0,.8);outline-offset:-6px;border-radius:46% 54% 50% 50%/55% 45% 55% 45%;transform:rotate(-1.2deg)}
/* wish book: circle it */
.bk-it{position:relative}.bk-wish{position:absolute;right:6px;top:6px;z-index:3;background:#fff;color:#a00;border:2px solid #a00;border-radius:12px;padding:0 8px;font:16px/1.4 "VT323",monospace;cursor:pointer;opacity:.9}.bk-wish:hover,.bk-wish:focus-visible{opacity:1;background:#fff4f4}.bk-wish.on{background:#a00;color:#fff}
.bk-it.wished .bk-ph{outline:4px solid rgba(200,0,0,.8);outline-offset:-6px;border-radius:46% 54% 50% 50%/55% 45% 55% 45%;transform:rotate(-1.2deg)}
/* wish list, prizes, backup, kiosk */
.wsh-add{margin:10px 0}.wsh-add input{width:min(100%,420px)}.wsh-res{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.wsh-res .btn small{opacity:.7}
.wsh-l{list-style:none;padding:0;margin:10px 0}.wsh-l li{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:4px 12px;align-items:center;padding:8px 0;border-bottom:1px dotted var(--line)}.wsh-n{font-size:20px;min-width:0;overflow-wrap:anywhere}.wsh-s{grid-column:1}.wsh-m input{width:5em}
.wsh-act{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
@media(max-width:620px){.wsh-l li{grid-template-columns:minmax(0,1fr) auto}.wsh-b,.wsh-m{grid-column:1/-1}}
.santa{border:3px double var(--line);background:#fffdf0;color:#222;padding:14px 18px;margin:12px 0;font:22px/1.35 "VT323","Courier New",monospace}.santa ol{margin:6px 0 6px 22px}
@media print{.wsh-act,.wsh-add,.wsh-b,.wsh-m,[data-rm]{display:none!important}}
.pz-top{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin:8px 0}.pz-m{display:flex;align-items:center;gap:10px}.pz-say{margin:0;max-width:420px}.pz-say .cb{margin:0}.pz-t{border:4px double var(--line);background:#000;color:#ffd54a;padding:6px 18px;text-align:center}.pz-t b{display:block;font:56px/1 "VT323",monospace}.pz-t span{font:20px "VT323",monospace}
.pz-grid,.pz-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:8px 0}.pz-c,.pz-o{border:3px solid var(--line);background:var(--panel);padding:10px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.pz-gl{display:inline-flex;padding:6px;background:var(--bg);border:2px solid var(--line)}.pz-gl.gold{background:#ffe9a0}
.k-intro{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start}.k-intro>div{flex:1;min-width:240px}
html.kiosk-on body{overflow:hidden}.kiosk{position:fixed;inset:0;z-index:2000;background:#000;color:#fff;display:flex;flex-direction:column;font:26px/1.35 "VT323","Courier New",monospace;cursor:pointer}.kiosk *{color:inherit}
.kx{position:absolute;right:12px;top:12px;z-index:3;background:#222;color:#fff;border:2px solid #fff;padding:6px 12px;font:20px "VT323",monospace;cursor:pointer}.k-top{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:3px double #3a3aff;font-size:34px;color:#7fd0ff}
.k-scr{flex:1;display:flex;align-items:center;justify-content:center;padding:18px;overflow:hidden;min-height:0}.k-in{animation:kin .6s ease-out}@keyframes kin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.k-sl{max-width:900px;text-align:center}.k-sl h3{font-size:clamp(34px,7vw,76px);margin:6px 0;line-height:1.05;color:#ffd54a}.k-sl small{font-size:22px;letter-spacing:.12em;color:#7fd0ff}.k-sl p{margin:8px 0;font-size:clamp(20px,3vw,30px)}.k-sl .k-p{color:#8cf28c}.k-q{font-style:italic}
.k-it{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:center;text-align:left}.k-ph{width:min(42vw,340px)}.k-ph svg,.k-ph img{width:100%;height:auto;display:block;border:4px solid #fff}.k-tx{flex:1;min-width:240px}.k-sc{display:inline-block;padding:0 12px}
.k-bar{padding:14px;text-align:center;border-top:3px double #3a3aff;min-height:1.4em}.k-start{font-size:38px;color:#ffd54a;animation:kb 1.1s steps(2) infinite}@keyframes kb{50%{opacity:0}}html[data-motion=off] .k-start{animation:none}
.k-h{font-size:clamp(34px,6vw,60px);color:#ffd54a;margin:0 0 14px;text-align:center}.k-menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;width:min(1000px,100%)}.k-menu a{display:block;border:4px solid #fff;background:#0000aa;padding:22px 14px;text-align:center;text-decoration:none;font-size:clamp(28px,4vw,40px)}.k-menu a:hover,.k-menu a:focus-visible{background:#ffd54a;color:#000}
.nf{text-align:center;max-width:640px;margin:0 auto}.nf-m{margin:12px 0}
.hub-g{font:24px "VT323",monospace;margin:16px 0 6px;border-bottom:2px solid var(--line)}
.pa{display:flex;align-items:center;gap:10px;border:3px solid var(--line);background:var(--panel);padding:6px 10px;margin:12px 0}.pa-m{flex:none;display:inline-flex}.pa-t{flex:1;min-width:0;font-size:19px;overflow-wrap:anywhere}.pa-t b{background:var(--blue);color:#fff;padding:0 6px;margin-right:6px;font:18px "VT323",monospace}
.aisle-n{display:block;font:16px "VT323",monospace;letter-spacing:.12em;opacity:.85}
.cdisp{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:0 0 10px;padding-bottom:8px;border-bottom:1px dotted var(--line)}.cdisp label{display:inline-flex;gap:6px;align-items:center}.cdl{font:20px "VT323",monospace}.sr{display:none}
.agl{display:inline-block;min-width:4.6em;font:20px "VT323",monospace;opacity:.8}.adm .abar{line-height:2.4}
.k-scr{flex-direction:column}
/* phones: long select lists and file inputs must never push the page wider */
#app select,#app input:not([type=checkbox]):not([type=radio]):not([type=range]){max-width:100%;min-width:0}
@media(max-width:600px){.runs-top label,.rg-top label{display:flex;flex-direction:column;align-items:stretch;gap:2px;width:100%}.runs-top select,.rg-top select,.runs-top input{width:100%}.bkp input[type=file]{width:100%}}
.ib[href]{text-decoration:none;color:inherit}.ib[href]:hover b{text-decoration:underline}
/* label printer and scan pages */
.lb-card{border:2px solid var(--line);background:var(--panel);padding:10px 14px;margin:0 0 14px}.lb-card h3{margin:0 0 6px}
.lb-row{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:flex-end;margin:0 0 8px}.lb-row label{display:flex;flex-direction:column;gap:2px;font-size:14px}
.lb-url{width:100%;max-width:520px}.lb-q{max-width:320px;width:100%}.lb-st.bad,#lbmsg.bad,.tn.bad{color:var(--bad,#c00)}
.lb-pvbox{background:#fff;border:2px dashed var(--line);padding:10px;display:inline-block;max-width:100%}.lb-img{display:block;max-width:100%;height:auto;image-rendering:pixelated;border:1px solid #999}
.lb-list{max-height:340px;overflow:auto;border:2px solid var(--line);margin:0 0 10px}.lb-r{display:flex;gap:8px;align-items:center;padding:4px 8px;border-bottom:1px solid var(--line);flex-wrap:wrap}.lb-r.cur{background:var(--hi,rgba(128,128,255,.18))}.lb-r.off{opacity:.5}.lb-v{margin-left:auto;padding:2px 8px;font-size:13px}
.lb-act{display:flex;flex-wrap:wrap;gap:8px}.lb-bar{height:12px;border:2px solid var(--line);background:var(--panel)}.lb-bar i{display:block;height:100%;background:var(--acc,#0a0)}
.scn .hq-in{max-width:420px}
@media(max-width:560px){.lb-card{padding:8px 10px}.lb-row label{width:100%}.lb-list{max-height:260px}}
/* about page */
.ab-crew{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:0 0 18px}
.ab-card{position:relative;border:3px solid var(--ink);background:var(--panel);padding:12px 14px 14px;box-shadow:6px 6px 0 var(--line);text-align:center}
.ab-card h3{margin:6px 0 0;font-size:26px}.ab-role{margin:0 0 6px;color:var(--mute);font-weight:600}.ab-card p{margin:6px 0}
.ab-tag{display:inline-block;margin:0 0 8px!important;padding:1px 10px;background:var(--ink);color:var(--bg);font-family:"VT323",monospace;font-size:20px;letter-spacing:2px}
.ab-pt{display:inline-block;padding:6px;border:3px double var(--ink);background:#101028;line-height:0}
.ab-pt img{width:min(240px,64vw);height:auto;display:block}.ab-pt img.pix{image-rendering:pixelated;image-rendering:crisp-edges}.ab-pt img.smooth{image-rendering:auto}.ab-art{margin:6px 0 0!important;font-size:12px;color:var(--mute)}
.ab-card.talk .ab-pt{animation:abhop .28s steps(2)}@keyframes abhop{50%{transform:translateY(-6px)}}
html[data-motion="off"] .ab-card.talk .ab-pt{animation:none}
.ab-st{display:grid;grid-template-columns:1fr auto;gap:2px 10px;text-align:left;margin:8px 0;font-size:14px}.ab-st dt{color:var(--mute)}.ab-st dd{margin:0;font-family:"VT323",monospace;font-size:20px;line-height:1}
.ab-q{min-height:3em;font-style:italic}.ab-dos{background:#000;color:#c0c0c0;padding:12px 14px;border:2px solid var(--line);font-family:"VT323",monospace;font-size:20px;white-space:pre-wrap;margin:18px 0 0}
.ab-card{display:flex;flex-direction:column;align-items:stretch}.ab-card .ab-tag{display:block;width:max-content;margin:0 auto 8px!important}.ab-pt{display:block;width:max-content;margin:0 auto}.ab-st{width:100%;box-sizing:border-box}.ab-card .btn{margin-top:auto;align-self:center}

/* ===== Catalog, round 18: one search, one department row, one toolbar ===== */
.catw .chint{margin:6px 0 10px;padding:8px 12px;border:2px dashed var(--line);background:var(--panel);font-size:15px}.catw .chint .btn{margin-left:8px;font-size:13px;padding:0 10px}
.catw kbd{font:inherit;font-size:.85em;border:1px solid var(--line);padding:0 5px;background:var(--bg)}
.csearch{display:flex;gap:8px;align-items:stretch;margin:6px 0 8px}.cbox{position:relative;flex:1 1 auto;min-width:0}.cbox input{width:100%;box-sizing:border-box;font:inherit;font-size:18px;padding:8px 12px;min-height:44px}
.qs{position:absolute;left:0;right:0;top:100%;z-index:30;margin:0;padding:0;list-style:none;border:2px solid var(--line);background:var(--panel);box-shadow:4px 4px 0 var(--blue);max-height:340px;overflow:auto}.qs[hidden]{display:none}.qs li{padding:8px 12px;cursor:pointer;display:flex;gap:10px;align-items:baseline;border-bottom:1px solid color-mix(in srgb,var(--line) 20%,transparent)}.qs li small{flex:0 0 78px;color:var(--mute);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.qs li.on,.qs li:hover{background:var(--blue);color:var(--blue-ink)}.qs li.on small,.qs li:hover small{color:inherit}
.cstrip{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.cstrip .chip{flex:0 0 auto;white-space:nowrap;min-height:34px}
.chip:focus-visible,.btn:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.ctools2{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:10px 0;padding:8px 10px;border:2px solid var(--line);background:var(--panel)}
.cseg{display:inline-flex;gap:0}.cseg .btn{margin:0}.cseg .btn+.btn{margin-left:-2px}
.csel{display:inline-flex;gap:6px;align-items:center;font-size:14px}.csel select{font:inherit;font-size:14px;min-height:34px}
.ctools2 .cviews{margin-left:auto}.ctools2 .cvsel{display:none}
.ctools2 [disabled],.ctools2 select:disabled{opacity:.45;cursor:not-allowed}
.cpanel{border:2px solid var(--line);background:var(--panel);padding:10px 12px;margin:0 0 12px}.cpanel[hidden]{display:none}.cdisp{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;margin-bottom:6px}
.clegend{margin:10px 0 0;font-size:14px}.clegend summary{cursor:pointer;color:var(--mute)}.clegend dl{display:grid;grid-template-columns:max-content 1fr;gap:3px 14px;margin:8px 0 0}.clegend dt{font-weight:bold}.clegend dd{margin:0}
.cact{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0}.cact:empty{display:none}.cact .btn{font-size:13px;padding:0 10px}
#cn{margin:4px 0 8px}
.csoon{margin:18px 0 0;padding:10px 14px;border:2px dashed var(--line);color:var(--mute);font-size:15px;text-align:center}.csoon:empty{display:none}
.catw .srcb{display:none}
/* cards: same height, tidy text */
.catw .grid{align-items:stretch}.cw{position:relative;display:flex;flex-direction:column}.cw>.card{flex:1 1 auto;display:flex}.cw>.card .fl-in{width:100%}.cw>.card .fl-f{height:100%;display:flex;flex-direction:column}
.card .t{display:flex;flex-direction:column;flex:1 1 auto}.card .t h3{font-size:24px;line-height:1.05;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.1em}
.card .t p.mk{margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card .t p.tg{margin:4px 0 0;display:flex;flex-wrap:wrap;gap:4px;min-height:1.7em}.card .t p.tg .tag{margin:0}
.ql{position:absolute;right:6px;top:6px;z-index:2;font:inherit;font-size:12px;padding:1px 8px;border:2px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;opacity:0;transition:opacity .15s}
.cw:hover .ql,.cw:focus-within .ql{opacity:1}@media(hover:none){.ql{opacity:1}}
.ql:hover,.ql:focus-visible{background:var(--blue);color:var(--blue-ink)}
/* quick look */
.qlk{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:16px}
.qlb{position:relative;display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:16px;max-width:720px;width:100%;max-height:90vh;overflow:auto;border:3px solid var(--line);background:var(--panel);box-shadow:8px 8px 0 var(--blue);padding:16px}
.qlx{position:absolute;right:8px;top:8px}.qlp{aspect-ratio:4/3;background:var(--bg);border:2px solid var(--line);display:grid;place-items:center;overflow:hidden}.qlp img,.qlp svg{max-width:100%;max-height:100%;object-fit:contain}
.qli h3{font-size:28px;margin:0 56px 4px 0}.qls{display:grid;grid-template-columns:max-content 1fr;gap:2px 12px;font-size:14px;margin:8px 0}.qls dt{color:var(--mute)}.qls dd{margin:0}.qla{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
@media(max-width:600px){.qlb{grid-template-columns:1fr}.qli h3{margin-right:60px}}
/* phone: one column, big targets, the controls stay under your thumb */
@media(max-width:600px){
 .catw .grid{grid-template-columns:1fr}.csearch{flex-wrap:wrap}.csearch .btn{flex:1 1 100%;min-height:40px}
 .ctools2{position:sticky;bottom:0;z-index:20;margin:10px -16px 0;border-left:0;border-right:0;border-bottom:0;box-shadow:0 -3px 0 var(--line);gap:6px 8px;padding:8px 12px}
 .ctools2 .cviews{display:none}.ctools2 .cvsel{display:inline-flex}.ctools2 .cseg{flex:1 1 100%}.ctools2 .cseg .btn{flex:1 1 50%}
 .ctools2 .btn,.ctools2 select,.chip{min-height:40px}.ctools2 .csel{flex:1 1 40%}.ctools2 .csel select{flex:1;min-width:0}
 #fb{flex:1 1 100%}
 .cpanel{margin-bottom:60px}
}
@media(max-width:600px){
 .ctools2{gap:6px;padding:6px 12px}.ctools2 .cseg .btn{min-height:36px;font-size:14px}
 .ctools2 .csel{flex:1 1 0;font-size:12px;gap:4px;min-width:0}.ctools2 .csel select{min-height:36px;font-size:13px;padding:0 2px}
 #fb{flex:0 0 auto!important;min-height:36px;padding:0 10px;font-size:14px}
}
code{overflow-wrap:anywhere}.lb-card code,.scn code,#app code{white-space:normal;word-break:break-all}
#lbpc,.lb-card .tn{overflow-wrap:anywhere;word-break:break-word}

/* About: the workstation and the save file */
.ab-room{margin:0 0 18px}.ab-rp{position:relative;border:3px double var(--ink);background:#101028;line-height:0;max-width:760px}.ab-rp img{width:100%;height:auto;display:block}
.ab-hot{position:absolute;padding:0;margin:0;background:transparent;border:2px solid transparent;cursor:pointer;border-radius:2px}.ab-hot:hover,.ab-hot:focus-visible{border-color:#ffff55;background:rgba(255,255,85,.14);outline:none}.ab-hot:focus-visible{box-shadow:0 0 0 2px #000}
.ab-say{max-width:760px;box-sizing:border-box;margin:0;padding:10px 14px;background:#000;color:#c0c0c0;border:2px solid var(--line);border-top:0;font-family:"VT323","Courier New",monospace;font-size:22px;line-height:1.25;min-height:3.4em}.ab-say span{color:#55ff55;margin-right:8px}
.ab-save{font-family:"VT323",monospace;font-size:20px;background:#000;color:#55ffff;padding:6px 12px;border:2px solid var(--line)}.ab-save b{color:#ffff55}
.ab-log{list-style:none;margin:10px 0 16px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.ab-log li{border:2px solid var(--ink);background:var(--panel);padding:10px 14px;box-shadow:4px 4px 0 var(--line)}.ab-log h4{margin:2px 0 4px;font:400 26px/1.1 "VT323",monospace}.ab-log p{margin:0;font-size:15px}.ab-ch{display:inline-block;background:var(--ink);color:var(--bg);font:16px "VT323",monospace;padding:0 8px;letter-spacing:.06em;text-transform:uppercase}
.ab-ach{max-width:520px}@media(max-width:600px){.ab-hot{border-width:1px}.ab-say{font-size:19px}}

/* Connie Ventional, the mascot: all her animation is here. */
.mascot{overflow:visible;cursor:pointer;-webkit-tap-highlight-color:transparent}
.mascot *{transform-box:fill-box}
.mascot .mc-all{transform-origin:50% 100%;animation:mc-bob 2.4s steps(1,end) infinite}
.mascot .mc-eyes{transform-origin:50% 50%;animation:mc-blink 4.6s steps(1,end) infinite}
.mascot .mc-bow{transform-origin:50% 100%;animation:mc-bow 3.2s steps(2,end) infinite}
.mascot .mc-armr{transform-origin:0% 50%;animation:mc-wave .5s steps(2,end) 3 .4s}
.mascot .mc-arml{transform-origin:100% 50%}
.mascot .mc-legl,.mascot .mc-legr{transform-origin:50% 0%}
.mascot:hover .mc-armr,.mascot:focus .mc-armr{animation:mc-wave .45s steps(2,end) infinite}
.mascot:hover .mc-legl{animation:mc-tap .5s steps(1,end) infinite}.mascot:hover .mc-legr{animation:mc-tap .5s steps(1,end) .25s infinite}
.mascot.mc-hop .mc-all{animation:mc-hop .7s steps(6,end) 1}
.mascot.mc-hop .mc-mouth{transform-origin:50% 0%;animation:mc-talk .18s steps(1,end) 4}
.mascot.mc-oops .mc-all{animation:mc-shake 1.6s steps(1,end) infinite}.mascot.mc-oops .mc-armr{animation:none}
.mascot.mc-wow .mc-all{animation:mc-jump 1.6s steps(1,end) infinite}
@keyframes mc-bob{0%{transform:translateY(0)}50%{transform:translateY(-.5px)}100%{transform:translateY(0)}}
@keyframes mc-blink{0%,92%{transform:scaleY(1)}94%,97%{transform:scaleY(.1)}100%{transform:scaleY(1)}}
@keyframes mc-bow{0%,100%{transform:rotate(0)}50%{transform:rotate(-8deg)}}
@keyframes mc-wave{0%{transform:rotate(0)}50%{transform:rotate(-35deg)}100%{transform:rotate(0)}}
@keyframes mc-tap{0%{transform:translateY(0)}50%{transform:translateY(-.8px)}}
@keyframes mc-hop{0%{transform:translateY(0)}20%{transform:translateY(-3px)}50%{transform:translateY(-4px)}80%{transform:translateY(-1px)}100%{transform:translateY(0)}}
@keyframes mc-talk{0%{transform:scaleY(1)}50%{transform:scaleY(1.7)}}
@keyframes mc-shake{0%,80%,100%{transform:translateX(0)}84%{transform:translateX(-.8px)}88%{transform:translateX(.8px)}92%{transform:translateX(-.8px)}96%{transform:translateX(.8px)}}
@keyframes mc-jump{0%,70%,100%{transform:translateY(0)}78%{transform:translateY(-2.5px)}90%{transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.mascot *{animation:none!important}}
html[data-motion="off"] .mascot *{animation:none!important}
.mc-bubble{position:absolute;z-index:300;box-sizing:border-box;padding:8px 12px 10px;background:#ffff99;color:#000;border:2px solid #000;border-radius:10px;font:16px/1.35 "IBM Plex Sans",system-ui,sans-serif;box-shadow:3px 3px 0 rgba(0,0,0,.5);width:max-content;--tx:30px}
.mc-bubble p{margin:0 0 6px}.mc-nm{display:block;font:700 11px/1 monospace;letter-spacing:.06em;text-transform:uppercase;color:#7a3b1e;margin-bottom:4px}
.mc-bubble::after{content:"";position:absolute;left:var(--tx);width:12px;height:12px;background:#ffff99;border:2px solid #000;transform:rotate(45deg)}
.mc-bubble.mc-up::after{bottom:-8px;border-top:0;border-left:0}.mc-bubble.mc-dn::after{top:-8px;border-bottom:0;border-right:0}
.mc-bb{display:flex;gap:6px;flex-wrap:wrap}.mc-bb button{font:13px/1 monospace;padding:5px 8px;border:2px solid #000;background:#fff;color:#000;border-radius:6px;cursor:pointer}.mc-bb button:hover,.mc-bb button:focus-visible{background:#000;color:#ffff99}
.mascot.mc-talking .mc-mouth{transform-origin:50% 0%;animation:mc-talk .16s steps(1,end) infinite}
.mascot:focus-visible{outline:3px solid #ff5fa2;outline-offset:4px}
.mc-wrap{display:inline-flex;flex-direction:column;align-items:center;gap:4px;vertical-align:top}
.mc-cap{display:flex;flex-direction:column;align-items:center;background:#111;color:#ffd54a;border:2px solid #000;padding:2px 8px;font-family:monospace;line-height:1.15;text-align:center;box-shadow:2px 2px 0 rgba(0,0,0,.4)}.mc-cap b{font-size:13px;letter-spacing:.03em}.mc-cap small{font-size:10px;color:#9fe8b0;text-transform:uppercase;letter-spacing:.08em}
.k-intro>.mc-wrap{flex:none}.nf-m .mc-wrap{margin:0 auto}
.pa-m .mascot{width:44px;height:44px}
.gcon{display:flex;gap:10px;align-items:center;margin:8px 0;color:#ff5}.gcon .mascot{flex:none}
.gsel .gcon{margin:6px 0}
.gcast{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0 10px}.gcast>div{border:2px solid #555;padding:6px;text-align:center;background:#00a}.gcast canvas{width:60px;height:105px;image-rendering:pixelated;display:block;margin:0 auto 4px;background:#00a}.gcast b{display:block;color:#ff5;font-size:13px}.gcast span{font-size:12px;color:#aaa}
@media (max-width:520px){.gcast{grid-template-columns:1fr}}
.ab .ab-lead{font-size:1.15em;line-height:1.4}.ab-quote{margin:12px 0;padding:8px 14px;border-left:5px solid var(--line);background:var(--panel);font-size:1.05em;line-height:1.45}
.mc-empty{display:flex;align-items:center;gap:12px;margin:12px 0}.mc-empty .mascot{flex:none}.mc-ebody{flex:1;min-width:0}.mc-ebody>.empty{margin:0}.grid>.mc-empty{grid-column:1/-1}
/* manuals and ads, photo review */
.docs{margin:12px 0}.docs .refs{margin:4px 0 8px}.dfd{margin:6px 0}.dfd summary{cursor:pointer}
.rvg{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;margin:8px 0}
.rvc{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--line);padding:6px;font-size:13px}
.rvc img{width:72px;height:72px;object-fit:contain;background:#fff;flex:none}.rvk{display:block;margin-top:4px;font-size:12px}
.jba{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.jth{float:right;width:56px;height:56px;object-fit:cover;margin:0 0 4px 8px;border:1px solid var(--line)}
.casef{margin:4px 0 6px;display:grid;grid-template-columns:auto 1fr;gap:2px 10px;font-size:13px}.casef dt{font-weight:bold}.casef dd{margin:0}
.affb{margin:14px 0;padding:2px 0 2px 12px;border-left:3px solid var(--line)}.affb .refs{margin:2px 0 8px}.shf{margin:6px 0}.affd{margin:6px 0 0;font-size:12px}.affi{margin-left:6px;white-space:nowrap}
.wbfig{margin:10px 0}.wbfig img{max-width:100%;height:auto;border:2px solid var(--line)}.wbl{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}.wbt{border:1px solid var(--line);padding:8px 10px}.wbt p{margin:4px 0}.wbd{opacity:.65;border-style:dashed}.wbk a{margin:0 2px}
/* ---- readability pass 2: timeline cards are paper (light) in every theme, so they get dark muted ink; selected tabs/chips use the theme's own contrast ink ---- */
:root{--mute-on-paper:#4a4a4a}
.tle .tn,.tle .tle-sp dt,.tle .ast,.tle .affd,.tle .mute{color:var(--mute-on-paper)}
.tle .affb{border-left-color:#808080}.tle .affb h4,.tle .docs h4,.tle .docs summary,.tle .shf b,.tle .shf{color:var(--ink-on-paper)}
.tle .shf a,.tle .affd a,.tle .docs a,.tle .dfd a{color:var(--paper-lk);text-decoration:underline}
.tle .tle-est{opacity:1;color:#8a0000}
.tle .gxchips .pf.pf-oth{background:#66666a}
.chip.on,.tbar a[aria-current]{color:var(--blue-ink)}.chip.on b{opacity:1}.pa-t b{color:var(--blue-ink)}
.affb a{text-decoration:underline}
.wbd{opacity:1}.wbd .wbl,.wbt .tag{color:var(--ink)}
.srcb-shopgoodwill{color:#064f41}

/* ---- Connie and her family (connie.js, cast.js) ---- */
svg.cc{overflow:visible;display:block;margin:0 auto;image-rendering:pixelated}
.cv-note{color:var(--mute);font-size:15px;max-width:70ch}
.cv-hero{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:8px 0 14px}.cv-hero>div{flex:1;min-width:240px}.cv-lead{font-size:18px}
.cv-file{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;margin:8px 0}.cv-file>div{border:2px solid var(--line);background:var(--panel);padding:8px 10px}.cv-file dt{font:700 12px/1 monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--mute);margin-bottom:4px}.cv-file dd{margin:0}
.cv-fam{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin:10px 0}.cv-card{border:3px solid var(--line);background:var(--panel);padding:10px 12px;display:flex;flex-direction:column;gap:2px}.cv-card .cv-spr{background:#c9d6ea;border:2px solid var(--line);padding:8px 0 4px;margin-bottom:6px}.cv-card b{font-size:17px}.cv-card small{color:var(--mute)}.cv-card p{margin:4px 0 0;font-size:15px}
.cv-story{list-style:none;padding:0;margin:10px 0;display:grid;gap:12px}.cv-story li{border-left:5px solid var(--blue);background:var(--panel);padding:8px 14px}.cv-story small{font:700 13px/1 monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--mute)}.cv-story h4{margin:4px 0 6px;font-size:20px}.cv-story p{margin:0;max-width:70ch}
/* the funnies: newsprint, so these are paper in every theme */
.cf{background:#f6f0dc;color:#1a1a1a;border:3px solid #1a1a1a;padding:14px 14px 18px;font-family:"Comic Sans MS","Chalkboard SE","Marker Felt",cursive,sans-serif}
.cf-mast{text-align:center;border-bottom:4px double #1a1a1a;padding-bottom:8px;margin-bottom:8px}.cf-mast small{display:block;font:12px/1.4 Georgia,serif;letter-spacing:.14em;text-transform:uppercase;color:#4a4a4a}.cf-mast h2{margin:2px 0;font:900 clamp(30px,8vw,54px)/1 Georgia,"Times New Roman",serif;letter-spacing:-.01em;color:#1a1a1a}
.cf-prog{text-align:center;color:#3a3a3a;margin:6px 0 10px;font-size:15px}.cf-prog a,.cf a{color:#0b3a9a}
.cf-sec{font:900 22px/1 Georgia,serif;text-transform:uppercase;letter-spacing:.08em;margin:18px 0 8px;border-bottom:3px solid #1a1a1a;padding-bottom:4px;color:#1a1a1a}
.cf-strip{margin:0 0 20px;background:#fffdf4;border:2px solid #1a1a1a;padding:8px}.cf-strip header{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:baseline;margin-bottom:6px}.cf-strip header b{font:900 18px/1.1 Georgia,serif;color:#1a1a1a}.cf-strip header small{font:12px/1.2 Georgia,serif;color:#4a4a4a}
.cf-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:6px}
.cc-p{position:relative;border:3px solid #1a1a1a;min-height:210px;display:flex;flex-direction:column;overflow:hidden;background:#cfe4f7}
.cc-c{margin:0;padding:3px 6px;background:#ffe27a;border-bottom:2px solid #1a1a1a;font:700 12px/1.25 Georgia,serif;color:#1a1a1a}
.cc-s{flex:1;display:flex;align-items:flex-end;justify-content:space-around;gap:3px;padding:6px 4px 4px}
.cc-w{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}
.cc-b{position:relative;margin:0 0 8px;padding:5px 8px;background:#fff;border:2px solid #1a1a1a;border-radius:12px;font:12.5px/1.25 "Comic Sans MS","Chalkboard SE",cursive,sans-serif;color:#1a1a1a;text-align:center;max-width:100%;overflow-wrap:anywhere}
.cc-b:after{content:"";position:absolute;left:50%;bottom:-8px;width:10px;height:10px;background:#fff;border-right:2px solid #1a1a1a;border-bottom:2px solid #1a1a1a;transform:translateX(-50%) rotate(45deg)}
.sc-party{background:linear-gradient(#ffd6e8 0 70%,#c98a5a 70%)}.sc-room{background:linear-gradient(#cfe4f7 0 72%,#a87a4a 72%)}.sc-kitchen{background:linear-gradient(#fff3b0 0 72%,#e0e0e0 72%)}.sc-hall{background:linear-gradient(#efe0c0 0 72%,#8a6a4a 72%)}.sc-night{background:linear-gradient(#26305e 0 72%,#4a3a2a 72%)}.sc-yard{background:linear-gradient(#a8dcf8 0 68%,#6ac05a 68%)}.sc-desk{background:linear-gradient(#d8dce6 0 72%,#8a8f9b 72%)}
.cf-gags{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.cf-gag{margin:0;text-align:center}
.cf-ring{border:4px solid #1a1a1a;border-radius:46% 54% 50% 50% / 38% 38% 42% 42%;overflow:hidden;background:#fffdf4}.cf-ring .cc-p{border:0;min-height:230px;border-radius:0}
.cf-gag figcaption{margin-top:6px;font:italic 14px/1.3 Georgia,serif;color:#1a1a1a}
/* closet */
.cl-top{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-start}.cl-top>div:last-child{flex:1;min-width:240px}.cl-prev{background:#c9d6ea;border:3px solid var(--line);padding:30px 24px 10px}
.cl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:8px 0}.cl-t{border:3px solid var(--line);background:var(--panel)}.cl-t.on{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue)}
.cl-b,.cl-l{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;padding:12px 6px 10px;background:none;border:0;color:var(--ink);font:inherit;cursor:pointer;text-align:center}.cl-b:hover{background:rgba(0,0,170,.08)}.cl-b b,.cl-l b{font-size:15px}.cl-b small,.cl-l small{color:var(--mute);font-size:13px;line-height:1.25}.cl-l{cursor:default}.cl-t.lock svg{opacity:.45;filter:grayscale(1)}.cl-why{color:var(--ink)!important}
.cl-moods .btn{padding:6px 10px;font-size:14px}
/* stickers */
.cs-sheet{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin:12px 0}.cs-s{background:#fff;color:#1a1a1a;border:3px solid #1a1a1a;padding:10px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:150px;box-shadow:3px 4px 0 rgba(0,0,0,.25)}.cs-s.round{border-radius:30px}.cs-s b{font:700 13px/1.2 monospace;text-transform:uppercase;letter-spacing:.04em}.cs-s.tag{background:#ffd54a;transform:rotate(-2deg)}.cs-s.tag b{font-size:18px}.cs-s.tag small{font-size:13px}
@media print{.cs-sheet{grid-template-columns:repeat(4,1fr);gap:8px}.cs-s{box-shadow:none;break-inside:avoid}}
/* memory manager */
.mm-lv{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.mm-lv .btn{display:flex;flex-direction:column;align-items:center;min-width:54px;padding:6px 8px}.mm-lv small{font-size:11px;letter-spacing:.05em}.mm-lv .btn[disabled]{opacity:.6}
.mm-top{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}.mm-top>div{flex:1;min-width:240px}.mm-say{font-style:italic;color:var(--mute)}.mm-mach{font:14px/1.4 monospace;color:var(--mute)}
.mm-bar{display:flex;height:34px;border:3px solid var(--line);background:#222;margin:8px 0}.mm-s{display:block;min-width:2px}.mm-s.dos{background:#7a7a86}.mm-s.sys{background:#d6a02a}.mm-s.drv{background:#c0502f}.mm-s.free{background:#2fa05a}
.mm-free{margin:4px 0}.mm-bad{color:#b01030;font-weight:700}:root[data-theme="dark"] .mm-bad{color:#ff8a9a}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .mm-bad{color:#ff8a9a}}
.mm-sys{border:2px solid var(--line);padding:8px 10px;margin:8px 0}.mm-sys label{margin-right:14px;display:inline-block}.mm-sys legend{font:700 13px monospace;padding:0 6px}
.mm-drv{border:2px solid var(--line);background:var(--panel);margin:8px 0}.mm-hd,.mm-r{display:grid;grid-template-columns:1fr 54px auto;gap:8px;align-items:center;padding:7px 10px}.mm-hd{border-bottom:2px solid var(--line);font:700 12px monospace;text-transform:uppercase}.mm-r+.mm-r{border-top:1px dashed var(--line)}.mm-r small{display:block;color:var(--mute);font-size:13px}.mm-req{font:700 11px monospace;background:var(--blue);color:var(--blue-ink);padding:1px 6px;font-style:normal;text-transform:uppercase}
.mm-ch{display:flex;gap:4px}.mm-o{border:2px solid var(--line);padding:5px 9px;cursor:pointer;font-size:14px;display:flex;gap:4px;align-items:center;background:var(--bg)}.mm-o.on{background:var(--blue);color:var(--blue-ink)}.mm-o input{position:absolute;opacity:0;width:0;height:0}.mm-o:focus-within{outline:3px solid var(--blue);outline-offset:2px}
.mm-code pre{background:#111;color:#8fe08a;padding:10px;overflow:auto;font-size:13px;border:2px solid var(--line)}
.mm-out{margin-top:8px}.mm-good{color:#0a6a34}:root[data-theme="dark"] .mm-good{color:#7fe0a0}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .mm-good{color:#7fe0a0}}.mm-new{background:#ffd54a;color:#1a1a1a;padding:6px 10px;border:2px solid #1a1a1a}.mm-new a{color:#0b3a9a}
@media (max-width:520px){.mm-hd,.mm-r{grid-template-columns:1fr 44px}.mm-hd span:last-child,.mm-ch{grid-column:1/-1}}

.shf-l{list-style:none;padding:0;margin:6px 0}.shf-l .shf{margin:4px 0}
.mm-o.na{opacity:.55;border-style:dashed}.mm-o.na:hover{opacity:.9}
.mm-how{border:2px solid var(--line);padding:8px 12px;margin:10px 0;background:var(--bg)}.mm-how summary{cursor:pointer;font-weight:bold}.mm-how ol{margin:8px 0;padding-left:22px}.mm-how li{margin:5px 0}.mm-gl{display:grid;grid-template-columns:max-content 1fr;gap:3px 12px;margin:8px 0 2px}.mm-gl dt{font-weight:bold}.mm-gl dd{margin:0}
@media(max-width:560px){.mm-gl{grid-template-columns:1fr}.mm-gl dd{margin-bottom:6px}}
.mm-tip{border:2px solid var(--line);border-left:8px solid #ffd54a;padding:8px 12px;margin:8px 0;background:var(--bg)}
.cm-cameo{display:flex;gap:12px;align-items:flex-end;margin:28px 0 8px;padding:10px 12px;border:2px dashed var(--line);background:var(--bg)}
.cm-cameo .cm-cs{flex:0 0 auto}.cm-cameo .cm-cg{flex:0 0 auto;margin-left:-6px}.cm-cameo .cm-ct{flex:1 1 auto;min-width:0}.cm-cameo .cm-ct p{margin:0 0 6px}
@media(max-width:560px){.cm-cameo{flex-wrap:wrap}.cm-cameo .cm-ct{flex-basis:100%}}
/* the whole family idles; Connie keeps her own animation above */
html[data-motion=on] svg.cc *{transform-box:fill-box}
html[data-motion=on] svg.cc .mc-all{transform-origin:50% 100%;animation:mc-bob 2.6s steps(1,end) var(--cd,0s) infinite}
html[data-motion=on] svg.cc .mc-eyes{transform-origin:50% 50%;animation:mc-blink 5s steps(1,end) var(--cd,0s) infinite}
html[data-motion=on] svg.cc:hover .mc-armr,html[data-motion=on] svg.cc:focus .mc-armr{transform-origin:0% 50%;animation:mc-wave .45s steps(2,end) infinite}
html[data-motion=on] svg.cc:hover .mc-arml{transform-origin:100% 50%;animation:mc-wave .45s steps(2,end) .2s infinite reverse}
html[data-motion=on] svg.cc:hover .mc-legl{transform-origin:50% 0%;animation:mc-tap .5s steps(1,end) infinite}html[data-motion=on] svg.cc:hover .mc-legr{transform-origin:50% 0%;animation:mc-tap .5s steps(1,end) .25s infinite}
html[data-motion=on] svg.cc-hiram .mc-all,html[data-motion=on] svg.cc-emma .mc-all{animation:mc-jump 2.8s steps(1,end) var(--cd,0s) infinite}
html[data-motion=on] svg.cc-ram .mc-all{animation:mc-shake 5s steps(1,end) var(--cd,0s) infinite}
html[data-motion=on] svg.cc-zack .mc-all{animation:mc-jitter .8s steps(2,end) infinite}
html[data-motion=on] svg.cc-sandy .mc-all,html[data-motion=on] svg.cc-dot .mc-all{animation:mc-bounce .9s steps(2,end) var(--cd,0s) infinite}
html[data-motion=on] svg.cc-tess .mc-all{animation:mc-wobble 1.6s steps(2,end) var(--cd,0s) infinite}
html[data-motion=on] svg.cc-nibble .mc-all{animation:mc-scurry 1.4s steps(4,end) var(--cd,0s) infinite}
html[data-motion=on] svg.cc-floyd .mc-all,html[data-motion=on] svg.cc-winnie .mc-all{animation:mc-bob 4.2s steps(1,end) var(--cd,0s) infinite}
html[data-motion=on] svg.cc-conrad .mc-all,html[data-motion=on] svg.cc-rhoda .mc-all,html[data-motion=on] svg.cc-augusta .mc-all{animation:mc-sway 3.4s steps(3,end) var(--cd,0s) infinite}
html[data-motion=on] svg.cc-mo .mc-all{animation:mc-shake 3s steps(1,end) var(--cd,0s) infinite}
@keyframes mc-sway{0%,100%{transform:rotate(0)}50%{transform:rotate(1.6deg)}}
@keyframes mc-wobble{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@keyframes mc-scurry{0%,100%{transform:translateX(-1.5px)}50%{transform:translateX(1.5px)}}
@keyframes mc-jitter{0%{transform:translate(0,0)}50%{transform:translate(.6px,-.6px)}100%{transform:translate(-.6px,0)}}
@keyframes mc-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.2px)}}
html[data-motion=on] svg.cc-mat .mc-all{animation:mc-scurry 1.2s steps(4,end) var(--cd,0s) infinite}
html[data-motion=on] svg.cc-toner .mc-all{animation:mc-bounce 1s steps(2,end) var(--cd,0s) infinite}
/* trading cards: used on About (Matt and Tony) and on #/cards (the family) */
.tc{--tc:#38b24a;width:250px;max-width:100%;box-sizing:border-box;position:relative;border:7px solid #e0a526;border-radius:12px;background:linear-gradient(#fff6c8,#f4dc86);color:#1a1a22;padding:8px;text-align:left;box-shadow:5px 5px 0 var(--line,#0003);transition:transform .15s}
.tc header{display:flex;justify-content:space-between;align-items:baseline;gap:6px}.tc header b{font-size:16px;line-height:1.1}.tc header span{font-family:"VT323",monospace;font-size:19px;color:#b0102e;white-space:nowrap}
.tc-art{position:relative;overflow:hidden;height:172px;margin-top:6px;border:3px solid #6b5420;background:radial-gradient(circle at 50% 38%,#ffffffcc,var(--tc));display:flex;align-items:center;justify-content:center}
.tc-art svg{display:block;max-height:158px;width:auto}.tc-art img{width:100%;height:100%;object-fit:cover;object-position:50% 38%;display:block}
.tc-shine{position:absolute;inset:0;pointer-events:none}
.tc-type{margin:6px 0;padding:2px 6px;background:#6b5420;color:#fff6c8;font-size:11px;font-weight:700;letter-spacing:.06em;text-align:center}
.tc-st{display:grid;grid-template-columns:auto 1fr;gap:3px 8px;margin:6px 0;font-size:13px;align-items:center}.tc-st dt{font-weight:700}
.tc-st dd{margin:0;display:flex;justify-content:flex-end;gap:2px;align-items:center;font-family:"VT323",monospace;font-size:17px;line-height:1;text-align:right}
.tc .pp i{display:block;width:9px;height:9px;background:#00000026}.tc .pp i.on{background:var(--tc);box-shadow:inset 0 0 0 1px #0006}
.tc-mv{margin:6px 0;font-size:13px;line-height:1.25}.tc-fl{margin:6px 0 5px;font-size:12px;font-style:italic;color:#5a4a1a;line-height:1.25}
.tc footer{display:flex;justify-content:space-between;gap:6px;border-top:2px solid #6b5420;padding-top:4px;font-size:10px;font-weight:700;letter-spacing:.06em}
.tc.holo{border-color:transparent;background:linear-gradient(#fff6c8,#f4dc86) padding-box,linear-gradient(120deg,#ff3d9a,#ffd54a,#4ad66d,#4a9eff,#ff3d9a) border-box}
.tc.holo .tc-shine{background:linear-gradient(115deg,transparent 30%,#ffffffaa 46%,transparent 62%);background-size:260% 100%;background-position:120% 0}
html[data-motion=on] .tc.holo .tc-shine{animation:tcsh 3.2s linear infinite}@keyframes tcsh{to{background-position:-60% 0}}
html[data-motion=on] .tc:hover{transform:translateY(-4px) rotate(-1deg)}
.tc-hero{display:flex;justify-content:center;margin:18px 0}.tc-hero .tc{width:300px}
.tc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;justify-items:center}
.ab-tcs{display:flex;flex-wrap:wrap;gap:22px;justify-content:center;margin:14px 0}
@media print{.tc{box-shadow:none;break-inside:avoid}.tc-grid{grid-template-columns:repeat(3,1fr)}}

/* ===== animation library: classes an-<name> on any svg.cc (see CMCast.ANIMS and play()); every one needs motion on ===== */
html[data-motion=on] svg.cc .mc-armr{transform-origin:0% 50%}html[data-motion=on] svg.cc .mc-arml{transform-origin:100% 50%}
html[data-motion=on] svg.cc .mc-legl,html[data-motion=on] svg.cc .mc-legr{transform-origin:50% 0%}
html[data-motion=on] svg.cc .mc-bow{transform-origin:50% 100%}html[data-motion=on] svg.cc .mc-mouth{transform-origin:50% 0%}
html[data-motion=on] svg.cc.an-wave .mc-armr{animation:mc-wave .45s steps(2,end) infinite}
html[data-motion=on] svg.cc.an-hop .mc-all{animation:mc-hop .9s steps(6,end) infinite}
html[data-motion=on] svg.cc.an-cheer .mc-armr{animation:an-upr .5s steps(2,end) infinite}html[data-motion=on] svg.cc.an-cheer .mc-arml{animation:an-upl .5s steps(2,end) infinite}html[data-motion=on] svg.cc.an-cheer .mc-all{animation:mc-hop .6s steps(6,end) infinite}
html[data-motion=on] svg.cc.an-dance .mc-all{animation:an-dance .8s steps(2,end) infinite}html[data-motion=on] svg.cc.an-dance .mc-legl{animation:mc-tap .4s steps(1,end) infinite}html[data-motion=on] svg.cc.an-dance .mc-legr{animation:mc-tap .4s steps(1,end) .2s infinite}html[data-motion=on] svg.cc.an-dance .mc-bow{animation:mc-bow .8s steps(2,end) infinite}
html[data-motion=on] svg.cc.an-talk .mc-mouth{animation:mc-talk .2s steps(1,end) infinite}
html[data-motion=on] svg.cc.an-think .mc-all{animation:an-tilt 2.4s steps(2,end) infinite}html[data-motion=on] svg.cc.an-think .mc-eyes{animation:an-look 2.2s steps(1,end) infinite}
html[data-motion=on] svg.cc.an-point .mc-armr{animation:an-point 1s steps(2,end) infinite}
html[data-motion=on] svg.cc.an-nod .mc-all{animation:an-nod 1s steps(3,end) infinite}
html[data-motion=on] svg.cc.an-shiver .mc-all{animation:mc-jitter .12s steps(2,end) infinite}
html[data-motion=on] svg.cc.an-sleep .mc-eyes{animation:none;transform:scaleY(.12)}html[data-motion=on] svg.cc.an-sleep .mc-all{animation:an-breathe 3s steps(2,end) infinite}
html[data-motion=on] svg.cc.an-peek .mc-all{animation:an-peek .9s steps(5,end) 1 both}
html[data-motion=on] svg.cc.an-walk .mc-all{animation:an-walkin 2s steps(8,end) 1 both}html[data-motion=on] svg.cc.an-walk .mc-legl{animation:mc-tap .25s steps(1,end) infinite}html[data-motion=on] svg.cc.an-walk .mc-legr{animation:mc-tap .25s steps(1,end) .12s infinite}
html[data-motion=on] svg.cc.an-turn .mc-all{animation:an-turn 1.2s steps(6,end) 1}
html[data-motion=on] svg.cc.an-bow .mc-all{animation:an-bowd 1.6s steps(4,end) 1}
html[data-motion=on] svg.cc.an-stroll .mc-all{animation:an-bob .35s steps(2,end) infinite}html[data-motion=on] svg.cc.an-stroll .mc-legl{animation:mc-tap .35s steps(1,end) infinite}html[data-motion=on] svg.cc.an-stroll .mc-legr{animation:mc-tap .35s steps(1,end) .17s infinite}
html[data-motion=on] svg.cc.an-carry .mc-armr{animation:none;transform:rotate(-68deg)}html[data-motion=on] svg.cc.an-carry .mc-arml{animation:none;transform:rotate(68deg)}
html[data-motion=on] svg.cc.an-dust .mc-armr{animation:an-dust .5s steps(2,end) infinite}
html[data-motion=on] svg.cc.an-stir .mc-armr{animation:an-stir .4s steps(2,end) infinite}
html[data-motion=on] svg.cc.an-solder .mc-armr{animation:an-sold .15s steps(2,end) infinite}
html[data-motion=on] svg.cc.an-read .mc-all{animation:an-read 3s steps(2,end) infinite}
html[data-motion=on] svg.cc.an-scurry .mc-all{animation:mc-scurry .6s steps(4,end) infinite}
@keyframes an-upr{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(-80deg)}}
@keyframes an-upl{0%,100%{transform:rotate(8deg)}50%{transform:rotate(80deg)}}
@keyframes an-dance{0%,100%{transform:rotate(-4deg) translateX(-1px)}50%{transform:rotate(4deg) translateX(1px)}}
@keyframes an-tilt{0%,100%{transform:rotate(0)}50%{transform:rotate(5deg)}}
@keyframes an-look{0%,100%{transform:translateX(0)}30%{transform:translateX(1px)}60%{transform:translateX(-1px)}}
@keyframes an-point{0%,100%{transform:rotate(-72deg)}50%{transform:rotate(-82deg)}}
@keyframes an-nod{0%,100%{transform:rotate(0)}50%{transform:rotate(5deg)}}
@keyframes an-breathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.03)}}
@keyframes an-peek{0%{transform:translateX(-45px);opacity:0}100%{transform:translateX(0);opacity:1}}
@keyframes an-walkin{0%{transform:translateX(-70px)}100%{transform:translateX(0)}}
@keyframes an-turn{0%,100%{transform:scaleX(1)}50%{transform:scaleX(-1)}}
@keyframes an-bowd{0%,100%{transform:rotate(0)}40%,60%{transform:rotate(22deg)}}
@keyframes an-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-.7px)}}
@keyframes an-dust{0%,100%{transform:rotate(-62deg)}50%{transform:rotate(-8deg)}}
@keyframes an-stir{0%,100%{transform:rotate(-26deg)}50%{transform:rotate(6deg)}}
@keyframes an-sold{0%,100%{transform:rotate(-24deg)}50%{transform:rotate(-17deg)}}
@keyframes an-read{0%,100%{transform:rotate(0)}50%{transform:rotate(3deg)}}

/* ===== the stage (stage.js): scenery, actors, props ===== */
.stg{position:relative;overflow:hidden;height:clamp(170px,34vh,300px);flex:0 0 auto;background:linear-gradient(#10104a 0 62%,#2a2a5e 62% 63%,#3a3a78 63%);border-top:3px double #3a3aff;font-family:"VT323","Courier New",monospace}
.stg:before{content:"";position:absolute;left:0;right:0;bottom:0;height:37%;background:repeating-linear-gradient(90deg,#4a4a8a 0 40px,#3e3e7a 40px 80px);opacity:.7}
.stg-a{position:absolute;bottom:4%;transform:translateX(-50%);line-height:0}.stg-in{position:relative;display:block}.stg-a.flip .stg-in{transform:scaleX(-1)}.stg-a.flip .pp-crate b{display:inline-block;transform:scaleX(-1)}.stg-s{display:block}
.stg-a svg{display:block}.stg-b{position:absolute;left:50%;bottom:100%;transform:translateX(-50%);margin:0 0 4px;width:max-content;max-width:260px;padding:5px 10px;background:#fff;color:#111!important;border:3px solid #111;border-radius:10px;font:20px/1.1 "VT323","Courier New",monospace;text-align:center;z-index:9}
.stg-b:after{content:"";position:absolute;left:calc(50% + var(--tx,0px));top:100%;margin-left:-6px;border:6px solid transparent;border-top-color:#111}
.stg-b.stgside{bottom:auto;top:12%;transform:none;margin:0}.stg-b.stgside.stgr{left:100%;margin-left:6px}.stg-b.stgside.stgl{left:auto;right:100%;margin-right:6px}.stg-b.stgside:after{top:50%;margin-top:-6px;border-top-color:transparent}.stg-b.stgside.stgr:after{left:-12px;margin-left:0;border-right-color:#111}.stg-b.stgside.stgl:after{left:auto;right:-12px;margin-left:0;border-left-color:#111}
.stg-a.star .stg-b{background:#fff6c8;font-size:23px;max-width:340px}
.stg-p{position:absolute;left:50%;top:0;pointer-events:none;z-index:2}.stg-p:not([class*="pp-"]){display:none}
.pp-crate{transform:translate(-50%,-64%);width:46px;height:34px;background:#b8843a;border:3px solid #6b4a1a;box-sizing:border-box;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 -6px 0 #0002}.pp-crate b{font:13px/1 "VT323",monospace;color:#fff!important;letter-spacing:.04em}
.pp-duster{transform:translate(34px,30px) rotate(-30deg);width:5px;height:42px;background:#8a5a2b}.pp-duster:before{content:"";position:absolute;left:-9px;top:-14px;width:23px;height:18px;background:#ff7a9a;border-radius:50% 50% 30% 30%}
.pp-broom{transform:translate(30px,40px) rotate(8deg);width:4px;height:66px;background:#8a5a2b}.pp-broom:after{content:"";position:absolute;left:-12px;bottom:-4px;width:28px;height:14px;background:#d8b45a}
.pp-spoon{transform:translate(34px,34px) rotate(-20deg);width:4px;height:34px;background:#c8c8d0}.pp-spoon:before{content:"";position:absolute;left:-4px;top:-8px;width:12px;height:10px;background:#c8c8d0;border-radius:50%}
.stg-n{position:absolute;bottom:4%;transform:translateX(-50%);z-index:1}
.sn-plinth{width:90px;height:52px;background:linear-gradient(#e8e8f0 0 22%,#9a9ab0 22%);border:3px solid #fff;box-sizing:border-box}
.sn-item{bottom:calc(4% + 52px);width:62px;height:40px;background:#b8843a;border:3px solid #6b4a1a;box-sizing:border-box;display:flex;align-items:center;justify-content:center;z-index:2;animation:sn-pop .3s steps(3,end)}.sn-item b{font:15px/1 "VT323",monospace;color:#fff!important;text-align:center}
@keyframes sn-pop{from{transform:translate(-50%,-30px)}to{transform:translate(-50%,0)}}
.sn-shelf{bottom:44%;width:150px;height:48px;background:repeating-linear-gradient(90deg,#c8b890 0 26px,#a89a74 26px 30px,#e8e0c8 30px 52px,#a89a74 52px 56px);border-bottom:6px solid #8a5a2b}
.sn-bench{width:130px;height:46px;background:#8a5a2b;border-top:8px solid #5a3a1b;box-sizing:border-box}.sn-bench:after{content:"";position:absolute;left:56px;top:-24px;width:14px;height:14px;background:#ffe14a;box-shadow:0 0 14px 6px #ff9a2a;animation:sn-spark .3s steps(2,end) infinite}
@keyframes sn-spark{50%{opacity:.15}}
.sn-arcade{width:60px;height:110px;background:#c0143c;border:4px solid #7a0a24;box-sizing:border-box}.sn-arcade:before{content:"";position:absolute;left:8px;top:10px;width:36px;height:34px;background:#0a2a1a;box-shadow:inset 0 0 0 3px #4ad66d}
.sn-printer{width:80px;height:44px;background:#e8e0c8;border:3px solid #6b5a3a;box-sizing:border-box}.sn-printer:before{content:"";position:absolute;left:12px;top:-30px;width:44px;height:34px;background:#fff;border:1px solid #bbb;animation:sn-paper 1.2s steps(4,end) infinite}
@keyframes sn-paper{0%{transform:translateY(24px)}100%{transform:translateY(0)}}
.sn-phone{bottom:22%;width:34px;height:42px;background:#e8e0c8;border:3px solid #6b5a3a;box-sizing:border-box;border-radius:6px}
.sn-stove{width:84px;height:54px;background:#c8c8d0;border:3px solid #6b6b78;box-sizing:border-box}.sn-stove:before{content:"";position:absolute;left:18px;top:-18px;width:48px;height:20px;background:#444;border-radius:0 0 8px 8px}.sn-stove:after{content:"";position:absolute;left:30px;top:-44px;width:8px;height:18px;background:#fff8;animation:sn-steam 1.2s steps(4,end) infinite}
@keyframes sn-steam{0%{transform:translateY(12px);opacity:0}30%{opacity:1}100%{transform:translateY(-10px);opacity:0}}
.sn-table{width:100px;height:40px;background:#a8793a;border-top:6px solid #6b4a1a;box-sizing:border-box}
.sn-drive{width:70px;height:56px;background:#9aa4b4;border:3px solid #4a5260;box-sizing:border-box}.sn-drive:after{content:"";position:absolute;right:8px;top:8px;width:8px;height:8px;background:#e8402f;animation:sn-spark .6s steps(2,end) infinite}
.sn-barrier{width:150px;height:34px;background:repeating-linear-gradient(45deg,#ffd54a 0 14px,#16161a 14px 28px);border:3px solid #16161a;box-sizing:border-box;bottom:4%}
.sn-stool{width:46px;height:34px;background:#a8793a;border-top:6px solid #6b4a1a;box-sizing:border-box}.sn-stool:after{content:"";position:absolute;left:6px;right:6px;top:6px;height:28px;border-left:5px solid #6b4a1a;border-right:5px solid #6b4a1a}
.sn-jukebox{width:64px;height:96px;background:linear-gradient(#ff3d9a 0 30%,#7a1a56 30%);border:4px solid #3a0a2a;border-radius:30px 30px 4px 4px;box-sizing:border-box}.sn-jukebox:before{content:"";position:absolute;left:10px;top:34px;width:36px;height:30px;background:repeating-linear-gradient(90deg,#ffd54a 0 6px,#16161a 6px 9px);animation:sn-spark .5s steps(2,end) infinite}
.sn-cone{width:20px;height:28px;background:#ff7a2a;clip-path:polygon(35% 0,65% 0,100% 100%,0 100%);z-index:3}
/* wall decorations: simple pixel pieces hung on the back wall */
.stg-d{position:absolute;transform:translateX(-50%);z-index:0;font-family:"VT323","Courier New",monospace;color:#fff}
.d-banner{padding:3px 14px;background:#c0143c;border:3px solid #ffd54a;font-size:18px;line-height:1;letter-spacing:.08em;white-space:nowrap;box-shadow:0 3px 0 #0006}
.d-frame{width:46px;height:38px;border:4px solid #c8a24a;background:linear-gradient(#0000 0 55%,var(--c2,#4ad66d) 55%) ,var(--c1,#38b2ff);box-sizing:border-box}
.d-clock{width:34px;height:34px;border-radius:50%;background:#f4efe0;border:4px solid #8a5a2b;box-sizing:border-box}.d-clock:before{content:"";position:absolute;left:13px;top:5px;width:2px;height:11px;background:#16161a;transform-origin:50% 10px;animation:d-tick 12s steps(12,end) infinite}.d-clock:after{content:"";position:absolute;left:13px;top:9px;width:2px;height:7px;background:#c0143c}
@keyframes d-tick{to{transform:rotate(360deg)}}
.d-window{width:52px;height:52px;background:linear-gradient(#0a0a30,#1a2a6a);border:4px solid #8a5a2b;box-sizing:border-box;box-shadow:inset 0 0 0 2px #0008}.d-window:before{content:"";position:absolute;left:8px;top:6px;width:4px;height:4px;background:#fff;box-shadow:20px 10px 0 #fff,10px 22px 0 #fff,26px 24px 0 #ffd54a}.d-window:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;margin-left:-1px;background:#8a5a2b}
.d-lamp{width:3px;height:34px;background:#8a8a98;overflow:visible}.d-lamp:after{content:"";position:absolute;left:-15px;top:30px;width:34px;height:14px;background:#ffd54a;border-radius:50% 50% 0 0;box-shadow:0 18px 40px 14px #ffd54a40}
.d-poster{width:72px;padding:6px 3px;background:#f4efe0;color:#16161a!important;border:3px solid #16161a;font-size:16px;line-height:1;text-align:center;box-sizing:border-box;transform:translateX(-50%) rotate(-2deg)}
.d-sign{padding:3px 12px;background:#2f3a86;border:3px solid #e8e8ee;font-size:18px;line-height:1;letter-spacing:.1em}
.d-calendar{width:40px;height:46px;background:#fff;border:3px solid #16161a;border-top:10px solid #c0143c;box-sizing:border-box}.d-calendar:after{content:"";position:absolute;left:4px;top:4px;right:4px;bottom:4px;background:repeating-linear-gradient(90deg,#16161a 0 3px,#0000 3px 8px),#0000;opacity:.6;-webkit-mask:linear-gradient(#000 0 0);height:18px}
.d-neon{padding:2px 10px;border:3px solid var(--n,#38f0ff);color:var(--n,#38f0ff)!important;font-size:20px;line-height:1.05;letter-spacing:.12em;white-space:nowrap;box-shadow:0 0 10px var(--n,#38f0ff),inset 0 0 8px var(--n,#38f0ff);animation:d-neon 1.4s steps(2,end) infinite}
@keyframes d-neon{50%{opacity:.55}}
.d-mirror{width:40px;height:66px;background:linear-gradient(120deg,#cfe8ff 0 40%,#9ac8f0 40% 55%,#cfe8ff 55%);border:4px solid #c8a24a;border-radius:20px 20px 2px 2px;box-sizing:border-box}
.d-rack{width:70px;height:4px;background:#8a8a98;box-shadow:0 0 0 0 #0000}.d-rack:before{content:"";position:absolute;left:6px;top:4px;width:14px;height:26px;background:#ff3d9a;box-shadow:20px 0 0 #38b2ff,40px 0 0 #ffd54a}
/* effects: tiny pixel pieces that rise and fade */
.stg-fx{position:absolute;width:3px;height:3px;background:#fff;pointer-events:none;z-index:8;animation:fx-up 1.1s steps(6,end) forwards}
.fx-puff{background:#c8c8d8;box-shadow:6px -4px 0 #c8c8d8,12px 1px 0 #a8a8bc,3px 5px 0 #a8a8bc}
.fx-spark{background:#ffe14a;box-shadow:5px -5px 0 #ff9a2a,-5px -3px 0 #fff,3px 4px 0 #ff9a2a}
.fx-star{background:#fff6a0;box-shadow:3px 0 0 #fff6a0,-3px 0 0 #fff6a0,0 3px 0 #fff6a0,0 -3px 0 #fff6a0;width:3px;height:3px}
.fx-heart{background:#ff4d7a;width:3px;height:3px;box-shadow:6px 0 0 #ff4d7a,-3px 3px 0 #ff4d7a,0 3px 0 #ff4d7a,3px 3px 0 #ff4d7a,6px 3px 0 #ff4d7a,9px 3px 0 #ff4d7a,0 6px 0 #ff4d7a,3px 6px 0 #ff4d7a,6px 6px 0 #ff4d7a,3px 9px 0 #ff4d7a}
.fx-note{background:#ffd54a;width:3px;height:3px;box-shadow:3px 0 0 #ffd54a,6px -3px 0 #ffd54a,6px -6px 0 #ffd54a,6px -9px 0 #ffd54a,9px -9px 0 #ffd54a}
@keyframes fx-up{0%{transform:translateY(0);opacity:1}100%{transform:translateY(-34px);opacity:0}}
html[data-motion=off] .stg-fx{display:none}
html[data-motion=off] .stg-a,html[data-motion=off] .stg-a *{transition:none!important}
/* the kiosk host strip */
.kiosk .stg{border-top:3px double #3a3aff}
.an-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin:12px 0}.an-c{border:3px solid var(--ink);background:var(--panel);padding:10px;text-align:center;box-shadow:4px 4px 0 var(--line)}.an-c h4{margin:6px 0 2px;font:400 24px/1 "VT323",monospace}.an-c p{margin:4px 0;font-size:14px;min-height:3.6em}.an-c code{display:block;font-size:11px;margin:4px 0 8px;overflow-wrap:anywhere;color:var(--mute)}.an-sp{min-height:128px;display:flex;align-items:flex-end;justify-content:center}
.an-stage{position:relative;overflow:hidden;min-height:240px;border:3px solid var(--ink);margin:10px 0;background:#10104a}.an-stage:empty:before{content:"Pick a scene above.";position:absolute;left:12px;top:10px;color:#fff;font:22px "VT323",monospace}.an-stage.stg{height:260px}

/* ===== the Conventional Memory Mall (shop.js) ===== */
.sh-bar a i{font-style:normal;display:inline-block;min-width:1.2em;text-align:center;background:var(--ink);color:var(--bg);border-radius:50%;margin-right:2px;font-size:12px}.sh-bar .sh-cartl b{background:#c0143c;color:#fff;border-radius:10px;padding:0 6px}
.sh-uc{display:flex;gap:12px;align-items:center;margin:0 0 14px;border:3px solid #16161a;background:#fff6c8;color:#16161a;padding:6px 12px 6px 0;font-size:15px;line-height:1.3}.sh-uc:before{content:"";align-self:stretch;flex:0 0 34px;margin:-6px 0;background:repeating-linear-gradient(45deg,#ffd54a 0 10px,#16161a 10px 20px)}.sh-uc b{font:26px/1 "VT323",monospace;letter-spacing:.06em;white-space:nowrap;color:#16161a}.sh-uc span{flex:1;min-width:0}
@media(max-width:560px){.sh-uc{flex-wrap:wrap;padding-left:8px}.sh-uc:before{flex-basis:100%;height:12px;margin:0 -8px 0 -8px}.sh-uc b{white-space:normal;flex:0 0 100%}.sh-uc span{flex:1 1 100%}}
.ml-top{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;margin:0 0 14px}.ml-hero{flex:0 0 auto}.ml-sign{flex:1;min-width:260px;background:#0a0a1e;border:4px solid #3a3aff;padding:10px 16px;box-shadow:6px 6px 0 var(--line);color:#fff}.ml-sign small{color:#7fd0ff;font:20px "VT323",monospace;letter-spacing:.12em;text-transform:uppercase}
.ml-sign h2{margin:0;font:clamp(34px,7vw,60px)/1 "VT323",monospace;color:#fff;text-shadow:0 0 6px #ff3d9a,0 0 14px #ff3d9a,0 0 22px #18c3b5}.ml-s2{margin:4px 0;color:#ffd54a;font:22px "VT323",monospace}.ml-say{margin:6px 0 0;font-size:15px;color:#e8e8ff}
.ml-dir{background:#5a1a2a;color:#f6e8c8;border:6px double #d4af37;padding:10px 14px;margin:0 0 14px}.ml-dir h3{margin:0 0 4px;font:28px "VT323",monospace;color:#ffd54a;letter-spacing:.08em;text-transform:uppercase}.ml-here{margin:0 0 8px;font-size:14px}.ml-here span{background:#ffd54a;color:#5a1a2a;font-weight:700;padding:0 6px;margin-right:6px}
.ml-dir ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:4px 18px}.ml-dir a{display:grid;grid-template-columns:32px 1fr;gap:0 8px;align-items:baseline;color:#f6e8c8;text-decoration:none;padding:5px 4px;border-bottom:1px dotted #d4af3788}.ml-dir ol a i{grid-row:1/3;font:normal 26px "VT323",monospace;color:#ffd54a;text-align:center}.ml-dir ol a b{font-size:17px}.ml-dir ol a span{font-size:13px;opacity:.9}.ml-dir ol a:hover,.ml-dir ol a:focus-visible{background:#7a2a3a;outline:none}.ml-cart{margin:8px 0 0}.ml-dir .btn{background:#ffd54a;color:#5a1a2a;border-color:#ffd54a}
.ml-floor{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;padding:16px;background:radial-gradient(#0002 1px,transparent 1.5px) 0 0/9px 9px,linear-gradient(#e8dcc8,#d8c8a8);border:3px solid var(--ink);margin:0 0 12px}
.ml-st{display:block;text-decoration:none;color:#fff!important;background:#15152e;border:4px solid #0a0a1e;box-shadow:5px 6px 0 #0003;text-align:center;padding:0 0 10px;transition:transform .12s}.ml-st:hover,.ml-st:focus-visible{transform:translateY(-3px);outline:3px solid var(--c2)}
.ml-awn{display:block;height:30px;background:repeating-linear-gradient(90deg,var(--c1) 0 24px,#fff 24px 48px);border-bottom:5px solid #0003;position:relative}.ml-awn:after{content:"";position:absolute;left:0;right:0;top:100%;height:8px;background:repeating-linear-gradient(90deg,var(--c1) 0 24px,#fff 24px 48px);clip-path:polygon(0 0,100% 0,100% 20%,95% 100%,90% 20%,85% 100%,80% 20%,75% 100%,70% 20%,65% 100%,60% 20%,55% 100%,50% 20%,45% 100%,40% 20%,35% 100%,30% 20%,25% 100%,20% 20%,15% 100%,10% 20%,5% 100%,0 20%)}
.ml-sg{display:block;margin:16px 10px 8px;padding:5px 6px;font:32px/1 "VT323",monospace;letter-spacing:.06em;color:var(--c2);background:#0a0a1e;border:3px solid var(--c1);text-shadow:0 0 8px var(--c2)}
.ml-win{display:flex;justify-content:center;align-items:flex-end;gap:2px;height:112px;margin:0 10px;overflow:hidden;background:linear-gradient(#6aa8e8,#2a4a8a 70%,#1a2a5a);border:4px solid #000;line-height:0}.ml-win svg{margin:0}
.ml-st small{display:block;padding:8px 10px 0;font-size:14px;color:#e8e8ff;line-height:1.25}
html[data-motion=on] .ml-st:hover .ml-sg{animation:ml-flick .5s steps(2,end) 2}@keyframes ml-flick{50%{opacity:.55}}
.ml-fc{grid-column:1/-1;text-align:center;padding:10px;border:3px dashed #8a7a5a;color:#5a4a2a!important;background:#f6ecd4}.ml-fc b{font:26px "VT323",monospace;letter-spacing:.1em;margin-right:8px}
.ml-pa{border:2px solid var(--line);background:var(--panel);padding:6px 10px}.ml-pa b{background:var(--blue,#0000aa);color:#fff;padding:0 6px;margin-right:6px;font:18px "VT323",monospace}
.sh-hd{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;background:#15152e;border:4px solid #0a0a1e;border-top:34px solid var(--c1);padding:10px 16px;margin:0 0 10px;color:#fff;position:relative}.sh-hd:before{content:"";position:absolute;left:-4px;right:-4px;top:-34px;height:34px;background:repeating-linear-gradient(90deg,transparent 0 24px,#ffffffcc 24px 48px)}
.sh-sg{flex:1;min-width:230px}.sh-sg small{font:20px "VT323",monospace;letter-spacing:.1em;color:#9fb0ff}.sh-sg h2{margin:0;font:clamp(36px,7vw,58px)/1 "VT323",monospace;color:var(--c2);text-shadow:0 0 10px var(--c2);letter-spacing:.04em}.sh-sg p{margin:2px 0 0;color:#e8e8ff}
.sh-keep{display:flex;gap:8px;align-items:flex-end}.sh-bub{margin:0;background:#fff;color:#111;border:3px solid #111;border-radius:10px;padding:4px 10px;font:20px/1.1 "VT323",monospace;max-width:190px}
.sh-greet{display:flex;gap:10px;align-items:center;margin:0 0 12px;border:2px dashed var(--line);padding:6px 10px;background:var(--panel)}.sh-greet span{flex:none;line-height:0}
.sh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:0 0 12px}.sh-p{border:3px solid var(--ink);background:var(--panel);padding:10px;box-shadow:4px 4px 0 var(--line);display:flex;flex-direction:column}.sh-p h4{margin:2px 0;font-size:16px}.sh-p p{margin:2px 0 8px;font-size:13px;flex:1}.sh-pr{display:flex;justify-content:space-between;align-items:center;margin:0 0 8px}.sh-pr b{font:26px "VT323",monospace}.sh-st{font-style:normal;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:1px 6px;border:2px solid currentColor}.st-mock{color:#1a7a3a}.st-soon{color:#a05a00}.st-maybe{color:#6a3aa0}
.sh-np{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:14px 0 0}.sh-ct{width:100%;border-collapse:collapse;margin:0 0 12px}.sh-ct th,.sh-ct td{border-bottom:1px solid var(--line);padding:6px;text-align:left;vertical-align:top}.sh-ct small{display:block;color:var(--mute);font-size:12px}.sh-ct .q button{width:26px}.sh-ct tfoot td{font-weight:700;border-top:2px solid var(--ink)}
.sh-pre{white-space:pre-wrap;background:#fff;color:#111;border:2px solid var(--ink);padding:10px;font:15px/1.35 "Courier New",monospace;max-height:340px;overflow:auto}.sh-order{border:3px solid var(--ink);padding:10px 14px;margin:0 0 12px}
/* product art */
.sa{position:relative;height:132px;display:flex;align-items:center;justify-content:center;gap:4px;background:#e8e8f2;border:2px solid var(--line);margin:0 0 8px;overflow:hidden;line-height:0}.sa svg,.sa img{display:block;margin:0}
.sa-sticker .sa-s{background:#fff;padding:4px;border-radius:16px;box-shadow:0 0 0 2px #fff,0 0 0 3px #0004,2px 3px 4px #0003;transform:rotate(-4deg)}.sa-sticker .s1{transform:rotate(3deg)}.sa-sticker .s2{transform:rotate(-2deg)}
.sa-card .sa-c,.sa-cardimg .sa-c{background:linear-gradient(#fff6c8,#f4dc86);border:4px solid #e0a526;border-radius:6px;padding:3px;box-shadow:2px 2px 0 #0003;transform:rotate(-3deg);overflow:hidden}.sa-card .c1,.sa-cardimg .c1{transform:rotate(4deg);margin-left:-12px}.sa-cardimg img{width:58px;height:72px;object-fit:cover;object-position:50% 12%}
.sa-pin .sa-pi{display:flex;align-items:center;justify-content:center;width:88px;height:88px;border-radius:50%;background:radial-gradient(#fff,#cfeadf);border:5px solid #e0a526;box-shadow:inset 0 0 0 2px #fff8,2px 3px 4px #0004;overflow:hidden}.sa-pin .sa-pi:not(:only-child){width:68px;height:68px}
.sa-plush .sa-in{background:radial-gradient(circle at 40% 30%,#ffffffaa,transparent 60%),#d4efcc;border:3px dashed #fff;border-radius:42%;padding:12px 16px;box-shadow:0 4px 0 #0002,inset 0 0 14px #0002}
.sa-mug .sa-in{position:relative;background:#fff;border:3px solid #333;border-radius:4px 4px 16px 16px;padding:6px 10px}.sa-mug .sa-in:after{content:"";position:absolute;right:-20px;top:16px;width:16px;height:30px;border:5px solid #333;border-left:0;border-radius:0 14px 14px 0}
.sa-tee .sa-in{background:#2a2a30;padding:18px 26px 8px;clip-path:polygon(0 16%,28% 0,38% 8%,62% 8%,72% 0,100% 16%,88% 34%,80% 28%,80% 100%,20% 100%,20% 28%,12% 34%)}
.sa-pad .sa-in{background:#303040;border-radius:12px;padding:8px 22px;box-shadow:0 3px 0 #0004}.sa-book .sa-in{background:#38b24a;border-left:10px solid #1e7a30;padding:8px 14px;border-radius:2px 6px 6px 2px;box-shadow:2px 2px 0 #0003}
.sa-poster .sa-po{display:flex;gap:2px;align-items:flex-end;background:#fff;border:6px solid #222;padding:10px 6px 4px;box-shadow:2px 2px 0 #0003;transform:rotate(1.5deg)}.sa-key .sa-in{position:relative;padding:8px;border-radius:50%;background:#fff;border:4px solid #e0a526}.sa-key .sa-in:before{content:"";position:absolute;left:50%;top:-24px;width:22px;height:22px;border:4px solid #888;border-radius:50%;margin-left:-11px}
/* Tony's iPod Works: an early-1990s desktop */
.ip{font-family:"Chicago","Geneva","Helvetica Neue",Helvetica,Arial,sans-serif}
.ip-desk{border:3px solid #000;background:#8a8a8a repeating-conic-gradient(#8a8a8a 0 25%,#a2a2a2 0 50%) 0 0/4px 4px;box-shadow:6px 6px 0 var(--line);color:#000}
.ip-menu{display:flex;align-items:center;gap:16px;background:#fff;color:#000;border-bottom:2px solid #000;padding:2px 12px;font-size:14px;font-weight:700}.ip-menu b{font-weight:700}.ip-pe{display:inline-flex}.ip-mt{margin-left:auto;font-weight:400}.ip-pear{display:block}
.ip-store{padding:14px}.ip-hero{background:#dcdcdc;border:2px solid #000;box-shadow:3px 3px 0 #000;padding:12px;margin:0 auto 14px;max-width:860px;color:#000}
.ip-sign{display:flex;gap:14px;align-items:center;border-bottom:6px solid transparent;border-image:linear-gradient(90deg,#5ec04a 0 16.6%,#f7d31e 0 33.3%,#f5821f 0 50%,#e03a3e 0 66.6%,#963d97 0 83.3%,#009ddc 0) 1;padding-bottom:10px}.ip-sign h2{margin:0;font:700 clamp(26px,5vw,42px)/1 "Chicago","Geneva",Helvetica,Arial,sans-serif;color:#000}.ip-sub{margin:2px 0 0;font-size:14px;font-style:italic;color:#333}
.ip-cast{display:flex;gap:6px;align-items:flex-end;justify-content:center;margin:10px 0 0;flex-wrap:wrap}.ip-cs,.ip-cc,.ip-cm{display:flex;flex-direction:column;align-items:center;line-height:0;text-align:center}.ip-cm small{font-size:11px;line-height:1.2;color:#333}
.ip-bub{margin:0 0 4px;background:#fff;color:#000;border:2px solid #000;border-radius:8px;padding:3px 8px;font-size:13px;line-height:1.2;max-width:220px;text-align:center}
.ip-note{max-width:860px;margin:0 auto 12px;background:#fff6c8;color:#000;border:2px solid #000;padding:6px 10px;font-size:13px}
.ip-win{max-width:860px;margin:0 auto 14px;background:#dcdcdc;border:2px solid #000;box-shadow:3px 3px 0 #000;color:#000}.ip-tb{display:flex;align-items:center;gap:8px;height:22px;padding:0 6px;background:repeating-linear-gradient(0deg,#000 0 1px,#fff 1px 3px);border-bottom:2px solid #000}.ip-cb{display:block;width:12px;height:12px;background:#fff;border:2px solid #000}.ip-tb span{margin:0 auto;background:#dcdcdc;padding:0 14px;font-size:13px;font-weight:700}
.ip-bd{padding:12px;background:#f4f4f4}.ip-help{margin:0 0 8px;font-size:13px;color:#333}
.ip-models{display:grid;gap:4px}.ip-m{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;border:2px solid #000;background:#fff;padding:4px 8px;cursor:pointer}.ip-m input{position:absolute;opacity:0;pointer-events:none}.ip-m:focus-within{outline:3px solid #0000aa;outline-offset:1px}.ip-m.on{background:#000;color:#fff}.ip-m.on *{color:#fff}.ip-mp{display:flex;justify-content:center;line-height:0}.ip-mt2 b{display:block;font-size:14px}.ip-mt2 small,.ip-mc small{display:block;font-size:12px;color:#444}.ip-mc{text-align:right}.ip-mc b{font:22px "VT323",monospace}
.ip-fin{margin:10px 0 0;border:2px solid #000;padding:4px 10px;background:#fff}.ip-fin label{margin-right:12px}
.ip-g{margin:0 0 10px;border:2px solid #000;background:#fff;padding:4px 10px 8px}.ip-g legend{font-weight:700;padding:0 6px}
.ip-mod{padding:6px 0;border-bottom:1px dotted #999}.ip-mod:last-child{border-bottom:0}.ip-mod label{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.ip-mod small{display:block;margin:2px 0 0 26px;font-size:12px;color:#444}.ip-pr{font:20px "VT323",monospace;margin-left:auto}.ip-mod.off{opacity:.5}.ip-mod.on{background:#eef4ff}.ip-mod select,.ip-mod .ip-tx{margin:4px 0 0 26px;max-width:calc(100% - 26px);border:2px solid #000;background:#fff;color:#000;padding:2px 4px;font:inherit}
.ip-sum{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}.ip-pic{flex:none;background:#fff;border:2px solid #000;padding:8px}.ip-tab{flex:1;min-width:260px;border-collapse:collapse;font-size:14px}.ip-tab td{padding:3px 6px;border-bottom:1px dotted #999;vertical-align:top}.ip-tab td:last-child{text-align:right;white-space:nowrap}.ip-tab tfoot td{font-weight:700;font-size:18px;border-top:2px solid #000;border-bottom:0}.ip-tab .disc td{color:#1a7a3a}
.ip-win .btn{background:#fff;color:#000;border:2px solid #000;border-radius:8px;box-shadow:none}.ip-win .btn.pri{background:#fff;outline:3px solid #000;outline-offset:1px}.ip-ok{min-height:1.3em;margin:6px 0 0;font-size:13px;color:#1a7a3a;font-weight:700}
.ip-win input[type=radio],.ip-win input[type=checkbox]{accent-color:#000}
.sh-bar{flex-wrap:wrap;overflow:visible;white-space:normal;border-bottom:0;gap:6px}.sh-bar a{border:2px solid var(--line)!important;border-bottom:2px solid var(--line)!important}
.ml-dir ol a{display:grid}.ml-dir .ml-cart a{display:inline-block}
.sh-bar a{padding:3px 8px!important;font-size:14px}
/* top menu: nine tabs no longer fit one row on a desktop, so wrap them instead of showing a scroll bar; phones swipe with the bar hidden */
@media(min-width:561px){header.top nav{flex-wrap:wrap;overflow:visible;justify-content:center}header.top nav a{padding:1px 8px;flex:0 0 auto}}
header.top nav{scrollbar-width:none}header.top nav::-webkit-scrollbar{display:none}

/* ===== static search pages (tools/build-seo.js writes them): history/, year/, decade/, museum/ ===== */
.sp{max-width:960px;margin:0 auto;padding:0 16px 40px}.sp .top{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;justify-content:space-between}.sp-nav{display:flex;flex-wrap:wrap;gap:6px 14px}.sp-nav a{color:var(--lk)}
.sp-crumb{margin:10px 0;font-size:14px;color:var(--mute)}.sp-crumb a{color:var(--lk)}
.sp-art h1{margin:.3em 0 .2em;line-height:1.15;font-size:clamp(26px,5vw,40px)}.sp-art h2{margin:1.4em 0 .4em;font-size:1.15em}.sp-kicker{margin:.8em 0 0;color:var(--mute);font-size:14px;text-transform:uppercase;letter-spacing:.06em}.sp-lead{font-size:1.1em}
.sp-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px 18px;margin:.5em 0}.sp-facts div{border-bottom:1px dotted var(--line);padding:3px 0}.sp-facts dt{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--mute)}.sp-facts dd{margin:0}
.sp-cols{columns:2 260px;column-gap:24px;padding-left:1.1em}.sp-cols li{break-inside:avoid;margin:2px 0}.sp-cols small,.sp-years small{color:var(--mute)}
.sp-years{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px}.sp-find{margin:1.4em 0;padding:10px 14px;border:2px solid var(--line);background:var(--panel)}.sp-find h2{margin-top:0}.sp-find ul{margin:.3em 0;padding-left:1.1em}
.sp-pn{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 18px;margin:1.6em 0 0;padding-top:10px;border-top:2px solid var(--line)}.sp-foot{margin-top:2em;padding-top:10px;border-top:2px solid var(--line);font-size:14px}.sp-foot a{color:var(--lk)}

/* buyer guides */
.sp-pick{margin:12px 0;padding:10px 14px;border:2px solid var(--line);background:var(--panel)}.sp-pick h3{margin:0;font-size:1.05em}.sp-pick p{margin:.35em 0}.sp-ptag{color:var(--mute);font-size:14px;text-transform:uppercase;letter-spacing:.05em}.sp-pskip{font-size:.95em}.sp-plinks a{font-weight:600}
.sp-connie,.sp-how,.sp-safe,.sp-disc{margin:1em 0;padding:8px 12px;border-left:4px solid var(--lk)}.sp-safe{border-left-color:#c00}.sp-steps li,.sp-guide ol li{margin:.5em 0}.sp-guides{margin:1.2em 0;font-size:.95em}.sp-guidelist{list-style:none;padding:0}.sp-guidelist li{margin:14px 0;padding:10px 14px;border:2px solid var(--line);background:var(--panel)}.sp-guidelist a{font-weight:600;font-size:1.1em}.sp-guidelist span{color:var(--mute)}
.sp-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:10px}.sp-tier{padding:8px 12px;border:2px solid var(--line);background:var(--bg,#fff)}.sp-tier h4{margin:.1em 0 .3em}.sp-tier p{margin:.3em 0}.sp-tl{color:var(--mute);font-size:13px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
/* menus never show scrollbars: tabs and chip rows wrap on wide screens and swipe on phones */
@media(min-width:701px){.tbar,.ftabs,.cstrip,.ihs{flex-wrap:wrap;overflow:visible;white-space:normal}.tbar{border-bottom:0;padding-bottom:2px;row-gap:6px}.tbar a{margin-bottom:0;border-bottom:2px solid var(--line)}.ftab{flex:1 1 auto}}
@media(max-width:700px){.tbar,.ftabs,.cstrip,.ihs,nav{overflow-y:hidden;scrollbar-width:none}.tbar::-webkit-scrollbar,.ftabs::-webkit-scrollbar,.cstrip::-webkit-scrollbar,.ihs::-webkit-scrollbar,nav::-webkit-scrollbar{display:none}}
@media(max-width:700px){.cchips,.hm-tiles{scrollbar-width:none}.cchips::-webkit-scrollbar,.hm-tiles::-webkit-scrollbar{display:none}}
/* the Bookshelf page */
.bks-in{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.bks-in>div{flex:1 1 280px;min-width:0}.bks-h{margin:1.6em 0 .2em}.bkgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:12px 0}
.bk{padding:10px 14px;border:2px solid var(--line);background:var(--panel)}.bk h4{margin:0 0 2px;font-size:1.05em}.bk p{margin:.35em 0}.bk-m{color:var(--mute);font-size:14px}.bk-l a{font-weight:600}.bk-on{outline:4px solid var(--blue);outline-offset:2px}
.sp-cameo{display:flex;gap:12px;align-items:flex-end;margin:24px 0 8px;padding:10px 12px;border:2px dashed var(--line);background:var(--bg)}.sp-cameo img{display:block;flex:0 0 auto;height:auto}.sp-cameo .sp-cg{margin-left:-6px}.sp-cameo .sp-ct{flex:1 1 auto;min-width:0}.sp-cameo .sp-ct p{margin:0 0 6px}@media(max-width:560px){.sp-cameo{flex-wrap:wrap}.sp-cameo .sp-ct{flex-basis:100%}}

/* ---- The Bookshelf, round 38: proper covers, spines and buttons (books.js and tools/build-seo.js share this markup) ---- */
.k-sierra{--bc:#2f56d6;--bd:#0c1a66}.k-doom{--bc:#d23a2a;--bd:#5a0c0a}.k-blizzard{--bc:#e08a2e;--bd:#6a3508}.k-consoles{--bc:#2fae55;--bd:#0b4421}
.k-makers{--bc:#a443cc;--bd:#42105c}.k-design{--bc:#1fa8bf;--bd:#0a4452}.k-history{--bc:#6577c4;--bd:#222a66}.k-fun{--bc:#f2609f;--bd:#7a1a4a}
.bks-shelfw{margin:14px 0 22px}
.bks-shelf{display:flex;flex-wrap:wrap;align-items:flex-end;gap:5px;padding:34px 16px 0;row-gap:0;border-radius:6px 6px 0 0;background:linear-gradient(var(--panel),var(--bg));position:relative}
.bks-shelf .spine{position:relative;margin-bottom:0;padding:10px 3px 7px;border:0;border-radius:4px 4px 1px 1px;color:#fff;overflow:hidden;box-shadow:inset 3px 0 0 rgba(255,255,255,.28),inset -3px 0 0 rgba(0,0,0,.28),0 3px 6px rgba(0,0,0,.3);background:linear-gradient(90deg,var(--bd),var(--bc) 30%,var(--bc) 60%,var(--bd))}
.bks-shelf .spine i{position:absolute;left:0;right:0;top:9px;height:5px;background:#ffd23f;opacity:.9;box-shadow:0 7px 0 #ffd23f}
.bks-shelf .spine span{margin-top:22px;font-family:inherit;font-weight:700;font-size:13px;letter-spacing:.02em}
.bks-shelf .spine small{font-size:11px;color:#ffd23f;font-weight:700}
.bks-shelf .spine:hover,.bks-shelf .spine:focus-visible{transform:translateY(-14px);outline:2px solid #ffd23f;outline-offset:1px}
.bks-shelfw::after{content:"";display:block;height:16px;border-radius:0 0 6px 6px;background:linear-gradient(#8a5f36,#5b3a1c);box-shadow:0 5px 8px rgba(0,0,0,.35)}
.bks-h{display:flex;align-items:center;gap:10px;margin:2em 0 .3em;padding:10px 14px;border-radius:8px;border-left:8px solid var(--bc);background:linear-gradient(90deg,color-mix(in srgb,var(--bc) 24%,var(--panel)),var(--panel))}
.bks-h .bkx{flex:0 0 auto;color:var(--bc);filter:saturate(1.2)}
.bkgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:18px;margin:14px 0 6px}
.bk{display:flex;gap:16px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 2px 0 rgba(0,0,0,.06),0 8px 18px -10px rgba(0,0,0,.35);transition:transform .2s,box-shadow .2s}
.bk:hover{transform:translateY(-3px);box-shadow:0 2px 0 rgba(0,0,0,.06),0 14px 24px -10px rgba(0,0,0,.45)}
.bkc-lk{flex:0 0 auto;text-decoration:none;color:inherit}
.bkc-cover{position:relative;flex:0 0 auto;width:104px;height:152px;box-sizing:border-box;padding:12px 10px 10px 16px;display:flex;flex-direction:column;border-radius:3px 7px 7px 3px;color:#fff;overflow:hidden;background:linear-gradient(155deg,var(--bc),var(--bd));box-shadow:5px 7px 0 rgba(0,0,0,.18),0 1px 0 rgba(255,255,255,.3) inset}
.bkc-cover::before{content:"";position:absolute;left:0;top:0;bottom:0;width:9px;background:linear-gradient(90deg,rgba(0,0,0,.4),rgba(255,255,255,.18) 60%,rgba(0,0,0,.12))}
.bkc-cover::after{content:"";position:absolute;left:16px;right:10px;bottom:34px;height:3px;background:#ffd23f}
.bkc-cover .bkx{color:#ffd23f;flex:0 0 auto;margin-bottom:6px}
.bkc-cover b{font:800 14px/1.12 "Trebuchet MS","Segoe UI",Arial,sans-serif;text-transform:uppercase;letter-spacing:.02em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;text-shadow:0 1px 0 rgba(0,0,0,.35)}
.bkc-sm .bkc-cover b{font-size:12.5px}.bkc-xs .bkc-cover b{font-size:11px;-webkit-line-clamp:5}
.bkc-cover span{margin-top:auto;font:600 10.5px/1.15 Arial,sans-serif;color:#ffe9a6;overflow:hidden;max-height:2.4em}
.bkc-b{min-width:0;display:flex;flex-direction:column}
.bk h4{margin:0;font-size:1.12em;line-height:1.2}.bk h4 a{text-decoration:none}.bk h4 a:hover{text-decoration:underline}
.bkc-au{margin:2px 0 6px;color:var(--mute);font-size:14px}
.bkc-meta{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 8px}.bkc-meta span{font-size:12px;padding:1px 8px;border-radius:99px;background:color-mix(in srgb,var(--bc) 18%,transparent);color:var(--ink,inherit);border:1px solid color-mix(in srgb,var(--bc) 45%,transparent)}
.bkc-why{margin:0 0 12px;font-size:14.5px;line-height:1.45}
.bkc-btns{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px}
.bkbtn{display:inline-block;padding:7px 14px;border-radius:99px;font:700 13px/1.2 Arial,sans-serif;text-decoration:none;border:2px solid transparent;transition:transform .15s,filter .15s}
.bkbtn:hover,.bkbtn:focus-visible{transform:translateY(-2px);filter:brightness(1.07);text-decoration:none}
.bkb-a{background:#ffb703;color:#201400;border-color:#c98700}.bkb-e{background:transparent;color:inherit;border-color:var(--line)}
.bkc-aud{margin:8px 0 0;font-size:12.5px}
.bk-on{outline:4px solid #ffd23f;outline-offset:3px}
@media (max-width:520px){.bkgrid{grid-template-columns:1fr}.bk{padding:12px;gap:12px}.bkc-cover{width:88px;height:132px;padding:10px 8px 8px 14px}.bkc-cover b{font-size:12px}.bks-shelf{padding:30px 8px 0}}
@media (prefers-reduced-motion:reduce){.bk,.bkbtn,.bks-shelf .spine{transition:none}}
[data-motion="off"] .bk,[data-motion="off"] .bkbtn,[data-motion="off"] .bks-shelf .spine{transition:none}

/* ---- Family cameos in six layouts (cast.js cameoHtml; app and web pages share these) ---- */
.cm-cameo .cm-cs,.cm-cameo .cm-cg{flex:0 0 auto;display:block;height:auto}.cm-cameo .cm-cs svg,.cm-cameo .cm-cg svg{display:block}
.cm-cameo .cm-ct .btn{margin-top:2px}.cm-cap{display:block;margin:0 0 8px;color:var(--mute);font-style:italic;font-size:13px}
.cm-L-bubble,.cm-L-peek,.cm-L-sign,.cm-L-screen,.cm-L-note{border:0;background:none;padding:0}
/* speech bubble: the family member does the thing, Connie says the line from the right */
.cm-L-bubble{gap:6px;align-items:flex-end;margin:30px 0 10px}
.cm-bub{position:relative;align-self:center;padding:12px 16px;background:#fff;color:#1a1a1a;border:3px solid #1a1a1a;border-radius:18px;box-shadow:4px 4px 0 rgba(0,0,0,.25)}
.cm-bub::after{content:"";position:absolute;right:-12px;bottom:18px;width:16px;height:16px;background:#fff;border-right:3px solid #1a1a1a;border-top:3px solid #1a1a1a;transform:rotate(45deg)}
.cm-bub p{margin:0 0 6px}.cm-bub .btn{color:#1a1a1a}
/* peeking over a ledge */
.cm-L-peek{align-items:flex-end;gap:14px;margin:26px 0 8px;border-bottom:8px solid #8a5f36;box-shadow:0 8px 0 -2px #5b3a1c}
.cm-L-peek .cm-ct{padding:0 0 10px}.cm-pk{display:flex;gap:0;flex:0 0 auto;align-items:flex-start}.cm-pk>*{flex:0 0 auto}
.cm-pk .cm-cs,.cm-pk .cm-cg{height:76px;overflow:hidden;object-fit:cover;object-position:50% 0}.cm-pk .cm-cg{margin-left:-4px}
/* holding a sign */
.cm-L-sign{align-items:flex-end;gap:6px;margin:26px 0 10px}
.cm-signb{position:relative;align-self:center;padding:12px 18px;background:linear-gradient(#e9c98a,#d9b06a);color:#2a1a08;border:4px solid #7a4a1e;border-radius:6px;box-shadow:5px 5px 0 rgba(0,0,0,.25);transform:rotate(-1.2deg);font-weight:600}
.cm-signb::before,.cm-signb::after{content:"";position:absolute;top:50%;width:7px;height:7px;border-radius:50%;background:#5b3a1c;transform:translateY(-50%)}.cm-signb::before{left:5px}.cm-signb::after{right:5px}
.cm-signb p{margin:0 0 4px}.cm-signb .cm-cap{color:#5b3a1c}
.cm-sgc{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:6px}
/* a glowing terminal */
.cm-L-screen{align-items:flex-end;gap:10px;margin:26px 0 10px}
.cm-scr{align-self:center;padding:14px 16px;background:#06180d;color:#4ad66d;border:4px solid #3a3a42;border-radius:10px;box-shadow:inset 0 0 28px rgba(74,214,109,.25),0 0 0 3px #1a1a20,5px 6px 0 rgba(0,0,0,.3);font-family:"VT323",ui-monospace,monospace;font-size:1.15em;position:relative;text-shadow:0 0 6px rgba(74,214,109,.6)}
.cm-scr p{margin:0 0 6px}.cm-scr b{color:#9dffb4}.cm-scr .cm-cap{color:#2fa84f}.cm-scr .btn{background:#06180d;color:#4ad66d;border-color:#4ad66d}
.cm-scr::after{content:"_";animation:cmblink 1s steps(1) infinite}@keyframes cmblink{50%{opacity:0}}
html[data-motion=off] .cm-scr::after{animation:none}
/* a sticky note */
.cm-L-note{align-items:flex-end;gap:10px;margin:30px 0 10px}
.cm-note{position:relative;padding:20px 18px 14px;background:#fff1a0;color:#3a2f00;transform:rotate(1.4deg);box-shadow:4px 6px 0 rgba(0,0,0,.2);font-family:"Comic Sans MS","Chalkboard SE",cursive,sans-serif;font-size:.98em}
.cm-note::before{content:"";position:absolute;left:calc(50% - 30px);top:-9px;width:60px;height:18px;background:rgba(255,255,255,.65);border:1px solid rgba(0,0,0,.12);transform:rotate(-3deg)}
.cm-note p{margin:0 0 6px}.cm-note .cm-cap{color:#7a6a20}.cm-note .btn{background:transparent;color:#3a2f00;border-color:#3a2f00}
.cm-nc{flex:0 0 auto;display:flex;align-items:flex-end}.cm-nc .cm-cs{margin-left:-14px}
@media (max-width:560px){.cm-L-bubble,.cm-L-sign,.cm-L-screen,.cm-L-note{flex-wrap:wrap;justify-content:center}.cm-L-bubble .cm-bub,.cm-L-sign .cm-signb,.cm-L-screen .cm-scr,.cm-L-note .cm-note{flex:1 1 100%;order:-1;margin-bottom:6px}.cm-bub::after{display:none}.cm-L-peek{flex-wrap:nowrap}.cm-L-peek .cm-ct{flex:1 1 auto}}

/* ---- stage director, round 38: new set pieces, fades, and kiosk slides that fit short screens ---- */
.stg-a{transition:opacity .3s}.stg-a.stg-pre{opacity:0}.stg.stg-out .stg-a,.stg.stg-out .stg-n,.stg.stg-out .stg-d{opacity:0;transition:opacity .3s}
.sn-tv{width:78px;height:64px;background:#6a5a46;border:4px solid #3a2e20;border-radius:8px;box-sizing:border-box}.sn-tv:before{content:"";position:absolute;left:6px;top:6px;right:18px;bottom:6px;background:linear-gradient(180deg,#38f0ff 0 8%,#1a2a6a 8% 50%,#0a1a4a 50%);animation:sn-spark 1.4s steps(2,end) infinite;border:2px solid #111}.sn-tv:after{content:"";position:absolute;right:5px;top:12px;width:7px;height:7px;background:#e8402f;box-shadow:0 12px 0 #ffd54a,0 24px 0 #4ad66d}
.sn-desk{width:104px;height:42px;background:#a8793a;border-top:6px solid #6b4a1a;box-sizing:border-box}.sn-desk:before{content:"";position:absolute;left:30px;top:-40px;width:42px;height:32px;background:#0a2a1a;border:4px solid #c8c8d0;box-shadow:inset 0 0 0 2px #4ad66d;box-sizing:border-box}.sn-desk:after{content:"";position:absolute;left:44px;top:-9px;width:14px;height:5px;background:#c8c8d0}
.sn-bookcase{width:110px;height:116px;background:repeating-linear-gradient(0deg,#6b4a1a 0 5px,#0000 5px 28px),linear-gradient(90deg,#c0143c 0 9px,#2f6fe0 9px 17px,#ffd54a 17px 27px,#4ad66d 27px 34px,#7a4fd0 34px 44px,#e8892f 44px 50px,#c0143c 50px 60px,#38b2ff 60px 70px,#ffd54a 70px 76px,#4ad66d 76px 88px,#7a4fd0 88px 98px,#e8892f 98px);border:5px solid #6b4a1a;box-sizing:border-box}
.sn-speaker{width:56px;height:84px;background:#1a1a22;border:4px solid #3a3a44;border-radius:4px;box-sizing:border-box}.sn-speaker:before{content:"";position:absolute;left:8px;top:24px;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle,#0a0a10 0 25%,#34343e 26% 62%,#1a1a22 63%);border:3px solid #555;box-sizing:border-box;animation:sn-woof .5s steps(2,end) infinite}.sn-speaker:after{content:"";position:absolute;left:21px;top:8px;width:8px;height:8px;border-radius:50%;background:#4ad66d}
@keyframes sn-woof{50%{transform:scale(1.08)}}
html[data-motion=off] .sn-tv:before,html[data-motion=off] .sn-speaker:before{animation:none}
/* kiosk slides scale to the screen, so long titles and text no longer run under the stage */
.k-scr{flex:1 1 0;min-height:0;overflow:hidden;padding:clamp(6px,2vh,18px) 18px}.k-sl{max-height:100%;overflow:hidden}
.k-sl h3{font-size:clamp(24px,min(6vw,7vh),72px);line-height:1.05;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.k-sl p{font-size:clamp(16px,min(2.7vw,3.8vh),30px);margin:clamp(2px,.8vh,8px) 0}.k-sl p:not(.k-p):not(.k-sc){display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.k-sl small{font-size:clamp(14px,2.6vh,22px)}.k-ph{width:min(42vw,340px,calc(34vh*1.3))}.kiosk .k-top{padding:clamp(6px,1.6vh,14px) 18px;font-size:clamp(22px,4vh,34px)}.k-bar{padding:clamp(4px,1.2vh,14px)}.k-start{font-size:clamp(24px,4.4vh,38px)}
@media (max-height:520px){.kiosk .stg{height:clamp(130px,30vh,200px)}}

/* ---- top menu: icons, drop-downs, All pages button, grouped footer ---- */
header.top nav a{display:inline-flex;align-items:center;justify-content:center;gap:0}
header.top nav .mn-i{display:inline-flex;align-items:center;justify-content:center;line-height:0;margin-right:5px;padding:0;background:var(--panel);border:1px solid var(--line)}
header.top nav .mn-i svg{display:block}
header.top nav a:hover,header.top nav a.mn-open{background:color-mix(in srgb,var(--line) 14%,transparent)}
header.top nav a[aria-current=page]:hover,header.top nav a[aria-current=page].mn-open{background:var(--line)}
header.top nav .mn-c{display:none;flex:0 0 auto;align-items:center;justify-content:center;width:20px;margin:0 4px 0 -2px;padding:0;border:0;background:none;color:inherit;cursor:pointer;font:inherit}
header.top nav .mn-c span{width:0;height:0;border:5px solid transparent;border-top:6px solid currentColor;border-bottom:0}
header.top nav .mn-c:hover,header.top nav .mn-c.on{background:color-mix(in srgb,var(--line) 14%,transparent)}
header.top nav a[aria-current=page]+.mn-c{background:var(--line);color:var(--bg)}
@media(min-width:900px){header.top nav{justify-content:space-between}header.top nav a{flex:0 0 auto;padding:1px 3px;font-size:17px}header.top nav .mn-i{margin-right:4px}header.top nav a[data-s=search] .mn-t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}header.top nav a[data-s=search] .mn-i{margin:0}header.top nav a[data-s=search]{padding:1px 6px}}
@media(min-width:900px) and (hover:hover){header.top nav .mn-c{display:inline-flex;width:12px;margin:0 1px 0 -3px}header.top nav a[data-mn]{padding-right:2px}}
header.top .mnp{position:fixed;z-index:40;box-sizing:border-box;background:var(--panel);border:2px solid var(--line);box-shadow:6px 6px 0 var(--line);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;transform-origin:20px 0}
header.top .mnp::-webkit-scrollbar{display:none}
header.top .mnp[hidden]{display:none}
.mnp-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;padding:6px 12px;background:var(--line);color:var(--bg)}
.mnp-h b{font:400 26px/1 "VT323","Courier New",monospace}.mnp-h span{font-size:13px}
.mnp-c{columns:2 250px;column-gap:8px;padding:8px}
.mnp-g{break-inside:avoid;margin:0 0 8px}
.mnp-g h4{font:400 19px/1 "VT323","Courier New",monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--mute);margin:2px 4px 3px}
header.top .mnp-i{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:9px;align-items:center;padding:4px 6px;border:2px solid transparent;text-decoration:none;font-family:Arial,Helvetica,sans-serif;font-size:14px;color:var(--ink)}
.mnp-i i{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;background:var(--bg);border:1px solid var(--line);line-height:0}
.mnp-i i svg{display:block}
.mnp-i b{font:400 21px/1 "VT323","Courier New",monospace}
.mnp-i small{font-size:12px;line-height:1.25;color:var(--mute);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
header.top .mnp-i:hover,header.top .mnp-i:focus-visible{border-color:var(--line);background:var(--bg)}
.mnp-f{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:6px 12px;border-top:2px solid var(--line)}
header.top .mnp-f a{font-family:"VT323","Courier New",monospace;font-size:21px}
header.top #allp{display:inline-flex;align-items:center;gap:6px;font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap}
header.top #allp .ap-i{display:inline-flex;line-height:0}
@media(max-width:560px){header.top .utl{flex-wrap:wrap}header.top .utl #allp{flex:1 1 100%;order:-1;justify-content:center}header.top nav .mn-i{margin-right:4px}.mnp-c{columns:1}}
@media(prefers-reduced-motion:no-preference){
 html:not([data-motion=off]) header.top .mnp.on{animation:mnin .2s cubic-bezier(.2,.9,.3,1.15)}
 html:not([data-motion=off]) .mnp.on .mnp-i{animation:mnit .28s both;animation-delay:var(--d,0ms)}
 html:not([data-motion=off]) .mnp.on .mnp-i i svg{animation:mnpop .34s steps(4) both;animation-delay:var(--d,0ms)}
 html:not([data-motion=off]) header.top nav a:hover .mn-i svg,html:not([data-motion=off]) .mnp-i:hover i svg,html:not([data-motion=off]) #allp:hover .ap-i svg{animation:pxhop .45s steps(3) 1}
 html:not([data-motion=off]) header.top nav .mn-c span{transition:transform .18s}html:not([data-motion=off]) header.top nav .mn-c.on span{transform:rotate(180deg)}
 @keyframes mnin{from{opacity:0;transform:translateY(-8px) scaleY(.9)}to{opacity:1;transform:none}}
 @keyframes mnit{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
 @keyframes mnpop{from{transform:scale(.3)}to{transform:scale(1)}}}
html[data-motion=off] header.top nav .mn-c.on span{transform:rotate(180deg)}
footer .ft{margin:8px 0 4px}footer .ft p{margin:3px 0}footer .ft b{display:inline-block;min-width:88px;color:var(--ink)}footer .cp{margin:10px 0 0}
@media(min-width:900px) and (max-width:1019px){header.top nav .mn-c{display:none}header.top nav a{font-size:15px}header.top nav .mn-i{margin-right:3px}}
#pgall [hidden],.allp [hidden]{display:none!important}
.skip{position:absolute;left:8px;top:-60px;z-index:50;background:var(--ink);color:var(--bg);padding:6px 12px;font:600 14px Arial,sans-serif;text-decoration:none;border:2px solid var(--bg)}.skip:focus{top:8px}

/* ---- search palette ---- */
.pal{position:fixed;inset:0;z-index:60;display:grid;align-items:start;justify-items:center;padding:8vh 10px 10px}
.pal[hidden]{display:none}
.pal-bg{position:absolute;inset:0;background:rgba(0,0,0,.6)}
.pal-box{position:relative;width:min(640px,100%);max-height:84vh;display:flex;flex-direction:column;background:var(--panel);color:var(--ink);border:2px solid var(--line);box-shadow:8px 8px 0 var(--line)}
.pal-top{display:flex;align-items:center;gap:10px;padding:6px 10px;background:var(--line);color:var(--bg)}
.pal-c{display:inline-flex;line-height:0}.pal-q{flex:1;font:400 26px/1 "VT323","Courier New",monospace}
.pal-x{font:600 12px Arial,sans-serif;border:1px solid var(--bg);background:none;color:var(--bg);padding:2px 8px;cursor:pointer}
#pal-in{flex:0 0 auto;font:inherit;font-size:18px;margin:10px;padding:8px 10px;border:2px solid var(--line);background:var(--bg);color:var(--ink)}
.pal-ls{flex:1 1 auto;min-height:0;list-style:none;margin:0;padding:0 10px 4px;overflow-y:auto;scrollbar-width:none;overscroll-behavior:contain}.pal-ls::-webkit-scrollbar{display:none}
.pal-h{font:400 19px/1 "VT323","Courier New",monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--mute);margin:8px 2px 2px}
.pal-r{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:10px;align-items:center;padding:4px 6px;border:2px solid transparent;text-decoration:none;color:var(--ink)}
.pal-r i{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;background:var(--bg);border:1px solid var(--line);line-height:0}.pal-r i svg{display:block}
.pal-r b{font:400 21px/1.05 "VT323","Courier New",monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pal-r small{font:12px/1.2 Arial,sans-serif;color:var(--mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pal-r.on,.pal-r:hover{border-color:var(--line);background:var(--bg)}
.pal-none{padding:10px 4px;font-size:15px}.pal-none a{color:var(--blue)}
.pal-f{margin:0;padding:6px 12px;border-top:2px solid var(--line);font-size:12px;color:var(--mute)}
html.pal-on{overflow:hidden}
@media(max-width:560px){.pal{padding:0}.pal-box{width:100%;max-height:100dvh;height:100dvh;box-shadow:none;border-width:0}.pal-f{display:none}#pal-in{font-size:16px}}
@media(prefers-reduced-motion:no-preference){html:not([data-motion=off]) .pal-box{animation:mnin .18s cubic-bezier(.2,.9,.3,1.15)}}

/* ---- phone bottom bar and menu sheet ---- */
.bnav{display:none}
@media(max-width:700px){
 .bnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--bg);border-top:2px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
 .bnav a,.bnav button{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:1px;padding:4px 2px 3px;border:0;background:none;color:var(--ink);text-decoration:none;font:400 14px/1 "VT323","Courier New",monospace;cursor:pointer}
 .bnav i{display:grid;place-items:center;line-height:0;width:30px;height:26px}.bnav i svg{display:block}
 .bnav a[aria-current=page],.bnav button[aria-expanded=true]{background:var(--line);color:var(--bg)}
 .bnav a[aria-current=page] i,.bnav button[aria-expanded=true] i{background:var(--panel)}
 html.has-bnav body{padding-bottom:calc(60px + env(safe-area-inset-bottom))}
 html.has-bnav .fx-toast{bottom:76px}html.has-bnav .fx-era{bottom:68px}
 html.kiosk-on .bnav,html.kiosk-on .bsh,body:has(.boot) .bnav{display:none}
 .bsh{position:fixed;left:0;right:0;top:0;bottom:0;padding-bottom:calc(64px + env(safe-area-inset-bottom));box-sizing:border-box;z-index:29;background:var(--panel);color:var(--ink);overflow-y:auto;scrollbar-width:none;overscroll-behavior:contain}.bsh::-webkit-scrollbar{display:none}.bsh[hidden]{display:none}
 .bsh-h{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;background:var(--line);color:var(--bg)}
 .bsh-h b{font:400 28px/1 "VT323","Courier New",monospace}
 .bsh-h button{font:600 13px Arial,sans-serif;border:1px solid var(--bg);background:none;color:var(--bg);padding:4px 10px;cursor:pointer}
 .bsh-g{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px}
 .bsh-s{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:10px;border:2px solid var(--line);background:var(--bg);color:var(--ink);box-shadow:3px 3px 0 var(--line);cursor:pointer}
 .bsh-s i{line-height:0;margin-bottom:2px}.bsh-s b{font:400 25px/1 "VT323","Courier New",monospace}.bsh-s small{font:12px/1.25 Arial,sans-serif;color:var(--mute)}
 .bsh-f{display:flex;justify-content:space-between;padding:6px 14px 18px}.bsh-f a{font:400 22px/1 "VT323","Courier New",monospace}
 .bsh .mnp-c{columns:1}
 .bsh .mnp-h{background:none;color:var(--ink);border-bottom:2px solid var(--line)}
 html.bsh-on,html.bsh-on body{overflow:hidden}
}

/* the phone sheet reuses the drop-down list styles */
.bsh .mnp-i{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:9px;align-items:center;padding:4px 6px;border:2px solid transparent;text-decoration:none;font-family:Arial,Helvetica,sans-serif;font-size:14px;color:var(--ink)}
.bsh .mnp-i:hover,.bsh .mnp-i:focus-visible{border-color:var(--line);background:var(--bg)}
.bsh .mnp-f a{font-family:"VT323","Courier New",monospace;font-size:21px}

/* Round 3: focus target, shortcuts list, small link-style buttons, recent-pages and mood blocks */
#app [tabindex="-1"]:focus{outline:none}
.btn.lnk{background:none;border-color:transparent;text-decoration:underline;color:var(--mute);font-size:.85em;padding:2px 6px}
.cp .btn.lnk{font:inherit}
.kb{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:10px}.kb[hidden]{display:none}
.kb-bg{position:absolute;inset:0;background:rgba(0,0,0,.6)}
.kb-box{position:relative;width:min(520px,100%);max-height:86vh;overflow:auto;scrollbar-width:none;background:var(--panel);color:var(--ink);border:2px solid var(--line);padding:0 14px 12px}.kb-box::-webkit-scrollbar{display:none}
.kb-top{display:flex;justify-content:space-between;align-items:center;margin:0 -14px 8px;padding:6px 14px;background:var(--line);color:var(--bg)}
.kb-x{font:600 12px Arial,sans-serif;border:1px solid var(--bg);background:none;color:var(--bg);padding:2px 8px;cursor:pointer}
.kb dl{margin:0}.kb dl>div{display:grid;grid-template-columns:minmax(120px,40%) 1fr;gap:10px;padding:5px 0;border-bottom:1px dotted var(--line)}.kb dt,.kb dd{margin:0}
.kb kbd{font:400 18px/1 "VT323","Courier New",monospace;border:1px solid var(--line);padding:1px 6px;background:var(--bg)}
.mood-b,.cont .chips{display:flex;flex-wrap:wrap;gap:8px}.mood-t i{display:inline-flex;line-height:0;vertical-align:middle}
.mood-a{margin-top:8px}.mood-a[hidden]{display:none}

/* Round 40: Bookshelf fixes. Spines wrap their titles instead of cutting them off, every shelf row is the same height and sits on its own board, and cover titles fit on phones. */
.bks-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));grid-auto-rows:310px;gap:0 2px;align-items:end;justify-items:center;padding:30px 12px 0;background:linear-gradient(var(--panel),var(--bg))}
.bks-shelf{background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 298px,#8a5f36 298px,#6b4a2b 310px),linear-gradient(var(--panel),var(--bg));background-size:100% 310px,100% 100%;background-position:0 30px,0 0;background-repeat:repeat-y,no-repeat}
.bks-shelf .spine{margin-bottom:12px;padding:10px 3px 6px}
.bks-shelf .spine span{white-space:normal;overflow:hidden;text-overflow:clip;overflow-wrap:anywhere;font-size:12px;line-height:1.15;text-align:start;margin-top:22px}
.bks-shelfw::after{display:none}
.bkc-xs .bkc-cover b{-webkit-line-clamp:6}
@media (max-width:520px){.bkc-cover{width:96px;height:144px;padding:10px 8px 8px 14px}.bkc-cover b{font-size:12px}.bkc-sm .bkc-cover b{font-size:11.5px}.bkc-xs .bkc-cover b{font-size:10.5px}.bks-shelf{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));padding:30px 6px 0}}
/* the reader (Connie and a friend) stacks under the intro on narrow screens instead of squeezing the words */
@media (max-width:560px){.sp-cameo,.cameo{flex-wrap:wrap}.sp-cameo>p,.cameo>p{flex:1 1 100%}}
@media(max-width:700px){.tbar{flex-wrap:wrap;overflow:visible;white-space:normal;border-bottom:0;row-gap:6px;padding-bottom:2px}.tbar a{margin-bottom:0;border-bottom:2px solid var(--line);padding:4px 10px;font-size:19px}}

/* ---- Round 41: contrast pass. Cream "paper" surfaces keep their own dark ink in every theme (they used to borrow the theme's light text colours), and a few themed spots got readable colours. ---- */
.cm-bub,.cm-signb,.cm-note,.tc,.cf{--ink:#1a1a1a;--mute:#555248;--panel:#fff;--bg:#fff;--line:#1a1a1a;--blue-ink:#fff;--lk:#0a1fb4;--lk-v:#5b1a9c;--lk-h:#b00d1e}
.cm-bub .btn,.cm-signb .btn{background:#fff;color:#1a1a1a;border-color:#1a1a1a}.cm-bub .btn:hover,.cm-signb .btn:hover{background:#ffe9a6}
.cm-bub .cm-cap{color:#555248}.cm-bub b,.cm-bub p{color:#1a1a1a}
.tc header b,.tc-mv,.tc-st dt,.tc footer,.tc footer span{color:#1a1a22}.tc-mv b{color:#1a1a22}
.gnote a,.gsel a{color:#5ff}
.wk-dots button.on{color:var(--blue-ink)}.ml-pa b{color:var(--blue-ink,#fff)}
.tlpill.k-pe b{background:#007070}
.pl-bd{opacity:.75}.mm-lv .btn[disabled],.mm-o.na{opacity:.75}
:root[data-theme="dark"] .rg-stat.good b,:root[data-theme="green"] .rg-stat.good b,:root[data-theme="amber"] .rg-stat.good b,:root[data-theme="ega"] .rg-stat.good b{color:#6ff08a}
:root[data-theme="dark"] .rg-stat.bad b,:root[data-theme="green"] .rg-stat.bad b,:root[data-theme="amber"] .rg-stat.bad b,:root[data-theme="ega"] .rg-stat.bad b{color:#ff8a8a}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]):not([data-theme="clean"]) .rg-stat.good b{color:#6ff08a}:root:not([data-theme="light"]):not([data-theme="clean"]) .rg-stat.bad b{color:#ff8a8a}}

/* ===== Round 42: Recap Bench (recap.js) ===== */
.rc-hero{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:6px 0 10px}.rc-hero>div{flex:1 1 260px}
.rc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin:10px 0}
.rc-card{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--panel);color:var(--ink);border:2px solid var(--line);border-radius:10px;text-decoration:none}
.rc-card b{color:var(--ink);font-size:1.05em}.rc-card small{color:var(--mute)}.rc-card .rc-yr{color:var(--mute);font-size:.85em}
.rc-card:hover,.rc-card:focus-visible,.rc-card.on{border-color:var(--blue)}
.rc-bar{height:14px;background:var(--bg);border:2px solid var(--line);border-radius:8px;overflow:hidden;margin:4px 0}.rc-bar i{display:block;height:100%;background:#1f9d55}
@media (prefers-reduced-motion:no-preference){.rc-bar i{transition:width .4s}}
.rc-top{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.rc-ci{flex:0 0 auto;line-height:0}.rc-prog{flex:1 1 240px}.rc-pn{margin:0}.rc-pn small{color:var(--mute);font-weight:400}
.rc-ct{margin:2px 0}.rc-say{margin:4px 0 0;padding:6px 10px;background:var(--panel);color:var(--ink);border:2px solid var(--line);border-radius:10px}
.rc-strip{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0}
.rc-s{width:40px;height:44px;display:flex;align-items:center;justify-content:center;border:2px dashed var(--line);border-radius:8px;color:var(--mute);background:var(--bg);overflow:hidden}
.rc-s.on{border:2px solid var(--blue);background:var(--panel)}.rc-s svg{width:34px;height:auto;display:block}
.rc-crew{display:flex;gap:10px;align-items:center;margin:8px 0;padding:6px 10px;background:var(--panel);color:var(--ink);border-left:4px solid var(--blue);border-radius:6px}
.rc-crew p{margin:0;flex:1 1 auto}.rc-av{flex:0 0 auto;line-height:0}.rc-av svg{width:48px;height:auto;display:block}.rc-crew b{color:var(--ink)}
.rc-sc{margin:4px 0 0;padding:2px 8px;font-size:.92em}.rc-sc .rc-av svg{width:34px}
.rc-warn{border:2px solid #d98a00;background:var(--panel);color:var(--ink);padding:8px 14px;border-radius:8px;margin:10px 0}.rc-warn ul{margin:4px 0 0 18px;padding:0}
.rc-t{width:100%;border-collapse:collapse;margin:6px 0;background:var(--panel);color:var(--ink)}
.rc-t th,.rc-t td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.rc-t thead th{color:var(--mute);font-size:.85em;font-weight:600}
.rc-t tbody th{font-weight:600}.rc-t tr.done th label,.rc-t tr.done td{color:var(--mute)}.rc-t tr.done th label{text-decoration:line-through}
.rc-t input[type=checkbox],.rc-steps input[type=checkbox],.rc-tl input[type=checkbox]{width:22px;height:22px;vertical-align:middle;accent-color:#1f9d55}
.rc-n{display:block;color:var(--mute);font-weight:400}
.rc-b h3 small{color:var(--mute);font-weight:400;margin-left:8px}
.rc-buy{display:inline-block;margin:2px 6px 2px 0;padding:2px 9px;border:1px solid var(--line);border-radius:12px;font-size:.88em;text-decoration:none;color:var(--lk);background:var(--bg)}
.rc-buy:hover,.rc-buy:focus-visible{color:var(--lk-h);border-color:var(--blue)}
.rc-ctl{display:flex;gap:10px 16px;flex-wrap:wrap;align-items:flex-end;margin:8px 0}.rc-ctl label{display:flex;flex-direction:column;gap:2px;font-size:.92em}.rc-ctl label:has(input[type=checkbox]){flex-direction:row;align-items:center;gap:6px}
.rc textarea{width:100%;max-width:640px;box-sizing:border-box}
.rc-steps{list-style:none;margin:6px 0;padding:0}.rc-steps>li{padding:8px 10px;margin:6px 0;background:var(--panel);color:var(--ink);border:2px solid var(--line);border-radius:8px}.rc-steps>li.done{opacity:.72}.rc-steps>li.done>label b{text-decoration:line-through}
.rc-tip{margin:4px 0 0 30px;color:var(--mute)}
.rc-tg h4{margin:12px 0 2px}.rc-tl{list-style:none;margin:4px 0;padding:0}.rc-tl>li{padding:6px 10px;margin:4px 0;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:8px}.rc-tl>li.done{opacity:.7}.rc-tl small{display:block;margin-left:30px;color:var(--mute)}.rc-tiers{display:block;margin:4px 0 0 30px}
.rc-guides{list-style:none;margin:6px 0;padding:0}.rc-guides li{padding:8px 10px;margin:6px 0;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--ink)}.rc-guides small{display:block;color:var(--mute)}.rc-k{display:inline-block;margin-left:6px;padding:0 8px;border:1px solid var(--line);border-radius:10px;font-size:.8em;color:var(--mute)}
.rc-nolist{padding:10px 14px;background:var(--panel);color:var(--ink);border:2px dashed var(--line);border-radius:8px}
.rc-exl{list-style:none;margin:4px 0;padding:0}.rc-exl li{padding:5px 0;border-bottom:1px solid var(--line)}
.rc-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin:14px 0}
.rc-ckf{display:flex;gap:12px;flex-wrap:wrap}.rc-ckf fieldset{border:2px solid var(--line);border-radius:8px;padding:6px 12px}.rc-ckf input{width:6em}
.rc-ckr{margin:8px 0;padding:8px 12px;background:var(--panel);color:var(--ink);border-left:6px solid var(--line);border-radius:6px}.rc-ckr.ok{border-left-color:#1f9d55}.rc-ckr.mid{border-left-color:#d98a00}.rc-ckr.bad{border-left-color:#c0143c}
.rc-rwl{list-style:none;margin:6px 0;padding:0}.rc-rwl li{padding:5px 8px;border-bottom:1px solid var(--line);color:var(--mute)}.rc-rwl li.on{color:var(--ink)}.rc-rwl li small{margin-left:8px;color:var(--mute)}
.rc-roll{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:8px 0}.rc-r{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:8px}.rc-r svg{width:56px;height:auto}.rc-r small{color:var(--mute)}
.rc-win{border:3px solid #1f9d55;background:var(--panel);color:var(--ink);padding:12px;border-radius:12px;text-align:center;margin:12px 0}.rc-party{display:flex;flex-wrap:wrap;justify-content:center}.rc-party svg{width:48px;height:auto}
.rc-kits{margin:10px 0;padding:8px 12px;background:var(--panel);border:2px dashed var(--line);border-radius:8px;color:var(--ink)}
@media (max-width:640px){.rc-t thead{position:absolute;left:-9999px}.rc-t tr{display:flex;flex-wrap:wrap;gap:2px 12px;padding:8px 0;border-bottom:1px solid var(--line)}.rc-t th,.rc-t td{border:0;padding:0}.rc-t td[data-l]:not([data-l="Done"]):not([data-l="Buy"]):before{content:attr(data-l) ": ";color:var(--mute);font-size:.82em}.rc-t tbody th{flex:1 1 40%}}
@media print{.rc-strip,.rc-hero svg,.rc-cameo{display:none}}
.rc-hot{display:inline-block;margin-left:6px;padding:0 8px;border-radius:10px;background:#c0143c;color:#fff;font-size:.75em;font-weight:700;vertical-align:middle}
.rc-hotbox{margin:8px 0;padding:8px 12px;background:var(--panel);color:var(--ink);border-left:6px solid #c0143c;border-radius:6px}.rc-hotbox small{display:block;color:var(--mute)}
.rc-jump{margin:10px 0}.rc-jump a{display:inline-block;margin:2px 6px 2px 0;padding:2px 10px;border:1px solid var(--line);border-radius:12px;text-decoration:none;background:var(--panel)}

/* Round 43: Recap Bench grows up. Category index, find box, where-to-start hints, probe and inspect animations */
html[data-motion=on] svg.cc.an-probe .mc-armr{animation:an-probe .8s steps(4,end) infinite}
html[data-motion=on] svg.cc.an-inspect .mc-all{animation:an-inspect 3s steps(3,end) infinite}
@keyframes an-probe{0%,100%{transform:rotate(-30deg)}50%{transform:rotate(-12deg)}}
@keyframes an-inspect{0%,100%{transform:translate(0,0)}50%{transform:translate(2px,2px) rotate(3deg)}}
.rc-card[hidden],.rc-cat[hidden]{display:none}
.rc-find{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin:6px 0 10px}.rc-find input{flex:1 1 220px;max-width:340px;padding:8px 10px;font:inherit;border:2px solid var(--line);border-radius:8px;background:#fff;color:#000}
.rc-cath{margin:18px 0 6px;font-size:1.15em}.rc-cath small{color:var(--mute);font-weight:400}
.rc-chip{align-self:flex-start;font-size:.78em;font-weight:700;padding:2px 8px;border-radius:99px;border:2px solid var(--line);background:var(--panel);color:var(--ink)}
.rc-chip.rc-w-yes{border-color:#2e7d32}.rc-chip.rc-w-maybe{border-color:#b26a00}
.rc-hints{list-style:none;margin:8px 0;padding:0;display:grid;gap:10px}.rc-hints li{border:2px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--panel);color:var(--ink)}
.rc-hints p{margin:4px 0}.rc-src{font-size:.9em}
.rc-conf{font-size:.75em;font-weight:700;padding:1px 7px;border-radius:99px;border:2px solid var(--line);margin-left:6px;white-space:nowrap}.rc-conf-high{border-color:#2e7d32}.rc-conf-medium{border-color:#b26a00}.rc-conf-low{border-color:#8a8a8a}
/* ten sections in the top bar: a little tighter on wide screens so it stays on one row */
@media(min-width:1020px){header.top nav a{font-size:15px;padding:1px 1px}header.top nav .mn-i{margin-right:2px}header.top nav .mn-c{width:10px!important;margin:0!important}}
/* Round 43b: board revision picker, tips and tales */
.rc-rv1{border:2px solid var(--line);border-radius:10px;padding:8px 12px;margin:8px 0;background:var(--panel);color:var(--ink)}.rc-rv1 p{margin:3px 0}
.rc-rvall summary{cursor:pointer;font-weight:700;margin:6px 0}.rc-rvl{display:grid;gap:6px}
#rc-rv{max-width:100%;padding:6px 8px;font:inherit}
.rc-tf{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}.rc-tf .btn.on{border-color:var(--blue);font-weight:700}
.rc-hints li[hidden]{display:none}
.rc-k-warning{border-color:#b3261e}.rc-k-tip{border-color:#2e7d32}.rc-k-anecdote{border-color:#5b6bbf}.rc-k-maybe{border-color:#b26a00}

/* Round 44: the Family file, the Squabbles and the photo album */
.fa-lead{font-size:1.08em;max-width:62ch}.fa-note{color:var(--mute);font-size:.95em}.fa-links{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.fa-up{font-size:.95em;margin:0 0 6px}.fa-role{font-family:"VT323",monospace;font-size:24px;margin:0 0 4px}
.fa-tm{border:3px solid var(--line);background:var(--panel);padding:10px 14px;margin:14px 0}.fa-tm label{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.fa-tm input[type=range]{width:100%;margin:6px 0}.fa-tm p{margin:2px 0 0}
.fa-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.fa-chips .btn.on{border-color:var(--blue);font-weight:700}
.fa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin:10px 0}
.fa-card{display:flex;flex-direction:column;gap:3px;border:3px solid var(--line);background:var(--panel);padding:10px 12px;text-decoration:none;color:var(--ink)}.fa-card:hover,.fa-card:focus-visible{border-color:var(--blue)}
.fa-card .fa-spr{background:#c9d6ea;border:2px solid var(--line);padding:8px 0 4px;margin-bottom:6px;text-align:center}.fa-card b{font-size:17px}.fa-card small{color:var(--mute)}.fa-card p{margin:4px 0;font-size:.95em}.fa-card q{display:block;font-style:italic;color:var(--mute);font-size:.92em}
.fa-away{opacity:.55}.fa-away .fa-spr svg{filter:grayscale(1) brightness(.8)}.fa-soon{font-family:"VT323",monospace;font-size:21px}
.fa-bonds{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;margin:8px 0}.fa-bond{display:flex;gap:10px;border:2px solid var(--line);background:var(--panel);padding:8px 10px}.fa-bond p{margin:3px 0 0;font-size:.95em}.fa-bond small{color:var(--mute)}
.fa-pair{display:flex;flex-shrink:0;align-items:flex-end}.fa-pair a{display:block;margin-right:-8px}.fa-pair svg{display:block}
.fa-threads details,.fa-prof details{border:2px solid var(--line);background:var(--panel);padding:6px 12px;margin:6px 0}.fa-threads summary,.fa-prof summary{cursor:pointer;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.fa-beats{margin:6px 0;padding-left:20px}.fa-beats li{margin:4px 0}.fa-beats small{font-family:"VT323",monospace;font-size:20px;color:var(--mute)}
.fa-whos{display:inline-flex;flex-wrap:wrap;gap:4px 8px;align-items:center}.fa-who{display:inline-flex;align-items:center;gap:3px;text-decoration:none;border:2px solid var(--line);border-radius:99px;padding:0 8px 0 2px;background:var(--bg);color:var(--ink);font-size:.9em}.fa-who:hover,.fa-who:focus-visible{border-color:var(--blue)}.fa-who svg{display:block}
.fa-hero{display:grid;grid-template-columns:minmax(160px,200px) 1fr;gap:18px;margin:10px 0}.fa-big{text-align:center}.fa-port{background:#c9d6ea;border:3px solid var(--line);padding:10px 6px 4px;cursor:pointer;display:block;margin:0 auto 8px;width:100%}.fa-port:focus-visible{outline:3px solid var(--blue)}.fa-port svg{display:block;margin:0 auto}
.fa-say{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;border-left:4px solid var(--blue);background:var(--panel);padding:8px 12px;margin:8px 0}.fa-say p{margin:0;font-size:1.15em;font-style:italic;flex:1 1 220px}
.fa-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.fa-3 ul{margin:4px 0;padding-left:20px}.fa-3 li{margin:4px 0}
.fa-ops{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.fa-op{border:2px solid var(--line);background:var(--panel);padding:8px 12px}.fa-op h4{margin:0 0 4px;font-family:"VT323",monospace;font-size:24px;font-weight:400}.fa-take{margin:4px 0;font-style:italic}.fa-fact{margin:4px 0;font-size:.93em;color:var(--mute)}.fa-fact b{color:var(--ink)}
.fa-dl dt{font-weight:700;margin-top:8px}.fa-dl dd{margin:2px 0 0}.fa-grow{list-style:none;padding:0;border-left:4px solid var(--blue);margin:8px 0 8px 6px}.fa-grow li{margin:0 0 8px;padding-left:12px}.fa-grow b{font-family:"VT323",monospace;font-size:24px;margin-right:6px}
.fa-jk,.fa-sql{padding-left:20px}.fa-jk li,.fa-sql li{margin:6px 0}.fa-jk q,.fa-jokes q{display:block;font-style:italic;color:var(--mute)}
.fa-pn{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.fa-tools{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:10px 0}.fa-tools select{font:inherit;padding:4px 6px;max-width:100%}
.fa-sq{border:3px solid var(--line);background:var(--panel);padding:10px 14px;margin:12px 0}.fa-sq[hidden]{display:none}.fa-sq header{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.fa-sq h3{font-size:28px}.fa-hl{outline:4px solid var(--blue);outline-offset:3px}
.fa-tone{display:inline-block;font-size:.8em;font-weight:700;border:2px solid var(--line);border-radius:99px;padding:0 9px}.fa-tone-petty{border-color:#b26a00}.fa-tone-loud{border-color:#b3261e}.fa-tone-coldwar{border-color:#5b6bbf}.fa-tone-affectionate{border-color:#2e7d32}.fa-tone-recurring{border-color:#8a8a8a}
.fa-topic{margin:6px 0;font-style:italic}.fa-bubs{display:grid;gap:8px;margin:8px 0}.fa-bub{display:flex;gap:10px;align-items:flex-end;max-width:92%}.fa-b1{margin-left:auto;flex-direction:row-reverse}.fa-bub p{margin:0;background:var(--bg);border:2px solid var(--line);border-radius:12px;padding:6px 10px}.fa-bav{flex-shrink:0}.fa-bav svg{display:block}
.fa-out{margin:6px 0}.fa-vote{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin-top:8px}.fa-vote .btn.on{border-color:var(--blue);font-weight:700}.fa-sd{color:var(--mute)}
.fa-jokes{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}.fa-jokes li{border:2px solid var(--line);background:var(--panel);padding:8px 12px}.fa-jokes p{margin:0 0 4px}
.fa-yh{margin:18px 0 8px;border-bottom:3px solid var(--line);padding-bottom:2px}.fa-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px 18px}
.fa-ph{margin:0;background:#f7f3e8;color:#222;padding:10px 10px 12px;box-shadow:0 3px 8px #0006;transform:rotate(var(--tilt,0deg));border:1px solid #cfc7b0}.fa-ph.fa-big{max-width:720px;margin:12px auto}.fa-ph.fa-turned{background:#efe6cf}
.fa-ph figcaption{font-size:.92em;padding-top:8px;display:flex;flex-wrap:wrap;gap:3px 8px;align-items:baseline}.fa-ph .fa-t{color:#222}.fa-ph small{color:#666}.fa-cap{flex-basis:100%;font-family:"Comic Sans MS","Bradley Hand","Segoe Script",cursive;font-size:.98em;color:#2a2a55}.fa-fx{font-size:.75em;font-weight:700;border:1px solid #888;border-radius:99px;padding:0 7px;color:#555;background:#fff8}.fa-ph .btn{margin-left:auto;font-size:.85em;background:#fff;color:#222;border-color:#555}
.fa-backs{padding:6px 4px;min-height:200px}.fa-backs[hidden],.fa-front[hidden]{display:none}.fa-wr{margin:0 0 4px;color:#666}.fa-hand{font-family:"Comic Sans MS","Bradley Hand","Segoe Script",cursive;font-size:1.25em;color:#2a2a55;margin:4px 0 10px}.fa-backs dl{margin:0}.fa-backs dt{font-weight:700;font-size:.82em;text-transform:uppercase;letter-spacing:.04em;color:#666;margin-top:6px}.fa-backs dd{margin:1px 0 0}
.fa-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:#000;container-type:inline-size}.fa-scene{position:absolute;inset:0}.fa-cast{position:absolute;inset:0;transform-origin:50% 100%}.fa-p{position:absolute}.fa-p svg{display:block;width:100%;height:auto}
.fa-glare{position:absolute;inset:0;pointer-events:none}.fa-date{position:absolute;right:3%;bottom:3%;font-family:"VT323",monospace;font-weight:400;font-size:clamp(12px,5cqw,22px);color:#ff8a1f;text-shadow:0 0 4px #ff5a00;letter-spacing:.04em}.fa-e00 .fa-date{color:#fff;text-shadow:0 0 3px #00f,1px 1px 0 #000;font-family:"Courier New",monospace;font-size:clamp(10px,3.6cqw,16px)}
.fa-e80{filter:sepia(.32) saturate(.82) contrast(.92) brightness(1.04)}.fa-e90{filter:saturate(1.1) contrast(1.06)}.fa-e00{filter:contrast(1.03)}
.fa-x-tilt .fa-scene,.fa-x-tilt .fa-cast{transform:rotate(-5deg) scale(1.14)}.fa-x-tooclose .fa-cast{transform:scale(1.55) translateY(4%)}.fa-x-tooclose .fa-scene{filter:blur(2px)}
.fa-x-flash{filter:brightness(1.25) contrast(.78) saturate(.7)}.fa-x-flash .fa-glare{background:radial-gradient(ellipse at 50% 38%,#fffffff0 0,#ffffffb0 22%,#ffffff00 62%)}
.fa-x-squint .fa-cast{filter:blur(.4px)}.fa-turn{transform:translateY(3%) rotate(-7deg)}.fa-bomb{z-index:9;transform:rotate(7deg)}.fa-bomb svg{filter:drop-shadow(0 0 3px #0008)}.fa-pet{z-index:5}
.fa-re{position:absolute;top:51%;width:11%;aspect-ratio:1;border-radius:50%;background:radial-gradient(#ff5a5a 0,#e00 55%,#900 100%);box-shadow:0 0 8px 3px #f00;pointer-events:none}.fa-tg{position:absolute;left:42%;top:73%;width:14%;height:9%;background:#ff6f91;border:1px solid #a0213f;border-radius:0 0 60% 60%;pointer-events:none}
.fa-s-livingroom{background:linear-gradient(#0000 0 62%,#7a4a2e 62%),repeating-linear-gradient(90deg,#d9c7a0 0 12px,#cbb78a 12px 24px)}.fa-s-livingroom::before{content:"";position:absolute;left:8%;top:10%;width:20%;height:26%;background:#6b4a2b;border:4px solid #3b2a18;box-shadow:inset 0 0 0 3px #9ac0d8}
.fa-s-kitchen{background:linear-gradient(#0000 0 64%,#0000 64%),repeating-conic-gradient(#f2f2ee 0 25%,#c43 0 50%) 0 0/34px 34px;background-color:#eee}.fa-s-kitchen::before{content:"";position:absolute;inset:0 0 36% 0;background:linear-gradient(#f3e7b8,#e6d796);border-bottom:6px solid #8a6a3a}.fa-s-kitchen::after{content:"";position:absolute;right:6%;top:10%;width:26%;height:30%;background:#b8c0c8;border:4px solid #667;box-shadow:inset -8px 0 0 #9aa}
.fa-s-den{background:linear-gradient(#0000 0 66%,#4a3322 66%),linear-gradient(#6b4a2e,#56391f)}.fa-s-den::before{content:"";position:absolute;left:5%;top:8%;width:42%;height:42%;background:repeating-linear-gradient(#2a1a0c 0 5px,#c0392b 5px 14px,#2a1a0c 14px 17px,#2f6fb0 17px 28px)}
.fa-s-garage{background:linear-gradient(#0000 0 70%,#8a8f96 70%),repeating-linear-gradient(90deg,#b9bec5 0 16px,#aab0b8 16px 18px)}.fa-s-garage::before{content:"";position:absolute;left:55%;top:8%;width:38%;height:40%;background:radial-gradient(#222 0 3px,#0000 4px) 0 0/22px 22px,#7a4a1e}
.fa-s-porch{background:linear-gradient(#0000 0 72%,#9b8a70 72%),linear-gradient(#cfe3f2 0 40%,#e8d8b8 40%)}.fa-s-porch::before{content:"";position:absolute;left:10%;top:8%;width:30%;height:66%;background:#8a3d2a;border:5px solid #f2ede0;box-shadow:inset -10px 0 0 #00000022}
.fa-s-yard{background:linear-gradient(#8fd0ff 0 46%,#4aa04a 46%)}.fa-s-yard::before{content:"";position:absolute;left:62%;top:12%;width:18%;height:50%;background:radial-gradient(circle at 50% 30%,#2c7a2c 0 55%,#0000 56%),linear-gradient(90deg,#0000 42%,#6b4a2b 42% 58%,#0000 58%) 0 0/100% 100% no-repeat}
.fa-s-beach{background:linear-gradient(#7cc8f5 0 36%,#2f90c8 36% 52%,#f1d9a0 52%)}.fa-s-beach::before{content:"";position:absolute;left:10%;top:7%;width:11%;aspect-ratio:1;border-radius:50%;background:#ffe36b;box-shadow:0 0 14px #ffd54a}
.fa-s-pool{background:linear-gradient(#a8d8f0 0 28%,#3dbbe6 28%),repeating-linear-gradient(90deg,#fff3 0 3px,#0000 3px 22px)}.fa-s-pool::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,#ffffff22 0 2px,#0000 2px 9px)}
.fa-s-campsite{background:linear-gradient(#10224a 0 44%,#27502f 44%)}.fa-s-campsite::before{content:"";position:absolute;left:52%;top:20%;width:34%;height:44%;background:#e07a2a;clip-path:polygon(50% 0,100% 100%,0 100%)}.fa-s-campsite::after{content:"";position:absolute;left:10%;top:8%;width:8%;aspect-ratio:1;border-radius:50%;background:#fff8d0;box-shadow:0 0 10px #fff}
.fa-s-car{background:linear-gradient(#0000 0 58%,#3a3a44 58%),linear-gradient(#a8d8f0 0 36%,#7a8a62 36%)}.fa-s-car::before{content:"";position:absolute;left:0;right:0;top:56%;height:44%;background:linear-gradient(#5a5048,#3d352e)}.fa-s-car::after{content:"";position:absolute;left:4%;right:4%;top:6%;height:36%;border:8px solid #2a2a30;border-bottom-width:12px;border-radius:12px 12px 0 0}
.fa-s-mall{background:linear-gradient(#0000 0 70%,#d8d0c0 70%),repeating-linear-gradient(90deg,#f5ede0 0 40px,#e6dcc8 40px 44px)}.fa-s-mall::before{content:"";position:absolute;left:6%;right:6%;top:8%;height:12%;background:repeating-linear-gradient(90deg,#ff3d9a 0 24px,#18c3b5 24px 48px);opacity:.9}
.fa-s-restaurant{background:linear-gradient(#0000 0 56%,#0000 56%),repeating-conic-gradient(#c0392b 0 25%,#fff 0 50%) 0 100%/30px 30px;background-color:#7a1f1f}.fa-s-restaurant::before{content:"";position:absolute;inset:0 0 44% 0;background:linear-gradient(#5a1a1a,#3c1010)}
.fa-s-stairs{background:repeating-linear-gradient(135deg,#7a5a3a 0 22px,#654a2e 22px 26px),#7a5a3a}.fa-s-stairs::before{content:"";position:absolute;inset:0 0 0 62%;background:linear-gradient(#e8dcc0,#cdbf9c);border-left:6px solid #3b2a18}
.fa-s-studio{background:radial-gradient(circle at 30% 20%,#7aa7e8 0 12%,#0000 13%),radial-gradient(circle at 80% 70%,#ffffff55 0 10%,#0000 11%),linear-gradient(135deg,#3f7bd5,#9ab7e8 55%,#3f7bd5)}
@container (max-width:240px){.fa-date{display:none}}
@media(prefers-reduced-motion:no-preference){.fa-card{transition:transform .12s}.fa-card:hover{transform:translateY(-3px)}.fa-ph{transition:transform .15s}.fa-ph:hover{transform:rotate(0deg) scale(1.02)}}
.fa-minis{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.fa-mini{display:block;text-decoration:none;color:var(--ink);border:3px solid var(--line);background:var(--panel);padding:6px}.fa-mini small{display:block;margin-top:4px}.fa-mini:hover,.fa-mini:focus-visible{border-color:var(--blue)}
@media(max-width:640px){.fa-hero{grid-template-columns:1fr}.fa-photos{grid-template-columns:1fr}.fa-bonds{grid-template-columns:1fr}.fa-bub{max-width:100%}}
@media print{.fa-tools,.fa-links,.fa-tm,.fa-chips,.fa-vote{display:none}}
/* Round 45: board charts for the Recap Bench */
.bm{margin:12px 0 16px;border:3px solid var(--line);background:var(--panel)}
.bm-plate{margin:0;padding:6px 12px;background:var(--ink);color:var(--bg);font-family:"VT323",monospace;font-size:21px;line-height:1.2;letter-spacing:.02em}.bm-plate b{color:inherit;margin-right:8px;text-transform:uppercase;font-weight:400}
.bm-svg{display:block;width:100%;height:auto;max-height:620px;background:repeating-linear-gradient(0deg,transparent 0 11px,color-mix(in srgb,var(--line) 9%,transparent) 11px 12px),var(--bg)}
.bm-svg.bm-tall{max-height:none;max-width:520px;margin:0 auto}
.bm-pcb{fill:#2c6e49;stroke:#143d28;stroke-width:.7}.bm-sub{fill:#357a5b}
.bm-bn{font-family:"VT323",monospace;font-size:3.6px;fill:#d7f0dc;opacity:.9}
.bm-lm{fill:#17181d;stroke:#08080a;stroke-width:.3}.bm-lt{font-family:"IBM Plex Sans",sans-serif;font-size:2.3px;fill:#e8e4d8;text-anchor:middle}
.bm-cap{cursor:pointer;outline:none}.bm-hit{fill:transparent}
.bm-body{stroke:#101018;stroke-width:.35}.v1 .bm-body{fill:#2aa7a7}.v2 .bm-body{fill:#e0a21a}.v3 .bm-body{fill:#e0644a}.v4 .bm-body{fill:#9a6ae0}.v5 .bm-body{fill:#d03a64}
.bm-str{fill:rgba(0,0,0,.28)}.bm-ring{fill:none;stroke:#fff;stroke-width:.3;opacity:.55}
.bm-ck{fill:none;stroke:#fff;stroke-width:.6;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.bm-cap.done .bm-body{fill:#2f9e44}.bm-cap.done .bm-ck{opacity:1}.bm-cap.done .bm-str{opacity:0}
.bm-ref{font-family:"IBM Plex Sans",sans-serif;font-size:2.3px;fill:#fff;text-anchor:middle;paint-order:stroke;stroke:#0d2b1c;stroke-width:.6px}
.bm-gl{font-family:"VT323",monospace;font-size:3.6px;fill:#d7f0dc}.bm-gv{opacity:.8}
.bm-in{transform-box:fill-box;transform-origin:center;transition:transform .15s}
.bm-cap:hover .bm-in,.bm-cap:focus-visible .bm-in,.bm-cap.hl .bm-in{transform:scale(1.35)}
.bm-cap:focus-visible .bm-ring,.bm-cap.hl .bm-ring,.bm-cap:hover .bm-ring{stroke:#ffe14d;stroke-width:.6;opacity:1}
.bm-cap.pr:not(.done) .bm-ring{stroke:#ffe14d;opacity:.9}
html[data-motion="on"] .bm-cap:not(.done) .bm-ring{animation:bmring 2.6s ease-in-out infinite;animation-delay:calc(var(--i,0)*.18s)}
@keyframes bmring{0%,100%{opacity:.25}50%{opacity:1}}
html[data-motion="on"] .bm-cap.pop .bm-in{animation:bmpop .6s ease-out}
@keyframes bmpop{0%{transform:scale(1)}40%{transform:scale(1.8)}100%{transform:scale(1)}}
.bm-say{display:flex;gap:10px;align-items:center;padding:8px 12px;border-top:2px solid var(--line);min-height:64px}.bm-av{flex:none;width:44px;height:44px}.bm-say p{margin:0;font-size:15px;line-height:1.4}
.bm-leg{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0;padding:6px 12px;font-size:13px;color:var(--mute);border-top:1px solid var(--mute)}
.bm-sw{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:5px;border:1px solid var(--line);vertical-align:-1px}.bm-sw.bm-v1{background:#2aa7a7}.bm-sw.bm-v2{background:#e0a21a}.bm-sw.bm-v3{background:#e0644a}.bm-sw.bm-v4{background:#9a6ae0}.bm-sw.bm-v5{background:#d03a64}
.bm-note{margin:0;padding:6px 12px 10px}
@media print{.bm-say{display:none}.bm-ring{display:none}}
/* manuals and datasheets library */
.lib-card{margin:10px 0;padding:10px 14px;background:var(--panel);color:var(--ink);border:2px dashed var(--line);border-radius:10px}.lib-cardh{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.lib-rank{padding:0 10px;border:2px solid var(--line);border-radius:12px;font-size:.85em}
.lib-f{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;align-items:end;margin:12px 0}.lib-f label{display:flex;flex-direction:column;gap:2px;font-size:.9em}.lib-f input,.lib-f select{flex:none;width:100%}
.lib-g{margin:8px 0}.lib-g summary{cursor:pointer}.lib-g small{color:var(--mute)}
.lib-l{list-style:none;margin:6px 0;padding:0}.lib-d{padding:6px 8px;margin:4px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.lib-d small{color:var(--mute);margin-left:6px}.lib-d.on{background:color-mix(in srgb,#1f9d55 14%,transparent)}.lib-st{margin-left:8px;color:#1f7a45;font-weight:600;font-size:.85em}

/* recap page tabs and folds */
.rc-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 12px;padding-bottom:8px;border-bottom:2px solid var(--line)}
.rc-tab{font:inherit;font-weight:600;padding:8px 14px;border:2px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:8px}
.rc-tab:hover{border-color:var(--blue)}.rc-tab.on{background:var(--blue);color:var(--blue-ink);border-color:var(--blue)}.rc-tab:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.rc-off{display:none}
.rc-sec>summary,.rc-bdet>summary,.rc-more>summary{cursor:pointer}.rc-sec>summary h3{display:inline;margin:0}.rc-bdet{margin:6px 0}
@media print{.rc-off{display:block!important}.rc-tabs{display:none}}

.rc-c5{margin:14px 0}.rc-getit{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;margin:10px 0;padding:8px 12px;background:var(--panel);border:2px solid var(--blue,#2a6fd6);border-radius:10px;color:var(--ink)}.rc-getit small{flex:1 1 100%;color:var(--mute)}.rc-getit .rc-buy{margin:0;padding:5px 14px;font-size:.95em;font-weight:700}.rc-buy.rc-c{border-color:var(--blue,#2a6fd6)}.rc-c5d{display:inline-block}.rc-c5d[open]{flex:1 1 100%}.rc-c5d summary{cursor:pointer;list-style:none}.rc-c5d summary::-webkit-details-marker{display:none}.rc-c5l{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.rc-c5a{overflow-wrap:anywhere}

.rc-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.rc-chip2{font:inherit;font-size:.92em;padding:4px 12px;border:2px solid var(--line);border-radius:999px;background:var(--panel);color:var(--ink);cursor:pointer}.rc-chip2 small{color:var(--mute)}.rc-chip2:hover{border-color:var(--blue)}.rc-chip2.on{background:var(--blue);color:var(--blue-ink);border-color:var(--blue)}.rc-chip2.on small{color:inherit}.rc-chip2:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.rc-mp{margin:4px 0 12px}.rc-mp[hidden]{display:none}
@media(max-width:560px){.rc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rc-card{padding:8px}.rc-card small{font-size:.8em}.rc-hero svg{width:72px;height:auto}}

.rc-b[data-rf="todo"] tr.done{display:none}.rc-b[data-rf="done"] tr[data-row]:not(.done){display:none}.rc-b[hidden],.rc-rfe[hidden]{display:none}
.rc-bp{margin:8px 0 12px}.rc-bpg{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.rc-bpb{position:relative;overflow:hidden;font:inherit;text-align:left;display:flex;flex-direction:column;gap:2px;padding:8px 10px 12px;border:2px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);cursor:pointer}.rc-bpb b{font-size:.95em;overflow-wrap:anywhere}.rc-bpb small{color:var(--mute)}.rc-bpb i{position:absolute;left:0;bottom:0;height:5px;background:var(--blue);transition:width .4s}.rc-bpb:hover{border-color:var(--blue)}.rc-bpb.on{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue) inset}.rc-bpb:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.rc-next{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:10px 0;padding:10px 12px;border:2px solid var(--blue);border-radius:12px;background:var(--panel);color:var(--ink)}.rc-nxav{line-height:0;flex:0 0 auto}.rc-nxt{flex:1 1 200px;display:flex;flex-direction:column}.rc-nxt small{color:var(--mute)}.rc-nxt b{font-size:1.1em;overflow-wrap:anywhere}.rc-nxb{display:flex;gap:8px;flex-wrap:wrap}.rc-nx-done{border-style:dashed}.rc-nx-done p{margin:0}
.rc-rf{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin:10px 0}
@media print{.rc-b[hidden]{display:block!important}.rc-b[data-rf] tr{display:table-row!important}.rc-next,.rc-bp,.rc-rf{display:none!important}}

.rc-b[data-bv="map"] .rc-bl{display:none}.rc-b[data-bv="list"] .rc-bm{display:none}.rc-bv{display:flex;gap:6px;margin:8px 0}
.rc-bsel{display:flex;gap:8px;align-items:center;margin:6px 0}.rc-bsel select{flex:1 1 auto;min-width:0;padding:8px;font:inherit}.rc-bp>.rc-bar{margin:6px 0}.rc-bsel .btn[disabled]{opacity:.4}
@media print{.rc-b[data-bv] .rc-bm,.rc-b[data-bv] .rc-bl{display:block!important}.rc-bv{display:none!important}}
.qroul .qt{font-size:1.15em;padding:16px 18px}.qroul .qt p{font-size:1.2em}.qg-o{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin:8px 0}.qg-o .btn[disabled]{opacity:.75}
.fa-sqb[hidden],.fa-sq[hidden]{display:none}.fa-hear{margin:2px 0}
.bks-sec[hidden]{display:none}
.ab-log li[hidden]{display:none}
.fa-bond[hidden]{display:none}
@media(max-width:560px){.fa-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fa-card{padding:8px}.fa-card q{display:none}.fa-card .fa-spr svg{max-width:100%;height:auto}}
/* mascot text boxes: every character talks in a box shape of their own (bubble.js) */
.cb{--hh:var(--h,#3fae6b);display:flex;gap:12px;align-items:flex-end;margin:12px 0;max-width:100%;position:relative}
.cb-fl{flex-direction:row-reverse}
.cb-av{flex:0 0 auto;line-height:0}.cb-av svg{width:48px;height:auto;display:block}
.cb-t{position:relative;flex:0 1 auto;min-width:0;max-width:calc(100% - 60px);box-sizing:border-box;color:var(--ink);background:var(--panel);background:color-mix(in srgb,var(--hh) 15%,var(--panel));border:2px solid var(--hh);padding:8px 13px;font-size:15px;line-height:1.4}
.cb .cb-t p{margin:0;padding:0;border:0;background:none;border-radius:0;overflow-wrap:anywhere}.cb-t b{color:var(--ink)}
.cb-s-speech,.cb-s-wave,.cb-s-cloud{--tail:1}
.cb-s-speech{border-radius:18px}
.cb-s-speech::after,.cb-s-wave::after{content:"";position:absolute;bottom:12px;left:-10px;border:8px solid transparent;border-left:0;border-right:10px solid var(--hh)}
.cb-fl .cb-s-speech::after,.cb-fl .cb-s-wave::after{left:auto;right:-10px;border-right:0;border-left:10px solid var(--hh)}
.cb-s-cloud{border-radius:34px 42px 36px 44px/30px 38px 32px 40px;padding:11px 22px;border-style:dashed}
.cb-s-cloud::before,.cb-s-cloud::after{content:"";position:absolute;border:2px solid var(--hh);border-radius:50%;background:var(--panel);background:color-mix(in srgb,var(--hh) 15%,var(--panel))}
.cb-s-cloud::before{width:12px;height:12px;left:-14px;bottom:10px}.cb-s-cloud::after{width:7px;height:7px;left:-22px;bottom:2px}
.cb-fl .cb-s-cloud::before{left:auto;right:-14px}.cb-fl .cb-s-cloud::after{left:auto;right:-22px}
.cb-s-burst{border:0;padding:20px 30px;background:var(--hh);background:color-mix(in srgb,var(--hh) 34%,var(--panel));clip-path:polygon(0 50%,3% 30%,1% 12%,11% 17%,18% 2%,29% 13%,41% 0,52% 12%,64% 0,72% 13%,84% 2%,88% 17%,99% 11%,96% 30%,100% 48%,96% 66%,99% 88%,87% 82%,80% 98%,68% 87%,56% 100%,46% 87%,32% 98%,24% 85%,12% 94%,10% 79%,1% 87%,4% 68%);font-weight:bold;text-align:center}
.cb-s-card{border-radius:3px;border-top:6px solid var(--hh);background:repeating-linear-gradient(transparent 0 20px,color-mix(in srgb,var(--hh) 28%,transparent) 20px 21px),var(--panel);box-shadow:3px 3px 0 color-mix(in srgb,var(--hh) 45%,transparent);transform:rotate(-.5deg);line-height:21px;padding-top:6px;padding-bottom:7px}
.cb-fl .cb-s-card{transform:rotate(.5deg)}
.cb-s-pixel{border:3px solid var(--hh);border-radius:0;font-family:"VT323","Courier New",monospace;font-size:20px;line-height:1.15;padding:8px 14px;clip-path:polygon(0 6px,6px 6px,6px 0,calc(100% - 6px) 0,calc(100% - 6px) 6px,100% 6px,100% calc(100% - 6px),calc(100% - 6px) calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,6px calc(100% - 6px),0 calc(100% - 6px))}
.cb-s-tag{border:0;padding:9px 30px 9px 26px;background:var(--hh);background:color-mix(in srgb,var(--hh) 30%,var(--panel));clip-path:polygon(0 0,calc(100% - 20px) 0,100% 50%,calc(100% - 20px) 100%,0 100%);border-radius:4px 0 0 4px}
.cb-s-tag::before{content:"";position:absolute;left:8px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--bg);box-shadow:inset 0 0 0 2px var(--hh)}
.cb-fl .cb-s-tag{clip-path:polygon(20px 0,100% 0,100% 100%,20px 100%,0 50%);padding:9px 26px 9px 30px}.cb-fl .cb-s-tag::before{left:auto;right:8px}
.cb-s-clip{border-radius:6px;padding:20px 14px 9px;border-width:2px 2px 4px;box-shadow:inset 0 0 0 3px var(--panel)}
.cb-s-clip::before{content:"";position:absolute;top:-8px;left:50%;width:46px;height:14px;margin-left:-23px;border:2px solid var(--ink);border-radius:5px;background:linear-gradient(#cfd3d8,#8e949b)}
.cb-s-scroll{border-style:double;border-width:5px 0;border-radius:22px/14px;padding:12px 24px;background:color-mix(in srgb,#e3cf9a 70%,var(--panel));color:var(--ink);font-style:italic;box-shadow:inset 8px 0 0 -4px var(--hh),inset -8px 0 0 -4px var(--hh)}
.cb-s-stitch{border-radius:10px;outline:2px dashed var(--hh);outline-offset:-8px;padding:13px 17px}
.cb-s-ticket{border-style:dashed;border-radius:4px;padding:9px 20px;-webkit-mask:radial-gradient(circle 8px at 0 50%,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 8px at 100% 50%,#0000 97%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 8px at 0 50%,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 8px at 100% 50%,#0000 97%,#000) right/51% 100% no-repeat}
.cb-s-nut{border:0;padding:12px 26px;background:var(--hh);background:color-mix(in srgb,var(--hh) 30%,var(--panel));clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%);text-align:center}
.cb-s-receipt{font-family:"Courier New",monospace;font-size:14px;border:0;border-top:3px double var(--hh);padding:9px 14px 18px;background:color-mix(in srgb,#fff 62%,var(--panel));color:#15151a;-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/14px 100%;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/14px 100%}
.cb-s-receipt b{color:#15151a}
.cb-s-pill{border-radius:34px;padding:9px 20px 9px 36px;background:linear-gradient(90deg,var(--hh) 0 16px,transparent 16px),color-mix(in srgb,var(--hh) 15%,var(--panel));border-left-width:2px}
.cb-s-wave{border-radius:32px 16px 36px 14px/16px 32px 14px 36px;padding:10px 22px;border-width:3px 2px}
.cb-s-lcd{background:#0f2410;color:#7dff8a;border:4px solid #444;border-radius:6px;font-family:"VT323","Courier New",monospace;font-size:20px;line-height:1.1;text-shadow:0 0 6px #3cff5a;box-shadow:inset 0 0 0 2px #1d3f1d;background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.25) 0 1px,transparent 1px 3px)}
.cb-s-lcd b{color:#baffc1}
.cb-s-zip{border-radius:6px;padding:8px 13px 8px 30px}
.cb-s-zip::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:10px;background:repeating-linear-gradient(180deg,var(--hh) 0 3px,transparent 3px 6px);border-left:2px solid var(--ink);border-right:2px solid var(--ink)}
.cb-fl .cb-s-zip{padding:8px 30px 8px 13px}.cb-fl .cb-s-zip::before{left:auto;right:8px}
.cb-s-mini{font-size:13px;line-height:1.3;padding:3px 9px;border-radius:9px;border-width:1px;background:var(--panel)}
.cb-s-grid{background:#1d4a85;background-image:linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px);background-size:14px 14px;color:#eaf3ff;border:2px dashed #a9cdff;border-radius:2px;font-family:"Courier New",monospace;font-size:14px}
.cb-s-grid b{color:#fff}
/* older boxes that now hold a bubble */
.cb.rc-crew{padding:0;background:none;border:0;border-radius:0;margin:12px 0}
.bm-say .cb-t{--hh:#3fae6b;flex:1 1 auto;max-width:none;font-size:15px}
.bm-say{align-items:flex-end}
.fa-bubs{gap:0}.fa-bubs .cb{margin:0;max-width:88%}.fa-bubs .cb + .cb{margin-top:-9px}.fa-bubs .cb.fa-b1{margin-left:auto}
/* several in a row: layered, taking turns left and right */
.cb-stack{display:flex;flex-direction:column;margin:14px 0}
.cb-stack .cb{margin:0;width:90%}.cb-stack .cb + .cb{margin-top:-10px}.cb-stack .cb-fl{margin-left:auto}
.cb-stack .cb:nth-child(1){z-index:1}.cb-stack .cb:nth-child(2){z-index:2}.cb-stack .cb:nth-child(3){z-index:3}.cb-stack .cb:nth-child(4){z-index:4}
@media(max-width:520px){.cb-t{max-width:calc(100% - 48px)}.cb-av svg{width:40px}.cb{gap:8px}.cb-stack .cb,.fa-bubs .cb{width:auto;max-width:100%}.cb-s-cloud{padding:10px 16px}.cb-s-burst{padding:18px 24px}}
@media(prefers-reduced-motion:no-preference){.cb{animation:cbpop .35s cubic-bezier(.3,1.5,.5,1) both}@keyframes cbpop{from{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:none}}}
@media print{.cb-t{background:none!important;color:#000!important;border:1px solid #000!important;clip-path:none!important;-webkit-mask:none!important;mask:none!important;box-shadow:none!important;outline:0!important;text-shadow:none!important}.cb-t b{color:#000!important}.cb-t::before,.cb-t::after{display:none!important}}
/* text boxes follow the characters everywhere */
.rc-say{padding:0;background:none;border:0;border-radius:0}.rc-say .cb{margin:4px 0 0}
.fa-say .cb{margin:6px 0 8px}.fa-say #fa-line{min-height:3.2em}
.mm-say{margin:6px 0 0}.mm-say .cb{margin:4px 0 0}
.sh-greet.cbw{display:block;border:0;padding:0;background:none;margin:0 0 12px}.sh-greet.cbw .cb{margin:0}
.ml-say{margin:6px 0 0}.ml-say .cb{margin:4px 0 0}
.ip-sb{margin:0 0 6px;line-height:1.2}.ip-sb .cb-t{font-size:13px;max-width:220px}.ip-cs .ip-sb,.ip-cc .ip-sb{align-self:center}
.gmsg .cb{margin:6px 0}.gmsg .cb-t{font-family:"IBM Plex Sans",system-ui,sans-serif;font-size:15px;text-shadow:none}.gcb{margin:8px 0}.gcb .cb-t{color:var(--ink)}
.cm-cameo .cm-ct .cb-t{max-width:none;margin:0 0 8px}.cm-cameo .cm-ct .cb-t p{margin:0}.cm-cameo .cm-ct .cm-cap{display:block;margin-top:4px;color:var(--mute)}
.cm-cameo .cm-ct{flex:1 1 220px;min-width:0;align-self:center}
/* floating boxes: the stage and the mascot tips take their character's color and box shape */
.stg-b[data-sh]{background:color-mix(in srgb,var(--hh) 16%,#fff);border-color:var(--hh)}.stg-b[data-sh]:after{border-top-color:var(--hh)}.stg-b.stgside[data-sh]:after{border-top-color:transparent}
.stg-b[data-sh=cloud]{border-style:dashed;border-radius:26px}
.stg-b[data-sh=burst]{border-radius:6px;border-width:4px;font-weight:700;background:color-mix(in srgb,var(--hh) 34%,#fff);transform-origin:50% 100%}
.stg-b[data-sh=card]{border-radius:3px;border-top-width:7px;background:repeating-linear-gradient(transparent 0 19px,color-mix(in srgb,var(--hh) 30%,transparent) 19px 20px),#fff}
.stg-b[data-sh=pixel]{border-radius:0;font-family:"VT323","Courier New",monospace;box-shadow:3px 0 0 var(--hh),-3px 0 0 var(--hh),0 3px 0 var(--hh),0 -3px 0 var(--hh)}
.stg-b[data-sh=tag]{border-radius:4px 14px 14px 4px;border-left-width:12px}
.stg-b[data-sh=clip]{border-radius:6px;border-top-width:9px}
.stg-b[data-sh=scroll]{border-style:double;border-width:5px 0;border-radius:18px/12px;font-style:italic;background:color-mix(in srgb,#e3cf9a 70%,#fff)}
.stg-b[data-sh=stitch]{outline:2px dashed var(--hh);outline-offset:-7px;border-radius:9px}
.stg-b[data-sh=ticket]{border-style:dashed;border-radius:4px}
.stg-b[data-sh=nut]{border-radius:16px;border-width:4px;text-align:center}
.stg-b[data-sh=receipt]{font-family:"Courier New",monospace;border-width:0;border-top:3px double var(--hh);border-bottom:4px dotted var(--hh);border-radius:0;background:#fffdf4}
.stg-b[data-sh=pill]{border-radius:30px;padding-left:16px}
.stg-b[data-sh=wave]{border-radius:30px 14px 34px 12px/14px 30px 12px 34px;border-width:3px 2px}
.stg-b[data-sh=lcd]{background:#0f2410;color:#7dff8a!important;border:4px solid #444;border-radius:6px;font-family:"VT323","Courier New",monospace;text-shadow:0 0 6px #3cff5a}.stg-b[data-sh=lcd]:after{border-top-color:#444}
.stg-b[data-sh=zip]{border-radius:6px;padding-left:20px;background:linear-gradient(90deg,var(--hh) 0 6px,transparent 6px),color-mix(in srgb,var(--hh) 16%,#fff)}
.stg-b[data-sh=mini]{font-size:15px;padding:2px 7px;border-width:2px;border-radius:8px}
.stg-b[data-sh=grid]{background:#1d4a85 linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px) 0 0/14px 14px;color:#eaf3ff!important;border:2px dashed #a9cdff;border-radius:2px}.stg-b[data-sh=grid]:after{border-top-color:#a9cdff}
.mc-bubble[data-sh]{background:color-mix(in srgb,var(--hh) 15%,var(--panel));color:var(--ink);border-color:var(--hh);box-shadow:3px 3px 0 color-mix(in srgb,var(--hh) 45%,transparent)}.mc-bubble[data-sh]::after{background:color-mix(in srgb,var(--hh) 15%,var(--panel));border-color:var(--hh)}
.mc-bubble[data-sh=speech]{border-radius:18px}.mc-bubble[data-sh=cloud]{border-style:dashed;border-radius:26px}.mc-bubble[data-sh=burst]{border-width:3px;border-radius:8px;font-weight:700}
.mc-bubble[data-sh] .mc-nm{color:var(--hh)}

/* ---- Tony's iPod Bench (#/ipods/bench) ---- */
.ipb-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px}
.ipb-pk{display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;border:2px solid #000;background:#fff;color:#000;padding:4px 8px;text-decoration:none}
.ipb-pk .ipb-pi{grid-row:1/3;display:flex;justify-content:center;line-height:0}.ipb-pk b{font-size:13px;line-height:1.2}.ipb-pk small{font-size:12px;color:#333}
.ipb-pk:hover,.ipb-pk:focus-visible{background:#fff6c8;outline:3px solid #000;outline-offset:1px}.ipb-pk.on{background:#000;color:#fff}.ipb-pk.on small{color:#ddd}
.ipb-cbw{max-width:860px;margin:0 auto 14px}.ipb-cbw .cb{margin:0}
.ipb-cols{display:grid;grid-template-columns:minmax(260px,330px) 1fr;gap:16px;align-items:start}
.ipb-fig{background:#fff;border:2px solid #000;padding:6px}.ipb-svg{width:100%;height:auto;display:block}
.ipb-pl{outline:none;cursor:default}.ipb-pl.on,.ipb-pl:focus{filter:drop-shadow(0 0 0 #000) drop-shadow(3px 0 0 #f7d31e) drop-shadow(-3px 0 0 #f7d31e)}
.ipb-leg{list-style:none;margin:0;padding:0;display:grid;gap:6px;counter-reset:none}.ipb-leg li{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:start;border:2px solid #000;background:#fff;padding:6px 8px;outline:none}
.ipb-leg li.on,.ipb-leg li:focus{background:#fff6c8;outline:3px solid #000;outline-offset:1px}
.ipb-no{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:2px solid #000;border-radius:50%;font-weight:700;font-size:13px;background:#fff}.ipb-leg li small{display:block;font-size:13px;color:#222;margin-top:2px}
.ipb-tab{width:100%;border-collapse:collapse;font-size:14px}.ipb-tab th,.ipb-tab td{border:1px solid #888;padding:4px 8px;text-align:left;vertical-align:top}.ipb-tab tbody th{width:28%;background:#ececec}.ipb-tab thead th{background:#dcdcdc}
.ipb-ul{margin:0;padding-left:20px}.ipb-ul li{margin:4px 0}.ipb-ol{margin:0;padding-left:22px}.ipb-ol li{margin:4px 0}
.ipb-mod{padding:6px 0;border-bottom:1px dotted #999}.ipb-mod:last-of-type{border-bottom:0}.ipb-mod p{margin:2px 0 4px}.ipb-mod small a,.ipb-src a{color:#003a99}
.ipb-st a{color:#003a99}.ipb-gap .ip-bd{background:#fff6c8}.ipb-note{margin-top:14px}.ipb-nav{max-width:860px;margin:0 auto}
@media(max-width:640px){.ipb-cols{grid-template-columns:1fr}}
@media print{.ipb-pick{display:none}}
.ipb-tab td:last-child{text-align:left;white-space:normal}.ipb-tab{min-width:0;table-layout:auto}

/* circuit drawings (schematic.js) */
.sch{margin:12px 0 18px;border:3px solid var(--line);background:var(--panel)}
.sch-plate{margin:0;padding:6px 12px;background:var(--ink);color:var(--bg);font-family:"VT323",monospace;font-size:21px;line-height:1.2;letter-spacing:.02em}.sch-plate b{color:inherit;margin-right:8px;text-transform:uppercase;font-weight:400}
.sch-scroll{overflow-x:auto}.sch-svg{display:block;width:100%;min-width:560px;height:auto;background:repeating-linear-gradient(0deg,transparent 0 11px,color-mix(in srgb,var(--line) 9%,transparent) 11px 12px),var(--bg);color:var(--ink)}
.sch-svg .sc-s{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sch-svg .sc-fl{fill:var(--bg)}.sch-svg .sc-f{fill:currentColor;stroke:none}
.sch-svg .sc-w{fill:none;stroke:#2f8f5b;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sch-svg .sc-d{fill:#2f8f5b}
.sch-svg .sc-l{font:12.5px "IBM Plex Sans",system-ui,sans-serif;fill:var(--ink)}.sch-svg .sc-t{font:11px "IBM Plex Sans",system-ui,sans-serif;fill:var(--mute)}
.sch-svg .sc-box{fill:color-mix(in srgb,var(--line) 14%,transparent);stroke:var(--mute);stroke-width:1;stroke-dasharray:4 3}
.sch-svg .sc-p.hl .sc-s,.sch-svg .sc-p.hl .sc-d{stroke:#e0952b;stroke-width:3.2}.sch-svg .sc-p.hl .sc-f{fill:#e0952b}
.sch-body{padding:10px 14px 12px}.sch-how{margin:0 0 10px}
.sch-parts{border-collapse:collapse;width:100%;margin:6px 0}.sch-parts th,.sch-parts td{text-align:left;padding:5px 8px;border-bottom:1px solid color-mix(in srgb,var(--line) 30%,transparent);vertical-align:top}.sch-parts th:first-child,.sch-parts td:first-child{width:3.2em;white-space:nowrap}
.sch-parts tr.hl td{background:color-mix(in srgb,#e0952b 24%,transparent)}
.sch-hint{display:none;margin:6px 12px 0}@media (max-width:620px){.sch-hint{display:block}}
/* My bench (accounts) */
.bnch .mbtwo{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin:14px 0}
.bnch .mbf{border:2px solid var(--line);background:var(--panel);padding:12px 14px;margin:10px 0;min-width:0}
.bnch .mbf h3{margin-bottom:6px}
.bnch .mbf label{display:block;font-size:15px;color:var(--mute);margin-top:10px}
.bnch .mbf input:not([type=checkbox]),.bnch .mbf select,.bnch .mbf textarea{display:block;width:100%;max-width:100%;margin-top:4px;font:inherit;padding:9px 12px;border:2px solid var(--line);background:var(--bg);color:var(--ink)}
.bnch .mbf .mbck{display:flex;align-items:center;gap:8px;color:var(--ink)}
.bnch .mbf .mbck input{width:20px;height:20px;margin:0;flex:none}
.bnch .mbp{overflow-wrap:anywhere}.bnch .mbnote{margin:6px 0;white-space:pre-wrap}
.bnch .mbed{background:var(--bg)}
.bnch .mbx{padding:0 8px;min-height:0;margin-left:6px}
.bnch .mbl li{margin:6px 0}
.bnch .btn.danger{border-color:#aa0000;color:#aa0000}
.bnch .msg{padding:8px 12px;border:2px solid var(--line);background:var(--panel);margin:10px 0}.bnch .msg.err{border-color:#aa0000}.bnch .msg.ok{border-color:#2a7a2a}
.bnch select{max-width:100%}

.lbd{border-collapse:collapse;width:100%;max-width:640px;margin:8px 0}.lbd th,.lbd td{padding:5px 12px 5px 0;text-align:left;border-bottom:1px solid var(--line)}.lbd tr.me th,.lbd tr.me td{font-weight:700;color:var(--hi,inherit)}.boards .mbf{border:2px solid var(--line);background:var(--panel);padding:10px 12px;margin:6px 0}

/* mascots.js: the pal that follows you, the picker, and result bubbles */
.mp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:10px 0}
.mp-c{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:10px 8px;border:2px solid var(--line);background:var(--panel);color:inherit;cursor:pointer;font:inherit}
.mp-c small{opacity:.75;font-size:11px;line-height:1.25}.mp-c.on{border-color:var(--hi,#fc0);box-shadow:0 0 0 2px var(--hi,#fc0)}
.mp-c:focus-visible{outline:3px solid var(--hi,#fc0)}.mp-none{display:inline-grid;place-items:center;width:56px;height:56px;border:2px dashed var(--line)}
.mp-f{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.mp-f label{display:flex;flex-direction:column;gap:3px}
.pl-masc{margin:12px 0}.pl-mb{margin:0}
