.g{--violet:#6d3bef;--violet-deep:#3f1d9b;--violet-soft:#6d3bef1a;--pink:#ff4d8d;--amber:#ffb020;--correct:#16a34a;--correct-soft:#dcfce7;--wrong:#e11d48;--wrong-soft:#ffe4e6;--ink:#1b1235;--ink-soft:#6b6385;--surface:#fff;--canvas:#f6f2ff;--line:#e7e0f7;--backdrop:linear-gradient(135deg, #7c4dff 0%, #b14be8 50%, #4d8dff 100%);--r-card:28px;--r-button:20px;background:var(--canvas);min-height:100dvh;color:var(--ink);word-break:keep-all;overflow-wrap:anywhere;-webkit-tap-highlight-color:transparent;font-family:Pretendard,Apple SD Gothic Neo,Hiragino Sans,Noto Sans JP,PingFang SC,Microsoft YaHei,Malgun Gothic,Noto Sans KR,system-ui,sans-serif;font-size:15px;line-height:1.5}.g:lang(ja),.g:lang(zh),.g:lang(zh-Hans){word-break:normal;line-break:strict}.g:lang(en),.g:lang(fr),.g:lang(de),.g:lang(es),.g:lang(it){font-family:Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Pretendard,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif}.g :focus-visible{outline:3px solid var(--violet);outline-offset:2px}.g a{color:inherit}.g button{font:inherit;color:inherit}.g img{max-width:100%}.g h1,.g h2{line-height:1.3}.g-container{width:100%;max-width:1120px;margin:0 auto;padding:0 16px}@media (min-width:720px){.g-container{padding:0 28px}}.g-narrow{max-width:680px}.g-mid{max-width:900px}.g-page{min-height:100dvh;padding-bottom:40px}.btn{border-radius:var(--r-button);background:var(--violet);color:#fff;cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:0 22px;font-size:16px;font-weight:700;text-decoration:none;transition:filter .15s,transform .1s;display:inline-flex}.g .btn{color:#fff}.btn:hover:not(:disabled){filter:brightness(1.06)}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45;cursor:default}.btn.block{width:100%;display:flex}.g .btn.white{color:var(--violet-deep);background:#fff}.g .btn.outline-white{color:#fff;background:0 0;box-shadow:inset 0 0 0 1.6px #fff}.g .btn.danger{background:var(--wrong)}.g .btn.outline-danger{color:var(--wrong);box-shadow:inset 0 0 0 1.6px var(--wrong);background:0 0;min-height:48px}.g .btn.ghost{color:var(--violet);background:0 0;min-height:40px;padding:0 12px}.g .btn.ghost.danger-text{color:var(--wrong)}.btn.small{border-radius:14px;min-height:40px;padding:0 16px;font-size:14px}.btn.ghost.small{padding:0 8px;font-size:13px}.link-btn{color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:4px;padding:4px 6px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.g .link-btn{color:var(--ink-soft)}.g .link-btn:hover{color:var(--violet)}.card{background:var(--surface);border-radius:var(--r-card);padding:16px 16px 12px}.card-title{margin:0;font-size:16px;font-weight:800}.card-sub{color:var(--ink-soft);margin:2px 0 0;font-size:12px}.card .chart,.card .g-review{margin-top:12px}.muted{color:var(--ink-soft)}.center{text-align:center}.stack{flex-direction:column;gap:14px;display:flex}.row-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.accent{color:var(--violet);flex:none}.soft{color:var(--ink-soft);flex:none}.divider{border:0;border-top:1px solid var(--line);margin:14px 0 6px}.spinner{border:3px solid var(--violet-soft);border-top-color:var(--violet);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite g-spin;display:inline-block}.spinner.white{border-color:#fff #ffffff4d #ffffff4d}.spinner.small{border-width:2.5px;width:20px;height:20px}@keyframes g-spin{to{transform:rotate(360deg)}}.delayed{opacity:0;animation:1.2s forwards g-delayed;display:inline-flex}@keyframes g-delayed{0%,70%{opacity:0}to{opacity:1}}.g-message{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:48px 16px;display:flex}.g-message .emoji{font-size:48px}.g-message p{white-space:pre-line;max-width:420px;margin:0}.g-welcome{background:var(--backdrop);color:#fff;flex-direction:column;min-height:100dvh;display:flex}.g-welcome-top{flex-wrap:wrap;justify-content:flex-end;gap:6px 12px;padding:14px 0;font-size:14px;display:flex}.g .g-welcome-top button{color:#fff;opacity:.8;cursor:pointer;background:0 0;border:0;padding:4px 6px}.g .g-welcome-top button:hover{opacity:1}.g .g-welcome-top .on{opacity:1;text-underline-offset:4px;font-weight:800;text-decoration:underline}.g-welcome-body{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding-top:24px;padding-bottom:32px;display:flex}.g-welcome-body .logo{width:150px;height:150px;animation:.9s cubic-bezier(.34,1.56,.64,1) g-pop}.g-welcome-body h1{letter-spacing:-.02em;margin:16px 0 4px;font-size:46px;font-weight:900}.g-welcome-body .tagline{opacity:.95;margin:0 0 8px;font-size:18px;font-weight:700}.g-welcome-body .lead{opacity:.88;max-width:460px;margin:0 0 28px}.g-welcome-action{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:58px;display:flex}.g-welcome-action .btn.white{min-width:240px;min-height:58px;font-size:18px}.g-welcome-action .error{max-width:360px;margin:0;font-weight:600}.g-welcome-body .note{opacity:.8;max-width:360px;margin:16px 0 0;font-size:12.5px}.g-welcome-foot,.g-foot{flex-wrap:wrap;justify-content:center;gap:6px 16px;padding:18px 16px 26px;font-size:13px;display:flex}.g .g-welcome-foot a{color:#fff;opacity:.8;text-decoration:none}.g-foot{padding-top:36px}.g .g-foot a{color:var(--ink-soft);text-decoration:none}.g .g-welcome-foot a:hover,.g .g-foot a:hover{opacity:1;text-decoration:underline}@keyframes g-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.g-home{background:var(--backdrop);flex-direction:column;min-height:100dvh;display:flex}.g-hero{color:#fff}.g-top{align-items:center;gap:12px;padding:16px 0 0;display:flex}.g .g-brand{color:#fff;letter-spacing:-.01em;flex:none;align-items:center;gap:10px;font-size:20px;font-weight:800;text-decoration:none;display:flex}.g-brand img{width:40px;height:40px}.g-brand .name{display:none}@media (min-width:720px){.g-brand .name{display:inline}}.g-top-nav{gap:8px;min-width:0;margin-left:auto;display:flex}.g .chip{color:#fff;cursor:pointer;white-space:nowrap;background:#fff3;border:0;border-radius:999px;align-items:center;gap:6px;min-width:0;height:36px;padding:0 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.g .chip:hover{background:#ffffff4d}.chip svg{flex:none}.chip .ellipsis{text-overflow:ellipsis;max-width:180px;overflow:hidden}.g-hero h1{margin:14px 0 0;padding-bottom:20px;font-size:24px;font-weight:800}@media (min-width:720px){.g-hero h1{padding-bottom:28px;font-size:30px}}.g-sheet{background:var(--canvas);border-radius:32px 32px 0 0;flex:1;padding:28px 0 0}.g-cats{grid-template-columns:1fr;gap:16px;display:grid}@media (min-width:720px){.g-cats{grid-template-columns:repeat(2,1fr);gap:20px}}@media (min-width:1080px){.g-cats{grid-template-columns:repeat(3,1fr)}}.g-cat{background:var(--surface);border-radius:var(--r-card);text-align:left;cursor:pointer;border:0;flex-direction:column;gap:14px;padding:18px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 4px 14px #6d3bef24}.g-cat:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 12px 26px #6d3bef2e}.g-cat:disabled{opacity:.55;cursor:default;box-shadow:none}.g-cat .logo{aspect-ratio:16/9;object-fit:contain;background:var(--canvas);border-radius:18px;width:100%;height:auto;display:block}.g-cat .row{align-items:baseline;gap:8px;display:flex}.g-cat .title{flex:1;font-size:21px;font-weight:800}.g-cat .count{color:var(--ink-soft);white-space:nowrap;font-size:13px}.g-cat .btn{min-height:50px}.g-unsupported{background:var(--canvas);border-radius:var(--r-button);padding:12px 14px;font-size:13px;font-weight:600;display:block}.g-unsupported .langs{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.g-unsupported .langs span{border:1px solid var(--line);background:#fff;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:600}.g-modal-backdrop{z-index:50;background:#0000008c;justify-content:center;align-items:flex-end;animation:.18s g-fade;display:flex;position:fixed;inset:0}.g-modal{background:var(--surface);width:100%;max-height:92dvh;padding:12px 20px calc(20px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;animation:.22s cubic-bezier(.2,.8,.2,1) g-up;overflow:auto}.g-modal .handle{background:#6b63854d;border-radius:2px;width:40px;height:4px;margin:0 auto 16px}.g-modal h2{margin:0;font-size:20px;font-weight:800}.g-modal .actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}@media (min-width:720px){.g-modal-backdrop{align-items:center;padding:24px}.g-modal{border-radius:28px;max-width:560px;padding:26px 28px;animation:.2s g-pop}.g-modal .handle{display:none}}.g-modal.dialog{border-radius:24px;margin:0 16px 16px}@media (min-width:720px){.g-modal.dialog{max-width:440px;margin:0}}@keyframes g-fade{0%{opacity:0}}@keyframes g-up{0%{opacity:.5;transform:translateY(40px)}}.g-modal.mode-sheet{background:var(--canvas)}.mode-sub{justify-content:space-between;align-items:center;gap:8px;margin:2px 0 10px;display:flex}.mode-tile{text-align:left;border-radius:var(--r-card);background:var(--surface);cursor:pointer;border:0;align-items:center;gap:14px;width:100%;padding:16px;transition:box-shadow .15s;display:flex}.mode-tile:hover{box-shadow:0 6px 16px #6d3bef24}.mode-tile .icon{width:48px;height:48px;color:var(--tile);background:color-mix(in srgb, var(--tile) 14%, transparent);border-radius:16px;flex:none;place-items:center;display:grid}.mode-tile .text{flex:1;min-width:0}.mode-tile b{font-size:17px;font-weight:800;display:block}.mode-tile .text span{color:var(--ink-soft);margin-top:2px;font-size:13px;display:block}.mode-tile .chev{color:var(--ink-soft);flex:none}.mode-tile.challenge{background:linear-gradient(115deg, var(--violet-deep) 0%, var(--violet) 100%);color:#fff;padding:18px 16px;animation:.42s cubic-bezier(.2,1.5,.4,1) both g-challenge-in,1.2s ease-in-out .7s 24 alternate g-challenge-call;box-shadow:0 10px 24px #3f1d9b57}.mode-tile.challenge:hover{box-shadow:0 12px 28px #3f1d9b70}.mode-tile.challenge:active{transform:scale(.98)}.g .mode-tile.challenge:focus-visible{outline-color:var(--amber)}.mode-tile.challenge .icon{width:54px;height:54px;color:var(--violet-deep);background:var(--amber);border-radius:50%}.mode-tile.challenge .chev{color:#fff}.mode-tile.challenge .head{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.mode-tile.challenge b{color:#fff;font-size:20px}.mode-tile.challenge .text .free{background:var(--amber);color:var(--violet-deep);border-radius:999px;margin:0;padding:1px 9px;font-size:12px;font-weight:800}.mode-tile.challenge .text .desc{color:#ffffffd6}.mode-tile.challenge .text .seats{color:#fff;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:9px;font-size:12px;font-weight:700;display:flex}.mode-tile.challenge .text .dots{gap:5px;margin:0;display:inline-flex}.mode-tile.challenge .text .dot{background:#ffffff38;border-radius:50%;width:11px;height:11px;margin:0}.mode-tile.challenge .text .dot.taken{background:var(--amber);animation:g-seat-in .26s cubic-bezier(.2, 1.6, .4, 1) calc(var(--i) * 45ms + .16s) both}.mode-tile.challenge .text .dot.mine{box-shadow:inset 0 0 0 2px var(--amber);background:0 0;animation:1.2s ease-in-out .7s 24 alternate g-seat-mine}.mode-tile.challenge.calm,.mode-tile.challenge.calm .text .dot{animation:none}@keyframes g-challenge-in{0%{transform:scale(.94)}}@keyframes g-challenge-call{to{box-shadow:0 10px 24px #3f1d9b57,0 0 0 4px #ffb02099}}@keyframes g-seat-in{0%{transform:scale(0)}}@keyframes g-seat-mine{to{transform:scale(1.35)}}@media (prefers-reduced-motion:reduce){.mode-tile.challenge,.mode-tile.challenge .text .dot,.mode-tile.challenge .text .dot.taken,.mode-tile.challenge .text .dot.mine{animation:none}}.field{flex-direction:column;gap:6px;display:flex}.input{border:1.6px solid var(--line);width:100%;height:50px;font:inherit;background:var(--surface);color:var(--ink);border-radius:16px;padding:0 14px;font-size:16px}.input:focus{border-color:var(--violet);outline:none}textarea.input{resize:vertical;background:var(--canvas);border-color:#0000;height:auto;padding:12px 14px}textarea.input:focus{border-color:var(--violet)}.input-wrap{position:relative}.input-wrap .input{padding-right:44px}.input-wrap .suffix{display:flex;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.input-wrap .suffix .ok{color:var(--correct);font-size:18px;font-weight:900}.helper{color:var(--ink-soft);font-size:13px}.welcome-body{white-space:pre-line;margin:10px 0 0;font-size:14px;line-height:1.55}.welcome-later{color:var(--ink-soft);margin:6px 0 0;font-size:12px}.helper.ok{color:var(--correct)}.helper.bad{color:var(--wrong)}.radio-row{cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:10px 4px;font-size:15px;display:flex}.radio-row:hover{background:var(--canvas)}.radio-row input{width:20px;height:20px;accent-color:var(--violet);flex:none}.g-subhead{align-items:center;gap:10px;padding:16px 0 14px;display:flex}.g .g-subhead .back{background:var(--surface);cursor:pointer;width:44px;height:44px;color:var(--ink);border:0;border-radius:50%;flex:none;place-items:center;text-decoration:none;display:grid}.g-subhead .back:hover{box-shadow:0 2px 8px #6d3bef26}.g-subhead h1{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:20px;font-weight:800;overflow:hidden}.g-subhead .sub{color:var(--ink-soft);font-size:13px}.g-quiz{background:var(--backdrop);min-height:100dvh;padding-bottom:32px}.g-play{max-width:1040px}.g-quiz-head{color:#fff;align-items:center;gap:14px;padding:12px 0 12px 4px;display:flex}.g-quiz-head .progress{flex:1;min-width:0}.g-quiz-head .progress .nums{justify-content:space-between;font-weight:700;display:flex}.g-quiz-head .bar{background:#ffffff40;border-radius:999px;height:7px;margin-top:8px;overflow:hidden}.g-quiz-head .bar i{background:#fff;border-radius:999px;height:100%;transition:width .3s;display:block}.g .g-quiz-head .exit{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid}.g-quiz-head .exit:hover{background:#ffffff26}.score-pop{transform-origin:100%;animation:.45s g-score-pop;display:inline-block}@keyframes g-score-pop{50%{transform:scale(1.22)}}.timer{flex:none;width:54px;height:54px;position:relative}.timer svg{width:54px;height:54px;display:block;transform:rotate(-90deg)}.timer .bg{fill:#ffffff2e;transition:fill .2s}.timer.urgent .bg{fill:var(--wrong)}.timer .track{fill:none;stroke:#ffffff4d;stroke-width:4.5px}.timer .arc{fill:none;stroke:#fff;stroke-width:4.5px;stroke-linecap:round;stroke-dasharray:161.8;stroke-dashoffset:0}.timer .arc.run{animation:g-drain var(--t) linear forwards}.timer .arc.paused{animation-play-state:paused}.timer .num{color:#fff;place-items:center;font-size:21px;font-weight:800;display:grid;position:absolute;inset:0}@keyframes g-drain{to{stroke-dashoffset:161.8px}}.g-quiz-card{background:var(--surface);border-radius:var(--r-card);min-height:360px;padding:20px;position:relative}@media (min-width:720px){.g-quiz-card{padding:28px}}.g-quiz-meta{justify-content:center;align-items:center;gap:8px;margin-bottom:16px;display:flex}.g-quiz-meta .stars{color:var(--amber);letter-spacing:1px}.g-quiz-meta .pts{color:var(--ink-soft);font-size:13px}.g-intro{flex-direction:column;justify-content:center;align-items:center;min-height:320px;display:flex}.g-intro .label{color:var(--ink-soft);letter-spacing:1px;font-size:16px;font-weight:700}.g-intro .num{color:var(--violet);font-size:76px;font-weight:900;line-height:1.1;animation:.42s cubic-bezier(.34,1.56,.64,1) g-intro-pop}.g-intro .num small{color:var(--ink-soft);font-size:24px;font-weight:800}@keyframes g-intro-pop{0%{transform:scale(.6)}}.g-swap{animation:.26s cubic-bezier(.2,.8,.2,1) g-swap-in}@keyframes g-swap-in{0%{opacity:0;transform:translate(6%)}}.g-q-image,.choice.image,.review-row .thumb,.review-images div{--pad:12px}.choice.image{--pad:10px}.review-row .thumb{--pad:4px}.review-images div{--pad:6px}.g-q-image img,.choice.image img,.review-row .thumb img,.review-images img{top:var(--pad);left:var(--pad);width:calc(100% - 2 * var(--pad));height:calc(100% - 2 * var(--pad));object-fit:contain;position:absolute}.g-q-layout{flex-direction:column;gap:20px;display:flex}@media (min-width:960px){.g-q-layout.split{grid-template-columns:1.1fr 1fr;align-items:center;gap:32px;display:grid}}.g-q-image{background:var(--canvas);border-radius:20px;height:180px;position:relative}@media (min-width:720px){.g-q-image{height:260px}}@media (min-width:960px){.g-q-layout.split .g-q-image{height:360px}}.g-q-image.big{height:200px}@media (min-width:720px){.g-q-image.big{height:260px}}.g-statement{text-align:center;background:#6d3bef14;border:1px solid #6d3bef33;border-radius:20px;padding:18px 20px}.g-statement b{font-size:24px;font-weight:800;display:block}.g-statement span{color:var(--ink-soft);margin-top:6px;font-size:13px;display:block}.g-ox{grid-template-columns:1fr 1fr;gap:14px;display:grid}.choice{cursor:pointer;border-radius:var(--r-button);background:var(--canvas);text-align:left;border:0;width:100%;transition:opacity .2s,background .2s;position:relative}.choice:disabled{cursor:default}.choice:after{content:"";border-radius:inherit;pointer-events:none;transition:box-shadow .16s;position:absolute;inset:0}.choice:hover:not(:disabled){background:#eee7ff}.choice.selected{background:#6d3bef1a}.choice.selected:after{box-shadow:inset 0 0 0 3.5px var(--violet)}.choice.correct{background:var(--correct-soft);animation:.42s g-correct}.choice.correct:after{box-shadow:inset 0 0 0 3.5px var(--correct)}.choice.wrong{background:var(--wrong-soft);animation:.42s g-shake}.choice.wrong:after{box-shadow:inset 0 0 0 3.5px var(--wrong)}.choice.dimmed{opacity:.4}.g .choice .badge{color:#fff;z-index:1;border:2.5px solid #fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:15px;font-weight:900;line-height:1;animation:.32s cubic-bezier(.34,1.56,.64,1) g-pop;display:grid;position:absolute;top:-8px;right:-8px}.choice.correct .badge{background:var(--correct)}.choice.wrong .badge{background:var(--wrong)}@keyframes g-correct{50%{transform:scale(1.05)}}@keyframes g-shake{15%{transform:translate(-9px)}35%{transform:translate(7px)}55%{transform:translate(-5px)}75%{transform:translate(3px)}}.g .choice.ox{color:#fff;text-align:center;height:88px;font-size:38px;font-weight:900;line-height:1}.choice.ox.o,.choice.ox.o:hover:not(:disabled){background:var(--correct)}.choice.ox.x,.choice.ox.x:hover:not(:disabled){background:var(--wrong)}.choice.ox:hover:not(:disabled){filter:brightness(1.06)}.choice.ox.none:disabled{opacity:.4}.choice.text{align-items:center;gap:14px;padding:16px;font-size:17px;font-weight:600;display:flex}.g .choice.text .no{background:var(--violet);color:#fff;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:14px;font-weight:800;display:grid}.choice.text.correct .no{background:var(--correct)}.choice.text.wrong .no{background:var(--wrong)}.g-choices{flex-direction:column;gap:10px;display:flex}.g-words{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.g-words span{color:var(--violet-deep);background:#6d3bef1a;border:1px solid #6d3bef40;border-radius:999px;padding:12px 18px;font-size:16px;font-weight:700}.g-assoc{grid-template-columns:1fr;gap:10px;display:grid}@media (min-width:720px){.g-assoc{grid-template-columns:repeat(3,1fr);gap:16px}}.choice.image{height:120px}@media (min-width:720px){.choice.image{height:220px}}.g .choice.image .key-no{color:#fff;background:#6d3befd9;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;font-weight:800;display:none;position:absolute;top:10px;left:10px}.kbd-hint{text-align:center;color:#ffffffd9;margin-top:14px;font-size:12px;display:none}@media (hover:hover) and (min-width:960px){.kbd-hint{display:block}.g .choice.image .key-no{display:grid}}.g-feedback-backdrop{z-index:40;background:#0000008c;place-items:center;padding:24px;animation:.2s g-fade;display:grid;position:fixed;inset:0}.g-feedback{--accent:var(--correct);--soft:var(--correct-soft);background:var(--surface);border-radius:var(--r-card);text-align:center;width:100%;max-width:360px;padding:26px 24px 20px;animation:.28s cubic-bezier(.34,1.56,.64,1) g-pop;box-shadow:0 20px 50px #00000059}.g-feedback.is-wrong{--accent:var(--wrong);--soft:var(--wrong-soft)}.g-feedback .emoji{font-size:52px;line-height:1.15}.g-feedback h2{color:var(--accent);margin:6px 0 16px;font-size:24px;font-weight:800}.g-feedback .box{background:var(--soft);border-radius:20px;padding:16px}.g-feedback .gained{color:var(--accent);font-size:32px;font-weight:900}.g-feedback .answer{margin-top:4px;font-size:20px;font-weight:800}.g-feedback .answer-img{justify-content:center;height:84px;margin:8px auto 0;display:flex}.g-feedback .answer-img img{object-fit:contain;width:auto;max-width:100%;height:84px}.g-feedback .countdown{background:var(--soft);border-radius:999px;height:8px;margin:18px 0 14px;overflow:hidden}.g-feedback .countdown i{background:var(--accent);border-radius:999px;height:100%;animation:2.2s linear forwards g-countdown;display:block}@keyframes g-countdown{0%{width:100%}to{width:0%}}.confetti{pointer-events:none;z-index:60;position:fixed;inset:0;overflow:hidden}.confetti i{top:var(--y0);animation:g-confetti var(--d) linear forwards;position:absolute;left:50%}@keyframes g-confetti{0%{opacity:1;animation-timing-function:cubic-bezier(.15,.6,.4,1);transform:translate(0)rotate(0)}35%{transform:translate(calc(var(--dx) * .8), var(--up)) rotate(calc(var(--rot) * .35));opacity:1;animation-timing-function:cubic-bezier(.5,0,.9,.6)}75%{opacity:1}to{transform:translate(var(--dx), var(--fall)) rotate(var(--rot));opacity:0}}.g-result{text-align:center;color:#fff;cursor:default;max-width:920px;padding-top:32px;padding-bottom:24px}.g-result .emoji{font-size:72px;line-height:1.2;animation:.8s cubic-bezier(.34,1.56,.64,1) g-pop}.g-result h1{margin:8px 0 20px;font-size:30px;font-weight:900}.g-result-cards{color:var(--ink);text-align:left;gap:14px;display:grid}@media (min-width:900px){.g-result-cards{grid-template-columns:1fr 1fr;align-items:start}}.g-result .reveal{opacity:0;animation:.5s cubic-bezier(.2,.8,.2,1) forwards g-rise;animation-delay:var(--at,0s)}.g-result .rank.pop{animation:.6s cubic-bezier(.34,1.56,.64,1) both g-pop;animation-delay:var(--at,0s)}.g-result.skip .reveal,.g-result.skip .rank.pop,.g-result.skip .emoji{opacity:1;animation:none}@keyframes g-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.g-score-card{text-align:center;padding:26px 18px}.g-score-card .big{color:var(--violet);margin-top:4px;font-size:60px;font-weight:900;line-height:1.1}.g-rank-card{padding:20px}.g-rank-card .rank{margin-top:4px;font-size:26px;font-weight:900}.g-rank-card .btn.ghost{margin-top:4px}.rank-row{background:var(--canvas);border-radius:16px;align-items:center;gap:12px;margin-top:8px;padding:12px 14px;display:flex}.rank-row.me{background:#6d3bef1a;box-shadow:inset 0 0 0 1px #6d3bef66}.rank-row .medal{text-align:center;width:26px;font-size:19px}.rank-row .name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.rank-row.me .name{font-weight:800}.rank-row .pts{color:var(--ink-soft);font-weight:700}.result-error{opacity:.9;margin:14px 0 0;font-size:13px}.g-result .buttons{grid-template-columns:1fr 1fr;gap:12px;max-width:520px;margin:24px auto 0;display:grid}.g-result .buttons .btn{min-height:54px}.g-overlay{z-index:45;background:var(--canvas);color:var(--ink);text-align:left;padding-bottom:40px;animation:.2s g-fade;position:fixed;inset:0;overflow-y:auto}.g-medals{background:var(--backdrop);color:#fff;border-radius:var(--r-card);padding:16px 20px 18px}.g-medals .top{justify-content:space-between;font-weight:800;display:flex}.g-medals .top span{opacity:.9;font-size:13px;font-weight:600}.g-medals .row{text-align:center;grid-template-columns:repeat(3,1fr);margin-top:12px;display:grid}.g-medals .row b{font-size:22px;font-weight:900;display:block}.g-medals .row .e{font-size:34px;line-height:1.2}.g-history{grid-template-columns:1fr;gap:10px;display:grid}@media (min-width:900px){.g-history{grid-template-columns:1fr 1fr;gap:14px}}.g .g-hcard{background:var(--surface);color:inherit;border-radius:20px;align-items:center;gap:14px;padding:14px 10px 14px 14px;text-decoration:none;transition:box-shadow .15s;display:flex}.g-hcard:hover{box-shadow:0 6px 16px #6d3bef1f}.g-hcard .info{flex-direction:column;flex:1;min-width:0;display:flex}.g-hcard .title{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:800;overflow:hidden}.g-hcard .date{color:var(--ink-soft);margin-top:2px;font-size:12px}.g-hcard .line{margin-top:4px;font-size:13px;font-weight:600}.g-hcard .pts{color:var(--violet);white-space:nowrap;font-size:17px;font-weight:900}.g-hcard .chev{color:var(--ink-soft);flex:none}.rank-badge{color:var(--ink-soft);background:var(--canvas);white-space:nowrap;border-radius:50%;flex:none;place-items:center;font-weight:800;line-height:1;display:grid}.rank-badge.gold{background:#fff1bf}.rank-badge.silver{background:#eceff4}.rank-badge.bronze{background:#fbe2cc}.g-tree-grid{gap:14px;display:grid}@media (min-width:960px){.g-tree-grid{grid-template-columns:1.3fr 1fr;align-items:start}}.g-my-result{background:var(--backdrop);color:#fff;border-radius:var(--r-card);align-items:center;gap:16px;padding:18px;display:flex}.g-my-result .main{flex:1;min-width:0}.g-my-result .medal-name{opacity:.9;font-size:13px;font-weight:700}.g-my-result .rank{font-size:22px;font-weight:900}.g-my-result .sub{opacity:.9;margin-top:2px;font-size:13px;font-weight:600}.g-my-result .pts{white-space:nowrap;font-size:24px;font-weight:900}.chart{width:100%}.chart svg{display:block}.chart .axis{fill:var(--ink-soft);font-size:10px}.chart-reveal{transform-box:fill-box;transform-origin:0;animation:1.1s cubic-bezier(.2,.8,.2,1) both g-chart}@keyframes g-chart{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.participant{background:var(--canvas);text-align:left;cursor:pointer;border:1.4px solid #0000;border-radius:16px;align-items:center;gap:10px;width:100%;margin-bottom:8px;padding:8px 14px 8px 10px;display:flex}.participant:disabled{cursor:default}.participant.me{background:#6d3bef14}.participant.me:disabled{border-color:color-mix(in srgb, var(--pc) 60%, transparent)}.participant.on{background:color-mix(in srgb, var(--pc) 12%, transparent);border-color:color-mix(in srgb, var(--pc) 60%, transparent)}.participant .bar{background:var(--pc);border-radius:3px;flex:none;width:5px;height:28px}.participant .name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.participant.me .name{font-weight:800}.participant .name.gone{color:var(--ink-soft)}.participant .pts{color:var(--ink-soft);white-space:nowrap;font-weight:700}.g-review{grid-template-columns:1fr;gap:8px;display:grid}@media (min-width:720px){.g-review{grid-template-columns:1fr 1fr}}.review-row{background:var(--canvas);text-align:left;cursor:pointer;border:0;border-radius:16px;align-items:center;gap:12px;width:100%;padding:8px;display:flex}.review-row:hover{background:#efe8ff}.review-row .thumb{background:#fff;border-radius:12px;flex:none;width:52px;height:52px;position:relative;overflow:hidden}.review-row .main{flex-direction:column;flex:1;align-items:flex-start;min-width:0;display:flex}.review-row .label{color:var(--ink-soft);font-size:12px}.review-row .ans{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:15px;font-weight:700;overflow:hidden}.mark{border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.mark.ok{background:var(--correct-soft);color:var(--correct)}.mark.no{background:var(--wrong-soft);color:var(--wrong)}.claim-chip{border-radius:999px;margin-top:2px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.claim-chip.open{color:#9a6200;background:#fff3d6}.claim-chip.accepted{background:var(--correct-soft);color:var(--correct)}.claim-chip.rejected{color:var(--ink-soft);background:#edebf3}.review-choice{background:var(--canvas);border-radius:14px;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.review-choice.correct{background:var(--correct-soft);color:var(--correct);font-weight:800}.review-choice.correct span{color:var(--ink)}.review-words{flex-wrap:wrap;gap:6px;display:flex}.review-words span{background:var(--canvas);border-radius:999px;padding:4px 12px;font-size:14px}.review-images{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.review-images div{background:var(--canvas);border-radius:14px;height:96px;position:relative;box-shadow:inset 0 0 0 3px #0000}@media (min-width:720px){.review-images div{height:140px}}.review-images div.correct{box-shadow:inset 0 0 0 3px var(--correct)}.g-section-label{color:var(--ink-soft);margin:24px 4px 10px;font-size:13px;font-weight:700}.g-hint{color:var(--ink-soft);margin:8px 4px 0;font-size:12px}.g-list{background:var(--surface);border-radius:var(--r-card);overflow:hidden}.g-list>*+*{border-top:1px solid var(--line)}.g .g-list-row{text-align:left;cursor:pointer;width:100%;min-height:56px;color:inherit;background:0 0;border-bottom:0;border-left:0;border-right:0;align-items:center;gap:10px;padding:14px 18px;font-size:15px;text-decoration:none;display:flex}.g-list>.g-list-row:first-child{border-top:0}.g-list-row:hover:not(:disabled):not(div){background:var(--canvas)}.g-list-row:disabled,div.g-list-row{cursor:default}.g-list-row .label{flex:1;min-width:0}.g-list-row .value{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;max-width:60%;font-weight:700;overflow:hidden}.g-list-row.selected .label{color:var(--violet);font-weight:800}.g-list-row.volume{color:var(--ink-soft)}.g-list-row.volume.off{opacity:.5}.g-list-row.license .label{flex-direction:column;display:flex}.g-list-row.license .label .muted{font-size:12px}.switch{background:#d9d3e8;border-radius:999px;flex:none;width:46px;height:28px;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.switch.on{background:var(--violet)}.switch.on:after{transform:translate(18px)}.range{accent-color:var(--violet);flex:1}.license-text{white-space:pre-wrap;color:var(--ink-soft);margin:0;padding:16px;font-family:inherit;font-size:12px;line-height:1.6}.g-toast{left:50%;bottom:calc(28px + env(safe-area-inset-bottom));color:#fff;z-index:70;background:#2a2140;border-radius:14px;max-width:calc(100% - 32px);padding:12px 18px;font-size:14px;animation:.2s g-toast-in;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #00000040}@keyframes g-toast-in{0%{opacity:0;transform:translate(-50%,12px)}}@media (prefers-reduced-motion:reduce){.g *,.g :before,.g :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-delay:0s!important}.confetti{display:none}.delayed{opacity:1}}.rank-links{flex-wrap:wrap;justify-content:center;gap:4px;margin-top:4px;display:flex}.g-subhead .subhead-share{flex:none}@media (max-width:480px){.g-subhead .subhead-share{gap:0;padding:0 10px;font-size:0}.g-subhead .subhead-share svg{width:20px;height:20px}}.invite-banner{background:#fff3;border-radius:999px;max-width:460px;margin:-12px 0 22px;padding:10px 16px;font-size:15px;font-weight:700}.g-modal.invite-sheet{background:var(--canvas)}.notice-popup .notice-kicker{color:var(--violet);align-items:center;gap:6px;margin:0 0 6px;font-size:13px;font-weight:800;display:flex}.notice-popup .notice-kicker .pos{color:var(--ink-soft);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:700}.notice-popup .notice-body{white-space:pre-wrap;overflow-wrap:anywhere;max-height:55dvh;margin-top:12px;line-height:1.6;overflow-y:auto}.notice-popup .notice-body a{color:var(--violet)}.notice-popup .notice-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.notice-popup .notice-check{color:var(--ink-soft);cursor:pointer;align-items:center;gap:8px;min-height:40px;font-size:14px;display:inline-flex}.notice-popup .notice-check input{width:18px;height:18px;accent-color:var(--violet);margin:0}.invite-body{text-align:center}.invite-body .emoji{font-size:44px;line-height:1.2}.invite-body h2{margin-top:6px}.invite-body>.muted{margin:4px 0 14px}.invite-card{text-align:left;background:var(--surface);border-radius:20px;align-items:center;gap:14px;padding:12px;display:flex}.invite-card .logo{object-fit:contain;background:var(--canvas);border-radius:12px;flex:none;width:112px;height:63px}.invite-card .info{flex-direction:column;gap:2px;min-width:0;display:flex}.invite-card .info b{font-size:18px;font-weight:800}.invite-card .info span{font-size:13px}.invite-note{color:#7a5200;background:#fff3d6;border-radius:14px;margin:12px 0 0;padding:10px 12px;font-size:13px;font-weight:600}.invite-body .actions{justify-content:center}.cp-coin{color:#7a4a00;letter-spacing:-.02em;background:linear-gradient(135deg,#ffd45c,#f2a516);border-radius:50%;flex:none;place-items:center;font-weight:900;line-height:1;display:inline-grid}.mode-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.mode-head h2{min-width:0}.cp-chip{background:color-mix(in srgb, var(--amber) 14%, transparent);color:var(--ink);cursor:pointer;border:0;border-radius:999px;flex:none;align-items:center;gap:6px;padding:5px 12px 5px 6px;font-size:13px;font-weight:800;display:inline-flex}.cp-chip:hover{background:color-mix(in srgb, var(--amber) 24%, transparent)}.mode-tile:disabled{opacity:.55;cursor:default}.mode-tile:disabled:hover{box-shadow:none}.mode-tile .text .note{color:var(--ink);align-items:center;gap:5px;margin-top:6px;font-size:12px;font-weight:700;display:flex}.cp-rules-title{align-items:center;gap:10px;display:flex}.cp-rules{white-space:pre-line;margin:12px 0 0;font-size:14px;line-height:1.55}.cp-reward{background:color-mix(in srgb, var(--amber) 14%, transparent);border-radius:999px;align-items:center;gap:6px;margin-top:10px;padding:5px 12px 5px 6px;font-size:13px;font-weight:800;display:inline-flex}.g-list-row .cp-coin{margin-right:10px}.promo-banner{text-align:left;background:#fff3;border-radius:18px;align-items:center;gap:12px;width:100%;max-width:460px;margin:-12px 0 22px;padding:10px;display:flex}.promo-banner .logo{aspect-ratio:16/9;object-fit:cover;background:#ffffff4d;border-radius:12px;flex:none;width:104px;height:auto}.promo-banner p{flex-direction:column;gap:2px;min-width:0;margin:0;display:flex}.promo-banner strong{font-size:16px;font-weight:800}.promo-banner span{opacity:.85;font-size:14px}.avatar{flex:none;display:inline-block;position:relative}.avatar img{width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;position:absolute;inset:0}.avatar.cheer{animation:.55s ease-out avatar-hop}.avatar.sad{animation:.6s ease-out avatar-droop}@keyframes avatar-hop{0%{transform:translateY(0)}35%{transform:translateY(-18%)}60%{transform:translateY(0)}80%{transform:translateY(-6%)}to{transform:translateY(0)}}@keyframes avatar-droop{0%{transform:translateY(-4%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.avatar.cheer,.avatar.sad{animation:none}}.avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.g .avatar-choice{border:2px solid var(--line);background:var(--surface);cursor:pointer;color:var(--ink);font:inherit;border-radius:18px;flex-direction:column;align-items:center;gap:6px;padding:12px 4px 10px;display:flex}.g .avatar-choice:hover{border-color:var(--violet)}.g .avatar-choice.selected{border-color:var(--violet);background:var(--violet-soft)}.g .avatar-choice:disabled{cursor:default;opacity:.6}.avatar-choice .name{font-size:13px;font-weight:700}.avatar-wait{place-items:center;display:grid}.avatar-apply{padding:12px 20px calc(16px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);margin:14px -20px -20px;position:sticky;bottom:-20px}.avatar-apply .cost{color:var(--ink);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:0 0 10px;font-size:13px;font-weight:700;display:flex}.avatar-apply .cost.short{color:var(--wrong)}.avatar-apply .balance{color:var(--ink-soft);font-weight:600}.avatar-choice.current .name:after{content:" ✓";color:var(--violet)}@media (max-width:360px){.avatar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.avatar-nudge{background:var(--surface);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:20px;align-items:center;gap:12px;margin:0 0 14px;padding:10px 14px;font-size:15px;font-weight:700;display:flex;box-shadow:0 6px 18px #1b12351a}.avatar-nudge:hover{box-shadow:inset 0 0 0 2px var(--violet)}.avatar-nudge span.text{flex:1;min-width:0}.studio-strip{scrollbar-width:none;background:#ffffff29;border-radius:18px;gap:6px;margin:0 0 10px;padding:6px 8px;list-style:none;display:flex;overflow-x:auto}.studio-strip::-webkit-scrollbar{display:none}.studio-strip li{color:#fff;border-radius:12px;flex-direction:column;flex:none;align-items:center;width:52px;padding:2px 0;display:flex}.studio-strip li.me{background:#ffffff38}.studio-strip .pic{position:relative}.studio-strip .medal{font-size:14px;line-height:1;position:absolute;top:-4px;right:-6px}.studio-strip .score{font-size:13px;font-weight:900;line-height:1.2}.studio-strip .name{opacity:.85;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;overflow:hidden}.studio-strip.solo{color:#fff;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:700}.studio-board{text-align:left;margin-top:12px}.studio-board .title{color:var(--ink-soft);letter-spacing:.02em;margin:0 2px 6px;font-size:12px;font-weight:800}.studio-board ol{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.studio-board li{background:var(--canvas);animation:.35s ease-out both studio-in;animation-delay:calc(var(--i,0) * 50ms);border-radius:14px;flex-direction:column;align-items:center;padding:6px 2px;display:flex}.studio-board li.me{box-shadow:inset 0 0 0 2px var(--violet);background:var(--violet-soft)}.studio-board li.sad{background:color-mix(in srgb, var(--wrong) 7%, var(--canvas))}.studio-board li.cheer{background:color-mix(in srgb, var(--correct) 9%, var(--canvas))}.studio-board li.me.cheer,.studio-board li.me.sad{background:var(--violet-soft)}.studio-board .pic{position:relative}.studio-board .medal{font-size:18px;line-height:1;position:absolute;top:-6px;right:-8px}.studio-board .name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:2px;font-size:11px;font-weight:700;overflow:hidden}.studio-board .score{color:var(--violet);font-size:12px;font-weight:900}.studio-first{color:var(--ink-soft);margin:10px 0 0;font-size:13px}@keyframes studio-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.studio-board li{animation:none}}.pin-dialog form{text-align:center}.pin-dialog .lock{font-size:40px}.g .pin-input{text-align:center;letter-spacing:.4em;width:100%;max-width:220px;margin:16px auto 0;padding-left:.4em;font-size:28px;font-weight:900;display:block}.pin-error{min-height:20px;color:var(--wrong);margin:8px 0 0;font-size:13px;font-weight:700}.pin-dialog .actions{justify-content:center}.private-badge{background:var(--violet-soft);color:var(--violet);vertical-align:middle;border-radius:999px;align-items:center;gap:3px;padding:1px 8px;font-size:11px;font-weight:800;display:inline-flex}.private-pin{color:var(--ink);font-variant-numeric:tabular-nums;-webkit-user-select:all;user-select:all;align-items:center;gap:4px;font-size:12px;font-weight:800;display:inline-flex}.private-note{color:var(--ink-soft);margin:10px 0 0;font-size:13px}.g-my-result .private-badge{color:#fff;background:#fff3}.g-my-result .private-pin{color:#fff}.claim-results .kicker{color:var(--violet);align-items:center;gap:6px;margin:0 0 6px;font-size:13px;font-weight:800;display:flex}.claim-results .intro{margin:8px 0 0}.claim-results .claim-list{max-height:52dvh;margin-top:14px;overflow-y:auto}.claim-list{flex-direction:column;gap:10px;display:flex}.claim-list.page{gap:12px;padding-bottom:32px}.claim-card{background:var(--canvas);border:2px solid #0000;border-radius:18px;padding:12px}.claim-list.page .claim-card{background:var(--surface)}.claim-list.page .claim-card .thumb{background:var(--canvas)}.claim-card.fresh{border-color:var(--violet)}.claim-card .head{align-items:center;gap:12px;display:flex}.claim-card .thumb{--pad:4px;background:#fff;border-radius:12px;flex:none;width:56px;height:56px;position:relative;overflow:hidden}.claim-card .thumb img{inset:var(--pad);width:calc(100% - var(--pad) * 2);height:calc(100% - var(--pad) * 2);object-fit:contain;position:absolute}.claim-card .main{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}.claim-card .label{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;font-weight:600;overflow:hidden}.claim-card .ans{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:15px;font-weight:800;overflow:hidden}.claim-card .tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.claim-card .tags .claim-chip{margin-top:0}.claim-card .tags .reason{color:var(--ink-soft);font-size:12px}.claim-card .mine{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 0;font-size:14px}.claim-card .k{color:var(--ink-soft);margin-bottom:2px;font-size:12px;font-weight:700;display:block}.claim-card .decision{margin:10px 0 0;font-size:14px;font-weight:700}.claim-card.accepted .decision{color:var(--correct)}.claim-card .reply{background:#efe8ff;border-radius:14px;margin-top:8px;padding:10px 12px}.claim-card .reply .k{color:var(--violet)}.claim-card .reply p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.55}.claim-card .dates{color:var(--ink-soft);margin:8px 0 0;font-size:12px}.claim-results .actions{justify-content:space-between}
