@font-face{font-family:Dela Gothic One;font-weight:400;font-display:swap;src:url(./dela-gothic-one-japanese-400-normal-De8ccvZQ.woff2) format("woff2")}@font-face{font-family:Dela Gothic One;font-weight:400;font-display:swap;src:url(./dela-gothic-one-latin-400-normal-AgyGD05y.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF,U+2200-22FF}@font-face{font-family:"M PLUS Rounded 1c";font-weight:700;font-display:swap;src:url(./m-plus-rounded-1c-japanese-700-normal-CPp5sKNA.woff2) format("woff2")}@font-face{font-family:"M PLUS Rounded 1c";font-weight:700;font-display:swap;src:url(./m-plus-rounded-1c-latin-700-normal-BYs1YzuX.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F}@font-face{font-family:"M PLUS Rounded 1c";font-weight:900;font-display:swap;src:url(./m-plus-rounded-1c-japanese-900-normal-C21mAH1I.woff2) format("woff2")}@font-face{font-family:"M PLUS Rounded 1c";font-weight:900;font-display:swap;src:url(./m-plus-rounded-1c-latin-900-normal-C3bL2EA2.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F}@font-face{font-family:Yusei Magic;font-weight:400;font-display:swap;src:url(./yusei-magic-japanese-400-normal-DC_KD9j8.woff2) format("woff2")}@font-face{font-family:Yusei Magic;font-weight:400;font-display:swap;src:url(./yusei-magic-latin-400-normal-BCC1r4S7.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F}:root{--text: #f4f5ff;--muted: #a4a9d6;--gold: #ffd23d;--pink: #ff5f8f;--cyan: #38d6ff;--go: #3dfc9a;--warn: #ffb02e;--danger: #ff3b5c;--ink: #2c2416;--ui: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", "Yu Gothic UI", system-ui, sans-serif;--display: "Dela Gothic One", "M PLUS Rounded 1c", sans-serif;--chalk: "Yusei Magic", "M PLUS Rounded 1c", sans-serif;font-family:var(--ui);font-weight:700;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:#0d0b08;color:var(--text);overscroll-behavior:none;user-select:none;-webkit-user-select:none;touch-action:manipulation}#stage{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}#app{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center}#fade{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0d0b08;opacity:0;pointer-events:none;transition:opacity .25s ease}#fade.on{opacity:1}.screen{position:relative;width:100%;max-width:520px;height:100%;padding:max(12px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom));display:flex;flex-direction:column}.grow{flex:1;min-height:0}button{font:inherit;color:inherit;border:none;cursor:pointer;padding:0;background:none}.st-sho{--c1: #ffb53d;--c2: #ff7a3d;--c3: #b3481a}.st-chu{--c1: #4fb4ff;--c2: #2f6fe8;--c3: #1b3f96}.st-ko{--c1: #b07cff;--c2: #6b3fd8;--c3: #3d2090}.st-card{--c1: #5be3a2;--c2: #1fae6c;--c3: #0f6b42}.focus{position:absolute;pointer-events:none;z-index:1;container-type:size;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--chalk);font-weight:400;color:#f8fbf6;text-shadow:0 0 1px rgba(255,255,255,.5),0 2px 5px rgba(8,30,22,.75);padding:2cqh 4cqw}.icon-btn{position:absolute;top:max(12px,env(safe-area-inset-top));right:14px;z-index:3;width:44px;height:44px;border-radius:14px;font-size:20px;background:#1e160ca8;border:1px solid rgba(255,255,255,.2)}.board-title{gap:2cqh}.board-title .logo-sub{font-size:7cqh;color:#ffe98a;letter-spacing:.3em}.board-title .logo-main{font-size:min(24cqh,14.6cqw);line-height:1.1;letter-spacing:.02em;white-space:nowrap;background:linear-gradient(100deg,#fff 20%,#ffe98a,#ffa3b1 70%,#9fd6ff);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 3px 5px rgba(8,30,22,.8));animation:chalk-in .9s ease-out both}.board-title .logo-tag{font-size:7.5cqh;color:#d6f0e0;margin-top:3cqh;animation:bob 2.4s ease-in-out infinite}@keyframes bob{50%{transform:translateY(-4px)}}.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:12px}.tab{padding:10px 0;border-radius:14px;font-weight:900;font-size:14px;white-space:nowrap;color:#fff3da;background:#3c260e6b;box-shadow:inset 0 -3px #00000038;transition:transform .08s}.tab.on{background:linear-gradient(160deg,var(--c1),var(--c2));color:#fff;box-shadow:0 4px 0 var(--c3),inset 0 1px #ffffff73;text-shadow:0 1px 2px rgba(0,0,0,.35)}.tab:active{transform:translateY(2px)}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;min-height:172px;align-content:start}.mode-btn{display:flex;align-items:center;border-radius:18px;transition:transform .08s,box-shadow .08s}.mode-btn.course{flex-direction:column;gap:0;padding:9px 4px 9px 10px;border-radius:6px 14px 14px 6px;background:linear-gradient(90deg,rgba(0,0,0,.26) 0 8px,transparent 8px),linear-gradient(160deg,var(--c1),var(--c2));box-shadow:0 5px 0 var(--c3),inset 0 1px #fff6;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}.mode-btn.course:active{transform:translateY(4px);box-shadow:0 1px 0 var(--c3)}.course-label{font-weight:900;font-size:27px;line-height:1.2}.course-name{font-size:11px;opacity:.95}.mode-btn.course .mode-best{margin-top:5px;font-size:10px;background:#0000004d;border-radius:99px;padding:1px 9px;text-shadow:none}.course-grid.decks{grid-template-columns:repeat(4,1fr);gap:7px}.mode-btn.course.deck{padding:7px 2px 7px 8px}.deck-mark{font-family:var(--display);font-size:21px;line-height:1.25;white-space:nowrap}.mode-btn.course.deck .course-name{font-size:10px;white-space:nowrap;letter-spacing:-.02em}.mode-btn.course.deck .mode-best{margin-top:3px;padding:0 6px}.deal>*{animation:deal .28s cubic-bezier(.2,1.4,.4,1) both;animation-delay:calc(var(--i) * 26ms)}@keyframes deal{0%{opacity:0;transform:translateY(18px) scale(.9)}}.mode-btn.hero{justify-content:center;padding:15px;font-weight:900;font-size:20px;color:#3a1c00;background:linear-gradient(100deg,#ffe45c,#ffa53d 60%,#ff7a5c);box-shadow:0 6px #a8501c,0 0 30px #ffaa4673,inset 0 2px #fff9}.mode-btn.hero:active{transform:translateY(5px);box-shadow:0 1px #a8501c}.mode-btn.ghost{justify-content:center;padding:13px 6px;font-size:14px;white-space:nowrap;color:#fff;background:#1e160cc7;border:1px solid rgba(255,255,255,.24)}.mode-btn.ghost:active{transform:scale(.97)}.back-btn{flex:none;width:38px;height:38px;border-radius:12px;font-size:20px;font-weight:900;line-height:1;background:#1e160cb8;border:1px solid rgba(255,255,255,.2);color:#fff3da}.back-btn:active{transform:scale(.92)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:24px;background:#0a080499;animation:modal-in .18s ease-out}@keyframes modal-in{0%{opacity:0}}.modal-box{width:100%;max-width:340px;padding:22px 18px 16px;border-radius:22px;text-align:center;background:linear-gradient(#fffdf3,#f6ecd2);color:var(--ink);box-shadow:0 20px 60px #00000080;animation:card-in .3s cubic-bezier(.2,1.2,.3,1)}.modal-title{font-size:22px;font-weight:900}.modal-text{white-space:pre-line;margin-top:8px;font-size:14px;line-height:1.5;color:#6b5a3a}.modal-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-top:18px}.mode-btn.danger{justify-content:center;padding:13px 6px;font-size:16px;font-weight:900;color:#fff;background:linear-gradient(#ff7a90,#e02a4e);box-shadow:0 5px #9c1530}.mode-btn.danger:active{transform:translateY(4px);box-shadow:0 1px #9c1530}.modal-actions .mode-btn.hero{font-size:17px;padding:13px}.countdown{align-items:center;justify-content:center;gap:10px}.count-mode{font-size:15px;letter-spacing:.14em;padding:6px 16px;border-radius:99px;background:#1e160cc2}.count-note{font-size:13px;color:#fff3da;text-shadow:0 1px 3px rgba(0,0,0,.8)}.count-num{font-family:var(--display);font-size:76px;color:#fff;text-shadow:4px 4px 0 #e8553a,-3px -3px 0 #2f6fe8,0 0 30px rgba(0,0,0,.6)}.pop-in{animation:pop-in .4s cubic-bezier(.2,1.6,.4,1)}@keyframes pop-in{0%{transform:scale(2.2);opacity:0}}.hud{display:flex;align-items:center;gap:9px;z-index:2}.hud-mid,.hud-right{background:#1e160cb8;border-radius:14px;padding:7px 10px}.hud-mid{flex:1;display:flex;align-items:center;gap:9px;min-width:0}.level{display:flex;align-items:baseline;gap:2px;padding:2px 9px 3px;border-radius:10px;background:linear-gradient(160deg,var(--c1),var(--c2));box-shadow:0 3px 0 var(--c3);color:#fff}.level-tag{font-size:10px;font-weight:900}.level-num{font-family:var(--display);font-size:19px;line-height:1;min-width:14px;text-align:center}.level[data-dir=up]{box-shadow:0 3px 0 var(--c3),0 0 18px var(--go)}.level[data-dir=down]{filter:saturate(.6)}.pips{display:grid;grid-template-columns:repeat(12,1fr);gap:3px;flex:1}.pip{height:8px;border-radius:4px;background:#fff3;transition:background .2s,transform .2s}.pip.now{background:#fff;transform:scaleY(1.5)}.pip.ok{background:var(--go)}.pip.ng{background:var(--danger)}.hud-right{display:flex;flex-direction:column;align-items:flex-end;min-width:80px}.score{font-family:var(--display);font-size:20px;line-height:1.1;font-variant-numeric:tabular-nums}.combo{font-size:10px;font-weight:900;color:var(--gold);height:13px}.gauge{position:relative;width:72px;height:72px;flex:none;border-radius:50%;background:#1e160cc7}.gauge svg{width:100%;height:100%;transform:rotate(-90deg)}.gauge circle{fill:none;stroke-width:9}.ring-track{stroke:#ffffff24}.ring-arc{stroke:var(--go);stroke-linecap:round;filter:drop-shadow(0 0 4px currentColor);color:var(--go)}.gauge[data-tone=warn] .ring-arc{stroke:var(--warn);color:var(--warn)}.gauge[data-tone=danger] .ring-arc{stroke:var(--danger);color:var(--danger)}.gauge[data-tone=danger]{animation:throb .5s infinite}@keyframes throb{50%{transform:scale(1.06)}}.secs{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding-bottom:8px;font-family:var(--display);font-size:24px;font-variant-numeric:tabular-nums}.secs.wide{font-size:18px}.secs-unit{position:absolute;left:0;right:0;bottom:14px;text-align:center;font-size:8px;letter-spacing:.2em;color:var(--muted)}.gauge.bonus,.gauge.grant{animation:gauge-bonus .35s}.gauge.penalty{animation:gauge-penalty .35s}@keyframes gauge-bonus{40%{transform:scale(1.14);box-shadow:0 0 26px var(--go)}}@keyframes gauge-penalty{30%{transform:translate(-5px);box-shadow:0 0 26px var(--danger)}60%{transform:translate(5px)}}.float{position:absolute;left:6px;top:100%;margin-top:2px;z-index:4;font-family:var(--display);font-size:19px;white-space:nowrap;pointer-events:none;animation:float-up .85s ease-out forwards;text-shadow:0 2px 6px rgba(0,0,0,.9)}.float.bonus,.float.grant{color:var(--go)}.float.grant{font-size:23px}.float.penalty{color:var(--danger)}@keyframes float-up{0%{opacity:0;transform:translateY(14px) scale(.7)}25%{opacity:1;transform:translateY(0) scale(1.1)}to{opacity:0;transform:translateY(-22px)}}.prompt{position:absolute;top:4cqh;left:3cqw;right:3cqw;text-align:center;font-size:min(6.6cqh,5.6cqw);color:#ffe98a;letter-spacing:.04em}.work{display:flex;flex-direction:column;align-items:center;width:100%;margin-top:9cqh;transition:opacity .2s}.work.has-fig{margin-top:12cqh}.work-fig{display:none;width:100%;height:56cqh}.work.has-fig .work-fig{display:block}.work.has-solid{margin-top:8cqh}.work.has-solid .work-fig{height:74cqh}.work-fig canvas.solid3d{display:block;width:100%;height:100%;pointer-events:auto;touch-action:none}.work.has-solid .work-main{font-size:min(6.4cqh,5cqw)}.work-fig svg{width:100%;height:100%;font-family:var(--chalk);filter:drop-shadow(0 2px 3px rgba(8,30,22,.7))}.work-main{line-height:1.2;text-align:center;white-space:nowrap}.work-main.wrap{font-size:min(8cqh,6.4cqw);white-space:normal;max-width:92cqw;line-height:1.4}.work-main.done{color:#ffe98a}.work.has-fig .work-main{font-size:min(8cqh,6.4cqw);white-space:normal;max-width:94cqw}.work.has-fig .work-main:empty{display:none}.work-sub{font-size:6.4cqh;color:#cfe8d8;min-height:8cqh;margin-top:1.5cqh;white-space:nowrap}.work-sub.slots{font-size:9cqh;color:#ffc4d0}.chalk-in{animation:chalk-in .38s ease-out}@keyframes chalk-in{0%{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}.pop{animation:pop .2s ease-out}@keyframes pop{0%{transform:scale(1.4)}}.frac{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;line-height:1.02;margin:0 .12em;font-size:.8em}.frac .num{padding:0 .22em;border-bottom:.07em solid currentColor}.frac .den{padding:0 .22em}.toast{position:absolute;left:0;right:0;bottom:3cqh;text-align:center;font-size:6.4cqh;opacity:0}.toast.up{color:#b8f0a0}.toast.bonus{color:#ffe98a}.toast.show{animation:toast 1.3s ease-out forwards}@keyframes toast{0%{opacity:0;transform:translateY(8px) scale(.9)}15%{opacity:1;transform:translateY(0) scale(1.06)}75%{opacity:1}to{opacity:0}}.stamp{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;padding:0 4cqw}.stamp.show{opacity:1}.chalk-mark{position:absolute;right:4cqw;bottom:12cqh;width:40cqh;height:40cqh;overflow:visible;transform:rotate(-8deg)}.chalk-mark path{fill:none;stroke:#ff5a66;stroke-width:3.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw .5s ease-out forwards;filter:drop-shadow(0 0 1px rgba(255,120,130,.8))}@keyframes draw{to{stroke-dashoffset:0}}.stamp.show.ng{animation:stamp-ng .3s cubic-bezier(.2,1.5,.4,1)}@keyframes stamp-ng{0%{opacity:0;transform:scale(1.5)}}.focus:has(.stamp.ng.show) .work,.focus:has(.stamp.ng.show) .prompt{opacity:.1}.stamp.ng .stamp-main{font-size:16cqh;color:#ff8a96;line-height:1}.stamp-detail{font-size:10cqh;color:#ffd0d6;margin-top:3cqh;text-align:center;line-height:1.3}.stamp-detail.long{font-size:7cqh}.shake{animation:shake .4s}@keyframes shake{20%{transform:translate(-9px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(4px)}}.cm-clock{position:relative;flex:none;min-width:104px;padding:5px 12px 6px;border-radius:14px;background:#1e160cc7;display:flex;flex-direction:column;align-items:flex-start}.cm-clock-label{font-size:9px;letter-spacing:.2em;color:var(--muted)}.cm-time{font-family:var(--display);font-size:26px;line-height:1.05;font-variant-numeric:tabular-nums}.penalty-pop{animation:penalty-pop .4s}@keyframes penalty-pop{30%{color:var(--danger);transform:scale(1.18)}}.cm-progress{flex-direction:column;align-items:stretch;gap:5px}.cm-count{font-family:var(--display);font-size:17px;line-height:1;text-align:center}.cm-bar{height:8px;border-radius:4px;background:#ffffff2e;overflow:hidden}.cm-bar-fill{height:100%;width:0;border-radius:4px;background:linear-gradient(90deg,var(--c1),var(--go));transition:width .15s}.cm-miss{display:flex;flex-direction:column;align-items:center;min-width:62px;padding:5px 8px;border-radius:14px;background:#1e160cb8}.cm-miss-label{font-size:9px;color:var(--muted)}.cm-miss-n{font-family:var(--display);font-size:20px;line-height:1.1;color:#ff8a96}.cards-focus{padding:3cqh 4cqw}.fc-stack{position:relative;height:84cqh;aspect-ratio:16 / 9;max-width:92cqw;perspective:900px}.fc,.fc-under{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3.5cqh;background:linear-gradient(#fffef8,#f4ecd8);box-shadow:0 1.2cqh 2.4cqh #00000059,inset 0 0 0 .4cqh #96784626}.fc-under.u1{transform:translate(.9cqh,1.1cqh) rotate(1.2deg);filter:brightness(.93)}.fc-under.u2{transform:translate(1.8cqh,2.2cqh) rotate(2.4deg);filter:brightness(.85)}.fc{container-type:size;display:grid;place-items:center;color:#2c2416;font-family:var(--display);text-shadow:none}.fc.empty{opacity:0}.fc-hole{position:absolute;left:6%;top:11%;width:7cqh;height:7cqh;border-radius:50%;background:#20372c;box-shadow:inset 0 .5cqh .8cqh #0009}.fc-ring{position:absolute;left:calc(6% - 2.2cqh);top:calc(11% - 9cqh);width:11.4cqh;height:16cqh;border:1.8cqh solid #c9ced6;border-bottom-color:transparent;border-radius:50%;transform:rotate(-24deg);box-shadow:0 .4cqh #00000040}.fc-no{position:absolute;right:5%;top:7%;font-family:var(--ui);font-weight:900;font-size:9cqh;color:#b6a27a}.fc-face{display:flex;align-items:center;gap:.12em;white-space:nowrap;line-height:1}.fc-op{color:#2f6fe8;padding:0 .04em}.div-sign{font-family:var(--ui);font-weight:900}.fc-word{font-family:var(--ui);font-weight:900;font-size:.5em;color:#6b5a3a;padding:0 .15em}.fc-slot{display:inline-grid;place-items:center;min-width:1.15em;height:1.2em;padding:0 .12em;border-radius:.14em;border:.06em solid #c9b78f;background:#ffffffbf;color:#e8553a}.fc-slot.on{border-color:#2f6fe8;box-shadow:0 0 0 .05em #2f6fe859;animation:blink-slot 1s steps(2) infinite}@keyframes blink-slot{50%{border-color:#9fbaf0}}.fc.ok .fc-slot{color:#fff;background:#1fae6c;border-color:#1fae6c}.fc.ng .fc-slot{color:#fff;background:#e02a4e;border-color:#e02a4e;animation:none}.fc.flip-away{transform-origin:50% 0;animation:flip-away .4s cubic-bezier(.5,0,.75,.4) forwards;z-index:2;pointer-events:none}@keyframes flip-away{0%{transform:rotateX(0)}to{transform:translateY(-20cqh) rotateX(100deg);opacity:0}}.pad.numpad{grid-template-columns:repeat(3,1fr);gap:8px}.pad.numpad .key-face{min-height:54px;font-size:30px}.pad.numpad .zero{grid-column:span 2}.pad.numpad .erase .key-face{font-family:var(--ui);font-weight:900;font-size:17px;background:linear-gradient(#f3e3d0,#e2c9a8);color:#7a4a20}.card-time .n{font-size:54px}.rank.perfect{font-family:var(--ui);font-weight:900;font-size:24px}.panel{margin:0 -6px;padding:12px 12px 14px;border-radius:24px;background:linear-gradient(#c9995f,#a57440 70%,#8e6234);border-top:2px solid rgba(255,236,200,.75);box-shadow:0 -8px 30px #00000059;z-index:2}.pad{display:grid;gap:9px}.pad.choices,.pad.yesno{grid-template-columns:1fr 1fr}.pad.primes,.pad.tiles{grid-template-columns:repeat(3,1fr)}.pad.squares{grid-template-columns:repeat(4,1fr)}.pad.choices.text-xs{grid-template-columns:1fr;gap:7px}.key{position:relative;display:block;border-radius:16px;background:#b3945a;padding-bottom:6px}.key-face{display:grid;place-items:center;min-height:62px;padding:4px 8px;border-radius:16px;background:linear-gradient(#fffef6,#f3e7c6);color:var(--ink);font-family:var(--display);font-size:26px;line-height:1.15;text-align:center;box-shadow:inset 0 2px #ffffff80;transition:transform .05s}.key:active .key-face{transform:translateY(5px)}.pad.yesno .key-face{min-height:90px;font-size:42px}.pad.yesno.text-m .key-face,.pad.yesno.text-s .key-face{font-size:22px;font-family:var(--ui);font-weight:900}.pad.text-m .key-face{font-size:20px}.pad.words .key-face{font-family:var(--ui);font-weight:900}.pad.text-s .key-face{font-family:var(--ui);font-weight:900;font-size:15px}.pad.text-xs .key-face{font-family:var(--ui);font-weight:900;font-size:14px;min-height:42px}.deal .key{animation:deal .28s cubic-bezier(.2,1.4,.4,1) both;animation-delay:calc(var(--i) * 22ms)}.key.right .key-face{background:linear-gradient(#5dffb0,#17c878);color:#06281a;box-shadow:0 0 22px #3dfc9acc}.key.wrong .key-face{background:linear-gradient(#ff7a90,#e02a4e);color:#fff}.key.selected .key-face{background:linear-gradient(#ffe45c,#ffb52e);color:#2a1a00;transform:translateY(3px)}.hit-key .key-face{animation:hit-key .22s}@keyframes hit-key{0%{transform:translateY(5px);background:linear-gradient(#5dffb0,#17c878);color:#06281a}}.shake-key{animation:shake-key .25s}.shake-key .key-face{background:linear-gradient(#ff7a90,#e02a4e);color:#fff}@keyframes shake-key{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.result{justify-content:center;gap:12px}.card{background:linear-gradient(#fffdf3,#f6ecd2);color:var(--ink);border-radius:22px;padding:16px 18px 14px;overflow-y:auto;box-shadow:0 20px 60px #00000080,inset 0 0 0 2px #785a282e;animation:card-in .45s cubic-bezier(.2,1.2,.3,1)}@keyframes card-in{0%{opacity:0;transform:translateY(40px) scale(.94)}}.result-mode{text-align:center;font-size:13px;color:#8a7450;letter-spacing:.1em}.result-head{text-align:center;font-family:var(--display);font-size:28px;letter-spacing:.1em;color:#2f6fe8}.result-top{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:2px}.result-count .n{font-family:var(--display);font-size:58px;color:#e8553a}.result-count .of{font-family:var(--display);font-size:22px;color:#8a7450}.result-count .of-label{font-size:12px;color:#8a7450;margin-left:4px}.rank{width:82px;height:82px;display:grid;place-items:center;border-radius:50%;font-family:var(--display);font-size:50px;line-height:1;border:5px solid currentColor;color:#e8553a;transform:rotate(-12deg) scale(2.4);opacity:0}.rank.show{transition:transform .28s cubic-bezier(.3,1.6,.5,1),opacity .15s;transform:rotate(-12deg) scale(1);opacity:.92}.r-S,.r-A{color:#e8553a}.r-B{color:#2f6fe8}.r-C{color:#1fa36a}.r-D{color:#8a8272}.strip{display:grid;grid-template-columns:repeat(12,1fr);gap:3px;margin:8px 0 4px}.dot{display:flex;flex-direction:column;align-items:center;padding:3px 0 2px;border-radius:7px;background:#3c280a14;color:#8a7450}.dot b{font-size:13px;line-height:1.1}.dot i{font-style:normal;font-size:7px;opacity:.8}.dot.ok{background:#1fa36a29;color:#14855a}.dot.ng{background:#e02a4e24;color:#d02a4e}.result-level{text-align:center;font-size:12px;color:#8a7450;margin-bottom:8px}.rows{display:flex;flex-direction:column;gap:5px}.row{display:flex;align-items:baseline;gap:8px;padding:7px 12px;border-radius:12px;background:#3c280a12}.row-label{font-size:14px}.row-detail{flex:1;font-size:10px;color:#8a7450}.row-value{font-family:var(--display);font-size:19px;font-variant-numeric:tabular-nums}.result-score{display:flex;align-items:baseline;justify-content:space-between;margin-top:8px;padding:0 6px}.total-label{font-family:var(--display);font-size:15px;letter-spacing:.2em;color:#8a7450}.total{font-family:var(--display);font-size:42px;color:#2c2416;text-shadow:3px 3px 0 #ffd23d;font-variant-numeric:tabular-nums}.result-meta{text-align:right;font-size:12px;color:#8a7450;padding:0 6px}.result-meta.new{color:#e8553a;font-size:15px;font-weight:900;animation:pop .3s}.missed{margin-top:10px;padding-top:8px;border-top:2px dashed rgba(120,90,40,.3)}.missed-head{font-size:11px;color:#8a7450;margin-bottom:4px}.missed-item{display:flex;flex-direction:column;padding:4px 0;border-bottom:1px solid rgba(120,90,40,.12)}.missed-q{font-size:11px;color:#8a7450}.missed-a{font-size:15px;color:#d02a4e}.actions{display:grid;grid-template-columns:1.5fr 1fr;gap:10px}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:5}.confetti i{position:absolute;top:-14px;width:9px;height:15px;border-radius:2px;animation:fall linear forwards}@keyframes fall{to{transform:translate(var(--drift),105vh) rotate(var(--spin))}}@media (max-height: 660px){.key-face{min-height:48px}.pad.yesno .key-face{min-height:66px}.gauge{width:62px;height:62px}.course-grid{min-height:150px}.pad.numpad .key-face{min-height:44px;font-size:26px}}
