@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--primary: #6366f1;--primary-dark: #4f46e5;--primary-light: #818cf8;--secondary: #ec4899;--accent: #f59e0b;--success: #10b981;--error: #ef4444;--warning: #f59e0b;--bg-primary: #0f0f23;--bg-secondary: #1a1a2e;--bg-tertiary: #16213e;--bg-card: rgba(255, 255, 255, .05);--bg-card-hover: rgba(255, 255, 255, .08);--text-primary: #ffffff;--text-secondary: #b4b4bb;--text-muted: #8b8b96;--border-color: rgba(255, 255, 255, .1);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(99, 102, 241, .3);--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease}*{margin:0;padding:0;box-sizing:border-box}html{height:100%;height:100dvh}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);background-attachment:fixed;color:var(--text-primary);min-height:100vh;min-height:100dvh;width:100%;line-height:1.6;overflow-x:hidden;touch-action:manipulation;-webkit-tap-highlight-color:transparent}#root{min-height:100vh;min-height:100dvh;width:100%}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;margin-bottom:var(--spacing-sm)}h1{font-size:clamp(2rem,5vw,3.5rem);background:linear-gradient(135deg,var(--primary-light),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}h2{font-size:clamp(1.5rem,4vw,2.5rem)}h3{font-size:clamp(1.25rem,3vw,1.75rem)}p{margin-bottom:var(--spacing-sm);color:var(--text-secondary)}button{font-family:inherit;font-weight:600;font-size:1rem;padding:.875rem 1.75rem;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:var(--shadow-md);position:relative;overflow:hidden}button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--transition-slow)}button:hover:before{left:100%}button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow)}button:active{transform:translateY(0)}button:focus-visible{outline:none;box-shadow:var(--shadow-lg),0 0 0 3px #6366f166}button:disabled{opacity:.5;cursor:not-allowed;transform:none}button.secondary{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary)}button.secondary:hover{background:var(--bg-card-hover);box-shadow:var(--shadow-md)}button.success{background:linear-gradient(135deg,var(--success),#059669)}button.danger{background:linear-gradient(135deg,var(--error),#dc2626)}input{font-family:inherit;font-size:1rem;padding:.875rem 1.25rem;border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);transition:all var(--transition-base);width:100%}input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f133;background:var(--bg-card-hover)}input:focus-visible{border-color:var(--primary-light);box-shadow:0 0 0 4px #6366f14d}input:disabled{opacity:.5;cursor:not-allowed}input::placeholder{color:var(--text-muted)}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);transition:all var(--transition-base);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card:hover{box-shadow:var(--shadow-lg);border-color:#6366f14d;transform:translateY(-1px)}.card-interactive{cursor:pointer}.card-interactive:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg),var(--shadow-glow)}.card-interactive:active{transform:translateY(-1px)}.container{max-width:1200px;margin:0 auto;padding:var(--spacing-lg)}.text-center{text-align:center}.text-gradient{background:linear-gradient(135deg,var(--primary-light),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass-effect{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes slideIn{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes timerUrgent{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}@keyframes recordingPulse{0%,to{box-shadow:0 0 #ef4444b3}50%{box-shadow:0 0 0 15px #ef444400}}@keyframes audioPlaying{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes correctAnswer{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.fade-in{animation:fadeIn .5s ease-out}.pulse{animation:pulse 2s ease-in-out infinite}.timer-urgent{animation:timerUrgent .5s ease-in-out infinite}.recording-pulse{animation:recordingPulse 1.5s ease-in-out infinite}.audio-playing{animation:audioPlaying 1s ease-in-out infinite}.answer-correct{animation:correctAnswer .3s ease-out}.hover-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.hover-scale{transition:transform var(--transition-fast)}.hover-scale:hover{transform:scale(1.02)}.hover-glow{transition:box-shadow var(--transition-base)}.hover-glow:hover{box-shadow:var(--shadow-glow)}.click-shrink:active{transform:scale(.98)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--primary);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--primary-light)}.mode-selector-pc{display:none}.mode-selector-mobile{display:flex}@media(min-width:769px){.mode-selector-pc{display:flex}.mode-selector-mobile{display:none}}@media(min-width:1024px){.game-layout{grid-template-columns:1fr 350px!important}.solo-game-layout{display:grid!important;grid-template-columns:2fr 1fr!important;gap:var(--spacing-lg)!important;align-items:start}.solo-game-main{grid-column:1}.solo-game-sidebar{grid-column:2;position:sticky;top:var(--spacing-md)}}@media(max-width:1023px){.solo-game-layout{display:block!important}.solo-game-sidebar{display:none}}@media(max-width:768px){:root{--spacing-xs: .375rem;--spacing-sm: .75rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem}h1{font-size:clamp(1.75rem,6vw,2.5rem)!important}h2{font-size:clamp(1.25rem,5vw,1.75rem)!important}h3{font-size:clamp(1.1rem,4vw,1.5rem)!important}button,input{font-size:clamp(.875rem,3vw,1rem)!important;padding:var(--spacing-sm) var(--spacing-md)!important}.card{padding:var(--spacing-md)!important}}@media(max-width:480px){:root{--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: .75rem;--spacing-lg: 1rem;--spacing-xl: 1.5rem}}@media(max-height:600px){.card{padding:var(--spacing-sm)!important}}.app-container{min-height:100vh;min-height:100dvh;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:var(--spacing-md);position:relative;overflow-x:hidden}.app-container:before{content:"";position:fixed;inset:0;width:100%;height:100%;min-height:100vh;background:radial-gradient(circle at 80% 20%,rgba(99,102,241,.1) 0%,transparent 50%),radial-gradient(circle at 20% 80%,rgba(236,72,153,.1) 0%,transparent 50%);pointer-events:none;z-index:0}.app-container:after{content:"";position:fixed;inset:0;width:100%;height:100%;min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);pointer-events:none;z-index:-1}.app-content{position:relative;z-index:1;width:100%;max-width:1200px;overflow-x:hidden}@media(max-width:768px){.app-container{padding:var(--spacing-sm) var(--spacing-xs);justify-content:flex-start}.app-content{width:100%;padding:0}}@media(max-width:480px){.app-container{padding:var(--spacing-xs)}}@media(max-height:600px){.app-container{padding:var(--spacing-xs)}}
