:root{--music:#ff4d75;--music2:#6c4cff;--ink:#202331;--muted:#747b91;--line:#e7e8f1;--paper:#fff;--bg:#f7f7fc;--good:#0aa86e;--bad:#e44545}*{box-sizing:border-box}body{margin:0;font-family:Pretendard,"Noto Sans KR",system-ui,sans-serif;color:var(--ink);background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.collection-page,.music-page{min-height:100vh;background:linear-gradient(#ffffff30,#ffffff30),url('/assets/group-game-background.png') center/cover no-repeat}.collection-shell,.hero-shell{width:min(1180px,calc(100% - 32px));margin:auto;text-align:center;padding:64px 0}.brand-mark{width:72px;height:72px;border:0;border-radius:22px;background:#12c779;color:#fff;display:grid;place-items:center;margin:0 auto 24px;font-size:34px;font-weight:900;box-shadow:0 14px 32px #12c77944}.songcatch-logo-button,.songcatch-hero-logo{padding:0;border:0;background:transparent;cursor:pointer;display:grid;place-items:center}.songcatch-logo-button{width:58px;height:58px;margin-bottom:8px}.songcatch-logo-button img,.songcatch-hero-logo img{width:100%;height:100%;object-fit:cover;border-radius:18px}.songcatch-hero-logo{width:112px;height:112px;margin:0 auto 18px;filter:drop-shadow(0 12px 18px #6c4cff36)}.songcatch-logo-button:focus-visible,.songcatch-hero-logo:focus-visible{outline:3px solid var(--music2);outline-offset:4px;border-radius:16px}.eyebrow{font-weight:800;color:var(--music2);letter-spacing:.04em}.collection-shell h1,.hero-shell h1{font-size:clamp(40px,7vw,72px);margin:8px 0}.lead{color:var(--muted);font-size:18px}.game-grid,.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px;text-align:left}.mode-grid{grid-template-columns:repeat(2,1fr)}.game-card,.mode-card{position:relative;background:var(--paper);padding:32px;border:1px solid var(--line);border-radius:26px;box-shadow:0 16px 45px #28294b12;transition:.2s}.game-card:hover,.mode-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px #28294b20}.game-card h2,.mode-card h2{font-size:32px;margin:8px 0}.game-card p,.mode-card p{color:var(--muted);line-height:1.6}.game-card small{font-weight:800;color:var(--music2)}.game-emoji,.mode-card>span{font-size:46px}.music-card{background:linear-gradient(145deg,#fff,#fff0f4)}.doodle-card{background:linear-gradient(145deg,#fff,#effff7)}.impossible-card{background:linear-gradient(145deg,#fff,#f5f3ed)}.impossible-card .game-emoji{display:grid;place-items:center;width:58px;height:58px;border:2px solid #252c3b;border-radius:50%;font:900 34px serif;color:#252c3b}.geometry-card{background:linear-gradient(145deg,#fff,#fff2ec)}.geometry-card .game-emoji{display:grid;place-items:center;width:58px;height:58px;border-radius:14px;background:#12141f;color:#ff6a3d;font:900 30px system-ui,sans-serif}.bubble-card{background:linear-gradient(145deg,#fff,#fdeefa)}.bubble-card .game-emoji{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#1a0f24;font-size:32px}.mining-card{background:linear-gradient(145deg,#fff,#fbf0dc)}.mining-card .game-emoji{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#8b5a2b,#3a2618);font-size:30px}.dino-card{background:linear-gradient(145deg,#fff,#eef0ee)}.dino-card .game-emoji{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:#f7f7f7;border:2px solid #535353;font-size:30px}.mode-grid{max-width:760px;margin:42px auto;text-align:center}.music-header{height:64px;padding:0 28px;display:flex;align-items:center;background:#fff;border-bottom:1px solid var(--line)}.mini-brand{font-weight:850}.copyright-note{max-width:760px;margin:34px auto 0;padding:16px;border-radius:14px;background:#fff6d9;color:#7a5a00;font-size:13px;line-height:1.5}.panel{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 35px #25284810}.form-shell{width:min(760px,calc(100% - 28px));margin:36px auto;padding:28px}.form-shell h1{margin-top:0}.field{display:grid;gap:7px;text-align:left;margin:15px 0}.field label{font-weight:750}.field input,.field select,.field textarea,.answer-row input{width:100%;padding:13px 14px;border:1px solid #d9dbe8;border-radius:12px;background:#fff}.field-row{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.check-row{display:flex;gap:10px;align-items:center;margin:12px 0}.primary,.secondary,.danger{border:0;border-radius:12px;padding:13px 19px;font-weight:800;cursor:pointer}.primary{background:linear-gradient(135deg,var(--music),var(--music2));color:#fff}.secondary{background:#eeeeF8;color:#45415e}.danger{background:#ffebe9;color:#c83030}.wide{width:100%}.notice{padding:13px;border-radius:11px;background:#f0efff;color:#5147a6;margin:12px 0}.notice.error{background:#ffeded;color:#b82d2d}.notice.success{background:#e6fff3;color:#08774e}.hidden{display:none!important}.solo-layout{width:min(900px,calc(100% - 28px));margin:28px auto}.solo-game{padding:30px;text-align:center}.stage-dots{display:flex;justify-content:center;gap:8px;margin:18px}.stage-dots i{width:12px;height:12px;border-radius:50%;background:#ddd}.stage-dots i.on{background:var(--music)}.audio-disc{width:150px;height:150px;margin:24px auto;border-radius:50%;display:grid;place-items:center;background:repeating-radial-gradient(circle,#2b2b35 0 8px,#121218 9px 15px);color:#fff;font-size:42px;animation:spin 5s linear infinite;animation-play-state:paused}.audio-disc.playing{animation-play-state:running}@keyframes spin{to{transform:rotate(360deg)}}.answer-row{display:flex;gap:10px;margin:20px auto;max-width:620px}.choices{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-width:620px;margin:20px auto}.choice{padding:15px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}.scorebar{display:flex;justify-content:space-between;font-weight:800}.lobby-layout{width:min(1050px,calc(100% - 28px));margin:28px auto;display:grid;grid-template-columns:360px 1fr;gap:20px}.room-list{padding:20px}.room-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.room-shell{height:calc(100vh - 64px);display:grid;grid-template-rows:auto 1fr}.room-top{padding:14px 22px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.room-grid{padding:16px;display:grid;grid-template-columns:1fr 340px;gap:16px;min-height:0}.quiz-panel{display:grid;align-content:center;text-align:center;padding:24px}.side-panel{display:grid;grid-template-rows:auto 1fr auto;min-height:0;padding:18px}.players{display:flex;flex-wrap:wrap;gap:8px}.player{padding:8px 11px;background:#f1f1f8;border-radius:999px}.player.guessed{background:#dffbef;color:#08774e}.chat{overflow:auto;min-height:160px;margin:16px 0;border-top:1px solid var(--line);padding-top:10px}.chat p{padding:8px 10px;margin:5px 0;background:#f6f6fa;border-radius:10px}.chat p.correct{background:#dcfaea;color:#087b4e;font-weight:800}.admin-layout{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.admin-nav{padding:22px;background:#202331;color:#fff}.admin-nav button{display:block;width:100%;text-align:left;margin:6px 0;padding:11px;border:0;border-radius:9px;background:transparent;color:#fff}.admin-main{padding:28px;overflow:auto}.admin-section{max-width:1100px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.data-table{width:100%;border-collapse:collapse;background:#fff}.data-table th,.data-table td{padding:11px;border-bottom:1px solid var(--line);text-align:left}.modal{position:fixed;inset:0;background:#15162599;display:grid;place-items:center;padding:20px}.modal-card{width:min(680px,100%);max-height:90vh;overflow:auto;padding:24px}.copyright-check{padding:12px;background:#fff3cf;border-radius:10px}
.triangle-card{background:linear-gradient(145deg,#fff,#f3efff)}.triangle-card .game-emoji{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#ff4d75,#7c4dff);color:#fff;font-size:30px}.wordchain-card{background:linear-gradient(145deg,#fff,#eef8ff)}.wordchain-card .game-emoji{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#3b82f6,#10b981);color:#fff;font:900 30px Pretendard,"Noto Sans KR",sans-serif}.land-card{background:linear-gradient(145deg,#fff,#ecfdf5)}.land-card .game-emoji{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#34d399,#3b82f6);color:#fff;font-size:30px}
.worldcup-card{background:linear-gradient(145deg,#fff,#fff0f6)}.worldcup-card .game-emoji{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#ff7aa8,#ff4d8d);font-size:30px}.idol-card{background:linear-gradient(145deg,#fff,#f5efff)}.idol-card .game-emoji{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#8b5cf6,#ec4899);font-size:30px}.mantis-card{background:linear-gradient(145deg,#fff,#eefaee)}.mantis-card .game-emoji{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#8ce99a,#2f9e44);font-size:30px}.bird-card{background:linear-gradient(145deg,#fff,#eaf6ff)}.bird-card .game-emoji{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#8fd3ff,#40c057);font-size:30px}.choice-card{background:linear-gradient(145deg,#fff,#f1f1f6)}.choice-card .game-emoji{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#2b2e40,#12131c);font-size:30px}.smash-card{background:linear-gradient(145deg,#fff,#fff1e8)}.smash-card .game-emoji{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#f4a261,#e76f51);font-size:30px}.egg-card{background:linear-gradient(145deg,#fff,#fff8e1)}.egg-card .game-emoji{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#ffe066,#f59f00);font-size:30px}
@media(max-width:760px){.game-grid,.mode-grid,.lobby-layout,.room-grid,.admin-layout{grid-template-columns:1fr}.collection-shell,.hero-shell{padding-top:35px}.game-card{padding:24px}.field-row{grid-template-columns:1fr}.answer-row{flex-direction:column}.choices{grid-template-columns:1fr}.room-shell{height:auto}.room-grid{padding:9px}.quiz-panel{min-height:55vh}.side-panel{min-height:420px}.admin-nav{display:flex;overflow:auto}.admin-nav button{white-space:nowrap}.admin-main{padding:15px}.data-table{font-size:13px}}

.omok-card,.baduk-card{background:linear-gradient(145deg,#fff,#fbf1e2)}.omok-card .game-emoji,.baduk-card .game-emoji,.chess-card .game-emoji{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;font-size:32px}.omok-card .game-emoji{background:#dcb06b}.baduk-card .game-emoji{background:#3d2f1f}.chess-card{background:linear-gradient(145deg,#fff,#eaf6f0)}.chess-card .game-emoji{background:linear-gradient(135deg,#6cc3a6,#2f6f5e);color:#fff;font-family:"Segoe UI Symbol","DejaVu Sans",sans-serif}
.liar-card{background:linear-gradient(145deg,#fff,#f5f0ff)}
.liar-card .game-emoji{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#8b5cf6,#f97316);font-size:32px}
.mafia-card{background:linear-gradient(145deg,#fff,#eef0ff)}
.mafia-card .game-emoji{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#1e1b4b,#4f46e5);font-size:32px}
.nunchi-card{background:linear-gradient(145deg,#fff,#ecfeff)}
.nunchi-card .game-emoji{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#06b6d4,#f59e0b);font-size:32px}
.korea-bird-card{background:linear-gradient(145deg,#fff,#e7f3ff)}
.korea-bird-card .game-emoji{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#74c0fc,#1864ab);font-size:30px}
.antarctica-card{background:linear-gradient(145deg,#fff,#e7f5ff)}
.antarctica-card .game-emoji{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#74c0fc,#ff7a1a);font-size:30px}
.roach-card{background:linear-gradient(145deg,#fff,#fff4e6)}
.roach-card .game-emoji{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#7c4a1e,#c2772f);font-size:32px}
.birdwatch-card{background:linear-gradient(145deg,#fff,#eaf8ef)}
.birdwatch-card .game-emoji{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#74c0fc,#2f9e44);font-size:30px}

.piano-card{background:linear-gradient(145deg,#fff,#edf2ff)}
.piano-card .game-emoji{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#4c6ef5,#15aabf);font-size:30px}
