@font-face{font-family:Retro Display;src:local("Be Vietnam Pro"),local("BeVietnamPro")}@font-face{font-family:Retro Interface;src:local("Be Vietnam Pro"),local("BeVietnamPro")}@font-face{font-family:Retro Mono;src:local("Noto Sans Mono"),local("NotoSansMono")}:root{color-scheme:light;--dp-color-window: #d4d4d4;--dp-color-ink: #000000;--dp-color-bevel-dark: #808080;--dp-color-bevel-light: #ffffff;--dp-color-accent: #6600ff;--dp-color-highlight: #ffff00;--dp-color-link-hover: #0000ff;--dp-color-desktop: #008080;--dp-color-emphasis: #ff00b8;--dp-color-titlebar: #000080;--dp-typography-interface: "Retro Interface", "Be Vietnam Pro", sans-serif;--dp-typography-display: "Retro Display", "Be Vietnam Pro", sans-serif;--dp-typography-mono: "Retro Mono", "Noto Sans Mono", monospace;--dp-typography-body: 16px;--dp-typography-supporting: 15px;--dp-typography-label: 12px;--dp-typography-body-leading: 1.4;--dp-spacing-pane-inset: 5px;--dp-spacing-item-gap: 10px;--dp-radius-control: 0;--dp-border-frame: 2px;--dp-border-rule: 1px;--dp-motion-ticker-cycle: 1s;font-family:var(--dp-typography-interface);font-size:var(--dp-typography-body);line-height:var(--dp-typography-body-leading);color:var(--dp-color-ink)}*{box-sizing:border-box}html,body,#app{position:relative;margin:0;width:100%;height:100%;overflow:hidden;background:var(--dp-color-desktop);color:var(--dp-color-ink)}canvas{display:block;width:100%;height:100%}.webgl{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none}.lobby,.splash{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background-color:var(--dp-color-desktop);background-image:linear-gradient(to right,rgba(128,128,128,.35) 1px,transparent 1px),linear-gradient(to bottom,rgba(128,128,128,.35) 1px,transparent 1px);background-size:8px 8px;z-index:4;pointer-events:auto}.splash{z-index:5}.window{background:var(--dp-color-window);border:var(--dp-border-frame) solid var(--dp-color-bevel-light);border-right-color:var(--dp-color-bevel-dark);border-bottom-color:var(--dp-color-bevel-dark);box-shadow:3px 3px 0 var(--dp-color-ink);padding:var(--dp-spacing-pane-inset)}.window-title{margin:0;padding:4px 8px;background:var(--dp-color-titlebar);color:var(--dp-color-bevel-light);font-family:var(--dp-typography-interface);font-size:var(--dp-typography-label);font-weight:600;letter-spacing:.04em}.window-body{margin-top:var(--dp-spacing-pane-inset);padding:12px;background:var(--dp-color-bevel-light);border:var(--dp-border-frame) solid var(--dp-color-bevel-dark);border-right-color:var(--dp-color-bevel-light);border-bottom-color:var(--dp-color-bevel-light)}.lobby-card,.splash-card,.hud-top,.chat{width:min(560px,92vw)}.splash-card{width:min(360px,88vw);text-align:left}.splash-card .window-title,.lobby-card .window-title{font-family:var(--dp-typography-display);font-size:clamp(22px,5vw,40px);font-weight:800;letter-spacing:-.05em;text-transform:uppercase;line-height:.95;padding:16px 14px}.splash-card p,.lobby-card p,.hud-top p,.prompt{margin:0 0 10px;color:var(--dp-color-ink);font-size:var(--dp-typography-supporting)}.lobby-card p{margin:0 0 16px}.lobby-card label,.picker-label{display:block;margin:10px 0 6px;font-size:var(--dp-typography-label);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.char-picker .picker-label{margin:8px 0 4px}.lobby-error{color:#8b0000;margin:8px 0 0}#splash-count,#room-count{font-family:var(--dp-typography-mono);font-size:var(--dp-typography-label)}.splash-bar{height:16px;margin-bottom:10px;background:var(--dp-color-window);border:var(--dp-border-frame) solid var(--dp-color-bevel-dark);border-right-color:var(--dp-color-bevel-light);border-bottom-color:var(--dp-color-bevel-light);overflow:hidden;background-image:repeating-linear-gradient(to right,transparent 0 7px,var(--dp-color-bevel-dark) 7px 8px)}.splash-bar span{display:block;height:100%;width:0;background:var(--dp-color-highlight)}.lobby-card input,.chat-input input,.video-url input{width:100%;padding:10px 12px;border-radius:var(--dp-radius-control);border:var(--dp-border-rule) solid var(--dp-color-ink);box-shadow:inset 2px 2px 0 var(--dp-color-bevel-dark),inset -1px -1px 0 var(--dp-color-bevel-light);background:var(--dp-color-bevel-light);color:var(--dp-color-ink);font-family:var(--dp-typography-interface);font-size:var(--dp-typography-body)}.key,.lobby-card button,.hud button{margin-top:14px;padding:10px 14px;min-height:44px;border-radius:var(--dp-radius-control);border-top:var(--dp-border-frame) solid var(--dp-color-bevel-light);border-left:var(--dp-border-frame) solid var(--dp-color-bevel-light);border-right:var(--dp-border-frame) solid var(--dp-color-bevel-dark);border-bottom:var(--dp-border-frame) solid var(--dp-color-bevel-dark);background:var(--dp-color-highlight);color:var(--dp-color-ink);cursor:pointer;font-family:var(--dp-typography-interface);font-weight:600;font-size:var(--dp-typography-supporting);box-shadow:1px 1px 0 var(--dp-color-ink)}.lobby-card button:active,.hud button:active,.char-btn:active{transform:translate(1px,1px);border-top-color:var(--dp-color-bevel-dark);border-left-color:var(--dp-color-bevel-dark);border-right-color:var(--dp-color-bevel-light);border-bottom-color:var(--dp-color-bevel-light);box-shadow:none}button:focus-visible,input:focus-visible,.credit:focus-visible{outline:2px solid var(--dp-color-link-hover);outline-offset:2px}.credit{display:inline-block;margin-top:var(--dp-spacing-item-gap);font-family:var(--dp-typography-mono);font-size:var(--dp-typography-label);color:var(--dp-color-ink);text-decoration:underline}.credit:hover{color:var(--dp-color-link-hover)}#join-btn{display:block;width:100%}.char-grid{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.lobby-card .char-btn,.hud .char-btn,.char-btn{margin-top:0;padding:6px 10px;min-height:44px;background:var(--dp-color-window);font-weight:500;font-size:var(--dp-typography-label)}.char-btn.selected{background:var(--dp-color-accent);color:var(--dp-color-bevel-light);border-top-color:var(--dp-color-bevel-dark);border-left-color:var(--dp-color-bevel-dark);border-right-color:var(--dp-color-bevel-light);border-bottom-color:var(--dp-color-bevel-light);box-shadow:none}.hud-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.hud-actions button{margin-top:0}.hud{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;flex-direction:column;justify-content:space-between;padding:16px;pointer-events:none}.hud-top,.chat{max-width:360px;pointer-events:auto}.hud-top h2{margin:0;font-size:var(--dp-typography-label)}.chat{width:min(360px,92vw)}.chat-log{height:160px;overflow:auto;margin-bottom:8px;font-size:var(--dp-typography-supporting);background:var(--dp-color-bevel-light);border:var(--dp-border-frame) solid var(--dp-color-bevel-dark);border-right-color:var(--dp-color-bevel-light);border-bottom-color:var(--dp-color-bevel-light);padding:8px}.chat-line{margin:0 0 6px}.chat-line span{color:var(--dp-color-titlebar);font-weight:600}.emoji-row{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 8px}.hud .emoji-btn{margin-top:0;min-height:32px;min-width:32px;padding:4px 6px;font-size:16px;line-height:1}.chat-input,.video-url{display:flex;gap:8px}.video-url{margin:8px 0}.yt-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;overflow:hidden;display:none}.yt-layer.on{display:block}.yt-host{position:absolute;left:0;top:0;overflow:hidden;background:#000}.yt-host iframe,.yt-host>div{width:100%;height:100%;border:0;pointer-events:none}.css2d{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none}.overhead{display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none}.overhead-name{padding:2px 8px;border-radius:var(--dp-radius-control);background:var(--dp-color-window);border:var(--dp-border-rule) solid var(--dp-color-bevel-light);border-right-color:var(--dp-color-bevel-dark);border-bottom-color:var(--dp-color-bevel-dark);font-family:var(--dp-typography-interface);font-size:var(--dp-typography-label);line-height:1.3;white-space:nowrap;color:var(--dp-color-ink)}.overhead-bubble{max-width:220px;padding:6px 10px;border-radius:var(--dp-radius-control);background:var(--dp-color-bevel-light);color:var(--dp-color-ink);border:var(--dp-border-frame) solid var(--dp-color-bevel-dark);border-right-color:var(--dp-color-bevel-light);border-bottom-color:var(--dp-color-bevel-light);font-family:var(--dp-typography-interface);font-size:var(--dp-typography-label);line-height:1.35;word-wrap:break-word}.hud .ghost{margin-top:0;background:var(--dp-color-window)}.chat-input button,.video-url button{margin-top:0}.hidden{display:none!important}@media (max-width: 760px){.window{box-shadow:2px 2px 0 var(--dp-color-ink)}.hud{padding:10px}}@media (max-width: 480px){.window{box-shadow:1px 1px 0 var(--dp-color-ink)}.hud-top,.chat{max-width:none;width:100%}.char-btn,.lobby-card button,.hud button{min-height:44px}}
