:root{--bg-deep: #050505;--bg-panel: #100808;--bg-panel-hi: #1a0d0d;--line: #2a1414;--line-hi: #4a2020;--red: #ce2c2c;--red-deep: #7a0e0e;--red-bright: #ef3030;--red-glow: rgba(206, 44, 44, .6);--gold: #d4af37;--gold-soft: #b8941f;--bone: #e8d8c0;--text: #ece4d8;--text-muted: #8a7a72;--shadow-deep: 0 8px 24px rgba(0,0,0,.7);--c-earth: #b8895a;--c-water: #4dd0e1;--c-wind: #10b981;--c-fire: #fb923c;--c-lightning: #facc15;--c-elemental: #c084fc;--font-jp: "Cinzel", "Noto Serif JP", serif;--font-body: "Inter", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--cursor-default: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='28' height='32' viewBox='0 0 24 28'><path d='M1 1 L1 20 L6.5 14.5 L9.5 21.5 L12.5 20 L9.5 13 L16.5 13 Z' fill='%23151515' stroke='%23d4af37' stroke-width='1.4' stroke-linejoin='round'/><path d='M2.5 3 L2.5 16 L6.5 12.5 L9 17.5 L10.5 17 L8 12 L13 12 Z' fill='%23d4af37' opacity='0.18'/></svg>") 1 1, default;--cursor-pointer: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='28' height='32' viewBox='0 0 24 28'><path d='M1 1 L1 20 L6.5 14.5 L9.5 21.5 L12.5 20 L9.5 13 L16.5 13 Z' fill='%23ce2c2c' stroke='%23ffd700' stroke-width='1.4' stroke-linejoin='round'/><path d='M2.5 3 L2.5 16 L6.5 12.5 L9 17.5 L10.5 17 L8 12 L13 12 Z' fill='%23ffffff' opacity='0.28'/></svg>") 1 1, pointer}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}body{font-family:var(--font-body);color:var(--text);background:radial-gradient(ellipse at top left,rgba(206,44,44,.1),transparent 55%),radial-gradient(ellipse at bottom right,rgba(122,14,14,.1),transparent 55%),radial-gradient(ellipse at center,#1a0808,#050202 70%);cursor:var(--cursor-default)}button,a,[role=button],.card-btn,.noble-card,.opponent-card,.token,.lobby button,.token-actions button,summary,label[for]{cursor:var(--cursor-pointer)}button:disabled,.card-btn:disabled,.token:disabled{cursor:not-allowed}.app{min-height:100vh;position:relative}.akatsuki-clouds{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.ak-cloud{position:absolute;width:260px;height:auto;left:-300px;animation:cloud-drift linear infinite;opacity:.55;will-change:transform;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}@keyframes cloud-drift{0%{transform:translate(0) scale(var(--scale, 1))}to{transform:translate(calc(100vw + 300px)) scale(var(--scale, 1))}}.chakra-particles{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.chakra-particle{position:absolute;bottom:-10px;border-radius:50%;animation-name:chakra-rise;animation-timing-function:linear;animation-iteration-count:infinite;will-change:transform,opacity;opacity:0}@keyframes chakra-rise{0%{transform:translate(0) scale(.6);opacity:0}10%{opacity:.9}90%{opacity:.7}to{transform:translate(var(--drift),-110vh) scale(1.2);opacity:0}}.muted{color:var(--text-muted)}.small{font-size:11px}.section-title{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 10px;font-family:var(--font-jp);font-size:14px;font-weight:800;letter-spacing:4px;text-transform:uppercase;background:linear-gradient(180deg,#ffe27a 0%,var(--gold) 55%,var(--gold-soft) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 8px rgba(212,175,55,.3))}.section-title:before,.section-title:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.7}.badge{font-size:10px;padding:3px 8px;background:var(--line);border-radius:999px;text-transform:uppercase;letter-spacing:1px;font-weight:700;border:1px solid var(--line-hi)}.badge.turn{background:linear-gradient(180deg,var(--red),var(--red-deep));color:#fff;border-color:var(--red-deep)}.badge.final{background:linear-gradient(180deg,var(--red-bright),var(--red-deep));color:#fff}button{font-family:inherit}button.primary{background:linear-gradient(180deg,var(--red),var(--red-deep));border:1px solid #5a0808;color:#fff;padding:10px 22px;border-radius:6px;font-weight:700;font-family:var(--font-body);letter-spacing:1px;cursor:var(--cursor-pointer);text-shadow:0 1px 0 rgba(0,0,0,.5);box-shadow:inset 0 1px #ffffff2e,0 2px 8px #00000080,0 0 14px #ce2c2c59;transition:filter .15s,transform .1s,box-shadow .2s}button.primary:hover{filter:brightness(1.15);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff38,0 4px 14px #0009,0 0 24px #ef30308c}button.primary:active{transform:translateY(0);filter:brightness(.95)}button.primary:disabled{background:#1a1010;border-color:#2a1414;color:#4a3a32;cursor:not-allowed;text-shadow:none;box-shadow:none;transform:none;filter:none}button.secondary{background:linear-gradient(180deg,#2a1a1a,#1a0d0d);border:1px solid #4a2020;color:var(--bone);padding:10px 20px;border-radius:6px;font-weight:600;letter-spacing:1px;cursor:var(--cursor-pointer);box-shadow:inset 0 1px #ffffff0f,0 2px 4px #0006;transition:filter .15s,transform .1s}button.secondary:hover{filter:brightness(1.25);transform:translateY(-1px)}button.secondary:disabled{opacity:.5;cursor:not-allowed;transform:none;filter:none}button.ghost{background:linear-gradient(180deg,var(--red),var(--red-deep));border:1px solid #5a0808;color:#fff;padding:10px 18px;border-radius:6px;font-weight:700;letter-spacing:1px;cursor:var(--cursor-pointer);box-shadow:inset 0 1px #ffffff1a,0 2px 4px #0006;transition:filter .15s,transform .1s}button.ghost:hover{filter:brightness(1.15);transform:translateY(-1px)}.toast{position:fixed;top:16px;left:50%;transform:translate(-50%);background:linear-gradient(180deg,#8a1010,#4a0808);color:#fff;padding:12px 22px;border-radius:6px;z-index:250;font-weight:700;letter-spacing:.5px;border:1px solid #5a1010;box-shadow:0 8px 24px #000000b3,0 0 24px #ef303080;animation:slide-down .25s ease-out}@keyframes slide-down{0%{opacity:0;transform:translate(-50%,-16px)}to{opacity:1;transform:translate(-50%)}}.volume-control{position:fixed;top:14px;right:18px;z-index:999}.vol-btn{width:38px;height:38px;padding:0;margin:0;background:linear-gradient(180deg,#2a1414,#1a0808);border:1px solid var(--line-hi);border-radius:50%;color:var(--gold);display:flex;align-items:center;justify-content:center;cursor:var(--cursor-pointer);transition:transform .12s,background .12s,color .12s,box-shadow .12s;box-shadow:0 4px 14px #0009}.vol-btn:hover{background:linear-gradient(180deg,#3a1818,#220a0a);color:var(--bone);transform:translateY(-1px)}.vol-btn[aria-expanded=true]{border-color:var(--red);color:var(--bone);box-shadow:0 0 0 2px #ce2c2c40,0 4px 14px #0009}.vol-panel{position:absolute;top:calc(100% + 10px);right:0;width:240px;padding:14px;background:linear-gradient(180deg,#1a0d0d,#100808);border:1px solid var(--line-hi);border-radius:10px;box-shadow:0 12px 32px #000000b3,0 0 24px #ce2c2c26;display:flex;flex-direction:column;gap:12px;animation:vol-panel-in .14s ease-out}@keyframes vol-panel-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.vol-row{display:grid;grid-template-columns:60px 1fr 28px;align-items:center;gap:10px}.vol-label{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:2px}.vol-pct{font-family:Courier New,monospace;font-size:11px;color:var(--gold-soft);text-align:right}.vol-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;background:linear-gradient(90deg,var(--red) 0%,var(--gold) 100%);border-radius:999px;outline:none;cursor:var(--cursor-pointer)}.vol-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--gold);border:2px solid var(--bg-deep);cursor:var(--cursor-pointer);box-shadow:0 0 6px #d4af3799}.vol-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--gold);border:2px solid var(--bg-deep);cursor:var(--cursor-pointer)}.vol-track-row{display:grid;grid-template-columns:60px 1fr;align-items:center;gap:10px}.vol-track-buttons{display:flex;gap:6px}.vol-track-btn{flex:1;padding:6px 10px;background:linear-gradient(180deg,#2a1414,#1a0808);border:1px solid var(--line-hi);border-radius:6px;color:var(--text-muted);font-family:Courier New,monospace;font-weight:900;font-size:13px;cursor:var(--cursor-pointer);transition:background .15s,color .15s,border-color .15s}.vol-track-btn:hover{background:linear-gradient(180deg,#3a1818,#220a0a);color:var(--bone)}.vol-track-btn.active{background:linear-gradient(180deg,var(--red),var(--red-deep));border-color:var(--red-bright);color:#fff;box-shadow:0 0 12px #ce2c2c66}.vol-mute-toggle{margin-top:4px;padding:8px 12px;background:linear-gradient(180deg,#2a1414,#1a0808);border:1px solid var(--line-hi);border-radius:6px;color:var(--bone);font-family:inherit;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;cursor:var(--cursor-pointer);transition:background .12s,border-color .12s,color .12s}.vol-mute-toggle:hover{background:linear-gradient(180deg,#3a1818,#220a0a);border-color:var(--red)}.event-popup-stack{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;background:#0000008c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);pointer-events:auto;cursor:var(--cursor-pointer);animation:event-popup-stack-in .25s ease-out}@keyframes event-popup-stack-in{0%{opacity:0}to{opacity:1}}.event-popup{--accent: var(--red);position:relative;padding:18px 24px 22px;background:linear-gradient(180deg,#1f0d0dd6,#0d0505e0);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line-hi));border-radius:18px;box-shadow:0 24px 60px #000000e6,0 0 50px color-mix(in srgb,var(--accent) 50%,transparent),0 0 110px color-mix(in srgb,var(--accent) 28%,transparent),inset 0 1px #ffffff0f;pointer-events:auto;animation:event-popup-in .4s cubic-bezier(.2,.8,.3,1) both;display:flex;flex-direction:column;align-items:center;gap:13px;min-width:264px}@keyframes event-popup-in{0%{opacity:0;transform:translateY(-12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes event-popup-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(10px) scale(.95)}}.event-popup.leaving{animation:event-popup-out .3s ease-in forwards;pointer-events:none}.event-popup.popup-tb{--accent: var(--gold)}.event-popup-close{position:absolute;top:14px;right:14px;width:42px;height:42px;padding:0;margin:0;background:#00000080;border:2px solid var(--line-hi);border-radius:50%;color:var(--bone);font-size:28px;font-weight:900;line-height:1;display:flex;align-items:center;justify-content:center;cursor:var(--cursor-pointer);transition:background .15s,border-color .15s,color .15s,transform .1s}.event-popup-close:hover{background:var(--red);border-color:var(--red-bright);color:#fff;transform:scale(1.08)}.event-popup-img-wrap{position:relative;width:216px;border-radius:12px;overflow:hidden;border:2px solid var(--accent);box-shadow:0 8px 20px #000000b3,0 0 26px color-mix(in srgb,var(--accent) 40%,transparent)}.event-popup-shine{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.4) 50%,transparent 65%);transform:translate(-130%);animation:event-popup-shine 1.1s ease-out .35s 1 both;pointer-events:none}@keyframes event-popup-shine{0%{transform:translate(-130%)}to{transform:translate(130%)}}.event-popup.popup-tb .event-popup-img-wrap{width:204px;height:204px;border:3px solid var(--gold);border-radius:14px}.event-popup-img{display:block;width:100%;height:auto}.event-popup.popup-tb .event-popup-img{width:100%;height:100%;object-fit:cover}.event-popup-head{display:flex;flex-direction:column;gap:5px;align-items:center;text-align:center;max-width:100%}.event-popup-actor-row{display:flex;align-items:center;gap:9px;max-width:340px}.event-popup-seat{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.2);flex-shrink:0}.event-popup-actor{font-family:var(--font-jp);font-weight:900;font-size:22px;letter-spacing:3px;color:var(--bone);text-shadow:0 2px 4px rgba(0,0,0,.95),0 0 8px rgba(0,0,0,.8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.event-popup-verb{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-jp);font-size:11px;color:var(--gold);letter-spacing:5px;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.9)}.event-popup-verb:before,.event-popup-verb:after{content:"";width:26px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-soft))}.event-popup-verb:after{background:linear-gradient(90deg,var(--gold-soft),transparent)}.event-popup-caption{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:280px}.event-popup-name{font-family:var(--font-jp);font-weight:800;font-size:17px;letter-spacing:1px;color:var(--bone);text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.85)}.event-popup-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.event-popup-elem{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,rgba(0,0,0,.45));border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);color:var(--text);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:capitalize}.event-popup-elem-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent)}.event-popup-pts{display:inline-flex;align-items:center;padding:3px 11px;border-radius:999px;background:linear-gradient(180deg,var(--gold),var(--gold-soft));color:#1a0d00;font-size:11px;font-weight:900;letter-spacing:.5px;text-shadow:0 1px 0 rgba(255,255,255,.2);box-shadow:0 2px 8px #d4af3780}.results-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:32px;overflow:auto}.results-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:22px;max-width:720px;width:100%}.results-title{font-family:var(--font-jp);font-size:60px;background:linear-gradient(180deg,#ffe27a 0%,var(--gold) 38%,var(--red-bright) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 16px rgba(206,44,44,.55));letter-spacing:10px;margin:0;font-weight:400;line-height:1;text-transform:uppercase}.results-winner-card{--seat: var(--gold);display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 48px 22px;background:linear-gradient(180deg,color-mix(in srgb,var(--seat) 22%,rgba(28,16,10,.85)),#100808e6);border:2px solid var(--seat);border-radius:16px;box-shadow:0 0 60px color-mix(in srgb,var(--seat) 45%,transparent),0 12px 30px #000c;animation:results-winner-pop .6s cubic-bezier(.2,.8,.3,1) both}.results-winner-avatar{width:66px;height:66px;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:0;color:#140a09;background:radial-gradient(circle at 34% 28%,color-mix(in srgb,var(--seat) 72%,#fff),var(--seat));border:3px solid color-mix(in srgb,var(--seat) 65%,#000);box-shadow:0 0 22px color-mix(in srgb,var(--seat) 55%,transparent),inset 0 1px #fff6;margin-bottom:2px}.results-winner-avatar svg{display:block;filter:drop-shadow(0 0 .7px rgba(255,255,255,.4))}@keyframes results-winner-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.results-winner-label{font-family:var(--font-jp);font-size:12px;letter-spacing:6px;color:var(--gold-soft);text-transform:uppercase}.results-winner-name{font-family:var(--font-jp);font-size:42px;font-weight:900;letter-spacing:6px;color:var(--seat);text-shadow:0 0 28px color-mix(in srgb,var(--seat) 60%,transparent),0 3px 3px rgba(0,0,0,.7);line-height:1.1}.results-winner-points{font-family:Courier New,monospace;font-size:18px;font-weight:900;color:var(--bone);letter-spacing:2px}.results-rank-head{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;max-width:540px;margin:2px 0 -4px;font-family:var(--font-jp);font-weight:800;font-size:12px;letter-spacing:4px;text-transform:uppercase;background:linear-gradient(180deg,#ffe27a,var(--gold) 55%,var(--gold-soft));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 8px rgba(212,175,55,.3))}.results-rank-head:before,.results-rank-head:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.7}.results-rank-list{display:flex;flex-direction:column;gap:8px;width:100%;max-width:540px}.results-rank{--seat: var(--line-hi);position:relative;display:grid;grid-template-columns:50px auto 1fr auto;align-items:center;gap:14px;padding:10px 16px 10px 8px;background:linear-gradient(90deg,color-mix(in srgb,var(--seat) 20%,rgba(18,8,8,.88)),#0e0707e0);border:1px solid color-mix(in srgb,var(--seat) 55%,var(--line-hi));border-radius:10px;box-shadow:0 4px 12px #00000080,0 0 16px color-mix(in srgb,var(--seat) 20%,transparent);overflow:hidden}.results-rank:before{content:"";position:absolute;top:0;bottom:0;left:0;width:4px;background:var(--seat);box-shadow:0 0 12px color-mix(in srgb,var(--seat) 60%,transparent)}.results-rank-avatar{width:34px;height:34px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:0;color:#140a09;background:radial-gradient(circle at 34% 28%,color-mix(in srgb,var(--seat) 72%,#fff),var(--seat));border:2px solid color-mix(in srgb,var(--seat) 65%,#000);box-shadow:0 0 10px color-mix(in srgb,var(--seat) 45%,transparent),inset 0 1px #ffffff59}.results-rank-avatar svg{display:block;filter:drop-shadow(0 0 .6px rgba(255,255,255,.35))}.results-rank.me{outline:2px solid #fff;outline-offset:2px}.results-rank-medal{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ffffff1a,#0009);border:2px solid var(--line-hi);font-family:var(--font-jp);font-size:20px;font-weight:900;color:var(--bone)}.results-rank.place-1 .results-rank-medal{background:radial-gradient(circle at 30% 30%,#ffe28a,var(--gold) 55%,var(--gold-soft) 100%);border-color:#8a6f1f;color:#2a1a04;box-shadow:0 0 14px #d4af3780}.results-rank.place-2 .results-rank-medal{background:radial-gradient(circle at 30% 30%,#f0f4f8,#b8c4d0 55%,#8a98a8);border-color:#5a6878;color:#1a1c20}.results-rank.place-3 .results-rank-medal{background:radial-gradient(circle at 30% 30%,#ecb088,#b87333 55%,#8a5023);border-color:#6a3e15;color:#2a1808}.results-rank-name{font-family:var(--font-jp);font-weight:900;font-size:18px;letter-spacing:2px;color:var(--bone);text-shadow:0 1px 2px rgba(0,0,0,.6)}.results-rank-stats{display:flex;gap:12px;align-items:center;font-family:Courier New,monospace;font-size:13px;font-weight:800;color:var(--text)}.rank-pts{color:var(--gold);font-size:15px}.rank-tb{color:var(--gold-soft)}.results-ready-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:100%;max-width:720px;margin-top:6px}.results-ready-slot{position:relative;display:flex;align-items:center;gap:10px;padding:12px 14px;min-height:64px;min-width:0;background:linear-gradient(180deg,#220e0eb3,#140808b3);border:2px solid var(--line-hi);border-radius:10px;box-shadow:inset 0 1px #ffffff0a,0 2px 8px #0006;transition:background .25s,border-color .25s,box-shadow .25s,color .25s}.results-ready-slot.empty{border:2px dashed var(--line-hi);background:#00000040;justify-content:center;box-shadow:none}.results-ready-slot .slot-empty-text{font-family:var(--font-jp);font-size:13px;letter-spacing:5px;color:var(--text-muted);text-transform:uppercase;opacity:.6}.results-ready-slot{--seat: var(--line-hi)}.results-ready-avatar{width:28px;height:28px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:0;color:#140a09;background:radial-gradient(circle at 34% 28%,color-mix(in srgb,var(--seat) 72%,#fff),var(--seat));border:2px solid color-mix(in srgb,var(--seat) 65%,#000);box-shadow:inset 0 1px #ffffff4d}.results-ready-avatar svg{display:block}.results-ready-slot .slot-name{flex:1;font-family:var(--font-jp);font-weight:900;font-size:16px;letter-spacing:2px;color:var(--bone);text-shadow:0 1px 2px rgba(0,0,0,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.results-ready-slot.me{outline:2px solid #fff;outline-offset:2px}.results-ready-slot.is-ready{border-color:#3fb950!important;background:linear-gradient(180deg,#226432e6,#0e3818e6)!important;box-shadow:inset 0 1px #ffffff1a,0 4px 14px #0009,0 0 22px #3fb9508c!important}.results-ready-slot.is-ready .slot-name{color:#f0fff4}.results-ready-state{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#0000008c;border:1px solid var(--line-hi);font-family:Courier New,monospace;font-weight:900;font-size:14px;color:var(--text-muted);flex-shrink:0}.results-ready-slot.is-ready .results-ready-state{background:linear-gradient(180deg,#3fb950,#1f7a2f);border-color:#1a4a20;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.5);box-shadow:0 0 8px #3fb950b3}.results-actions{display:flex;gap:16px;margin-top:6px}.results-actions .primary:disabled{background:linear-gradient(180deg,#1f4a26,#0e2a13);border-color:#1f7a2f;color:var(--bone);text-shadow:0 1px 0 rgba(0,0,0,.5);box-shadow:inset 0 1px #ffffff1a,0 0 18px #3fb95059;cursor:var(--cursor-default);filter:none;transform:none;opacity:1}.results-actions button{min-width:160px;padding:14px 28px;font-size:13px;letter-spacing:4px;text-transform:uppercase}.curtain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;pointer-events:none;overflow:hidden}.curtain-panel{position:absolute;left:-2%;right:-2%;height:52%;background:radial-gradient(ellipse at center,rgba(206,44,44,.25),transparent 70%),linear-gradient(180deg,#0a0202,#2a0808 45%,#1a0404);overflow:hidden;box-shadow:0 0 80px #000000e6;transition:transform .9s cubic-bezier(.55,.05,.4,1)}.curtain-top{top:0;border-bottom:4px solid var(--red)}.curtain-bottom{bottom:0;border-top:4px solid var(--red);background:radial-gradient(ellipse at center,rgba(206,44,44,.25),transparent 70%),linear-gradient(0deg,#0a0202,#2a0808 45%,#1a0404)}.curtain.mode-open .curtain-top,.curtain.mode-open .curtain-bottom{transform:translateY(0)}.curtain.mode-open.is-active .curtain-top{transform:translateY(-110%)}.curtain.mode-open.is-active .curtain-bottom{transform:translateY(110%)}.curtain.mode-close .curtain-top{transform:translateY(-110%)}.curtain.mode-close .curtain-bottom{transform:translateY(110%)}.curtain.mode-close.is-active .curtain-top,.curtain.mode-close.is-active .curtain-bottom{transform:translateY(0)}.curtain-seam{position:absolute;left:0;right:0;top:50%;height:2px;background:linear-gradient(90deg,transparent,var(--gold) 30%,var(--gold) 70%,transparent);box-shadow:0 0 16px #d4af37b3;transform:translateY(-50%);transition:opacity .45s ease}.curtain.mode-open .curtain-seam{opacity:.85}.curtain.mode-open.is-active .curtain-seam,.curtain.mode-close .curtain-seam{opacity:0}.curtain.mode-close.is-active .curtain-seam{opacity:.85}.curtain-cloud{position:absolute;width:260px;height:auto;opacity:.55;filter:drop-shadow(0 6px 14px rgba(0,0,0,.55));pointer-events:none}.cc1{top:4%;left:6%;transform:scale(.85)}.cc2{top:18%;right:8%;transform:scale(1.1)}.cc3{bottom:4%;left:30%;transform:scale(.7)}.cc4{top:8%;left:12%;transform:scale(1)}.cc5{bottom:6%;right:4%;transform:scale(.9)}.cc6{bottom:20%;left:50%;transform:scale(.75)}.curtain-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;pointer-events:none;transition:opacity .45s ease,transform .7s cubic-bezier(.2,.8,.3,1)}.curtain.mode-open .curtain-center{opacity:1;transform:scale(1)}.curtain.mode-open.is-active .curtain-center{opacity:0;transform:scale(1.4)}.curtain.mode-close .curtain-center{opacity:0;transform:scale(.6)}.curtain.mode-close.is-active .curtain-center{opacity:1;transform:scale(1)}.curtain-kanji{font-family:var(--font-jp);font-size:160px;font-weight:900;color:var(--red-bright);text-shadow:0 0 36px rgba(239,48,48,.85),0 0 80px rgba(206,44,44,.7),0 6px 6px rgba(0,0,0,.8);letter-spacing:12px;line-height:1}.curtain-sub{font-family:var(--font-jp);font-size:16px;letter-spacing:10px;color:var(--gold);text-transform:uppercase;text-shadow:0 0 16px rgba(212,175,55,.6)}.curtain.is-loading .curtain-kanji{animation:curtain-loading-pulse 1.6s ease-in-out infinite}@keyframes curtain-loading-pulse{0%,to{opacity:1;filter:brightness(1)}50%{opacity:.72;filter:brightness(.85)}}.curtain-loader{letter-spacing:6px;font-family:var(--font-body);font-weight:700;font-size:13px;color:var(--gold-soft);text-shadow:0 0 10px rgba(212,175,55,.4)}.curtain-loader-dots{display:inline-block;width:1.6em;overflow:hidden;vertical-align:bottom;letter-spacing:.1em;animation:curtain-loader-dots 1.2s steps(4) infinite}@keyframes curtain-loader-dots{0%{width:0}to{width:1.6em}}.mini-game{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:flex-start;flex-direction:column;padding:5vh 24px 24px;overflow:hidden}.mg-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:16px;max-width:960px;width:100%}.mg-header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}.mg-title{font-family:var(--font-jp);font-size:40px;color:var(--red);text-shadow:0 0 32px rgba(206,44,44,.7),0 4px 6px rgba(0,0,0,.8);letter-spacing:6px;margin:0;font-weight:400;line-height:1}.mg-subtitle{display:flex;align-items:center;justify-content:center;gap:14px;padding:4px 0}.mg-subtitle:before,.mg-subtitle:after{content:"";flex:0 0 auto;width:80px;height:2px;background:linear-gradient(90deg,transparent,rgba(212,175,55,.7) 30%,var(--gold) 50%,rgba(212,175,55,.7) 70%,transparent);box-shadow:0 0 8px #d4af3780;border-radius:2px}.mg-subtitle-text{font-family:var(--font-jp);font-size:18px;font-weight:900;letter-spacing:8px;text-transform:uppercase;background:linear-gradient(180deg,#fff4cc 0%,#ffd86a 35%,var(--gold) 65%,var(--gold-soft) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent;filter:drop-shadow(0 0 14px rgba(212,175,55,.5)) drop-shadow(0 2px 2px rgba(0,0,0,.75));line-height:1;white-space:nowrap}.mg-host-btn{padding:12px 32px!important;font-size:14px;letter-spacing:4px;text-transform:uppercase}.mg-waiting{font-family:var(--font-jp);font-size:13px;letter-spacing:4px;color:var(--gold);text-transform:uppercase;text-shadow:0 0 12px rgba(212,175,55,.4)}.mg-timer{display:flex;flex-direction:column;align-items:center;gap:4px}.mg-timer-ring{width:60px;height:60px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ce2c2c66,#000000d9);border:3px solid var(--red);display:flex;align-items:center;justify-content:center;box-shadow:0 0 28px #ce2c2c8c,inset 0 0 16px #0009;animation:mg-timer-pulse 1s ease-in-out infinite}.mg-timer-num{font-family:var(--font-jp);font-size:26px;font-weight:900;color:var(--gold);text-shadow:0 0 12px rgba(212,175,55,.7)}.mg-timer-label{font-size:11px;color:var(--text-muted);letter-spacing:3px;text-transform:uppercase}@keyframes mg-timer-pulse{0%,to{transform:scale(1);box-shadow:0 0 28px #ce2c2c8c,inset 0 0 16px #0009}50%{transform:scale(1.06);box-shadow:0 0 42px #ef3030d9,inset 0 0 16px #0009}}.mg-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;width:100%;max-width:984px}.mg-card{--seat: var(--red);position:relative;aspect-ratio:1 / 1;background:linear-gradient(180deg,#160808,#0a0202);border:2px solid var(--gold-soft);border-radius:10px;padding:0;overflow:hidden;cursor:var(--cursor-default);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;box-shadow:0 8px 20px #000000b3,inset 0 1px #ffffff0a}.mg-card img{width:100%;height:100%;object-fit:cover;display:block}.mg-card.clickable{cursor:var(--cursor-pointer)}.mg-card.clickable:hover{transform:translateY(-6px) scale(1.04);border-color:var(--gold);box-shadow:0 14px 30px #000000e6,0 0 24px #d4af3780}.mg-card.revealed{border-color:var(--gold);animation:mg-card-flip .5s ease-out}@keyframes mg-card-flip{0%{transform:rotateY(180deg);opacity:0}to{transform:rotateY(0);opacity:1}}.mg-card.owned{border-color:var(--seat);box-shadow:0 10px 24px #000000b3,0 0 30px color-mix(in srgb,var(--seat) 60%,transparent)}.mg-card.mine{outline:2px solid #fff;outline-offset:2px}.mg-card.taken{opacity:.9}.mg-card-num{position:absolute;top:6px;left:6px;width:32px;height:32px;border-radius:50%;background:linear-gradient(180deg,var(--gold),var(--gold-soft));color:#1a0808;font-family:var(--font-jp);font-size:18px;font-weight:900;display:flex;align-items:center;justify-content:center;border:2px solid #1a0808;box-shadow:0 0 12px #d4af37b3}.mg-card-owner{position:absolute;bottom:0;left:0;right:0;padding:7px 10px;background:linear-gradient(180deg,color-mix(in srgb,var(--seat) 80%,#000),color-mix(in srgb,var(--seat) 50%,#000));color:#fff;font-family:var(--font-jp);font-size:14px;font-weight:900;letter-spacing:3px;text-transform:uppercase;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.85);border-top:2px solid color-mix(in srgb,var(--seat) 45%,#000);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 -4px 12px #0009}.mg-order{display:flex;flex-direction:column;gap:8px;align-items:center;min-height:220px;width:100%}.mg-order-hidden{visibility:hidden}.mg-order-label{display:flex;align-items:center;justify-content:center;gap:14px;padding:6px 0}.mg-order-label:before,.mg-order-label:after{content:"";flex:1;max-width:110px;height:2px;background:linear-gradient(90deg,transparent,rgba(212,175,55,.7) 30%,var(--gold) 50%,rgba(212,175,55,.7) 70%,transparent);box-shadow:0 0 8px #d4af3780;border-radius:2px}.mg-order-label-text{font-family:var(--font-jp);font-size:24px;font-weight:900;letter-spacing:12px;text-transform:uppercase;padding-right:0;background:linear-gradient(180deg,#fff4cc 0%,#ffd86a 35%,var(--gold) 65%,var(--gold-soft) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent;filter:drop-shadow(0 0 16px rgba(212,175,55,.55)) drop-shadow(0 2px 2px rgba(0,0,0,.75));line-height:1}.mg-order-label-kanji{font-family:var(--font-jp);font-size:24px;color:var(--red-bright);text-shadow:0 0 14px rgba(239,48,48,.7),0 2px 2px rgba(0,0,0,.8);line-height:1;font-weight:400}.mg-order-list{display:flex;flex-direction:column;gap:6px;min-width:460px;max-width:560px;width:100%}@keyframes mg-order-item-in{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes mg-order-label-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes mg-order-line-in{0%{opacity:0;transform:scaleX(.2)}to{opacity:1;transform:scaleX(1)}}.mg-order:not(.mg-order-hidden) .mg-order-label-kanji:first-child{animation:mg-order-label-in .5s ease-out both}.mg-order:not(.mg-order-hidden) .mg-order-label-text{animation:mg-order-label-in .55s .12s ease-out both}.mg-order:not(.mg-order-hidden) .mg-order-label-kanji:last-child{animation:mg-order-label-in .5s .24s ease-out both}.mg-order:not(.mg-order-hidden) .mg-order-label:before{animation:mg-order-line-in .6s .05s ease-out both;transform-origin:right center}.mg-order:not(.mg-order-hidden) .mg-order-label:after{animation:mg-order-line-in .6s .05s ease-out both;transform-origin:left center}.mg-order:not(.mg-order-hidden) .mg-order-item{animation:mg-order-item-in .55s cubic-bezier(.2,.8,.3,1) both}.mg-order:not(.mg-order-hidden) .mg-order-item:nth-child(1){animation-delay:.35s}.mg-order:not(.mg-order-hidden) .mg-order-item:nth-child(2){animation-delay:.5s}.mg-order:not(.mg-order-hidden) .mg-order-item:nth-child(3){animation-delay:.65s}.mg-order:not(.mg-order-hidden) .mg-order-item:nth-child(4){animation-delay:.8s}.mg-order-item{--seat: var(--line-hi);display:grid;grid-template-columns:38px auto 1fr auto;align-items:center;gap:12px;padding:4px 14px 4px 6px;background:linear-gradient(90deg,color-mix(in srgb,var(--seat) 22%,rgba(18,8,8,.88)),#0e0707e0);border:1px solid color-mix(in srgb,var(--seat) 55%,var(--line-hi));border-radius:10px;box-shadow:0 4px 12px #00000080,0 0 16px color-mix(in srgb,var(--seat) 22%,transparent),inset 0 1px #ffffff0a;position:relative;overflow:hidden}.mg-order-item:before{content:"";position:absolute;top:0;bottom:0;left:0;width:4px;background:var(--seat);box-shadow:0 0 12px color-mix(in srgb,var(--seat) 60%,transparent)}.mg-order-item.me{outline:2px solid #fff;outline-offset:2px}.mg-order-medal{width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ffffff14,#00000080);border:2px solid var(--line-hi);display:flex;align-items:center;justify-content:center;position:relative;box-shadow:inset 0 1px #ffffff1a,0 2px 6px #00000080}.mg-order-item.place-1 .mg-order-medal{background:radial-gradient(circle at 30% 30%,#ffe28a,var(--gold) 55%,var(--gold-soft) 100%);border-color:#8a6f1f;box-shadow:inset 0 1px #fff6,0 0 14px #d4af3780}.mg-order-item.place-1 .mg-order-pos,.mg-order-item.place-1 .mg-order-suffix{color:#2a1a04;text-shadow:0 1px 0 rgba(255,230,170,.5)}.mg-order-item.place-2 .mg-order-medal{background:radial-gradient(circle at 30% 30%,#f0f4f8,#b8c4d0 55%,#8a98a8);border-color:#5a6878;box-shadow:inset 0 1px #fff6,0 0 10px #b8c4d066}.mg-order-item.place-2 .mg-order-pos,.mg-order-item.place-2 .mg-order-suffix{color:#1a1c20;text-shadow:0 1px 0 rgba(255,255,255,.4)}.mg-order-item.place-3 .mg-order-medal{background:radial-gradient(circle at 30% 30%,#ecb088,#b87333 55%,#8a5023);border-color:#6a3e15;box-shadow:inset 0 1px #ffffff4d,0 0 10px #b8733366}.mg-order-item.place-3 .mg-order-pos,.mg-order-item.place-3 .mg-order-suffix{color:#2a1808;text-shadow:0 1px 0 rgba(255,200,160,.4)}.mg-order-pos{font-family:var(--font-jp);font-size:17px;font-weight:900;color:var(--bone);line-height:1}.mg-order-name{font-family:var(--font-jp);font-weight:900;font-size:17px;letter-spacing:2px;color:var(--bone);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.5);min-width:0}.mg-order-avatar{width:34px;height:34px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:0;color:#140a09;background:radial-gradient(circle at 34% 28%,color-mix(in srgb,var(--seat) 72%,#fff),var(--seat));border:2px solid color-mix(in srgb,var(--seat) 65%,#000);box-shadow:0 0 10px color-mix(in srgb,var(--seat) 45%,transparent),inset 0 1px #ffffff59}.mg-order-avatar svg{display:block;filter:drop-shadow(0 0 .6px rgba(255,255,255,.35))}.mg-order-tb-block{display:flex;align-items:center;gap:5px;padding:2px 8px 2px 2px;background:#00000080;border:1px solid var(--line-hi);border-radius:999px}.mg-order-tb-img{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--gold-soft);object-fit:cover;box-shadow:0 0 6px #d4af374d}.mg-order-tb-num{font-family:var(--font-jp);font-size:14px;font-weight:900;color:var(--gold);letter-spacing:1px;text-shadow:0 0 8px rgba(212,175,55,.5)}.lobby-kanji{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-jp);font-size:520px;font-weight:400;color:var(--red);opacity:.07;letter-spacing:-20px;text-shadow:0 0 80px rgba(206,44,44,.6);pointer-events:none;z-index:0;animation:kanji-breathe 8s ease-in-out infinite;-webkit-user-select:none;user-select:none}@keyframes kanji-breathe{0%,to{opacity:.06;transform:translate(-50%,-50%) scale(1)}50%{opacity:.12;transform:translate(-50%,-50%) scale(1.04)}}.lobby{max-width:460px;margin:80px auto;padding:32px;background:linear-gradient(180deg,#1a0d0deb,#100808eb);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 80px #000000d9,0 0 80px #ce2c2c38;position:relative;z-index:1}.lobby-room{max-width:640px;margin:40px auto;display:flex;flex-direction:column;gap:14px;border-top:3px solid var(--red)}.lobby-room h1{display:inline-flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.lobby.lobby-room h1{margin:0}.lobby-room .muted{margin:2px 0 0;text-align:center}.code-copy{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;margin:0 0 0 6px;background:#0006;border:1px solid var(--gold-soft);border-radius:6px;color:var(--gold);cursor:var(--cursor-pointer);transition:background .15s,color .15s,transform .1s,border-color .15s;vertical-align:middle}.code-copy:hover{background:var(--gold);color:#1a0808;border-color:var(--gold);transform:translateY(-1px)}.code-copy:active{transform:translateY(0)}.code-copy svg{display:block}.lobby .code-copy{width:30px;margin:0 0 0 6px;padding:0;font-size:inherit;letter-spacing:0;text-transform:none}.player-slots{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:6px 0 4px}.lobby-subrow{display:flex;align-items:center;justify-content:center;min-height:38px;margin:8px 0 2px}.lobby-subrow .lobby-seat-hint{margin:0}.lobby .lobby-subrow .bots-diff-btn{width:auto;margin:0;padding:7px 18px;border-radius:8px;border:1px solid var(--line-hi);background:linear-gradient(180deg,#221414,#140a0a);color:var(--bone);font-family:var(--font-body);font-weight:700;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;cursor:var(--cursor-pointer);box-shadow:none;transition:filter .15s,transform .1s,border-color .15s}.lobby .lobby-subrow .bots-diff-btn[data-diff=easy]{color:#56d364;border-color:#2a8a3f}.lobby .lobby-subrow .bots-diff-btn[data-diff=medium]{color:var(--gold);border-color:var(--gold-soft)}.lobby .lobby-subrow .bots-diff-btn[data-diff=hard]{color:var(--red-bright);border-color:var(--red-deep)}.lobby .lobby-subrow .bots-diff-btn:hover:not(.static){transform:translateY(-1px);filter:brightness(1.18)}.lobby .lobby-subrow .bots-diff-btn.static{cursor:default;opacity:.85}.player-slot{position:relative;display:flex;align-items:center;gap:12px;padding:14px 16px;min-height:76px;background:linear-gradient(180deg,#220e0eb3,#140808b3);border:2px solid var(--line-hi);border-radius:10px;box-shadow:inset 0 1px #ffffff0a,0 2px 8px #0006;transition:border-color .2s,box-shadow .2s}.player-slot.empty{border:2px dashed var(--line-hi);background:#00000040;justify-content:center;box-shadow:none}.slot-seat-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;border:2px solid rgba(255,255,255,.18)}.slot-name{flex:1;min-width:0;font-family:var(--font-jp);font-weight:900;font-size:18px;letter-spacing:2px;text-shadow:0 1px 2px rgba(0,0,0,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slot-badges{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.slot-empty-text{font-family:var(--font-jp);font-size:14px;letter-spacing:6px;color:var(--text-muted);text-transform:uppercase;opacity:.6}.lobby-roster-head{display:flex;align-items:center;justify-content:center;gap:12px;margin:6px 2px 2px;font-family:var(--font-jp);font-weight:800;font-size:12px;letter-spacing:4px;text-transform:uppercase;background:linear-gradient(180deg,#ffe27a 0%,var(--gold) 55%,var(--gold-soft) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 8px rgba(212,175,55,.3))}.lobby-roster-head:before,.lobby-roster-head:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.7}.slot-avatar{width:40px;height:40px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:0;color:#140a09;background:radial-gradient(circle at 34% 28%,color-mix(in srgb,var(--seat) 72%,#fff),var(--seat));border:2px solid color-mix(in srgb,var(--seat) 65%,#000);box-shadow:0 0 12px color-mix(in srgb,var(--seat) 45%,transparent),inset 0 1px #ffffff59}.slot-avatar svg{display:block;filter:drop-shadow(0 0 .6px rgba(255,255,255,.35))}.slot-avatar.slot-avatar-empty{border-style:dashed;border-color:color-mix(in srgb,var(--seat) 55%,transparent);box-shadow:none;opacity:.45;animation:slot-empty-pulse 2.6s ease-in-out infinite}@keyframes slot-empty-pulse{0%,to{opacity:.4}50%{opacity:.7}}.player-slot.empty.clickable{cursor:var(--cursor-pointer);transition:border-color .15s,background .15s,transform .1s}.player-slot.empty.clickable:hover{border-color:color-mix(in srgb,var(--seat) 70%,transparent);background:color-mix(in srgb,var(--seat) 12%,rgba(0,0,0,.25));transform:translateY(-1px)}.player-slot.empty.clickable:hover .slot-avatar-empty{opacity:.95;animation:none}.player-slot.empty.clickable:hover .slot-empty-text{color:color-mix(in srgb,var(--seat) 80%,#fff)}.player-slot.empty.clickable:focus-visible{outline:none;border-color:var(--seat);box-shadow:0 0 0 2px color-mix(in srgb,var(--seat) 40%,transparent)}.lobby-room .lobby-seat-hint{margin:6px 0 0;font-size:11px;letter-spacing:1px;opacity:.65}.player-slot.filled{box-shadow:inset 0 1px #ffffff0d,0 2px 10px #00000073,0 0 18px color-mix(in srgb,var(--seat) 22%,transparent)}.badge-host{background:linear-gradient(180deg,var(--gold),var(--gold-soft));color:#1a0d00;border-color:var(--gold-soft)}.badge-you{background:linear-gradient(180deg,var(--red),var(--red-deep));color:#fff;border-color:var(--red-deep)}.badge-bot{background:linear-gradient(180deg,#3a4a5a,#1a2530);color:#cfe3f2;border-color:#2a3a48}.lobby .player-slot .slot-seat-btn{position:absolute;bottom:6px;right:6px;width:18px;height:18px;min-width:0;padding:0;margin:0;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--line-hi);background:#140808d9;color:var(--text-muted);cursor:var(--cursor-pointer);box-shadow:none;z-index:3;transition:color .15s,border-color .15s,background .15s,transform .1s}.lobby .player-slot .slot-seat-btn svg{display:block}.lobby .player-slot .slot-seat-btn:hover{transform:scale(1.12);filter:none}.lobby .player-slot .slot-seat-btn.add:hover{color:#1a0d00;border-color:var(--gold-soft);background:linear-gradient(180deg,var(--gold),var(--gold-soft))}.lobby .player-slot .slot-seat-btn.remove:hover{color:#fff;border-color:var(--red);background:linear-gradient(180deg,var(--red),var(--red-deep))}.opp-bot-tag{font-family:var(--font-body);font-size:8px;font-weight:800;letter-spacing:1px;color:#cfe3f2;background:linear-gradient(180deg,#3a4a5a,#1a2530);border:1px solid #2a3a48;border-radius:4px;padding:1px 4px;line-height:1.2}.lobby-setting-wrap{position:relative;margin-top:12px}.lobby-setting-wrap .lobby-setting-select{width:100%;margin:0}.lobby-setting-select,.lobby-setting-readonly{flex:1;min-width:140px;margin:12px 0 0;padding:14px 36px 14px 18px;background-color:transparent;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23d4af37' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M1 1 L6 6 L11 1'/></svg>"),linear-gradient(180deg,#2a1a1a,#1a0d0d);background-repeat:no-repeat,no-repeat;background-position:right 14px center,0 0;background-size:12px 8px,auto;border:1px solid #4a2020;border-radius:8px;color:var(--gold);font-family:var(--font-body);font-weight:800;font-size:14px;letter-spacing:3px;text-transform:uppercase;text-align:center;text-align-last:center;cursor:var(--cursor-pointer);box-shadow:inset 0 1px #ffffff0f,0 2px 4px #0006;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:filter .15s,border-color .15s,transform .1s,box-shadow .15s}.lobby-setting-select:hover{filter:brightness(1.25);transform:translateY(-1px);border-color:var(--gold-soft)}.lobby-setting-select:focus{outline:none;border-color:var(--gold);box-shadow:inset 0 1px #ffffff14,0 0 14px #d4af3766}.lobby-setting-readonly{background-image:linear-gradient(180deg,#2a1a1a,#1a0d0d);padding:14px 18px;cursor:var(--cursor-default);display:inline-flex;align-items:center;justify-content:center}.lobby-setting-select.open{border-color:var(--gold);box-shadow:inset 0 1px #ffffff14,0 0 14px #d4af3766}.lobby-setting-menu{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);min-width:100%;width:max-content;z-index:60;padding:12px;background:radial-gradient(ellipse at top,rgba(206,44,44,.1),transparent 70%),linear-gradient(180deg,#1a0d0d,#0a0404);border:1px solid var(--gold-soft);border-radius:12px;box-shadow:0 14px 36px #000000e0,0 0 28px #d4af3747,inset 0 1px #ffffff0f;animation:lobby-menu-in .18s cubic-bezier(.2,.8,.3,1)}.lobby-setting-menu:after{content:"";position:absolute;top:100%;left:50%;width:12px;height:12px;background:linear-gradient(135deg,#0a0404 50%,transparent 50%);border-right:1px solid var(--gold-soft);border-bottom:1px solid var(--gold-soft);transform:translate(-50%) translateY(-7px) rotate(45deg)}@keyframes lobby-menu-in{0%{opacity:0;transform:translate(-50%) translateY(6px) scale(.96)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.lobby-setting-menu-head{display:flex;align-items:center;justify-content:center;gap:10px;padding:4px 4px 10px;margin-bottom:8px;border-bottom:1px solid var(--line-hi)}.lobby-setting-menu-kanji{font-family:var(--font-jp);font-size:22px;font-weight:900;color:var(--red-bright);text-shadow:0 0 12px rgba(239,48,48,.55),0 1px 0 rgba(0,0,0,.7);line-height:1}.lobby-setting-menu-label{font-family:var(--font-jp);font-size:11px;font-weight:800;letter-spacing:4px;color:var(--gold);text-transform:uppercase}.lobby-setting-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lobby-setting-menu-item{margin:0;padding:14px 18px 10px;min-width:84px;display:flex;flex-direction:column;align-items:center;gap:2px;background:radial-gradient(ellipse at top,rgba(206,44,44,.08),transparent 70%),linear-gradient(180deg,#2a1414,#100808);border:1px solid var(--line-hi);border-radius:9px;color:var(--bone);font-family:var(--font-jp);cursor:var(--cursor-pointer);box-shadow:inset 0 1px #ffffff0d,0 2px 8px #0006;transition:background .15s,border-color .15s,color .15s,transform .1s,box-shadow .15s;position:relative;overflow:hidden}.lobby-setting-menu-item .menu-item-num{font-family:var(--font-jp);font-weight:900;font-size:26px;line-height:1;letter-spacing:1px;color:var(--bone);text-shadow:0 1px 2px rgba(0,0,0,.7)}.lobby-setting-menu-item .menu-item-cap{font-size:9px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--text-muted);font-family:var(--font-body)}.lobby-setting-menu-item:hover{background:radial-gradient(ellipse at top,rgba(212,175,55,.16),transparent 70%),linear-gradient(180deg,#3a1c10,#1a0d04);border-color:var(--gold-soft);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff14,0 6px 18px #0009,0 0 16px #d4af3740}.lobby-setting-menu-item:hover .menu-item-num{color:var(--gold);text-shadow:0 0 10px rgba(212,175,55,.55),0 1px 2px rgba(0,0,0,.7)}.lobby-setting-menu-item:hover .menu-item-cap{color:var(--gold-soft)}.lobby-setting-menu-item.selected{background:radial-gradient(ellipse at top,rgba(255,220,120,.18),transparent 70%),linear-gradient(180deg,#4a2a08,#1a0a04);border-color:var(--gold);box-shadow:inset 0 1px #ffffff1f,0 6px 18px #0009,0 0 22px #d4af3773}.lobby-setting-menu-item.selected .menu-item-num{color:var(--gold);text-shadow:0 0 14px rgba(212,175,55,.75),0 2px 2px rgba(0,0,0,.7)}.lobby-setting-menu-item.selected .menu-item-cap{color:var(--gold-soft)}.lobby-setting-menu-item.selected:before{content:"";position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px #d4af37cc}.lobby-actions{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:10px;margin-top:4px}.lobby-actions>*{min-width:0}.lobby-chat-wrap{margin-top:14px;height:280px;display:flex;width:100%}.lobby-chat-wrap .chat-panel{flex:1;min-height:0}.lobby .chat-input{display:block;flex:1 1 0;min-width:0;width:auto;margin-top:0;padding:10px 14px;font-size:14px;font-family:var(--font-body)}.lobby .chat-send{width:auto;margin-top:0;padding:0 16px;font-size:11px;letter-spacing:1px;font-family:var(--font-body)}.lobby h1{margin:0 0 24px;font-size:38px;font-weight:400;font-family:var(--font-jp);color:var(--red);text-align:center;letter-spacing:4px;text-shadow:0 0 30px rgba(206,44,44,.6)}.home-header{position:fixed;top:0;left:0;right:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:11px 22px;background:linear-gradient(180deg,#1a0d0df7,#0e0707eb);border-bottom:2px solid var(--red);box-shadow:0 4px 18px #0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.home-header-left{display:flex;align-items:center;gap:10px;font-family:var(--font-jp);font-weight:800;letter-spacing:2px;color:var(--bone)}.home-header-left .brand{color:var(--red-bright);font-size:22px;line-height:1}.home-header-title{font-size:14px}.home-header-center{text-align:center;min-width:0}.home-welcome{font-family:var(--font-jp);letter-spacing:1px;color:var(--text-muted);font-size:15px}.home-welcome strong{color:var(--gold)}.home-header-right{display:flex;justify-content:flex-end;gap:8px;padding-right:48px}.header-btn{min-width:96px;padding:8px 16px;border-radius:7px;border:1px solid var(--line-hi);background:linear-gradient(180deg,#2a1a1a,#1a0d0d);color:var(--bone);font-family:var(--font-body);font-weight:700;font-size:12px;letter-spacing:1px;text-transform:uppercase;text-align:center;cursor:var(--cursor-pointer);transition:filter .15s,transform .1s,border-color .15s}.header-btn:hover{transform:translateY(-1px);filter:brightness(1.15);border-color:var(--red)}.header-btn.primary{background:linear-gradient(180deg,var(--red),var(--red-deep));border-color:#5a0808;color:#fff;box-shadow:0 0 14px #ce2c2c59}.auth-landing{position:relative;z-index:5;max-width:420px;margin:0 auto;padding:150px 24px 40px;text-align:center}.auth-landing h1{margin:0 0 8px;font-size:40px;letter-spacing:3px;word-spacing:-14px;background:linear-gradient(180deg,#ffe27a 0%,var(--gold) 42%,var(--red-bright) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 14px rgba(206,44,44,.5))}.auth-landing-actions{display:flex;gap:12px;justify-content:center;margin-top:24px}.auth-landing-actions button{padding:13px 26px;border-radius:8px;border:1px solid #5a0808;background:linear-gradient(180deg,var(--red),var(--red-deep));color:#fff;font-family:var(--font-body);font-weight:800;font-size:13px;letter-spacing:2px;text-transform:uppercase;cursor:var(--cursor-pointer);box-shadow:0 0 16px #ce2c2c59;transition:filter .15s,transform .1s}.auth-landing-actions button:hover{transform:translateY(-1px);filter:brightness(1.12)}.auth-landing-actions button.secondary{background:linear-gradient(180deg,#2a1a1a,#1a0d0d);border-color:var(--line-hi);box-shadow:none}.auth-modal{max-width:360px}.auth-modal-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.auth-modal-kanji{font-family:var(--font-jp);font-size:30px;font-weight:900;color:var(--red-bright);text-shadow:0 0 14px rgba(239,48,48,.5);line-height:1}.auth-modal-head h3{margin:0;font-family:var(--font-jp);letter-spacing:2px;color:var(--bone)}.auth-field{display:block;margin-bottom:14px}.auth-field-label{display:block;margin-bottom:6px;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);font-weight:700}.auth-field input{width:100%;box-sizing:border-box;padding:12px 14px;border-radius:8px;background:#0a0404b3;border:1px solid var(--line-hi);color:var(--bone);font-family:var(--font-body);font-size:14px}.auth-field input:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px #ce2c2c33}.auth-error{margin:4px 0 12px;padding:8px 12px;border-radius:7px;border:1px solid var(--red-deep);background:#7a0e0e40;color:#ffb3b3;font-size:13px}.auth-submit{width:100%;padding:13px;border-radius:8px;margin-top:4px;border:1px solid #5a0808;background:linear-gradient(180deg,var(--red),var(--red-deep));color:#fff;font-family:var(--font-body);font-weight:800;font-size:14px;letter-spacing:2px;text-transform:uppercase;cursor:var(--cursor-pointer);box-shadow:0 0 16px #ce2c2c59;transition:filter .15s,transform .1s}.auth-submit:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.12)}.auth-submit:disabled{opacity:.5;cursor:var(--cursor-default)}.auth-switch{margin-top:16px;text-align:center;font-size:13px;color:var(--text-muted)}.auth-link{background:none;border:none;padding:0;color:var(--gold);font:inherit;cursor:var(--cursor-pointer);text-decoration:underline}.lobby-playing-as{text-align:center;margin:0 0 18px}.lobby-playing-as strong{color:var(--gold)}.lobby-home{border-top:3px solid var(--red)}.lobby-brand{text-align:center;margin-bottom:24px}.lobby-crest{width:76px;height:auto;display:block;margin:0 auto 12px;filter:drop-shadow(0 0 18px rgba(206,44,44,.6)) drop-shadow(0 4px 8px rgba(0,0,0,.6));animation:lobby-crest-float 6s ease-in-out infinite}@keyframes lobby-crest-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.lobby-home h1{margin:0 0 8px;font-size:42px;letter-spacing:3px;word-spacing:-14px;background:linear-gradient(180deg,#ffe27a 0%,var(--gold) 42%,var(--red-bright) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 2px 14px rgba(206,44,44,.5))}.lobby-or{display:flex;align-items:center;gap:14px;margin:22px 2px;font-family:var(--font-jp);font-weight:700;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--text-muted)}.lobby-or:before,.lobby-or:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--line-hi),transparent)}.lobby label{display:block;margin:14px 0;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:2px;font-weight:700}.lobby-home label{text-align:center}.lobby-field-label{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:9px;font-family:var(--font-jp);font-size:13px;font-weight:800;letter-spacing:4px;text-transform:uppercase;background:linear-gradient(180deg,#ffe27a 0%,var(--gold) 55%,var(--gold-soft) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 8px rgba(212,175,55,.3))}.lobby-field-label:before,.lobby-field-label:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.7}.lobby input{display:block;width:100%;margin-top:8px;padding:12px 14px;border-radius:6px;border:1px solid var(--line-hi);background:var(--bg-deep);color:var(--text);font-size:16px;font-family:var(--font-body);transition:border-color .15s,box-shadow .15s}.lobby input:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px #ce2c2c33}.lobby .name-hint{display:block;margin-top:6px;font-size:10px;letter-spacing:1px;color:var(--text-muted);text-transform:none;font-weight:500}.lobby .code{color:var(--red-bright);font-family:Courier New,monospace;letter-spacing:8px;font-weight:900}.lobby-room .code{display:inline-block;padding:2px 10px 2px 16px;border:1px solid var(--line-hi);border-radius:8px;background:#00000059;box-shadow:inset 0 0 12px #ce2c2c2e,0 0 14px #ce2c2c40;text-shadow:0 0 16px rgba(239,48,48,.6)}.lobby hr{border:none;border-top:1px solid var(--line);margin:22px 0}.lobby .row{display:flex;gap:10px}.lobby .row button{flex:1}.lobby button{width:100%;padding:14px 18px;margin-top:12px;background:linear-gradient(180deg,var(--red),var(--red-deep));border:1px solid #5a0808;color:#fff;border-radius:8px;font-family:var(--font-body);font-weight:800;font-size:14px;letter-spacing:4px;text-transform:uppercase;cursor:var(--cursor-pointer);text-shadow:0 1px 0 rgba(0,0,0,.5);box-shadow:inset 0 1px #ffffff2e,0 4px 14px #00000080,0 0 18px #ce2c2c59;transition:filter .15s,transform .1s,box-shadow .2s}.lobby button:hover:not(:disabled){filter:brightness(1.15);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff38,0 6px 18px #0009,0 0 28px #ef303099}.lobby button:active:not(:disabled){transform:translateY(0);filter:brightness(.95)}.lobby button:disabled{background:linear-gradient(180deg,#2a1010,#150808);border-color:#2a1414;color:#5a4842;cursor:not-allowed;text-shadow:none;box-shadow:inset 0 1px #ffffff0a;transform:none;filter:none}.lobby button.secondary{background:linear-gradient(180deg,#2a1a1a,#150808);border-color:#4a2020;color:var(--bone);letter-spacing:3px;text-shadow:none;box-shadow:inset 0 1px #ffffff0f,0 2px 8px #00000080}.lobby button.secondary:hover:not(:disabled){filter:brightness(1.4);box-shadow:inset 0 1px #ffffff14,0 4px 12px #0009,0 0 14px #ce2c2c40}.lobby .player-list{list-style:none;padding:0}.lobby .player-list li{padding:10px 14px;background:var(--bg-deep);border:1px solid var(--line);border-radius:6px;margin:8px 0;display:flex;gap:8px;align-items:center}.game{display:grid;grid-template-rows:auto 1fr auto;height:100vh;padding:0;gap:10px;overflow:hidden;position:relative;z-index:1}.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:12px 24px;min-height:72px;background:radial-gradient(ellipse 55% 130% at 18% 50%,rgba(206,44,44,.12),transparent 70%),linear-gradient(180deg,var(--bg-panel-hi),var(--bg-panel));border:none;border-bottom:3px solid var(--red);border-radius:0 0 12px 12px;box-shadow:0 4px 16px #00000080,inset 0 1px #ffffff0a;transition:border-color .3s,box-shadow .3s,background .3s;position:relative;z-index:2;overflow:hidden}.topbar:before{content:"";position:absolute;left:-30px;top:50%;width:210px;height:165px;transform:translateY(-50%) scaleX(-1);z-index:-1;pointer-events:none;background:url(/akatsuki.png) no-repeat center / contain;opacity:.12;filter:drop-shadow(0 0 16px rgba(206,44,44,.55))}.topbar.my-turn{border-bottom-color:#2a8a3f;box-shadow:0 4px 24px #3fb95059,inset 0 1px #ffffff0a}.topbar-left{font-size:13px;color:var(--text-muted);font-weight:500;display:flex;align-items:center;gap:12px}.brand{font-family:var(--font-jp);font-size:28px;color:var(--red);text-shadow:0 0 20px var(--red-glow);line-height:1}.topbar-left .code{color:var(--gold);font-family:Courier New,monospace;letter-spacing:6px;font-size:20px;font-weight:900;margin-left:4px}.topbar-right{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-right:56px}.fullscreen-btn{width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#2a1414,#1a0808);border:1px solid var(--line-hi);border-radius:6px;color:var(--gold);cursor:var(--cursor-pointer);box-shadow:0 2px 6px #00000080;transition:background .15s,border-color .15s,color .15s,transform .1s,box-shadow .15s;flex-shrink:0}.fullscreen-btn:hover{background:linear-gradient(180deg,#3a1818,#220a0a);border-color:var(--gold-soft);color:var(--bone);transform:translateY(-1px);box-shadow:0 0 14px #d4af3773}.fullscreen-btn:active{transform:translateY(0);filter:brightness(.95)}.fullscreen-btn svg{display:block}.surrender-btn{padding:8px 16px;background:linear-gradient(180deg,#2a1414,#1a0808);border:1px solid var(--red-deep);border-radius:6px;color:var(--red-bright);font-family:var(--font-jp);font-weight:800;font-size:11px;letter-spacing:3px;text-transform:uppercase;cursor:var(--cursor-pointer);transition:background .15s,color .15s,border-color .15s,transform .1s,box-shadow .15s}.surrender-btn:hover{background:linear-gradient(180deg,var(--red),var(--red-deep));color:#fff;border-color:var(--red-bright);transform:translateY(-1px);box-shadow:0 0 14px #ce2c2c80}.modal.surrender-modal{min-width:360px;max-width:460px;text-align:center;padding:28px 32px}.surrender-title{margin:0 0 12px;font-family:var(--font-jp);font-size:32px;font-weight:900;letter-spacing:6px;color:var(--red-bright);text-shadow:0 0 18px rgba(239,48,48,.5),0 2px 2px rgba(0,0,0,.7)}.surrender-text{margin:0 0 18px;color:var(--text);font-size:14px;letter-spacing:1px;line-height:1.5}.short-take-title{color:var(--gold)!important;text-shadow:0 0 18px rgba(212,175,55,.5),0 2px 2px rgba(0,0,0,.7)!important}.surrender-modal .modal-actions{display:flex;gap:10px;justify-content:center}.topbar-center{justify-self:center}.turn-indicator{font-size:15px;color:var(--text-muted);font-weight:500}.turn-indicator strong{font-weight:800}.turn-indicator.yours{display:inline-flex;align-items:center;gap:16px;font-family:var(--font-jp);font-size:30px;font-weight:800;letter-spacing:7px;background:linear-gradient(180deg,#ffe27a 0%,var(--gold) 55%,var(--gold-soft) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 14px rgba(212,175,55,.45));animation:yourturn-glow 2.4s ease-in-out infinite}.turn-indicator.yours:before,.turn-indicator.yours:after{content:"";width:42px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.85}@keyframes yourturn-glow{0%,to{filter:drop-shadow(0 0 12px rgba(212,175,55,.35))}50%{filter:drop-shadow(0 0 22px rgba(255,220,120,.85))}}.winner-banner{font-family:var(--font-jp);font-size:28px;font-weight:900;color:var(--gold);text-shadow:0 0 24px rgba(212,175,55,.7);letter-spacing:4px}.main-layout{display:grid;grid-template-columns:280px 1fr 280px;gap:10px;min-height:0;overflow:visible;padding:0 10px}.opponents{background:linear-gradient(180deg,#1a0d0d8c,#1008088c);border:1px solid var(--line);border-radius:10px;padding:14px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;box-shadow:0 4px 16px #00000080;position:relative}.opponent-card{position:relative;background:linear-gradient(180deg,#220e0ec7,#140808c7);border:1px solid var(--line-hi);border-left:4px solid #555;border-radius:10px;padding:10px 12px 12px;cursor:var(--cursor-pointer);color:var(--text);text-align:left;font-family:inherit;transition:background .2s,transform .1s,box-shadow .2s,border-color .2s;box-shadow:0 2px 8px #00000080,inset 0 1px #ffffff0a;overflow:hidden}.opponent-card:hover{background:linear-gradient(180deg,#301212d9,#1c0a0ad9);transform:translateY(-1px);box-shadow:0 6px 16px #000000a6,0 0 16px #ce2c2c4d}.opponent-card.current{background:linear-gradient(180deg,#3a1414,#220c0c);border-color:var(--red);box-shadow:0 0 22px #ce2c2c8c,inset 0 0 0 1px #ef303066;animation:opp-current-pulse 2.4s ease-in-out infinite}@keyframes opp-current-pulse{0%,to{box-shadow:0 0 22px #ce2c2c8c,inset 0 0 0 1px #ef303066}50%{box-shadow:0 0 32px #ef3030d9,inset 0 0 0 1px #ef303099}}.opp-turn-badge{position:absolute;bottom:0;right:0;font-size:9px;font-weight:900;letter-spacing:2px;color:#fff;background:linear-gradient(180deg,var(--red-bright),var(--red-deep));padding:2px 8px;border-top-left-radius:6px;border-left:1px solid #5a0808;border-top:1px solid #5a0808;box-shadow:0 0 12px #ef303099;font-family:var(--font-jp)}.opponent-card.disconnected{opacity:.6;filter:grayscale(.4)}.opp-reconnect-badge{position:absolute;top:0;right:0;font-size:9px;font-weight:700;letter-spacing:1px;color:#1a0d0d;background:linear-gradient(180deg,#ffe27a,var(--gold-soft));padding:2px 7px;border-bottom-left-radius:6px;font-family:var(--font-body);animation:surrendered-pulse 1.6s ease-in-out infinite}.turn-reconnect{color:var(--gold);font-style:italic;font-weight:600}.opp-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.opp-seat-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 0 6px currentColor}.opp-avatar{width:30px;height:30px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:0;color:#140a09;background:radial-gradient(circle at 34% 28%,color-mix(in srgb,var(--seat) 72%,#fff),var(--seat));border:2px solid color-mix(in srgb,var(--seat) 65%,#000);box-shadow:0 0 10px color-mix(in srgb,var(--seat) 45%,transparent),inset 0 1px #ffffff59}.opp-avatar svg{display:block;filter:drop-shadow(0 0 .6px rgba(255,255,255,.35))}.opp-chakra{height:6px;border-radius:999px;background:#0a0404;border:1px solid var(--line-hi);overflow:hidden;margin-bottom:9px;box-shadow:inset 0 1px 3px #000000d9}.opp-chakra-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--red-deep),var(--red) 60%,#ff7a3c);box-shadow:0 0 8px var(--red-glow);transition:width .5s cubic-bezier(.2,.8,.3,1)}.opponent-card.current .opp-chakra-fill{background:linear-gradient(90deg,var(--red),#ff7a3c,#ffd27a)}.opp-name{flex:1;font-size:14px;font-weight:800;letter-spacing:1px;font-family:var(--font-jp);color:var(--bone);text-shadow:0 1px 2px rgba(0,0,0,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opp-points{font-family:var(--font-jp);font-weight:900;color:var(--gold);font-size:24px;line-height:1;text-shadow:0 0 12px rgba(212,175,55,.6),0 2px 2px rgba(0,0,0,.6)}.opp-bonuses{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-bottom:8px}.opp-bonus{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 0 3px;background:#0006;border:1px solid var(--line);border-radius:6px;transition:opacity .2s}.opp-bonus.empty{opacity:.35}.opp-bonus .token-chip{margin:0}.opp-bonus-count{font-family:Courier New,monospace;font-size:11px;font-weight:900;color:var(--bone);line-height:1}.opp-stats{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;font-weight:800;color:var(--text)}.opp-stat{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 6px;background:#0006;border:1px solid var(--line);border-radius:999px;font-family:Courier New,monospace}.opp-stat-ico{width:12px;height:12px;border-radius:2px;background:var(--text-muted);display:inline-block;flex-shrink:0}.opp-stat-ico.tokens{border-radius:50%;background:radial-gradient(circle at 35% 30%,#ef3030,#7a0e0e);box-shadow:0 0 4px #ef303080}.opp-stat-ico.cards{background:linear-gradient(135deg,#b8941f,#d4af37);border-radius:2px;box-shadow:0 0 4px #d4af3780}.opp-stat-ico.reserved{background:linear-gradient(135deg,#555,#2a2a2a);border:1px dashed var(--gold-soft);border-radius:2px}.opp-stat-ico.tailed{border-radius:50%;background:radial-gradient(circle at 35% 30%,#f0d770,#8a6f1f);box-shadow:0 0 6px #d4af37b3}.opp-stat.tailed{color:var(--gold);border-color:var(--gold-soft);background:#d4af371a}.board-center{display:grid;grid-template-rows:5fr 7fr 7fr 7fr auto;gap:6px;padding:8px;background:radial-gradient(ellipse at center,rgba(206,44,44,.05),transparent 70%),linear-gradient(180deg,#0a04048c,#0502028c);border:1px solid var(--line);border-radius:10px;overflow:visible;min-height:0;box-shadow:inset 0 1px #ffffff08,0 4px 20px #00000080;position:relative;z-index:3;transition:background .4s ease,border-color .4s ease,box-shadow .4s ease,transform .18s ease;transform-origin:center 35%}.board-center.zoomed{transform:scale(1.22);z-index:50}.board-help{position:absolute;right:14px;bottom:112px;width:34px;height:34px;border-radius:50%;background:linear-gradient(180deg,#2a1414,#100808);border:1px solid var(--gold-soft);color:var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--font-jp);font-weight:900;font-size:18px;line-height:1;cursor:var(--cursor-default);z-index:6;box-shadow:0 2px 8px #000000a6,inset 0 1px #ffffff12;transition:border-color .15s,box-shadow .15s,color .15s}.board-help:hover,.board-help:focus-visible{border-color:var(--gold);color:var(--bone);box-shadow:0 2px 10px #000000b3,0 0 14px #d4af3773,inset 0 1px #ffffff1a;outline:none}.board-help-mark{pointer-events:none;text-shadow:0 0 6px rgba(212,175,55,.4);display:block;position:relative;top:1px;line-height:1}.board-help-tip{position:absolute;bottom:calc(100% + 10px);right:-4px;width:240px;padding:10px 14px;background:linear-gradient(180deg,#1a0d0d,#100808);border:1px solid var(--gold-soft);border-radius:8px;color:var(--text);font-size:12px;font-family:var(--font-body);letter-spacing:.3px;line-height:1.5;text-align:left;text-transform:none;box-shadow:0 10px 28px #000000d9,0 0 18px #d4af372e;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease;z-index:7}.board-help-tip:after{content:"";position:absolute;bottom:-7px;right:12px;width:12px;height:12px;background:linear-gradient(135deg,transparent 50%,#1a0d0d 50%);border-right:1px solid var(--gold-soft);border-bottom:1px solid var(--gold-soft);transform:rotate(45deg)}.board-help-tip-title{font-family:var(--font-jp);font-size:11px;letter-spacing:3px;color:var(--gold);text-transform:uppercase;margin-bottom:4px;font-weight:800}.board-help-tip p{margin:0}.board-help-tip kbd{display:inline-block;padding:1px 6px;margin:0 2px;background:linear-gradient(180deg,#2a1414,#100808);border:1px solid var(--gold-soft);border-radius:4px;font-family:Courier New,monospace;font-weight:900;font-size:11px;color:var(--gold);box-shadow:0 1px #ffffff12 inset,0 1px 2px #00000080}.board-help:hover .board-help-tip,.board-help:focus-visible .board-help-tip{opacity:1;transform:translateY(0)}.board-info{bottom:154px}.board-info-tip{width:320px}.board-info-tip p{margin:8px 0 0}.board-info-tip p:first-of-type{margin-top:0}.board-info-tip ul{margin:8px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:5px}.board-info-tip li{margin:0}.board-info-tip strong{color:var(--gold);font-weight:800}.board-center.my-turn{border-color:#2a8a3f;background:radial-gradient(ellipse at center,rgba(90,220,110,.22),transparent 75%),linear-gradient(180deg,#375a41b8,#1e3726b8);box-shadow:inset 0 1px #ffffff14,0 4px 20px #00000080,0 0 36px #3fb95066}.board-row{display:flex;gap:6px;align-items:stretch;justify-content:center;min-height:0;overflow:visible;position:relative}.deck{height:100%;aspect-ratio:5 / 7;position:relative;padding:0;border:1px solid transparent;border-radius:8px;background:var(--bg-panel-hi);cursor:var(--cursor-default);flex-shrink:0;box-shadow:3px 3px 0 -1px #1a0d0d,5px 5px 0 -2px #100808,7px 7px 0 -3px #0a0404,9px 9px 14px #0009}.deck:before,.deck:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid transparent;border-radius:8px;background-color:var(--bg-panel-hi);background-image:var(--deck-back);background-size:cover;background-position:center;background-repeat:no-repeat;box-shadow:0 0 #0000;transform-origin:bottom left;transform:rotate(0);z-index:1;pointer-events:none;transition:transform .35s cubic-bezier(.34,1.45,.5,1),box-shadow .3s ease}.deck:hover:before{transform:rotate(-5deg);box-shadow:0 6px 14px #00000080}.deck:hover:after{transform:rotate(-10deg);box-shadow:0 6px 14px #00000080;transition-delay:.05s}.deck.stacked-1{box-shadow:2px 2px 0 -1px #1a0d0d,3px 3px 8px #00000080}.deck.stacked-2{box-shadow:3px 3px 0 -1px #1a0d0d,5px 5px 0 -2px #100808,7px 7px 12px #0009}.deck.stacked-3{box-shadow:3px 3px 0 -1px #1a0d0d,5px 5px 0 -2px #100808,7px 7px 0 -3px #0a0404,9px 9px 14px #000000b3}.deck img{width:100%;height:100%;object-fit:contain;border-radius:7px;display:block}.deck-count{position:absolute;bottom:6px;right:6px;background:#000000e6;color:var(--gold);padding:3px 8px;border-radius:6px;font-size:12px;font-weight:800;pointer-events:none;font-family:var(--font-jp);letter-spacing:1px;border:1px solid var(--line-hi);box-shadow:0 0 8px #d4af374d;z-index:2}.slot{height:100%;aspect-ratio:5 / 7;flex-shrink:0;position:relative}.board-row.nobles .deck,.board-row.nobles .slot{aspect-ratio:1 / 1}.card-btn{width:100%;height:100%;padding:0;margin:0;border:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:none;border-radius:3px;cursor:var(--cursor-pointer);transition:transform .2s ease,box-shadow .2s,z-index 0s linear .2s;display:block;position:relative;z-index:0;box-shadow:0 2px 8px #00000080;overflow:hidden}.card-btn img{position:absolute;top:0;left:0;width:200%;height:200%;transform:scale(.5);transform-origin:top left;object-fit:cover;display:block;image-rendering:-webkit-optimize-contrast}.card-deal{position:absolute;top:0;right:0;bottom:0;left:0;display:block;animation:card-settle .3s ease-out}@keyframes card-settle{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.card-btn:hover{transform:scale(1.9);z-index:30;transition:transform .2s ease,box-shadow .2s,z-index 0s linear 0s;box-shadow:0 16px 40px #000c,0 0 0 2px #e8d8c0d9,0 0 28px #d4af3759}.card-btn.affordable{animation:affordable-fire 2.4s ease-in-out infinite}.card-btn.affordable:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px;background:linear-gradient(115deg,transparent 35%,rgba(255,240,170,.55) 48%,rgba(255,255,220,.75) 50%,rgba(255,240,170,.55) 52%,transparent 65%);background-size:250% 250%;background-repeat:no-repeat;background-position:200% 200%;mix-blend-mode:screen;pointer-events:none;z-index:2;animation:affordable-shimmer 3.8s linear infinite}@keyframes affordable-fire{0%,to{box-shadow:0 2px 8px #00000080,0 0 14px #ffa53299,0 0 0 1px #ffd26e8c}40%{box-shadow:0 2px 10px #00000080,0 0 26px #ffb446d9,0 0 44px #ff6e288c,0 0 0 2px #ffe68cd9}65%{box-shadow:0 2px 10px #00000080,0 0 32px #ffc850f2,0 0 56px #ef501e8c,0 0 0 2px #fff0a0e6}}@keyframes affordable-shimmer{0%{background-position:200% 200%}60%{background-position:-100% -100%}to{background-position:-100% -100%}}.card-btn.affordable:hover{animation:none}.card-btn.affordable:hover:before{display:none}.empty-slot{width:100%;height:100%;border:1px dashed var(--line);border-radius:8px;background:#ffffff05}.noble-card{width:100%;height:100%;border-radius:3px;border:0;transition:transform .2s ease,box-shadow .2s,z-index 0s linear .2s;display:block;position:relative;z-index:0;box-shadow:0 2px 8px #00000080;overflow:hidden}.noble-card img{position:absolute;top:0;left:0;width:200%;height:200%;transform:scale(.5);transform-origin:top left;object-fit:cover;display:block;image-rendering:-webkit-optimize-contrast}.noble-card:hover{transform:scale(1.9);z-index:30;transition:transform .2s ease,box-shadow .2s,z-index 0s linear 0s;box-shadow:0 16px 40px #000c,0 0 0 3px var(--gold),0 0 36px #d4af3799}.token-bank{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 24px;gap:12px;background:radial-gradient(ellipse 46% 200% at 50% 50%,rgba(206,44,44,.12),transparent 70%),linear-gradient(180deg,#1a0d0d,#0a0404);border:none;border-radius:12px;margin-top:6px;box-shadow:0 6px 22px #0009,0 0 22px #ce2c2c4d,inset 0 0 45px #00000080}.token-bank:before,.token-bank:after{content:"";position:absolute;top:50%;width:96px;height:76px;background:url(/akatsuki.png) no-repeat center / contain;opacity:.55;filter:drop-shadow(0 2px 8px rgba(0,0,0,.6));pointer-events:none;will-change:transform}.token-bank:before{left:30px;animation:bank-cloud-float-l 5.5s ease-in-out infinite}.token-bank:after{right:30px;animation:bank-cloud-float-r 5.5s ease-in-out infinite;animation-delay:-2.75s}@keyframes bank-cloud-float-l{0%,to{transform:translateY(-50%) scaleX(-1)}50%{transform:translateY(calc(-50% - 6px)) scaleX(-1)}}@keyframes bank-cloud-float-r{0%,to{transform:translateY(-50%)}50%{transform:translateY(calc(-50% - 6px))}}.token-pieces{grid-column:2;display:flex;gap:16px;align-items:center}.token-actions{grid-column:3;justify-self:start;margin-left:18px;display:flex;gap:8px}.token-actions-ghost{grid-column:1;justify-self:start;visibility:hidden;pointer-events:none}.token-actions button{position:relative;overflow:hidden;min-width:116px;justify-content:center;text-align:center;padding:11px 24px;border-radius:8px;border:1px solid var(--red-deep);border-top-color:#e8625f;cursor:var(--cursor-pointer);font-family:var(--font-jp);font-weight:700;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:#fff;background:linear-gradient(180deg,#e23b3b 0%,var(--red) 45%,var(--red-deep) 100%);text-shadow:0 1px 2px rgba(0,0,0,.65);box-shadow:inset 0 1px #ffffff4d,inset 0 -3px 7px #00000061,0 3px 10px #00000080,0 0 16px #ce2c2c66;transition:transform .12s ease,box-shadow .18s ease,filter .15s ease}.token-actions button:after{content:"";position:absolute;top:0;left:-60%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:skew(-18deg);pointer-events:none}.token-actions button:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.07);box-shadow:inset 0 1px #ffffff57,inset 0 -3px 7px #00000061,0 6px 18px #0000008c,0 0 24px #ef303099}.token-actions button:hover:not(:disabled):after{left:120%;transition:left .55s ease}.token-actions button:active:not(:disabled){transform:translateY(0);filter:brightness(.96);box-shadow:inset 0 2px 6px #0000008c,0 1px 4px #00000080}.token-actions button:disabled{cursor:var(--cursor-default);filter:grayscale(.55) brightness(.62);opacity:.7;border-top-color:var(--red-deep);box-shadow:inset 0 1px #ffffff14,0 2px 6px #00000073}.token-actions button:disabled:after{display:none}.token-actions button.secondary{background:linear-gradient(180deg,#33201f,#1a0e0e);border-color:#4a2020;border-top-color:#6e3433;color:var(--bone);text-shadow:0 1px 2px rgba(0,0,0,.7);box-shadow:inset 0 1px #ffffff14,0 3px 8px #00000073}.token-actions button.secondary:hover{box-shadow:inset 0 1px #ffffff1f,0 6px 14px #00000080,0 0 16px #ce2c2c47}.token{position:relative;width:64px;height:64px;border-radius:50%;padding:0;border:3px solid #444;cursor:var(--cursor-pointer);background:radial-gradient(circle at 30% 30%,#2a1010,#0a0404);background-clip:padding-box;transition:transform .15s,box-shadow .2s;box-shadow:0 4px 10px #0009;animation:token-float 4s ease-in-out infinite}.token:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#2a1010,#0a0404);z-index:0}.token img,.token .count,.token .pending{position:relative;z-index:1}.token.token-earth{background:conic-gradient(from 0deg,var(--c-earth),color-mix(in srgb,var(--c-earth) 60%,white),var(--c-earth),color-mix(in srgb,var(--c-earth) 60%,black),var(--c-earth));box-shadow:0 4px 10px #0009,0 0 16px #b8895a80}.token.token-water{background:conic-gradient(from 0deg,var(--c-water),color-mix(in srgb,var(--c-water) 60%,white),var(--c-water),color-mix(in srgb,var(--c-water) 60%,black),var(--c-water));box-shadow:0 4px 10px #0009,0 0 16px #4dd0e180}.token.token-wind{background:conic-gradient(from 0deg,var(--c-wind),color-mix(in srgb,var(--c-wind) 60%,white),var(--c-wind),color-mix(in srgb,var(--c-wind) 60%,black),var(--c-wind));box-shadow:0 4px 10px #0009,0 0 16px #10b98180}.token.token-fire{background:conic-gradient(from 0deg,var(--c-fire),color-mix(in srgb,var(--c-fire) 60%,white),var(--c-fire),color-mix(in srgb,var(--c-fire) 60%,black),var(--c-fire));box-shadow:0 4px 10px #0009,0 0 16px #fb923c80}.token.token-lightning{background:conic-gradient(from 0deg,var(--c-lightning),#a855f7,var(--c-lightning),color-mix(in srgb,var(--c-lightning) 60%,black),var(--c-lightning));box-shadow:0 4px 10px #0009,0 0 16px #facc1580,0 0 10px #a855f766}.token-pieces .token:nth-child(1){animation-delay:-.1s}.token-pieces .token:nth-child(2){animation-delay:-.8s}.token-pieces .token:nth-child(3){animation-delay:-1.6s}.token-pieces .token:nth-child(4){animation-delay:-2.4s}.token-pieces .token:nth-child(5){animation-delay:-3.2s}.token-pieces .token:nth-child(6){animation-delay:-2s}@keyframes token-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.token img{width:100%;height:100%;object-fit:contain;border-radius:50%}.token .count{position:absolute;bottom:-6px;right:-6px;background:linear-gradient(180deg,#2a1a1a,#100808);color:#fff;border:1px solid var(--line-hi);border-radius:12px;padding:2px 8px;font-size:13px;font-weight:800;min-width:22px;text-align:center;box-shadow:0 2px 6px #0009}.token .pending{position:absolute;top:-8px;left:-8px;background:linear-gradient(180deg,var(--red-bright),var(--red-deep));color:#fff;border:1px solid #5a0808;border-radius:12px;padding:2px 7px;font-size:12px;font-weight:900;box-shadow:0 2px 8px var(--red-glow)}.token.selected{transform:scale(1.12);animation-play-state:paused}.token.token-earth:hover:not(:disabled):not(.locked),.token.token-earth.selected{box-shadow:0 4px 12px #0009,0 0 28px #b8895ad9}.token.token-water:hover:not(:disabled):not(.locked),.token.token-water.selected{box-shadow:0 4px 12px #0009,0 0 28px #4dd0e1d9}.token.token-wind:hover:not(:disabled):not(.locked),.token.token-wind.selected{box-shadow:0 4px 12px #0009,0 0 28px #10b981d9}.token.token-fire:hover:not(:disabled):not(.locked),.token.token-fire.selected{box-shadow:0 4px 12px #0009,0 0 28px #fb923cd9}.token.token-lightning:hover:not(:disabled):not(.locked),.token.token-lightning.selected{box-shadow:0 4px 12px #0009,0 0 28px #facc15d9,0 0 16px #a855f780}.token.token-elemental{background:conic-gradient(from 0deg,#ce2c2c,#facc15,#10b981,#4dd0e1,#a855f7,#ce2c2c)}.token:disabled{opacity:.4;cursor:not-allowed;animation:none}.token.locked{cursor:var(--cursor-default)}.token:hover:not(:disabled):not(.locked){transform:scale(1.08)}.right-column{display:grid;grid-template-rows:1fr 1fr;gap:10px;min-height:0}.log-panel,.chat-panel{background:linear-gradient(180deg,#1a0d0d8c,#1008088c);border:1px solid var(--line);border-radius:10px;padding:14px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 4px 16px #00000080;position:relative;z-index:1;min-height:0}.chat-scroll{flex:1;overflow-y:auto;padding-right:8px;font-size:13px;line-height:1.5;scrollbar-width:thin;scrollbar-color:var(--red-deep) transparent;display:flex;flex-direction:column;gap:6px}.chat-scroll::-webkit-scrollbar{width:8px}.chat-scroll::-webkit-scrollbar-track{background:#ffffff08;border-radius:999px;margin:4px 0}.chat-scroll::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--red),var(--red-deep));border-radius:999px;border:1px solid rgba(0,0,0,.4)}.chat-empty{color:var(--text-muted);font-style:italic;font-size:12px;text-align:center;padding:16px 4px}.chat-msg{display:flex;flex-direction:column;gap:1px;padding:6px 10px;background:#00000059;border:1px solid var(--line);border-radius:8px;word-break:break-word}.chat-msg.me{background:#4a202073;border-color:var(--line-hi)}.chat-author{font-weight:800;font-size:11px;letter-spacing:1px;text-transform:uppercase}.chat-text{color:var(--text)}.chat-form{display:flex;gap:8px;margin-top:10px;flex-shrink:0;align-items:stretch}.chat-input{flex:1;min-width:0;padding:10px 14px;background:var(--bg-deep);border:1px solid var(--line-hi);border-radius:6px;color:var(--text);font-family:inherit;font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s}.chat-input:focus{border-color:var(--red);box-shadow:0 0 0 2px #ce2c2c33}.chat-send{flex-shrink:0;padding:0 14px;background:linear-gradient(180deg,var(--red),var(--red-deep));border:1px solid #5a0808;border-radius:6px;color:#fff;font-family:inherit;font-weight:700;letter-spacing:1px;text-transform:uppercase;font-size:11px;cursor:var(--cursor-pointer);transition:filter .15s,transform .1s}.chat-send:hover:not(:disabled){filter:brightness(1.15);transform:translateY(-1px)}.chat-send:disabled{opacity:.4;cursor:not-allowed}.log-scroll{overflow-y:auto;flex:1;font-size:12px;line-height:1.6;padding-right:8px;scrollbar-width:thin;scrollbar-color:var(--red-deep) transparent}.log-scroll::-webkit-scrollbar{width:8px}.log-scroll::-webkit-scrollbar-track{background:#ffffff08;border-radius:999px;margin:4px 0}.log-scroll::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--red),var(--red-deep));border-radius:999px;border:1px solid rgba(0,0,0,.4);box-shadow:inset 0 1px #d4af3740,0 0 4px #ce2c2c66}.log-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--red-bright),var(--red));box-shadow:inset 0 1px #d4af3766,0 0 8px #ef303099}.log-scroll::-webkit-scrollbar-thumb:active{background:linear-gradient(180deg,var(--gold),var(--gold-soft))}.log-line{display:flex;gap:8px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.04)}.log-line:last-child{border-bottom:none}.log-line-surrender{background:linear-gradient(90deg,#ce2c2c73,#7a0e0e73);border:1px solid var(--red);border-radius:6px;padding:6px 10px;margin:2px 0;box-shadow:0 0 12px #ce2c2c4d}.log-line-surrender .log-text{font-weight:800;color:#fff}.log-num{color:var(--gold-soft);font-family:Courier New,monospace;font-size:10px;min-width:22px;text-align:right;flex-shrink:0;opacity:.6}.log-text{flex:1;color:var(--text);display:inline-flex;flex-wrap:wrap;align-items:center;gap:3px}.log-actor{font-weight:800}.log-text .token-chip{vertical-align:middle;background:#2a1414;border:1.5px solid var(--gold-soft);box-shadow:0 0 0 1px #000,0 2px 6px #000000b3}.card-name{display:inline-block;padding:2px 8px;border-radius:6px;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);margin:0 2px;border:1px solid rgba(255,255,255,.18);box-shadow:0 1px 4px #0006;white-space:nowrap}.card-name-l1{background:linear-gradient(180deg,#2ea043,#1f7a32)}.card-name-l2{background:linear-gradient(180deg,#8b4ad1,#5c2b94)}.card-name-l3{background:linear-gradient(180deg,#d12c2c,#8a0e0e)}.card-name-tailed{background:linear-gradient(180deg,#d4af37,#8a6f1f);color:#1a0808;text-shadow:0 1px 1px rgba(255,255,255,.3);border-color:#ffffff73}.token-chip{display:inline-block;vertical-align:-4px;border-radius:50%;border:1px solid var(--line-hi);background:var(--bg-deep);margin:0 2px;object-fit:contain;box-shadow:0 0 4px #0006}.take-btn{display:inline-flex;align-items:center;gap:8px}.take-btn-tokens{display:inline-flex;align-items:center;gap:2px}.take-btn .token-chip{vertical-align:middle;border-color:#ffffff40}.surrendered-banner{display:flex;align-items:center;justify-content:center;gap:18px;padding:18px 24px;min-height:96px;background:radial-gradient(ellipse at center,rgba(206,44,44,.1),transparent 70%),linear-gradient(180deg,#1a0808,#0a0202);border:1px solid var(--line);border-top:4px solid var(--red-deep);border-radius:10px;box-shadow:0 -4px 20px #00000080,inset 0 1px #ffffff0a;position:relative;z-index:2;color:var(--bone)}.surrendered-kanji{font-family:var(--font-jp);font-size:40px;font-weight:900;color:var(--red-bright);text-shadow:0 0 18px rgba(239,48,48,.55),0 2px 2px rgba(0,0,0,.7);line-height:1;animation:surrendered-pulse 2.4s ease-in-out infinite}@keyframes surrendered-pulse{0%,to{opacity:1;filter:brightness(1)}50%{opacity:.75;filter:brightness(.85)}}.surrendered-text{display:flex;flex-direction:column;gap:2px}.surrendered-text strong{font-family:var(--font-jp);font-size:20px;font-weight:900;letter-spacing:5px;color:var(--red-bright);text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.7)}.surrendered-text span{font-family:var(--font-body);font-size:13px;letter-spacing:2px;color:var(--text-muted);text-transform:uppercase}.dashboard{background:radial-gradient(ellipse 55% 130% at 80% 50%,rgba(206,44,44,.12),transparent 70%),linear-gradient(180deg,#1a0d0d,#0a0404);border:none;border-top:4px solid var(--red);border-radius:12px 12px 0 0;padding:14px 20px;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;min-height:120px;transition:box-shadow .3s,border-color .3s;box-shadow:0 -4px 20px #00000080,inset 0 1px #d4af3780,inset 0 0 50px #0006;position:relative;z-index:2}.dash-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;overflow:hidden;border-radius:12px 12px 0 0}.dash-bg:before{content:"";position:absolute;right:-36px;top:50%;width:340px;height:270px;transform:translateY(-50%);pointer-events:none;background:url(/akatsuki.png) no-repeat center / contain;opacity:.12;filter:drop-shadow(0 0 16px rgba(206,44,44,.55))}.dashboard>.dash-extras{justify-self:end}.dash-view-btn{width:74px;height:74px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:var(--cursor-pointer);transition:transform .12s ease,filter .15s ease;flex-shrink:0;align-self:center;margin-right:6px}.dash-view-btn:hover{transform:translateY(-1px) scale(1.07)}.dash-view-btn:active{transform:translateY(0) scale(.97)}.dash-view-btn:focus-visible{outline:none}.dash-view-bag{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;filter:brightness(1.22) saturate(1.05) drop-shadow(0 0 9px color-mix(in srgb,var(--seat) 72%,transparent)) drop-shadow(0 2px 4px rgba(0,0,0,.75));transition:filter .15s}.dash-view-btn:hover .dash-view-bag{filter:brightness(1.3) saturate(1.1) drop-shadow(0 0 15px color-mix(in srgb,var(--seat) 92%,transparent)) drop-shadow(0 2px 4px rgba(0,0,0,.75))}.dash-view-btn.pulse{animation:dash-view-pulse .64s cubic-bezier(.2,.8,.3,1.2)}.dash-view-btn.pulse .dash-view-bag{animation:dash-view-bag-glow .64s ease-out}@keyframes dash-view-pulse{0%{transform:scale(1)}35%{transform:scale(1.32)}to{transform:scale(1)}}@keyframes dash-view-bag-glow{0%{filter:brightness(1.22) saturate(1.05) drop-shadow(0 0 9px color-mix(in srgb,var(--seat) 72%,transparent)) drop-shadow(0 2px 4px rgba(0,0,0,.75))}35%{filter:brightness(1.5) saturate(1.1) drop-shadow(0 0 20px color-mix(in srgb,var(--seat) 95%,transparent)) drop-shadow(0 0 34px color-mix(in srgb,var(--seat) 60%,transparent))}to{filter:brightness(1.22) saturate(1.05) drop-shadow(0 0 9px color-mix(in srgb,var(--seat) 72%,transparent)) drop-shadow(0 2px 4px rgba(0,0,0,.75))}}.dash-total{display:inline-flex;align-items:center;justify-content:center;align-self:center;margin-left:6px;min-width:54px;height:40px;padding:0 10px;background:linear-gradient(180deg,#2a1414,#100808);border:1px solid var(--gold-soft);border-radius:8px;color:var(--gold);font-family:var(--font-jp);font-size:18px;font-weight:900;line-height:1;letter-spacing:1px;box-shadow:0 3px 10px #000000b3,inset 0 1px #ffffff12,inset 0 0 0 1px #d4af372e;text-shadow:0 0 8px rgba(212,175,55,.45),0 1px 2px rgba(0,0,0,.8);transition:color .2s,border-color .2s,box-shadow .2s}.dash-total-max{font-size:12px;color:var(--gold-soft);margin-left:1px;text-shadow:none;opacity:.85;line-height:1;position:relative;top:1px}.dash-total.warn{color:#fb923c;border-color:#c2602a;text-shadow:0 0 10px rgba(251,146,60,.6),0 1px 2px rgba(0,0,0,.85);box-shadow:0 3px 10px #000000b3,0 0 14px #fb923c59,inset 0 1px #ffffff12,inset 0 0 0 1px #fb923c40}.dash-total.warn .dash-total-max{color:#c2602a}.dash-total.full{color:#fff;border-color:var(--red-bright);background:linear-gradient(180deg,var(--red),var(--red-deep));text-shadow:0 0 10px rgba(239,48,48,.85),0 1px 2px rgba(0,0,0,.85);box-shadow:0 3px 10px #000000b3,0 0 20px #ef303099,inset 0 1px #ffffff2e,inset 0 0 0 1px #ffdcdc4d;animation:dash-total-full-pulse 1.6s ease-in-out infinite}.dash-total.full .dash-total-max{color:#ffdcdcd9}@keyframes dash-total-full-pulse{0%,to{box-shadow:0 3px 10px #000000b3,0 0 18px #ef30308c,inset 0 1px #ffffff2e,inset 0 0 0 1px #ffdcdc4d}50%{box-shadow:0 3px 10px #000000b3,0 0 30px #ef3030e6,inset 0 1px #ffffff38,inset 0 0 0 1px #ffdcdc73}}.dashboard.my-turn{border-top-color:#3fb950;box-shadow:0 -4px 28px #3fb95066,inset 0 1px #d4af3780,inset 0 0 50px #0006}.dash-header{display:flex;flex-direction:column;gap:12px;min-width:0}.dash-name{position:relative;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:19px;font-weight:800;font-family:var(--font-jp);letter-spacing:3px;padding-bottom:9px}.dash-name:after{content:"";position:absolute;left:0;bottom:0;width:100%;max-width:240px;height:1px;background:linear-gradient(90deg,var(--gold),var(--gold-soft) 30%,transparent 80%);opacity:.55}.dash-name strong{text-shadow:0 1px 3px rgba(0,0,0,.6);font-weight:900}.dash-seat-dot{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.18);flex-shrink:0}.dash-avatar{width:30px;height:30px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:0;color:#140a09;background:radial-gradient(circle at 34% 28%,color-mix(in srgb,var(--seat) 72%,#fff),var(--seat));border:2px solid color-mix(in srgb,var(--seat) 65%,#000);box-shadow:0 0 10px color-mix(in srgb,var(--seat) 45%,transparent),inset 0 1px #ffffff59}.dash-avatar svg{display:block;filter:drop-shadow(0 0 .6px rgba(255,255,255,.35))}.dash-points-block{display:flex;align-items:center;gap:16px}.dash-points-wrap{position:relative;display:flex;flex-direction:column;align-items:center;padding:6px 18px;background:linear-gradient(180deg,color-mix(in srgb,var(--seat) 24%,transparent),color-mix(in srgb,var(--seat) 4%,transparent)),#160a0a;border:1px solid color-mix(in srgb,var(--seat) 70%,#000);border-radius:10px;box-shadow:0 0 16px color-mix(in srgb,var(--seat) 32%,transparent),inset 0 1px #ffffff1f,inset 0 0 0 1px color-mix(in srgb,var(--seat) 18%,transparent);min-width:74px;overflow:hidden}.dash-points-wrap:before{content:"勝";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-jp);font-size:46px;font-weight:900;color:color-mix(in srgb,var(--seat) 16%,transparent);pointer-events:none;line-height:1}.dash-points{position:relative;z-index:1;font-family:var(--font-jp);font-size:40px;font-weight:900;color:var(--seat);text-shadow:0 0 18px color-mix(in srgb,var(--seat) 60%,transparent),0 2px 2px rgba(0,0,0,.5);letter-spacing:0;line-height:1;text-align:center}.dash-points-sub{position:relative;z-index:1;font-size:10px;letter-spacing:3px;color:color-mix(in srgb,var(--seat) 85%,#000);text-transform:uppercase;margin-top:2px}.chakra-bar-wrap{position:relative;flex:0 0 auto;width:200px;height:30px;background:linear-gradient(180deg,#050202,#100707);border:1px solid var(--line-hi);border-radius:999px;overflow:hidden;box-shadow:inset 0 2px 6px #000000d9,inset 0 0 0 1px #d4af370f}.chakra-bar-fill{position:absolute;left:0;top:0;bottom:0;z-index:1;background:linear-gradient(90deg,color-mix(in srgb,var(--seat) 55%,#000),var(--seat) 62%,color-mix(in srgb,var(--seat) 65%,#fff));border-radius:999px;transition:width .5s cubic-bezier(.2,.8,.3,1);box-shadow:0 0 16px color-mix(in srgb,var(--seat) 60%,transparent),inset 0 1px #fff6;overflow:hidden}.chakra-bar-fill:after{content:"";position:absolute;right:0;top:0;bottom:0;width:8px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.9))}.chakra-shine{position:absolute;top:0;bottom:0;width:30%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:chakra-shine 2.5s linear infinite}@keyframes chakra-shine{0%{transform:translate(-100%)}to{transform:translate(400%)}}.chakra-bar-wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 17px,rgba(0,0,0,.3) 17px 19px);border-radius:999px}.chakra-glyph{position:absolute;left:9px;top:50%;transform:translateY(-50%);z-index:4;font-family:var(--font-jp);font-size:15px;font-weight:900;line-height:1;color:var(--gold);text-shadow:0 0 4px rgba(0,0,0,.95),0 0 10px rgba(212,175,55,.5);pointer-events:none}.chakra-bar-label{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:#fff;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,.95);pointer-events:none}.dash-tokens{display:flex;gap:12px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:auto}.dash-token{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px}.dash-token-img-stack{position:relative;display:inline-block;line-height:0}.dash-token-img-wrap{position:relative;width:54px;height:54px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#2a1010,#0a0404);border:2px solid var(--line-hi);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 4px 10px #0009,inset 0 1px #ffffff14;transition:border-color .2s,box-shadow .2s}.dash-token img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;transform:scale(1.25)}.dash-bonus-badge{position:absolute;left:50%;bottom:0;transform:translate(-50%,50%);background:linear-gradient(180deg,#2a1a1a,#100808);color:#fff;font-size:13px;font-weight:800;line-height:1;padding:3px 9px;border-radius:12px;border:1px solid var(--line-hi);box-shadow:0 2px 6px #0009;min-width:22px;text-align:center;z-index:2}.dash-count-ring{width:36px;height:36px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#1a0808,#050202);border:2px solid var(--line-hi);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:900;color:#fff;box-shadow:inset 0 1px #ffffff0f,0 2px 6px #0009;transition:border-color .2s,box-shadow .2s}.dash-token.token-earth .dash-token-img-wrap,.dash-token.token-earth .dash-count-ring{border-color:var(--c-earth)}.dash-token.token-earth .dash-token-img-wrap{box-shadow:0 4px 10px #0009,inset 0 1px #ffffff14,0 0 14px color-mix(in srgb,var(--c-earth) 55%,transparent)}.dash-token.token-water .dash-token-img-wrap,.dash-token.token-water .dash-count-ring{border-color:var(--c-water)}.dash-token.token-water .dash-token-img-wrap{box-shadow:0 4px 10px #0009,inset 0 1px #ffffff14,0 0 14px color-mix(in srgb,var(--c-water) 55%,transparent)}.dash-token.token-wind .dash-token-img-wrap,.dash-token.token-wind .dash-count-ring{border-color:var(--c-wind)}.dash-token.token-wind .dash-token-img-wrap{box-shadow:0 4px 10px #0009,inset 0 1px #ffffff14,0 0 14px color-mix(in srgb,var(--c-wind) 55%,transparent)}.dash-token.token-fire .dash-token-img-wrap,.dash-token.token-fire .dash-count-ring{border-color:var(--c-fire)}.dash-token.token-fire .dash-token-img-wrap{box-shadow:0 4px 10px #0009,inset 0 1px #ffffff14,0 0 14px color-mix(in srgb,var(--c-fire) 55%,transparent)}.dash-token.token-lightning .dash-token-img-wrap,.dash-token.token-lightning .dash-count-ring{border-color:var(--c-lightning)}.dash-token.token-lightning .dash-token-img-wrap{box-shadow:0 4px 10px #0009,inset 0 1px #ffffff14,0 0 14px color-mix(in srgb,var(--c-lightning) 55%,transparent)}.dash-token.token-elemental .dash-token-img-wrap,.dash-token.token-elemental .dash-count-ring{border-color:var(--c-elemental)}.dash-token.token-elemental .dash-token-img-wrap{box-shadow:0 4px 10px #0009,inset 0 1px #ffffff14,0 0 14px color-mix(in srgb,var(--c-elemental) 55%,transparent)}.dash-extras{display:flex;gap:16px;min-width:0}.dash-section{display:flex;flex-direction:column;gap:8px;min-width:132px;padding:8px 12px 10px;background:linear-gradient(180deg,#0006,#0000001f);border:1px solid var(--line);border-radius:9px;box-shadow:inset 0 0 22px #00000073,inset 0 1px #ffffff08}.dash-label{display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-jp);font-size:11px;letter-spacing:4px;color:var(--gold);text-transform:uppercase;font-weight:700;text-shadow:0 0 8px rgba(212,175,55,.3)}.dash-label:before,.dash-label:after{content:"";flex:1;max-width:22px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-soft),transparent)}.dash-cards{display:flex;gap:5px;min-height:64px;align-items:center;justify-content:center}.dash-cards .muted{font-style:italic;font-size:11px}.dash-slot-empty{width:48px;height:66px;border-radius:5px;border:1px dashed var(--line-hi);background:repeating-linear-gradient(45deg,rgba(212,175,55,.045) 0 5px,transparent 5px 10px);box-shadow:inset 0 0 10px #0000008c;flex-shrink:0}.dash-card-btn{width:48px;height:66px;padding:0;border:1px solid var(--line-hi);background:none;border-radius:5px;cursor:var(--cursor-pointer);overflow:hidden;transition:transform .15s,border-color .15s,box-shadow .15s;box-shadow:0 2px 6px #00000080}.dash-card-btn img{width:100%;height:100%;object-fit:cover}.dash-card-btn:hover{transform:scale(1.15);border-color:var(--red);box-shadow:0 4px 14px #000000b3,0 0 16px var(--red-glow)}.dash-card-btn.pulse{animation:dash-reserve-pulse .64s cubic-bezier(.2,.8,.3,1.2);z-index:1}@keyframes dash-reserve-pulse{0%{transform:scale(1);border-color:var(--line-hi);box-shadow:0 2px 6px #00000080}35%{transform:scale(1.2);border-color:var(--gold);box-shadow:0 4px 14px #000000b3,0 0 18px #d4af37e6,0 0 32px #d4af3780}to{transform:scale(1);border-color:var(--line-hi);box-shadow:0 2px 6px #00000080}}.dash-tb{width:52px;height:52px;border-radius:6px;border:1px solid var(--gold);box-shadow:0 2px 8px #0009,0 0 14px #d4af3766,inset 0 0 0 1px #ffebb426;transition:transform .15s,box-shadow .15s}.dash-tb:hover{transform:scale(1.12);box-shadow:0 4px 14px #000000b3,0 0 20px #d4af3799}.board-tb-spacer{flex-shrink:0;width:46px;pointer-events:none}.board-tb-badge{align-self:center;flex-shrink:0;position:relative;margin-left:16px;width:30px;height:30px;border-radius:50%;background:linear-gradient(180deg,#2a1414,#100808);border:1px solid var(--gold-soft);color:var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--font-jp);font-weight:900;font-size:15px;line-height:1;cursor:var(--cursor-default);z-index:6;box-shadow:0 2px 8px #000000a6,inset 0 1px #ffffff12;transition:border-color .15s,box-shadow .15s,color .15s,transform .1s}.board-tb-badge:hover,.board-tb-badge:focus-visible{border-color:var(--gold);color:var(--bone);transform:translateY(-1px);box-shadow:0 2px 10px #000000b3,0 0 14px #d4af3780,inset 0 1px #ffffff1a;outline:none}.board-tb-badge-num{pointer-events:none;position:relative;top:.5px;text-shadow:0 0 6px rgba(212,175,55,.4)}.board-tb-tip{position:absolute;top:calc(100% + 10px);right:-4px;width:234px;padding:10px 14px;background:linear-gradient(180deg,#1a0d0d,#100808);border:1px solid var(--gold-soft);border-radius:8px;color:var(--text);font-size:12px;font-family:var(--font-body);font-weight:400;letter-spacing:.3px;line-height:1.5;text-align:left;text-transform:none;box-shadow:0 10px 28px #000000d9,0 0 18px #d4af372e;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease;z-index:30}.board-tb-tip:before{content:"";position:absolute;top:-8px;right:11px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid var(--gold-soft)}.board-tb-tip:after{content:"";position:absolute;top:-6px;right:12px;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #1a0d0d}.board-tb-tip-title{font-family:var(--font-jp);font-size:11px;letter-spacing:3px;color:var(--gold);text-transform:uppercase;margin-bottom:4px;font-weight:800}.board-tb-tip p{margin:0}.board-tb-tip .board-tb-tip-how{margin-top:8px;padding-top:8px;border-top:1px solid var(--line);color:var(--text-muted)}.board-tb-tip strong{color:var(--gold);font-weight:800}.board-tb-badge:hover .board-tb-tip,.board-tb-badge:focus-visible .board-tb-tip{opacity:1;transform:translateY(0)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#020202d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fade-in .18s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:linear-gradient(180deg,var(--bg-panel-hi),var(--bg-panel));border:1px solid var(--line-hi);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:18px;box-shadow:0 32px 100px #000000e6,0 0 0 1px #ffffff0a,0 0 80px #ce2c2c33;max-height:92vh;overflow-y:auto;animation:pop-in .22s cubic-bezier(.2,.8,.3,1.2)}@keyframes pop-in{0%{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-actions{display:flex;gap:10px;justify-content:flex-end;align-items:center}.modal-actions .muted{margin-right:auto;font-size:13px}.modal.card-modal{min-width:540px;max-width:680px}.card-modal-body{display:flex;gap:20px;align-items:flex-start}.modal-card{width:240px;flex-shrink:0;border-radius:10px;border:1px solid var(--line-hi);box-shadow:0 16px 40px #000c}.card-modal-info{flex:1;display:flex;flex-direction:column;gap:12px;padding-top:6px}.card-modal-title{display:flex;align-items:center;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--line)}.card-modal-title h3{margin:0;flex:1;font-size:22px;font-weight:800;font-family:var(--font-jp);letter-spacing:1px}.card-pts{background:linear-gradient(180deg,var(--gold),var(--gold-soft));color:#1a0d00;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:900;text-shadow:0 1px 0 rgba(255,255,255,.2);box-shadow:0 2px 8px #d4af3780}.cost-list{display:flex;flex-direction:column;gap:6px}.cost-row{display:flex;align-items:center;gap:12px}.cost-pip{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;font-size:14px;font-weight:900;background:#0a0404;border:3px solid #555;color:#fff;flex-shrink:0;box-shadow:0 2px 6px #00000080}.cost-pip.token-earth{border-color:var(--c-earth);box-shadow:0 0 12px #b8895a66}.cost-pip.token-water{border-color:var(--c-water);box-shadow:0 0 12px #4dd0e166}.cost-pip.token-wind{border-color:var(--c-wind);box-shadow:0 0 12px #10b98166}.cost-pip.token-fire{border-color:var(--c-fire);box-shadow:0 0 12px #fb923c66}.cost-pip.token-lightning{border-color:var(--c-lightning);box-shadow:0 0 12px #facc1566}.cost-arrow{font-size:18px;color:var(--text-muted);font-weight:700}.cost-pay{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.pay-group{display:inline-flex;align-items:center;gap:4px;font-size:15px;font-weight:800;color:var(--text)}.pay-count{font-family:Courier New,monospace;font-weight:900;color:var(--bone)}.pay-group.missing{color:var(--red-bright)}.pay-group.missing .pay-count{color:var(--red-bright);text-shadow:0 0 6px rgba(239,48,48,.45)}.pay-group.missing .token-chip{filter:grayscale(.45) brightness(.85);opacity:.85}.pay-group .token-chip{margin:0}.pay-icon{display:inline-block;width:22px;height:22px;border-radius:50%;vertical-align:middle}.bonus-pip{background:radial-gradient(circle at 35% 30%,#74e08a,#2ea043 60%,#1f7a32);border:2px solid rgba(63,185,80,.8);box-shadow:0 0 6px #3fb95080;position:relative}.bonus-pip:after{content:"★";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:13px;color:#0d2e16;font-weight:900;line-height:1}.cost-short{margin-top:10px;padding:8px 12px;border-radius:6px;background:#ce2c2c2e;border:1px solid var(--red);color:#f6a8a8;font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.cost-short-group{display:inline-flex;align-items:center;gap:4px}.modal-inventory{margin-top:14px;padding:12px 14px;background:#00000059;border:1px solid var(--line);border-radius:8px}.inv-label{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;text-align:center}.inv-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;justify-content:center}.inv-cell{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 6px;background:#0006;border:1px solid var(--line-hi);border-radius:999px;font-family:Courier New,monospace;font-weight:900;font-size:15px;color:var(--bone)}.inv-cell .token-chip{margin:0}.inv-count{min-width:14px;text-align:center}.inv-bonus{display:inline-flex;align-items:center;gap:2px;padding:2px 6px;margin-left:2px;background:#3fb9502e;border:1px solid rgba(63,185,80,.4);border-radius:999px;color:#3fb950;font-size:12px}.inv-bonus-star{font-size:11px;line-height:1}.reserve-btn{display:inline-flex;align-items:center;gap:6px}.reserve-btn-bonus{display:inline-flex;align-items:center;gap:1px;font-weight:800;color:var(--gold)}.reserve-btn .token-chip{margin:0}.cost-short strong{color:#ffb0b0;font-size:15px;font-family:Courier New,monospace}.cost-short .token-chip{vertical-align:middle}.modal.detail{min-width:700px;max-width:880px}.detail-header-v2{display:flex;align-items:center;gap:14px;padding:14px 18px;margin:-22px -22px 0;border-bottom:2px solid;border-radius:14px 14px 0 0}.detail-seat-dot{width:18px;height:18px;border-radius:50%;flex-shrink:0;border:2px solid rgba(255,255,255,.18)}.detail-name-block{flex:1;display:flex;flex-direction:column;gap:4px}.detail-name-block h3{margin:0;font-size:26px;font-weight:900;font-family:var(--font-jp);letter-spacing:3px;text-shadow:0 1px 2px rgba(0,0,0,.6);display:flex;align-items:center;gap:10px}.detail-you-tag{font-size:10px;font-weight:900;letter-spacing:2px;color:var(--gold);background:#d4af3726;padding:2px 8px;border:1px solid var(--gold-soft);border-radius:999px;font-family:var(--font-body)}.detail-summary{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--text-muted)}.detail-summary strong{color:var(--bone);font-family:Courier New,monospace;font-size:13px}.detail-summary-tb,.detail-summary-tb strong{color:var(--gold)}.detail-points-v2{display:flex;flex-direction:column;align-items:center;padding:6px 14px;background:linear-gradient(180deg,#d4af372e,#d4af370d);border:1px solid var(--gold-soft);border-radius:10px;box-shadow:0 0 16px #d4af3740}.detail-points-num{font-family:var(--font-jp);font-size:36px;font-weight:900;color:var(--gold);line-height:1;text-shadow:0 0 16px rgba(212,175,55,.6),0 2px 2px rgba(0,0,0,.5)}.detail-points-label{font-size:10px;letter-spacing:3px;color:var(--gold-soft);text-transform:uppercase;margin-top:2px}.detail-section{display:flex;flex-direction:column;gap:10px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.04)}.detail-section:last-of-type{border-bottom:none}.detail-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:2px;font-weight:700}.detail-inventory .detail-label,.log-panel .section-title,.chat-panel .section-title{display:flex;align-items:center;justify-content:center;gap:14px;font-family:var(--font-jp);font-size:14px;font-weight:700;letter-spacing:6px;color:var(--gold);text-transform:uppercase;text-shadow:0 0 12px rgba(212,175,55,.4);padding:4px 0;border-bottom:none}.detail-inventory .detail-label:before,.detail-inventory .detail-label:after,.log-panel .section-title:before,.log-panel .section-title:after,.chat-panel .section-title:before,.chat-panel .section-title:after{content:"";flex:1;max-width:80px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-soft),transparent)}.detail-inventory .inv-cell{padding:6px 14px 6px 8px;font-size:17px;gap:8px}.detail-inventory .inv-count{min-width:18px;font-size:17px}.detail-inventory .inv-bonus{font-size:13px;padding:3px 8px}.detail-inventory .inv-bonus-star{font-size:12px}.detail-cards{display:flex;gap:22px;flex-wrap:wrap;align-items:flex-end;padding:4px 0}.color-stack{display:flex;flex-direction:column;align-items:center;gap:8px}.color-stack-head{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 4px;background:#00000080;border:1px solid var(--line-hi);border-radius:999px}.color-stack-head .token-chip{margin:0}.color-stack-count{font-family:Courier New,monospace;font-size:13px;font-weight:900;color:var(--bone)}.stack-row{display:flex}.stack-card{width:74px;height:104px;border-radius:6px;border:1px solid var(--line-hi);object-fit:cover;box-shadow:0 6px 14px #00000080;transition:transform .15s,z-index 0s}.stack-card:hover{transform:translateY(-10px) scale(1.1);z-index:5;position:relative;box-shadow:0 12px 28px #000000b3,0 0 18px var(--red-glow)}.detail-reserved{display:flex;gap:8px;flex-wrap:wrap}.reserved-small{width:66px;height:92px;border-radius:6px;border:1px solid var(--line-hi);object-fit:cover;box-shadow:0 4px 12px #00000080;transition:transform .15s}.reserved-small:hover{transform:translateY(-4px) scale(1.05)}.detail-tbs{display:flex;gap:10px;flex-wrap:wrap}.detail-tb{width:72px;height:72px;border-radius:8px;border:2px solid var(--gold);object-fit:cover;box-shadow:0 0 18px #d4af3766,0 4px 12px #00000080;transition:transform .15s}.detail-tb:hover{transform:scale(1.08)}.big-moment{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;pointer-events:none;display:flex;align-items:center;justify-content:center;--bm-glow: rgba(239, 48, 48, .42)}.big-moment:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,#00000080,#000000d1);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:bm-scrim 1.8s ease-out forwards}@keyframes bm-scrim{0%{opacity:0}14%{opacity:1}72%{opacity:1}to{opacity:0}}.big-flash{position:absolute;top:0;right:0;bottom:0;left:0;animation:bm-flash .6s ease-out}@keyframes bm-flash{0%{background:#fff0}20%{background:#ce2c2c73}to{background:#0000}}.big-stage{position:relative;z-index:1;isolation:isolate;display:flex;flex-direction:column;align-items:center;gap:10px;animation:bm-stage 1.8s cubic-bezier(.2,.8,.3,1.1) forwards}.big-stage:before{content:"";position:absolute;left:50%;top:50%;width:620px;height:620px;transform:translate(-50%,-50%);z-index:-1;background:radial-gradient(circle,var(--bm-glow),transparent 62%);filter:blur(10px);animation:bm-burst 1.8s ease-out forwards}@keyframes bm-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}22%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}to{opacity:0;transform:translate(-50%,-50%) scale(1.45)}}@keyframes bm-stage{0%{opacity:0;transform:scale(.5)}15%{opacity:1;transform:scale(1.15)}35%{transform:scale(1)}80%{opacity:1}to{opacity:0;transform:scale(1.1)}}.big-kanji{font-family:var(--font-jp);font-size:220px;font-weight:900;line-height:.9;color:var(--red-bright);text-shadow:0 0 30px rgba(239,48,48,.9),0 0 80px rgba(239,48,48,.6),0 8px 0 #500808,0 0 0 8px rgba(0,0,0,.4);-webkit-text-stroke:4px #fff;text-stroke:4px #fff}.big-text{font-family:var(--font-body);font-size:22px;font-weight:800;color:var(--bone);letter-spacing:2px;text-shadow:0 2px 8px rgba(0,0,0,.9);text-transform:uppercase}.big-moment-win{--bm-glow: rgba(212, 175, 55, .5)}.big-moment-win .big-kanji{color:var(--gold);text-shadow:0 0 30px rgba(212,175,55,.9),0 0 80px rgba(212,175,55,.6),0 8px 0 #5a4810,0 0 0 8px rgba(0,0,0,.4)}.big-moment-win .big-stage{animation-duration:4s}.big-moment-win:before,.big-moment-win .big-stage:before{animation-duration:4s}.big-moment-win .big-text{color:var(--gold)}.big-moment-milestone{--bm-glow: rgba(77, 208, 225, .45)}.big-moment-milestone .big-kanji{color:var(--c-water);text-shadow:0 0 30px rgba(77,208,225,.9),0 0 80px rgba(77,208,225,.6),0 8px 0 #084a55,0 0 0 8px rgba(0,0,0,.4)}@media (max-height: 900px){.game{padding:0;gap:8px}.main-layout{padding:0 8px}.topbar{min-height:56px;padding:8px 20px}.brand{font-size:22px}.topbar-left{font-size:12px;gap:10px}.topbar-left .code{font-size:17px;letter-spacing:4px}.turn-indicator{font-size:13px}.turn-indicator.yours{font-size:24px;letter-spacing:6px}.winner-banner{font-size:22px;letter-spacing:3px}.surrender-btn{padding:6px 12px;font-size:10px;letter-spacing:2px}.fullscreen-btn{width:30px;height:30px}.fullscreen-btn svg{width:14px;height:14px}.main-layout,.right-column{gap:8px}.opponents{padding:10px;gap:8px}.board-center{padding:6px;gap:4px}.dashboard{min-height:96px;padding:10px 18px;gap:16px;border-top-width:3px}.dash-name{font-size:16px;letter-spacing:2px}.dash-seat-dot{width:12px;height:12px}.dash-points-block{gap:12px}.dash-points{font-size:32px}.dash-points-wrap{padding:2px 10px;min-width:56px}.dash-points-sub{font-size:9px}.chakra-bar-wrap{width:170px;height:24px}.chakra-bar-label{font-size:12px}.dash-view-btn{width:64px;height:64px}.dash-total{height:34px;min-width:48px;font-size:15px;padding:0 8px}.dash-total-max{font-size:11px}.dash-tokens{gap:10px}.dash-token-img-wrap{width:46px;height:46px}.dash-count-ring{width:30px;height:30px;font-size:14px}.dash-bonus-badge{font-size:11px;padding:2px 7px;min-width:18px}.dash-extras{gap:16px}.dash-section{min-width:110px;gap:6px}.dash-label{font-size:10px;letter-spacing:3px}.dash-card-btn{width:40px;height:56px}.dash-tb{width:44px;height:44px}.dash-cards{min-height:56px}.token{width:54px;height:54px;border-width:2px}.token-bank{padding:10px 14px;gap:8px}.token-pieces{gap:12px}.board-help{bottom:96px}.board-info{bottom:138px}}@media (max-height: 760px){.game{padding:0;gap:6px}.main-layout{padding:0 6px}.topbar{min-height:44px;padding:6px 16px;border-bottom-width:2px}.brand{font-size:18px}.topbar-left{font-size:11px;gap:8px}.topbar-left .code{font-size:15px;letter-spacing:3px}.topbar-right{padding-right:48px;gap:8px}.turn-indicator.yours{font-size:20px;letter-spacing:5px}.winner-banner{font-size:18px;letter-spacing:2px}.dashboard{min-height:78px;padding:6px 14px;gap:10px;border-top-width:2px}.dash-name{font-size:14px;letter-spacing:1px}.dash-points{font-size:26px}.dash-points-wrap{padding:2px 8px;min-width:48px}.dash-points-sub{font-size:8px;letter-spacing:2px}.chakra-bar-wrap{width:150px;height:20px}.chakra-bar-label{font-size:11px}.dash-view-btn{width:56px;height:56px}.dash-total{height:30px;min-width:44px;font-size:13px;padding:0 7px;border-radius:6px}.dash-total-max{font-size:10px}.dash-tokens{gap:8px}.dash-token-img-wrap{width:40px;height:40px}.dash-count-ring{width:26px;height:26px;font-size:12px}.dash-extras{gap:12px}.dash-section{min-width:92px;gap:4px}.dash-card-btn{width:34px;height:48px}.dash-tb{width:38px;height:38px}.dash-cards{min-height:48px;gap:4px}.token{width:46px;height:46px}.token-bank{padding:8px 12px;margin-top:2px}.token-pieces{gap:10px}.token .count{font-size:11px;padding:1px 6px}.board-help{bottom:80px;width:28px;height:28px;font-size:15px}.board-info{bottom:116px}.opponents{padding:8px;gap:6px}.opp-name{font-size:13px}.opp-head{margin-bottom:6px}}@media (max-height: 900px){.lobby.lobby-room{margin:36px auto;max-height:calc(100vh - 72px);min-height:0}.lobby.lobby-room h1{margin:0 0 16px}.lobby-room .lobby-chat-wrap{flex:1 1 0;min-height:240px;height:auto}}@media (max-height: 800px){.lobby.lobby-room{margin:32px auto;max-height:calc(100vh - 64px)}.lobby.lobby-room h1{margin:0 0 8px}.lobby-room .lobby-chat-wrap{min-height:200px}}@media (max-height: 640px){.lobby.lobby-room{margin:10px auto;padding:14px 20px;max-height:calc(100vh - 20px);gap:8px}.lobby.lobby-room h1{font-size:22px;letter-spacing:2px}.lobby.lobby-room>.muted{display:none}.lobby-room .player-slot{min-height:48px;padding:8px 10px}.lobby-room .slot-name{font-size:13px}.lobby-room .slot-seat-dot{width:12px;height:12px}.lobby-room .lobby-actions button{padding:6px 14px;font-size:11px}.lobby-room .lobby-chat-wrap{min-height:110px}}@media (max-height: 900px){.lobby:not(.lobby-room){margin:48px auto;padding:26px 30px;max-height:calc(100vh - 96px);overflow:hidden}.lobby:not(.lobby-room) h1{margin:0 0 18px;font-size:34px;word-spacing:0px}}@media (max-height: 800px){.lobby:not(.lobby-room){margin:40px auto;padding:26px 30px;max-height:calc(100vh - 52px);overflow:hidden}.lobby:not(.lobby-room) h1{margin:0 0 8px;font-size:36px;word-spacing:0px}.lobby-crest{width:66px;margin-bottom:10px}.lobby-brand{margin-bottom:20px}.lobby-or{margin:18px 2px}}@media (max-width: 500px){.lobby:not(.lobby-room){margin-left:12px;margin-right:12px;max-width:calc(100vw - 24px);padding:22px 18px}.lobby:not(.lobby-room) h1{font-size:28px;letter-spacing:2px;word-spacing:0px}}@media (max-height: 640px){.lobby:not(.lobby-room){margin:14px auto;padding:16px 20px;max-height:calc(100vh - 28px)}.lobby:not(.lobby-room) h1{margin:0 0 10px;font-size:24px;letter-spacing:2px;word-spacing:0px}.lobby:not(.lobby-room) label{margin:6px 0;font-size:10px}.lobby:not(.lobby-room) input{padding:7px 10px;font-size:13px;margin-top:4px}.lobby:not(.lobby-room) button{padding:8px 14px;margin-top:8px;font-size:12px}.lobby:not(.lobby-room) hr{margin:6px 0}.lobby:not(.lobby-room) .name-hint{font-size:9px}.lobby-crest{width:44px;margin-bottom:6px}.lobby-brand{margin-bottom:10px}.lobby-home h1{font-size:26px}.lobby-or{margin:8px 2px}}
