:root{--black:#050504;--gold:#c8a35c;--gold2:#e3ca91;--ivory:#eee8de;--line:rgba(200,163,92,.24);--mono:"IBM Plex Mono",ui-monospace,monospace;
--c1:#5cc8ff;--c2:#ff9f5c;--c3:#7be0a0;--c4:#ff6b6b;--c5:#b69cff;--panel:#0d0b08}
*{box-sizing:border-box}
html,body{margin:0;background:var(--black);color:var(--ivory)}
body{font-family:Inter,Arial,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased;line-height:1.6}
a{color:inherit;text-decoration:none}
:focus-visible{outline:1px solid var(--gold2);outline-offset:3px;border-radius:2px}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:22px clamp(16px,4vw,48px);border-bottom:1px solid rgba(200,163,92,.1)}
.brand{display:flex;align-items:center;gap:10px}.brand img{width:34px;height:auto;opacity:.92}
.brand span{font:400 10px/1 Inter,sans-serif;letter-spacing:.28em;text-transform:uppercase;color:#c9bfa8}
.back-link{font:400 9px/1 Inter,sans-serif;letter-spacing:.28em;text-transform:uppercase;color:#a8935f;border:1px solid var(--line);padding:10px 16px;transition:color .3s,border-color .3s}
.back-link:hover{color:var(--gold2);border-color:var(--gold)}
main{max-width:1100px;margin:0 auto;padding:0 clamp(16px,4vw,40px) 60px}
.hero{padding:clamp(40px,8vh,80px) 0 26px}
.eyebrow{font:400 10px/1 Inter,sans-serif;letter-spacing:.34em;text-transform:uppercase;color:#a8935f;margin:0 0 18px}
h1{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:clamp(40px,7vw,76px);line-height:1.02;margin:0 0 18px;color:var(--ivory)}
.ask{font:400 clamp(18px,2.6vw,24px)/1.45 "Cormorant Garamond",Georgia,serif;font-style:italic;color:var(--gold2);max-width:36em;margin:0}
.lede{font:300 16px/1.8 Inter,sans-serif;color:#c4b9a4;max-width:62ch;margin:16px 0 0}
.step{display:flex;align-items:center;gap:12px;margin:46px 0 14px;font:400 10px/1 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:#a8935f}
.step b{display:inline-grid;place-items:center;width:26px;height:26px;border:1px solid var(--gold);border-radius:50%;color:var(--gold2);font-weight:500;letter-spacing:0}
.step i{flex:1;height:1px;background:var(--line)}
h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:clamp(26px,4vw,36px);margin:0 0 10px;color:#f0d795}
.simcard{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:clamp(10px,2vw,18px)}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.tabs button{font:400 11px/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#a8935f;background:none;border:1px solid var(--line);padding:11px 16px;border-radius:999px;cursor:pointer;transition:all .25s}
.tabs button.on,.tabs button:hover{color:#16120a;background:var(--gold2);border-color:var(--gold2)}
.panel{display:none}.panel.on{display:block}
canvas.sim{display:block;width:100%;background:#080706;border-radius:8px;border:1px solid rgba(200,163,92,.14);touch-action:none}
.ctls{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px 22px;margin-top:14px}
.ctl{display:block}.ctl span{display:flex;justify-content:space-between;font:400 12px/1.2 Inter,sans-serif;color:#cbbf9f;margin-bottom:6px}
.ctl span b{font:500 12px/1.2 var(--mono);color:var(--gold2)}
input[type=range]{width:100%;accent-color:var(--gold);height:26px;background:none}
select{background:#14110b;color:var(--ivory);border:1px solid var(--line);padding:9px 10px;border-radius:6px;font:400 13px Inter,sans-serif;width:100%}
.btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.btn{font:500 11px/1 Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#16120a;background:var(--gold2);border:0;padding:13px 20px;border-radius:999px;cursor:pointer}
.btn.ghost{background:none;color:var(--gold2);border:1px solid var(--gold)}
.btn:hover{filter:brightness(1.08)}
.read{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:14px}
.read div{border:1px solid rgba(200,163,92,.18);border-radius:8px;padding:10px 12px;background:rgba(200,163,92,.04)}
.read small{display:block;font:400 9.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#8f7f5c;margin-bottom:6px}
.read b{font:500 17px/1.1 var(--mono);color:var(--ivory)}
.eqn{margin-top:12px;padding:12px 14px;border-left:2px solid var(--gold);background:rgba(200,163,92,.06);font:400 14px/1.6 var(--mono);color:#e8dcc0;border-radius:0 8px 8px 0}
.try{margin:0;padding:0;list-style:none;counter-reset:t;display:grid;gap:10px}
.try li{counter-increment:t;position:relative;padding:14px 16px 14px 54px;border:1px solid var(--line);border-radius:10px;color:#d6ccb8;background:rgba(200,163,92,.03)}
.try li::before{content:counter(t);position:absolute;left:14px;top:12px;width:28px;height:28px;border-radius:50%;background:var(--gold);color:#16120a;display:grid;place-items:center;font:500 13px var(--mono)}
.try b{color:var(--gold2);font-weight:500}
.remember{border:1px solid var(--gold);border-radius:14px;padding:clamp(18px,3vw,30px);background:linear-gradient(160deg,rgba(200,163,92,.14),rgba(200,163,92,.03));position:relative}
.remember .tag{position:absolute;top:-11px;left:22px;background:var(--black);padding:0 10px;font:500 10px/22px var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--gold2)}
.remember .hook{font:500 clamp(24px,4vw,38px)/1.2 "Cormorant Garamond",Georgia,serif;color:#f6e3b0;margin:0 0 12px}
.remember p{margin:6px 0;color:#d6ccb8}
.remember .rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:14px}
.remember .rules div{border:1px dashed rgba(227,202,145,.4);border-radius:10px;padding:11px 13px;font:400 14px/1.5 Inter,sans-serif;color:#eadfc4}
.remember .rules b{display:block;font:500 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#a8935f;margin-bottom:6px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.card{border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:var(--panel)}
.card h3{margin:0 0 6px;font:500 20px/1.2 "Cormorant Garamond",Georgia,serif;color:#f0d795}
.card p{margin:0;color:#c4b9a4;font-size:14.5px}
.q{border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:var(--panel);margin-bottom:12px}
.q p{margin:0 0 10px;color:var(--ivory);font-weight:400}
.q .o{display:block;width:100%;text-align:left;margin:6px 0;padding:11px 14px;border:1px solid rgba(200,163,92,.25);border-radius:8px;background:none;color:#d6ccb8;font:300 14.5px Inter,sans-serif;cursor:pointer}
.q .o:hover{border-color:var(--gold)}
.q .o.ok{border-color:#7be0a0;background:rgba(123,224,160,.1);color:#d5ffe5}
.q .o.no{border-color:#ff6b6b;background:rgba(255,107,107,.1);color:#ffd5d5}
.q .why{display:none;margin-top:8px;font-size:14px;color:#c4b9a4}.q.done .why{display:block}
.score{font:500 13px var(--mono);color:var(--gold2);margin-top:6px}
.nav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:42px}
.nav a{border:1px solid var(--line);padding:14px 18px;border-radius:10px;font:400 13px Inter,sans-serif;color:#d6ccb8;transition:all .25s}
.nav a:hover{border-color:var(--gold);color:var(--gold2)}
.nav small{display:block;font:400 9.5px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#8f7f5c}
.site-footer{border-top:1px solid var(--line);padding:44px 20px 54px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
.site-footer .fname{font-family:"Cormorant Garamond",Georgia,serif;font-size:15px;letter-spacing:.12em;color:#d9c49b;margin:0}
.flinks{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;font:400 9px/1 Inter,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#7d715f}
.flinks a:hover{color:var(--gold2)}
.leg{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;font:400 12px Inter,sans-serif;color:#b9ad91}
.leg i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:6px;vertical-align:-1px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.wrapx{max-width:1240px;margin:0 auto;padding:0 clamp(16px,3vw,40px)}
.layout{display:grid;grid-template-columns:230px 1fr;gap:16px;align-items:start}
@media(max-width:860px){.layout{grid-template-columns:1fr}}
.pal{border:1px solid rgba(200,163,92,.18);border-radius:10px;padding:12px;background:rgba(200,163,92,.03)}
.pal h4{margin:10px 0 8px;font:500 10px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:#a8935f}
.pal h4:first-child{margin-top:0}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:6px}
.pbtn{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;border:1px solid rgba(200,163,92,.28);background:#14110b;color:#eadfc4;border-radius:8px;padding:8px 6px;font:400 12px/1.25 Inter,sans-serif;text-align:center}
.pbtn:hover{border-color:var(--gold);color:var(--gold2)}
.pbtn i{display:block;width:10px;height:10px;border-radius:50%;margin:0 auto 5px;background:var(--gold)}
.pnote{font:400 11.5px/1.5 Inter,sans-serif;color:#8f7f5c;margin:10px 0 0}
.dragghost{position:fixed;z-index:99;pointer-events:none;border:1px solid var(--gold);background:#1b160c;color:var(--gold2);padding:7px 12px;border-radius:8px;font:500 12px Inter,sans-serif;opacity:.95;transform:translate(-50%,-50%)}
#cv{border:1px solid rgba(200,163,92,.18);border-radius:10px;background:#0b0907;overflow:hidden;touch-action:pan-y}
#cv svg{display:block;width:100%;height:auto}
#cv g.part{cursor:grab}
.bar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-top:12px}
.bar label{font:400 12px Inter,sans-serif;color:#cbbf9f;display:flex;align-items:center;gap:6px}
.bar select{width:auto;padding:7px 8px}
.status{font:400 13px/1.5 Inter,sans-serif;color:#e3ca91;min-height:20px;margin-top:8px}
.status.bad{color:#ff8f80}
.run.on{background:#ff6b6b;color:#1a0a08}
.tbl{width:100%;border-collapse:collapse;margin-top:12px;font:400 13px/1.45 Inter,sans-serif}
.tbl th{text-align:left;font:500 9.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#8f7f5c;padding:8px 8px;border-bottom:1px solid var(--line)}
.tbl td{padding:9px 8px;border-bottom:1px solid rgba(200,163,92,.1);vertical-align:top;color:#d6ccb8}
.tbl td b{color:var(--gold2);font-weight:500}
.tbl select{width:auto;min-width:68px;padding:6px 8px}
.tbl .x{background:none;border:1px solid rgba(255,107,107,.5);color:#ff8f80;border-radius:6px;padding:5px 9px;cursor:pointer;font:400 12px Inter}
.tblwrap{overflow-x:auto}
.tbl .wire{font-size:12px;color:#a99d84;max-width:340px}
.lk{display:inline-block;margin:0 8px 4px 0;color:var(--gold2);border-bottom:1px solid rgba(200,163,92,.4);font-size:12.5px;white-space:nowrap}
.ins{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px 20px;margin-top:14px}
.ins .ctl span{margin-bottom:4px}
.hold{width:100%;padding:11px;border:1px solid var(--gold);background:none;color:var(--gold2);border-radius:8px;font:500 12px Inter;cursor:pointer;touch-action:none;user-select:none}
.hold.act{background:var(--gold2);color:#16120a}
.ex{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-bottom:14px}
.ex button{text-align:left;cursor:pointer;border:1px solid var(--line);background:var(--panel);color:#eadfc4;border-radius:10px;padding:11px 13px;font:400 12.5px/1.45 Inter,sans-serif}
.ex button:hover{border-color:var(--gold)}
.ex button b{display:block;font:500 15px "Cormorant Garamond",Georgia,serif;color:#f0d795;margin-bottom:3px}
#prog{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border:1px solid rgba(200,163,92,.2);border-radius:10px;padding:9px 10px;background:#12100a}
.row.run{border-color:var(--c3);box-shadow:0 0 0 1px var(--c3) inset;background:rgba(123,224,160,.07)}
.row .n{font:500 11px var(--mono);color:#8f7f5c;width:22px}
.row select,.row input[type=number]{width:auto;min-width:70px;padding:7px 8px;background:#14110b;color:var(--ivory);border:1px solid var(--line);border-radius:6px;font:400 13px Inter,sans-serif}
.row input[type=number]{width:84px}
.row .w{font:400 12px Inter;color:#a99d84}
.row .sp{flex:1}
.row button{background:none;border:1px solid var(--line);color:var(--gold2);border-radius:6px;padding:5px 9px;cursor:pointer;font:400 12px Inter}
.row button.x{border-color:rgba(255,107,107,.5);color:#ff8f80}
.addrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.addrow .btn{padding:11px 15px;font-size:10.5px}
pre.code{margin:12px 0 0;max-height:520px;overflow:auto;background:#080706;border:1px solid rgba(200,163,92,.2);border-radius:10px;padding:14px 16px;font:400 12.5px/1.55 var(--mono);color:#e8dcc0;tab-size:2;white-space:pre}
.chk{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:6px}
.chk li{font:400 13.5px/1.55 Inter,sans-serif;color:#d6ccb8;border-left:2px solid var(--c3);padding:6px 12px;background:rgba(123,224,160,.05);border-radius:0 8px 8px 0}
.chk li.w{border-color:var(--c2);background:rgba(255,159,92,.07)}
.inp{width:100%;background:#14110b;color:var(--ivory);border:1px solid var(--line);border-radius:6px;padding:9px 10px;font:400 13px Inter,sans-serif}
.man{border:1px solid var(--line);border-radius:12px;padding:6px 18px;background:var(--panel)}
.man details{border-bottom:1px solid rgba(200,163,92,.12);padding:12px 0}
.man details:last-child{border:0}
.man summary{cursor:pointer;font:500 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gold2)}
.man p,.man li{color:#c4b9a4;font-size:14.5px;line-height:1.65}
.man code{font-family:var(--mono);color:#e8dcc0}
@media(max-width:700px){#cv{overflow-x:auto}#cv svg{min-width:700px}.tbl .wire{max-width:none}}
#cv g.part{touch-action:none}
.layout>div{min-width:0}#cv{max-width:100%}

.boards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.bcard{display:flex;flex-direction:column;gap:5px;text-align:left;cursor:pointer;border:1px solid var(--line);background:var(--panel);color:#eadfc4;border-radius:12px;padding:12px;font:400 12px/1.4 Inter,sans-serif}
.bcard b{font:500 17px "Cormorant Garamond",Georgia,serif;color:#f0d795}
.bcard.on{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset;background:rgba(200,163,92,.08)}
.bth{display:block;background:#0b0907;border-radius:8px;padding:8px}.bth svg{display:block;width:100%;height:96px}
#binfo{margin-top:14px}.specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.specs div{border:1px solid rgba(200,163,92,.18);border-radius:8px;padding:8px 10px}.specs span{display:block;font:500 9px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#8f7f5c}.specs b{font:500 13px Inter;color:#eadfc4}
.tips{margin:12px 0 0;padding-left:18px}.tips li{color:#c4b9a4;font-size:14px;line-height:1.6;margin-bottom:4px}
.pbtn .th{display:block;background:#0b0907;border-radius:6px;padding:4px;margin-bottom:5px}.pbtn .th svg{display:block;width:100%;height:58px}
.pgrid{grid-template-columns:repeat(2,1fr)}
.zoom{display:inline-flex;gap:6px;margin-left:auto}.zoom .btn{padding:8px 12px;font-size:12px}
#cv{overflow:auto}#cv svg{max-width:none;min-width:0}
h3.sub{margin:22px 0 4px;font:500 10px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:#a8935f}
.tbl td.bad{color:#ff8f80}
.rules{border:1px solid rgba(200,163,92,.25);border-radius:12px;padding:12px 18px;background:rgba(200,163,92,.05);margin-bottom:12px}.rules h4{margin:0 0 6px;font:500 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold2)}.rules li{color:#d6ccb8;font-size:14px;line-height:1.6;margin-bottom:3px}
#guides details{border:1px solid rgba(200,163,92,.18);border-radius:10px;margin-bottom:8px;background:#12100a}
#guides summary{cursor:pointer;padding:11px 14px;font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold2)}
.gbody{padding:0 14px 12px}.gbody>p{margin:0 0 10px;color:#d6ccb8;font-size:14.5px;line-height:1.65}
.gcols{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.gc{border-radius:8px;padding:10px 12px;border-left:3px solid}.gc h5{margin:0 0 6px;font:600 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase}.gc ul{margin:0;padding-left:16px}.gc li{font-size:13.5px;line-height:1.55;color:#d6ccb8;margin-bottom:3px}
.gc.good{border-color:#4cd97b;background:rgba(76,217,123,.07)}.gc.good h5{color:#4cd97b}
.gc.bad{border-color:#ff6b6b;background:rgba(255,107,107,.07)}.gc.bad h5{color:#ff8f80}
.gc.warn{border-color:#ffb347;background:rgba(255,179,71,.08)}.gc.warn h5{color:#ffb347}
.gc.tip{border-color:#5cc8ff;background:rgba(92,200,255,.07)}.gc.tip h5{color:#5cc8ff}
@media(max-width:700px){#cv svg{min-width:760px}}
.layout{display:block}
.palbox{border:1px solid rgba(200,163,92,.22);border-radius:10px;background:rgba(200,163,92,.03);margin:0 0 14px}
.palbox>summary{cursor:pointer;padding:12px 16px;font:500 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#e3c77a;list-style:none}
.palbox>summary::-webkit-details-marker{display:none}.palbox>summary::before{content:"\25BE";margin-right:10px;display:inline-block;transition:transform .2s}
.palbox:not([open])>summary::before{transform:rotate(-90deg)}.palbox>summary span{color:#8c8470;letter-spacing:.04em;text-transform:none;font-size:11.5px}
.palbox .pal{border:0;background:none;display:flex;flex-wrap:wrap;gap:6px 22px;padding:2px 14px 14px}
.pgroup h4{margin:0 0 8px;font:500 10px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:#a8935f}
.palbox .pgrid{grid-template-columns:repeat(auto-fill,88px);gap:6px}
.pbtn{padding:6px 4px;font-size:11.5px}
.wid{touch-action:none}.wid *{touch-action:none}
@keyframes wp{50%{opacity:.3}}.wpulse{animation:wp 1.5s ease-in-out infinite}
#simwrap.fakefs{position:fixed;inset:0;z-index:9999;overflow:auto;background:#050504;border-radius:0;margin:0;padding:18px}
#simwrap:fullscreen{overflow:auto;background:#050504;padding:18px;box-sizing:border-box}
#simwrap.light{filter:invert(1) hue-rotate(180deg)}
#simwrap.light svg,#simwrap.light img{filter:invert(1) hue-rotate(180deg)}
#simwrap.light.fakefs,#simwrap.light:fullscreen{background:#050504}
@media(max-width:700px){.palbox .pgrid{grid-template-columns:repeat(auto-fill,78px)}}
/* full screen: the whole circuit fits the screen, no scrolling */
#simwrap:fullscreen,#simwrap.fakefs{display:flex;flex-direction:column;overflow:hidden;height:100vh;height:100dvh;box-sizing:border-box;padding:10px 14px}
#simwrap:fullscreen>*,#simwrap.fakefs>*{flex:0 0 auto}
#simwrap:fullscreen>.layout,#simwrap.fakefs>.layout{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
#simwrap:fullscreen>.layout>div,#simwrap.fakefs>.layout>div{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
#simwrap:fullscreen #cv,#simwrap.fakefs #cv{flex:1 1 auto;min-height:0;display:flex;justify-content:center;align-items:center;overflow:hidden}
#simwrap:fullscreen #cv svg,#simwrap.fakefs #cv svg{width:auto!important;height:100%!important;max-width:100%;max-height:100%}
#simwrap:fullscreen>h3.sub,#simwrap:fullscreen>.tblwrap,#simwrap:fullscreen>p.pnote,#simwrap:fullscreen .layout h4,#simwrap:fullscreen #ins,
#simwrap.fakefs>h3.sub,#simwrap.fakefs>.tblwrap,#simwrap.fakefs>p.pnote,#simwrap.fakefs .layout h4,#simwrap.fakefs #ins{display:none}
#simwrap:fullscreen .palbox,#simwrap.fakefs .palbox{margin-bottom:8px;max-height:45vh;overflow:auto}
#simwrap:fullscreen .status,#simwrap.fakefs .status{margin:6px 0}
#simwrap:fullscreen .bar,#simwrap.fakefs .bar{margin-top:6px}

@keyframes rlspin{to{transform:rotate(360deg)}}
/* touch: phones, tablets, iPads */
.pbtn{touch-action:manipulation;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
#cv{touch-action:pan-x pan-y pinch-zoom;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
.wid rect[fill="transparent"]:not([id*="_h1"]):not([id*="_h2"]):not([id*="_h3"]):not([id*="_h4"]):not([id*="_h5"]):not([id*="_h6"]):not([id*="_h7"]):not([id*="_h8"]):not([id*="_h9"]):not([id*="_h0"]),.wid circle[fill="transparent"]{stroke:transparent;stroke-width:14px}
@media(pointer:coarse){button,.hold,.chip,select,summary{min-height:44px}input[type=range]{height:34px}.pbtn{min-height:0}}

.vname{width:90px;background:#0e0d0b;border:1px solid #3a3226;color:#e9dfc8;border-radius:6px;padding:4px 6px;font:inherit}

.arena{margin-top:10px;border:1px solid #3a3226;border-radius:10px;background:#0c0b09;padding:8px}.arena svg{width:100%;height:auto;display:block;border-radius:8px;touch-action:manipulation}.arhead{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:6px;color:#e9dfc8}.arhead select{background:#0e0d0b;border:1px solid #3a3226;color:#e9dfc8;border-radius:6px;padding:4px 8px;font:inherit}
.arhead select{width:auto;flex:0 0 auto;max-width:240px}.arhead .btn{width:auto}
.lmlog{margin-top:8px;font:13px/1.5 ui-monospace,Menlo,Consolas,monospace;color:#e9dfc8}.lmrow{padding:3px 8px;border-left:3px solid #3a3226;margin:2px 0;background:#13110d;border-radius:0 6px 6px 0}.lmrow span{color:#a99d84;margin-right:8px}.lmrow.s{border-color:#ff9f1c}.lmrow.c{border-color:#5cc8ff}.lmrow.r{border-color:#2fd05b}.lmtile{background:#13110d;border:1px solid #3a3226;border-radius:8px;padding:8px;margin-top:6px}.lmval{font-size:34px;font-weight:700;color:#5cc8ff;line-height:1.1}

/* full screen: tabs and an expandable panel docked inside the schematic */
#simwrap:fullscreen{position:relative}
#fsside{position:absolute;pointer-events:none;z-index:30;overflow:hidden}
.fstabs{position:absolute;left:8px;top:10px;display:flex;flex-direction:column;gap:6px;pointer-events:auto;z-index:2}
.fstab{font:600 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#e9d9a6;background:rgba(11,10,8,.92);border:1px solid #6b5a30;border-radius:8px;padding:11px 12px;cursor:pointer;text-align:left;min-width:84px}
.fstab::before{content:"+ ";color:#c9a24a}
.fstab.on{background:#c9a24a;color:#171309;border-color:#c9a24a}.fstab.on::before{content:"\2212 ";color:#171309}
.fsp{position:absolute;pointer-events:auto;left:106px;top:8px;bottom:8px;width:min(430px,calc(100% - 118px));min-width:260px;max-width:calc(100% - 118px);display:flex;flex-direction:column;background:rgba(11,10,8,.96);border:1px solid #6b5a30;border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.65);resize:horizontal;overflow:hidden}
.fsp[hidden]{display:none}
.fsp>header{display:flex;align-items:center;gap:8px;padding:9px 10px 9px 14px;border-bottom:1px solid #3a3326}
.fsp>header b{flex:1;font:600 13px/1 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:#c9a24a}
.fsx{background:none;border:1px solid #4a3f28;color:#e9d9a6;border-radius:8px;width:30px;height:28px;font:600 17px/1 var(--mono);cursor:pointer;padding:0}
.fsb{flex:1;min-height:0;overflow:auto;padding:10px 12px 14px;font-size:13px}
.fsb .tblwrap{overflow-x:auto;margin:0}.fsb .tbl{font-size:12px}.fsb .tbl th,.fsb .tbl td{padding:6px 7px}
.fsb .addrow{flex-wrap:wrap}.fsb .addrow .btn{padding:6px 9px;font-size:11px}
.fsb pre.code{max-height:none;font-size:11.5px;overflow:auto}
.fsb .pnote,.fsb p{font-size:12.5px}
@media(max-width:700px){.fstabs{flex-direction:row;flex-wrap:wrap;right:8px}.fstab{min-width:0;padding:9px 10px}.fsp{left:8px;right:8px;top:52px;width:auto;max-width:none;resize:none}}

.fsgrip{font:600 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#a8935f;text-align:center;padding:7px 4px;cursor:grab;touch-action:none;border:1px dashed #4a3f28;border-radius:8px;background:rgba(11,10,8,.85);user-select:none;-webkit-user-select:none}
.fsp>header{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.fsp{resize:both}
/* full screen: the drawing fills all the free height (also when a scene drawer wraps it) */
#simwrap:fullscreen .cvwrap,#simwrap.fakefs .cvwrap{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
#simwrap:fullscreen .cvwrap>#cv,#simwrap.fakefs .cvwrap>#cv{flex:1 1 auto;min-height:0}

.fsb{touch-action:pan-y pan-x;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.fsp{min-height:120px}
