._wrap_1b8ec_1{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}._box_1b8ec_9{width:100%;max-width:420px;text-align:center}._logo_1b8ec_15{font-size:2.4rem;margin-bottom:4px}._subtitle_1b8ec_20{color:var(--color-text-muted);margin-bottom:28px}._stack_1b8ec_25{display:flex;flex-direction:column;gap:14px}._divider_1b8ec_31{display:flex;align-items:center;gap:10px;color:var(--color-text-muted);margin:10px 0;font-size:.9rem}._divider_1b8ec_31:before,._divider_1b8ec_31:after{content:"";flex:1;height:1px;background:var(--color-border)}._joinRow_1b8ec_47{display:flex;gap:8px}._error_1b8ec_52{color:var(--color-danger);font-weight:600;margin-top:8px}:root{--font-title: "Jua", "Pretendard", sans-serif;--font-body: "Pretendard", -apple-system, BlinkMacSystemFont, sans-serif;--color-bg: #fffbf2;--color-surface: #ffffff;--color-surface-alt: #fef6e9;--color-border: #f0e4cf;--color-primary: #6ec6ca;--color-primary-dark: #4a9fa3;--color-primary-light: #dff3f3;--color-secondary: #ffb6c8;--color-secondary-dark: #e88ba3;--color-secondary-light: #ffe6ed;--color-gold: #ffc857;--color-gold-dark: #e0a72f;--color-gold-light: #fff3d6;--color-success: #8bc98f;--color-success-light: #e6f5e6;--color-danger: #f28b82;--color-danger-light: #fdeceb;--color-warn: #f6c667;--color-warn-light: #fdf3dd;--color-text: #3a3226;--color-text-muted: #8a7f6c;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--radius-round: 999px;--shadow-card: 0 4px 14px rgba(120, 100, 60, .08);--shadow-pop: 0 8px 24px rgba(120, 100, 60, .16)}@media (prefers-color-scheme: dark){:root{--color-bg: #21201c;--color-surface: #2c2a24;--color-surface-alt: #34312a;--color-border: #454136;--color-text: #f5efe2;--color-text-muted: #b8ad98}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);-webkit-tap-highlight-color:transparent}h1,h2,h3,.title-font{font-family:var(--font-title);font-weight:400}button{font-family:inherit}.app-shell{min-height:100vh;display:flex;flex-direction:column}.card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:20px}.btn{border:none;border-radius:var(--radius-md);padding:14px 22px;font-size:1.05rem;font-weight:700;cursor:pointer;transition:transform .08s ease,box-shadow .08s ease,opacity .15s ease;touch-action:manipulation;min-height:48px}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 3px 0 var(--color-primary-dark)}.btn-secondary{background:var(--color-secondary);color:#fff;box-shadow:0 3px 0 var(--color-secondary-dark)}.btn-gold{background:var(--color-gold);color:#5a4310;box-shadow:0 3px 0 var(--color-gold-dark)}.btn-outline{background:var(--color-surface);color:var(--color-text);border:2px solid var(--color-border)}.btn-danger{background:var(--color-danger);color:#fff}.btn-round{border-radius:var(--radius-round)}.btn-lg{font-size:1.3rem;padding:18px 28px}.btn-block{width:100%}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--radius-round);font-weight:700;font-size:.9rem}.pill-gold{background:var(--color-gold-light);color:var(--color-gold-dark)}.pill-success{background:var(--color-success-light);color:#3f7a43}.pill-danger{background:var(--color-danger-light);color:#b8483d}.pill-warn{background:var(--color-warn-light);color:#9c7411}.pill-muted{background:var(--color-surface-alt);color:var(--color-text-muted)}.input{font-family:inherit;font-size:1.1rem;padding:12px 16px;border-radius:var(--radius-md);border:2px solid var(--color-border);background:var(--color-surface);color:var(--color-text);width:100%}.input:focus{outline:none;border-color:var(--color-primary)}.grid{display:grid;gap:16px}.timer-grid{grid-template-columns:1.1fr 1fr}@media (max-width: 800px){.timer-grid{grid-template-columns:1fr}}.scroll-x{overflow-x:auto}.toast-stack{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:200;width:min(90vw,420px)}.toast{background:var(--color-text);color:#fff;padding:12px 18px;border-radius:var(--radius-md);text-align:center;font-weight:600;box-shadow:var(--shadow-pop);animation:toast-in .2s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.reveal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#3a3226bf;display:flex;align-items:center;justify-content:center;z-index:300;animation:overlay-fade .2s ease;padding:20px}@keyframes overlay-fade{0%{opacity:0}to{opacity:1}}.reveal-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:36px 28px;text-align:center;box-shadow:var(--shadow-pop);max-width:90vw}.reveal-drumroll{font-size:3rem;animation:drumroll .5s infinite}@keyframes drumroll{0%,to{transform:rotate(-8deg) scale(1)}50%{transform:rotate(8deg) scale(1.1)}}.reveal-avatar{font-size:4.5rem;display:inline-block;animation:pop-in .5s cubic-bezier(.34,1.56,.64,1)}@keyframes pop-in{0%{transform:scale(0) rotate(-20deg);opacity:0}60%{transform:scale(1.2) rotate(8deg);opacity:1}to{transform:scale(1) rotate(0)}}.student-select-shell{height:100vh;height:100dvh;width:100%;max-width:960px;margin:0 auto;display:flex;flex-direction:column;overflow:hidden;padding:14px;box-sizing:border-box}.student-select-header{flex-shrink:0;text-align:center;margin-bottom:8px}.student-select-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;gap:8px}@media (min-width: 480px){.student-select-grid{grid-template-columns:repeat(5,1fr)}}@media (min-width: 700px){.student-select-grid{grid-template-columns:repeat(6,1fr)}}@media (min-width: 900px){.student-select-grid{grid-template-columns:repeat(8,1fr)}}.student-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;border:none;border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-card);padding:4px;min-width:0;min-height:0;overflow:hidden;transition:transform .08s ease}.student-tile:active{transform:scale(.94)}.student-tile .avatar{font-size:clamp(1.1rem,6vw,2.2rem);line-height:1}.student-tile .name{font-weight:700;font-size:clamp(.55rem,2.2vw,.9rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}@media (max-width: 640px){.btn{font-size:1rem;padding:12px 18px}.card{padding:14px;border-radius:var(--radius-md)}}
