*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#000;color:#f3e9dc}body{font-family:Georgia,serif;cursor:none}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid #ffb857;outline-offset:3px}[hidden]{display:none!important}#stage{position:absolute;left:50%;top:50%;width:var(--stage-size,100vmin);height:var(--stage-size,100vmin);transform:translate(-50%,-50%) scale(var(--stage-x,1),var(--stage-y,1));overflow:hidden;background:#050207}canvas{display:block;width:100%;height:100%;image-rendering:auto}#instrument{position:absolute;inset:6%;pointer-events:none;display:flex;align-items:flex-end;justify-content:space-between;font:10px/1.3 sans-serif;letter-spacing:.22em;color:#c1aaa0;opacity:.55;transition:opacity 1s}#instrument.off{opacity:0}#blackout{position:fixed;inset:0;z-index:20;background:#000;pointer-events:none}#calibration{position:absolute;inset:0;background:#000;color:#f3e9dc}.target-square{position:absolute;inset:10%;border:2px solid #eee}.target-circle{position:absolute;inset:20%;border:2px solid #eee;border-radius:50%}#calibration>span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:40px sans-serif}#calibration p{position:absolute;bottom:12%;width:100%;text-align:center;font:14px/1.8 sans-serif}#calibration small{font-size:10px}body.operating{cursor:auto}#controls{position:fixed;right:24px;top:24px;width:min(400px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;background:#130d10;border:1px solid #44312e;padding:26px;z-index:30;box-shadow:0 18px 80px #0009}#controls header{display:flex;justify-content:space-between;align-items:flex-start}#controls small{font:10px/1.4 sans-serif;letter-spacing:.18em;color:#d4a581}h1{font:normal 36px/1.1 Georgia,serif;margin:10px 0}#close{border:none;background:none;color:#d8beb5;font:28px Georgia;padding:0 0 12px 12px}.intro{font-size:16px;line-height:1.5;color:#bca39a;margin:12px 0 24px}.modes,.actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.modes{grid-template-columns:1fr;margin-bottom:15px}.actions button,.modes button{font:12px/1.4 sans-serif;padding:12px 9px;text-align:left;background:#211719;border:1px solid #46302e;color:#eed7c6}.actions button:hover,.modes button:hover{background:#40231e;border-color:#9e5b3e}label{display:flex;align-items:center;justify-content:space-between;font:12px sans-serif;margin:24px 0}input{width:65%;accent-color:#f29149}.help{font:11px/1.8 sans-serif;color:#a78e83}output{display:block;border-top:1px solid #44312e;padding-top:15px;font:11px/1.6 sans-serif;color:#e9b38b}#fallback{position:absolute;inset:0;display:grid;place-content:center;background:#100810;text-align:center;font:14px/1.8 sans-serif}#fallback>div{width:180px;height:180px;border:18px solid #bb3525;border-radius:49% 35% 48% 22%;transform:rotate(30deg);margin:0 auto 40px;box-shadow:0 0 50px #8c251c,inset 0 0 40px #f79446}#motionDebug{position:fixed;left:16px;bottom:16px;z-index:40;max-width:calc(100vw - 32px);white-space:pre-line;background:#130d10e8;border:1px solid #73513a;padding:10px 14px;font:12px/1.6 sans-serif;color:#ffd7aa;pointer-events:none}@media(max-width:500px){#controls{right:16px;top:16px;padding:22px}}
