html,body{background:#000;width:100%;height:100dvh;margin:0;overflow:hidden}body{color:#7dffb0;font-family:ui-monospace,Menlo,Consolas,monospace}#screen{image-rendering:pixelated;cursor:crosshair;display:block;position:fixed;top:0;left:0}#hud{-webkit-user-select:none;user-select:none;background:#020a06cc;border:1px solid #1f5a3a;min-width:270px;padding:10px 12px;font-size:11px;line-height:1.45;position:fixed;top:10px;right:10px}#hud.hidden{display:none}#hud .title{color:#b8ffd6;letter-spacing:.12em;margin-bottom:6px}#hud .dim{color:#3f8a61;letter-spacing:0}#hud pre{font:inherit;white-space:pre;margin:0 0 8px}#hud label{justify-content:space-between;align-items:center;gap:10px;margin:3px 0;display:flex}#hud select{color:#7dffb0;font:inherit;background:#03140b;border:1px solid #1f5a3a}#hud .help{color:#4fa877;margin:8px 0 0}#hud .actions{gap:6px;margin:8px 0 4px;display:flex}#hud button{color:#b8ffd6;font:inherit;cursor:pointer;background:#03140b;border:1px solid #1f5a3a;flex:1;padding:5px 6px}#hud button:hover{background:#0a2a18}#hud button[hidden],#hud [hidden]{display:none}#hud label.check{cursor:pointer;justify-content:flex-start;gap:6px}#hud input[type=checkbox],#hud input[type=range]{accent-color:#3fbf7a;margin:0}#hud .sound{justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}#hud .sound input[type=range]{flex:1;max-width:150px}#hud .online{align-items:center;gap:6px;margin:4px 0 2px;display:flex}#hud .online[hidden]{display:none}#hud #online-name{color:#b8ffd6;flex:1}#hud .online button{white-space:nowrap;color:#4fa877;flex:0;padding:1px 6px}#hud .kinds{color:#4fa877;grid-template-columns:1fr 1fr;column-gap:8px;margin:2px 0 6px 18px;display:grid}#hud .kinds.muted{opacity:.45}#hud #goal{width:0;min-width:100%;margin:-4px 0 8px}#hud details{border-top:1px solid #12351f;margin:4px 0;padding-top:4px}#hud summary{color:#4fa877;cursor:pointer;list-style:none}#hud summary::-webkit-details-marker{display:none}#hud summary:before{content:"+ ";color:#3f8a61}#hud details[open]>summary{color:#b8ffd6}#hud details[open]>summary:before{content:"- "}#hud summary:hover{color:#b8ffd6}#hud details .kinds{margin-top:4px}#hud details .help{margin:4px 0 2px}body.touch #hud:not(.hidden)~#corner{display:none}body.touch #hud{left:max(10px, env(safe-area-inset-left));z-index:2;-webkit-overflow-scrolling:touch;max-height:calc(100% - 20px);right:auto;overflow-y:auto}#corner{top:max(10px, env(safe-area-inset-top));left:max(10px, env(safe-area-inset-left));z-index:2;pointer-events:none;flex-direction:column;align-items:flex-start;gap:10px;display:flex;position:fixed}#nerds{color:#e8ffe8;pointer-events:auto;background:#000000b8;border:1px solid #1f5a3a;padding:8px 10px 6px;font-size:11px;line-height:1.45}#nerds[hidden]{display:none}body.touch #nerds{font-size:9px}#nerds .head{color:#b8ffd6;letter-spacing:.08em;justify-content:space-between;gap:16px;margin-bottom:4px;display:flex}#nerds button{color:#7dffb0;font:inherit;cursor:pointer;background:0 0;border:none;padding:0 2px}#nerds button:hover{color:#fff}#nerds pre{font:inherit;white-space:pre;margin:0}#osd{color:#e8ffe8;text-align:left;text-shadow:0 0 4px #000,0 0 8px #000;pointer-events:none;margin:0 0 0 8px;font:13px/1.5 ui-monospace,Menlo,Consolas,monospace;display:none}#osd.on{display:block}#prompt{left:50%;bottom:max(12px, env(safe-area-inset-bottom));color:#7dbf98;white-space:nowrap;pointer-events:none;opacity:0;background:#020a06b3;border:1px solid #1f5a3a;padding:4px 10px;font-size:12px;transition:opacity .4s;position:fixed;transform:translate(-50%)}#prompt.on{opacity:1}#prompt b{color:#e8ffe8;font-weight:400}body.touch #prompt{top:calc(max(12px, env(safe-area-inset-top)) + 34px);font-size:11px;bottom:auto}body.photo #hud,body.photo #corner,body.photo #prompt,body.photo #touch .t-bar,body.photo #touch .t-well{display:none}body.photo #touch .t-zone{bottom:max(8px, env(safe-area-inset-bottom), var(--view-inset-bottom,0px))}#photobar{letter-spacing:.06em;white-space:nowrap;pointer-events:none;background:#020a06cc;border:1px solid #1f5a3a;padding:6px 12px;font-size:11px;display:none;position:fixed;bottom:12px;left:50%;transform:translate(-50%)}body.photo #photobar,#photobar.busy{display:block}#photobar.busy{color:#ffd278;border-color:#7a5a1f}#toast{color:#e8ffe8;pointer-events:none;opacity:0;background:#020a06d9;border:1px solid #1f5a3a;padding:6px 12px;font-size:12px;transition:opacity .3s;position:fixed;top:14px;left:50%;transform:translate(-50%)}#toast.on{opacity:1}#flash{opacity:0;pointer-events:none;background:#fff;position:fixed;inset:0}#flash.go{animation:.45s ease-out flash}@keyframes flash{0%{opacity:.8}to{opacity:0}}#touch{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:fixed;inset:0}#touch .t-zone{top:0;bottom:calc(var(--touch-bar,58px) + max(8px, env(safe-area-inset-bottom), var(--view-inset-bottom,0px)));position:absolute}#touch .t-move{width:42%;left:0}#touch .t-look{width:58%;right:0}#touch .t-well{left:max(16px, env(safe-area-inset-left));bottom:calc(var(--touch-bar,58px) + 118px + max(0px, env(safe-area-inset-bottom), var(--view-inset-bottom,0px)));pointer-events:none;border:2px dashed #7dffb066;border-radius:50%;width:120px;height:120px;position:absolute}#touch .t-well.on{background:#7dffb00f;border-color:#7dffb0d9}#touch .t-well.on.run{border-color:#ffd278d9}#touch .t-knob{background:#7dffb059;border:1px solid #7dffb0d9;border-radius:50%;width:40px;height:40px;position:absolute;top:40px;left:40px}#touch .t-bar,#touch .t-ctx{gap:8px;display:flex;position:absolute}#touch .t-bar{left:max(8px, env(safe-area-inset-left));right:max(8px, env(safe-area-inset-right), var(--view-inset-right,0px));bottom:max(8px, env(safe-area-inset-bottom), var(--view-inset-bottom,0px));flex-direction:row;justify-content:stretch}#touch .t-ctx{right:max(8px, env(safe-area-inset-right), var(--view-inset-right,0px));bottom:calc(var(--touch-bar,58px) + max(8px, env(safe-area-inset-bottom), var(--view-inset-bottom,0px)));flex-flow:row-reverse wrap;justify-content:flex-start;max-width:58%}#touch .t-btn{color:#7dffb0;letter-spacing:.06em;touch-action:none;background:#020a06c7;border:1px solid #1f5a3a;flex:1 1 0;min-width:56px;min-height:44px;padding:10px 8px;font:13px ui-monospace,Menlo,Consolas,monospace}#touch .t-ctx .t-btn{flex:none}#touch .t-btn.down{color:#e8ffe8;background:#1f5a3ad9}#touch .t-btn.lit{color:#ffd278;border-color:#ffd278}
