:root{--paper: #ffffff;--ink: #1a1a2e;--ink-2: #5b5f73;--line: #e6e8f0;--wash: #f5f6fa;--marker: #2650ff;--marker-deep: #1a3ad1;--high: #ffe45c;--coral: #ff5a5f;--green: #2bb673;--r: 14px;--font-hand: "Gaegu", "Nanum Pen Script", cursive;--font-body: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Pretendard", "Noto Sans KR", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-tap-highlight-color:transparent}body{overscroll-behavior-y:contain}button{font:inherit;color:inherit;cursor:pointer}h1,h2,h3,p,ol,ul{margin:0}img{display:block;max-width:100%}:focus-visible{outline:3px solid var(--high);outline-offset:2px}.app{max-width:480px;margin:0 auto;padding:16px 16px calc(16px + env(safe-area-inset-bottom));min-height:100dvh}.muted{color:var(--ink-2)}.btn{border:2px solid var(--ink);background:var(--paper);border-radius:999px;padding:10px 18px;font-weight:700;transition:transform .08s ease,background .12s}.btn:active{transform:translateY(1px) scale(.99)}.btn:disabled{opacity:.45;cursor:default}.btn--big{width:100%;padding:18px;font-size:20px;background:var(--marker);border-color:var(--marker);color:#fff;box-shadow:0 6px 0 var(--marker-deep)}.btn--big:active{box-shadow:0 2px 0 var(--marker-deep);transform:translateY(4px)}.btn--big:disabled{box-shadow:none;transform:none}.btn--submit{margin-top:12px}.btn--ghost{border-color:var(--line);background:var(--wash);font-weight:600}.btn--sm{padding:8px 14px;font-size:14px}.btn--danger{background:var(--coral);border-color:var(--coral);color:#fff}.hero{padding:28px 0 20px}.hero__title{font-family:var(--font-hand);font-size:64px;line-height:.95;letter-spacing:-.01em}.hero__title:after{content:"";display:block;width:92px;height:12px;margin-top:6px;background:var(--high);border-radius:6px 10px 6px 12px;transform:rotate(-2deg)}.hero__sub{margin-top:14px;font-size:16px;line-height:1.5;color:var(--ink-2)}.card{border:2px solid var(--ink);border-radius:var(--r);padding:14px 16px;margin-bottom:14px}.me__row{display:flex;justify-content:space-between;align-items:center;gap:12px}.me__name{border:0;background:none;padding:0;font-size:20px;font-weight:700}.me__name span{color:var(--ink-2);font-size:15px}.me__record{color:var(--ink-2);font-size:14px;margin-top:2px}.me__rating{text-align:right}.me__rating span{display:block;font-family:var(--font-hand);font-size:40px;line-height:1;color:var(--marker)}.me__rating small{color:var(--ink-2);font-size:12px}.me__edit{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.me__edit input{flex:1 1 140px;border:2px solid var(--line);border-radius:10px;padding:9px 12px;font:inherit}.me__err{width:100%;color:var(--coral);font-size:13px}.queue{text-align:center;padding:22px 0;display:grid;gap:14px;justify-items:center}.queue__spinner{width:48px;height:48px;border:5px solid var(--line);border-top-color:var(--marker);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.rules,.board{margin-top:28px}.rules h2,.board h2{font-family:var(--font-hand);font-size:30px;margin-bottom:8px}.rules ol{padding-left:22px;line-height:1.6;color:var(--ink-2)}.rules li::marker{color:var(--marker);font-weight:700}.board__list{list-style:none;padding:0;display:grid;gap:4px}.board__list li{display:grid;grid-template-columns:32px 1fr auto auto;gap:10px;align-items:center;padding:8px 10px;border-radius:10px}.board__list li.is-me{background:var(--wash);outline:2px solid var(--high)}.board__rank{font-family:var(--font-hand);font-size:22px;color:var(--ink-2)}.board__name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board__wl{font-size:13px;color:var(--ink-2)}.board__rating{font-weight:700;color:var(--marker)}.score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:6px 0 10px}.score__side--right{text-align:right}.score__name{font-size:15px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score__off{color:var(--coral);font-weight:500;font-size:12px}.score__dots{display:flex;gap:5px;margin-top:4px}.score__side--right .score__dots{justify-content:flex-end}.score__dots i{width:14px;height:14px;border-radius:50%;border:2px solid var(--ink)}.score__dots i.is-on{background:var(--ink)}.score__mid{font-family:var(--font-hand);font-size:22px;color:var(--ink-2)}.notice{background:#fff3cd;border-radius:10px;padding:10px 12px;font-size:14px;margin-bottom:10px}.banner{background:var(--ink);color:#fff;border-radius:10px;padding:10px 12px;font-size:14px;margin-bottom:10px}.banner--err{background:var(--coral)}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);background:var(--ink);color:#fff;padding:10px 16px;border-radius:999px;font-size:14px;z-index:10}.stage--center{text-align:center;padding:40px 0;display:grid;gap:12px;justify-items:center}.bigword{font-family:var(--font-hand);font-size:72px;line-height:1}.bigword.is-win{color:var(--green)}.bigword.is-lose{color:var(--coral)}.endscore{font-family:var(--font-hand);font-size:44px}.delta{font-size:18px}.delta .up{color:var(--green);font-weight:700}.delta .down{color:var(--coral);font-weight:700}.prompt{display:flex;align-items:baseline;gap:10px;margin:2px 0 8px}.prompt__label{font-size:13px;color:var(--ink-2)}.prompt__word{font-family:var(--font-hand);font-size:44px;line-height:1}.timer{display:grid;grid-template-columns:1fr 44px;align-items:center;gap:10px;margin-bottom:10px}.timer__track{height:14px;background:var(--wash);border-radius:7px;overflow:hidden}.timer__fill{height:100%;background:var(--high);transform-origin:left;border-radius:7px}.timer__num{font-family:var(--font-hand);font-size:30px;text-align:right;line-height:1;font-variant-numeric:tabular-nums}.timer.is-urgent .timer__fill{background:var(--coral)}.timer.is-urgent .timer__num{color:var(--coral)}.draw__canvas{display:block;width:100%;aspect-ratio:1 / 1;touch-action:none;border:2px solid var(--ink);border-radius:var(--r);background:#fff;cursor:crosshair}.draw__canvas.is-disabled{opacity:.6;cursor:default}.draw__tools{margin-top:10px;display:grid;gap:8px}.draw__colors{display:flex;gap:8px;justify-content:space-between}.swatch{width:40px;height:40px;border-radius:50%;border:3px solid transparent;box-shadow:inset 0 0 0 2px #fff}.swatch.is-on{border-color:var(--ink);transform:scale(1.1)}.swatch--eraser{background:#fff;border:2px solid var(--line);font-size:20px;line-height:1}.swatch--eraser.is-on{border-color:var(--ink)}.draw__row{display:flex;justify-content:space-between;align-items:center;gap:8px}.draw__sizes{display:flex;gap:6px}.sizebtn{width:40px;height:40px;border-radius:10px;border:2px solid var(--line);background:#fff;display:grid;place-items:center}.sizebtn span{display:block;border-radius:50%;background:var(--ink)}.sizebtn.is-on{border-color:var(--ink);background:var(--wash)}.draw__actions{display:flex;gap:6px}.draw__actions .btn{padding:8px 12px;font-size:13px}.submitted{margin-top:12px;text-align:center;padding:16px;border-radius:var(--r);background:var(--wash);font-weight:600}.judging{display:flex;align-items:center;gap:10px;justify-content:center;padding:16px;font-weight:600}.judging__dot{width:12px;height:12px;border-radius:50%;background:var(--marker);animation:pulse .9s ease-in-out infinite}@keyframes pulse{50%{transform:scale(1.6);opacity:.4}}.reveal{display:grid;grid-template-columns:1fr 1fr;gap:10px}.reveal__cell{margin:0;border:2px solid var(--line);border-radius:var(--r);overflow:hidden}.reveal__cell img{width:100%;aspect-ratio:1;object-fit:contain;background:#fff}.reveal__blank{aspect-ratio:1;display:grid;place-items:center;color:var(--ink-2);background:var(--wash);font-size:14px}.reveal__cell figcaption{padding:8px 10px;font-size:13px;display:grid;gap:2px}.reveal__guess{color:var(--ink-2)}.reveal__cell.is-correct{border-color:var(--green)}.reveal__cell.is-correct figcaption{background:#e8f7ef}.reveal__cell.is-foul{border-color:var(--coral)}.reveal__cell.is-foul figcaption{background:#ffecec}.verdict{text-align:center;padding:12px 0 16px}.verdict__word{font-family:var(--font-hand);font-size:40px;line-height:1;color:var(--ink-2)}.verdict__who{font-family:var(--font-hand);font-size:56px;line-height:1.1;margin-top:6px}.verdict.is-win .verdict__who{color:var(--green)}.verdict.is-lose .verdict__who{color:var(--coral)}.verdict__why{color:var(--ink-2);margin-top:4px}.leave{margin-top:20px;display:flex;gap:8px;align-items:center;justify-content:center;font-size:14px;color:var(--ink-2)}@media (prefers-reduced-motion: reduce){.queue__spinner,.judging__dot{animation:none}.btn{transition:none}}
