:root{--bg: #f7f1e6;--surface: #fffdf8;--line: #e8dcc8;--text: #2b241c;--muted: #7c6f60;--accent: #d9622b;--accent-soft: #fbe6d8;--ok: #2f9e55}*{box-sizing:border-box;margin:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:Apple SD Gothic Neo,Noto Sans KR,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}button{white-space:nowrap;cursor:pointer;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px 14px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}input:not([type]),input[type=text]{width:100%;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.muted{color:var(--muted)}.small{font-size:13px}.join{min-height:100%;display:grid;place-items:center;padding:16px}.camp-join{background:linear-gradient(#7fa6d6,#f6cfa0 60%,#86a85c 60.2%,#6f9150)}.card{width:min(400px,100%);background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:26px;display:flex;flex-direction:column;gap:14px;box-shadow:0 12px 40px #2b241c2e}.card h1{font-size:24px}.card label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted)}.card .primary{padding:12px;margin-top:4px;font-size:16px}.room-tag{font-size:12px;color:var(--accent);letter-spacing:.05em;font-weight:600}.note{font-size:12px;color:var(--muted)}.picker{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted)}.swatches{display:flex;flex-wrap:wrap;gap:8px}.swatches button{width:28px;height:28px;padding:0;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}.swatches button.on{box-shadow:0 0 0 2px var(--accent)}.camp{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.canvas-wrap{position:absolute;top:0;right:0;bottom:0;left:0;background:#f2c89a}.canvas-wrap canvas{touch-action:none}.hud-top{position:absolute;top:12px;left:12px;right:12px;z-index:20;width:max-content;max-width:calc(100% - 24px);display:flex;align-items:center;gap:8px;padding:6px 8px 6px 14px;flex-wrap:wrap;background:#fffdf8eb;border:1px solid var(--line);border-radius:999px;font-size:14px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hud-top button{padding:4px 12px;border-radius:999px;font-size:13px}.hud-top .leave{color:var(--muted)}.hud-top .sep{width:1px;height:16px;background:var(--line)}.dot{width:8px;height:8px;border-radius:50%;background:#c9bfae}.dot.on{background:var(--ok)}.hud-help{position:absolute;top:60px;left:12px;z-index:20;pointer-events:none;font-size:12px;color:var(--muted);background:#fffdf8bf;padding:4px 10px;border-radius:6px}.chat-log{position:absolute;left:12px;top:92px;z-index:15;list-style:none;padding:0;display:flex;flex-direction:column;gap:4px;max-width:min(340px,calc(100% - 24px));pointer-events:none}.chat-log li{width:max-content;max-width:100%;padding:4px 10px;border-radius:10px;font-size:13px;background:#2b241c8c;color:#fff;overflow-wrap:anywhere;animation:bubble-in .2s ease-out}.chat-log b{color:#ffd7b5;margin-right:4px}.avatar-label{transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none;-webkit-user-select:none;user-select:none}.bubble{position:relative;max-width:220px;width:max-content;padding:6px 12px;border-radius:14px;background:#fff;color:var(--text);font-size:14px;line-height:1.35;word-break:keep-all;overflow-wrap:anywhere;box-shadow:0 4px 14px #2b241c33;animation:bubble-in .2s ease-out}.bubble.emoji{font-size:30px;padding:2px 8px;background:transparent;box-shadow:none}.bubble.emoji:after{display:none}.bubble:after{content:"";position:absolute;left:50%;bottom:-6px;transform:translate(-50%);border:6px solid transparent;border-top-color:#fff;border-bottom:0}@keyframes bubble-in{0%{opacity:0;transform:translateY(4px) scale(.95)}}.name-tag{white-space:nowrap;font-size:13px;font-weight:600;padding:2px 10px;border-radius:999px;box-shadow:0 2px 8px #2b241c26;background:#fffdf8eb;color:var(--text);border:1px solid var(--line)}.name-tag.me{background:var(--accent);color:#fff;border-color:var(--accent)}.camp-sign{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:15px;font-weight:700;padding:4px 12px 4px 4px;border-radius:999px;background:#fffdf8eb;box-shadow:0 2px 10px #2b241c33;pointer-events:none;-webkit-user-select:none;user-select:none}.camp-sign .num{width:24px;height:24px;border-radius:50%;color:#fff;display:grid;place-items:center;font-size:13px}.camp-sign.empty{color:var(--muted);font-weight:500}.camp-sign.mine{outline:2px solid var(--accent)}.radio-note{font-size:28px;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.4);animation:float 1.6s ease-in-out infinite;pointer-events:none}@keyframes float{50%{transform:translateY(-8px) rotate(8deg)}}.board-score{display:flex;flex-direction:column;align-items:center;white-space:nowrap;font-size:14px;padding:6px 12px;border-radius:10px;background:#2b241cd9;color:#fff;pointer-events:none}.dpad{position:absolute;left:16px;bottom:16px;z-index:25;width:168px;height:168px;border-radius:50%;background:#ffffff29;border:1.5px solid rgba(255,255,255,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:grid;grid-template-areas:". up ." "left . right" ". down .";grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);place-items:center;touch-action:none;user-select:none;-webkit-user-select:none}.dpad button{width:54px;height:54px;border-radius:50%;padding:0;font-size:20px;background:#ffffff47;border:1px solid rgba(255,255,255,.6);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.45);touch-action:none}.dpad button:active{background:#d9622bcc;border-color:transparent}.bottom-center{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:26;width:min(460px,calc(100% - 400px));min-width:300px;display:flex;flex-direction:column;align-items:center;gap:8px}.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.chip{padding:10px 18px;border-radius:999px;font-size:15px;font-weight:600;background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 6px 20px #d9622b59;animation:bubble-in .2s ease-out}.chat-wrap{width:100%;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.chat-bar{width:100%;display:flex;gap:6px;padding:6px;border-radius:999px;background:#fffdf8f0;border:1px solid var(--line);box-shadow:0 6px 20px #2b241c26}.chat-bar input{flex:1;border:0;background:transparent;padding:6px 4px}.chat-bar input:focus{outline:none}.chat-bar button{border-radius:999px;padding:6px 14px}.emote-toggle{border:0;background:transparent;font-size:18px;padding:0 6px!important}.emotes{display:flex;gap:4px;padding:6px;border-radius:999px;background:#fffdf8f5;border:1px solid var(--line)}.emotes button{border:0;background:transparent;font-size:22px;padding:2px 6px}.music-card{position:absolute;right:16px;bottom:16px;z-index:24;width:240px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:8px;background:#fffdf8f2;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px #2b241c2e}.music-card:not(.on){left:-9999px;right:auto;visibility:hidden}.music-video{grid-column:1 / -1;width:224px;height:126px;border-radius:8px;overflow:hidden;background:#000}.music-video iframe{width:224px;height:126px;display:block;pointer-events:none}.music-info{display:flex;flex-direction:column;min-width:0;font-size:13px}.music-info small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.round{width:38px;height:38px;padding:0;border-radius:50%;font-size:16px}.music-card .tap{grid-column:1 / -1;border-radius:999px}.game-panel{position:absolute;top:12px;right:12px;bottom:12px;z-index:40;width:420px;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:#fffdf8f7;border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 40px #2b241c40;animation:bubble-in .15s ease-out}.game-panel header{display:flex;align-items:center;justify-content:space-between}.game-panel h2{font-size:18px}.game-panel h3{font-size:14px;color:var(--muted)}.game-panel h3 small{font-weight:400}.game-panel .x{border:0;background:transparent;font-size:18px;padding:4px 8px}.game-panel .row{display:flex;gap:8px}.game-panel .row>*{flex:1}.game-panel .row input{flex:3}.status{font-size:14px;padding:10px 12px;border-radius:10px;background:var(--bg)}.status.go{background:var(--accent-soft);color:#9a3d12;font-weight:600}.pool-canvas,.dart-canvas,.omok-canvas{width:100%;display:block;touch-action:none;border-radius:10px}.dart-canvas,.omok-canvas{aspect-ratio:1}.dart-canvas{width:min(100%,340px);align-self:center}.active{cursor:crosshair}.players,.leaders{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px}.players li,.leaders li{display:flex;justify-content:space-between;padding:8px 12px;border-radius:10px;background:var(--bg);font-size:14px}.players li.turn{background:var(--accent-soft);font-weight:600}.leaders{counter-reset:n}.leaders li:before{counter-increment:n;content:counter(n) ".";color:var(--muted);margin-right:8px}.leaders li span{margin-right:auto}.leaders li.me{outline:2px solid var(--accent-soft)}.dart-line{text-align:center;font-size:15px}.seats{display:flex;gap:8px}.seat{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px;border-radius:12px;background:var(--bg);font-size:14px}.seat.me{outline:2px solid var(--accent)}.seat button{padding:4px 14px;margin-top:4px}@keyframes fade-in{0%{opacity:0}}.toast{position:absolute;top:120px;left:50%;transform:translate(-50%);z-index:45;background:var(--text);color:#fff;padding:8px 16px;border-radius:999px;font-size:14px;max-width:calc(100% - 32px);animation:pop 2.4s ease both;text-align:center}@keyframes pop{0%{opacity:0;transform:translate(-50%,6px)}12%,80%{opacity:1;transform:translate(-50%)}to{opacity:0}}@media (max-width: 900px){.hud-help{display:none}.chat-log{top:64px}.bottom-center{left:168px;right:12px;transform:none;width:auto;min-width:0;bottom:12px;align-items:stretch}.chips{justify-content:flex-end}.dpad{width:140px;height:140px;left:12px;bottom:12px}.dpad button{width:46px;height:46px;font-size:17px}.music-card{right:12px;bottom:auto;top:64px;width:200px}.music-video,.music-video iframe{width:184px;height:104px}.game-panel{top:auto;left:0;right:0;bottom:0;width:auto;max-height:72%;border-radius:18px 18px 0 0}}@media (max-width: 520px){.hud-top{font-size:13px;padding-left:10px}.hud-top .sep{display:none}.music-card{width:160px}.music-video,.music-video iframe{width:144px;height:81px}}.closet{display:flex;flex-direction:column;gap:8px}.closet h3{margin-top:4px}.choices{display:flex;flex-wrap:wrap;gap:6px}.choices button{padding:6px 12px;border-radius:999px;font-size:14px}.choices button.on{background:var(--accent);border-color:var(--accent);color:#fff}.race-board{display:flex;flex-direction:column;align-items:center;gap:2px;white-space:nowrap;font-size:14px;padding:6px 14px;border-radius:12px;background:#2b241cd9;color:#fff;pointer-events:none}.countdown{position:absolute;top:34%;left:50%;transform:translate(-50%,-50%);z-index:46;pointer-events:none;font-size:120px;font-weight:900;color:#fff;text-shadow:0 6px 30px rgba(217,98,43,.9),0 2px 0 #9a3d12;animation:pulse 1s ease-out infinite}.countdown.go{font-size:84px;animation:none}@keyframes pulse{0%{transform:translate(-50%,-50%) scale(1.25);opacity:.6}}.race-hud{position:absolute;top:64px;left:50%;transform:translate(-50%);z-index:30;pointer-events:none;display:flex;align-items:center;gap:12px;padding:8px 16px;border-radius:999px;white-space:nowrap;background:#2b241cd9;color:#fff;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.race-hud.done{background:var(--accent)}.race-hud .bar{width:120px;height:8px;border-radius:4px;background:#ffffff40;overflow:hidden}.race-hud .bar i{display:block;height:100%;background:#ffd27a}.race-warn{position:absolute;top:112px;left:50%;transform:translate(-50%);z-index:30;pointer-events:none;padding:8px 14px;border-radius:10px;background:#b91c1c;color:#fff;font-size:14px;max-width:calc(100% - 32px);text-align:center}@media (max-width: 520px){.race-hud{top:108px;gap:8px;font-size:13px}.race-hud .bar{width:60px}.race-warn{top:150px}}@media (max-width: 900px){.game-panel.closet-open{max-height:52%}}.farm-sign{white-space:nowrap;font-size:15px;font-weight:800;color:#5b3a1e;pointer-events:none;-webkit-user-select:none;user-select:none}.farm-tag{white-space:nowrap;font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;background:#fffdf8d9;color:var(--text);pointer-events:none;-webkit-user-select:none;user-select:none}.animal-tag{display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none;-webkit-user-select:none;user-select:none}.animal-tag span{white-space:nowrap;font-size:12px;font-weight:600;padding:1px 8px;border-radius:999px;background:#fffdf8cc;color:var(--text)}.animal-tag .hearts{font-size:18px;opacity:0;transition:opacity .3s;animation:float 1.2s ease-in-out infinite}.chess-board{display:grid;grid-template-columns:repeat(8,1fr);aspect-ratio:1;border-radius:10px;overflow:hidden;touch-action:manipulation}.chess-board .sq{position:relative;padding:0;border:0;border-radius:0;aspect-ratio:1;display:grid;place-items:center;font-size:clamp(22px,6.5vw,36px);line-height:1;cursor:default}.chess-board.active .sq{cursor:pointer}.chess-board .light{background:#efd9b4}.chess-board .dark{background:#b58863}.chess-board .last{box-shadow:inset 0 0 0 100px #ffd64059}.chess-board .sel{box-shadow:inset 0 0 0 100px #50a05a80}.chess-board .check{box-shadow:inset 0 0 0 100px #ef444499}.chess-board .dot{position:absolute;width:28%;height:28%;border-radius:50%;background:#1e3c1e59}.chess-board .cap{position:absolute;top:6%;right:6%;bottom:6%;left:6%;border-radius:50%;border:4px solid rgba(30,60,30,.35)}.chess-board small{position:absolute;font-size:10px;font-weight:600;opacity:.6;color:#4a3418}.chess-board .file{right:3px;bottom:1px}.chess-board .rank{left:3px;top:2px}.pc{position:relative}.pc.w{color:#fbf8f0;text-shadow:0 0 1px #000,0 0 1px #000,0 1px 2px rgba(0,0,0,.5)}.pc.b{color:#1d1d1d;text-shadow:0 1px 1px rgba(255,255,255,.25)}.promo{align-items:center;flex-wrap:wrap}.promo .pc{font-size:22px}.stations{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.stations button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;font-size:12px}.stations button span{font-size:22px}.stations button.on{outline:2px solid var(--accent);background:var(--accent-soft)}.music-card.station .music-video{display:none}.game-panel .save{position:sticky;bottom:-16px;margin:0 -16px -16px;padding:14px;border-radius:0 0 18px 18px;font-size:16px;box-shadow:0 -6px 16px #fffdf8f2}.game-panel header .hall-link{margin-left:auto;margin-right:4px;padding:4px 10px;border-radius:999px;font-size:12px}.hall-tabs{display:flex;flex-wrap:wrap;gap:6px}.hall-tabs button{padding:5px 10px;border-radius:999px;font-size:13px}.hall-tabs button.on{background:var(--accent);border-color:var(--accent);color:#fff}.hall-list{list-style:none;display:flex;flex-direction:column;gap:4px;padding:0;margin:0}.hall-list li{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;background:var(--bg);font-size:14px}.hall-list li.me{outline:2px solid var(--accent)}.hall-list .rank{width:28px;text-align:center;font-weight:700;color:var(--muted)}.hall-list .who{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hud-top .badge,.dm-list .badge{display:inline-block;min-width:18px;padding:0 5px;margin-left:4px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px;font-style:normal;line-height:18px;text-align:center}.dm-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.dm-list button{width:100%;display:flex;align-items:center;gap:8px;padding:10px 12px;text-align:left}.dm-list button>span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.dm-back{align-self:flex-start;padding:4px 12px;border-radius:999px;font-size:13px}.dm-msgs{flex:1;min-height:160px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:4px}.dm-msg{max-width:80%;align-self:flex-start;padding:8px 12px;border-radius:14px 14px 14px 4px;background:var(--bg);font-size:14px;word-break:break-word}.dm-msg.mine{align-self:flex-end;border-radius:14px 14px 4px;background:var(--accent);color:#fff}@media (max-width: 600px){.hud-top .wide{display:none}}.player-bar{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;background:var(--bg);font-size:14px}.player-bar b{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-bar.me{outline:2px solid var(--accent)}.player-bar button{padding:3px 12px}.player-bar .clock{font-variant-numeric:tabular-nums;font-weight:700;padding:2px 8px;border-radius:6px;background:#0000000f}.player-bar.on .clock{background:#2b2b2b;color:#fff}.player-bar.on .clock.low{background:#ef4444}.limits{align-items:center}.limits>span{flex:0 0 auto;color:var(--muted);font-size:13px}.limits button.on{outline:2px solid var(--accent);background:var(--accent-soft)}.game-chat{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:12px;background:var(--bg)}.game-chat-head{display:flex;align-items:center;gap:6px;font-size:13px}.game-chat-head select{font:inherit;padding:2px 6px;border-radius:8px;border:1px solid var(--line);background:#fff}.game-chat-msgs{max-height:96px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.game-chat .dm-msg{background:#fff;font-size:13px;padding:6px 10px}.game-chat .dm-msg.mine{background:var(--accent)}.game-chat input{min-width:0}@media (max-width: 900px){.game-panel{gap:8px;padding:12px}.game-panel .status{padding:6px 10px;font-size:13px}.game-panel.board-open{max-height:88%}.chess-board,.omok-canvas{width:min(100%,calc(88dvh - 350px));min-width:200px;align-self:center}.game-panel .save{bottom:-12px;margin:0 -12px -12px}.chess-board .sq{font-size:clamp(18px,5.4vw,30px)}.game-panel .seats .seat{padding:6px;font-size:13px}}.game-panel button.big{padding:12px;font-size:16px}.table-seats{flex-wrap:wrap}.table-seats .seat{min-width:30%;padding:6px}.yut-players,.pk-players{list-style:none;padding:0;display:flex;flex-direction:column;gap:4px}.yut-players li{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;background:var(--bg);font-size:13px}.yut-players li i{width:14px;height:14px;border-radius:50%}.yut-players li b{flex:1}.yut-players li.turn,.pk-players li.turn{background:var(--accent-soft)}.yut-board{width:min(100%,calc(88dvh - 380px));min-width:220px;align-self:center;aspect-ratio:1;background:#f1e2c2;border-radius:12px}.yut-board .can{cursor:pointer}.yut-move{display:flex;flex-direction:column;gap:6px}.sticks{display:flex;gap:8px;justify-content:center}.sticks i{width:14px;height:54px;border-radius:7px;display:grid;place-items:center;font-style:normal;font-size:10px;color:#7a4b2a}.sticks .flat{background:#f3e2bf;border:2px solid #b58863}.sticks .round{background:repeating-linear-gradient(0deg,#8a5d3b 0,#8a5d3b 6px,#a87449 6px,#a87449 12px)}.pk-board{display:flex;gap:4px;align-items:center;padding:10px;border-radius:12px;background:#1f6b45}.pk-board .pot{margin-left:auto;color:#fff;font-weight:700;font-size:14px}.pc{display:inline-grid;place-items:center;width:36px;height:50px;border-radius:5px;background:#fff;font-weight:700;font-size:15px;color:#1b1b1b;border:1px solid #ccc}.pc.red{color:#d62828}.pc.back{background:#b3261e;color:#f3c9c4;font-size:26px}.pk-players li{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:10px;background:var(--bg);font-size:13px}.pk-players li.me{outline:2px solid var(--accent)}.pk-players li.folded{opacity:.5}.pk-players .who{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pk-players .hole{display:flex;gap:2px}.pk-players .hole .pc{width:28px;height:38px;font-size:12px}.pk-players .hole .pc.back{font-size:20px}.pk-players .chips{width:96px;text-align:right;font-variant-numeric:tabular-nums}.pk-players .btn{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#fff;border:1px solid #333;font-style:normal;font-size:10px;font-weight:700;margin-right:4px}.pk-actions{display:flex;flex-direction:column;gap:6px}.pk-actions input[type=range]{flex:3}.pz-top{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:13px}.pz-next{margin-left:auto}.pz-next i{font-style:normal;font-size:18px}.pz-wrap{position:relative;align-self:center;width:min(100%,calc((88dvh - 330px)/2),300px);min-width:180px}.pz-grid{display:grid;aspect-ratio:6 / 12;background:linear-gradient(#cfe8c8,#8fbf7e);border-radius:12px;padding:4px;gap:1px}.pz-grid span{display:grid;place-items:center;font-size:clamp(14px,4.4vw,24px);border-radius:6px;background:#ffffff2e;aspect-ratio:1;line-height:1}.pz-grid span.ghost{background:#ffffff80}.pz-grid span.fire{animation:flicker .4s infinite alternate}@keyframes flicker{to{transform:scale(1.12)}}.pz-over{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;gap:8px;text-align:center;background:#fffdf8bf;border-radius:12px;font-weight:700}.pz-pop{position:absolute;top:30%;left:0;right:0;text-align:center;font-weight:800;font-size:20px;color:#9a3d12;animation:pop-up .9s ease-out forwards;pointer-events:none}@keyframes pop-up{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-30px)}}.pz-pad{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.pz-pad button{padding:12px 0;font-size:18px;touch-action:manipulation}.chat-open{display:none}@media (max-width: 600px){.hud-top{top:8px;left:8px;right:8px;max-width:calc(100% - 16px);flex-wrap:nowrap;overflow-x:auto;gap:4px;padding:4px 6px 4px 10px;scrollbar-width:none}.hud-top::-webkit-scrollbar{display:none}.hud-top button{padding:3px 6px;font-size:14px;flex-shrink:0}.hud-top>span,.hud-top strong{flex-shrink:0}.chat-log{top:52px;left:8px;max-width:min(260px,calc(100% - 16px))}.chat-log li:nth-last-child(n+4){display:none}.chat-log li{font-size:12px;padding:3px 8px}.music-card{top:52px;right:8px}.toast{top:56px;font-size:13px}.dpad{width:124px;height:124px;left:10px;bottom:10px}.dpad button{width:42px;height:42px;font-size:16px}.bottom-center{left:144px;right:10px;bottom:10px;align-items:flex-end;gap:6px}.chips{justify-content:flex-end;gap:6px}.chip{padding:8px 12px;font-size:13px;box-shadow:0 4px 12px #d9622b4d}.chat-open{display:grid;place-items:center;width:52px;height:52px;padding:0;border-radius:50%;font-size:24px;background:#fffdf8f0;box-shadow:0 6px 20px #2b241c33}.chat-wrap.sheet{position:fixed;left:8px;right:8px;bottom:8px;z-index:50;width:auto}.chat-wrap.sheet .chat-bar .primary{display:inline-block}.chat-bar input{font-size:16px}.chat-close{border:0;background:transparent;padding:0 8px!important;color:var(--muted)}.game-panel input:not([type]),.game-panel input[type=text]{font-size:16px}.game-panel{max-height:70%}}.game-panel header .bgm-toggle{margin-left:auto;margin-right:4px;padding:4px 8px;border-radius:999px;font-size:13px}.game-panel header .bgm-toggle+.hall-link{margin-left:0}.lib-sign{padding:4px 12px}.choices button.locked{opacity:.55;border-style:dashed}.quiz,.shop{display:flex;flex-direction:column;gap:10px}.quiz-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px}.acorns{font-weight:800;font-size:16px;padding:3px 10px;border-radius:999px;background:#f4e3c8;color:#6b4423}.streak{font-weight:700;color:#c2410c}.seg{display:flex;gap:4px;flex-wrap:wrap}.seg button{flex:1;padding:7px 4px;border-radius:10px;font-size:14px;white-space:nowrap}.seg button.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.quiz-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:16px 14px 14px;border-radius:16px;background:#fff;border:2px solid var(--line)}.quiz-card.right{border-color:var(--ok)}.quiz-card.wrong{border-color:#e0a14a}.quiz-card .tag{position:absolute;top:-10px;left:12px;font-size:12px;padding:1px 8px;border-radius:999px;background:var(--accent-soft);color:#9a3d12}.quiz-card .big{font-size:56px;text-align:center;line-height:1.1}.quiz-card .big.many{font-size:30px;letter-spacing:2px;word-break:break-all}.quiz-card .question{font-size:19px;font-weight:700;line-height:1.45;text-align:center;word-break:keep-all}.answers{display:grid;grid-template-columns:1fr 1fr;gap:8px}.answers.long{grid-template-columns:1fr}.answers button{min-height:52px;padding:8px;font-size:18px;font-weight:600;border-radius:12px;border-width:2px;word-break:keep-all}.answers button.good{background:#dff3e5;border-color:var(--ok);color:#1e6b3a}.answers button.bad{background:#fde7d3;border-color:#e0a14a}.answers button.dim{opacity:.5}.small{font-size:12px}.shop-items{list-style:none;display:flex;flex-direction:column;gap:8px;padding:0;margin:0}.shop-items li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:#fff;border:1px solid var(--line)}.shop-items li.have{background:#f6fbf3}.shop-items .icon{font-size:28px;width:36px;text-align:center}.shop-items .name{flex:1;display:flex;flex-direction:column;font-weight:700}.shop-items .name small{font-weight:500;color:#6b4423}.shop-items button{white-space:nowrap}.shop-items button.on{background:#dff3e5;border-color:var(--ok);color:#1e6b3a}@media (max-width: 600px){.quiz-card .big{font-size:44px}.quiz-card .question{font-size:17px}.answers button{min-height:46px;font-size:16px}.quiz-card{padding:14px 10px 10px;gap:10px}}
