:root{--bg:#0e0e0e;--fg:#fff;--muted:#b9b9b9;--grey:#888;--line:#8888884d;--yellow:#ff0;--blue:#58c4dd;--green:#83c167;--red:#fc6255;--gold:#f0ac5f;--serif:"KaTeX_Main", "CMU Serif", "Latin Modern Roman", Georgia, serif;--ease:cubic-bezier(.65, 0, .35, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);font-family:var(--serif);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;font-size:18px;line-height:1.45}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.game{height:100vh;grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;display:grid;overflow:hidden}.game[aria-busy=true] .hud,.game[aria-busy=true] .dock{visibility:hidden}.hud{padding:6px 20px;padding-top:max(6px, env(safe-area-inset-top));border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;min-height:64px;display:grid}.brand{letter-spacing:.01em;white-space:nowrap;font-size:24px}.brand .num{color:var(--grey);margin-left:6px;font-size:16px}.brand .home{all:unset;cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit;transition:color .3s var(--ease)}.brand .home:hover{color:var(--blue)}.brand .home:focus-visible{outline:1px solid var(--grey);outline-offset:4px}.legal-note{color:var(--grey);text-align:center;transition:opacity .4s var(--ease);margin:2px 0 0;font-size:13px}.legal-note a{color:var(--muted);text-underline-offset:2px}.legal-note.leaving{opacity:0}.leave-veil{z-index:50;animation:leave-in .3s var(--ease);background:#0e0e0ecc;place-items:center;display:grid;position:fixed;inset:0}.leave-box{border:1px solid var(--line);background:var(--bg);text-align:center;width:min(380px,88vw);padding:22px 24px 20px}.leave-box .leave-title{margin:0 0 4px;font-size:22px}.leave-box .leave-note{color:var(--muted);margin:0 0 18px;font-size:16px}.leave-box .leave-actions{justify-content:center;gap:12px;display:flex}@keyframes leave-in{0%{opacity:0}}.progress{gap:10px;margin:0;padding:0;list-style:none;display:flex}.progress li{place-items:center;display:grid}.progress svg{display:block;overflow:visible}.progress .track{fill:none;stroke:#88888873;stroke-width:1.6px}.progress .fill{fill:none;stroke:var(--green);stroke-width:2.6px;stroke-linecap:butt;transition:stroke-dasharray .9s var(--ease)}.progress li.current .track{stroke:var(--fg)}.hud-right{justify-content:flex-end;align-items:center;gap:16px;display:flex}.total{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:22px}.timer{width:52px;height:52px;transition:opacity .5s var(--ease);position:relative}.timer.idle{opacity:.45}.timer.blank{opacity:0}.timer svg,.stage svg.q-scene{width:100%;height:100%;display:block;position:absolute;inset:0}.stage-wrap{min-height:0;position:relative}.stage{position:absolute;inset:0;overflow:hidden}.stage.interactive{cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.stage.draggable{cursor:crosshair}.chip{color:var(--grey);border:1px solid var(--line);pointer-events:none;border-radius:3px;padding:2px 9px;font-size:13px;position:absolute;top:12px;left:16px}.dock{border-top:1px solid var(--line);padding:14px 20px;padding-bottom:max(14px, env(safe-area-inset-bottom))}.controls,.actions{max-width:920px;margin:0 auto}.controls{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:12px 28px;display:flex}.controls:empty{display:none}.actions{justify-content:flex-end;align-items:center;gap:18px;margin-top:12px;display:flex}.controls:empty+.actions{margin-top:0}.hint{color:var(--grey);flex:1;font-size:16px}.about{text-align:center;max-width:620px;color:var(--muted);transition:opacity .6s var(--ease);margin:0;font-size:17px}.about.note{color:var(--grey);max-width:560px;font-size:13px}.about.leaving{opacity:0}.lift-ghost{z-index:30;pointer-events:none;white-space:nowrap;line-height:1;position:fixed;top:0;left:0}.stage canvas.wordmark-bg{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}button{font:inherit;color:var(--fg);border:1px solid var(--fg);cursor:pointer;transition:background-color .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease), opacity .25s var(--ease);background:0 0;border-radius:3px;padding:9px 26px}button:hover:not(:disabled){background:#ffffff12}button:focus-visible,input:focus-visible{outline:1px solid var(--fg);outline-offset:3px}button:disabled{opacity:.35;cursor:default}button.primary{min-width:150px;font-size:19px}button.ghost{color:var(--muted);border-color:#88888880}.number-field{flex-direction:column;align-items:center;gap:4px;display:flex}.row-fields{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:10px 36px;display:flex}.field{align-items:baseline;gap:14px;display:flex}.field-label{color:var(--grey);white-space:nowrap;font-size:16px}.field-box{border-bottom:1px solid var(--grey);transition:border-color .3s var(--ease);align-items:baseline;display:inline-flex}.field-box:focus-within{border-bottom-color:var(--yellow)}.field-box input{font:inherit;color:var(--yellow);text-align:center;background:0 0;border:0;outline:none;width:9ch;padding:2px 2px 4px;font-size:28px}.field-box.wide input{width:min(22ch,70vw)}.field-box input::placeholder{color:#555}.field-box input:disabled{color:#ff09}.field-box.has-unit input{text-align:right;width:5ch}.slider-field.no-label{grid-template-columns:minmax(180px,300px) 5.5ch}.field-box .unit{color:var(--yellow);font-size:26px}.preview{min-height:30px;color:var(--muted);text-align:center;font-size:18px}.preview .bad{color:var(--red);font-size:16px}.preview .good{color:var(--green)}.slider-field{grid-template-columns:auto minmax(180px,360px) 5.5ch;align-items:center;gap:16px;display:grid}.slider-field .readout{color:var(--grey);font-variant-numeric:tabular-nums;text-align:right;font-size:22px}.slider-field.moved .readout{color:var(--yellow)}input[type=range].slider{appearance:none;touch-action:none;background:0 0;width:100%;height:28px;margin:0}input[type=range].slider::-webkit-slider-runnable-track{background:var(--grey);height:2px}input[type=range].slider::-moz-range-track{background:var(--grey);height:2px}input[type=range].slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--bg);border:2px solid var(--grey);border-radius:50%;width:20px;height:20px;margin-top:-9px}input[type=range].slider::-moz-range-thumb{background:var(--bg);border:2px solid var(--grey);border-radius:50%;width:18px;height:18px}.slider-field.moved input[type=range].slider::-webkit-slider-thumb{background:var(--yellow);border-color:var(--yellow)}.slider-field.moved input[type=range].slider::-moz-range-thumb{background:var(--yellow);border-color:var(--yellow)}.row-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 16px;display:flex}.row-controls button{padding:6px 18px;font-size:16px}.hint-inline{color:var(--grey);font-size:16px}.numpad{grid-template-columns:repeat(4,minmax(56px,1fr));gap:6px;width:min(100%,360px);margin-top:6px;display:grid}.numpad .key{touch-action:manipulation;border-color:#88888873;height:46px;padding:0;font-size:22px}.numpad .key.fn{color:var(--muted)}.numpad .key.wide{grid-column:span 2}.numpad .key.spacer{visibility:hidden}.numpad .key:active:not(:disabled){background:#ffffff1f}.exprpad{grid-template-columns:repeat(4,minmax(56px,1fr))}.exprpad .key.num{color:var(--fg)}.share-actions{justify-content:center;gap:12px;display:flex}button.small{padding:5px 14px;font-size:15px}.share-block{flex-direction:column;align-items:center;gap:8px;display:flex}pre.share{border:1px solid var(--line);font-family:var(--serif), "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;color:var(--muted);white-space:pre;-webkit-user-select:all;user-select:all;border-radius:3px;max-width:100%;margin:0;padding:10px 16px;font-size:15px;line-height:1.35;overflow-x:auto}@media (max-width:640px){html,body{font-size:16px}.hud{padding:4px 12px;padding-top:max(4px, env(safe-area-inset-top));grid-template-columns:auto 1fr auto;gap:8px;min-height:54px}.brand{font-size:20px}.brand .num{display:none}.progress{justify-content:center;gap:3px}.progress svg{width:16px;height:16px}.hud-right{gap:10px}.total{font-size:18px}.timer{width:42px;height:42px}.dock{padding:10px 12px;padding-bottom:max(10px, env(safe-area-inset-bottom))}.actions{gap:10px;margin-top:8px}.hint{font-size:14px}.about{font-size:15px}.about.note{font-size:12px}.field-box input{font-size:24px}.slider-field,.slider-field.no-label{grid-template-columns:minmax(0,1fr) 7ch;width:100%}.slider-field .readout{font-size:20px}.number-field,.row-fields{width:100%}.field{gap:10px}.field-box.wide input{width:min(18ch,58vw)}.chip{padding:1px 7px;font-size:11px;top:auto;bottom:6px;left:10px}.slider-field .field-label{display:none}pre.share{font-size:13px}}.touch .actions .primary{flex:none}@media (max-width:640px){.touch .actions .primary{flex:auto;max-width:260px}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}.fly-points{z-index:50;pointer-events:none;color:var(--green);white-space:nowrap;will-change:transform, opacity;position:fixed;top:0;left:0}.total{transition:color .4s var(--ease)}.total.bump #hud-total{color:var(--green)}.quick-keys{flex-direction:column;align-items:center;width:100%;display:flex}.quickpad{grid-template-columns:repeat(3,minmax(64px,1fr));width:min(100%,330px)}.quickpad .key{height:52px;font-size:26px}.practice-form{gap:8px;width:min(100%,720px);display:grid}.pr-row{grid-template-columns:170px 1fr;align-items:center;gap:6px 14px;display:grid}.pr-op{color:var(--fg);white-space:nowrap;align-items:center;gap:10px;font-size:17px;display:flex}.pr-op input[type=checkbox]{width:17px;height:17px;accent-color:var(--yellow);margin:0}.pr-spec{color:var(--grey);flex-wrap:wrap;align-items:center;gap:6px;font-size:17px;display:flex}.pr-range{align-items:center;gap:4px;display:inline-flex}.pr-to,.pr-note{color:var(--grey);margin:0 2px;font-size:15px}input.pr-num{font:inherit;width:5.2ch;color:var(--yellow);border:0;border-bottom:1px solid var(--grey);text-align:center;-moz-appearance:textfield;background:0 0;padding:1px 2px;font-size:17px}input.pr-num::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input.pr-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.pr-num:focus{border-bottom-color:var(--yellow);outline:none}.pr-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}@media (max-width:640px){.pr-row{grid-template-columns:1fr;gap:2px}.pr-op,.pr-spec{font-size:15px}.pr-spec{padding-left:27px}.quickpad .key{height:50px}}button[hidden]{display:none}button.mute{width:32px;height:32px;color:var(--grey);border:0;border-radius:50%;place-items:center;padding:4px;display:grid}button.mute:hover:not(:disabled){color:var(--fg)}button.mute[aria-pressed=true]{color:#555}@media (max-width:640px){button.mute{width:28px;height:28px;padding:3px}button.mute svg{width:19px;height:19px}}.title-links{justify-content:center;gap:12px;width:100%;display:flex}.archive{padding:26px 20px 30px;position:absolute;inset:0;overflow-y:auto}.archive h1{text-align:center;margin:0;font-size:40px;font-weight:400}.archive-sub{text-align:center;color:var(--grey);margin:2px 0 22px}.archive-list{gap:8px;max-width:560px;margin:0 auto;padding:0;list-style:none;display:grid}.archive-day{border:1px solid var(--line);color:var(--fg);transition:border-color .3s var(--ease);grid-template-columns:5.5em 1fr auto;align-items:baseline;gap:12px;padding:10px 16px;text-decoration:none;display:grid}.archive-day:hover,.archive-day:focus-visible{border-color:var(--blue);outline:none}.archive-day .num{color:var(--grey)}.archive-day .status.new{color:var(--blue)}.archive-day .status.part{color:var(--gold)}.archive-day .status.done .check{color:var(--green)}@media (max-width:600px){.archive h1{font-size:32px}.archive-day{grid-template-columns:4.6em 1fr auto;padding:9px 12px}}.more-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;max-width:900px;margin:0 auto;padding:0;list-style:none;display:grid}.more-card{border:1px solid var(--line);height:100%;color:var(--fg);transition:border-color .3s var(--ease);gap:4px;padding:14px 16px;text-decoration:none;display:grid}.more-card:hover,.more-card:focus-visible{border-color:var(--blue);outline:none}.more-name{font-size:22px}.more-tag{color:var(--muted);font-size:15px;line-height:1.4}.more-stat{color:var(--blue);margin-top:4px;font-size:14px}
