.gmj-app{max-width:720px;margin:0 auto}.gmj-stage{padding:0 0 1.5rem}.gmj-head{text-align:center;margin-bottom:1.25rem}.gmj-badge{letter-spacing:.01em;color:#a5b4fc;background:#6366f11f;border:1px solid #6366f147;border-radius:999px;padding:.3rem .7rem;font-size:.74rem;display:inline-block}.gmj-title{letter-spacing:-.01em;margin:.6rem 0 .4rem;font-size:1.5rem}.gmj-lead{color:var(--text-muted,#94a3b8);margin:0;font-size:.92rem;line-height:1.65}.gmj-hud{grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1rem;display:grid}.gmj-stat{text-align:center;background:#94a3b814;border:1px solid #94a3b829;border-radius:12px;min-width:0;padding:.5rem .35rem}.gmj-stat-label{color:var(--text-muted,#94a3b8);margin-bottom:.15rem;font-size:.68rem;display:block}.gmj-stat-value{font-variant-numeric:tabular-nums;font-size:1rem;font-weight:700;display:block}.gmj-board-wrap{position:relative}.gmj-board{text-align:center;background:#0b1220;border:1px solid #94a3b82e;border-radius:16px;padding:1.75rem 1rem 1.25rem}.gmj-choseong{letter-spacing:.18em;color:#fcd34d;word-break:break-all;margin:0 0 .4rem;font-size:clamp(2.4rem,13vw,3.6rem);font-weight:800}.gmj-length{color:var(--text-muted,#94a3b8);margin:0;font-size:.85rem}.gmj-hints{flex-wrap:wrap;justify-content:center;gap:.4rem;margin:.9rem 0 0;padding:0;list-style:none;display:flex}.gmj-hint{color:#6ee7b7;background:#6ee7b71f;border:1px solid #6ee7b74d;border-radius:999px;padding:.28rem .7rem;font-size:.82rem}.gmj-form{gap:.5rem;margin-top:.9rem;display:flex}.gmj-input{min-width:0;min-height:48px;color:inherit;background:#94a3b814;border:1px solid #94a3b84d;border-radius:12px;flex:auto;padding:.6rem .85rem;font-size:1rem}.gmj-input:focus{outline-offset:1px;outline:2px solid #a5b4fc}.gmj-sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.gmj-feedback{text-align:center;color:#6ee7b7;min-height:1.3rem;margin:.55rem 0 0;font-size:.88rem}.gmj-feedback.is-wrong{color:#fdba74}.gmj-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.75rem;display:flex}.gmj-btn{min-height:48px;color:inherit;cursor:pointer;touch-action:manipulation;background:#94a3b81a;border:1px solid #94a3b84d;border-radius:12px;padding:.6rem 1.1rem;font-size:.92rem;font-weight:600}.gmj-btn:hover:not(:disabled){background:#94a3b82e}.gmj-btn:disabled{opacity:.45;cursor:default}.gmj-btn.is-primary{color:#fff;background:#6366f1;border-color:#6366f1}.gmj-btn.is-primary:hover{background:#4f46e5}.gmj-btn.is-ghost{background:0 0}.gmj-overlay{text-align:center;background:#0b1220f5;border:1px solid #94a3b82e;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1.25rem 1rem;display:flex;position:absolute;inset:0;overflow-y:auto}.gmj-overlay[hidden]{display:none}.gmj-overlay-title{margin:0;font-size:1.15rem;font-weight:700}.gmj-overlay-sub{color:var(--text-muted,#94a3b8);margin:0;font-size:.86rem;line-height:1.6}.gmj-rank{color:#fcd34d;margin:0;font-size:2.6rem;font-weight:800}.gmj-result-title{margin:0;font-size:1.05rem;font-weight:700}.gmj-final-score{font-variant-numeric:tabular-nums;margin:0;font-size:1.5rem;font-weight:800}.gmj-result-meta{color:var(--text-muted,#94a3b8);margin:0;font-size:.84rem}.gmj-best-badge{color:#0b1220;background:#fcd34d;border-radius:999px;margin:0;padding:.25rem .7rem;font-size:.78rem;font-weight:700}.gmj-answers{flex-direction:column;gap:.25rem;width:100%;max-width:320px;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.gmj-answer{color:var(--text-muted,#94a3b8);background:#94a3b814;border-radius:8px;padding:.3rem .6rem;font-size:.82rem}.gmj-best-line{text-align:center;color:var(--text-muted,#94a3b8);margin:.9rem 0 0;font-size:.84rem}.gmj-guide-bar{justify-content:center;margin-top:1rem;display:flex}.gmj-to-guide-btn{min-height:44px;color:var(--text-muted,#94a3b8);cursor:pointer;background:0 0;border:1px solid #94a3b847;border-radius:999px;padding:.5rem 1rem;font-size:.88rem}@media (width<=420px){.gmj-hud{grid-template-columns:repeat(2,1fr)}.gmj-board{padding:1.4rem .75rem 1rem}.gmj-form{flex-wrap:wrap}.gmj-input{flex-basis:100%}.gmj-btn{flex:auto}}
