*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:#16191b;font-family:Arial,sans-serif;color:#fff;overflow:hidden}#workspace{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;padding:24px;height:100dvh}#stage{min-width:0;min-height:0;display:grid;place-items:center;container-type:size}#game{position:relative;width:min(100cqw,177.7778cqh);height:min(100cqh,56.25cqw);overflow:hidden}canvas{width:100%;height:100%;display:block;touch-action:none}#hud{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.npc-marker{position:absolute;width:2.1%;height:3.6%;transform:translate(-50%,-100%);pointer-events:none;filter:drop-shadow(0 1px 1px #0002)}.npc-marker.quest{width:1.6%;height:3.3%}kbd{font:700 12px Arial;background:#fffdf0;color:#242721;padding:3px 5px;display:inline-block;margin:0 5px 0 9px;border-radius:2px}button{font:inherit;cursor:pointer;color:inherit;background:#252525;border:1px solid #ffffff70;padding:7px 10px;margin-left:5px}button:hover,button:focus-visible{color:#ff0;border-color:#ff0}#prompt{position:absolute;bottom:15%;left:50%;transform:translate(-50%);padding:10px 22px;background:#222;border-left:5px solid #ffff00;font-size:14px;white-space:nowrap}#dialogue{position:absolute;bottom:15%;left:12%;right:12%;background:#222;border-top:6px solid #ffff00;padding:22px 30px 18px;box-shadow:8px 8px #0004}#speaker{font-size:18px;color:#ff0;font-weight:700}#line{font-family:Optima,Arial,sans-serif;font-size:clamp(15px,1.7vw,24px);line-height:1.5;margin:14px 0 20px}#continue{display:block;margin-left:auto}#controls{position:absolute;top:30%;left:25%;right:25%;padding:24px;background:#222;border-top:5px solid #ffff00;font-size:13px;box-shadow:8px 8px #0005}#controls>b{font-size:22px;color:#ff0}#loading{position:absolute;inset:0;display:grid;place-items:center;background:#222;z-index:10;font-family:Optima,Georgia,serif;font-size:26px;letter-spacing:1px}[hidden]{display:none!important}@media(max-width:700px){#dialogue{left:8%;right:8%;padding:12px 18px}#controls{left:10%;right:10%;font-size:10px}button{font-size:11px;padding:4px}kbd{font-size:10px;margin:0 2px}}#graphics{min-height:0;overflow:auto;background:#222624;border:1px solid #383e39;border-radius:5px;padding:23px 20px;color:#e3e8df;font-size:12px;scrollbar-width:thin}.panel-title small{font-size:9px;color:#a5ada4;letter-spacing:1.6px}.panel-title h1{font-size:24px;font-weight:500;margin:7px 0 24px}.field{display:block;margin:0 0 20px;font-size:12px}.field output{float:right;color:#c5cbbb;font-variant-numeric:tabular-nums;font-size:11px}input[type=range]{display:block;width:100%;margin:13px 0 5px;accent-color:#e5df55;height:4px}.endpoints{display:flex;justify-content:space-between;font-size:9px;color:#9aa394}select{display:block;width:100%;margin-top:9px;padding:8px;color:#e1e5de;border:1px solid #4d554a;background:#181d18;font:inherit}.toggle{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.toggle input{accent-color:#e5df55}.panel-section{border-top:1px solid #3c423b;margin-top:20px;padding-top:15px}.panel-section h2{font-size:13px;font-weight:500;margin:0 0 15px}.hint{display:block;font-size:10px;line-height:1.6;color:#9ca597;margin-top:8px}.help{font-size:11px;line-height:2;color:#afb7a9}.help b{color:#e0e5dc;font-weight:500;margin-right:5px}#graphics button{font-size:10px;padding:7px;margin:0 5px 5px 0;background:#30372d;border-color:#4a5446}#graphics-reset{width:100%;margin-top:24px!important}input,select,button{outline-offset:4px}@media(max-width:900px){#workspace{grid-template-columns:minmax(0,1fr) 220px;gap:12px;padding:12px}#graphics{padding:16px 12px}}@media(max-width:600px){html,body{overflow:auto}#workspace{display:flex;flex-direction:column;height:auto;padding:8px}#stage{height:56.25vw;flex:none}#graphics{max-height:none;overflow:visible}}#graphics a{display:inline-block;color:#e8e45b;margin:8px 0}.capture #workspace{display:block;padding:0;height:100dvh}.capture #stage{width:100vw;height:100dvh}.capture #graphics{display:none}html.showcase-page{height:auto;min-height:100%;overflow:auto;background:#efefec}body.showcase{height:auto;min-height:100dvh;overflow:auto;background:#efefec;color:#282c23;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;padding:32px 20px}.showcase #showcase-header,.showcase #showcase-footer{width:min(640px,100%);margin:0 auto}.showcase #showcase-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.showcase-identity{display:flex;align-items:center;gap:12px}.showcase-avatar{width:38px;height:38px;display:grid;place-items:center;background:#f4e829;border-radius:11px;font-size:18px;font-weight:850;letter-spacing:-1px;transform:rotate(-4deg)}#showcase-header h1{font-size:16px;font-weight:650;margin:0 0 3px}#showcase-header p{font-size:12px;color:#767a70;margin:0}#showcase-header a{font-size:12px;color:#73796b;text-decoration:none;white-space:nowrap}#showcase-header a:hover{text-decoration:underline}.showcase #workspace{display:block;width:min(640px,100%);height:auto;padding:0;margin:20px auto 0}.showcase #stage{display:block;container-type:normal;height:auto}.showcase #game{width:100%;height:auto;aspect-ratio:4/3;background:#20251e;box-shadow:0 6px 24px #252a2210;color:#fff;border-radius:3px}.showcase #world:focus-visible{outline:2px solid #dfcf21;outline-offset:-2px}.showcase #showcase-footer{padding-top:14px}#showcase-footer p{margin:0;font-size:11px;line-height:2.2;color:#747a6d}#showcase-footer span{margin-right:10px;color:#424a39}#showcase-footer kbd{font:600 10px system-ui;background:#e3e5dc;color:#414936;padding:1px 4px;margin:0 3px 0 7px}.showcase #line{font-size:16px}.showcase #dialogue{left:8%;right:8%;padding:14px 18px}.showcase #prompt{font-size:12px;padding:8px 15px}.showcase #loading{font-size:20px}@media(max-width:600px){body.showcase{padding:20px 12px}.showcase #workspace{margin-top:16px}.showcase #showcase-header{gap:12px}#showcase-footer span{display:block}.showcase #line{font-size:14px}.showcase #dialogue{padding:12px}}
