@font-face{font-family:Chakra;src:url('/fonts/chakra-petch-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
body.browser-play{--bg:#121516;--line:#343d3d;--text:#edf0e7;--muted:#a8b09e;--green:#b6ef63;background:var(--bg);color:var(--text);font:15px/1.6 system-ui,sans-serif;min-height:100dvh;height:auto}
.browser-play a{color:var(--text);text-underline-offset:4px}
.browser-play button,.browser-play select,.browser-play input{background:#22292a;border:1px solid #526044;color:var(--text);border-radius:3px;min-height:44px}
.browser-play button:focus-visible,.browser-play a:focus-visible,.browser-play summary:focus-visible,.browser-play label:focus-visible{outline:2px solid var(--green);outline-offset:4px}
.browser-play .browser-header{padding:20px max(24px,calc((100vw - 1180px)/2));background:var(--bg);border-bottom:1px solid var(--line);gap:24px;min-height:82px}
.browser-header .browser-brand{display:flex;align-items:center;gap:10px;font:600 26px Chakra,system-ui;text-decoration:none;margin:0}
.browser-header nav{display:flex;gap:24px;margin-left:auto;font-size:13px}
.browser-header nav a{margin:0;text-decoration:none}
.browser-header a:hover{color:var(--green)}
.browser-header .browser-install{margin-left:10px;padding:9px 14px;border:1px solid var(--line);border-radius:3px;font-size:13px;text-decoration:none;white-space:nowrap}
.browser-play #welcome{width:min(720px,calc(100% - 48px));max-width:none;margin:55px auto 26px;padding:30px;text-align:left;border:1px solid var(--line);border-radius:4px;background:#1b2021}
.browser-play .eyebrow{text-transform:uppercase;letter-spacing:.11em;font-size:10px;color:var(--green);margin:0 0 20px}
.browser-play #demo-title{font:600 clamp(28px,4vw,38px)/1.15 Chakra,system-ui;letter-spacing:-.025em;margin:0 0 20px}
.browser-play .demo-recovery-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0}
.browser-play #fallback-folder{padding:12px;font-size:13px}
.browser-play .demo-recovery-actions>a{font-size:13px}
.browser-play #demo{background:var(--green);color:#15200e;border-color:var(--green);padding:13px 23px;font:600 15px Chakra,system-ui;min-height:48px;margin-top:8px;max-width:100%}
.browser-play #demo:not(:disabled):hover{background:#ccff86}
.browser-play #demo-info{flex-basis:100%;order:3;color:var(--muted);font-size:11px;line-height:1.75;margin:8px 0}
.browser-play #browser-support{color:var(--muted);font-size:14px;line-height:1.75;margin-bottom:0}
.browser-play .demo-limit{color:var(--muted);font-size:11px;margin:0}
.browser-play #status{color:var(--green);font-size:12px;line-height:1.7;margin:8px 24px;overflow-wrap:anywhere}
.browser-play #controls{justify-content:flex-start;padding:12px 24px;border-bottom:1px solid var(--line);font-size:12px}
.browser-play #content-name{margin-right:auto}
.browser-play #controls button{font-size:12px;padding:8px 12px}
.browser-play #game-view{min-height:240px}
.browser-play.is-running{height:100dvh;overflow:hidden}
.browser-play.is-running #game-view{flex:1}
.browser-play.demo-starting{height:100dvh;overflow:hidden}
.browser-play.demo-starting #welcome{display:none}
.browser-play.demo-starting #game-view{display:flex!important;flex:1}
.browser-play #demo-loading-panel{display:none;position:absolute;inset:0;align-items:center;justify-content:center;flex-direction:column;padding:30px;text-align:center;background:var(--bg);z-index:1}
.browser-play.demo-starting #demo-loading-panel{display:flex}
.browser-play #demo-loading-panel h2{font:600 clamp(26px,4vw,46px)/1.2 Chakra,system-ui;margin:0 0 18px}
.browser-play #demo-loading-panel>p:last-child{color:var(--muted);font-size:13px;max-width:45ch}
.browser-play #game-folder-drop{display:none;position:absolute;inset:16px;border:2px dashed var(--green);background:#121516ee;align-items:center;justify-content:center;flex-direction:column;padding:24px;text-align:center;z-index:3}
.browser-play #game-folder-drop strong{font:600 26px Chakra,system-ui;margin-bottom:15px}
.browser-play #game-folder-drop span{color:var(--muted);font-size:13px;max-width:45ch}
.browser-play.folder-drag #game-folder-drop{display:flex}
.browser-play #advanced,.browser-play #saved{border-top:1px solid var(--line);padding:10px 0;margin:0 24px;font-size:12px}
.browser-play #advanced[open],.browser-play #saved[open]{max-height:32vh}
.browser-play small{color:var(--muted)}
.browser-play pre{background:#090d0c;color:var(--muted)}
.browser-play #storage-error{background:#33281c;border:1px solid #715637;color:#e7b66f;font-size:13px}
.browser-play .browser-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;padding:14px 24px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);margin-top:auto}
.browser-play .browser-footer a{color:var(--muted)}
.browser-play.unsupported-browser #advanced,.browser-play.unsupported-browser #saved,.browser-play.unsupported-browser #fallback-folder,.browser-play.unsupported-browser #demo,.browser-play.unsupported-browser #demo-info,.browser-play.unsupported-browser #status{display:none}
.browser-play #leave-fullscreen{background:#121516e6;color:var(--text);border-color:var(--green);z-index:2}
@media(max-width:900px){.browser-header nav{gap:15px}}
@media(max-width:760px){.browser-header nav{display:none}.browser-header .browser-install{margin-left:auto}.browser-play #welcome{width:calc(100% - 40px);margin-top:32px;padding:24px}}
@media(max-width:400px){.browser-play .browser-header{padding:15px 16px;gap:10px}.browser-header .browser-brand{font-size:22px;gap:7px}.browser-brand img{width:29px;height:29px}.browser-header .browser-install{font-size:11px;padding:8px 10px}.browser-play #welcome{padding:20px}.browser-play #controls{padding:10px 16px}}
