*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#1b3042;color:#f0f3ef;font:12px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}#world{position:fixed;inset:0}canvas{display:block;touch-action:none}header{position:absolute;left:4.5vw;top:6vh;pointer-events:none}h1{font-size:23px;letter-spacing:3px;margin:0;border-left:3px solid #8bd5ff;padding-left:13px}h1 span{color:#8bd5ff}header p{font-size:8px;letter-spacing:3px;margin:10px 0 36px 17px}.caption{color:#b3c4d0;font-size:9px;letter-spacing:3px;margin-bottom:13px}#status{font-size:11px;color:#c4d3df}aside{position:absolute;right:4vw;top:6vh;display:flex;gap:5px}button{font:inherit;color:inherit;border:1px solid transparent;border-radius:7px;background:transparent;cursor:pointer;padding:9px 12px;transition:background .2s,border-color .2s}button:hover{background:#ffffff18}button:focus-visible{outline:2px solid #90d9ff;outline-offset:3px}button[aria-pressed=true]{background:#ffffff13;border-color:#ffffff14}aside button{background:#ffffff08;font-size:21px}footer{position:absolute;bottom:3vh;left:50%;transform:translateX(-50%);width:max-content;max-width:94vw}.hint{text-align:center;color:#aebfc9;font-size:10px;letter-spacing:1px;margin-bottom:18px}.controls{display:flex;gap:9px;align-items:stretch;background:#ffffff05;border:1px solid #ffffff08;padding:10px;border-radius:15px;backdrop-filter:blur(16px)}fieldset{border:0;margin:0;padding:0 10px;border-right:1px solid #ffffff12}legend{font-size:9px;color:#b6c4ce;padding:0 0 5px 10px;letter-spacing:2px}.preset{background:#37759b;min-width:115px;margin:-3px}.preset:hover{background:#4389b5}.preset small{display:block;font-size:8px;letter-spacing:1px;margin-top:4px}.credit{display:flex;justify-content:space-between;font-size:7px;color:#8da4b6;letter-spacing:1.4px;margin:15px 10px 0}#error{position:absolute;inset:40% 15%;background:#203547;padding:30px;height:max-content}@media(max-width:650px){header{top:25px;left:23px}h1{font-size:18px}header p{font-size:6px;margin-bottom:20px}aside{top:24px}.controls{flex-wrap:wrap;justify-content:center;gap:8px;padding:8px}fieldset{padding:0 3px}button{padding:9px 8px;font-size:10px}.preset{min-width:100%;padding:8px}.preset small{display:inline;margin-left:10px}footer{width:94vw;bottom:20px}.hint{font-size:8px}.credit{font-size:6px;letter-spacing:.5px}}
