html,body{height:100%}.vt-shell{display:contents}body{background:var(--bg);color:var(--ink);font-family:var(--font-pixel);background-image:linear-gradient(45deg,var(--bg-2) 25%,transparent 25%,transparent 75%,var(--bg-2) 75%),linear-gradient(45deg,var(--bg-2) 25%,transparent 25%,transparent 75%,var(--bg-2) 75%);background-position:0 0,4px 4px;background-size:8px 8px;margin:0;font-size:14px;line-height:1.35;overflow:hidden}*{box-sizing:border-box}button{font:inherit;color:inherit}#app{height:100%;padding-block:8px;padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px));grid-template-rows:auto 1fr auto;gap:8px;display:grid}.px{background:var(--panel);border:2px solid var(--edge);box-shadow:inset 0 0 0 2px var(--panel-2),0 3px 0 var(--edge);clip-path:polygon(2px 0,calc(100% - 2px) 0,100% 2px,100% calc(100% - 2px),calc(100% - 2px) 100%,2px 100%,0 calc(100% - 2px),0 2px)}#top{flex-wrap:wrap;align-items:center;gap:14px;padding:8px 14px;display:flex}.logo{font-family:var(--font-tiny);letter-spacing:.5px;align-items:center;gap:8px;font-size:13px;display:flex}.logo img{width:24px;height:24px;image-rendering:pixelated}.site{color:var(--ink-2);align-items:center;gap:6px;font-size:13px;display:flex}@media (min-width:1200px){#top{flex-wrap:nowrap}#top>*{flex:none}#top>.site{flex:0 auto;min-width:0}.site>*{flex:none}.site .conn-text{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}}.site .dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 2px var(--panel),0 0 0 3px var(--edge);animation:1.6s steps(2,end) infinite blink}@keyframes blink{50%{opacity:.35}}.stats{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.stat{border:2px solid var(--edge);background:var(--panel-2);align-items:center;gap:7px;padding:4px 10px;font-size:13px;display:flex}.stat img{width:16px;height:16px;image-rendering:pixelated}.stat b{font-family:var(--font-tiny);text-align:right;font-variant-numeric:tabular-nums;min-width:3ch;font-size:12px}.badge-demo{font-family:var(--font-tiny);background:var(--gold);border:2px solid var(--edge);box-shadow:2px 2px 0 var(--edge);padding:6px 8px;font-size:10px}#main{grid-template-columns:minmax(0,1fr) 260px;gap:8px;min-height:0;display:grid}#stage{background:var(--stage);background-image:linear-gradient(45deg,#0000000d 25%,#0000 25% 75%,#0000000d 75%),linear-gradient(45deg,#0000000d 25%,#0000 25% 75%,#0000000d 75%);background-position:0 0,8px 8px;background-size:16px 16px;position:relative;overflow:hidden}#viewport{touch-action:pan-x pan-y;scrollbar-width:none;display:flex;position:absolute;inset:0;overflow:auto}#viewport::-webkit-scrollbar{display:none}#stage.dragging,#stage.dragging #cv{cursor:grabbing}#mini{z-index:3;width:96px;height:54px;image-rendering:pixelated;border:2px solid var(--edge);box-shadow:2px 2px 0 var(--edge);cursor:pointer;opacity:.92;animation:popIn var(--t-ui) ease-out;background:#b9e2a3;position:absolute;bottom:10px;right:10px}#mini[hidden]{display:none}#app.replay #mini{bottom:58px}#stage:focus-visible{outline:3px solid var(--ink);outline-offset:-3px}#town{width:calc(480px * var(--s));height:calc(270px * var(--s));flex:none;margin:auto;position:relative}#cv{width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;cursor:default;background:#b9e2a3;display:block}#cv.hit{cursor:pointer}.label{pointer-events:none;white-space:nowrap;font-size:calc(var(--s) * 5px);padding:calc(var(--s) * 1px) calc(var(--s) * 2px);color:#fff8ea;border-radius:calc(var(--s) * 1px);background:#3b2f3ac7;line-height:1;position:absolute;transform:translate(-50%,-100%)}.label span{opacity:.7;margin-left:.4em}#empty[hidden],#labels[hidden],.dup[hidden],#replayBar[hidden]{display:none}#replayBar{background:var(--panel);border:2px solid var(--edge);box-shadow:3px 3px 0 var(--edge);align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex;position:absolute;bottom:8px;left:8px;right:8px}#replayBar .btn{min-height:30px;padding:3px 10px;font-size:12px}#replayBar input[type=range]{flex:1;width:auto;min-width:60px}#replayBar .rp-seek{flex:1;align-items:center;min-width:60px;display:flex;position:relative}#replayBar .rp-seek input[type=range]{width:100%}#rpTicks{pointer-events:none;position:absolute;inset:0 8px}#rpTicks b{background:var(--gold);border:1px solid var(--edge);width:7px;height:7px;box-shadow:1px 1px 0 var(--edge);pointer-events:auto;cursor:pointer;animation:popIn var(--t-ui) ease-out;margin-left:-4px;position:absolute;top:0}#rpTicks b:hover{background:var(--accent-2)}.rp-title{font-family:var(--font-tiny);color:var(--danger-ink);font-size:10px}.rp-time{font-family:var(--font-tiny);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:9px}#app.replay #ctl .btn:not(#btnReplay),#app.replay #ctl input,#app.replay #ctl .toggle{opacity:.45;pointer-events:none}#app.replay #btnReplay{background:var(--danger-ink);color:var(--panel)}#connPanel[hidden],#sitePanel[hidden]{display:none}#sitePanel{background:var(--scrim);z-index:5;place-items:center;padding:16px;display:grid;position:absolute;inset:0}#sitePanel>div{background:var(--panel);border:2px solid var(--edge);width:min(520px,100%);max-height:100%;box-shadow:4px 4px 0 var(--edge);flex-direction:column;gap:12px;padding:18px;font-size:13px;display:flex;overflow:auto}#sitePanel h2{font-family:var(--font-tiny);margin:0;font-size:12px}#sitePanel label{gap:4px;display:grid}#sitePanel label.toggle{display:inline-flex}#sitePanel input{font:inherit;border:2px solid var(--edge);background:var(--panel-2);color:var(--ink);padding:7px 10px}#sitePanel .list{flex-direction:column;gap:6px;display:flex}#sitePanel .list button{text-align:left;justify-content:space-between;gap:8px;display:flex}#sitePanel .mb-row{border:2px solid var(--line);background:var(--panel-2);justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex}#sitePanel .mb-row .tags{margin:0}#sitePanel .mb-row .row{gap:4px}#sitePanel pre{color:#fff8ea;white-space:pre-wrap;word-break:break-all;background:#2b2430;margin:0;padding:10px;font-size:11px;overflow:auto}.sh-prev{text-align:center;background:var(--panel-2);margin:0;padding:8px}.sh-prev img{border:2px solid var(--edge);max-width:100%;max-height:300px;box-shadow:3px 3px 0 var(--edge);vertical-align:top}#sitePanel .status{align-items:center;gap:8px;display:flex}#sitePanel .status .dot{background:var(--gold);width:10px;height:10px;box-shadow:0 0 0 2px var(--edge);animation:.8s steps(2,end) infinite blink}#sitePanel .status .dot.ok{background:var(--accent);animation:none}#sitePanel .err{color:var(--danger-ink)}#sitePanel .row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}#sitePanel .muted{color:var(--ink-2);font-size:12px}.stats{cursor:pointer}.stats .stat:hover{background:var(--gold)}#sitePanel .st-sub{color:var(--ink-2);margin:0;font-size:11px}#sitePanel .st-tiles{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}#sitePanel .st-tile{border:2px solid var(--edge);background:var(--panel-2);color:var(--ink-2);flex-direction:column;gap:4px;padding:8px 10px;font-size:11px;display:flex}#sitePanel .st-tile b{font-family:var(--font-tiny);color:var(--ink);font-size:14px}#sitePanel .st-cols{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 18px;display:grid}#sitePanel .st-block h3{font-family:var(--font-tiny);color:var(--ink-2);letter-spacing:.5px;margin:0 0 6px;font-size:9px}#sitePanel .bars{grid-template-columns:auto 1fr auto;align-items:center;gap:4px 8px;font-size:12px;display:grid}#sitePanel .bars .bar{border:2px solid var(--edge);background:var(--panel-2);box-sizing:border-box;height:10px}#sitePanel .bars .bar>span{background:var(--accent);height:100%;display:block}#sitePanel .bars .n{font-family:var(--font-tiny);text-align:right;min-width:3ch;font-size:9px}#sitePanel .bars .unk{color:var(--ink-2)}#sitePanel .bars .bar.unk{opacity:.45}#sitePanel .bars .bar.unk>span{background:var(--ink-2)}#sitePanel .hist{border-bottom:2px solid var(--edge);align-items:flex-end;gap:2px;height:72px;padding-bottom:0;display:flex}#sitePanel .hist>i{background:var(--accent);border:2px solid var(--edge);box-sizing:border-box;border-bottom:0;flex:1;min-height:2px}#sitePanel .hist>i.now{background:var(--gold)}#sitePanel .hist-x{font-family:var(--font-tiny);color:var(--ink-2);justify-content:space-between;margin-top:3px;font-size:8px;display:flex}#stBody{flex-direction:column;gap:16px;display:flex}#sitePanel table.rt{border-collapse:collapse;width:100%;font-size:12px}#sitePanel .rt th,#sitePanel .rt td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:4px 6px}#sitePanel .rt th{color:var(--ink-2);font-weight:400}#sitePanel .rt-bar{border:1px solid var(--edge);background:var(--panel-2);vertical-align:middle;width:64px;height:8px;margin-right:6px;display:inline-block}#sitePanel .rt-bar i{background:var(--accent);height:100%;display:block}#sitePanel .st-cols{gap:14px 18px}#sitePanel .st-cols .st-block{min-height:96px}#sitePanel .st-list{scrollbar-width:thin;border:2px solid var(--line);background:var(--panel);flex-direction:column;gap:3px;height:300px;padding:4px;display:flex;overflow:auto}@media (max-width:700px){#sitePanel .st-list{height:220px}}#sitePanel .st-row{transition:border-color var(--t-ui),background var(--t-ui),opacity var(--t-ui)}#sitePanel .st-row.in{animation:feedIn var(--t-slow) ease-out}#sitePanel .st-row.hit{animation:.7s ease-out rowHit}#sitePanel .st-row.out{animation:rowOut var(--t-slow) ease-in forwards;pointer-events:none}@keyframes rowHit{0%,45%{border-color:var(--gold);background:var(--hl)}}@keyframes rowOut{to{opacity:0;transform:translate(10px)}}#sitePanel .st-row{background:var(--panel-2);cursor:pointer;text-align:left;color:inherit;border:2px solid #0000;grid-template-columns:52px 1fr auto;align-items:center;gap:4px 10px;padding:5px 8px;font-family:inherit;font-size:12px;display:grid}#sitePanel .st-row:hover{border-color:var(--edge)}#sitePanel .st-row .av{background:var(--panel);border:2px solid var(--edge);box-sizing:border-box;width:48px;height:48px;position:relative}#sitePanel .st-row .av img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;display:block}#sitePanel .st-row .code{font-family:var(--font-tiny);color:#fff8ea;background:#8a2d4a;padding:2px 3px;font-size:7px;line-height:1;position:absolute;top:-2px;left:-2px}#sitePanel .st-row .tags{margin:0}#sitePanel .st-row .t{color:var(--ink-2);white-space:nowrap;font-size:11px}#sitePanel .keys{grid-template-columns:auto 1fr;align-items:center;gap:8px 12px;margin:0;display:grid}#sitePanel .keys dd,#sitePanel .keys dt{margin:0}#sitePanel>div.wide{width:min(860px,100%)}#sitePanel select{font:inherit;border:2px solid var(--edge);background:var(--panel-2);color:var(--ink);max-width:100%;padding:5px 6px}#sitePanel .bt{grid-template-columns:44px auto auto minmax(80px,1fr) auto;align-items:center;gap:6px 8px;font-size:12px;display:grid}#sitePanel .bt.adv{grid-template-columns:44px auto auto minmax(80px,1fr) minmax(120px,2fr) auto}#sitePanel .bt:not(.adv) .pat{display:none}#sitePanel .bt .pat.bad{border-color:var(--danger);background:var(--warn-bg)}#gate{z-index:20;background:var(--stage);animation:fadeIn var(--t-ui);background-image:linear-gradient(45deg,#0000000d 25%,#0000 25% 75%,#0000000d 75%),linear-gradient(45deg,#0000000d 25%,#0000 25% 75%,#0000000d 75%);background-position:0 0,8px 8px;background-size:16px 16px;place-items:center;padding:16px;display:grid;position:fixed;inset:0}#gate[hidden]{display:none}#gate.out{animation:fadeOut var(--t-ui) forwards}.gate-box{background:var(--panel);border:2px solid var(--edge);width:min(420px,100%);box-shadow:4px 4px 0 var(--edge);animation:popIn var(--t-ui) ease-out;--sx:4px;--sy:4px;flex-direction:column;gap:14px;padding:26px 24px;font-size:13px;display:flex}.gate-logo{margin:0;line-height:0}.gate-logo .lg-ink{fill:var(--ink)}.gate-logo svg{width:254px;max-width:100%;height:auto;display:block}.gate-tag{color:var(--ink-2);margin:0;line-height:1.6}.gate-foot{color:var(--ink-2);margin:0;font-size:11px}.gate-legal a{color:var(--ink-2)}#gate .err{color:var(--danger-ink);margin:0}#gate .err[hidden],#gate #gateRow[hidden]{display:none}#gate input{font:inherit;border:2px solid var(--edge);background:var(--panel-2);min-width:0;color:var(--ink);flex:1;padding:7px 10px}#gate .row{flex-wrap:wrap;gap:8px;display:flex}.linkish{color:var(--ink-2);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}#sitePanel .muted.err{color:var(--danger-ink)}#sitePanel .em-badge{margin:0}#sitePanel .em-badge img{image-rendering:pixelated;display:block}#sitePanel .wh-opts{flex-direction:column;gap:6px;display:flex}#sitePanel .wh-opts .toggle{flex-wrap:wrap}#sitePanel .wh-opts input[type=number]{font:inherit;border:2px solid var(--edge);background:var(--panel-2);color:var(--ink);padding:3px 6px}#sitePanel .ig[hidden]{display:none}#sitePanel .ig{flex-direction:column;gap:8px;display:flex}#sitePanel .ig ol{margin:0;padding-left:20px;line-height:1.6}#sitePanel pre.prompt{background:var(--panel-2);color:var(--ink);border:2px solid var(--line)}#sitePanel .ig .row{align-items:center}#sitePanel .tabs{flex-wrap:wrap;gap:0;display:flex}#sitePanel .tabs .tab{box-shadow:none;border-right-width:0;justify-content:center;min-width:80px;min-height:32px;padding:3px 10px;font-size:12px}#sitePanel .tabs .tab:last-child{border-right-width:2px}#sitePanel .tabs .tab[aria-pressed=true]{background:var(--gold);transform:none}#bsTabB[hidden],#bsTabP[hidden],#bsTryAdd[hidden],#etGuide[hidden]{display:none}#etGuide{border-top:2px dashed var(--line);flex-direction:column;gap:8px;padding-top:8px;display:flex}#sitePanel #bsTry{flex:1;min-width:160px}#dxBody{flex-direction:column;gap:14px;display:flex}#sitePanel .dx-grid{grid-template-columns:auto repeat(var(--n),minmax(0,48px));justify-content:start;align-items:center;gap:4px;display:grid}#sitePanel .dx-grid img{aspect-ratio:1;object-fit:contain;width:100%;image-rendering:pixelated;background:var(--panel-2);box-sizing:border-box;padding:5px;display:block}#sitePanel .dx-h{color:var(--ink-2);white-space:nowrap;flex-direction:column;align-items:center;gap:3px;font-size:10px;display:flex}#sitePanel .dx-h i{border:2px solid var(--edge);width:12px;height:12px}#sitePanel .dx-r{white-space:nowrap;padding-right:6px;font-size:12px}#sitePanel .dx-marks{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px;display:grid}#sitePanel .dx-mark{border:2px solid var(--line);background:var(--panel-2);align-items:center;gap:8px;padding:2px 8px 2px 2px;font-size:12px;display:flex}#sitePanel .dx-mark img{width:68px;height:68px;image-rendering:pixelated;flex:none}#sitePanel .dx-mark span{color:var(--ink-2);font-size:11px;display:block}#sitePanel .dx-mark.off{opacity:.55}#sitePanel .dx-builds{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:6px;display:grid}#sitePanel .dx-b{border:2px solid var(--line);background:var(--panel-2);align-items:center;gap:10px;padding:6px;font-size:12px;display:flex}#sitePanel .dx-b.off{color:var(--ink-2)}#sitePanel .dx-b.off img{opacity:.55}#sitePanel .dx-bimg{flex:none;place-items:end center;width:92px;height:76px;display:grid}#sitePanel .dx-bimg img{image-rendering:pixelated;max-width:100%;max-height:100%}#sitePanel .dx-b ul{flex-direction:column;gap:4px;margin:4px 0 0;padding:0;list-style:none;display:flex}#sitePanel .dx-b code{font-size:11px}#sitePanel .dx-b .t{color:var(--ink-2);font-size:11px;display:block}#sitePanel .dx-flags{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:4px;display:grid}#sitePanel .dx-f{background:var(--panel-2);align-items:center;gap:6px;min-width:0;padding:4px 6px;font-size:11px;display:flex}#sitePanel .dx-f img{width:24px;height:24px;image-rendering:pixelated;box-shadow:0 0 0 2px var(--edge);flex:none}#sitePanel .dx-f span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}#sitePanel .dx-f b{font-family:var(--font-tiny);font-size:9px}#sitePanel .dx-f.off{opacity:.35}#sitePanel .dx-f.off img{filter:grayscale()}#sitePanel .dx-themes{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px;display:grid}#sitePanel .dx-t{border:2px solid var(--line);background:var(--panel-2);cursor:pointer;transition:border-color var(--t-ui);flex-direction:column;gap:6px;padding:6px;font-size:12px;display:flex}#sitePanel .dx-t:hover,#sitePanel .dx-t:focus-visible{border-color:var(--ink);outline:none}#sitePanel .dx-cover{background:var(--panel);place-items:end center;height:140px;padding:4px 0;display:grid}#sitePanel button.dx-cover{width:100%;font:inherit;color:inherit;cursor:pointer;border:0}#sitePanel button.dx-cover:focus-visible{outline:3px solid var(--sky);outline-offset:-3px}#sitePanel .dx-cover img{image-rendering:pixelated;max-width:100%;max-height:100%}#sitePanel .dx-t.off .dx-cover img,#sitePanel .dx-head.off .dx-cover img{filter:grayscale()brightness(.8);opacity:.6}#sitePanel .dx-t.hit{animation:rowHit var(--t-slow) ease-out 2}#sitePanel .dx-row{align-items:center;gap:8px;display:flex}#sitePanel .dx-row>div{flex:1;min-width:0}#sitePanel .dx-t .t,#sitePanel .dx-head .t{color:var(--ink-2);word-break:keep-all;font-size:10px;line-height:1.35;display:block}#sitePanel .dx-t .when,#sitePanel .dx-head .when{color:var(--ink)}#sitePanel .dx-bar{background:var(--panel);height:5px;box-shadow:0 0 0 2px var(--line);margin:3px 0 2px;display:block}#sitePanel .dx-bar i{background:var(--gold);height:100%;display:block}#sitePanel .dx-gift b{color:var(--ink)}#sitePanel .dx-t .btn,#sitePanel .dx-head .btn{flex:none;justify-content:center;min-width:64px;padding-inline:8px}#sitePanel .btn.cur{background:var(--gold);opacity:1}#sitePanel .dx-head{border:2px solid var(--line);background:var(--panel-2);align-items:center;gap:10px;padding:6px;display:flex}#sitePanel .dx-head>div{flex:1;min-width:0}#sitePanel .dx-head .dx-cover{flex:none;width:140px;height:100px}#sitePanel .dx-head .btn.back{min-width:0}#replayBar .pxs{flex:none}#sitePanel .bt .k{color:var(--ink-2);white-space:nowrap;font-size:11px}#sitePanel .bt input{box-sizing:border-box;width:100%;padding:5px 8px}#sitePanel .bt select{padding:4px;font-size:11px}#sitePanel .bt .pv{object-fit:contain;width:40px;height:40px;image-rendering:pixelated;background:var(--stage);border:2px solid var(--line)}#sitePanel .bt .del{min-height:28px;box-shadow:none;padding:0 8px}#sitePanel #bsWarn[hidden]{display:none}@media (max-width:700px){#sitePanel .bt,#sitePanel .bt.adv{grid-template-columns:44px 1fr 1fr auto}#sitePanel .bt input{grid-column:span 2}}#sitePanel .et{border:2px solid var(--line);background:var(--panel-2);flex-direction:column;flex:none;gap:6px;min-height:120px;max-height:min(52vh,420px);padding:6px;display:flex;overflow:auto}#sitePanel .et-row{grid-template-columns:36px minmax(96px,1fr) minmax(90px,1.2fr) minmax(90px,1.1fr) 128px 96px auto 68px;align-items:center;gap:6px 8px;font-size:12px;display:grid}#sitePanel .et-row input[data-f=auto]{font-family:var(--font-tiny),monospace;font-size:11px}#sitePanel .et .pv{object-fit:contain;width:32px;height:32px;image-rendering:pixelated;background:var(--stage);border:2px solid var(--line);box-sizing:border-box;padding:4px}#sitePanel .et-name{flex-direction:column;min-width:0;display:flex}#sitePanel .et-name code{word-break:break-all;font-size:11px}#sitePanel .et-name .muted{font-size:11px}#sitePanel .et input:not([type]){box-sizing:border-box;width:100%;padding:5px 8px}#sitePanel .et select{padding:4px;font-size:11px}#sitePanel .et-flags{gap:4px;display:flex}#sitePanel .et-flags .toggle{white-space:nowrap;min-height:28px;padding:2px 6px;font-size:11px}#sitePanel .et-act{gap:4px;display:flex}#sitePanel .et-act .btn{min-height:28px;box-shadow:none;padding:0 8px}@media (max-width:700px){#sitePanel .et{max-height:none}#sitePanel .et-row{border-bottom:2px dashed var(--line);grid-template-columns:36px 1fr 1fr;padding-bottom:6px}#sitePanel .et-row>input+.pxs{grid-column:1/span 2}#sitePanel .et-flags{flex-wrap:wrap;grid-column:1/span 2;min-width:0}#sitePanel .et-act{justify-content:flex-end}}#sitePanel .paths{border:2px solid var(--line);background:var(--panel-2);flex-direction:column;gap:4px;max-height:280px;padding:6px;display:flex;overflow:auto}#sitePanel .paths label{grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;font-size:12px;display:grid}#sitePanel .paths label.off{color:var(--ink-2)}#sitePanel .paths label.off input{opacity:.55}#sitePanel .paths code{word-break:break-all;font-size:11px}#sitePanel .paths .n{color:var(--ink-2);white-space:nowrap;font-size:11px}#btnPages[hidden],#btnEvents[hidden],#btnFull[hidden],#btnEmbed[hidden],#btnInstall[hidden]{display:none}:fullscreen{background:var(--bg)}#connPanel{background:var(--panel);border:2px solid var(--edge);width:min(360px,100% - 16px);box-shadow:3px 3px 0 var(--edge);z-index:4;flex-direction:column;gap:8px;padding:12px;font-size:12px;display:flex;position:absolute;top:8px;left:8px}#connPanel .cp-title{font-family:var(--font-tiny);color:var(--ink-2);font-size:10px}#connPanel label{gap:3px;display:grid}#connPanel input{font:inherit;border:2px solid var(--edge);background:var(--panel-2);color:var(--ink);padding:5px 8px}#connPanel .cp-row{flex-wrap:wrap;gap:6px;display:flex}#connPanel .btn{min-height:30px;padding:3px 10px;font-size:12px}#connPanel code{font-size:11px}#warnBar{background:var(--accent-2);border:2px solid var(--edge);width:fit-content;max-width:calc(100% - 16px);box-shadow:3px 3px 0 var(--edge);z-index:4;flex-wrap:wrap;align-items:center;gap:8px;margin:auto;padding:8px 10px;font-size:12px;display:flex;position:absolute;top:8px;left:0;right:0}#warnBar[hidden],#app.rec #warnBar{display:none}#warnBar .btn{min-height:30px;padding:3px 10px;font-size:12px}#ctl input[type=number]{font-family:var(--font-tiny);border:2px solid var(--edge);background:var(--panel-2);width:6ch;color:var(--ink);padding:4px 6px;font-size:11px}#ntfBox[hidden]{display:none}.site .dot.live{background:var(--accent)}.site .dot.connecting{background:var(--gold);animation:.8s steps(2,end) infinite blink}.site .dot.down{background:var(--danger);animation:none}.site .dot.demo{background:var(--ink-2);animation:none}#app.live .sim-only,#app:not(.live) .live-only{display:none}#replayBar select{font:inherit;border:2px solid var(--edge);background:var(--panel-2);color:var(--ink);padding:3px 4px;font-size:12px}#app.live #demoBadge{display:none}#app.rec{grid-template-rows:1fr;gap:0;padding:0}#app.rec #top,#app.rec #side,#app.rec #ctl{display:none}#app.rec #main{grid-template-rows:1fr;grid-template-columns:1fr}#app.rec #stage{background:#0f1222;border:0}#tvBar{z-index:3;background:var(--panel);border:2px solid var(--edge);min-width:280px;box-shadow:4px 4px 0 var(--edge);color:var(--ink);flex-direction:column;gap:6px;padding:12px 18px;display:none;position:absolute;top:12px;left:12px}#app.tv #tvBar{display:flex}#tvBar .tv-name{font-size:30px;line-height:1.1}#tvBar .tv-sub{color:var(--ink-2);font-size:14px}#tvBar .tv-n{margin-top:4px;font-size:20px}#tvBar .tv-n b{font-size:36px;line-height:1}#tvBar .tv-prog{background:var(--panel-2);border:1px solid var(--edge);height:6px}#tvBar .tv-prog i{background:var(--gold);transform-origin:0;height:100%;display:block;transform:scaleX(0)}#tvBar .tv-next{color:var(--ink-2);font-size:12px}#recExit{opacity:.25;z-index:3;min-height:30px;padding:3px 10px;font-size:12px;transition:opacity .2s;position:absolute;top:8px;right:8px}#recExit:hover,#recExit:focus-visible{opacity:1}#recExit[hidden]{display:none}#empty{pointer-events:none;text-align:center;place-items:center;display:grid;position:absolute;inset:0}#empty>div{background:var(--panel);border:2px solid var(--edge);box-shadow:3px 3px 0 var(--edge);font-size:calc(var(--s) * 7px);padding:12px 18px}#empty small{color:var(--ink-2);margin-top:6px;font-size:.7em;display:block}#side{grid-template-rows:minmax(0,1fr) auto;gap:8px;min-height:0;display:grid}.panel{flex-direction:column;min-height:0;padding:10px;display:flex}.panel h2{font-family:var(--font-tiny);letter-spacing:.5px;color:var(--ink-2);align-items:center;gap:8px;margin:0 0 8px;font-size:10px;display:flex}.panel h2 .dup{font-family:var(--font-pixel);color:var(--danger-ink);margin-left:auto;font-size:11px}#feed{scrollbar-width:thin;flex-direction:column;gap:3px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}#feed li{cursor:pointer;background:var(--panel-2);border:2px solid #0000;grid-template-columns:18px auto 1fr;align-items:start;gap:6px;padding:4px 6px;font-size:12px;display:grid}#feed li:hover{border-color:var(--edge)}#feed li.hi{border-color:var(--gold);background:var(--hl)}#feed li img{width:16px;height:16px;image-rendering:pixelated;margin-top:1px}#feed li .t{font-family:var(--font-tiny);color:var(--ink-2);font-variant-numeric:tabular-nums;margin-top:4px;font-size:8px}#feed li b{color:var(--rose)}#feed li.sys{color:var(--ink-2)}#feed li.sys img{opacity:.75}#feed li.note{color:var(--ink);border-color:var(--gold)}#feed li.warn{color:var(--ink);border-color:var(--danger);background:var(--warn-bg)}.conn-text{color:var(--ink-2);white-space:nowrap;font-size:11px}.conn-text.down{color:var(--danger-ink)}.conn-text.connecting{color:var(--warn-ink)}.conn-text[hidden]{display:none}#info{min-height:150px}#info .kv{grid-template-columns:auto 1fr;gap:4px 10px;font-size:12px;display:grid}#info .kv dt{color:var(--ink-2);margin:0}#info .kv dd{word-break:break-all;margin:0}#info .avatar{align-items:center;gap:10px;margin-bottom:8px;display:flex}#info .avatar img{width:48px;height:48px;image-rendering:pixelated;background:var(--panel-2);border:2px solid var(--edge)}#info .avatar .code{font-family:var(--font-tiny);font-size:12px}#info .avatar .btn{flex:none;min-height:30px;margin-left:auto;padding:3px 8px;font-size:11px}#info .recent{color:var(--ink-2);margin:6px 0 0;padding:0;font-size:11px;list-style:none}#info .recent li{padding:1px 0}#info .hint{color:var(--ink-2);font-size:12px}.pill{border:2px solid var(--edge);background:var(--accent);padding:1px 6px;font-size:11px;display:inline-block}.pill.walk{background:var(--sky)}.pill.leave{background:var(--accent-2)}.pill.hot{background:var(--gold)}#ctl{flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}#ctl .grow{flex:1}.menu{display:inline-flex;position:relative}.menu-arr{border-left:4px solid #0000;border-right:4px solid #0000;border-top:5px solid var(--ink);width:0;height:0;transition:transform var(--t-ui);margin-left:6px}.menu-btn[aria-expanded=true] .menu-arr{transform:rotate(180deg)}.menu-list{z-index:50;background:var(--panel);border:2px solid var(--edge);min-width:170px;max-height:calc(100vh - 80px);box-shadow:3px 3px 0 var(--edge);transform-origin:0 100%;animation:pxsInUp var(--t-ui) ease-out;font-family:var(--font-pixel);color:var(--ink);flex-direction:column;gap:2px;padding:6px;font-size:13px;display:flex;position:fixed;overflow:auto}.menu-list.right{transform-origin:100% 100%}.menu-list[hidden]{display:none}.menu-list.out{pointer-events:none;animation:90ms ease-in forwards pxsOut}.menu-list .btn{box-shadow:none;--sy:0px;white-space:nowrap;background:0 0;border-color:#0000;justify-content:flex-start;min-height:32px;padding:4px 8px;transform:none}.menu-list .btn:hover{background:var(--gold);border-color:var(--edge);box-shadow:none;transform:none}.menu-list .btn[aria-pressed=true]{background:var(--gold);border-color:var(--edge)}.menu-list .toggle{white-space:nowrap;min-height:32px;padding:5px 8px}.menu-list .toggle:hover{background:var(--panel-2)}.menu-list .slider{white-space:nowrap;padding:4px 8px}.menu-list .menu-row{align-items:center;gap:8px;padding:4px 8px;font-size:12px;display:flex}.menu-list .group .btn{border-color:var(--edge);background:var(--panel-2);justify-content:center;min-width:40px;padding:3px 8px}.menu-list .group .btn[aria-pressed=true]{background:var(--gold)}.menu-sep{background:var(--line);height:2px;margin:4px 0}.rare-x{color:#b8860b}#sitePanel input.err{border-color:var(--danger)}#sitePanel .bars.fn .fn-sub{grid-column:1/-1;margin:-2px 0 4px;font-size:10px}#sitePanel .fn-steps{flex-wrap:wrap;gap:6px}#sitePanel .fn-steps .pxs{min-width:110px}.sep{background:var(--line);width:2px;height:28px}.slider{align-items:center;gap:8px;font-size:12px;display:flex}.slider output{font-family:var(--font-tiny);text-align:right;min-width:3ch;font-size:11px}input[type=range]{accent-color:var(--rose);width:140px}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:900px){#main{grid-template-rows:minmax(0,1fr) 240px;grid-template-columns:1fr}#side{grid-template-rows:1fr;grid-template-columns:1fr 1fr}.stats{margin-left:0}}@media (max-width:520px){#side{grid-template-columns:1fr}#info{display:none}}@media (max-width:700px){#app{gap:6px;padding-block:6px}#top{scrollbar-width:none;flex-wrap:nowrap;gap:8px;padding:6px 10px;overflow-x:auto}#top>*{flex:none}.logo{font-size:10px}.site{font-size:11px}.stats{gap:6px}.stat{padding:3px 8px;font-size:11px}.stat img{width:14px;height:14px}.stat b{font-size:9px}#main{grid-template-rows:minmax(0,1fr) 170px}#ctl{gap:6px;padding:6px 10px}.slider input[type=range]{width:90px}.menu-list{max-width:calc(100vw - 32px)}#replayBar{flex-wrap:wrap;gap:6px}#replayBar .rp-seek{flex-basis:100%;order:9}#rpRate{display:none}.pxs:has(#rpLen){display:none}}#feed li{animation:feedIn var(--t-slow) ease-out;transition:border-color var(--t-fast),background var(--t-ui)}.stat b.bump{animation:bump var(--t-slow) ease-out;display:inline-block}#connPanel,#warnBar{animation:popIn var(--t-ui) ease-out}#connPanel.out,#warnBar.out{animation:popOut var(--t-ui) forwards}#replayBar{animation:.2s ease-out riseIn}#replayBar.out{animation:.18s ease-in forwards sinkOut}#bsTabB,#bsTabP,#bsWarn,#etGuide,#empty>div,#infoBody>*{animation:fadeIn var(--t-ui)}#etGuide.out{animation:fadeOut var(--t-ui) forwards}#town:after{content:"";opacity:0;pointer-events:none;z-index:2;background:#fff;position:absolute;inset:0}#town.flash:after{animation:flash var(--t-slow) ease-out}#sitePanel .bt .del:hover{background:var(--accent-2)}#sitePanel .tabs .tab,#sitePanel .bt .del,#sitePanel .et-act .btn,#sitePanel .tabs .tab:hover,#sitePanel .bt .del:hover{--sy:0px}
