:root{font-family:system-ui,sans-serif;color:#e8edf7;background:#0c1220;color-scheme:dark}*{box-sizing:border-box}body{margin:0}main{max-width:1000px;margin:auto;padding:clamp(12px,3vw,28px)}header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}.eyebrow{color:#8eabd5;font-size:11px;letter-spacing:.15em}h1{font-size:clamp(24px,5vw,38px);margin:4px 0}h2{font-size:clamp(22px,4vw,32px);margin-top:0}p{line-height:1.6}#setup{padding:clamp(18px,4vw,32px);border:1px solid #354863;border-radius:16px;background:#152036}.hint,footer{font-size:12px;color:#b4c2d6}.choose{display:flex;flex-wrap:wrap;gap:14px;margin:22px 0}.choose label{display:flex;flex-direction:column;gap:10px;font-size:14px;min-width:0;flex:1 1 240px}input{max-width:100%;font-size:12px}button,input::file-selector-button{font:inherit;border:1px solid #526785;border-radius:8px;background:#23344f;color:#fff;padding:10px 14px;min-height:44px;cursor:pointer}button:hover{background:#324c70}button:focus-visible,input:focus-visible{outline:3px solid #82d7fa;outline-offset:3px}button:disabled{opacity:.45;cursor:default}#start,#resume{background:#99dcf5;color:#0b2032;font-weight:650}#status{font-size:14px;color:#bfeafa;min-height:22px}#stage{position:relative;display:flex;justify-content:center;align-items:center;min-width:0;background:#02050b;border:1px solid #354863;border-radius:8px;overflow:hidden}canvas{display:block;max-width:100%;height:auto;outline:none;touch-action:none}#pause-cover{position:absolute;inset:0;background:#060c1be6;display:flex;justify-content:center;align-items:center}[hidden]{display:none!important}.toolbar{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}.controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:10px 0}.controls button{touch-action:none;user-select:none;min-height:62px;font-weight:600}.controls button.held{background:#99dcf5;color:#0b2032}.controls small{display:block;font-weight:400;font-size:11px;opacity:.8}.nudges button{min-height:44px;font-size:12px}footer{border-top:1px solid #283851;padding-top:15px;margin-top:22px}a{color:#a9daff}@media(max-width:420px){main{padding:10px}header{margin-bottom:12px}#setup{padding:16px}.controls{gap:6px}.controls button{padding:8px}.toolbar button{padding:8px 10px}footer{margin-top:12px}}
