:root{--color-laborer:#f0c040;--color-craftsman:#40d080;--color-architect:#90b0c0;--color-legionary:#f05040;--color-patron:#c060e0;--color-merchant:#40b0f0;--color-jack:#0a1a24;--bg-color:#020b10;--bg-surface:#061520;--bg-elevated:#091d2c;--text-color:#9edbf0;--text-muted:#3a7a96;--border-color:#1a3a50;--accent:#00cfff;--card-w:130px;--card-h:177px;--card-w-sm:65px;--card-h-sm:91px;--mono:"Courier New", "Lucida Console", "Consolas", monospace;--gold:gold;--glow:0 0 8px #00b4e68c, 0 0 2px #00d2ff4d;--glow-strong:0 0 14px #00c8ffb3, 0 0 4px #00dcff66}*{box-sizing:border-box}body{background:var(--bg-color);color:var(--text-color);font-family:var(--mono);-webkit-font-smoothing:antialiased;text-shadow:var(--glow);margin:0;overflow:hidden}body:after{content:"";pointer-events:none;z-index:999999;background:repeating-linear-gradient(#0000 0 3px,#0000002e 3px 4px);position:fixed;inset:0}body:has(.board-root):after{display:none}#root{width:100vw;height:100vh}h1,h2,h3,h4{text-transform:uppercase;letter-spacing:1px;text-shadow:var(--glow-strong);margin:0 0 6px;font-weight:800}button{color:var(--text-color);font-family:var(--mono);text-transform:uppercase;cursor:pointer;text-shadow:var(--glow);background:#00b4e614;border:1px solid #00b4e64d;border-radius:4px;padding:6px 12px;font-size:.7rem;font-weight:600;transition:all .12s}button:hover{border-color:var(--accent);color:#fff;text-shadow:var(--glow-strong);background:#00cfff2e;box-shadow:0 0 10px #00cfff40}button:disabled{opacity:.25;cursor:not-allowed;background:0 0}.board-root{--bg-color:#1a1a2e;--bg-surface:#16213e;--bg-elevated:#0f3460;--text-color:#e0e0e0;--text-muted:#888;--border-color:#2a2a4a;--accent:#e94560;text-shadow:none;font-family:Inter,system-ui,-apple-system,sans-serif}.board-root *,.board-root :before,.board-root :after{text-shadow:none;font-family:inherit}.board-root button{background:#ffffff14;border:1px solid #ffffff26}.board-root button:hover{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:none}.board-root{background:var(--bg-color);grid-template-rows:auto 1fr;grid-template-columns:280px 1fr 320px;height:100vh;display:grid;overflow:hidden}.turn-banner{text-align:center;letter-spacing:1px;z-index:10;border-radius:999px;grid-column:1/-1;justify-self:center;margin-top:8px;padding:5px 18px;font-weight:700}.turn-banner--active{color:#ffd0d9;text-transform:uppercase;background:#e945602e;border:1px solid #e94560b3;font-size:.8rem;animation:2s ease-in-out infinite turn-banner-pulse}.turn-banner--idle{border:1px solid var(--border-color);color:var(--text-muted);letter-spacing:2px;text-transform:uppercase;background:#ffffff08;font-size:.65rem;font-weight:600}@keyframes turn-banner-pulse{0%,to{box-shadow:0 0 4px 1px #e9456059}50%{box-shadow:0 0 12px 4px #e9456099}}.left-pane{background:var(--bg-surface);border-right:2px solid var(--border-color);flex-direction:column;justify-content:space-between;height:100%;display:flex}.focus-pane{flex-direction:column;flex:1;align-items:center;gap:12px;margin-top:60px;padding:16px;display:flex;overflow-y:auto}.focus-pane-title{text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);font-size:.65rem;font-weight:800}.focus-card-img{border-radius:8px;width:100%;max-width:220px;box-shadow:0 8px 32px #00000080}.focus-card-name{text-align:center;text-transform:uppercase;letter-spacing:1px;font-size:1rem;font-weight:900}.focus-card-detail{color:var(--text-muted);text-align:center;font-size:.75rem}.focus-card-effect{color:#ccc;text-align:center;padding:0 8px;font-size:.7rem;font-style:italic;line-height:1.4}.focus-empty{color:var(--text-muted);text-align:center;margin-top:60px;font-size:.7rem;font-style:italic}.right-pane{background:var(--bg-surface);border-left:2px solid var(--border-color);flex-direction:column;height:100%;display:flex;overflow:hidden}.action-log-pane{border-top:1px solid var(--border-color);flex-direction:column;flex:1;gap:8px;min-height:0;padding:12px 16px;display:flex;overflow-y:auto}.action-log-pane h3{color:var(--text-muted);letter-spacing:2px;margin-bottom:12px;font-size:.7rem}.log-entries{flex-direction:column;gap:6px;display:flex}.log-entry{border-bottom:1px solid #ffffff08;gap:8px;padding:4px 0;font-size:.65rem;display:flex}.log-player{min-width:20px;font-weight:800}.log-msg{color:#ccc}.log-placeholder{color:var(--text-muted);font-size:.65rem;font-style:italic}.color-p0{color:#2196f3}.color-p1{color:#4caf50}.color-p2{color:#ffc107}.color-p3{color:#f44336}.center-board{flex-direction:column;height:100%;display:flex;overflow:hidden}.opponents-section{flex:1;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:.75rem;width:100%;min-height:0;padding:8px;display:grid;overflow:hidden}.opponent-arc-slot{justify-content:center;align-items:center;width:100%;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.opponent-arc-slot .camp-buildings-side,.opponent-arc-slot .camp-stockpile-side,.opponent-arc-slot .camp-buildings-list{overflow:hidden}.top-row{flex-shrink:0;grid-template-columns:1fr 1fr;gap:16px;padding:16px 24px;display:grid}.opponent-camps{flex-wrap:wrap;justify-content:center;gap:12px;padding-bottom:0;display:flex}.opponent-camp-wrapper{transform-origin:top;flex-shrink:0;justify-content:center;width:600px;height:307px;display:flex;transform:scale(.65)}.opponent-slot,.middle-side-slot{justify-content:center;align-items:flex-start;min-width:0;display:flex}.side-scale{height:270px!important;transform:scale(.55)!important}.middle-row{flex-shrink:0;grid-template-columns:1fr 1fr;align-items:center;gap:20px;padding:4px 20px;display:grid}.town-center-mat{border:4px solid var(--border-color);background:radial-gradient(circle,#1a2a4f 0%,#0f172a 100%);border-radius:20px;grid-template-columns:1fr;align-items:stretch;gap:20px;width:100%;max-width:650px;padding:20px;display:grid;box-shadow:0 12px 48px #00000080,inset 0 0 40px #0000004d}.right-supply-section{border-bottom:1px solid var(--border-color);background:#ffffff08;flex-direction:column;flex-shrink:0;gap:12px;padding:12px 16px;display:flex}.supply-jacks-deck{justify-content:space-around;gap:8px;display:flex}.deck-group{flex-direction:column;align-items:center;gap:4px;display:flex}.supply-label{text-transform:uppercase;color:var(--text-muted);font-size:.55rem;font-weight:800}.supply-card{width:50px!important;height:70px!important}.town-sites-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.town-site-slot{flex-direction:column;align-items:center;gap:2px;display:flex}.supply-site-card{width:45px!important;height:63px!important}.site-count-label{color:#fff;background:#0006;border-radius:3px;padding:1px 4px;font-size:.6rem;font-weight:900}.active-role-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff05;border:1px solid #ffffff0d;border-radius:12px;flex-direction:column;align-items:center;padding:12px;display:flex}.active-role-header h3{text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);text-align:center;margin:0 0 20px;font-size:.75rem}.active-cards-display{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.active-card-wrapper{flex-direction:column;align-items:center;gap:8px;display:flex}.active-leader-card{box-shadow:var(--shadow-lg);width:var(--card-w-sm)!important;height:var(--card-h-sm)!important}.active-card-owner{background:var(--primary-color);color:#000;border-radius:6px;padding:3px 8px;font-size:.65rem;font-weight:800;box-shadow:0 2px 4px #0003}.no-active-cards{color:var(--text-muted);text-align:center;padding:20px;font-size:.75rem;font-style:italic}.role-text{margin-top:8px;padding:0 4px;font-size:1.2rem;font-weight:900;display:block}.action-prompts-container{border-top:1px solid var(--border-color);background:var(--bg-elevated);padding:16px}.status-header{text-align:center;margin-bottom:12px}.status-header h3{color:var(--text-color);margin:0;font-size:.8rem}.status-header h4{color:var(--text-muted);margin:4px 0 0;font-size:.7rem}.action-prompts{flex-direction:column;gap:12px;display:flex}.action-prompt-box{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:6px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 16px;display:flex}.action-prompt-box h4{color:var(--accent);margin:0;font-size:.7rem}.action-prompt-box.danger{border-color:var(--color-legionary)}.action-prompt-box.danger h4{color:var(--color-legionary)}.pool-section{flex-direction:column;display:flex}.right-pool{border-bottom:1px solid var(--border-color);flex-direction:column;flex:1;min-height:0;padding:8px 12px;display:flex}.right-pool .pool-grid{flex:1;grid-template-columns:repeat(3,1fr);align-content:start;gap:6px;max-width:none;margin:0}.pool-info{justify-content:center;align-items:center;margin-bottom:12px;display:flex}.pool-info h3{color:#a0aec0;letter-spacing:2px;text-align:center;margin:0;font-size:.85rem}.pool-grid{grid-template-columns:repeat(6,1fr);justify-content:center;gap:12px;max-width:500px;margin:0 auto;padding:8px;display:grid}.pool-column{flex-direction:column;align-items:center;min-width:65px;display:flex}.pool-column.empty{opacity:.3}.pool-empty-slot{width:var(--card-w-sm);height:var(--card-h-sm);border:1px dashed #ffffff1a;border-radius:4px;position:relative}.pool-empty-slot:after{content:attr(data-role);text-transform:uppercase;color:#fff3;justify-content:center;align-items:center;font-size:.45rem;display:flex;position:absolute;inset:0;transform:rotate(-45deg)}.pool-stack{flex-direction:column;align-items:center;display:flex}.tucked-pool-card{margin-top:-76px;transition:transform .2s;width:var(--card-w-sm)!important;height:var(--card-h-sm)!important}.tucked-pool-card:first-child{margin-top:0}.tucked-pool-card:hover{z-index:50}.no-interact{pointer-events:none}.no-interact:hover{z-index:auto!important;transform:none!important}.end-game-section{border-top:1px solid var(--border-color);background:var(--bg-elevated);flex-direction:column;gap:16px;padding:16px;display:flex}.end-game-title{color:var(--text-muted);letter-spacing:2px;text-align:center;margin-bottom:8px;font-size:.7rem}.deck-container{flex-direction:column;align-items:center;display:flex}.deck-count{color:var(--text-color);font-size:.65rem;font-weight:700}.visual-sites-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px;display:grid}.visual-site-column{flex-direction:column;align-items:center;gap:8px;display:flex}.site-stack{flex-direction:column;align-items:center;display:flex}.tucked-site{margin-top:-76px;width:var(--card-w-sm)!important;height:var(--card-h-sm)!important}.tucked-site:first-child{margin-top:0}.my-area{border-top:2px solid var(--border-color);background:var(--bg-surface);z-index:100;flex-direction:column;flex:none;padding-top:4px;display:flex;overflow:hidden}.my-camp-row{padding:12px 20px}.hand-bar{border-top:1px solid var(--border-color);background:var(--bg-elevated);flex-direction:column;flex-shrink:0;padding:10px 20px;display:flex}.hand-header{justify-content:flex-end;align-items:center;margin-bottom:8px;display:flex}.hand-header h3{color:var(--text-muted);letter-spacing:2px;margin:0;font-size:.7rem}.hand-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.hand-cards{justify-content:flex-start;align-items:flex-end;height:225px;padding:35px 40px 10px;scroll-padding:0 40px;display:flex;overflow:auto hidden}.hand-cards .gtr-card{flex-shrink:0;margin-left:-20px;transition:all .2s ease-out;position:relative;box-shadow:-2px 0 8px #0000004d}.hand-cards .gtr-card:first-child{margin-left:0}.hand-cards .gtr-card:hover{margin-right:10px;transform:translateY(-15px)scale(1.03);box-shadow:0 8px 16px #00000080;z-index:500!important}.hand-cards .gtr-card.card-selected{z-index:100;box-shadow:0 0 10px var(--gold);transform:translateY(-20px)}.gtr-card{width:var(--card-w);height:var(--card-h);background:var(--bg-elevated);cursor:pointer;border:2px solid #ffffff1a;border-radius:6px;flex-shrink:0;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000004d}.gtr-card:hover{transform:translateY(-3px);box-shadow:0 4px 20px #00000080}.card-img{object-fit:cover;pointer-events:none;border-radius:4px;width:100%;height:100%;position:absolute;inset:0}.card-facedown{background:linear-gradient(135deg,#2a1a0a 0%,#3d2b1a 50%,#2a1a0a 100%);border-color:#5a4a3a}.card-actions-overlay{opacity:0;z-index:5;background:#000000bf;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:4px;transition:opacity .12s;display:flex;position:absolute;inset:0}.gtr-card:hover .card-actions-overlay{opacity:1}.card-actions-overlay button{color:#111;background:#ffffffe6;border:none;border-radius:3px;width:92%;padding:3px 2px;font-size:.5rem}.card-actions-overlay button:hover{background:var(--accent);color:#fff}.card-selected{outline-offset:1px;z-index:100;outline:3px solid gold;transition:all .2s cubic-bezier(.175,.885,.32,1.275);transform:translateY(-12px);box-shadow:0 0 20px #ffd70066}.my-camp-row .camp-container-horizontal{--card-w-sm:85px;--card-h-sm:119px;gap:48px;padding:32px}.my-camp-row .camp-center{width:220px;height:160px}.my-camp-row .tucked-client,.my-camp-row .camp-clientele{margin-right:-64px}.my-camp-row .tucked-building-mat{margin-bottom:-108px}.my-camp-row .camp-buildings-side{min-width:180px;padding:16px}.my-camp-row .camp-buildings-list{gap:16px;width:560px}.my-camp-row .building-slot{margin:4px;transform:scale(1.1)}.my-camp-row .camp-influence-inner{top:12px}.my-camp-row .influence-badge{width:40px;height:40px;font-size:1.2rem}.my-camp-row .edge-counter{font-size:.75rem}.camp-container-horizontal{flex-direction:row;justify-content:center;align-items:flex-start;gap:24px;display:flex}.camp-section-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:2px;margin-bottom:6px;font-size:.65rem;font-weight:800}.camp-buildings-side{border:1px dashed var(--border-color);background:#ffffff05;border-radius:8px;flex-direction:column;align-items:center;min-width:120px;padding:12px;display:flex}.camp-buildings-list{flex-flow:wrap;justify-content:center;gap:12px;width:240px;display:flex}.camp-grid{grid-template-rows:auto 1fr auto;grid-template-columns:auto 1fr auto;gap:0;width:fit-content;display:grid}.camp-influence-inner{justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;top:8px}.influence-badge{color:#f0e6d0;background:linear-gradient(135deg,#5a4a3a,#3d2b1a);border:2px solid #8a7a6a;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;font-weight:900;display:flex;box-shadow:0 4px 8px #0006}.influence-label{text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);font-size:.6rem;font-weight:800}.camp-clientele{z-index:5;flex-direction:row-reverse;grid-area:2/1;justify-content:flex-start;align-items:center;margin-right:-50px;display:flex}.tucked-client{margin-right:-50px;width:var(--card-w-sm)!important;height:var(--card-h-sm)!important}.tucked-client:first-child{margin-right:0}.camp-vault{z-index:5;flex-direction:column;grid-area:2/3;justify-content:center;align-items:flex-start;margin-left:-20px;display:flex}.tucked-vault{width:var(--card-w-sm)!important;height:var(--card-h-sm)!important}.camp-stockpile-side{border:1px dashed var(--border-color);background:#ffffff05;border-radius:8px;flex-direction:column;align-items:center;min-width:120px;padding:12px;display:flex}.camp-stockpile-side .stockpile-grid{align-items:flex-start;gap:12px;display:flex}.camp-center{z-index:10;background:linear-gradient(145deg,#f0e6d0 0%,#e8d9b8 50%,#dfd0a8 100%);border:4px solid #5a4a3a;border-radius:8px;flex-direction:column;grid-area:2/2;justify-content:center;align-items:center;width:240px;min-height:160px;padding:20px 24px;display:flex;position:relative;box-shadow:0 8px 24px #00000040}.camp-center h3{color:#5a4a3a;margin:0 0 6px;font-size:1.1rem}.edge-counter{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:.65rem;font-weight:800;position:absolute}.edge-left{transform-origin:50%;white-space:nowrap;top:50%;left:12px;transform:translate(-50%,-50%)rotate(-90deg)}.edge-right{transform-origin:50%;white-space:nowrap;top:50%;right:12px;transform:translate(50%,-50%)rotate(90deg)}.no-buildings{color:#9a8a7a;margin-top:8px;font-size:.65rem;font-style:italic}.edge-label{color:#5a4a3a1f;text-transform:uppercase;letter-spacing:3px;font-size:.75rem;font-weight:800;position:absolute}.edge-label-bottom{bottom:6px;left:50%;transform:translate(-50%)}.edge-label-left{top:50%;left:6px;transform:translateY(-50%)rotate(-90deg)}.edge-label-right{top:50%;right:6px;transform:translateY(-50%)rotate(90deg)}.building-card{width:var(--card-w-sm)!important;height:var(--card-h-sm)!important}.tucked-building-mat{pointer-events:none;margin-bottom:-84px;width:var(--card-w-sm)!important;height:var(--card-h-sm)!important}.deck-card{margin-bottom:8px;width:45px!important;height:63px!important}.stockpile-actions-panel{border:1px solid var(--border-color);background:#ffffff0d;border-radius:4px;margin-top:8px;padding:8px 12px}.stockpile-actions-panel h4{color:var(--accent);margin:0 0 6px;font-size:.65rem}.stockpile-actions-list{flex-direction:column;gap:4px;display:flex}.stockpile-action-row{border:1px solid var(--border-color);background:#ffffff08;border-radius:3px;justify-content:space-between;align-items:center;padding:4px 8px;display:flex}.stockpile-action-name{font-size:.65rem;font-weight:700}.stockpile-action-buttons{gap:4px;display:flex}.stockpile-action-buttons button{padding:3px 8px;font-size:.55rem}.game-over-modal{z-index:9999;color:#fff;text-align:center;background:#000000eb;flex-direction:column;align-items:center;padding:40px;display:flex;position:fixed;inset:0;overflow-y:auto}.game-over-modal h1{color:gold;margin-bottom:20px;font-size:48px}.game-over-table{border-collapse:collapse;text-align:left;background:#ffffff0d;border-radius:8px;width:100%;max-width:700px;font-size:16px;overflow:hidden}.game-over-table th,.game-over-table td{border-bottom:1px solid #ffffff1a;padding:10px 14px}.game-over-table th{background:#ffffff14}.endgame-overlay{z-index:9999;background:radial-gradient(#0d1b2a 0%,#020b10 100%);font-family:Inter,system-ui,sans-serif;position:fixed;inset:0;overflow:hidden}.endgame-stage{justify-content:center;align-items:center;width:180px;height:250px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.endgame-stage-card{object-fit:cover;border-radius:10px;width:150px;height:210px;box-shadow:0 0 50px #ffd70059,0 8px 32px #0009}.endgame-phase-label{letter-spacing:3px;color:gold;text-shadow:0 0 20px #ffd70066;white-space:nowrap;text-transform:uppercase;font-size:.75rem;font-weight:900;position:absolute;top:28px;left:50%;transform:translate(-50%)}.endgame-player-node{flex-direction:column;align-items:center;gap:6px;max-width:190px;display:flex}.endgame-player-name{color:#e0e0e0;text-align:center;text-transform:uppercase;letter-spacing:1px;font-size:1rem;font-weight:900}.endgame-vault-row{flex-wrap:wrap;justify-content:center;gap:3px;max-width:230px;display:flex}.endgame-merchant-wins{flex-wrap:wrap;justify-content:center;gap:3px;margin-top:2px;display:flex}.endgame-total{color:gold;text-align:center;text-shadow:0 0 12px #ffd70073;font-size:1.3rem;font-weight:900}.endgame-breakdown{color:#888;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:2px;font-size:.58rem;display:flex}.endgame-score-breakdown{text-align:center}@keyframes active-turn-breathe{0%,to{box-shadow:0 0 0 1px #ffd70040,0 4px 16px #ffd70014}50%{box-shadow:0 0 0 2px #ffd700a6,0 6px 24px #ffd7002e}}.active-turn{border-radius:10px;animation:2s ease-in-out infinite active-turn-breathe}.opponent-hand-breakdown{align-items:center;gap:14px;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.hand-pip{color:var(--text-muted);align-items:center;gap:5px;font-size:1.2rem;font-weight:700;display:flex}.hand-pip-img{object-fit:cover;opacity:.85;border-radius:3px;width:36px;height:50px}.building-shared{animation:3s infinite alternate shared-glow;position:relative;box-shadow:0 0 15px var(--gold), 0 0 5px var(--gold) inset!important}@keyframes shared-glow{0%{box-shadow:0 0 10px var(--gold), 0 0 2px var(--gold) inset}to{box-shadow:0 0 25px var(--gold), 0 0 8px var(--gold) inset}}.building-slot{flex-direction:column;align-items:center;display:flex;position:relative}.shared-badge{background:var(--gold);color:#000;z-index:10;letter-spacing:1px;pointer-events:none;border-radius:4px;margin-top:4px;padding:2px 6px;font-size:.5rem;font-weight:900;box-shadow:0 2px 8px #00000080}.setup-root{min-height:100vh;color:var(--text-color);background:radial-gradient(circle,#061a28 0%,#020b10 100%);justify-content:center;align-items:center;display:flex}.setup-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;background:#00b4e60a;border:1px solid #00b4e633;border-radius:24px;width:100%;max-width:450px;padding:48px;box-shadow:0 25px 50px -12px #000000b3,0 0 40px #00b4e60d}.setup-title{background:linear-gradient(135deg,#a0e8ff 0%,#4ab8d8 100%);-webkit-text-fill-color:transparent;letter-spacing:-.02em;filter:drop-shadow(0 0 8px #00c8ff80);-webkit-background-clip:text;margin:0 0 8px;font-size:2.5rem;font-weight:900}.setup-subtitle{color:var(--text-muted);margin-bottom:40px;font-size:.95rem}.setup-section{text-align:left;margin-bottom:32px}.setup-section label{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:12px;font-size:.75rem;font-weight:700;display:block}.setup-grid-row{grid-template-columns:1fr 1fr;gap:24px;display:grid}.setup-button-group{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.setup-button-group.duo{grid-template-columns:1fr 1fr}.setup-toggle{color:#94a3b8;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:12px 0;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1)}.setup-toggle:hover{color:#fff;background:#ffffff14;border-color:#fff3}.setup-toggle.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 20px #e945604d}.setup-input{width:100%;color:var(--text-color);font-family:var(--mono);text-shadow:var(--glow);background:#00b4e60d;border:1px solid #00b4e633;border-radius:12px;padding:12px 16px;font-size:1rem;transition:all .2s}.setup-input:focus{border-color:var(--accent);background:#00b4e617;outline:none;box-shadow:0 0 0 4px #00b4e61f}.turn-indicator{color:var(--gold);text-transform:uppercase;letter-spacing:1px;margin-top:4px;font-size:.65rem;font-weight:700;animation:2s infinite pulse}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.setup-hint{color:var(--text-muted);margin-top:12px;font-size:.75rem;line-height:1.4}.setup-start-btn{color:#000;background:#fff;border-radius:14px;width:100%;margin-top:20px;padding:16px;font-size:1rem;font-weight:800;transition:all .2s;box-shadow:0 10px 15px -3px #ffffff1a}.lobby-overlay{z-index:9999;background:radial-gradient(circle,#061a28 0%,#020b10 100%);justify-content:center;align-items:center;animation:.4s ease-out fadeIn;display:flex;position:fixed;inset:0}.lobby-content{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);text-align:center;background:#ffffff08;border:1px solid #ffffff1a;border-radius:32px;width:100%;max-width:600px;padding:48px;box-shadow:0 40px 100px -20px #000000b3}.lobby-title{background:linear-gradient(135deg,#a0e8ff 0%,#4ab8d8 100%);-webkit-text-fill-color:transparent;letter-spacing:-.03em;filter:drop-shadow(0 0 10px #00c8ff80);-webkit-background-clip:text;margin-bottom:8px;font-size:3rem;font-weight:900}.lobby-subtitle{color:var(--text-muted);margin-bottom:40px;font-size:1rem}.lobby-player-list{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:40px;display:grid}.lobby-player-card{text-align:left;background:#ffffff0d;border:1px solid #ffffff14;border-radius:20px;align-items:center;gap:16px;padding:20px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.lobby-player-card.local{border-color:var(--accent);background:#e945600d}.lobby-player-card.ready{background:#4caf501a;border-color:#4caf504d}.player-avatar{background:var(--accent);color:#fff;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;font-weight:900;display:flex}.ready .player-avatar{background:#4caf50}.player-info{flex:1}.player-name{color:#fff;font-size:1.1rem;font-weight:700}.player-status{letter-spacing:1px;color:var(--text-muted);margin-top:2px;font-size:.65rem;font-weight:800}.ready .player-status{color:#4caf50}.lobby-name-input{width:100%;color:var(--text-color);font-family:var(--mono);text-shadow:var(--glow);background:0 0;border:none;border-bottom:2px solid #00b4e633;outline:none;padding:4px 0;font-size:1.1rem;font-weight:700;transition:border-color .2s}.lobby-name-input:focus{border-color:var(--accent)}.lobby-actions{flex-direction:column;align-items:center;gap:16px;display:flex}.lobby-ready-btn{background:var(--accent);color:#fff;border:none;border-radius:16px;padding:16px 40px;font-size:1.1rem;font-weight:800;box-shadow:0 10px 20px #e945604d}.lobby-start-btn{color:#000;background:#fff;border:none;border-radius:16px;padding:16px 60px;font-size:1.1rem;font-weight:900;box-shadow:0 10px 30px #fff3}.waiting-indicator{color:var(--text-muted);font-size:.9rem;font-style:italic}@keyframes fadeIn{0%{opacity:0;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.game-hub{background:radial-gradient(circle,#061a28 0%,#020b10 100%);flex-direction:column;align-items:center;min-height:100vh;padding:60px 20px;display:flex}.bgio-lobby{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#fff;background:#ffffff08;border:1px solid #ffffff1a;border-radius:24px;width:100%;max-width:900px;padding:40px;box-shadow:0 30px 60px #0006}.bgio-lobby h1{color:var(--gold);text-align:center;letter-spacing:4px;text-transform:uppercase;margin-bottom:40px;font-size:2.5rem;font-weight:900}.bgio-lobby h3{color:#fff;opacity:.8;margin-bottom:20px;font-size:1.2rem}.bgio-lobby table{border-collapse:separate;border-spacing:0 10px;width:100%;margin-bottom:30px}.bgio-lobby th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;padding:0 15px 10px;font-size:.8rem}.bgio-lobby td{background:#ffffff0d;border-top:1px solid #ffffff0d;border-bottom:1px solid #ffffff0d;padding:20px 15px}.bgio-lobby td:first-child{border-left:1px solid #ffffff0d;border-top-left-radius:12px;border-bottom-left-radius:12px}.bgio-lobby td:last-child{border-right:1px solid #ffffff0d;border-top-right-radius:12px;border-bottom-right-radius:12px}.bgio-lobby input{color:var(--text-color);font-family:var(--mono);width:100%;text-shadow:var(--glow);background:#00b4e60d;border:1px solid #00b4e633;border-radius:12px;margin-bottom:20px;padding:12px 20px;font-size:1rem;transition:border-color .3s}.bgio-lobby input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 8px #00b4e633}.bgio-lobby button{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:1px;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;padding:10px 20px;font-family:inherit;font-size:.75rem;font-weight:700;transition:all .2s}.bgio-lobby button:hover{background:var(--gold);color:#000;border-color:var(--gold);transform:translateY(-2px)}.bgio-lobby button:disabled{opacity:.3;cursor:not-allowed;transform:none}.bgio-lobby .create-button,.bgio-lobby button[name=create-match]{background:var(--gold);color:#000;width:100%;margin-top:20px;padding:14px 28px;font-size:.9rem}.bgio-lobby .room-list{flex-direction:column;gap:15px;display:flex}.bgio-lobby .status-tag{text-transform:uppercase;border-radius:20px;padding:4px 10px;font-size:.7rem;font-weight:800}.bgio-lobby .status-open{color:#81c784;background:#4caf5033}.bgio-lobby .status-joined{color:var(--gold);background:#ffd70033}.back-button{top:40px;left:40px}.landing-page{background:radial-gradient(circle at top,#061a28 0%,#020b10 100%);flex-direction:column;align-items:center;width:100vw;height:100vh;padding:80px 20px;display:flex;overflow-y:auto}.landing-header{text-align:center;margin-bottom:80px}.vault-logo{letter-spacing:12px;color:var(--gold);text-shadow:0 0 40px #ffd70066,0 0 80px #00c8ff33;margin:0;font-size:5rem;font-weight:900}.vault-tagline{color:var(--text-muted);letter-spacing:2px;text-transform:uppercase;margin-top:10px;font-size:1.1rem}.game-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));justify-content:center;gap:32px;width:100%;max-width:1500px;display:grid}.game-card{aspect-ratio:5/7;cursor:pointer;background:#ffffff05;border:1px solid #ffffff0d;max-width:350px;transition:all .3s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden;border-radius:20px!important;padding:0!important}.game-card:hover{border-color:var(--gold);transform:translateY(-10px);box-shadow:0 20px 40px #0006}.game-card-art{width:100%;height:100%;position:relative;overflow:hidden}.game-card-art img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.165,.84,.44,1)}.game-card:hover .game-card-art img{transform:none}.game-card-overlay{opacity:0;background:linear-gradient(#0000 0%,#000000f2 100%);flex-direction:column;justify-content:flex-end;padding:30px;transition:opacity .3s;display:flex;position:absolute;bottom:0;left:0;right:0}.game-card:hover .game-card-overlay{opacity:1}.game-card-overlay h2{letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin:0;font-size:1.5rem}.game-card-placeholder{background:repeating-linear-gradient(#0000 0 3px,#00b4e60a 3px 4px),radial-gradient(at 50% 40%,#071d2e 0%,#020b10 100%);width:100%;height:100%}.game-card--disabled{cursor:default;filter:saturate(.12)brightness(.65)}.game-card--disabled:hover{box-shadow:none;border-color:#ffffff0d;transform:none}.landing-footer{color:#fff3;text-transform:uppercase;letter-spacing:1px;margin-top:auto;padding:40px;font-size:.8rem}.back-button{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;text-transform:uppercase;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;padding:10px 20px;font-size:.8rem;font-weight:800;position:fixed;top:20px;left:20px}.back-button:hover{background:var(--accent)}.custom-lobby{flex-direction:column;gap:40px;width:100%;max-width:800px;display:flex}.lobby-setup-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff08;border:1px solid #ffffff1a;border-radius:24px;grid-template-columns:1fr 1fr;align-items:flex-end;gap:20px;padding:40px;display:grid}.setup-field{flex-direction:column;gap:10px;display:flex}.ai-personality-picks{flex-wrap:wrap;grid-column:span 2;gap:8px;display:flex}.ai-personality-picks select{min-width:140px;color:var(--text-color);font-family:var(--mono);text-shadow:var(--glow);cursor:pointer;background:#00b4e60d;border:1px solid #00b4e633;border-radius:8px;flex:1;padding:8px 12px;font-size:.7rem}.setup-field label{letter-spacing:2px;color:var(--text-muted);font-size:.7rem;font-weight:800}.setup-field input,.setup-field select{color:var(--text-color);font-family:var(--mono);text-shadow:var(--glow);background:#00b4e60d;border:1px solid #00b4e633;border-radius:12px;padding:12px 16px;font-size:1rem}.create-match-btn{background:var(--gold);color:#000;letter-spacing:2px;cursor:pointer;border:none;border-radius:12px;grid-column:span 2;padding:16px;font-weight:900;transition:all .2s}.create-match-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px #ffd70033}.matches-section h3{letter-spacing:3px;color:var(--gold);margin-bottom:20px;font-size:.9rem}.matches-grid{flex-direction:column;gap:20px;display:flex}.match-card{background:#ffffff05;border:1px solid #ffffff0d;border-radius:20px;padding:30px}.match-info{color:var(--text-muted);justify-content:space-between;margin-bottom:20px;font-size:.8rem;display:flex}.match-slots{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:15px;display:grid}.player-slot{background:#0003;border:1px solid #ffffff0d;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;height:80px;padding:10px;display:flex}.player-slot.occupied{border-color:var(--gold);background:#ffd7000d}.slot-name{color:#fff;font-size:.9rem;font-weight:700}.join-slot-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:1px dashed #fff3;border-radius:8px;width:100%;height:100%;font-size:.7rem;font-weight:700;transition:all .2s}.join-slot-btn:hover{border-color:var(--gold);color:var(--gold);background:#ffd7000d}.no-matches{text-align:center;color:var(--text-muted);background:#ffffff03;border-radius:20px;padding:40px;font-style:italic}.lobby-setup-card.simple{grid-template-columns:1fr 200px}.inline-join-form{gap:5px;width:100%;padding:0 5px;display:flex}.inline-join-form input{border:1px solid var(--gold);color:#fff;background:#0006;border-radius:8px;width:100%;padding:8px 12px;font-size:.8rem}.inline-join-form button{background:var(--gold);color:#000;cursor:pointer;border:none;border-radius:8px;padding:0 12px;font-size:.7rem;font-weight:800}.section-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.section-header h3{letter-spacing:3px;color:var(--gold);margin:0;font-size:.9rem}.clear-hidden-btn{color:var(--text-muted);cursor:pointer;text-transform:uppercase;background:0 0;border:1px solid #fff3;border-radius:20px;padding:4px 10px;font-size:.6rem;font-weight:800}.match-meta{align-items:center;gap:15px;display:flex}.hide-match-btn{color:var(--text-muted);cursor:pointer;opacity:.5;background:0 0;border:none;padding:0;font-size:1.2rem;line-height:1;transition:opacity .2s}.hide-match-btn:hover{opacity:1;color:#e94560}.launch-card{text-align:center;border-color:var(--gold);flex-direction:column;align-items:center;gap:20px;display:flex;box-shadow:0 0 40px #ffd7001a}.launch-info h2{color:var(--gold);letter-spacing:2px;margin:0 0 5px;font-size:1.2rem}.launch-info p{color:var(--text-muted);margin:0;font-size:.8rem}.launch-game-btn{background:var(--gold);color:#000;letter-spacing:2px;cursor:pointer;border:none;border-radius:12px;width:100%;padding:18px 40px;font-weight:900;transition:all .2s}.launch-game-btn:hover{transform:scale(1.02);box-shadow:0 10px 30px #ffd7004d}.player-slot.my-slot{border:1px solid var(--gold);background:#ffd7001a;box-shadow:inset 0 0 10px #ffd7001a}.lobby-error{color:#e94560;text-align:center;background:#e945601a;border-radius:12px;padding:15px;font-size:.9rem}.leave-match-btn{width:100%;color:var(--text-muted);letter-spacing:1px;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;margin-top:10px;padding:12px;font-family:Outfit,sans-serif;font-weight:600;transition:all .3s}.leave-match-btn:hover{color:#ff6b6b;background:#ff64641a;border-color:#ff64644d}.quit-session-section{background:#0003;border-top:1px solid #ffffff1a;padding:15px}.quit-session-btn{width:100%;color:var(--text-muted);letter-spacing:2px;cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:4px;padding:8px;font-size:.7rem;font-weight:700;transition:all .3s}.quit-session-btn:hover{color:#e94560;background:#e945601a;border-color:#e94560}.bc-board-root{background:var(--bg-color);--bg-color:#1a1a2e;--bg-surface:#16213e;--bg-elevated:#0f3460;--text-color:#e0e0e0;--text-muted:#888;--border-color:#2a2a4a;--accent:#e94560;height:100vh;text-shadow:none;grid-template-columns:280px 1fr 320px;font-family:Inter,system-ui,-apple-system,sans-serif;display:grid;overflow:hidden}.bc-board-root *,.bc-board-root :before,.bc-board-root :after{text-shadow:none;font-family:inherit}body:has(.bc-board-root):after{display:none}.bc-left-pane{background:var(--bg-surface);border-right:2px solid var(--border-color);flex-direction:column;height:100vh;display:flex;overflow:hidden}.bc-center{flex-direction:column;height:100vh;display:flex;overflow:hidden}.bc-opponent-hand-bar{border-bottom:2px solid var(--border-color);background:var(--bg-surface);flex-direction:column;flex-shrink:0;gap:6px;padding:10px 20px;display:flex}.bc-opponent-hand{align-items:center;gap:12px;display:flex}.bc-opponent-label{text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);min-width:80px;font-size:.65rem;font-weight:800}.bc-opponent-cards{align-items:center;gap:4px;display:flex}.bc-opponent-cards .bc-hand-card{margin-left:-18px}.bc-opponent-cards .bc-hand-card:first-child{margin-left:0}.bc-empty-hand{color:var(--text-muted);font-size:.65rem;font-style:italic}.bc-play-area{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.bc-play-half{flex-direction:column;flex:1;min-height:0;padding:12px 20px;display:flex;position:relative;overflow:hidden}.bc-play-half--opponent{background:#ffffff05}.bc-play-half--mine{background:#00b4e608}.bc-play-half-label{text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);margin-bottom:8px;font-size:.6rem;font-weight:800}.bc-play-half-cards{flex-wrap:wrap;align-content:flex-start;gap:8px;display:flex}.bc-play-divider{background:var(--border-color);flex-shrink:0;height:2px}.bc-hand-bar{border-top:2px solid var(--border-color);background:var(--bg-elevated);flex-shrink:0;padding:10px 40px}.bc-hand-cards{align-items:flex-end;height:200px;padding:30px 0 10px;display:flex;overflow:auto hidden}.bc-card{width:var(--card-w,130px);height:var(--card-h,177px);background:var(--bg-elevated);cursor:pointer;border:2px solid #ffffff1a;border-radius:6px;flex-shrink:0;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000004d}.bc-card:hover{transform:translateY(-3px);box-shadow:0 4px 20px #00000080}.bc-card-img{object-fit:cover;pointer-events:none;border-radius:4px;width:100%;height:100%;position:absolute;inset:0}.bc-card-overlay{opacity:0;z-index:5;background:#000000bf;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:4px;transition:opacity .12s;display:flex;position:absolute;inset:0}.bc-card:hover .bc-card-overlay{opacity:1}.bc-played-card{width:90px!important;height:126px!important}.bc-hand-cards .bc-card{margin-left:-20px}.bc-hand-cards .bc-card:first-child{margin-left:0}.bc-hand-cards .bc-card:hover{z-index:500;margin-right:10px;transform:translateY(-15px)scale(1.03);box-shadow:0 8px 16px #00000080}.bc-card-selected{outline-offset:1px;z-index:100;outline:3px solid gold;transform:translateY(-20px)!important;box-shadow:0 0 20px #ffd70066!important}.bc-hand-card{width:65px!important;height:91px!important}.bc-right-pane{background:var(--bg-surface);border-left:2px solid var(--border-color);flex-direction:column;height:100vh;display:flex;overflow:hidden}.bc-quit-section{background:#0003;border-top:1px solid #ffffff1a;flex-shrink:0;padding:12px}.bc-quit-btn{width:100%;color:var(--text-muted);letter-spacing:2px;cursor:pointer;text-transform:uppercase;background:0 0;border:1px solid #ffffff1a;border-radius:4px;padding:8px;font-size:.7rem;font-weight:700;transition:all .3s}.bc-quit-btn:hover{color:#e94560;background:#e945601a;border-color:#e94560}.loading-game{height:100vh;color:var(--text-muted);justify-content:center;align-items:center;font-size:1rem;display:flex}.bc-phase-bar{background:var(--bg-elevated);border-bottom:2px solid var(--border-color);letter-spacing:1px;text-transform:uppercase;flex-shrink:0;align-items:center;gap:16px;padding:6px 20px;font-size:.7rem;font-weight:700;display:flex}.bc-phase-name{color:var(--accent)}.bc-phase-turn{color:var(--text-muted)}.bc-phase-pending{color:#aaa;text-transform:none;letter-spacing:0;margin-left:auto;font-weight:400}.bc-phase--reaction_window .bc-phase-name{color:#ff9f43}.bc-phase--counter_reaction .bc-phase-name{color:#ff6b6b}.bc-phase--game_over .bc-phase-name{color:gold}.bc-action-panel{border-bottom:1px solid var(--border-color);background:#00000040;flex-shrink:0;align-items:center;min-height:44px;padding:8px 20px;display:flex}.bc-waiting-bar{border-bottom:1px solid var(--border-color);color:var(--text-muted);letter-spacing:1px;text-transform:uppercase;background:#0003;flex-shrink:0;padding:6px 20px;font-size:.65rem;font-style:italic}.bc-action-row{flex-wrap:wrap;align-items:center;gap:10px;width:100%;display:flex}.bc-action-hint{color:var(--text-muted);font-size:.7rem;font-style:italic}.bc-action-hint--warn{color:#ff6b6b}.bc-btn{letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:1px solid #0000;border-radius:4px;flex-shrink:0;padding:6px 14px;font-size:.7rem;font-weight:700;transition:all .15s}.bc-btn:disabled{opacity:.4;cursor:not-allowed}.bc-btn--primary{background:var(--accent);color:#fff;border-color:var(--accent)}.bc-btn--primary:not(:disabled):hover{background:#c73550}.bc-btn--secondary{color:var(--text-color);border-color:var(--border-color);background:0 0}.bc-btn--secondary:not(:disabled):hover{color:#fff;border-color:#aaa}.bc-btn--danger{color:#ff6b6b;background:0 0;border-color:#ff6b6b}.bc-btn--danger:not(:disabled):hover{background:#ff6b6b26}.bc-opponent-label{text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);margin-bottom:4px;font-size:.6rem;font-weight:800}.bc-card-label{color:#e0e0e0;text-align:center;text-transform:uppercase;letter-spacing:.5px;pointer-events:none;z-index:2;white-space:nowrap;text-overflow:ellipsis;background:#000000bf;padding:2px;font-size:.55rem;font-weight:700;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.bc-targetable{outline-offset:2px;outline:2px dashed #ff9f4399;cursor:crosshair!important}.bc-targetable:hover{outline-color:#ff9f43;box-shadow:0 0 12px #ff9f4366!important}.bc-targeted{outline-offset:2px;z-index:100;outline:3px solid #ff9f43!important;transform:translateY(-4px)!important;box-shadow:0 0 16px #ff9f4399!important}.bc-discard-row{border-top:1px solid var(--border-color);background:#0003;flex-shrink:0;padding:8px 20px}.bc-discard-cards{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.bc-hand-label{text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);margin-bottom:2px;padding:0 0 4px;font-size:.6rem;font-weight:800}.bc-empty-label{color:var(--text-muted);align-self:center;font-size:.65rem;font-style:italic}.bc-deck-info{border-top:1px solid var(--border-color);flex-direction:column;gap:6px;padding:12px;display:flex}.bc-deck-row{align-items:center;gap:8px;font-size:.65rem;display:flex}.bc-deck-label{color:var(--text-color);flex-shrink:0;min-width:70px;font-weight:700}.bc-deck-count{color:var(--text-muted)}.bc-overlay{z-index:1000;background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.bc-overlay-box{background:var(--bg-elevated);border:2px solid var(--border-color);text-align:center;border-radius:12px;flex-direction:column;gap:16px;min-width:320px;padding:40px 48px;display:flex}.bc-gameover-title{color:gold;letter-spacing:2px;font-size:2rem;font-weight:900}.bc-gameover-sub{color:var(--text-muted);margin:0;font-size:.9rem}.bc-hub{flex-direction:column;gap:20px;max-width:480px;margin:60px auto;padding:0 16px;font-family:Inter,system-ui,sans-serif;display:flex}.bc-hub-title{letter-spacing:2px;color:var(--text-color,#e0e0e0);margin:0;font-size:2rem;font-weight:900}.bc-hub-subtitle{color:var(--text-muted,#888);margin:-12px 0 0;font-size:.85rem}.bc-hub-card{background:var(--bg-surface,#16213e);border:1px solid var(--border-color,#2a2a4a);border-radius:8px;flex-direction:column;gap:10px;padding:20px;display:flex}.bc-hub-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted,#888);font-size:.75rem;font-weight:700}.bc-hub-hint{color:var(--text-muted,#888);margin:0;font-size:.75rem}.bc-hub-input{background:var(--bg-elevated,#0f3460);border:1px solid var(--border-color,#2a2a4a);color:var(--text-color,#e0e0e0);border-radius:4px;outline:none;padding:8px 12px;font-size:.9rem}.bc-hub-input:focus{border-color:var(--accent,#e94560)}.bc-hub-row{gap:8px;display:flex}.bc-hub-btn{letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:1px solid #0000;border-radius:4px;padding:8px 16px;font-size:.75rem;font-weight:700;transition:all .15s}.bc-hub-btn:disabled{opacity:.4;cursor:not-allowed}.bc-hub-btn--primary{background:var(--accent,#e94560);color:#fff;border-color:var(--accent,#e94560)}.bc-hub-btn--primary:not(:disabled):hover{background:#c73550}.bc-hub-btn--secondary{color:var(--text-color,#e0e0e0);border-color:var(--border-color,#2a2a4a);background:0 0}.bc-hub-btn--secondary:not(:disabled):hover{border-color:#aaa}.bc-hub-btn--ghost{color:var(--text-muted,#888);background:0 0;border-color:#0000}.bc-hub-btn--ghost:hover{color:var(--text-color,#e0e0e0)}.bc-hub-error{color:#e94560;background:#e9456026;border:1px solid #e94560;border-radius:4px;padding:8px 12px;font-size:.8rem}.bc-hub-match-row{border-top:1px solid var(--border-color,#2a2a4a);justify-content:space-between;align-items:center;padding:6px 0;display:flex}.bc-hub-match-id{color:var(--text-muted,#888);font-family:monospace;font-size:.8rem}
