*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#120a06;--bg2:#1c110a;--surface:#2e1c12;--surface2:#3d2416;--border:#5a3825;--border-light:#7a5230;--text:#f2e4c4;--text-dim:#c9b088;--text-muted:#9a7a52;--wood:#2a1810;--wood-light:#3d2416;--wood-dark:#120a06;--felt:#1a5c3a;--felt-dark:#0f3d24;--felt-light:#2d7a4f;--gold:#d4a017;--gold-light:#f0c040;--gold-dark:#8b6914;--red:#c43535;--red-light:#e04545;--red-dark:#8b2020;--green:#3da55e;--green-dark:#2a7a3e;--blue:#4a7ec4;--purple:#8b5cf6;--pixel-shadow:4px 4px 0px var(--wood-dark);--pixel-shadow-sm:2px 2px 0px var(--wood-dark);--pixel-shadow-lg:6px 6px 0px var(--wood-dark);--pixel-border:3px solid var(--border);--pixel-border-light:3px solid var(--border-light);--focus-ring:0 0 0 3px var(--gold), var(--pixel-shadow)}body{background:var(--bg);color:var(--text);-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100vh;font-family:Oswald,Cinzel,sans-serif;font-size:18px;line-height:1.5;overflow:hidden auto}.app{flex-direction:column;min-height:100vh;display:flex}input,textarea{-webkit-user-select:text;user-select:text;cursor:text}:focus-visible{box-shadow:var(--focus-ring);outline:none}::selection{background:var(--gold);color:var(--wood-dark)}.game-screen:not(.carc-screen):after{content:"";pointer-events:none;z-index:40;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#0000000a 2px 4px);position:absolute;inset:0}.game-screen{background:var(--wood-dark);border-left:4px solid var(--wood-dark);border-right:4px solid var(--wood-dark);max-width:100%;height:100vh;box-shadow:0 0 0 3px var(--gold-dark);flex-direction:row;margin:0 auto;display:flex}.game-main{border-right:4px solid var(--wood-dark);flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--wood);border-bottom:4px solid var(--wood-dark);z-index:10;box-shadow:var(--pixel-shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.topbar-left{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.turn-info{flex-direction:column;min-width:0;display:flex}.turn-number{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);font-family:"Press Start 2P",monospace;font-size:11px}.turn-player{color:var(--gold-light);text-shadow:2px 2px 0px var(--wood-dark);white-space:nowrap;text-overflow:ellipsis;max-width:28vw;font-family:"Press Start 2P",monospace;font-size:14px;font-weight:700;overflow:hidden}.topbar-center{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.topbar-right{flex:1;justify-content:flex-end;align-items:center;min-width:0;display:flex}.badge-your-turn{background:var(--gold);color:var(--wood-dark);letter-spacing:1px;box-shadow:var(--pixel-shadow);border:3px solid var(--gold-dark);padding:8px 16px;font-family:"Press Start 2P",monospace;font-size:11px;font-weight:800;line-height:1.2;animation:1.2s steps(2,end) infinite pixel-pulse}.badge-dynamite{background:var(--red);color:#fff;letter-spacing:1px;box-shadow:var(--pixel-shadow);border:3px solid var(--red-dark);padding:8px 16px;font-family:"Press Start 2P",monospace;font-size:10px;line-height:1.2;animation:.8s steps(2,end) infinite pixel-pulse}.arrow-pool-badge{background:var(--surface);border:3px solid var(--border);box-shadow:var(--pixel-shadow-sm);align-items:center;gap:8px;padding:8px 14px;display:flex}.arrow-icon{align-items:center;display:flex}.arrow-count{color:var(--gold-light);text-shadow:2px 2px 0px var(--wood-dark);font-family:"Press Start 2P",monospace;font-size:16px;font-weight:800}.phase-strip{animation:pixel-slide .3s steps(3) end;border-bottom:4px solid;align-items:center;gap:14px;padding:10px 20px;font-family:"Press Start 2P",monospace;font-size:11px;display:flex}.phase-assignTargets{background:var(--red-dark);border-color:var(--red);color:#fff}.phase-assignBeer{background:var(--green-dark);border-color:var(--green);color:#fff}.phase-step{background:var(--gold);color:var(--wood-dark);width:36px;height:36px;box-shadow:var(--pixel-shadow-sm);border:2px solid var(--gold-dark);justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex}.phase-name{text-transform:uppercase;letter-spacing:1px;font-weight:800}.phase-detail{color:#ffffffd9;letter-spacing:0;font-family:VT323,monospace;font-size:16px}.phase-pending{background:var(--gold);color:var(--wood-dark);box-shadow:var(--pixel-shadow-sm);border:2px solid var(--gold-dark);margin-left:auto;padding:4px 12px;font-size:10px;font-weight:800;line-height:1.2}.select-strip{background:var(--gold-dark);border-bottom:4px solid var(--gold);color:var(--gold-light);animation:pixel-slide .3s steps(3) end;align-items:center;gap:12px;padding:10px 20px;font-family:"Press Start 2P",monospace;font-size:11px;display:flex}.select-icon{align-items:center;display:flex}.table-area{background:var(--wood-dark);flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.table-stage{aspect-ratio:16/9;background:url(/assets/backgrounds/background-site.webp) 50%/100% 100% no-repeat;width:100%;max-height:100%;position:relative;overflow:hidden}.poker-table{aspect-ratio:1.35;z-index:2;width:min(38%,420px);position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.table-felt{width:100%;height:100%;box-shadow:none;background:#0c281859;border:none;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;display:flex;position:relative;overflow:hidden;border-radius:50%!important}.table-felt:before{content:"";pointer-events:none;background-image:repeating-linear-gradient(90deg,#0000,#0000 3px,#ffffff05 3px 4px),repeating-linear-gradient(0deg,#0000,#0000 3px,#00000008 3px 4px);position:absolute;inset:0;border-radius:50%!important}.table-arrows{box-shadow:var(--pixel-shadow-sm);z-index:1;background:#0006;border:3px solid #ffffff1a;align-items:center;gap:10px;padding:8px 18px;display:flex}.table-arrows-icon{align-items:center;display:flex}.table-arrows span:last-child{color:var(--gold-light);text-shadow:2px 2px 0px var(--wood-dark);font-family:"Press Start 2P",monospace;font-size:18px;font-weight:800}.table-dice{z-index:1;flex-wrap:wrap;justify-content:center;gap:10px;max-width:400px;display:flex}.table-dice-empty{color:#ffffff4d;font-family:"Press Start 2P",monospace;font-size:12px}.table-die{cursor:pointer;width:72px;height:72px;box-shadow:var(--pixel-shadow-sm);background:#0006;border:3px solid #ffffff26;flex-direction:column;justify-content:center;align-items:center;gap:4px;transition:all .1s steps(2,end);display:flex;position:relative}.table-die:hover:not(.tdie-resolved):not(.tdie-dim){border-color:var(--gold);transform:translateY(-4px);box-shadow:0 8px #d4a0174d}.table-die:focus-visible{border-color:var(--gold-light);box-shadow:var(--focus-ring);outline:none}.tdie-icon{justify-content:center;align-items:center;display:flex}.tdie-label{text-transform:uppercase;letter-spacing:.5px;color:#ffffffa6;text-align:center;padding:0 2px;font-family:"Press Start 2P",monospace;font-size:8px}.tdie-kept{border-color:var(--green);background:#3da55e40;box-shadow:0 0 12px #3da55e4d}.tdie-locked{border-color:var(--red);background:#c4353540}.tdie-selected{border-color:var(--gold);background:#d4a0174d;transform:translateY(-4px)scale(1.05);box-shadow:0 0 16px #d4a01780}.tdie-resolved{opacity:.2;cursor:default;filter:grayscale(.8)}.tdie-dim{opacity:.4;cursor:default}.tdie-lock{background:var(--green);color:var(--wood-dark);box-shadow:var(--pixel-shadow-sm);border:2px solid var(--green-dark);padding:2px 4px;font-family:"Press Start 2P",monospace;font-size:6px;position:absolute;top:-8px;right:-8px}.tdie-arrow{border-color:#d4a0174d}.tdie-dynamite{border-color:#c4353566}.tdie-target1,.tdie-target2{border-color:#c435354d}.tdie-beer{border-color:#3da55e4d}.tdie-gatling{border-color:#e045454d}.seat{z-index:5;cursor:default;transition:transform .15s steps(2,end);position:absolute}.seat-card{background:var(--surface);border:3px solid var(--border);width:130px;box-shadow:var(--pixel-shadow);flex-direction:column;align-items:center;gap:4px;padding:10px;transition:all .15s steps(2,end);display:flex;position:relative}.seat-dead .seat-card{opacity:.3;filter:grayscale(.9)}.seat-active .seat-card{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold), var(--pixel-shadow-lg)}.seat-target{cursor:pointer}.seat-target .seat-card{border-color:var(--red-light);box-shadow:0 0 0 3px var(--red), var(--pixel-shadow-lg);animation:1s steps(2,end) infinite pixel-glow-red}.seat-target:hover .seat-card{transform:scale(1.06)}.seat-avatar{border:2px solid var(--border);box-shadow:var(--pixel-shadow-sm);background:var(--wood-dark);justify-content:center;align-items:center;width:56px;height:56px;display:flex;overflow:hidden}.seat-avatar img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated}.seat-name{text-align:center;color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-family:"Press Start 2P",monospace;font-size:10px;line-height:1.35;overflow:hidden}.you-tag{background:var(--gold);color:var(--wood-dark);box-shadow:var(--pixel-shadow-sm);border:2px solid var(--gold-dark);margin-left:4px;padding:2px 6px;font-family:"Press Start 2P",monospace;font-size:7px;font-weight:800;display:inline-block}.seat-role{color:#fff;text-transform:uppercase;letter-spacing:.5px;box-shadow:var(--pixel-shadow-sm);border:2px solid #0000004d;padding:3px 8px;font-family:"Press Start 2P",monospace;font-size:9px;font-weight:700;line-height:1.25}.seat-char{color:var(--text-dim);text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-family:VT323,monospace;font-size:15px;line-height:1.2;overflow:hidden}.seat-stats{gap:8px;font-family:"Press Start 2P",monospace;font-size:10px;font-weight:700;display:flex}.seat-hp{color:var(--red-light);text-shadow:1px 1px 0px var(--wood-dark)}.seat-arrows{color:var(--gold)}.seat-target-ring{border:3px solid var(--red-light);z-index:2;background:#e0454526;justify-content:center;align-items:center;animation:1s steps(2,end) infinite pixel-glow-red;display:flex;position:absolute;inset:-6px}.seat-dc{background:var(--text-muted);color:var(--bg);box-shadow:var(--pixel-shadow-sm);border:2px solid var(--wood-dark);padding:2px 6px;font-family:"Press Start 2P",monospace;font-size:8px;line-height:1.2;position:absolute;top:-8px;right:-8px}.seat-info-hint{opacity:0;cursor:pointer;border:2px solid var(--border);background:#ffffff1a;justify-content:center;align-items:center;width:20px;height:20px;font-family:"Press Start 2P",monospace;font-size:8px;transition:opacity .15s;display:flex;position:absolute;top:4px;right:4px}.seat-card:hover .seat-info-hint{opacity:.7}.seat-me{z-index:6}.seat-me .seat-card{border-color:var(--gold);background:var(--surface2);width:150px;box-shadow:0 0 0 3px var(--gold), var(--pixel-shadow-lg);padding:10px}.seat-me.seat-active .seat-card{box-shadow:0 0 0 3px var(--gold), 0 0 20px #d4a0174d, var(--pixel-shadow-lg)}.hp-bar{background:var(--wood-dark);border:2px solid var(--border);width:100%;height:8px;margin-top:4px;overflow:hidden}.hp-fill{background:repeating-linear-gradient(90deg, var(--red) 0px, var(--red) 4px, var(--red-light) 4px, var(--red-light) 8px);height:100%;transition:width .3s steps(5,end)}.bottom-panel{background:var(--wood);border-left:4px solid var(--wood-dark);z-index:10;width:220px;box-shadow:var(--pixel-shadow-sm);flex-direction:column;flex-shrink:0;gap:0;display:flex;overflow:hidden}.actions-row{border-bottom:3px solid var(--wood-dark);flex-direction:column;align-items:stretch;gap:8px;padding:12px;display:flex}.hint-text{color:var(--text-dim);text-align:center;font-family:VT323,monospace;font-size:15px}.tdie-ability{box-shadow:0 0 0 2px var(--gold), var(--pixel-shadow-sm);animation:1.2s steps(2,end) infinite pixel-pulse;border-color:var(--gold-light)!important}.ability-bar{border:2px solid var(--gold-dark);background:#d4a0171f;flex-direction:column;gap:8px;padding:8px;display:flex}.ability-targets{flex-direction:column;gap:6px;max-height:180px;display:flex;overflow-y:auto}.ability-bart{border-color:var(--red);background:#c4353526}.ability-slab{border-color:var(--red-light);background:#e045451f}.bart-banner{z-index:30;min-width:min(420px,90%);box-shadow:var(--pixel-shadow);flex-direction:row;justify-content:center;align-items:center;gap:12px;animation:1.2s steps(2,end) infinite pixel-pulse;position:absolute;top:12px;left:50%;transform:translate(-50%)}.waiting-indicator{color:var(--text-dim);justify-content:center;align-items:center;gap:10px;padding:8px;font-family:"Press Start 2P",monospace;font-size:10px;display:flex}.waiting-pulse{background:var(--gold);width:10px;height:10px;animation:1s steps(2,end) infinite pixel-pulse}.log-bar{scrollbar-width:thin;scrollbar-color:var(--border) var(--wood-dark);flex-direction:column;flex:1;gap:6px;padding:10px;display:flex;overflow-y:auto}.log-chip{border:2px solid var(--border);color:var(--text-dim);word-break:break-word;box-shadow:var(--pixel-shadow-sm);background:#ffffff0a;padding:6px 8px;font-family:VT323,monospace;font-size:15px;line-height:1.3}.btn{cursor:pointer;text-transform:uppercase;letter-spacing:1px;box-shadow:var(--pixel-shadow);text-shadow:1px 1px #0000004d;border:3px solid;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-family:"Press Start 2P",monospace;font-size:12px;font-weight:700;line-height:1.2;transition:transform .1s steps(2,end),box-shadow .1s steps(2,end),background .12s steps(2,end),color .12s steps(2,end);display:inline-flex}.btn:disabled{opacity:.42;cursor:not-allowed;box-shadow:var(--pixel-shadow-sm);filter:grayscale(.25);transform:none}.btn-primary:disabled{opacity:.55;filter:none;background:var(--gold-dark);color:var(--text-dim)}.btn:not(:disabled):hover{box-shadow:6px 6px 0px var(--wood-dark);transform:translate(-2px,-2px)}.btn:not(:disabled):active{box-shadow:1px 1px 0px var(--wood-dark);transform:translate(2px,2px)}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn-primary{background:var(--gold);color:var(--wood-dark);border-color:var(--gold-dark);text-shadow:none}.btn-primary:not(:disabled):hover{background:var(--gold-light)}.btn-secondary{background:var(--surface2);color:var(--text);border-color:var(--border)}.btn-secondary:not(:disabled):hover{background:var(--border)}.btn-ghost{color:var(--text-dim);border-color:var(--border);background:0 0}.btn-ghost:not(:disabled):hover{color:var(--text);border-color:var(--text-muted);background:#ffffff0d}.btn-icon{background:var(--surface);width:40px;height:40px;color:var(--text);border:3px solid var(--border);box-shadow:var(--pixel-shadow-sm);padding:0;font-family:"Press Start 2P",monospace;font-size:14px}.btn-lg{padding:14px 24px;font-size:12px}.modal-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#120a06eb;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-card{background:var(--wood);border:4px solid var(--gold);width:100%;max-width:480px;box-shadow:var(--pixel-shadow-lg), 0 0 40px #d4a01726;max-height:85vh;animation:pixel-pop .2s steps(3) end;flex-direction:column;padding:32px;display:flex;position:relative}.modal-card:before{content:"";border:2px solid var(--gold-dark);pointer-events:none;opacity:.45;position:absolute;inset:8px}.modal-close{background:var(--red);border:3px solid var(--red-dark);color:#fff;cursor:pointer;width:36px;height:36px;box-shadow:var(--pixel-shadow-sm);z-index:1;justify-content:center;align-items:center;font-family:"Press Start 2P",monospace;font-size:14px;display:flex;position:absolute;top:12px;right:12px}.modal-close:hover{background:var(--red-light);transform:translate(-1px,-1px)}.modal-close:focus-visible{box-shadow:var(--focus-ring)}.modal-card h2{color:var(--gold-light);letter-spacing:2px;text-shadow:2px 2px 0px var(--wood-dark);margin-bottom:24px;padding-right:40px;font-family:"Press Start 2P",monospace;font-size:16px}.player-detail .detail-header{align-items:center;gap:16px;margin-bottom:24px;display:flex}.detail-avatar{border:3px solid var(--gold);box-shadow:var(--pixel-shadow);flex-shrink:0}.detail-name{align-items:center;gap:8px;margin-bottom:8px;font-family:"Press Start 2P",monospace;font-size:14px;display:flex}.detail-role{color:#fff;text-transform:uppercase;letter-spacing:1px;box-shadow:var(--pixel-shadow-sm);border:2px solid #0000004d;padding:4px 12px;font-family:"Press Start 2P",monospace;font-size:9px;font-weight:700;display:inline-block}.detail-section{margin-bottom:20px}.detail-section h3{text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);margin-bottom:10px;font-family:"Press Start 2P",monospace;font-size:10px}.detail-char-name{color:var(--gold-light);margin-bottom:8px;font-family:"Press Start 2P",monospace;font-size:14px}.detail-ability{color:var(--text-dim);border-left:4px solid var(--gold);border-top:2px solid var(--border);border-bottom:2px solid var(--border);border-right:2px solid var(--border);background:#ffffff0a;padding:12px;font-family:VT323,monospace;font-size:16px;line-height:1.5}.detail-stats{grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:20px;display:grid}.detail-stat{border:2px solid var(--border);box-shadow:var(--pixel-shadow-sm);background:#ffffff0a;flex-direction:column;gap:4px;padding:12px;display:flex}.detail-stat-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);font-family:"Press Start 2P",monospace;font-size:7px}.detail-stat-value{color:var(--text);font-family:"Press Start 2P",monospace;font-size:16px}.detail-objective{border:3px solid var(--gold-dark);box-shadow:var(--pixel-shadow-sm);background:#d4a0171a;padding:14px}.detail-objective h3{text-transform:uppercase;letter-spacing:2px;color:var(--gold);margin-bottom:8px;font-family:"Press Start 2P",monospace;font-size:10px}.detail-objective p{color:var(--text);font-family:VT323,monospace;font-size:16px;line-height:1.5}.instructions-card{max-width:560px}.instructions-scroll{scrollbar-width:thin;scrollbar-color:var(--border) var(--wood-dark);flex:1;margin-bottom:20px;padding-right:8px;overflow-y:auto}.instructions-scroll section{margin-bottom:20px}.instructions-scroll h3{color:var(--gold-light);letter-spacing:1px;text-shadow:1px 1px 0px var(--wood-dark);margin-bottom:10px;font-family:"Press Start 2P",monospace;font-size:11px}.instructions-scroll p,.instructions-scroll li{color:var(--text-dim);font-family:VT323,monospace;font-size:16px;line-height:1.5}.instructions-scroll ul,.instructions-scroll ol{flex-direction:column;gap:4px;padding-left:24px;display:flex}.instructions-scroll strong{color:var(--text)}.instructions-scroll em{color:var(--gold)}.gameover-overlay{z-index:100;background:#1a0e08f2;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gameover-card{background:var(--wood);border:4px solid var(--gold);text-align:center;width:90%;max-width:560px;box-shadow:var(--pixel-shadow-lg), 0 0 60px #d4a01733;animation:pixel-pop .3s steps(3) end;padding:40px 48px}.gameover-emblem{color:var(--gold-light);text-shadow:3px 3px 0px var(--wood-dark);margin-bottom:16px;font-family:"Press Start 2P",monospace;font-size:32px}.gameover-card h2{color:var(--gold-light);letter-spacing:3px;text-shadow:2px 2px 0px var(--wood-dark);margin-bottom:12px;font-family:"Press Start 2P",monospace;font-size:20px}.gameover-reason{color:var(--text-dim);margin-bottom:28px;font-family:VT323,monospace;font-size:18px}.gameover-columns{text-align:left;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:28px;display:grid}.gameover-columns h3{text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);margin-bottom:10px;font-family:"Press Start 2P",monospace;font-size:9px}.gameover-columns ul{flex-direction:column;gap:6px;list-style:none;display:flex}.gameover-columns li{border:2px solid var(--border);box-shadow:var(--pixel-shadow-sm);background:#ffffff0a;align-items:center;gap:8px;padding:8px 10px;font-family:VT323,monospace;font-size:16px;display:flex}.winner-role{border-color:var(--gold)!important;font-family:"Press Start 2P",monospace!important;font-size:10px!important}.winner-dot{border:2px solid #0000004d;flex-shrink:0;width:10px;height:10px}.home,.lobby{background:linear-gradient(#120a068c 0%,#120a06b8 45%,#120a06e0 100%),url(/assets/backgrounds/home-bg.png) 50%/cover no-repeat;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:28px;min-height:100vh;padding:32px 16px 48px;display:flex;position:relative;overflow:hidden auto}.home:before,.lobby:before{content:"";pointer-events:none;opacity:.45;background:repeating-linear-gradient(0deg,#0000,#0000 3px,#0000000a 3px 6px);position:absolute;inset:0}.home-stage{z-index:1;text-align:center;width:min(720px,100%);position:relative}.home-ornament{color:var(--gold);justify-content:center;align-items:center;gap:14px;margin-bottom:16px;display:flex}.home-ornament-rule{background:var(--gold-dark);width:56px;height:3px;box-shadow:var(--pixel-shadow-sm)}.title{text-align:center;margin-bottom:8px}.title-bang{letter-spacing:.12em;color:var(--gold-light);text-shadow:3px 3px 0 var(--gold-dark), 6px 6px 0 var(--wood-dark), 9px 9px 0 #0000008c;margin-bottom:12px;font-family:"Press Start 2P",monospace;font-size:clamp(36px,9vw,72px);font-weight:900;line-height:1.05;display:block}.title-bang-mark{letter-spacing:0;margin-left:-.12em}.title-sub{color:var(--text-dim);letter-spacing:.35em;text-transform:uppercase;font-family:VT323,monospace;font-size:24px;display:block}.home-tagline{max-width:28ch;color:var(--text-dim);margin:18px auto 0;font-family:VT323,monospace;font-size:22px;line-height:1.35}.home-card,.lobby-card{z-index:1;background:var(--wood);border:4px solid var(--gold);width:100%;max-width:420px;box-shadow:var(--pixel-shadow-lg), 0 0 0 3px var(--wood-dark);padding:36px 32px 32px;position:relative}.lobby-card{max-width:820px;padding:32px 36px 28px}.home-card-wide{max-width:560px}.game-pick-label{color:var(--text-dim);letter-spacing:1px;text-transform:uppercase;margin:8px 0 10px;font-family:"Press Start 2P",monospace;font-size:12px}.game-pick-list{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;display:grid}.game-pick{text-align:left;border:3px solid var(--border);cursor:pointer;color:var(--text);box-shadow:var(--pixel-shadow-sm);background:#ffffff08;flex-direction:column;gap:4px;padding:12px;transition:border-color .12s steps(2,end),background .12s steps(2,end);display:flex}.game-pick:hover:not(:disabled){border-color:var(--border-light);background:#ffffff0f}.game-pick-on{border-color:var(--gold);background:#d4a01726}.game-pick-soon{opacity:.45;cursor:not-allowed}.game-pick-title{color:var(--gold-light);font-family:"Press Start 2P",monospace;font-size:13px}.game-pick-tag{color:var(--text-muted);font-family:VT323,monospace;font-size:15px}.game-pick-desc{color:var(--text-dim);font-family:VT323,monospace;font-size:15px;line-height:1.25}.rooms-toolbar{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.rooms-code-row{align-items:flex-end;gap:10px;margin-bottom:12px;display:flex}.field-inline{flex:1;margin-bottom:0}.rooms-list-head{color:var(--gold-light);letter-spacing:1px;text-transform:uppercase;justify-content:space-between;align-items:baseline;margin:8px 0 10px;font-family:"Press Start 2P",monospace;font-size:11px;display:flex}.rooms-count{color:var(--text-muted);letter-spacing:0;font-family:VT323,monospace;font-size:18px}.rooms-empty{color:var(--text-muted);text-align:center;border:2px dashed var(--border);padding:16px 8px;font-family:VT323,monospace;font-size:18px}.rooms-list{flex-direction:column;gap:8px;max-height:320px;list-style:none;display:flex;overflow-y:auto}.room-row{border:3px solid var(--border);box-shadow:var(--pixel-shadow-sm);background:#ffffff0a;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.room-row-main{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.room-code-chip{color:var(--gold-light);border:2px dashed var(--gold);letter-spacing:2px;background:#d4a0171f;padding:6px 8px;font-family:"Press Start 2P",monospace;font-size:12px}.room-host{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-family:VT323,monospace;font-size:17px;overflow:hidden}.room-row-meta{color:var(--text-muted);flex-shrink:0;align-items:center;gap:10px;font-family:VT323,monospace;font-size:17px;display:flex}.title-bang-sm{font-size:clamp(28px,6vw,48px)!important}.home-ornament-die{color:var(--gold);font-size:12px}.carc-screen .table-area{background:radial-gradient(ellipse at 50% 40%, #1a5c3a1f 0%, transparent 55%), var(--wood-dark);overflow:hidden}.carc-viewport{cursor:grab;flex:1;width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.carc-board{transform-origin:50%;will-change:transform;position:absolute;inset:0}.carc-cell{-webkit-user-select:none;user-select:none;background:#0000001f;border:2px solid #d4a0171f;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;overflow:visible;border-radius:0!important}.carc-cell-empty{background:#ffffff05}.carc-cell-on{border-color:var(--gold-dark);background:var(--wood);cursor:default}.carc-cell-legal{cursor:pointer;background:#d4a01714;border-color:#d4a01773;animation:1.4s steps(2,end) infinite carc-pulse}.carc-cell-hover{box-shadow:0 0 0 3px var(--gold);border-color:var(--gold-light)!important;z-index:5!important}.carc-preview{opacity:.55;pointer-events:none;filter:saturate(1.1)}.carc-meeple{border:2px solid var(--wood-dark);width:14px;height:14px;box-shadow:var(--pixel-shadow-sm);z-index:4;pointer-events:none;position:absolute}@keyframes carc-pulse{0%,to{opacity:1}50%{opacity:.72}}.carc-phase{letter-spacing:1px;color:var(--wood-dark);background:var(--gold);border:2px solid var(--gold-dark);box-shadow:var(--pixel-shadow-sm);padding:6px 10px;font-family:"Press Start 2P",monospace;font-size:10px}.carc-zoom{gap:6px;display:flex}.carc-current{border:2px solid var(--gold-dark);background:#d4a0171a;flex-direction:column;align-items:center;gap:8px;padding:8px;display:flex}.carc-current-art{border:2px solid var(--border);background:var(--wood-dark);line-height:0}.carc-preview-places{text-align:left;border-top:1px solid #c9a22740;width:100%;padding-top:4px}.carc-preview-places ul{color:#c0ccb8;flex-direction:column;gap:4px;margin-top:4px;font-family:VT323,monospace;font-size:15px;list-style:none;display:flex}.carc-preview-places li{background:#c9a22714;border-left:3px solid #c9a227;padding:3px 6px}.carc-deploy{border:2px solid var(--gold-dark);background:#d4a0171a;flex-direction:column;gap:8px;padding:8px;display:flex}.carc-deploy-opts{flex-direction:column;gap:6px;max-height:220px;display:flex;overflow-y:auto}.carc-deploy-btn{text-align:left;white-space:normal;letter-spacing:0;text-transform:none;font-family:VT323,monospace;font-size:17px;line-height:1.35}.carc-tile-modal{max-width:520px;background:#1a2418!important;border-color:#2d7a4f!important}.carc-tile-modal h2{color:#f0e6c8!important;text-shadow:2px 2px #0e140e!important}.carc-seg-list{flex-direction:column;gap:10px;max-height:50vh;margin-top:12px;list-style:none;display:flex;overflow-y:auto}.carc-seg{color:#c0ccb8;background:#ffffff08;border:2px solid #3d5238;padding:10px 12px;font-family:VT323,monospace;font-size:16px}.carc-seg-head{color:#f0e6c8;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:6px;display:flex}.carc-seg-meta{color:#a8b89a;flex-wrap:wrap;gap:8px 14px;margin-bottom:6px;font-size:15px;display:flex}.carc-seg-followers{flex-wrap:wrap;align-items:center;gap:8px;font-size:15px;display:flex}.carc-follower-chip{background:#0003;border:1px solid #3d5238;align-items:center;gap:6px;padding:2px 8px;display:inline-flex}.home-card:before,.lobby-card:before{content:"";border:2px solid var(--gold-dark);pointer-events:none;opacity:.55;position:absolute;inset:8px}.field{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.field span{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;font-family:"Press Start 2P",monospace;font-size:12px;font-weight:600}.field input{background:var(--wood-dark);border:3px solid var(--border);color:var(--text);box-shadow:var(--pixel-shadow-sm);outline:none;width:100%;padding:14px 16px;font-family:VT323,monospace;font-size:24px;transition:border-color .12s steps(2,end),background .12s steps(2,end)}.field input::placeholder{color:var(--text-muted);opacity:.85}.field input:focus{border-color:var(--gold);background:var(--wood-dark)}.divider{text-align:center;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin:22px 0;font-family:"Press Start 2P",monospace;font-size:11px;position:relative}.divider:before,.divider:after{content:"";background:var(--border);width:35%;height:2px;position:absolute;top:50%}.divider:before{left:0}.divider:after{right:0}.error{color:var(--red-light);text-align:center;margin-top:16px;font-family:VT323,monospace;font-size:18px}.lobby-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.lobby-header h2{color:var(--gold-light);text-shadow:2px 2px 0px var(--wood-dark);letter-spacing:2px;font-family:"Press Start 2P",monospace;font-size:16px}.room-code{border:3px dashed var(--gold);box-shadow:var(--pixel-shadow-sm);background:#d4a0171f;flex-direction:column;align-items:center;min-width:120px;padding:10px 18px;display:flex}.code-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);margin-bottom:4px;font-family:"Press Start 2P",monospace;font-size:10px}.code-value{letter-spacing:5px;color:var(--gold-light);-webkit-user-select:all;user-select:all;cursor:pointer;text-shadow:2px 2px 0px var(--wood-dark);font-family:"Press Start 2P",monospace;font-size:26px;font-weight:800;line-height:1.1}.lobby-hint{color:var(--text-dim);margin-bottom:20px;font-family:VT323,monospace;font-size:20px;line-height:1.35}.lobby-hint strong{color:var(--gold-light);font-weight:400}.player-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px;list-style:none;display:grid}.player-item{border:3px solid var(--border);box-shadow:var(--pixel-shadow-sm);background:#ffffff0a;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:12px 14px;transition:border-color .12s steps(2,end),background .12s steps(2,end);display:flex}.player-item:hover{border-color:var(--border-light);background:#ffffff0f}.player-item.disconnected{opacity:.45}.player-name{color:var(--text);font-family:"Press Start 2P",monospace;font-size:11px;line-height:1.35}.player-badges{flex-shrink:0;align-items:center;gap:6px;display:flex}.badge{text-transform:uppercase;letter-spacing:.5px;box-shadow:var(--pixel-shadow-sm);border:2px solid;padding:4px 8px;font-family:"Press Start 2P",monospace;font-size:9px;font-weight:700;line-height:1.2}.badge-host{background:var(--gold-dark);color:var(--gold-light);border-color:var(--gold)}.badge-off{background:var(--red-dark);color:var(--red-light);border-color:var(--red)}.lobby-min{color:var(--gold)}.role-dist{border:3px solid var(--border);box-shadow:var(--pixel-shadow-sm);background:#ffffff08;margin:8px 0 18px;padding:12px 14px}.role-dist-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.role-dist-title{color:var(--gold-light);letter-spacing:1px;text-transform:uppercase;font-family:"Press Start 2P",monospace;font-size:11px}.role-dist-count{color:var(--text-muted);font-family:VT323,monospace;font-size:16px}.role-dist-list{flex-wrap:wrap;gap:8px 12px;list-style:none;display:flex}.role-dist-item{color:var(--text);border:2px solid var(--border);background:#00000040;align-items:center;gap:6px;padding:4px 8px;font-family:VT323,monospace;font-size:17px;line-height:1.2;display:inline-flex}.role-dist-dot{width:10px;height:10px;box-shadow:var(--pixel-shadow-sm);border:2px solid #00000059;flex-shrink:0}.role-dist-n{color:var(--gold-light);font-family:"Press Start 2P",monospace;font-size:10px}.role-dist-name{color:var(--text-dim)}.role-dist-empty{color:var(--text-muted);font-family:VT323,monospace;font-size:16px;line-height:1.3}.role-dist-compact{border:none;border-bottom:3px solid var(--wood-dark);box-shadow:none;background:var(--wood-light);margin:0;padding:10px 12px}.role-dist-compact .role-dist-head{margin-bottom:8px}.role-dist-compact .role-dist-title{font-size:10px}.role-dist-compact .role-dist-count{font-size:14px}.role-dist-compact .role-dist-list{flex-direction:column;gap:6px}.role-dist-compact .role-dist-item{width:100%;padding:3px 6px;font-size:15px}.role-dist-topbar{box-shadow:none;background:0 0;border:none;align-items:center;gap:10px;min-width:0;margin:0;padding:0;display:flex}.role-dist-topbar .role-dist-title{color:var(--text-muted);flex-shrink:0;font-size:10px}.role-dist-topbar .role-dist-list{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.role-dist-topbar .role-dist-item{white-space:nowrap;border-width:2px;gap:4px;padding:3px 6px;font-size:13px}.role-dist-topbar .role-dist-n{font-size:9px}.role-dist-topbar .role-dist-name{color:var(--text);font-size:14px}.role-dist-topbar .role-dist-dot{width:8px;height:8px}.lobby-actions{flex-direction:column;gap:12px;display:flex}.lobby-footer{grid-template-columns:1.4fr 1fr;align-items:stretch;gap:16px;display:grid}.lobby-footer .role-dist{height:100%;margin:0}.lobby-footer .lobby-actions{justify-content:center}.lobby-carc{background:linear-gradient(180deg, #120a068c 0%, #120a06bf 50%, #120a06e6 100%), url(/assets/carcassonne/splash.png) center / cover no-repeat, var(--bg)}.lobby-carc .title-bang,.title-carc{color:#f0e6c8!important;text-shadow:3px 3px 0 #2d7a4f, 6px 6px 0 var(--wood-dark), 9px 9px 0 #0000008c!important;letter-spacing:.08em!important}.carc-lobby-info{border:3px solid var(--border);height:100%;box-shadow:var(--pixel-shadow-sm);background:#ffffff08;margin:0;padding:12px 14px}.carc-lobby-info-head{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.carc-lobby-rules{color:var(--text-dim);flex-direction:column;gap:8px;font-family:VT323,monospace;font-size:17px;line-height:1.3;list-style:none;display:flex}.carc-lobby-rules li{align-items:flex-start;gap:8px;display:flex}.carc-swatch{width:12px;height:12px;box-shadow:var(--pixel-shadow-sm);border:2px solid #00000059;flex-shrink:0;margin-top:4px}.carc-meeple-dot{vertical-align:middle;width:12px;height:12px;box-shadow:var(--pixel-shadow-sm);border:2px solid #00000059;margin-right:8px;display:inline-block}.lobby-carc .lobby-card{box-shadow:var(--pixel-shadow-lg), 0 0 0 3px var(--wood-dark), 0 0 40px #2d7a4f40;border-color:#2d7a4f}.lobby-carc .room-code{background:#2d7a4f26;border-color:#2d7a4f}.lobby-carc .btn-primary{color:#f0e6c8;background:#2d7a4f;border-color:#1a5c3a}.home-generic{background:linear-gradient(180deg, #120e0ab8 0%, #120e0ae0 100%), radial-gradient(ellipse at 50% 0%, #d4a0171f 0%, transparent 55%), var(--bg)!important}.title-games{letter-spacing:.18em!important;color:var(--gold-light)!important}.rooms-bang{background:linear-gradient(#120a068c 0%,#120a06c7 100%),url(/assets/backgrounds/home-bg.png) 50%/cover no-repeat!important}.rooms-carc .title-bang{color:#f0e6c8!important;text-shadow:3px 3px 0 #2d7a4f, 6px 6px 0 var(--wood-dark), 9px 9px 0 #0000008c!important}.rooms-carc .home-card{box-shadow:var(--pixel-shadow-lg), 0 0 0 3px var(--wood-dark), 0 0 36px #2d7a4f4d;border-color:#2d7a4f}.rooms-carc .btn-primary{color:#f0e6c8;background:#2d7a4f;border-color:#1a5c3a}.rooms-carc .room-code-chip{color:#b8e0c8;background:#2d7a4f26;border-color:#2d7a4f}.carc-screen{flex-direction:column;max-width:100%;height:100vh;display:flex;overflow:hidden;background:linear-gradient(#1a2418 0%,#121a12 40%,#0e140e 100%)!important}.carc-top{z-index:10;background:linear-gradient(#2a3528 0%,#1e281c 100%);border-bottom:3px solid #3d5238;flex-direction:column;flex-shrink:0;gap:8px;padding:10px 14px 8px;display:flex}.carc-top-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.carc-turn{flex-direction:column;min-width:0;display:flex}.carc-turn-label{color:#a8b89a;font-family:VT323,monospace;font-size:15px}.carc-turn-name{color:#f0e6c8;text-shadow:2px 2px #0e140e;text-overflow:ellipsis;white-space:nowrap;max-width:28vw;font-family:"Press Start 2P",monospace;font-size:13px;overflow:hidden}.carc-cta{color:#1a2418;box-shadow:var(--pixel-shadow-sm);letter-spacing:1px;background:#c9a227;border:2px solid #8a7018;padding:8px 12px;font-family:"Press Start 2P",monospace;font-size:11px}.carc-top-right{align-items:center;gap:10px;margin-left:auto;display:flex}.carc-deck{color:#c9a227;background:#00000040;border:2px solid #3d5238;align-items:center;gap:8px;padding:8px 12px;font-family:"Press Start 2P",monospace;font-size:12px;display:flex}.carc-players{flex-wrap:wrap;gap:8px;list-style:none;display:flex}.carc-player{color:#d8e0d0;background:#00000047;border:2px solid #3d5238;align-items:center;gap:8px;padding:6px 10px;font-family:VT323,monospace;font-size:16px;display:inline-flex}.carc-player-name{color:#f0e6c8;text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-family:"Press Start 2P",monospace;font-size:10px;overflow:hidden}.carc-player-stat{color:#a8b89a;white-space:nowrap;font-size:15px}.carc-body{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}.carc-main{background:radial-gradient(at 50% 40%,#2d7a4f1a 0%,#0000 55%),#121a12;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.carc-side{background:#1a2418;border-left:3px solid #3d5238;flex-direction:column;flex-shrink:0;width:260px;height:100%;display:flex;overflow:hidden}.carc-side .actions-row{background:#1e281c;border-bottom:3px solid #0e140e;flex-shrink:0}.carc-side .log-bar{background:#162016;flex:1;min-height:0}.carc-side .log-chip{color:#c0ccb8;background:#ffffff08;border-color:#3d5238}.carc-screen .btn-primary{color:#f0e6c8;background:#2d7a4f;border-color:#1a5c3a}.carc-screen .btn-secondary{color:#f0e6c8;background:#3d5238;border-color:#5a7a50}.carc-screen .btn-ghost{color:#a8b89a;border-color:#3d5238}.carc-screen .hint-text{color:#a8b89a}@media (width<=900px){.carc-body{flex-direction:column}.carc-side{border-top:3px solid #3d5238;border-left:none;width:100%;max-height:180px}.carc-main{flex:1;min-height:55vh}}.waiting{text-align:center;color:var(--text-dim);padding:12px;font-family:VT323,monospace;font-size:18px}.connecting{color:var(--text-dim);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;min-height:100vh;font-family:"Press Start 2P",monospace;font-size:12px;display:flex}.spinner{border:4px solid var(--border);border-top-color:var(--gold);width:40px;height:40px;animation:.8s steps(8,end) infinite pixel-spin}@keyframes pixel-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pixel-glow-red{0%,to{box-shadow:0 0 8px #e045454d}50%{box-shadow:0 0 20px #e0454599}}@keyframes pixel-slide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes pixel-pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pixel-spin{to{transform:rotate(360deg)}}@media (width<=900px){.game-screen{flex-direction:column;max-width:100%}.game-main{border-right:none}.bottom-panel{border-left:none;border-top:4px solid var(--wood-dark);flex-direction:row;width:100%;max-height:180px}.actions-row{border-bottom:none;border-right:3px solid var(--wood-dark);flex-flow:wrap;width:50%}.log-bar{width:50%}.poker-table{width:min(42%,320px)}.seat-card{width:100px;padding:6px}.seat-me .seat-card{width:120px}.table-die{width:56px;height:56px}.gameover-columns{grid-template-columns:1fr}}.bot-badge{background:var(--blue);color:#fff;box-shadow:var(--pixel-shadow-sm);border:2px solid #2a5a9a;margin-left:8px;padding:2px 6px;font-family:"Press Start 2P",monospace;font-size:7px}.btn-remove-bot{background:var(--red);color:#fff;border:2px solid var(--red-dark);cursor:pointer;width:24px;height:24px;box-shadow:var(--pixel-shadow-sm);justify-content:center;align-items:center;margin-left:6px;font-family:"Press Start 2P",monospace;font-size:8px;display:flex}.btn-remove-bot:hover{background:var(--red-light)}.bot-count{color:var(--blue)}.lobby-count-block{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.lobby-count{color:var(--text-dim);text-align:right;font-family:VT323,monospace;font-size:18px;line-height:1.3}.lobby-footer-row{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.speech-bubble{background:var(--gold-light);color:var(--wood-dark);white-space:nowrap;box-shadow:var(--pixel-shadow);border:3px solid var(--gold-dark);z-index:20;animation:bubble-pop .3s steps(3) end;pointer-events:none;white-space:normal;text-align:center;max-width:180px;padding:8px 12px;font-family:"Press Start 2P",monospace;font-size:8px;line-height:1.4;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%)}.speech-bubble:after{content:"";border-left:8px solid #0000;border-right:8px solid #0000;border-top:8px solid var(--gold-dark);width:0;height:0;position:absolute;top:100%;left:50%;transform:translate(-50%)}@keyframes bubble-pop{0%{opacity:0;transform:translate(-50%)scale(.8)}to{opacity:1;transform:translate(-50%)scale(1)}}.log-chip.log-action{border-color:var(--gold-dark);color:var(--gold-light);background:#d4a0171a;font-weight:700}.log-bar{scrollbar-width:thin;scrollbar-color:var(--border) var(--wood-dark);min-height:120px;max-height:100%;overflow-y:auto}.log-bar::-webkit-scrollbar{width:6px}.log-bar::-webkit-scrollbar-track{background:var(--wood-dark)}.log-bar::-webkit-scrollbar-thumb{background:var(--border);border:1px solid var(--wood-dark)}.log-bar::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.alert-overlay{z-index:300;animation:alert-appear .4s steps(4) end;background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.alert-card{background:var(--wood);border:4px solid var(--red);text-align:center;width:90%;max-width:500px;box-shadow:0 0 80px #c4353566, var(--pixel-shadow-lg);animation:alert-shake .5s steps(4) end;padding:40px 48px}.alert-card.alert-natives{border-color:var(--gold);box-shadow:0 0 80px #d4a01766, var(--pixel-shadow-lg)}.alert-card.alert-gatling{border-color:var(--red-light);box-shadow:0 0 80px #e0454580, var(--pixel-shadow-lg)}.alert-icon{margin-bottom:16px;font-size:64px;animation:.6s steps(2,end) infinite alert-pulse;display:block}.alert-title{color:var(--red-light);text-shadow:3px 3px 0px var(--wood-dark);letter-spacing:2px;margin-bottom:12px;font-family:"Press Start 2P",monospace;font-size:18px}.alert-natives .alert-title{color:var(--gold-light)}.alert-gatling .alert-title{color:var(--red-light);font-size:16px}.alert-message{color:var(--text-dim);margin-bottom:24px;font-family:VT323,monospace;font-size:22px;line-height:1.4}.alert-confirm{background:var(--red);color:#fff;border:3px solid var(--red-dark);cursor:pointer;box-shadow:var(--pixel-shadow);text-transform:uppercase;letter-spacing:2px;padding:16px 32px;font-family:"Press Start 2P",monospace;font-size:12px}.alert-natives .alert-confirm{background:var(--gold);color:var(--wood-dark);border-color:var(--gold-dark)}.alert-confirm:hover{box-shadow:6px 6px 0px var(--wood-dark);transform:translate(-2px,-2px)}.alert-confirm:active{box-shadow:1px 1px 0px var(--wood-dark);transform:translate(2px,2px)}@keyframes alert-appear{0%{opacity:0}to{opacity:1}}@keyframes alert-shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}50%{transform:translate(8px)}75%{transform:translate(-4px)}}@keyframes alert-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.btn-sm{letter-spacing:.5px;padding:8px 12px;font-size:10px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.btn:not(:disabled):hover,.tdie-selected{transform:none}}@media (width<=480px){.home-card,.lobby-card{padding:28px 18px 22px}.title-bang{letter-spacing:4px}.title-sub{letter-spacing:3px;font-size:18px}.home-tagline{font-size:18px}.code-value{letter-spacing:3px;font-size:22px}.lobby-header{flex-direction:column;align-items:stretch}.lobby-count-block{align-items:stretch}.lobby-count{text-align:left}.player-list,.lobby-footer{grid-template-columns:1fr}.lobby-card{padding:28px 18px 22px}.game-pick-list{grid-template-columns:1fr}.rooms-code-row,.room-row{flex-direction:column;align-items:stretch}.room-row-meta{justify-content:space-between}}.game-end-banner{z-index:80;background:var(--gold);color:var(--wood-dark);letter-spacing:1px;border:3px solid var(--gold-dark);box-shadow:var(--pixel-shadow);text-align:center;max-width:min(640px,92vw);animation:pixel-slide .3s steps(3) end;padding:12px 18px;font-family:"Press Start 2P",monospace;font-size:11px;line-height:1.45;position:absolute;top:72px;left:50%;transform:translate(-50%)}.carc-player-off{opacity:.45;border-style:dashed}.carc-off-tag{font-family:Press Start 2P, monospace;color:#c0a878;background:#5a3825;border:1px solid #3d2416;padding:2px 6px;font-size:8px}.ability-abandoned{background:#c435352e!important;border-color:#c43535!important}.theme-generic{--t-bg:#14110e;--t-bg2:#1c1814;--t-ink:#f0e6d4;--t-dim:#b8a888;--t-accent:#d4a017;--t-accent-2:#8b6914;--t-panel:#241c14;--t-line:#4a3820}.theme-bang{--t-bg:#1a0e08;--t-bg2:#2a1810;--t-ink:#f0e0c0;--t-dim:#c0a878;--t-accent:#d4a017;--t-accent-2:#c43535;--t-panel:#3d2416;--t-line:#5a3825}.theme-carc{--t-bg:#121a12;--t-bg2:#1a2418;--t-ink:#f0e6c8;--t-dim:#a8b89a;--t-accent:#c9a227;--t-accent-2:#2d7a4f;--t-panel:#1e281c;--t-line:#3d5238}.game-pick{text-align:left;border:3px solid var(--t-line,var(--border));cursor:pointer;color:var(--text);box-shadow:var(--pixel-shadow-sm);background:#ffffff08;flex-direction:column;gap:5px;padding:14px 14px 14px 18px;transition:border-color .12s steps(2,end),background .12s steps(2,end),transform .12s steps(2,end);display:flex;position:relative;overflow:hidden}.game-pick:hover:not(:disabled){border-color:var(--pick,var(--gold));background:#ffffff0f;transform:translate(-2px,-2px)}.game-pick-on{box-shadow:4px 4px 0 var(--wood-dark), 0 0 0 2px var(--pick,var(--gold));border-color:var(--pick,var(--gold))!important;background:color-mix(in srgb, var(--pick,var(--gold)) 16%, transparent)!important}.game-pick-swatch{background:var(--pick,var(--gold));width:6px;position:absolute;top:0;bottom:0;left:0}.game-pick-bang .game-pick-title{color:#f0c040}.game-pick-carcassonne .game-pick-title{color:#b8e0c8}.game-pick-on .game-pick-title{color:var(--pick,var(--gold-light))}.rooms-bang .home-card,.theme-bang .lobby-card{border-color:var(--t-accent,var(--gold));background:linear-gradient(#2a1810 0%,#1a0e08 100%)}.rooms-carc .home-card,.theme-carc .lobby-card{border-color:var(--t-accent-2,#2d7a4f);background:linear-gradient(#1e281c 0%,#121a12 100%)}.rooms-bang .btn-primary,.theme-bang .btn-primary{background:var(--t-accent,var(--gold));color:var(--t-bg,var(--wood-dark));border-color:var(--t-accent-2,var(--gold-dark))}.rooms-carc .btn-primary,.theme-carc .btn-primary{background:var(--t-accent-2,#2d7a4f);color:var(--t-ink,#f0e6c8);border-color:#1a5c3a}.rooms-bang .title-bang,.theme-bang .title-bang{color:var(--t-accent,var(--gold-light))!important}.rooms-carc .title-bang,.theme-carc .title-bang{color:var(--t-ink,#f0e6c8)!important;text-shadow:3px 3px 0 var(--t-accent-2,#2d7a4f), 6px 6px 0 var(--wood-dark)!important}.theme-bang .field input,.rooms-bang .field input{border-color:var(--t-line,var(--border));background:var(--t-bg,var(--wood-dark))}.theme-carc .field input,.rooms-carc .field input{border-color:var(--t-line,#3d5238);background:var(--t-bg,#121a12);color:var(--t-ink,#f0e6c8)}.theme-carc .field input:focus,.rooms-carc .field input:focus{border-color:var(--t-accent,#c9a227)}.theme-bang :focus-visible,.theme-carc :focus-visible,.home-generic :focus-visible{box-shadow:0 0 0 3px var(--t-accent,var(--gold)), var(--pixel-shadow-sm)}html,body{min-height:100%;overflow-x:hidden;overflow-y:auto!important}.home,.lobby,.rooms-screen{justify-content:flex-start;height:auto;min-height:100vh;max-height:none;padding-top:40px;padding-bottom:56px;overflow-y:auto!important}.home-card,.lobby-card{margin-bottom:8px}.game-screen,.carc-screen{overflow:hidden}@media (width<=700px){.home,.lobby,.rooms-screen{justify-content:flex-start;padding:24px 12px 48px}.home-card,.lobby-card{max-width:100%;padding:24px 16px}}html,body,#root{width:100%;max-width:none;min-height:100%;margin:0;padding:0}.app{flex-direction:column;align-items:stretch;width:100%;max-width:none;min-height:100vh;display:flex}.game-screen,.carc-screen{flex:auto;align-self:stretch;min-width:0;width:100%!important;max-width:none!important;height:100vh!important;margin:0!important}.carc-body{flex-direction:row;flex:auto;width:100%;min-height:0;display:flex}.carc-main{flex:1 1 0;width:auto;min-width:0}.carc-side{flex:0 0 260px;width:260px;max-width:32vw}.carc-top,.carc-board,.carc-viewport{width:100%;max-width:none}.bottom-panel{flex:0 0 220px;width:220px}.game-main{flex:1 1 0;min-width:0}.carc-screen{color:#e8e0c8;background:radial-gradient(at 50% 0,#c9a22714 0%,#0000 45%),linear-gradient(#1c2618 0%,#141c14 35%,#0c120c 100%)!important}.carc-top{box-shadow:0 4px #0c120c,0 8px 24px #00000073;background:linear-gradient(#3a4a32 0%,#2a3628 55%,#1e281c 100%)!important;border-bottom:4px solid #c9a227!important;padding:12px 18px 10px!important}.carc-top-row{gap:14px!important}.carc-turn-label{letter-spacing:.08em;text-transform:uppercase;color:#c4b896!important;font-size:14px!important}.carc-turn-name{color:#f5ecd0!important;text-shadow:2px 2px #0c120c!important;font-size:14px!important}.carc-cta{color:#1a2418!important;letter-spacing:.12em!important;background:linear-gradient(#e0b83a 0%,#c9a227 100%)!important;border:3px solid #8a7018!important;box-shadow:3px 3px #0c120c!important}.carc-phase{box-shadow:2px 2px #0c120c;color:#e0d4a8!important;letter-spacing:.04em!important;text-transform:none!important;background:#2a3628!important;border:2px solid #5a7048!important;padding:6px 14px!important;font-family:VT323,monospace!important;font-size:18px!important}.carc-deck{box-shadow:2px 2px #0c120c;color:#f0e0a0!important;background:#1a2418!important;border:2px solid #c9a227!important}.carc-zoom .btn-icon{color:#e0d4a8;background:#2a3628;border-color:#5a7048}.carc-players{gap:10px!important}.carc-player{border-radius:2px;box-shadow:2px 2px #0c120c;background:linear-gradient(#2a3628 0%,#1e281c 100%)!important;border:2px solid #5a7048!important;padding:7px 12px!important}.carc-player-name{color:#f5ecd0!important;font-size:11px!important}.carc-player-stat{color:#b8c4a8!important;font-size:16px!important}.carc-main{border-right:3px solid #2a3628;background:0 0!important}.carc-viewport{background:0 0!important}.carc-cell-empty{background:#ffffff04!important;border-color:#c9a2271f!important}.carc-cell-on{box-shadow:0 2px #0c120c;background:#2a2418!important;border:2px solid #8a7018!important}.carc-cell-legal{background:#c9a2271a!important;border-color:#c9a2278c!important}.carc-cell-hover{box-shadow:0 0 0 3px #c9a227,0 4px #0c120c!important}.carc-side{color:#e8dcc0;box-shadow:-6px 0 20px #00000059;background:linear-gradient(#2e2418 0%,#241c12 40%,#1a140c 100%)!important;border-left:4px solid #5a4020!important}.carc-side .actions-row{background:linear-gradient(#3a2c1c 0%,#2a2014 100%)!important;border-bottom:3px solid #5a4020!important;padding:14px!important}.carc-side .log-bar{border-top:1px solid #3a2c1c;background:#1c1610!important}.carc-side .log-chip{box-shadow:1px 1px #0c120c;color:#d0c4a0!important;background:#c9a2270f!important;border-color:#4a3820!important}.carc-side .hint-text{color:#b8a888!important;font-size:16px!important}.carc-current{box-shadow:3px 3px #0c120c;background:linear-gradient(#3a2c1c 0%,#2a2014 100%)!important;border:3px solid #8a7018!important;padding:12px!important}.carc-current-art{padding:4px;line-height:0;box-shadow:2px 2px #0c120c;background:#1a140c!important;border:3px solid #5a4020!important}.carc-preview-places{border-top-color:#5a4020!important}.carc-preview-places li{color:#e0d4b0!important;background:#c9a22714!important;border-left-color:#c9a227!important}.carc-screen .btn-primary,.carc-side .btn-primary,.carc-deploy .btn-primary{text-transform:uppercase;letter-spacing:.08em;color:#f0e6c8!important;background:linear-gradient(#3d8a55 0%,#2d6a40 100%)!important;border:3px solid #1a4a28!important;box-shadow:3px 3px #0c120c!important}.carc-screen .btn-primary:hover:not(:disabled){background:linear-gradient(#4a9a62 0%,#358050 100%)!important}.carc-screen .btn-secondary{color:#f0e0b0!important;background:linear-gradient(#5a4020 0%,#3a2814 100%)!important;border:3px solid #2a1c0c!important;box-shadow:3px 3px #0c120c!important}.carc-screen .btn-ghost{color:#c8b898!important;background:0 0!important;border:2px solid #6a5840!important}.carc-deploy{box-shadow:3px 3px #0c120c;background:linear-gradient(#3a2c1c 0%,#2a2014 100%)!important;border:3px solid #8a7018!important}.carc-deploy-btn{text-align:left!important;letter-spacing:.02em!important;background:linear-gradient(#3d8a55 0%,#2d6a40 100%)!important;border-color:#1a4a28!important;font-family:VT323,monospace!important;font-size:18px!important}.carc-tile-modal{background:linear-gradient(#2e2418 0%,#1c1610 100%)!important;border:4px solid #c9a227!important;box-shadow:6px 6px #0c120c,0 0 40px #c9a22733!important}.carc-tile-modal h2{border-bottom:2px solid #5a4020;padding-bottom:10px;color:#f5ecd0!important}.carc-seg{box-shadow:2px 2px #0c120c;background:#c9a2270f!important;border-color:#5a4020!important}.carc-seg-occupied{background:#c9a2271f!important;border-color:#c9a227!important}.carc-meeple{border-radius:2px 2px 4px 4px;box-shadow:1px 1px #0c120c;border:2px solid #0c120c!important}.lobby-carc,.carc-screen{background:linear-gradient(#0c120c8c 0%,#0c120cb8 100%),url(/assets/carcassonne/board-bg.png) 50%/cover no-repeat!important}.lobby-carc{min-height:100vh}.carc-lobby-brand{flex-direction:column;align-items:center;gap:12px;width:min(720px,100%);display:flex}.carc-lobby-title{image-rendering:auto;filter:drop-shadow(0 6px 18px #00000073);width:min(560px,92vw);height:auto}.carc-lobby-brand .home-tagline{color:#d8e0c8;margin-top:0}.rooms-carc{background:linear-gradient(#0c120c8c 0%,#0c120cb8 100%),url(/assets/carcassonne/board-bg.png) 50%/cover no-repeat!important}.carc-screen .carc-top{background:linear-gradient(#3a4a32eb 0%,#1e281cf0 100%)!important}.carc-screen .carc-side{background:linear-gradient(#2e2418f0 0%,#1a140cf5 100%)!important}.carc-screen .carc-cell-empty{background:#0000001f!important}.carc-screen .carc-main,.carc-screen .carc-viewport{background:0 0!important}.carc-screen .carc-cell-empty{background:0 0!important;border-color:#0000!important}.carc-screen .carc-cell-legal{box-shadow:0 0 12px #c9a22740;background:#c9a2272e!important;border:2px solid #c9a227!important}.carc-current{gap:12px!important;padding:16px!important}.carc-current-head{justify-content:space-between;align-items:baseline;width:100%;display:flex}.carc-current-label{letter-spacing:.08em;text-transform:uppercase;color:#c9a227;font-family:"Press Start 2P",monospace;font-size:10px}.carc-current-rot{color:#f0e0a0;font-family:"Press Start 2P",monospace;font-size:11px}.carc-current-art{box-shadow:3px 3px #0c120c;background:#1a140c!important;border:3px solid #8a7018!important;padding:8px!important}.carc-current-actions{gap:8px;width:100%;display:flex}.carc-current-actions .btn{flex:1}.carc-status{color:#e0d4a8;text-align:center;margin:0;font-family:VT323,monospace;font-size:18px;line-height:1.3}.carc-preview-places{text-align:left;width:100%}.carc-preview-places ul{margin-top:6px}.carc-preview-places li{line-height:1.25;padding:6px 8px!important;font-family:VT323,monospace!important;font-size:16px!important}.carc-modal-art{background:#1a140c;border:3px solid #8a7018;justify-content:center;margin:8px 0 16px;padding:10px;display:flex;box-shadow:3px 3px #0c120c}html,body{letter-spacing:0;-webkit-font-smoothing:antialiased!important;text-rendering:optimizelegibility!important;font-family:Oswald,Cinzel,sans-serif!important}.home,.lobby,.rooms-screen,.carc-screen,.carc-side,.carc-top{font-family:Oswald,Cinzel,sans-serif!important}.home-card,.lobby-card,.rooms-card{background:#1c1812eb!important;border:1px solid #ffffff1a!important;border-radius:16px!important;box-shadow:0 24px 48px #00000059!important}.btn{letter-spacing:.02em!important;text-transform:none!important;border-radius:10px!important;font-family:Oswald,Cinzel,sans-serif!important;font-weight:600!important;transition:transform .15s,box-shadow .15s,background .15s!important;box-shadow:0 2px #00000040!important}.btn:not(:disabled):hover{transform:translateY(-2px)!important;box-shadow:0 6px 16px #0000004d!important}.btn:not(:disabled):active{transform:translateY(0)!important}.field input{border:1px solid #ffffff24!important;border-radius:10px!important;font-family:Oswald,Cinzel,sans-serif!important}.game-pick{border:1px solid #ffffff1f!important;border-radius:14px!important;box-shadow:0 8px 24px #0003!important}.game-pick-swatch{width:8px;border-radius:14px 0 0 14px!important}.title-bang{letter-spacing:-.03em!important;text-shadow:none!important;color:#f5ecd0!important;font-family:Oswald,Cinzel,sans-serif!important;font-weight:800!important}.title-sub,.home-tagline,.hint-text,.room-host,.rooms-empty,.lobby-hint{font-family:Oswald,Cinzel,sans-serif!important}.game-screen:not(.carc-screen){font-family:VT323,"Press Start 2P",monospace!important}.game-screen:not(.carc-screen) .btn,.game-screen:not(.carc-screen) .btn *{box-shadow:var(--pixel-shadow)!important;text-transform:uppercase!important;letter-spacing:1px!important;border-radius:0!important;font-family:"Press Start 2P",monospace!important}.game-screen:not(.carc-screen) .topbar,.game-screen:not(.carc-screen) .bottom-panel,.game-screen:not(.carc-screen) .seat-card{box-shadow:var(--pixel-shadow-sm)!important;border-radius:0!important;font-family:VT323,monospace!important}.game-screen:not(.carc-screen) .seat-name,.game-screen:not(.carc-screen) .turn-player,.game-screen:not(.carc-screen) .badge-your-turn,.game-screen:not(.carc-screen) .phase-name{border-radius:0!important;font-family:"Press Start 2P",monospace!important}.game-screen:not(.carc-screen) .seat-card,.game-screen:not(.carc-screen) .table-die,.game-screen:not(.carc-screen) .btn{border-radius:0!important}.carc-screen{font-family:Oswald,Cinzel,sans-serif!important}.carc-top{background:#141c14e0!important;border-bottom:1px solid #c9a22759!important;box-shadow:0 8px 24px #00000040!important}.carc-player{background:#1e281ebf!important;border:1px solid #ffffff1a!important;border-radius:10px!important;box-shadow:0 2px 8px #00000026!important}.carc-player-turn{border-color:#c9a227!important;box-shadow:0 0 0 1px #c9a22766,0 4px 12px #c9a22733!important}.carc-side{background:#181610e6!important;border-left:1px solid #ffffff14!important;box-shadow:-8px 0 24px #0003!important}.carc-current,.carc-deploy,.carc-tile-modal{background:#242016f2!important;border:1px solid #c9a22759!important;border-radius:14px!important;box-shadow:0 12px 32px #0000004d!important}.carc-current-art,.carc-modal-art{box-shadow:none!important;border:1px solid #c9a2274d!important;border-radius:10px!important}.carc-cell-on{border:1px solid #c9a22759!important;border-radius:4px!important;box-shadow:0 2px 8px #0003!important}.carc-cell-legal{background:#c9a2271f!important;border:2px solid #c9a227b3!important;border-radius:6px!important}.carc-screen .btn-primary{text-transform:none!important;letter-spacing:.02em!important;background:linear-gradient(#3d9a5c 0%,#2d7a45 100%)!important;border:none!important;border-radius:10px!important;font-family:Oswald,sans-serif!important;font-weight:600!important;box-shadow:0 4px 14px #2d7a4559!important}.carc-screen .btn-secondary{box-shadow:none!important;text-transform:none!important;background:#ffffff14!important;border:1px solid #ffffff24!important;border-radius:10px!important;font-family:Oswald,sans-serif!important;font-weight:600!important}.carc-status,.carc-preview-places li,.carc-seg{border-radius:8px!important;font-family:Oswald,Cinzel,sans-serif!important}.carc-lobby-title{filter:drop-shadow(0 8px 24px #00000059)}.rooms-list .room-row,.player-item{box-shadow:none!important;background:#ffffff0a!important;border:1px solid #ffffff1a!important;border-radius:12px!important}.room-code-chip,.player-name,.badge{border-radius:8px!important;font-family:Oswald,Cinzel,sans-serif!important}.rooms-list-head,.game-pick-label{letter-spacing:.04em!important;font-family:Oswald,Cinzel,sans-serif!important}.home,.lobby,.rooms-screen,.home *,.lobby *,.rooms-screen *,.carc-screen,.carc-screen *{-webkit-font-smoothing:antialiased!important;image-rendering:auto!important;font-family:Oswald,Cinzel,sans-serif!important}.home-card,.lobby-card,.rooms-card,.game-pick,.room-row,.player-item,.carc-current,.carc-deploy,.carc-tile-modal,.carc-player,.carc-seg{border-radius:14px!important}.btn{text-transform:none!important;letter-spacing:.01em!important;border-radius:10px!important;font-family:Oswald,Cinzel,sans-serif!important;font-weight:600!important}.field input,.room-code-chip,.badge,.bot-badge{border-radius:10px!important;font-family:Oswald,Cinzel,sans-serif!important}.title-bang{letter-spacing:-.02em!important;text-shadow:none!important;font-family:Oswald,Cinzel,sans-serif!important;font-weight:800!important}.carc-screen .btn,.carc-screen .hint-text,.carc-screen .carc-status,.carc-screen .carc-player-name,.carc-screen .carc-player-stat,.carc-screen .carc-current-label,.carc-screen .carc-current-rot{text-transform:none!important;letter-spacing:0!important;border-radius:10px!important;font-family:Oswald,Cinzel,sans-serif!important}.game-screen:not(.carc-screen),.game-screen:not(.carc-screen) *{image-rendering:pixelated}.game-screen:not(.carc-screen) .btn,.game-screen:not(.carc-screen) .seat-name,.game-screen:not(.carc-screen) .turn-player,.game-screen:not(.carc-screen) .badge-your-turn,.game-screen:not(.carc-screen) .phase-name,.game-screen:not(.carc-screen) .phase-step{text-transform:uppercase!important;border-radius:0!important;font-family:"Press Start 2P",monospace!important}.game-screen:not(.carc-screen) .topbar,.game-screen:not(.carc-screen) .bottom-panel,.game-screen:not(.carc-screen) .seat-card,.game-screen:not(.carc-screen) .table-die,.game-screen:not(.carc-screen) .log-chip{border-radius:0!important;font-family:VT323,monospace!important}.home,.home *,.lobby,.lobby *,.rooms-screen,.rooms-screen *,.carc-screen,.carc-screen *,.btn,.field input,.home-card,.lobby-card,.rooms-card,.game-pick,.room-row,.player-item,.room-code-chip,.badge,.carc-current,.carc-deploy,.carc-tile-modal,.carc-player,.carc-seg,.carc-cell,.carc-cell-on,.carc-cell-legal,.carc-current-art,.carc-modal-art,.carc-side,.carc-top,.modal-card,.role-dist,.carc-lobby-info,.carc-meeple{border-radius:0!important}body{font-family:Oswald,Cinzel,sans-serif!important}.title-bang,.game-pick-title,.carc-player-name,.rooms-list-head,.carc-current-label,.carc-turn-name,.carc-cta,.carc-phase{letter-spacing:.06em!important;font-family:Cinzel,Oswald,serif!important;font-weight:700!important}.btn{letter-spacing:.08em!important;text-transform:uppercase!important;border-radius:0!important;font-family:Oswald,sans-serif!important;font-weight:600!important}.field input{border-radius:0!important;font-family:Oswald,sans-serif!important}.game-screen:not(.carc-screen) .btn,.game-screen:not(.carc-screen) .seat-name,.game-screen:not(.carc-screen) .turn-player,.game-screen:not(.carc-screen) .badge-your-turn,.game-screen:not(.carc-screen) .phase-name,.game-screen:not(.carc-screen) .phase-step{border-radius:0!important;font-family:"Press Start 2P",monospace!important}.carc-deploy-btn,.carc-deploy .btn,.carc-deploy .btn *,.carc-side .btn,.carc-side .btn *,.actions-row .btn,.actions-row .btn *{border-radius:0!important}.carc-players{flex-wrap:wrap;width:100%;gap:10px!important;display:flex!important}.carc-player{flex:220px;justify-content:space-between;align-items:center;gap:16px;min-width:220px;max-width:340px;background:linear-gradient(#283426eb 0%,#1c261ceb 100%)!important;border:1px solid #ffffff1f!important;border-radius:0!important;padding:10px 12px!important;display:flex!important;box-shadow:0 2px #00000040!important}.carc-player-turn{background:linear-gradient(#465430f2 0%,#303e24f2 100%)!important;border-color:#c9a227!important;box-shadow:0 0 0 1px #c9a227,0 4px 16px #c9a22740!important}.carc-player-me{border-color:#ffffff38!important}.carc-player-left{align-items:center;gap:10px;min-width:0;display:flex}.carc-player-id{min-width:0}.carc-player-name{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-weight:700;display:flex;overflow:hidden;color:#f5ecd0!important;font-family:Cinzel,serif!important;font-size:13px!important}.carc-player-rank{color:#a8b89a;letter-spacing:.04em;text-transform:uppercase;font-family:Oswald,sans-serif!important;font-size:12px!important}.carc-you,.carc-bot,.carc-off-tag{text-transform:uppercase;letter-spacing:.06em;color:#e0d4a8;background:#00000040;border:1px solid #ffffff26;padding:2px 6px;font-family:Oswald,sans-serif!important;font-size:10px!important}.carc-you{color:#1a2418;background:#c9a227;border-color:#8a7018}.carc-bot{background:#ffffff14}.carc-player-stats{flex-shrink:0;gap:12px;display:flex}.carc-stat{flex-direction:column;align-items:center;min-width:42px;display:flex}.carc-stat-val{color:#f0e0a0;font-weight:700;line-height:1.1;font-family:Cinzel,serif!important;font-size:18px!important}.carc-stat-lbl{letter-spacing:.08em;text-transform:uppercase;color:#8a9a80;font-family:Oswald,sans-serif!important;font-size:10px!important}.carc-meeple-dot{flex-shrink:0;border:2px solid #0006!important;border-radius:0!important;width:14px!important;height:14px!important}.carc-screen,.carc-screen *,.carc-screen :before,.carc-screen :after{font-family:Oswald,Cinzel,sans-serif!important}.carc-screen .title-bang,.carc-screen h1,.carc-screen h2,.carc-screen h3,.carc-screen .carc-player-name,.carc-screen .carc-stat-val,.carc-screen .carc-turn-name,.carc-screen .carc-cta,.carc-screen .carc-phase,.carc-screen .carc-current-label,.carc-screen .carc-current-rot,.carc-screen .game-pick-title,.carc-tile-modal h2,.carc-tile-modal .carc-seg-head strong{font-family:Cinzel,Oswald,serif!important}.carc-screen .btn,.carc-screen .btn *,.carc-screen .hint-text,.carc-screen .carc-status,.carc-screen .carc-player-rank,.carc-screen .carc-stat-lbl,.carc-screen .carc-seg,.carc-screen .log-chip,.carc-tile-modal *,.carc-screen,.carc-screen *,.carc-screen :before,.carc-screen :after{font-family:Oswald,Cinzel,sans-serif!important}.carc-screen .carc-cta,.carc-screen .carc-phase,.carc-screen .carc-turn-label,.carc-screen .carc-turn-name,.carc-screen .carc-player-name,.carc-screen .carc-stat-val,.carc-screen .carc-current-label,.carc-screen .carc-current-rot,.carc-screen .carc-you,.carc-screen .carc-bot,.carc-screen .carc-off-tag,.carc-screen .btn,.carc-screen .btn-icon,.carc-screen .carc-deck,.carc-screen .carc-deck strong,.carc-screen .modal-close,.carc-tile-modal h2{letter-spacing:.06em!important;font-family:Oswald,sans-serif!important;font-weight:600!important}.carc-screen .carc-stat-val,.carc-screen .carc-turn-name,.carc-screen .carc-player-name{font-family:Cinzel,serif!important;font-weight:700!important}.carc-top,.carc-top *,.carc-top :before,.carc-top :after,.carc-players,.carc-players *,.carc-player *,.carc-player-name,.carc-player-rank,.carc-stat-val,.carc-stat-lbl,.carc-cta,.carc-phase,.carc-turn-label,.carc-turn-name,.carc-you,.carc-bot,.carc-off-tag{font-family:Oswald,sans-serif!important;font-weight:500!important}.carc-player-name,.carc-stat-val,.carc-cta,.carc-turn-name{font-weight:600!important}html body .carc-screen .carc-top,html body .carc-screen .carc-top *,html body .carc-screen .carc-top :before,html body .carc-screen .carc-top :after,html body .carc-screen .carc-players,html body .carc-screen .carc-players *,html body .carc-screen .carc-player,html body .carc-screen .carc-player *,html body .carc-screen .carc-player-name,html body .carc-screen .carc-player-rank,html body .carc-screen .carc-stat-val,html body .carc-screen .carc-stat-lbl,html body .carc-screen .carc-cta,html body .carc-screen .carc-phase,html body .carc-screen .carc-turn-label,html body .carc-screen .carc-turn-name,html body .carc-screen .carc-you,html body .carc-screen .carc-bot,html body .carc-screen .carc-off-tag,html body .carc-screen .carc-deck,html body .carc-screen .carc-deck *{font-family:Oswald,sans-serif!important}.carc-place-popup{z-index:50;background:#1c2018f5;border:1px solid #c9a22773;flex-direction:column;gap:12px;width:min(320px,100vw - 32px);padding:18px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 16px 40px #0006;border-radius:0!important;font-family:Oswald,sans-serif!important}.carc-place-head{justify-content:space-between;align-items:baseline;display:flex}.carc-place-art{background:#00000040;border:1px solid #c9a22740;justify-content:center;padding:12px;display:flex;border-radius:0!important}.carc-place-actions{gap:8px;display:flex}.carc-place-actions .btn{flex:1;border-radius:0!important;font-family:Oswald,sans-serif!important}.carc-place-popup .carc-preview-places li{border-radius:0!important}.carc-modal-blur{z-index:60;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080c08b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.carc-stack-modal,.carc-action-modal{text-align:center;background:#1c2018fa;border:1px solid #c9a22780;width:min(520px,100%);padding:28px;box-shadow:0 24px 64px #00000080;border-radius:0!important;font-family:Oswald,sans-serif!important}.carc-stack-modal h2,.carc-action-modal h2{color:#f5ecd0;letter-spacing:.06em;margin-bottom:8px;font-family:Cinzel,serif!important}.carc-stacks{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:18px;display:flex}.carc-stack{cursor:pointer;color:#e8dcc0;background:#ffffff0a;border:1px solid #c9a22759;flex-direction:column;align-items:center;gap:8px;width:110px;padding:14px 10px;display:flex;border-radius:0!important;font-family:Oswald,sans-serif!important}.carc-stack:hover:not(:disabled){background:#c9a2271f;border-color:#c9a227}.carc-stack:disabled{opacity:.35;cursor:not-allowed}.carc-stack-back{background:linear-gradient(135deg,#3a2c1c 0%,#2a2014 100%);border:2px solid #8a7018;width:56px;height:72px;box-shadow:3px 3px #0c120c}.carc-stack-count{color:#f0e0a0;font-size:20px;font-weight:700;font-family:Cinzel,serif!important}.carc-stack-label{letter-spacing:.08em;text-transform:uppercase;color:#a8b89a;font-size:12px;font-family:Oswald,sans-serif!important}.carc-hand-tile{cursor:pointer;color:#e8dcc0;text-align:left;background:#c9a2271a;border:1px solid #c9a22766;align-items:center;gap:10px;width:100%;padding:10px;display:flex;border-radius:0!important;font-family:Oswald,sans-serif!important}.carc-action-modal .carc-deploy-opts{flex-direction:column;gap:8px;margin-top:16px;display:flex}.carc-action-modal .carc-deploy-btn{border-radius:0!important;font-family:Oswald,sans-serif!important}.lobby-invite{background:#ffffff0a;border:1px solid #ffffff1f;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 18px;padding:10px 12px;display:flex}.lobby-invite-url{color:#c0b090;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-family:Oswald,sans-serif;font-size:14px;overflow:hidden}.auth-bar{z-index:20;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex;position:absolute;top:16px;right:16px}.auth-user{color:#f0e0a0;background:#00000040;border:1px solid #c9a22759;padding:6px 10px;font-family:Cinzel,serif;font-weight:700}.auth-form{background:#14100ceb;border:1px solid #ffffff1f;flex-wrap:wrap;align-items:center;gap:6px;padding:8px;display:flex}.auth-form input{color:#f0e6d4;background:#ffffff0f;border:1px solid #ffffff29;width:110px;padding:8px 10px;font-family:Oswald,sans-serif;border-radius:0!important}.auth-msg{color:#e04545;font-family:Oswald,sans-serif;font-size:13px}.auth-history{text-align:left;max-width:420px;font-family:Oswald,sans-serif}.auth-history ul{flex-direction:column;gap:6px;max-height:280px;margin:12px 0 18px;list-style:none;display:flex;overflow-y:auto}.auth-history li{background:#ffffff0a;border:1px solid #ffffff1a;padding:8px 10px;font-size:15px;border-radius:0!important}.auth-stats{color:#c0b090;margin:8px 0 0}.auth-form{flex-direction:column;align-items:stretch;min-width:240px}.auth-form input{width:100%}.auth-rules{color:#8a7a60;text-align:left;grid-template-columns:1fr 1fr;gap:4px 10px;margin:4px 0 0;font-family:Oswald,sans-serif;font-size:12px;list-style:none;display:grid}.auth-rules li.ok{color:#6fcf7c}.auth-rules li.ok:before{content:"✓ "}.auth-rules li:before{content:"○ "}
