:root{--bg:#0f1020;--card:#1c1d3a;--card2:#23244a;--accent:#7c5cff;--accent2:#ff5c9d;--gold:#ffcf5c;--good:#4fd1a1;--text:#ececff;--muted:#a3a4c8}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Noto Sans CJK KR","Malgun Gothic",system-ui,sans-serif;color:var(--text);
  background:radial-gradient(1000px 700px at 15% -10%,#2a1c5a 0,transparent 55%),var(--bg);min-height:100vh}
.wrap{max-width:640px;margin:0 auto;padding:18px 16px 60px}
.top{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.top a.back{color:var(--muted);text-decoration:none;font-weight:700;font-size:.95rem}
.top h1{font-size:1.5rem;font-weight:900;letter-spacing:-.5px}
.top .sp{margin-left:auto;color:var(--muted);font-size:.9rem}
.panel{background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:22px;box-shadow:0 8px 24px rgba(0,0,0,.28)}
.q{font-size:1.4rem;font-weight:800;line-height:1.5;text-align:center;margin:8px 0 18px}
.big{font-size:2.4rem;font-weight:900;letter-spacing:6px;text-align:center;color:var(--gold);margin:10px 0}
.hintline{text-align:center;color:var(--muted);margin-bottom:14px}
.row{display:flex;gap:10px;margin-top:12px}
input[type=text]{flex:1;background:#14152b;border:1px solid #33356a;border-radius:12px;color:#fff;padding:13px 14px;font-size:1.05rem;font-family:inherit}
.btn{border:none;border-radius:12px;padding:13px 16px;font-size:1rem;font-weight:800;cursor:pointer;font-family:inherit;background:var(--card2);color:var(--text);border:1px solid rgba(255,255,255,.14)}
.btn.p{background:linear-gradient(135deg,var(--accent),#5b8bff);border:none}
.btn.a{background:linear-gradient(135deg,var(--accent2),var(--gold));border:none;color:#26123a}
.btn.mic{background:var(--gold);color:#3a2a00}
.btn:disabled{opacity:.5;cursor:default}
.msg{text-align:center;margin-top:14px;font-weight:700;min-height:24px}
.msg.ok{color:var(--good)}.msg.no{color:var(--accent2)}
.chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:14px}
.chip{background:var(--card2);border-radius:20px;padding:6px 14px;font-size:.85rem;border:1px solid rgba(255,255,255,.1)}
.log{margin-top:16px;max-height:220px;overflow:auto;display:flex;flex-direction:column;gap:6px}
.logrow{background:rgba(255,255,255,.05);border-radius:10px;padding:8px 12px;font-size:.95rem}
.logrow.me{border-left:3px solid var(--accent)}
.logrow.cpu{border-left:3px solid var(--accent2)}
.pg-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#000;color:#fff;padding:12px 20px;border-radius:30px;opacity:0;transition:opacity .3s;pointer-events:none;z-index:60;font-size:.9rem}
.hidden{display:none!important}
.center{text-align:center}
.muted{color:var(--muted)}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.06)}}
/* 시작/설정 화면(ss-*) 스타일은 platform.js가 주입 — 메인 허브처럼 game.css 없는 페이지에서도 동작 */
/* 게임 내 세련된 컨트롤바 */
.ctrlbar{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px}
.mic-btn{width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;font-size:1.5rem;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 35% 30%,#9a7bff,#7c5cff 60%,#ff5c9d);color:#fff;box-shadow:0 6px 16px rgba(124,92,255,.42);transition:transform .1s}
.mic-btn:active{transform:scale(.93)}
.mic-btn.listening{animation:pulse 1s infinite;box-shadow:0 0 0 7px rgba(124,92,255,.22)}
.mic-btn.auto{background:radial-gradient(circle at 35% 30%,#ffe08a,#ffcf5c 60%,#ff9f43);color:#3a2a00}
.ctrl-sel{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.86rem}
.ctrl-sel select{appearance:none;-webkit-appearance:none;background:#1a1b34;border:1px solid #33356a;border-radius:22px;color:#fff;padding:10px 32px 10px 14px;font-size:.92rem;font-family:inherit;cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%23a3a4c8' stroke-width='1.6'><path d='M2 4l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right 12px center}
.listening{animation:pulse 1s infinite}
