.timer{position:absolute;top:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;padding:1rem 1rem .5rem;color:#e6e6ea;font-family:system-ui,sans-serif;text-align:center;pointer-events:none;text-shadow:0 1px 4px rgba(0,0,0,.6)}.timer__scramble{margin:0 0 .35rem;font-size:1rem;letter-spacing:.04em;color:#c7c8d1}.timer__display{margin:0;font-variant-numeric:tabular-nums;font-size:3.5rem;font-weight:600;line-height:1.1;transition:color .15s ease}.timer--armed .timer__display{color:#6fdc8c}.timer--running .timer__display{color:#f0c674}.timer__penalty{margin:.15rem 0 0;color:#f0c674;font-size:.9rem}.timer__overrun{margin:.15rem 0 0;color:#e5606d;font-size:.9rem}.timer__hint{margin:.35rem 0 0;font-size:.8rem;color:#9a9ba6}.session-panel{position:absolute;top:0;right:0;max-width:260px;padding:.75rem 1rem;background:#05070dd1;color:#e6e6ea;font-family:system-ui,sans-serif;font-size:.8rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:0 0 0 8px;max-height:90vh;overflow-y:auto}.session-panel__row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.6rem}.session-panel button,.session-panel select,.session-panel input{cursor:pointer;background:#1b1c22;color:inherit;border:1px solid #33343d;border-radius:4px;padding:.25rem .4rem;font:inherit;transition:background-color .15s ease,border-color .15s ease,transform .1s ease}.session-panel button:hover:not(:disabled),.session-panel select:hover:not(:disabled){background:#2a2b33;border-color:#45464f}.session-panel button:active:not(:disabled){transform:scale(.96)}.session-panel input{cursor:text;width:8rem}.session-panel button:disabled,.session-panel select:disabled,.session-panel input:disabled{opacity:.5;cursor:not-allowed}.session-panel__stats{display:grid;grid-template-columns:1fr auto;gap:.15rem .5rem;margin:0 0 .6rem}.session-panel__stats dt{color:#9a9ba6}.session-panel__stats dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.session-panel__history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem;font-variant-numeric:tabular-nums}.session-panel__history-aborted{color:#7a7b85;font-style:italic}.keybind-editor{color:#e6e6ea;font-family:system-ui,sans-serif;font-size:.8rem}.keybind-editor__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.keybind-editor__header h3{margin:0;font-size:.85rem}.keybind-editor__actions{display:flex;align-items:center;gap:.4rem}.keybind-editor__section+.keybind-editor__section{margin-top:.6rem}.keybind-editor__section-heading{margin:0 0 .3rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#7a7b85}.keybind-editor__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:.3rem;max-height:10rem;overflow-y:auto}.keybind-editor__row{display:flex;align-items:center;justify-content:space-between;gap:.3rem;background:#16171d;border:1px solid #2a2b33;border-radius:4px;padding:.2rem .4rem}.keybind-editor__move{font-weight:600;opacity:.85}.keybind-editor button,.keybind-editor input[type=file]{cursor:pointer}.keybind-editor__row button,.keybind-editor__capture{min-width:3.2rem;text-align:center;background:#1b1c22;color:inherit;border:1px solid #33343d;border-radius:4px;padding:.15rem .3rem;font:inherit;transition:background-color .15s ease,border-color .15s ease,transform .1s ease}.keybind-editor__row button:hover{background:#2a2b33;border-color:#45464f}.keybind-editor__row button:active{transform:scale(.96)}.keybind-editor__capture{outline:2px solid #4d7cff}.keybind-editor__import{position:relative;display:inline-flex;align-items:center;background:#1b1c22;color:inherit;border:1px solid #33343d;border-radius:4px;padding:.25rem .4rem;font:inherit;transition:background-color .15s ease,border-color .15s ease}.keybind-editor__import:hover{background:#2a2b33;border-color:#45464f}.keybind-editor__import input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.keybind-editor__header>.keybind-editor__actions>button{background:#1b1c22;color:inherit;border:1px solid #33343d;border-radius:4px;padding:.25rem .4rem;font:inherit;transition:background-color .15s ease,border-color .15s ease,transform .1s ease}.keybind-editor__header>.keybind-editor__actions>button:hover{background:#2a2b33;border-color:#45464f}.keybind-editor__header>.keybind-editor__actions>button:active{transform:scale(.96)}.keybind-editor__error{margin:.4rem 0 0;color:#ff8a8a}.controls-reference{margin-top:.75rem;padding-top:.6rem;border-top:1px solid #33343d}.controls-reference__net{display:grid;grid-template-columns:repeat(4,2.6rem);grid-template-rows:repeat(3,2.6rem);grid-template-areas:".  u  .  ." "l  f  r  b" ".  d  .  .";gap:.3rem}.controls-reference__cell{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#1b1c22;border:1px solid #33343d;border-radius:6px;transition:background-color .15s ease,border-color .15s ease}.controls-reference__cell:hover{background:#2a2b33;border-color:#45464f}.controls-reference__key{font-size:.95rem;font-weight:600;line-height:1.1}.controls-reference__face{font-size:.55rem;color:#9a9ba5;letter-spacing:.05em}.controls-reference__hint{margin:.5rem 0 0;font-size:.7rem;color:#9a9ba5}.controls-reference__legend{margin:.4rem 0 0;padding-left:1.1rem;font-size:.72rem;color:#c7c8d1}.controls-reference__legend li{margin-bottom:.2rem}.settings-panel{position:absolute;bottom:0;left:0;right:0;padding:.75rem 1rem;background:#05070dd1;color:#e6e6ea;font-family:system-ui,sans-serif;font-size:.8rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);max-height:60vh;overflow-y:auto}.settings-panel__row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.settings-panel button,.settings-panel select{cursor:pointer;background:#1b1c22;color:inherit;border:1px solid #33343d;border-radius:4px;padding:.25rem .4rem;font:inherit;transition:background-color .15s ease,border-color .15s ease,transform .1s ease}.settings-panel button:hover,.settings-panel select:hover{background:#2a2b33;border-color:#45464f}.settings-panel button:active{transform:scale(.96)}.settings-panel .keybind-editor{margin-top:.75rem}.settings-panel__notice{display:flex;align-items:center;gap:.6rem;margin:0 0 .6rem;color:#f0c674}.settings-panel__notice button{flex-shrink:0}html,body,#root{height:100%;margin:0}.app{position:relative;width:100vw;height:100vh;overflow:hidden}.app canvas{display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
