:root{--navy:#12203A;--navy-2:#1B2A4A;--steel:#3F5772;--teal-dark:#4A676B;--cream:#F0EBE0;--cream-2:#FAF8F3;--gold:#D9A441;--gold-bright:#F2C15C;--crimson:#8C2F39;--magenta:#7A2048;--ink:#0B1220;--text:#EDEBE3;--text-dim:#A9B2C3;--win:#3E8E6E;--lose:#B0524B;--sq:60px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:radial-gradient(circle at 50% -10%,#24365a 0,var(--navy) 55%,var(--ink) 100%);color:var(--text);font-family:Inter,sans-serif;min-height:100vh;padding:28px 16px 60px}h1,h2,h3{font-family:Cinzel,serif;margin:0;letter-spacing:.02em}.wrap{max-width:1180px;margin:0 auto}header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:18px}header h1{font-size:32px;font-weight:700;color:var(--cream-2)}header .sub{font-size:13px;color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;margin-top:4px}.layout{display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap;justify-content:center}.board-panel{display:flex;flex-direction:column;align-items:center;gap:14px}.turn-banner{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);padding:8px 18px;border-radius:999px;font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.05em}.check-indicator{background:rgba(176,82,75,.2);border:1px solid var(--lose);color:var(--lose);font-weight:700;padding:2px 10px;border-radius:999px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;animation:checkPulse 1s ease infinite}@keyframes checkPulse{0%,100%{opacity:1}50%{opacity:.55}}.sq.in-check{box-shadow:inset 0 0 0 3px var(--lose),inset 0 0 18px rgba(176,82,75,.6);z-index:1}.dot{width:12px;height:12px;border-radius:50%;display:inline-block;border:2px solid rgba(0,0,0,.3)}.dot.w{background:var(--cream-2)}.dot.b{background:#20242c;border-color:#555}.thinking-banner{display:none;align-items:center;gap:9px;background:rgba(217,164,65,.1);border:1px solid rgba(217,164,65,.35);padding:7px 16px;border-radius:999px;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.04em;color:var(--gold-bright)}.thinking-banner.show{display:flex}.spinner{width:13px;height:13px;border-radius:50%;border:2px solid rgba(217,164,65,.3);border-top-color:var(--gold-bright);display:inline-block;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#board{position:relative;display:grid;grid-template-columns:repeat(8,var(--sq));grid-template-rows:repeat(8,var(--sq));border:6px solid var(--navy-2);border-radius:6px;box-shadow:0 20px 50px rgba(0,0,0,.5),0 0 0 1px rgba(217,164,65,.25);overflow:hidden}.sq{width:var(--sq);height:var(--sq);display:flex;align-items:center;justify-content:center;font-size:40px;position:relative;cursor:pointer;user-select:none;transition:filter .15s}.sq.light{background:var(--cream)}.sq.dark{background:var(--teal-dark)}.sq .pc{filter:drop-shadow(0 2px 2px rgba(0,0,0,.35))}.pc.w{color:#faf8f3;-webkit-text-stroke:1.6px #14213B;paint-order:stroke fill}.pc.b{color:#14181f;-webkit-text-stroke:1.6px #F2C15C;paint-order:stroke fill}.sq.selected{outline:3px solid var(--gold-bright);outline-offset:-3px;z-index:2}.sq.legal::after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:rgba(217,164,65,.55)}.sq.legal-capture::after{content:"";position:absolute;inset:5px;border-radius:8px;border:4px solid rgba(140,47,57,.75);background:0 0}.sq.pickable{outline:3px dashed var(--gold-bright);outline-offset:-3px;cursor:pointer;animation:pulse 1.1s infinite}@keyframes pulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.25)}}.sq:hover.selectable{filter:brightness(1.08)}.board-disabled #board{pointer-events:none;filter:saturate(.6) brightness(.85)}.board-coords{display:flex;align-items:flex-start}.last-move-bar{display:flex;justify-content:space-between;width:100%;max-width:492px;font-family:'JetBrains Mono',monospace;font-size:12px}.last-move-bar .last-move{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:4px 12px;min-width:100px;text-align:center}.last-move-bar .white-side{color:var(--cream-2)}.last-move-bar .black-side{color:var(--text-dim)}.sq.ai-move-highlight{outline:3px solid var(--magenta);outline-offset:-3px;z-index:1;animation:aiPulse 1.6s ease}.sq.bonus-removed-highlight{outline:3px solid var(--crimson);outline-offset:-3px;z-index:1;animation:aiPulse 1.6s ease}@keyframes aiPulse{0%{filter:brightness(1.6)}100%{filter:brightness(1)}}.rank-col{display:flex;flex-direction:column;padding:6px 0;margin-right:5px}.rank-col .lbl{height:var(--sq);width:16px;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--text-dim)}.board-col{display:flex;flex-direction:column}.file-row{display:flex;padding:0 6px;margin-top:5px}.file-row .lbl{width:var(--sq);height:16px;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--text-dim)}.side{width:300px;display:flex;flex-direction:column;gap:16px}.panel{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:16px}.panel h3{font-size:14px;color:var(--gold-bright);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.deck-row{display:flex;justify-content:space-between;align-items:center;font-family:'JetBrains Mono',monospace;font-size:13px;padding:6px 0;border-bottom:1px dashed rgba(255,255,255,.08)}.deck-row:last-child{border-bottom:none}.deck-stack{display:inline-flex;align-items:center;gap:6px}.mini-back{width:16px;height:22px;border-radius:3px;background:linear-gradient(135deg,var(--navy-2),var(--steel));border:1px solid var(--gold)}.captured{display:flex;flex-wrap:wrap;gap:4px;min-height:28px}.captured span{font-size:22px;opacity:.85}#log{font-family:'JetBrains Mono',monospace;font-size:12px;line-height:1.6;max-height:190px;overflow-y:auto;color:var(--text-dim)}#log div{padding:2px 0;border-bottom:1px solid rgba(255,255,255,.05)}#log div.important{color:var(--gold-bright)}button{font-family:Inter,sans-serif;font-weight:600;font-size:13px;background:var(--gold);color:var(--ink);border:none;border-radius:8px;padding:9px 16px;cursor:pointer;letter-spacing:.02em}button:hover{background:var(--gold-bright)}button.ghost{background:0 0;color:var(--text);border:1px solid rgba(255,255,255,.25)}button.ghost:hover{background:rgba(255,255,255,.08)}.btn-row{display:flex;gap:8px;flex-wrap:wrap}.opponent-row{align-items:center}.setup-controls{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:14px 0}#gameSetupPhase .ai-note{max-width:360px;margin:0 auto 14px;text-align:left}#gameSetupPhase button#startColorDrawBtn{margin-top:4px}.opt-label{display:flex;align-items:center;gap:8px;font-family:Inter,sans-serif;font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.opt-select{font-family:Inter,sans-serif;font-size:13px;font-weight:600;background:var(--navy-2);color:var(--cream-2);border:1px solid rgba(217,164,65,.4);border-radius:8px;padding:7px 10px;cursor:pointer}.opt-select:hover{border-color:var(--gold)}.audio-control{gap:8px}.icon-btn{padding:7px 10px;font-size:16px;line-height:1;border-radius:8px;min-width:36px;display:inline-flex;align-items:center;justify-content:center}.volume-slider,input[type=range]#volumeSlider{width:80px;accent-color:var(--gold);cursor:pointer}.ai-note{max-width:1180px;margin:-8px auto 18px;font-size:11.5px;color:var(--text-dim);letter-spacing:.02em;font-style:italic}details{margin-top:6px}summary{cursor:pointer;color:var(--text-dim);font-size:12px;letter-spacing:.03em}.rules-body{font-size:12.5px;color:var(--text-dim);line-height:1.6;margin-top:8px}.rules-body b{color:var(--cream-2)}.rules-body table{width:100%;border-collapse:collapse;margin-top:6px;font-size:11.5px}.rules-body td{padding:4px 4px;border-bottom:1px solid rgba(255,255,255,.08);vertical-align:top}.overlay{position:fixed;inset:0;background:rgba(5,8,16,.72);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:50;opacity:0;pointer-events:none;transition:opacity .2s}.overlay.show{opacity:1;pointer-events:auto}.battle-card{background:linear-gradient(180deg,#182849,#101a30);border:1px solid rgba(217,164,65,.4);border-radius:16px;padding:26px 32px;max-width:640px;width:92%;box-shadow:0 30px 80px rgba(0,0,0,.6);text-align:center}.battle-card h2{font-size:20px;color:var(--gold-bright);margin-bottom:4px}.battle-card .vs-label{font-size:12px;color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px}.hands{display:flex;justify-content:center;gap:60px;margin:10px 0 20px}.hand{display:flex;flex-direction:column;align-items:center;gap:10px}.hand-label{font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.hand-score{display:none;align-items:center;justify-content:center;min-width:52px;height:52px;padding:0 10px;border-radius:999px;background:rgba(217,164,65,.18);border:3px solid var(--gold);color:var(--gold-bright);font-family:'JetBrains Mono',monospace;font-weight:800;font-size:26px;box-shadow:0 0 16px rgba(217,164,65,.4)}.hand-score.show{display:inline-flex}.king-round-indicator{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-bright);background:rgba(217,164,65,.12);border:1px solid rgba(217,164,65,.4);border-radius:999px;padding:4px 14px;display:inline-block;margin-bottom:10px}.facedown-row{display:flex;gap:-6px}.facedown-row .card{margin-left:-14px}.facedown-row .card:first-child{margin-left:0}.card{width:56px;height:80px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:18px;box-shadow:0 6px 14px rgba(0,0,0,.4);transform-style:preserve-3d;transition:transform .5s ease;border:1px solid rgba(0,0,0,.25)}.card.back{background:repeating-linear-gradient(45deg,var(--navy-2) 0 8px,var(--steel) 8px 16px);border:1px solid var(--gold)}.card.face{background:var(--cream-2);color:var(--ink);position:relative;padding:3px}.card.face.red{color:#a32d2d}.card-corner{position:absolute;font-size:10px;font-weight:800;line-height:1;font-family:'JetBrains Mono',monospace}.card-corner.top{top:4px;left:4px}.card-corner.bottom{bottom:4px;right:4px;transform:rotate(180deg)}.card-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.pip-grid{display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:1px;font-size:11px;width:34px;line-height:1.1}.ace-pip{font-size:26px}.face-letter{font-size:24px;font-weight:800;border:1.5px solid currentColor;border-radius:5px;width:28px;height:36px;display:flex;align-items:center;justify-content:center}.card.face.joker{border:2px solid var(--gold);overflow:hidden;padding:0}.card.face.joker video{width:100%;height:100%;object-fit:cover;display:block}.card.face.joker.joker-fallback{overflow:visible;padding:3px;background:linear-gradient(160deg,#fff6e0,#ffe4b0);color:var(--magenta)}.card.face.joker.joker-fallback .ace-pip{color:var(--magenta)}.faceup-slot{min-height:80px;display:flex;align-items:center;justify-content:center}.flip-in{animation:flipIn .45s ease}@keyframes flipIn{from{transform:rotateY(90deg);opacity:0}to{transform:rotateY(0);opacity:1}}.outcome{font-size:15px;margin:10px 0 20px;min-height:70px;color:var(--cream-2)}.outcome b{color:var(--gold-bright)}.outcome.win b{color:var(--win)}.outcome.lose b{color:var(--lose)}.notation-line{font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--text-dim);margin-top:6px;letter-spacing:.03em}.smack-talk{font-family:Inter,sans-serif;font-size:12px;font-weight:600;color:var(--gold-bright);opacity:.9;margin-top:8px}.armageddon-splash{position:fixed;inset:0;background:#0a0603;z-index:60;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}.armageddon-splash.show{opacity:1;pointer-events:auto}.armageddon-splash video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.armageddon-splash::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(0,0,0,0) 40%,rgba(0,0,0,.75) 100%)}.armageddon-close{position:absolute;top:16px;right:16px;z-index:3;width:38px;height:38px;border-radius:50%;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.35);color:#fff;font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.armageddon-close:hover{background:rgba(0,0,0,.75)}.armageddon-label{position:absolute;left:0;right:0;bottom:6%;z-index:2;text-align:center;padding:0 4vw;font-family:'Stalinist One',cursive;font-size:clamp(28px,7vw,64px);letter-spacing:.06em;line-height:1;background:linear-gradient(180deg,#e8c17a 0,#c9812f 22%,#8b4513 45%,#4a2810 58%,#8b4513 72%,#c9812f 88%,#e8c17a 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 2px 0 #2c1608) drop-shadow(0 5px 8px rgba(0,0,0,.75)) drop-shadow(0 0 22px rgba(201,129,47,.55))}.select-banner{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:var(--navy-2);border:1px solid var(--gold);border-radius:999px;padding:10px 22px;font-size:13px;z-index:45;box-shadow:0 10px 30px rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .2s}.select-banner.show{opacity:1}.win-overlay .battle-card{max-width:460px}.win-overlay h2{font-size:30px}.promo-row{display:flex;gap:12px;justify-content:center;margin-top:16px}.promo-btn{display:flex;flex-direction:column;align-items:center;gap:6px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:14px 10px;min-width:72px}.promo-btn:hover{background:rgba(217,164,65,.18);border-color:var(--gold)}.promo-btn .pc{font-size:36px}.promo-lbl{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.site-footer{max-width:1180px;margin:36px auto 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.08);text-align:center;font-size:11.5px;color:var(--text-dim);letter-spacing:.03em}@media (max-width:720px){:root{--sq:38px}.sq{font-size:26px}.side{width:100%;max-width:420px}.hands{gap:28px}.rank-col .lbl{width:14px;font-size:9.5px}.file-row .lbl{font-size:9.5px}}