:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#dcecf2;background:#071016;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{border:1px solid rgba(170,220,235,.22);box-shadow:inset 0 0 35px #50b4dc0d}canvas{position:fixed;inset:0;width:100%;height:100%;touch-action:none}header{position:fixed;top:20px;left:28px;pointer-events:none;text-shadow:0 2px 18px #000}h1{font-size:13px;letter-spacing:.3em;margin:0;color:#9fc3cf}header p{font-weight:300;font-size:clamp(18px,2vw,28px);margin:10px 0;color:#e6f8fccc}button,select,input{font:inherit}button,select{color:#dcecf2;background:#0c2029e6;border:1px solid rgba(170,220,235,.2);border-radius:5px;padding:7px 10px}button:hover{border-color:#75bfd8}#settingsButton{position:fixed;right:20px;top:20px}aside{position:fixed;right:16px;top:16px;width:min(300px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;padding:18px;background:#051016eb;backdrop-filter:blur(14px);border:1px solid rgba(170,220,235,.18);transform:translate(calc(100% + 25px));transition:transform .2s;box-shadow:0 12px 50px #0008}aside.open{transform:none}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.panel-head button{font-size:20px;border:0;background:none}label{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;font-size:12px;color:#aac1c9;margin:11px 0}label input[type=range]{grid-column:1/3;width:100%;accent-color:#65b9d5}.check{display:flex}.buttons{display:flex;gap:7px;margin:10px 0}.buttons button{flex:1;font-size:11px}details{border-top:1px solid #ffffff16;margin-top:14px;padding-top:12px}summary{font-size:12px;cursor:pointer}small{display:block;color:#6f8992;line-height:1.5;margin-top:15px}#debugPanel{position:fixed;left:16px;bottom:16px;margin:0;padding:12px;color:#b8dce6;background:#02090ccc;border:1px solid #ffffff18;font:11px/1.45 ui-monospace,monospace;pointer-events:none}@media(max-width:600px){header{left:16px;top:14px}header p{font-size:16px}#settingsButton{right:12px;top:12px}}@media(prefers-reduced-motion:reduce){aside{transition:none}}
