.uprising-board{background:#181c21;border:1px solid #8f774d;border-radius:10px;min-width:0;padding:12px}.combat-sandworms{color:#e6c58c;white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.combat-sandworms small{border:1px solid #b9976155;border-radius:4px;padding:1px 3px;font-size:11px}.uprising-board header,.uprising-player,.uprising-post>span,.uprising-battles{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.uprising-board header{justify-content:space-between}.uprising-board h3,.uprising-board h4{margin:0 0 8px}.uprising-posts{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:6px;display:grid}.uprising-post{background:#ffffff08;border-radius:5px;min-height:44px;padding:7px;font-size:12px}.uprising-post strong{font-weight:500;display:block}.uprising-post span:empty:after{content:"空闲";color:#a7adb5}.uprising-player{border-top:1px solid #ffffff18;margin-top:8px;padding:8px 0;font-size:12px}.uprising-player>span,.uprising-battles>span{align-items:center;gap:4px;display:inline-flex}.uprising-battles .used{opacity:.5}.uprising-contracts{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.uprising-contracts h4{flex-basis:100%}.uprising-contracts article{border:1px solid #b59a6855;border-radius:6px;flex:150px;padding:8px}.uprising-contracts article strong,.uprising-contracts article small{margin-bottom:6px;display:block}@media (width<=560px){.uprising-posts{grid-template-columns:repeat(2,minmax(0,1fr))}.uprising-player>strong{flex-basis:100%}}.bloodlines-board{--bloodlines-gold:#c8a36e;--bloodlines-line:#b79a6648;border:1px solid var(--bloodlines-line);color:#e5ddcb;background:linear-gradient(115deg,#111d27ed,#1c1c18e8 65%,#392b1cdd);border-radius:8px;grid-template-columns:minmax(0,1.1fr) minmax(270px,.9fr);grid-template-areas:"heading heading""locations skills""players players""leaders leaders""actions actions";gap:7px 10px;min-width:0;margin:0 0 8px;padding:8px 10px;font-size:11px;display:grid}.bloodlines-board h3,.bloodlines-board h4,.bloodlines-board p{margin:0}.bloodlines-heading{border-bottom:1px solid var(--bloodlines-line);grid-area:heading;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding-bottom:5px;display:flex}.bloodlines-heading h3{color:#f0dfbd;font:600 14px Georgia,Microsoft YaHei,sans-serif}.bloodlines-eyebrow{color:var(--bloodlines-gold);letter-spacing:.16em;margin-bottom:2px;font-size:8px;display:block}.bloodlines-stock{color:#bdb9ac;white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.bloodlines-stock i{color:var(--bloodlines-gold);font-style:normal}.bloodlines-locations{grid-area:locations;min-width:0}.bloodlines-skill-row{grid-area:skills;min-width:0}.bloodlines-subheading{justify-content:space-between;align-items:baseline;gap:8px;min-height:18px;margin-bottom:4px;display:flex}.bloodlines-subheading h4,.bloodlines-locations>h4{color:#e0c798;font-size:10px;font-weight:600}.bloodlines-subheading>span{color:#a9b2b0;text-align:right;font-size:9px;line-height:1.4}.bloodlines-locations>h4{margin:0 0 4px}.bloodlines-location-list{grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:4px;display:grid}.bloodlines-location{background:#ffffff08;border:1px solid #ffffff13;border-radius:4px;justify-content:space-between;align-items:center;gap:5px;min-width:0;min-height:27px;padding:4px 6px;display:flex}.bloodlines-location>span{overflow-wrap:anywhere;color:#c4c9c3;min-width:0;line-height:1.25}.bloodlines-location>b{color:#f1d5a2;text-align:right;min-width:16px;font-size:12px}.bloodlines-skill-list{grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:4px;display:grid}.bloodlines-skill-card{color:#eee0c4;text-align:left;background:#342b20aa;border:1px solid #c4a57466;border-radius:5px;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;min-width:0;min-height:42px;padding:5px 6px;display:flex}button.bloodlines-skill-card:hover:not(:disabled){background:#4a3b28;border-color:#edca91}.bloodlines-skill-card strong{font-size:10px;line-height:1.2}.bloodlines-skill-card>span{color:#c9a96f;font-size:8px}.bloodlines-skill-card small{color:#aeb5b1;overflow-wrap:anywhere;max-width:100%;font-size:8px;line-height:1.3}.bloodlines-unknown{color:#a9a497;font-size:9px}.bloodlines-hint{color:#98a4a5;font-size:9px;margin-top:3px!important}.bloodlines-players,.bloodlines-actions{grid-column:1/-1;min-width:0}.bloodlines-player-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:5px;display:grid}.bloodlines-player{border:1px solid #ffffff17;border-left:2px solid var(--bloodlines-player,var(--bloodlines-gold));background:#ffffff07;border-radius:4px;grid-template-columns:minmax(65px,.55fr) minmax(120px,.8fr) minmax(0,1.8fr);align-items:center;gap:5px 8px;min-width:0;padding:5px 7px;display:grid}.bloodlines-player.is-self{background:#caa26712}.bloodlines-player-name{align-items:center;gap:5px;min-width:0;display:flex}.bloodlines-player-name strong{min-width:0;color:var(--bloodlines-player,#e9d9bd);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.bloodlines-player-name small{color:#d7b77e;font-size:8px}.bloodlines-counts{justify-content:space-between;gap:4px;display:flex}.bloodlines-counts>span{white-space:nowrap;align-items:center;gap:3px;display:inline-flex}.bloodlines-counts small{color:#aeb7b5;font-size:8px}.bloodlines-counts b{color:#f0d6a6;font-size:11px}.bloodlines-owned-skills{flex-wrap:wrap;gap:3px;min-width:0;display:flex}.bloodlines-owned-skill{color:#d9cfbb;overflow-wrap:anywhere;text-align:left;background:#171c1b;border:1px solid #9e8b673f;border-radius:4px;align-items:center;gap:4px;max-width:100%;padding:2px 5px;font-size:8px;line-height:1.4;display:inline-flex}button.bloodlines-owned-skill{cursor:pointer}.bloodlines-owned-skill small{color:#a9b6aa;white-space:nowrap;font-size:8px}.bloodlines-owned-skill.active{color:#d1e3be;border-color:#799a78aa}.bloodlines-owned-skill.ready{border-color:#c8a36e88}.bloodlines-owned-skill.used,.bloodlines-owned-skill.inactive{opacity:.68}.bloodlines-empty{color:#929d9e;font-size:9px}.bloodlines-action-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:5px;display:grid}.bloodlines-action-card{background:#101923a8;border:1px solid #c2a16a49;border-radius:5px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:6px 8px;display:grid}.bloodlines-action-copy{min-width:0}.bloodlines-action-copy>strong{color:#ecd4aa;font-size:10px}.bloodlines-action-copy p{color:#adb8b7;overflow-wrap:anywhere;margin-top:2px;font-size:9px;line-height:1.45}.bloodlines-action-copy .game-icon{vertical-align:-4px}.bloodlines-action-card>button{color:#f0d29e;border-color:#b5966373;max-width:150px;padding:5px 7px;font-size:9px;line-height:1.35}.bloodlines-ix-note,.bloodlines-action-note{color:#aeb8b4;grid-column:1/-1;font-size:9px}.bloodlines-skill-dialog{color:#e9e1d2;background:linear-gradient(145deg,#172832,#171a1a 78%);border:1px solid #b79a66;border-radius:9px;width:min(440px,100vw - 28px);max-width:440px;max-height:min(86dvh,560px);padding:16px;overflow:auto;box-shadow:0 14px 55px #000a}.bloodlines-skill-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#02080bcc}.bloodlines-skill-dialog>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.bloodlines-skill-dialog h2{color:#f3dfba;margin:0;font:600 22px Georgia,Microsoft YaHei,sans-serif}.bloodlines-skill-dialog>header button{flex:none;padding:5px 9px}.bloodlines-skill-description{color:#f0e6d1;overflow-wrap:anywhere;font-size:17px;line-height:1.75;margin:18px 0 10px!important}.bloodlines-skill-rule{color:#bfad8d;border-top:1px solid #ffffff20;padding-top:9px;font-size:12px;line-height:1.65}@media (width<=600px){.bloodlines-board{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading""locations""skills""players""leaders""actions";gap:7px;padding:8px}.bloodlines-location-list{grid-template-columns:repeat(3,minmax(0,1fr))}.bloodlines-skill-list,.bloodlines-player-list{grid-template-columns:repeat(2,minmax(0,1fr))}.bloodlines-player{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:5px}.bloodlines-player-name{grid-column:1/-1}.bloodlines-counts{grid-column:1/-1;justify-content:flex-start;gap:11px}.bloodlines-owned-skills{grid-column:1/-1}.bloodlines-action-list{grid-template-columns:minmax(0,1fr)}}@media (width<=380px){.bloodlines-location-list{grid-template-columns:repeat(2,minmax(0,1fr))}.bloodlines-player-list{grid-template-columns:minmax(0,1fr)}}@media (orientation:landscape) and (height<=480px) and (width>=601px){.bloodlines-board{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-template-areas:"heading heading""locations skills""leaders leaders""players actions"}.bloodlines-players,.bloodlines-actions{grid-column:auto;align-self:start}.bloodlines-player-list{grid-template-columns:repeat(2,minmax(0,1fr))}.bloodlines-player{grid-template-columns:minmax(0,1fr) auto}.bloodlines-player-name,.bloodlines-counts,.bloodlines-owned-skills{grid-column:1/-1}.bloodlines-action-list{grid-template-columns:minmax(0,1fr)}}.bloodlines-leader-public{color:#cec3b0;grid-column:1/-1;font-size:12px;line-height:1.65}.bloodlines-tactics-track{gap:3px;margin:0;padding:5px 0 0;list-style:none;display:flex}.bloodlines-tactics-track li{text-align:center;color:#c2b8a2;border:1px solid #ae956249;border-radius:3px;flex:1;min-width:0}.bloodlines-tactics-track li.is-current{color:#171a19;background:#daba80;border-color:#f5dca5;font-weight:700}.bloodlines-private-leader{border-top:1px solid #b79a6648;grid-area:leaders;min-width:0;padding-top:10px}.bloodlines-private-leader h4 small{color:#daba80;margin-left:8px;font-size:11px}.bloodlines-navigation-plan{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin-top:8px;display:grid}.bloodlines-private-leader details{border:1px solid #b79a6648;border-radius:6px;min-width:0;padding:9px;font-size:13px}.bloodlines-private-leader summary{cursor:pointer;min-height:32px;line-height:1.65}.bloodlines-private-leader details p{margin:6px 0 12px;line-height:1.8}.bloodlines-private-leader .game-card{max-width:100%}:root{color:#dedbd1;font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--gold:#cba16d;--line:#37382d;--muted:#93978a;background:#151711;font-family:Microsoft YaHei,PingFang SC,system-ui,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit;background:#27291f;border:1px solid #464737;border-radius:5px;padding:9px 14px;transition:background .15s,border-color .15s,transform .15s}button:hover:not(:disabled){background:#33372a;border-color:#a0855d}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:2px solid #e0bc80}input,select{color:#ebe5d7;background:#1a1d16;border:1px solid #454739;border-radius:5px;width:100%;min-width:0;padding:12px}label{color:#c4c6b9;gap:9px;margin:18px 0;display:grid}h1,h2,h3,p{margin-top:0}h2{font-size:17px;font-weight:600}h3{font-size:14px}svg{vertical-align:middle;flex-shrink:0;display:inline-block}a{color:var(--gold)}.primary{background:var(--gold);border-color:var(--gold);color:#221c12;font-weight:700}.primary:hover:not(:disabled){color:#211a11;background:#e1b67e}.outline{color:#e0bc87;background:0 0;border-color:#9d8058}.text-link{color:#bcb49b;background:0 0;border:0;padding:8px 0;font-size:12px}.eyebrow{color:#c5a674;letter-spacing:.22em;margin-bottom:14px;font-size:11px;font-weight:600;display:block}.muted,.helper{color:var(--muted);font-size:13px;line-height:1.8}.loading{justify-content:center;align-items:center;gap:20px;min-height:100vh;display:flex}.error-banner{z-index:20;background:#592f24;border-bottom:1px solid #a26b45;justify-content:space-between;gap:20px;padding:12px 30px;display:flex;position:sticky;top:0}.error-banner button{background:0 0;padding:2px 8px}.form-error{color:#f0ab92;line-height:1.5}.topbar{border-bottom:1px solid var(--line);background:#191c14;align-items:center;gap:55px;height:76px;padding:0 32px;display:flex}.brand{text-align:left;letter-spacing:.15em;background:0 0;border:0;align-items:center;gap:12px;padding:0;font-size:20px;display:flex}.brand small{color:var(--muted);letter-spacing:.3em;margin-top:3px;font-size:10px;display:block}.brand-mark{color:var(--gold);font-size:40px}nav{align-items:center;gap:15px;height:100%;display:flex}nav button{color:var(--muted);background:0 0;border:0;border-radius:0;height:100%}.nav-active{color:#e6d5b8;border-bottom:2px solid var(--gold)}.account{align-items:center;gap:15px;margin-left:auto;font-size:12px;display:flex}.account button{color:var(--muted);background:0 0;border:0;padding:8px 0}.login-page{background:radial-gradient(at 20% 85%,#69533550,#0000 60%),#171b13;grid-template-columns:1.1fr 1fr;align-items:center;min-height:100vh;display:grid;position:relative;overflow:hidden}.login-page:before,.login-page:after{content:"";pointer-events:none;background:linear-gradient(150deg,#74614436,#2c332100);border-top:1px solid #b19e6925;border-radius:60% 50% 0 0;width:110%;height:370px;position:absolute;bottom:-130px;left:-36%;transform:rotate(-16deg)}.login-page:after{background:#91806020;bottom:-245px;left:-25%;transform:rotate(8deg)}.dune-orbit{border:1px solid #9c8b5530;border-radius:50%;width:680px;height:680px;position:absolute;top:-250px;left:-260px;box-shadow:0 0 0 70px #a0925610,0 0 0 150px #c1a96b05}.login-story{z-index:1;padding:80px 10vw;position:relative}.login-story h1{letter-spacing:.22em;margin:30px 0;font-family:SimSun,serif;font-size:clamp(65px,7vw,106px);font-weight:500;line-height:1.13}.login-story h1 em{color:#c2a16d;font-style:normal}.story-line{background:#b39560;width:45px;height:2px;margin-bottom:25px}.login-story p{color:#a8ad99;letter-spacing:.12em;line-height:2.1}.login-caption{color:#a4936c;letter-spacing:.13em;margin-top:55px;font-size:11px}.login-form{z-index:1;width:80%;max-width:410px;margin:40px auto;padding:38px 0}.login-form h2{margin:0 0 15px;font-size:32px}.login-form form{margin-top:32px}.login-form .primary{width:100%;margin:12px 0 24px;padding:14px}.lobby{max-width:1180px;margin:auto;padding:45px 40px 80px}.lobby-hero{padding:25px 0 42px;position:relative}.lobby-hero:after{content:"";background:radial-gradient(at 30% 20%,#b3985b20,#0000);border:1px solid #4a4732;border-radius:50%;width:240px;height:240px;position:absolute;top:0;right:30px;box-shadow:0 0 0 25px #8b785b09,0 0 0 60px #8b785b05}.lobby-hero h1{letter-spacing:.08em;font-family:SimSun,serif;font-size:44px;font-weight:400;line-height:1.5}.lobby-hero p{color:var(--muted);line-height:1.8}.lobby-controls{grid-template-columns:1fr 1fr;gap:25px;display:grid}.lobby-controls section{border:1px solid var(--line);background:#1d2118;border-radius:8px;padding:28px}.lobby-controls form .outline{width:100%;margin-top:16px}.capacity-picker{gap:10px;margin:18px 0;display:flex}.capacity-picker button{width:65px;font-size:24px}.capacity-picker small{margin-left:8px;font-size:11px}.capacity-picker .chosen{border-color:var(--gold);color:#e4c792;background:#57472d45}.lobby-controls .primary{margin-top:8px;padding:11px 25px}.rooms-list{margin-top:42px}.section-title{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.section-title h2{margin:0}.section-title>span{color:var(--muted);font-size:11px}.empty-state{text-align:center;color:#8c9380;border:1px dashed var(--line);border-radius:7px;padding:40px}.room-list-row{align-items:center;gap:16px;display:flex}.room-list-row .room-list-item{flex:1;min-width:0}.room-actions{flex-wrap:wrap;gap:10px;display:flex}.danger{color:#efaa9c;border-color:#ad7166}.room-operation-modal{background:#20231a;border:1px solid #a7854e;border-radius:12px;width:min(480px,100vw - 40px);padding:28px;line-height:1.8}.room-operation-modal .room-actions{justify-content:flex-end;margin-top:24px}.closed-notice{border:1px solid #a7854e;margin-bottom:16px;padding:16px}.room-list-item{text-align:left;border-color:var(--line);background:#20241a;justify-content:space-between;align-items:center;width:100%;margin:10px 0;padding:20px;display:flex}.room-list-item small{color:var(--muted);margin-top:8px;display:block}.room-list-item>span{color:var(--gold);font-size:12px}.room-page,.gallery{max-width:1420px;margin:auto;padding:30px 40px 80px}.room-heading{justify-content:space-between;align-items:center;margin:20px 0 30px;display:flex}.room-heading h1{letter-spacing:.14em;margin:0;font-size:37px}.seats{gap:18px;margin-bottom:36px;display:flex}.seat{border:1px solid var(--line);background:#202419;border-radius:6px;flex:1;padding:20px}.seat small{color:var(--muted);font-size:10px}.seat h3{margin:13px 0}.seat span{color:#afbaa1;font-size:12px}.seat b{color:#8b937e;margin-top:20px;font-size:11px;display:block}.seat.ready{border-color:#718852}.seat.ready b{color:#bad18e}.leader-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.leader-choice .game-card{width:100%;height:auto;min-height:320px}.leader-choice .card-art{height:105px}.leader-choice>.outline,.leader-choice>.primary{width:100%;margin-top:10px}.ready-bar{border-top:1px solid var(--line);z-index:3;background:#191c14ed;justify-content:flex-end;align-items:center;gap:20px;margin-top:30px;padding:20px;display:flex;position:sticky;bottom:0}.ready-bar span{color:var(--muted);margin-right:auto}.game-card{color:#2c291e;text-align:left;background:#ded4bc;border:1px solid #968265;border-radius:7px;flex-direction:column;width:150px;min-width:150px;height:254px;padding:0;display:flex;position:relative;overflow:hidden;box-shadow:0 3px 8px #0003}.game-card:hover:not(:disabled){background:#e4dbc8;border-color:#d7bb7e}.game-card.selected{outline-offset:3px;outline:2px solid #f1c578;transform:translateY(-3px)}.card-top{color:#e8deca;background:#343329;justify-content:space-between;align-items:center;gap:4px;min-height:38px;padding:8px;font-size:11px;font-weight:600;display:flex}.cost{color:#acd3dd;align-items:center;gap:2px;display:flex}.card-art{object-fit:cover;background:#615e47;flex-shrink:0;width:100%;height:79px;display:block}.abstract-art{color:#cfc3a455;letter-spacing:.4em;background:radial-gradient(at 20% 10%,#847955,#393e33);justify-content:center;align-items:center;font-family:serif;display:flex}.card-access{border-bottom:1px solid #9a907f50;align-items:center;gap:2px;min-height:26px;padding:5px 7px;display:flex}.card-access small{text-align:right;color:#5e5748;margin-left:auto;font-size:9px;line-height:1.4}.card-text{scrollbar-width:thin;flex:1;padding:5px 8px;font-size:10px;line-height:1.7;overflow-y:auto}.card-text p{margin:2px 0 7px}.card-text p>span{color:#726243;letter-spacing:.08em;font-size:9px;font-weight:700;display:block}.acquire{border-top:1px solid #a7988055;padding-top:4px}.card-row{scrollbar-width:thin;gap:12px;padding:5px 4px 12px;display:flex;overflow-x:auto}.game-shell{max-width:1920px;margin:auto;padding:22px 24px 50px}.game-heading{justify-content:space-between;align-items:center;margin:2px 0 24px;display:flex}.game-heading .eyebrow{margin-bottom:9px;font-size:10px}.game-heading h1{margin:0;font-size:24px;font-weight:500}.game-heading h1 span{color:#9ba28e;margin-left:8px;font-size:16px}.game-heading-right{color:var(--muted);align-items:center;gap:20px;font-size:11px;display:flex}.game-heading-right button{font-size:11px}.connection:before{content:"";background:#c98871;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}.connection.online:before{background:#95b67b}.table-layout{grid-template-columns:210px minmax(520px,1fr) 275px;gap:18px;display:grid}.players-column{flex-direction:column;gap:14px;display:flex}.player-panel{border:1px solid #3c4431;border-left:3px solid var(--player);background:#20251a;border-radius:6px;padding:14px}.player-heading{justify-content:space-between;align-items:center;font-size:13px;display:flex}.player-heading strong{color:#e2bf81;align-items:center;gap:5px;font-size:19px;display:flex}.leader-link{color:#adb799;text-align:left;background:0 0;border:0;padding:8px 0;font-size:10px;line-height:1.6}.resource-row{border-top:1px solid #3c443166;gap:18px;margin:5px 0 14px;padding-top:13px;display:flex}.resource-row>span{align-items:center;gap:5px;display:flex}.troop-line{color:#aab49a;justify-content:space-between;margin-bottom:15px;font-size:10px;display:flex}.troop-line b{color:#e1d6b8;margin-left:3px}.influence-tracks{gap:7px;display:grid}.influence-tracks>div{align-items:center;gap:7px;display:flex}.track{flex:1;gap:4px;display:flex}.track i{background:#3b4330;border-radius:1px;flex:1;height:7px}.track i.filled{background:var(--player)}.influence-tracks b{width:10px;font-size:10px}.player-footer{color:#9ca88c;gap:6px;margin-top:16px;font-size:10px;display:grid}details{color:#aeb898;margin-top:10px;font-size:10px}summary{cursor:pointer}.pile-links{flex-wrap:wrap;gap:4px;margin-top:7px;display:flex}.pile-links button{padding:3px 5px;font-size:10px}.board-panel,.market-panel,.hand-panel{border:1px solid var(--line);background:#1c2017;border-radius:7px;margin-bottom:18px;padding:18px}.board-groups{grid-template-columns:repeat(2,1fr);gap:13px;display:grid}.board-group{background:#23271b;border:1px solid #434635;border-radius:5px;padding:10px}.board-group h3{letter-spacing:.12em;color:#b5b69d;align-items:center;gap:7px;margin:0 0 10px;font-size:11px;display:flex}.spaces{grid-template-columns:1fr 1fr;gap:7px;display:grid}.board-group.landsraad,.board-group.city,.board-group.spice{grid-column:1/-1}.board-group.landsraad .spaces,.board-group.spice .spaces{grid-template-columns:repeat(5,1fr)}.board-group.city .spaces{grid-template-columns:repeat(4,1fr)}.board-space{text-align:left;background:#2c3021;border-color:#484c37;min-height:85px;padding:9px 7px;font-size:10px;position:relative}.board-space>div{justify-content:space-between;gap:3px;display:flex}.board-space b{color:#ddd5b6;font-size:11px;font-weight:500}.board-space p{color:#a8b093;margin:6px 0;font-size:9px;line-height:1.65}.board-space footer{color:#c6b985;flex-wrap:wrap;align-items:center;gap:5px;font-size:9px;display:flex}.board-space footer>span{align-items:center;gap:3px;display:flex}.board-space.legal{border-color:#897e4c;box-shadow:inset 0 0 12px #baad4710}.board-space.picked{background:#44442d;border-color:#ebc686}.blocked{color:#ddbca6;font-size:8px}.market-panel .section-title,.hand-panel .section-title{margin-bottom:12px}.market-row .game-card{width:140px;min-width:140px;height:230px}.market-row .card-art{height:62px}.market-row .game-card{width:100%}.buy-button{color:#fff;background:#947743;width:100%;margin-top:5px;padding:5px;font-size:11px}.reserve-row{border-top:1px solid var(--line);gap:12px;margin-top:3px;padding-top:12px;display:flex}.reserve-row button{background:0 0;border:0;padding:3px;font-size:10px}.reserve-row b{color:var(--gold);margin-left:6px}.hand-panel h2 span{color:var(--gold);font-size:12px}.hand-panel .section-title button{padding:4px 8px;font-size:10px}.hand-row>div>.text-link{text-align:center;width:100%;font-size:9px}.intrigue-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;padding-top:12px;display:flex}.intrigue-row>span{color:#bca581;margin-right:8px;font-size:11px}.intrigue-row button{background:#343026;border-color:#514932;padding:6px 9px;font-size:10px}.private-note{color:#c8af7b;margin:12px 0 0;font-size:11px}.empty-inline{color:var(--muted);padding:20px}.action-panel,.conflict-panel,.log-panel{background:#22251a;border:1px solid #464933;border-radius:7px;margin-bottom:17px;padding:17px}.action-panel{border-top:2px solid #b3975b}.action-panel h2{color:#dfc696;font-size:16px}.live-dot{background:#b5c080;border-radius:50%;width:6px;height:6px}.action-intro{color:#9ea78b;font-size:11px;line-height:1.8}.action-buttons{scrollbar-width:thin;flex-direction:column;gap:8px;max-height:440px;display:flex;overflow-y:auto}.action-button{color:#ece0bf;text-align:left;background:#5e5130;border-color:#897348;padding:9px 11px;font-size:11px;line-height:1.7}.action-button.secondary{color:#b8c19f;background:#2a2f20;border-color:#52583b}.conflict-panel h2,.log-panel h2{color:#c0b18a;margin-bottom:15px;font-size:13px}.conflict-panel .game-card{width:100%;height:auto;min-height:205px}.conflict-panel .card-art{height:45px}.conflict-panel .card-text{font-size:11px}.conflict-panel .card-text p>span{margin-right:8px;display:inline-block}.log-panel ol{scrollbar-width:thin;max-height:320px;margin:0;padding:0;list-style:none;overflow:auto}.log-panel li{color:#a7ad99;border-bottom:1px solid #353c28;padding:9px 0;font-size:10px;line-height:1.9}.victory{color:#efcf94;text-align:center;background:linear-gradient(100deg,#5b4b2c,#252d1d);border:1px solid #a18a53;margin-bottom:25px;padding:24px;font-size:21px}.gallery h1{font-size:35px;font-weight:500}.gallery-filters{align-items:center;gap:20px;margin:25px 0 30px;display:flex}.gallery-filters input{max-width:300px}.gallery-filters select{max-width:180px}.gallery-filters span{color:var(--muted)}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:22px;display:grid}.gallery-grid .game-card{width:100%;height:305px}.gallery-grid .card-art{height:100px}.gallery-grid .card-text{font-size:11px}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#060803d9;justify-content:center;align-items:center;padding:25px;display:flex;position:fixed;inset:0}.game-card.large{width:100%;min-width:0;height:auto;min-height:480px}.large .card-top{padding:15px;font-size:19px}.large .card-art{height:190px}.large .card-access{padding:12px}.large .card-text{padding:13px 20px;font-size:15px;line-height:1.85;overflow:visible}.large .card-text p{margin:10px 0}.large .card-text p>span{font-size:11px}.password-page{max-width:500px;margin:60px auto}.password-page p{color:var(--muted);font-size:13px;line-height:1.8}@media (width>=1600px){.table-layout{grid-template-columns:245px minmax(650px,1fr) 310px;gap:22px}.board-space{min-height:93px;padding:12px}.board-space p{font-size:10px}.game-card{width:170px;height:270px}.market-row .game-card{height:250px}}@media (width<=1200px){.table-layout{grid-template-columns:180px minmax(480px,1fr) 235px;gap:12px}.game-shell{padding:18px 12px}.player-panel{padding:10px}.board-panel,.market-panel,.hand-panel{padding:12px}.board-group.landsraad .spaces,.board-group.spice .spaces{grid-template-columns:repeat(3,1fr)}.board-group.city .spaces{grid-template-columns:repeat(2,1fr)}}@media (width<=950px){.table-layout{grid-template-columns:1fr}.players-column{grid-template-columns:repeat(2,1fr);display:grid}.action-column{grid-row:2;grid-template-columns:1fr 1fr;gap:15px;display:grid}.action-panel{grid-column:1/-1}.board-column{grid-row:3}.action-buttons{max-height:250px}.log-panel{display:none}.topbar{gap:20px;padding:0 18px}.account span,.lobby-hero:after{display:none}.leader-grid{grid-template-columns:repeat(2,1fr)}.login-story{padding:40px}.login-page{grid-template-columns:1fr 1fr}.login-story h1{font-size:68px}.lobby{padding:30px 24px}.room-page,.gallery{padding:25px 20px}.game-heading-right{gap:9px}}@media (width<=650px){.login-page{grid-template-columns:1fr}.login-story{padding:30px 30px 0}.login-story h1{font-size:48px}.login-story h1 br,.login-story p,.login-caption{display:none}.login-form{width:85%;margin:20px auto}.lobby-controls{grid-template-columns:1fr}.seats{flex-wrap:wrap}.seat{min-width:40%}.topbar{gap:8px}.topbar nav{gap:0}.topbar nav button{padding:8px;font-size:12px}.brand{font-size:15px}.brand-mark{display:none}.account{gap:7px}.account button{font-size:10px}.lobby-hero h1{font-size:33px}.board-groups{grid-template-columns:1fr}.board-group{grid-column:1/-1}.game-heading h1{font-size:18px}.game-heading-right>span:not(.connection){display:none}}.ai-controls{background:#211d18;border:1px solid #876338;border-radius:10px;margin:18px 0;padding:16px 20px}.ai-add,.ai-bonuses,.ai-bonuses>span,.ai-add label{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ai-bonuses{gap:22px;margin-top:12px}.ai-controls p{color:#c3b6a5;margin-bottom:0;font-size:12px}.ai-seat-actions{gap:8px;margin-top:12px;display:grid}.ai-seat-actions button{white-space:normal}.ai-badge{color:#ebc088;align-items:center;gap:3px;margin-left:6px;font-size:10px;font-weight:500;display:inline-flex}.room-options{border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:20px;min-width:0;margin:18px 0;padding:20px;display:grid}.room-options legend{color:var(--gold);padding:0 8px}.room-options label{gap:8px;margin:0;display:grid}.room-options select{width:100%;min-width:0}.room-options .expansion-option{align-items:center;gap:10px;display:flex}.room-options .expansion-option input{width:auto;margin:0}.room-expansions{gap:12px;display:grid}.room-variant small{color:var(--muted);margin-top:8px;display:block}.room-options>.helper{grid-column:1/-1;margin:0}.lobby .room-options{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=850px){.room-options{grid-template-columns:repeat(2,minmax(0,1fr))}.room-heading,.ready-bar{flex-wrap:wrap}}.room-page .seat h3{overflow-wrap:anywhere}@media (width<=480px){.room-options,.lobby .room-options,.room-page .leader-grid{grid-template-columns:1fr}.ready-bar{gap:12px;padding:12px;position:static}.ready-bar>span{flex-basis:100%}}.room-custom-variants{flex-wrap:wrap;grid-column:1/-1;gap:12px 24px;display:flex}.room-custom-variants>div{width:100%}.custom-variant-option{cursor:pointer;position:relative}.variant-description{z-index:30;color:#f4ead7;white-space:normal;pointer-events:none;background:#17212b;border:1px solid #a88a55;border-radius:8px;width:min(420px,75vw);padding:14px 16px;font-size:13px;line-height:1.8;display:none;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 8px 28px #0008}.custom-variant-option:hover .variant-description,.custom-variant-option:focus-within .variant-description{display:block}.room-custom-variants:has(.custom-variant-option:hover) .custom-variant-option:not(:hover) .variant-description{display:none}.game-icon{vertical-align:middle;object-fit:contain;flex-shrink:0;overflow:visible}.game-card{color:#252a2d;isolation:isolate;text-align:left;background:#d8c8aa;border:2px solid #15191c;border-radius:7px;flex-direction:column;width:188px;height:310px;min-height:0;padding:0;font-size:11px;display:flex;position:relative;overflow:hidden;box-shadow:0 3px 9px #0007}.game-card:hover{border-color:#c8a262;transform:translateY(-2px)}.game-card.selected{outline-offset:3px;border-color:#fae0a2;outline:2px solid #e1b872}.game-card .card-top{color:#f1eee3;letter-spacing:.03em;white-space:nowrap;background:linear-gradient(115deg,#080c12,#272c30);height:29px;min-height:29px;padding:5px 33px 4px 7px;font-size:14px;font-weight:700;line-height:20px;display:block}.game-card .card-top>span{text-overflow:ellipsis;display:block;overflow:hidden}.card-factions{z-index:3;letter-spacing:.05em;flex-direction:column;align-items:flex-start;font-size:9px;line-height:14px;display:flex;position:absolute;top:29px;left:0;right:30px}.card-factions>span{white-space:nowrap;color:#f5f1e2;clip-path:polygon(0 0,100% 0,92% 100%,0 100%);padding:0 7px 0 5px}.card-factions .emperor{background:#81744d}.card-factions .guild{background:#a53935}.card-factions .bene{background:#66516f}.card-factions .fremen{background:#426982}.card-picture{height:164px;min-height:164px;position:relative;overflow:visible}.game-card .card-art{object-fit:cover;object-position:center 35%;opacity:1;border:0;width:100%;height:100%;min-height:0;display:block}.game-card .card-art:after{display:none}.game-card .card-price{z-index:4;justify-content:center;width:39px;display:flex;position:absolute;top:-26px;right:-1px}.card-price .effect-token .game-icon{width:39px;height:39px}.card-price .effect-token b{font-size:22px}.game-card .card-access{background:0 0;flex-direction:column;gap:1px;min-height:0;padding:0;display:flex;position:absolute;bottom:3px;left:0}.agent-symbol{background:#161d24e8;border:1px solid #c7c8b4;border-radius:2px;place-items:center;width:23px;height:23px;display:grid;box-shadow:0 1px 2px #0008}.agent-symbol .game-icon{width:21px;height:21px}.card-acquire{z-index:3;flex-direction:column;align-items:center;width:37px;padding:13px 5px 9px;display:flex;position:absolute;top:0;right:0}.card-acquire>.game-icon{width:22px;height:18px}.card-acquire-effects{text-align:center;width:100%;padding:5px 0 0}.card-acquire-effects .effect-group,.card-acquire-effects .effect-tokens{flex-direction:column;align-items:center;gap:3px;display:flex}.card-acquire-effects .game-icon{width:26px;height:26px}.card-effect-boxes{flex-direction:column;flex:1;min-height:0;display:flex}.card-requirements{justify-content:center;padding-top:15px;display:flex}.card-requirements>span{align-items:center;gap:7px;display:inline-flex}.agent-box,.card-passive{color:#272b2e;text-align:center;background:linear-gradient(112deg,#d6c7ab,#e0d4b9 50%,#c8b698);border-top:1px solid #f4eedb;justify-content:center;align-items:center;min-height:30px;padding:5px 4px;line-height:1.3;display:flex}.agent-box{box-shadow:inset 0 0 13px #92765025}.card-passive{padding:4px 6px;font-size:10px}.reveal-box{color:#f7f0dc;text-align:center;background:radial-gradient(at 28% 95%,#5b567442,#0000 65%),repeating-linear-gradient(33deg,#ffffff04 0 1px,#0000 1px 5px),linear-gradient(130deg,#17232f,#19203a 64%,#101521);border-top:2px solid #ebe6d2;flex:1;justify-content:center;align-items:center;min-height:34px;padding:6px 4px;display:flex}.effect-group{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 7px;max-width:100%;display:inline-flex}.effect-tokens{vertical-align:middle;white-space:nowrap;flex-wrap:wrap;justify-content:center;align-items:center;gap:1px;display:inline-flex}.effect-tokens.swords{gap:0}.effect-tokens.swords .game-icon{width:23px}.effect-tokens.troops .game-icon{width:25px}.effect-token{vertical-align:middle;align-items:center;gap:3px;font:700 19px Georgia,serif;display:inline-flex}.effect-token.numbered{justify-content:center;gap:0;position:relative}.effect-token.numbered>b{color:#fff7e4;text-shadow:0 1px 1px #3336;justify-content:center;align-items:center;padding-bottom:1px;display:flex;position:absolute;inset:0}.effect-token.solari>b{color:#23262a;text-shadow:none}.cost-effect,.choice-effect,.choice-branch,.conditional-effect,.influence-effect,.movement-effect,.trash-effect,.recruit-deploy-effect{flex-wrap:wrap;justify-content:center;align-items:center;gap:3px;max-width:100%;display:inline-flex}.cost-effect{flex-wrap:nowrap}.cost-effect>.effect-group{gap:1px}.cost-effect>.game-icon{filter:drop-shadow(0 1px 1px #1d27315c)}.choice-branch>small{margin:0 3px;font-size:9px}.game-card .choice-effect,.game-card .choice-branch,.game-card .choice-branch>.effect-group{display:inline}.game-card .conditional-effect:has(.choice-effect){display:inline}.game-card .conditional-effect:has(.choice-effect)>.effect-group{display:inline}.game-card .choice-branch>small{white-space:nowrap}.effect-condition{align-items:center;gap:2px;display:inline-flex}.effect-condition>b{font-size:11px}.effect-colon{opacity:.65}.conditional-effect .effect-group{gap:2px}.reveal-box .rule-text{color:#f2eddf}.rule-text{font-size:11px;line-height:1.45;display:inline}.rule-text .effect-tokens,.rule-text .effect-token{vertical-align:middle;height:22px;display:inline-flex}.rule-text .effect-tokens .game-icon,.rule-text .effect-token .game-icon{width:21px;height:21px}.rule-text .effect-token{font-size:13px}.excluded-icon{display:inline-flex;position:relative}.excluded-icon:after{content:"";background:#ca3e30;width:24px;height:2px;position:absolute;top:50%;left:1px;transform:rotate(-45deg)}.recruit-deploy-effect{flex-direction:column}.recruit-deploy-effect>.rule-text{display:block}.recruit-deploy-cost{flex-direction:column;align-items:center;gap:3px;width:100%;display:flex}.special-effect[data-handler=imm-horror]>small:first-child{flex-basis:100%;font-size:11px}.special-effect[data-handler=imm-horror]{gap:3px}.game-card.card-playable .card-picture{flex:1;height:auto;min-height:0}.game-card.card-playable .card-effect-boxes{flex:none}.card-playable .agent-box{flex:none;min-height:42px}.card-playable .reveal-box{flex:none;min-height:52px}.card-playable .card-special-rule{color:#572c2b;background:#e0b7b2;border-top:1px solid #f7d8d2;flex:none;box-shadow:inset 0 0 8px #aa565512}.card-playable .card-special-rule .rule-text{font-size:10px}.card-playable .unload-box{background-color:#39282e;border-top-color:#9d3635;padding-left:46px}.unload-mark{width:44px;position:absolute;inset:0 auto 0 0}.game-card.enlarged{zoom:2;cursor:default;border-color:#c9bc94;width:188px;max-width:none;height:310px;margin:0}.game-card.enlarged:hover{transform:none}.movement-effect>b{font:700 13px Georgia,serif}.game-card.card-intrigue .card-picture{display:none}.card-intrigue .card-top{text-align:center;height:37px;min-height:37px;padding:8px 7px}.card-intrigue .card-effect-boxes{background:#161c20;justify-content:center}.card-intrigue .intrigue-effect{box-shadow:none;color:#272b2e;background:radial-gradient(at 50% 20%,#f8e4b855,#0000 65%),repeating-linear-gradient(75deg,#64431607 0 1px,#0000 1px 4px),#baa174;border:0;flex-direction:column;flex:1;padding:16px 9px}.card-intrigue .intrigue-effect+.intrigue-effect{border-top:5px solid #302d2a;box-shadow:inset 0 1px #e2c899}.card-source-text .rule-text{white-space:pre-line}.card-intrigue .effect-tokens>.game-icon{width:35px;height:41px}.card-intrigue .effect-token>.game-icon{width:44px;height:44px}.card-intrigue .effect-token>b{font-size:26px}.card-intrigue .intrigue-effect.timing-combat,.card-intrigue .intrigue-effect.timing-win{color:#fbf3d9;background:radial-gradient(at 50% 10%,#b25c41,#0000 75%),repeating-linear-gradient(75deg,#3816080a 0 1px,#0000 1px 4px),#753a30}.card-intrigue .intrigue-effect.timing-endgame{color:#f8efd5;background:linear-gradient(135deg,#335373,#152535)}.intrigue-timing{color:#e5d7b3;text-align:center;letter-spacing:.2em;background:#161c20;padding:7px 4px;font-size:12px}.card-conflict .card-picture{height:37px;min-height:37px}.card-conflict .abstract-art{background:linear-gradient(174deg,#0000 47%,#765b3c 48% 55%,#0000 56%),linear-gradient(165deg,#b59872 44%,#8d664a 45% 65%,#655545 66%)}.conflict-battle-icon{z-index:1;background:#201b16cc;border-radius:4px;display:flex;position:absolute;top:4px;right:4px}.conflict-rewards{background:#b39570;flex-direction:column;flex:1;min-height:0;display:flex}.reward-tier{border-top:1px solid #e0c398;flex:1;align-items:center;gap:5px;padding:9px 5px;display:flex}.reward-tier>.effect-group{flex:1}.reward-rank{color:#f0dcb6;text-align:center;width:24px;font:700 15px Georgia,serif}.reward-tier.tier-0{color:#f5e5c6;background:#895044}.reward-tier.tier-1{color:#f5e5c6;background:#786252}.reward-tier.tier-2{color:#f5e5c6;background:#62584d}.conflict-rewards>small{text-align:center;color:#e8dcc2;background:#272a29;padding:3px 0;font-size:9px}.card-leader .card-picture{height:133px;min-height:133px}.card-leader .card-art{object-fit:contain;object-position:center bottom;background:radial-gradient(at bottom,#6f6251,#242c35 75%)}.card-leader .card-passive{flex:1;padding:8px}.card-leader .leader-signet{color:#eee5ce;background:#283644;gap:6px;min-height:58px;padding:7px}.card-leader .card-top{padding-right:6px;font-size:13px}.game-card.large{cursor:default;width:370px;max-width:100%;height:auto;min-height:460px;font-size:15px}.game-card.large:hover{transform:none}.game-card.large .card-top{white-space:normal;height:43px;min-height:43px;padding:9px 48px 8px 10px;font-size:20px;line-height:25px}.game-card.large .card-factions{font-size:12px;line-height:19px;top:43px}.game-card.large .card-picture{height:255px;min-height:255px}.game-card.large .card-price{top:-39px}.large .card-price .effect-token .game-icon{width:54px;height:54px}.large .card-price .effect-token b{font-size:29px}.large .agent-symbol{width:33px;height:33px}.large .agent-symbol .game-icon{width:28px;height:28px}.large .card-access{gap:2px;bottom:6px;left:0}.large .agent-box,.large .reveal-box,.large .card-passive{min-height:55px;padding:10px}.large .rule-text{font-size:15px;line-height:1.65}.large .rule-text .effect-token,.large .rule-text .effect-tokens{height:27px}.large .rule-text .effect-token .game-icon,.large .rule-text .effect-tokens .game-icon{width:26px;height:26px}.game-card.large.card-conflict .card-picture{height:60px;min-height:60px}.large .reward-tier{min-height:85px}.large .conflict-rewards>small{font-size:12px}.large.card-intrigue .card-effect-boxes{min-height:340px}.large.card-leader .card-top{padding-right:6px;font-size:19px}.board-effects{justify-content:flex-start;min-height:32px;margin:5px 0;display:flex}.board-effects>.effect-group{justify-content:flex-start;gap:4px}.board-effects .effect-token,.board-effects .effect-tokens{transform-origin:0}.board-effects .rule-text{color:#d3cbb9;font-size:10px;line-height:1.25}.board-hint{color:#a99e89;font-size:9px;line-height:1.3;display:block}.board-space{min-height:107px}.board-space footer{margin-top:5px}.board-space .cost-effect>.game-icon{width:18px}.board-space .effect-tokens{gap:0}.quick-hand{flex-wrap:wrap;gap:5px;margin:10px 0;display:flex}.quick-hand button{color:#d9d5c8;background:#2b2f2c;border:1px solid #605f49;padding:6px 9px;font-size:11px}.quick-hand button.chosen{color:#fff0cc;background:#786044;border-color:#d6b179}.action-button:has(.effect-source){text-align:left;justify-content:space-between;align-items:center;gap:6px;display:flex}.effect-source{max-width:42%;font-size:11px;line-height:1.4}.action-button .effect-tokens .game-icon{width:23px;height:25px}.action-button .effect-token .game-icon{width:26px;height:26px}.action-button .rule-text{flex:1}.action-button .effect-token{font-size:16px}.player-heading>b{overflow-wrap:anywhere;flex:1;min-width:0}.player-heading>strong{flex-shrink:0}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(188px,1fr));gap:26px 20px}.gallery-grid>.game-card{justify-self:center;width:100%;max-width:224px;height:329px}.gallery-grid .game-card.card-playable{justify-self:center;width:188px;height:310px}.gallery-grid .card-picture{height:181px;min-height:181px}.gallery-grid .card-conflict .card-picture{height:37px;min-height:37px}.gallery-grid .card-leader .card-picture{height:145px;min-height:145px}.market-row .game-card,.hand-row .game-card{width:166px;height:296px}.market-row .card-picture,.hand-row .card-picture{height:155px;min-height:155px}.market-row .card-top,.hand-row .card-top{font-size:12px}.hand-row>div,.market-row>div{min-width:166px}.market-row .rule-text,.hand-row .rule-text{font-size:10px}@media (width>=1700px){.market-row .game-card,.hand-row .game-card{width:180px}.market-row>div,.hand-row>div{min-width:180px}}.card-top,.card-factions>span,.agent-box,.reveal-box,.card-acquire{background-repeat:no-repeat;background-size:100% 100%}.game-card .starting-title{justify-content:flex-start;align-items:center;gap:5px;display:flex}.game-card .starting-title>span{min-width:0}.game-card .starting-title>.game-icon{width:14px;height:16px}.game-card.large .starting-title{gap:8px}.game-card.large .starting-title>.game-icon{width:19px;height:22px}.agent-symbol{width:30px;height:22px;box-shadow:none;background:0 0;border:0;border-radius:0}.agent-symbol .game-icon{object-position:left center;width:30px;height:22px}.large .agent-symbol,.large .agent-symbol .game-icon{width:42px;height:30px}.reveal-box{isolation:isolate;position:relative}.reveal-decor{object-fit:contain;z-index:-1;pointer-events:none;width:auto;max-width:20%;height:90%;position:absolute;bottom:0;left:0}.game-card .agent-box .requirement-effect{flex-wrap:wrap;gap:2px}.game-card .agent-box .requirement-effect>.effect-group{display:contents}.game-card .agent-box .requirement-effect>.effect-tokens,.game-card .agent-box .requirement-effect>.effect-group>.effect-tokens{flex-wrap:nowrap}.game-card .agent-box .requirement-effect>.rule-text{white-space:normal}body:has(.game-shell){background:#060c16}body:has(.game-shell) .topbar{background:#080e17;border-color:#8c744333;height:42px;min-height:42px;padding:0 20px}body:has(.game-shell) .topbar .brand{font-size:15px}body:has(.game-shell) .topbar .brand small{display:none}body:has(.game-shell) .topbar button{padding:4px 10px;font-size:11px}.game-shell{isolation:isolate;background:linear-gradient(90deg,#03091266,#03121933),url(/assets/board/nebula.jpg) 50%/cover;max-width:none;min-height:calc(100dvh - 42px);padding:8px 16px 12px;position:relative;overflow:hidden}.game-shell:before{content:"";z-index:-1;opacity:.72;pointer-events:none;background:radial-gradient(circle at 65% 22%,#0000 10%,#24130a77 50%,#020610 73%),url(/assets/board/arrakis.jpg) 50%/cover;border-radius:50%;width:85vw;height:85vw;position:absolute;top:28%;left:24%;box-shadow:-8px -8px 35px #e8ad5933,0 0 3px #f2c584}.game-heading{min-height:45px;margin:0 0 8px}.game-heading .eyebrow{letter-spacing:.28em;margin:0 0 3px;font-size:8px}.game-heading h1{font-size:18px}.game-heading h1 span{font-size:13px}.game-heading-right{gap:12px}.game-heading-right button{background:#101d2be6;border-color:#8e785666;padding:5px 9px}.table-layout{grid-template:"players board board market"minmax(400px,1fr)"players hand action market"235px/190px minmax(420px,1fr) 270px 130px;gap:10px 16px;height:calc(100dvh - 115px);min-height:640px;display:grid}.board-column,.action-column{display:contents}.players-column{grid-area:players;gap:10px;min-height:0}.player-panel{border:1px solid #a38a5466;border-left:3px solid var(--player);text-align:left;background:linear-gradient(130deg,#223848ee,#101923ee);border-radius:0 12px 0 0;width:100%;padding:0 10px 9px;position:relative}.player-panel:hover:not(:disabled){border-color:var(--player);background:#203747}.player-panel.active{box-shadow:0 0 17px color-mix(in srgb, var(--player) 35%, transparent), inset 0 2px var(--player)}.self-player{margin-top:auto}.player-portrait-row{align-items:center;gap:10px;height:42px;display:flex}.player-avatar{object-fit:cover;object-position:center top;align-self:end;width:45px;height:49px}.player-score{place-items:center;display:grid;position:relative}.player-score b{color:#fff;text-shadow:0 2px 4px #000;font-size:21px;position:absolute}.player-agents{color:var(--player);padding-bottom:12px;display:flex;position:relative}.player-agents small{white-space:nowrap;font-size:9px;position:absolute;bottom:-2px}.player-heading{margin:5px 0 3px;font-size:13px}.player-name{color:#aabcc9;font-size:10px}.player-resources{flex-wrap:wrap;gap:14px;display:flex}.player-resources>span{align-items:center;gap:5px;display:inline-flex}.player-panel .player-resources{flex-wrap:nowrap;gap:6px;margin-top:6px}.player-panel .player-resources>span{gap:3px;font-size:12px}.player-panel .player-resources .game-icon{width:17px;height:17px}.player-footer{color:#b8c9d3;gap:4px;margin-top:8px;font-size:9px}.player-footer>span:last-child{color:#dec494;justify-content:space-between;display:flex}.board-panel{background:0 0;border:0;grid-area:board;min-height:0;margin:0;padding:0}.board-panel>.section-title{justify-content:center;height:22px;margin:0 0 5px}.board-panel>.section-title h2{display:none}.board-panel>.section-title span{color:#e1ddd1;font-size:13px}.board-groups{grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:1.15fr 1fr 1fr 1fr;gap:9px 14px;height:calc(100% - 27px);display:grid}.board-group{border:0;border-left:2px solid var(--faction);background:#07101c88;border-radius:0;min-width:0;padding:4px 7px;position:relative}.board-group.emperor{--faction:#aeacaa;grid-area:1/1}.board-group.guild{--faction:#ee5359;grid-area:2/1}.board-group.bene{--faction:#c194e4;grid-area:3/1}.board-group.fremen{--faction:#5fb8e4;grid-area:4/1}.board-group.landsraad{--faction:#5dcd79;grid-area:1/2/2/5}.board-group.city{--faction:#7795ff;background:0 0;border:0;grid-area:2/2/4/4}.board-group.spice{--faction:#eabd43;background:0 0;border:0;grid-area:2/4/5/5}.board-group h3{color:var(--faction);letter-spacing:.1em;height:20px;margin:0 0 3px;font-size:10px}.board-group h3 .game-icon{width:18px;height:18px}.board-group .spaces{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;height:calc(100% - 23px)}.board-group.landsraad .spaces{grid-template-columns:repeat(5,minmax(0,1fr))}.board-group.city .spaces{grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:20px}.board-group.spice .spaces{grid-template-columns:1fr;gap:8px}.board-space{border:1px solid color-mix(in srgb, var(--faction) 65%, transparent);background:linear-gradient(110deg,#08101ae6,#0c1422b3);border-radius:0 15px;flex-direction:column;justify-content:center;min-height:0;padding:5px 7px;display:flex}.board-space:hover:not(:disabled){border-color:var(--faction);background-color:#172636}.board-space b{color:#f2ead9;font-size:10px}.board-space.legal{box-shadow:inset 0 0 15px color-mix(in srgb, var(--faction) 16%, transparent);border-color:var(--faction)}.board-space.picked{background:#244350;outline:2px solid #c5f6fa;box-shadow:0 0 12px #80e2eb88}.board-effects{min-height:22px;margin:3px 0}.board-effects .game-icon{width:21px;height:21px}.board-effects .effect-token b{font-size:13px}.board-effects .rule-text{font-size:9px}.board-space footer{margin-top:2px;font-size:9px}.board-hint{font-size:8px}.board-group.spice .board-hint{display:none}.board-group.spice .spaces{grid-template-rows:repeat(4,1fr) 1.3fr}.board-group.spice .board-space{grid-template-columns:1fr auto;gap:1px 4px;display:grid}.board-group.spice .board-space .board-effects{grid-column:1/-1}.board-group.spice .board-space footer{grid-area:1/2}.board-group.bene .board-effects .rule-text{font-size:8px}.city .board-space:nth-child(n+3){background-image:linear-gradient(90deg,#0b1421aa,#0b142166),url(/assets/board/research-spaces.webp)}.city .board-space{background-image:linear-gradient(90deg,#0b1421aa,#0b142166),url(/assets/board/city-spaces.webp);background-position:50%,bottom;background-size:cover,100% 200%;min-height:80px}.city .board-space:nth-child(2n){background-position:50%,top}.spice .board-space{background-image:linear-gradient(90deg,#191308cc,#19130888),url(/assets/board/desert-spaces.webp);background-size:cover,100% 200%}.market-panel{scrollbar-width:thin;background:#0e2234c9;border:1px solid #58758a66;grid-area:market;margin:0;padding:8px;overflow-y:auto}.market-panel .section-title{gap:4px;margin-bottom:8px;display:grid}.market-panel .section-title h2{font-size:12px}.market-panel .section-title span{font-size:10px}.market-row{flex-direction:column;gap:8px;padding:0 0 5px;display:flex;overflow:visible}.market-row>div{flex:none;min-width:0}.market-row .game-card{border-radius:2px;width:100%;min-width:0;height:100px}.market-row .game-card .card-top{height:22px;min-height:22px;padding:3px 5px;font-size:10px;line-height:14px}.market-row .card-picture{flex:1;min-height:0}.market-row .card-picture .card-art{height:100%;min-height:0}.market-row .card-access,.market-row .card-effect-boxes,.market-row .card-factions,.market-row .card-acquire{display:none}.market-row .card-price{transform-origin:100% 0;transform:scale(.8)}.reserve-row{gap:5px;padding-top:5px;display:grid}.reserve-row button{text-align:left;font-size:9px}.hand-panel{scrollbar-width:thin;background:linear-gradient(#101c2baa,#071221f5);border:1px solid #81bec84d;border-radius:0;grid-area:hand;min-width:0;margin:0;padding:7px 10px;overflow-y:auto}.hand-panel .section-title{margin-bottom:2px}.hand-panel .section-title h2{font-size:12px}.hand-row{gap:7px;padding:4px 3px 6px}.hand-row>div{flex-shrink:0}.hand-row .game-card{width:123px;min-width:123px;height:174px}.hand-row>div{min-width:123px}.hand-row .game-card .card-top{height:23px;min-height:23px;padding-top:2px;font-size:10px}.hand-row .card-picture{height:61px;min-height:61px}.hand-row .card-picture .card-art{height:61px}.hand-row .card-effect-boxes{font-size:9px}.hand-row .card-access{transform-origin:0 100%;transform:scale(.65)}.hand-row .agent-box,.hand-row .reveal-box{min-height:30px;padding:3px 7px}.hand-row .game-icon{max-width:23px;max-height:23px}.hand-row .text-link{padding:2px}.intrigue-row{padding-top:4px}.intrigue-row button{padding:3px 6px}.action-panel{scrollbar-width:thin;background:#081420ed;border:1px solid #b1915666;border-radius:0;grid-area:action;min-height:0;margin:0;padding:9px 12px;overflow-y:auto}.action-panel .section-title{margin-bottom:3px}.action-panel h2{font-size:14px}.action-intro{margin:4px 0;font-size:10px}.selected-space-description{color:#d7c59f;background:#31435377;padding:6px;font-size:11px;line-height:1.6}.board-effects .rule-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.action-buttons{gap:5px;max-height:none;overflow:visible}.action-button{background:#253b4e;border-color:#b19a64;padding:6px 9px}.action-button.secondary{color:#f4d694;text-align:center;background:linear-gradient(110deg,#1b455c,#183448);border-color:#b89c61}.quick-hand{gap:3px;margin:5px 0}.quick-hand button{padding:3px 5px;font-size:9px}.action-panel .helper{margin:4px 0;font-size:10px}.log-panel{z-index:20;background:#0a1727f5;width:340px;position:fixed;top:100px;bottom:30px;right:160px;overflow:auto;box-shadow:0 15px 60px #000b}.log-panel[hidden]{display:none}.log-panel ol{max-height:none}.log-close{float:right;padding:2px 5px;font-size:10px}.player-detail{color:#e8e7de;background:radial-gradient(at 10% 0,#173a3dcc,#0000 60%),#0b1017;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:auto;padding:0;position:fixed;inset:0;overflow-y:auto}.player-detail::backdrop{background:#030810d9}.player-detail[open]{flex-direction:column;display:flex}.detail-hero,.detail-tabs,.detail-bottom{flex-shrink:0}.detail-pile{flex:1 0 auto}.detail-hero{isolation:isolate;background:linear-gradient(110deg,#071c24b3,#101016dd),url(/assets/board/nebula.jpg) 50%/cover;min-height:440px;padding:24px 6% 20px;position:relative;overflow:hidden}.detail-portrait{z-index:-1;object-fit:contain;object-position:bottom right;opacity:.95;width:40%;height:100%;position:absolute;top:12px;right:3%;-webkit-mask-image:linear-gradient(90deg,#0000,#000 25%);mask-image:linear-gradient(90deg,#0000,#000 25%)}.detail-header{border-top:1px solid #ad955f88;border-bottom:1px solid #ad955f88;border-left:3px solid var(--player);background:linear-gradient(110deg,#213742e8,#0a1422aa);width:max-content;max-width:68%;padding:10px 30px 13px 18px}.detail-header>span{margin-bottom:9px;font-size:14px;display:block}.detail-header .player-resources{gap:22px}.detail-header .player-resources b{font-size:19px}.detail-identity{width:56%;margin-top:22px}.detail-player-switch{align-items:center;gap:18px;display:flex}.detail-player-switch>div{flex:1}.detail-player-switch button{background:0 0;border:0;padding:8px 4px;font-size:28px}.detail-player-switch h1{margin:5px 0 10px;font-size:30px;font-weight:500}.detail-player-switch .eyebrow{color:#91bbc2;margin:0;font-size:10px}.leader-ability{border-top:1px dotted #8c9c9d;margin:8px 45px;padding-top:8px;font-size:13px;line-height:1.8}.signet-ability{background:linear-gradient(90deg,#87601655,#0000);border:0;gap:12px;padding:6px 10px;display:flex}.detail-facts{background:#07111cd9;border-top:1px solid #96774666;width:72%;margin-top:22px;padding:12px 15px;position:relative}.detail-counts{flex-wrap:wrap;gap:12px 25px;display:flex}.detail-counts>span{gap:5px;display:grid}.detail-counts small{color:#9db4c1;font-size:10px}.detail-counts b{font-size:19px;font-weight:500}.detail-upgrades{color:#dbbe89;flex-wrap:wrap;gap:20px;margin-top:12px;font-size:11px;display:flex}.detail-influence{flex-wrap:wrap;gap:20px;margin:12px 0;display:flex}.detail-influence>span{align-items:center;gap:6px;font-size:11px;display:flex}.detail-influence em{color:#e4c777;font-size:10px;font-style:normal}.detail-locations{color:#afc0cb;gap:6px;font-size:10px;line-height:1.6;display:grid}.detail-tabs{z-index:1;background:#0b1721;border-bottom:1px solid #ab8b4b66;justify-content:center;height:auto;min-height:56px;display:flex;position:sticky;top:0}.detail-tabs button{color:#adbfc9;background:0 0;border:0;border-radius:0;width:22%;padding:16px 10px;font-size:16px;position:relative}.detail-tabs button[aria-pressed=true]{color:#e8ecdf;background:linear-gradient(#0000,#548ca322);box-shadow:inset 0 -2px #96e4ed}.detail-tabs button span{color:#d4b678;margin-left:12px;font-size:12px}.detail-pile{min-height:220px;padding:22px 6% 30px}.detail-cards{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.detail-cards .game-card{width:188px;height:310px}.detail-card-entry>small{color:#9cbbc5;text-align:center;margin-bottom:7px;font-size:11px;display:block}.detail-empty{text-align:center;color:#7b8e9f;padding:60px 0}.detail-pile-note{color:#b3a685;text-align:center;margin-top:0;font-size:12px}.detail-bottom{background:#0c111aee;border-top:1px solid #ad8a4844;justify-content:space-between;align-items:center;padding:12px 4%;display:flex;position:sticky;bottom:0}.detail-bottom>span{color:#7e9aa7;font-size:11px}.detail-close{color:#f7d29a;background:linear-gradient(110deg,#662d28,#39202a);border:1px solid #c49c5b;padding:10px 38px}.player-detail .modal-backdrop{z-index:60}@media (width>=761px) and (width<=1599px){.player-panel{flex:none;min-height:0;padding-bottom:8px;line-height:1.3}.player-heading{margin:4px 0 2px}.player-footer{margin-top:6px}.detail-hero{padding-top:16px;padding-bottom:14px}.detail-header{padding-top:8px;padding-bottom:8px}.detail-identity{margin-top:14px}.detail-player-switch h1{margin-bottom:5px;font-size:26px}.leader-ability{margin-top:5px;margin-bottom:5px;padding-top:5px}.detail-facts{margin-top:12px;padding:8px 12px}.detail-influence{margin:8px 0}.detail-counts{gap:8px 22px}.detail-counts>span{gap:2px}.detail-upgrades{margin-top:8px}}@media (width>=1600px){.table-layout{grid-template-rows:minmax(490px,1fr) 300px;grid-template-columns:235px minmax(600px,1fr) 310px 160px;gap:16px 22px}.player-portrait-row{height:80px}.player-avatar{width:72px;height:88px}.player-panel{padding:0 14px 14px}.player-heading{font-size:16px}.player-panel .player-resources .game-icon{width:25px;height:25px}.board-space{padding:8px 10px}.board-space b{font-size:13px}.board-effects .game-icon{width:30px;height:30px}.board-hint,.board-effects .rule-text{font-size:11px}.hand-row .game-card{width:160px;height:228px}.hand-row .card-picture,.hand-row .card-picture .card-art{height:95px;min-height:95px}.market-row .game-card{height:135px}.detail-hero{min-height:540px;padding-top:30px}.detail-identity{margin-top:30px}.detail-player-switch h1{font-size:40px}.leader-ability{font-size:16px}.detail-facts{margin-top:35px}}@media (width<=1100px){.table-layout{grid-template:"players board market"540px"players hand market""players action market"/165px minmax(450px,1fr) 120px;height:auto}.board-groups{grid-template-columns:1.2fr 1fr 1fr 1fr}.board-group.landsraad .spaces{grid-template-columns:repeat(3,1fr)}.game-heading-right{gap:4px}.detail-facts{width:90%}}@media (width<=760px){.game-shell{padding:8px}.game-heading{flex-wrap:wrap;gap:8px}.table-layout{flex-direction:column;display:flex}.players-column{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.self-player{margin:0}.board-panel{min-height:900px}.board-groups{grid-template-columns:1fr 1fr;height:auto;display:grid}.board-group{min-height:140px;grid-area:auto!important}.board-group.landsraad,.board-group.city,.board-group.spice{grid-column:1/-1!important}.board-group .spaces{height:auto}.board-space{min-height:85px}.conflict-panel{grid-area:auto/1/auto/-1;min-height:120px}.market-row{flex-direction:row;overflow-x:auto}.market-row>div{min-width:120px}.market-row .game-card{height:130px}.reserve-row{display:flex}.hand-panel{order:2}.action-panel{order:3}.market-panel{order:4}.log-panel{width:auto;inset:80px 10px 10px}.detail-hero{padding:16px}.detail-header{width:100%;max-width:100%}.detail-identity{width:100%}.detail-portrait{opacity:.25;width:65%}.detail-player-switch h1{font-size:24px}.leader-ability{margin-left:10px;margin-right:10px}.detail-facts{width:100%}.detail-tabs button{width:25%;font-size:13px}.detail-tabs button span{margin-left:5px}}.player-agent{object-fit:contain;flex-shrink:0;width:21px;height:32px}.player-agent.deployed{opacity:.28}.board-group.faction-group{background:0 0;border:0;padding:0 0 0 66px}.faction-group h3{z-index:1;pointer-events:none;opacity:.8;height:auto;font-size:9px;position:absolute;top:2px;right:5px}.faction-group h3 .game-icon{display:none}.board-group.faction-group .spaces{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:minmax(0,1fr);gap:4px;height:100%}.faction-track{background:linear-gradient(90deg, #9c844750, color-mix(in srgb, var(--faction) 35%, #14171b));border:1px solid #bca461;grid-template-rows:repeat(7,minmax(0,1fr));width:43px;display:grid;position:absolute;top:0;bottom:0;left:17px}.faction-level{border-bottom:1px solid #bca46199;align-items:center;min-height:0;display:flex;position:relative}.faction-level:last-child{background:#080f18;border-bottom:0}.track-level-number{color:#ddd4b7;opacity:.7;font-size:7px;position:absolute;top:0;right:1px}.track-markers{z-index:1;grid-template-columns:repeat(4,8px);justify-content:center;gap:2px;width:100%;display:grid;position:relative}.track-marker{background:var(--player);border:1px solid #fff9;border-radius:0;width:8px;min-width:0;height:8px;padding:0;display:block;box-shadow:0 1px 2px #000}.track-marker:hover:not(:disabled){background:var(--player);outline:1px solid #fff}.track-marker.allied{outline:1px solid #ffdc70}.track-reward{align-items:center;display:flex;position:absolute;right:calc(100% + 2px)}.track-reward b{color:#fff;text-shadow:0 1px 3px #000;font-size:10px;position:absolute;right:4px}.track-alliance{opacity:.5;position:absolute;left:10px}.board-group .board-space{padding:5px 7px 5px 37px;position:relative;overflow:hidden}.board-group.spice .board-space{display:flex}.board-group .board-space.occupied{background:linear-gradient(110deg,#43474deb,#22262ceb);border-color:#8b9096;padding-right:30px;box-shadow:inset 0 0 15px #0006}.board-space.occupied .board-effects,.board-space.occupied .space-name,.board-space.occupied .board-hint{opacity:.55}.board-space.occupied.legal{outline:1px dashed var(--faction)}.board-space.occupied.picked{outline:2px solid #c5f6fa}.space-entry{background:color-mix(in srgb, var(--faction) 20%, #080e18aa);border-right:1px solid #fff2;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:30px;display:flex;position:absolute;top:0;bottom:0;left:0}.entry-cost{place-items:center;display:grid;position:relative}.board-space .entry-cost b{color:#fff;text-shadow:0 1px 3px #000,0 0 2px #000;font-size:13px;position:absolute}.entry-requirement{align-items:center;gap:1px;display:flex}.space-occupants{z-index:2;flex-wrap:wrap;justify-content:flex-end;max-width:48px;display:flex;position:absolute;top:50%;right:3px;transform:translateY(-50%)}.space-occupants .player-agent{filter:drop-shadow(0 2px 2px #000);width:23px;height:36px}.faction-group .board-space{padding-top:9px}.faction-group .board-space .space-name{line-height:1}.faction-group .board-effects{min-height:0;margin:2px 0}@media (width>=1600px){.faction-track{width:49px}.board-group.faction-group{padding-left:74px}.track-markers{grid-template-columns:repeat(4,9px)}.track-marker{width:9px;height:9px}.board-group .board-space{padding-left:44px}.space-entry{width:36px}.space-occupants .player-agent{width:29px;height:46px}.board-group .board-space.occupied{padding-right:38px}}@media (width<=900px){.board-group.faction-group{min-height:170px}}.faction-group h3,.faction-group .board-space footer:empty{display:none}@media (width>=901px) and (width<=1599px){.faction-group .board-space{padding-top:3px;padding-bottom:3px}.faction-group .board-effects .game-icon{width:18px;height:18px}.faction-group .board-effects .rule-text{display:none}.faction-group .space-entry{gap:0}.faction-group .space-entry>.game-icon{width:17px;height:17px}.faction-group .entry-cost .game-icon{width:19px;height:19px}}.table-layout{--players-width:190px;--table-gap:16px;--market-width:130px;--action-width:270px;--dock-height:250px;grid-template-columns:var(--players-width) minmax(0, 1fr);grid-template-rows:minmax(0,1fr);grid-template-areas:"players board";position:relative}.board-panel{padding-right:calc(var(--market-width) + var(--table-gap));padding-bottom:calc(var(--dock-height) + 12px)}.board-group.city{grid-area:2/2/3/4}.board-group.city .spaces{gap:5px 12px}.city .board-space{min-height:0}.card-overlay{z-index:8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:absolute;box-shadow:0 6px 28px #0008}.card-overlay[hidden]{display:none}.hand-panel.card-overlay{left:calc(var(--players-width) + var(--table-gap));bottom:0;right:calc(var(--market-width) + var(--action-width) + var(--table-gap) * 2);height:var(--dock-height);border-radius:9px 9px 0 0;grid-area:auto}.market-panel.card-overlay{width:var(--market-width);border-radius:9px 0 0 9px;grid-area:auto;top:0;bottom:0;right:0}.hand-panel .section-title,.market-panel .section-title{z-index:3;background:#0c1b29f2;padding:5px 0;position:sticky;top:-7px}.market-panel .section-title{grid-template-columns:1fr auto;align-items:center}.market-panel .section-title>span{grid-column:1/-1}.hand-filters,.hand-tools{align-items:center;gap:6px;display:flex}.hand-filters button{padding:3px 8px;font-size:12px}.hand-filters button[aria-pressed=true]{color:#ffe5a0;background:#334453;border-color:#d9b960}.overlay-collapse{white-space:nowrap;padding:3px 5px;font-size:10px}.overlay-tab{z-index:8;color:#f1d491;background:#112b3df2;border:1px solid #b7a06a;padding:10px 22px;position:absolute;box-shadow:0 0 16px #0007}.hand-tab{left:calc(var(--players-width) + var(--table-gap));bottom:0}.market-tab{top:0;right:0}.table-layout .action-panel{bottom:0;right:calc(var(--market-width) + var(--table-gap));width:var(--action-width);height:var(--dock-height);z-index:4;grid-area:auto;position:absolute}.conflict-panel{background:linear-gradient(110deg,#6c4a30d9,#20191adc),url(/assets/board/arrakis.jpg) 50%/cover;border:1px solid #c0985b99;border-radius:3px;grid-area:3/2/5/4;grid-template-rows:28px minmax(0,1fr);grid-template-columns:minmax(0,1fr) 92px;gap:5px;min-width:0;min-height:0;margin:0;padding:0;display:grid;overflow:hidden}.conflict-panel h2{background:linear-gradient(100deg,#231e1df5,#822724d9);grid-column:1/-1;justify-content:space-between;align-items:center;margin:0;padding:3px 8px;font-size:15px;display:flex}.conflict-panel h2>span{background:#35657e;border:1px solid #c7a875;padding:0 20px;font-size:12px}.conflict-title{align-items:center;gap:4px;display:inline-flex}.conflict-field{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;min-height:0;padding:2px 7px 7px;display:grid;position:relative}.conflict-field:before{content:"";opacity:.13;pointer-events:none;background:url(/assets/board/conflict-swords.png) 50%/contain no-repeat;position:absolute;inset:8% 22%}.combat-seat{z-index:1;min-width:0;position:relative}.combat-player{background:#1b151dcc;border:0;border-radius:5px;flex-direction:column;width:51px;padding:0;display:flex;overflow:hidden}.combat-portrait{border-top:4px solid var(--player);background:linear-gradient(135deg,#77848477,#121924);width:100%;height:44px;display:block;overflow:hidden}.combat-portrait img{object-fit:cover;object-position:center 15%;transform-origin:top;width:100%;height:100%;transform:scale(1.3)}.combat-strength{border:2px solid var(--player);background:#080a0de6;border-radius:3px;justify-content:center;align-items:center;gap:5px;width:100%;height:22px;display:flex}.combat-strength b{color:#fff;font-size:19px;line-height:1}.combat-strength .game-icon{width:16px;height:16px}.troop-cube{--troop-top-light:color-mix(in srgb, var(--player), white 50%);--troop-top-dark:var(--player);--troop-left-light:var(--player);--troop-left-dark:color-mix(in srgb, var(--player), black 22%);--troop-right-light:color-mix(in srgb, var(--player), black 12%);--troop-right-dark:color-mix(in srgb, var(--player), black 40%);flex-shrink:0;width:15px;height:16px;display:inline-block}.troop-cube svg{width:100%;height:100%;display:block}.combat-commanders{align-items:center;gap:2px;display:inline-flex}.space-commander{pointer-events:none;position:absolute;top:3px;right:4px}.board-space:has(.space-commander) .space-name{padding-right:28px}.board-space:has(.space-commander){min-height:62px}.combat-seat:nth-child(2n) .combat-player{margin-left:auto}.conflict-reward-summary{text-align:left;background:#230c0deb;border:1px solid #a17554;border-radius:3px;grid-template-rows:repeat(3,minmax(0,1fr));gap:4px;min-width:0;margin:0 4px 5px 0;padding:4px;display:grid}.conflict-reward-line{background:#923934c9;border-radius:3px;flex-direction:column;justify-content:center;gap:3px;min-height:0;padding:3px 5px;display:flex}.conflict-reward-line>small{color:#ead7c8;font-size:10px}.conflict-reward-line .effect-group{gap:2px}.conflict-reward-line .game-icon{width:19px;height:19px}.conflict-reward-line .effect-token b{font-size:12px}.conflict-reward-line.unavailable{opacity:.35}@media (width>=1600px){.table-layout{--players-width:235px;--table-gap:22px;--market-width:160px;--action-width:310px;--dock-height:285px}.conflict-panel{grid-template-rows:36px minmax(0,1fr);grid-template-columns:minmax(0,1fr) 125px}.conflict-panel h2{font-size:21px}.conflict-field{gap:12px 25px;padding:5px 12px 12px}.combat-player{width:78px}.combat-portrait{height:75px}.combat-strength{height:27px}.combat-strength b{font-size:24px}.troop-cube{width:15px;height:17px}.conflict-reward-line{padding:7px}.conflict-reward-line .game-icon{width:27px;height:27px}}@media (width<=1100px){.table-layout{--players-width:165px;--market-width:120px;--action-width:230px;min-height:820px}.hand-panel.card-overlay{right:calc(var(--market-width) + var(--table-gap));bottom:calc(var(--dock-height) + 8px)}.board-panel{padding-bottom:calc(var(--dock-height) * 2 + 24px)}.table-layout .action-panel{left:calc(var(--players-width) + var(--table-gap));width:auto}}@media (width<=760px){.table-layout{min-height:0;padding-bottom:250px;display:flex}.board-panel{padding:0}.board-group.city{grid-area:auto/1/auto/-1}.conflict-panel{grid-area:auto/1/auto/-1;height:230px}.hand-panel.card-overlay{height:230px;position:fixed;bottom:8px;left:8px;right:8px}.market-panel.card-overlay{width:140px;position:fixed;top:90px;bottom:255px;right:8px}.hand-tab{position:fixed;bottom:8px;left:8px}.market-tab{position:fixed;top:90px;right:8px}.table-layout .action-panel{width:100%;height:auto;position:static}.market-row{flex-direction:column}.market-row>div{min-width:0}.reserve-row{display:grid}}@media (width>=761px){.board-group.city .spaces{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=761px) and (width<=1599px){.board-space[data-space-id=sell-melange] .board-effects{min-height:0}.board-space[data-space-id=sell-melange] .rule-text{line-height:1.4}.board-space[data-space-id=sell-melange] .board-effects .game-icon{width:14px;height:14px}}.city .board-space[data-space-id=custom-secret-base]{background-image:linear-gradient(90deg,#0b1421aa,#0b142166),url(/assets/board/city-spaces.webp);background-position:50%,top;background-size:cover,100% 200%}.card-hover-target{display:contents}.card-hover-preview{z-index:10000;pointer-events:none;filter:drop-shadow(0 10px 24px #000c);position:fixed}.card-hover-preview>div{width:376px}.card-hover-preview .game-card.large{border:3px solid #c9bc94;width:376px;max-width:none;height:620px;margin:0;box-shadow:0 0 16px #86e4ee66}.card-hover-preview .game-card.large .card-picture{height:240px;min-height:240px}.card-hover-preview .game-card.large.card-conflict .card-picture{height:60px;min-height:60px}.card-hover-preview .game-card.large.card-leader .card-picture{height:300px;min-height:300px}.card-hover-preview .game-card.large.card-intrigue .card-effect-boxes{min-height:0}.card-hover-preview .game-card.large .card-art{height:100%}.reserve-label{color:#e8d8ad;border-bottom:1px solid #ceb78333;padding:7px 3px;font-size:11px;display:block}.reserve-label b{float:right}.market-expand{color:#f3d48f}.dragging-hand .board-space:not(.legal){opacity:.4}.dragging-hand .board-space.legal{outline:2px solid #ffe877;box-shadow:0 0 18px #ffd95e99,inset 0 0 20px #ffe98733}.hand-row [draggable=true]{cursor:grab}.hand-row .game-card.selected{border-color:#a7ffff;outline-color:#a7ffff;box-shadow:0 0 18px #64dee9bb}.presentation-history{z-index:9;gap:6px;display:flex;position:absolute;top:58px;right:160px}.presentation-history button{background:#0d1a25b3;padding:3px 8px;font-size:10px}.match-presentation{z-index:25;color:#f0e4cd;border:1px solid #bb965b;animation:.25s ease-out sq-arrive;position:fixed;box-shadow:0 12px 60px #0009}.presentation-close{z-index:2;background:#09151bd9;font-size:12px;position:absolute;top:12px;right:12px}.action-toast{border-left:4px solid var(--player);background:linear-gradient(135deg,#09161df5,#19121af5);width:285px;padding:16px;top:26%;left:18px}.action-toast header{border-bottom:2px solid var(--player);align-items:end;gap:14px;padding-top:20px;display:flex}.action-toast header img{object-fit:cover;object-position:top;width:66px;height:74px}.action-toast h2{color:#f8ce8d;margin:5px 0;font-size:27px;font-weight:400}.action-toast p{font-size:12px;line-height:1.6}.toast-cards{gap:7px;max-height:250px;display:flex;overflow:auto}.toast-cards .game-card{flex-shrink:0;width:145px;height:232px}.toast-cards .card-picture{height:75px;min-height:75px}.toast-cards .card-top{font-size:11px}.ceremony{background:radial-gradient(at 90% 10%,#832016bb,#0000 70%),linear-gradient(125deg,#190506f5,#351414f5);border:1px solid #bc743e;padding:32px 5%;inset:10% 15% 13%;overflow:auto}.ceremony>small{color:#d3b38a;letter-spacing:.18em}.ceremony h2{color:#f6bd6a;margin:16px 0 8px;font-size:clamp(26px,3vw,52px);font-weight:400;position:relative}.ceremony h3{color:#e78f81;margin:8px 0 20px;font-size:22px;font-weight:400;position:relative}.ceremony-rewards{gap:14px;padding:18px 0;display:flex}.ceremony-rewards>div{background:linear-gradient(145deg,#8b302d,#4a181c);border:1px solid #b77944;border-radius:8px;flex:1;min-width:0;padding:20px}.ceremony-rewards>div>span{margin-bottom:20px;font-size:24px;display:block}.ceremony-rewards .game-icon{width:40px;height:40px}.ceremony-rewards .unavailable{opacity:.4}.ceremony-rewards small{margin-top:15px;display:block}.ceremony-continue{color:#ffe3a4;background:linear-gradient(135deg,#214761,#356784);border:2px solid #aa854a;min-width:170px;margin:22px auto 0;padding:10px 22px;display:block;position:relative}.ceremony-winner{object-fit:contain;object-position:right bottom;opacity:.75;width:48%;height:90%;position:absolute;bottom:0;right:1%;-webkit-mask-image:linear-gradient(90deg,#0000,#000 30%);mask-image:linear-gradient(90deg,#0000,#000 30%)}.combat-results{width:78%;position:relative}.combat-results>div{border-bottom:2px solid var(--player);background:#170c10dc;grid-template-columns:auto 42px minmax(60px,1fr) 50px minmax(100px,1.4fr);align-items:center;gap:10px;margin:10px 0;padding:9px;display:grid}.combat-results img{object-fit:cover;object-position:top;width:42px;height:46px}.combat-results>div>span{overflow-wrap:anywhere;min-width:0;font-size:12px}.combat-results strong{align-items:center;min-width:50px;display:flex}.combat-results .effect-group{flex-wrap:wrap;min-width:0}.combat-result-rank{white-space:nowrap;font-size:13px}.combat-result-reward{overflow-wrap:anywhere;gap:6px;min-width:0;display:grid}.combat-result-reward>small{color:#f3cd92;font-size:11px}.ceremony-note{color:#dcbf9c;font-size:11px;position:relative}.market-overview{color:#e8e3d5;background:linear-gradient(135deg,#172738ef,#101521f5);border:2px solid #aa976d;width:min(1500px,96vw);max-width:96vw;max-height:94dvh;padding:22px 26px}.market-overview::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#020813b3}.market-overview[open]{flex-direction:column;height:min(900px,94dvh);display:flex;overflow:hidden}.market-overview-body{min-height:0;padding:0 6px 8px;overflow:auto}.market-overview header{border-bottom:1px solid #a4926044;justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.market-overview h2{letter-spacing:.18em;font-weight:400}.overview-cards{flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:18px;display:flex}.overview-cards>div{flex-direction:column;align-items:center;gap:8px;display:flex}.overview-cards .game-card{flex:1;width:176px;height:auto;min-height:300px}.overview-cards .agent-box{flex-shrink:0}.overview-cards .reveal-box{min-height:54px}.overview-cards .card-top{font-size:12px}.overview-cards .card-picture{height:110px;min-height:110px}.overview-cards button:not(.game-card){font-size:11px}.market-overview footer{background:#111b27ee;flex-shrink:0;justify-content:center;padding:12px 0 0;display:flex;position:static}.market-overview>header{flex-shrink:0}.market-overview footer button{color:#ffe2a0;background:#772c2b;border-color:#c9a263;width:180px}.market-overview h3{text-align:center;color:#d5bd88;font-weight:400}.reserve-overview .game-card{width:145px;height:230px}.reserve-overview .card-picture{height:75px;min-height:75px}.reserve-overview>div>span{font-size:12px}@keyframes sq-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.match-presentation{animation:none}}@media (width>=1101px){.game-shell{padding:5px 12px 8px}.game-shell:before{opacity:.92;top:24%;left:24%}.game-heading{min-height:39px;margin-bottom:4px}.game-heading .eyebrow{display:none}.table-layout{--players-width:174px;--table-gap:16px;--market-width:108px;--action-width:245px;--dock-height:195px;grid-template-columns:var(--players-width) minmax(0, 1fr);gap:var(--table-gap);grid-template-rows:minmax(0,1fr);height:calc(100dvh - 95px);min-height:620px}.board-panel{padding-bottom:206px}.board-groups{grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:1.12fr 1fr 1fr 1fr;gap:12px 17px}.board-group.landsraad{background:0 0;border:0;padding:0}.board-group.landsraad .spaces{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr))}.board-group h3{height:16px;font-size:9px}.board-group .spaces{height:calc(100% - 19px)}.board-group.faction-group .spaces{height:100%}.board-group.city{grid-area:2/2/4/4}.board-group.city .spaces{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));align-content:stretch;gap:20px 26px}.board-group.spice{grid-area:2/4/4/5}.board-group.spice .spaces{gap:5px}.conflict-panel{grid-area:4/2/5/5;grid-template-rows:24px minmax(0,1fr);grid-template-columns:minmax(0,1fr) 105px;min-height:116px}.conflict-field{grid-template-rows:1fr;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.combat-player{width:42px}.combat-portrait{height:38px}.combat-seat:nth-child(2n) .combat-player{margin-left:0}.conflict-reward-line{flex-direction:row;justify-content:start;align-items:center;gap:5px;padding:1px 3px}.conflict-reward-line .game-icon{width:16px;height:16px}.board-group .board-space{border-width:1px;border-radius:0 18px 0 12px}.space-name b{color:#e3d6b8;font-size:10px;font-weight:400}.board-effects{margin:2px 0}.board-effects .game-icon{width:26px;height:26px}.faction-group .board-effects .game-icon{width:25px;height:25px}.board-group.faction-group{padding-left:61px}.board-group .board-space.legal{border-color:var(--faction)}.board-group .board-space.picked{border-color:#fff593;outline:2px solid #fff593}.player-panel{border:0;border-bottom:1px solid #b79b54;border-left:2px solid var(--player);background:linear-gradient(110deg,#1b3146dc,#182b38aa);border-radius:0;padding:0 7px 6px}.player-name{overflow-wrap:anywhere;font-size:9px}.player-footer{font-size:9px}.player-footer>span:last-child>span,.player-panel .player-resources>span:first-child{display:none}.player-panel.active{box-shadow:0 -3px 16px color-mix(in srgb, var(--player) 40%, transparent)}.hand-panel.card-overlay{left:calc(var(--players-width) + var(--table-gap) + 70px);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;padding:0;overflow:visible}.hand-panel .section-title{background:#07101bb3;border-bottom:1px solid #bda46666;padding:3px 6px}.hand-row{padding:10px 5px 4px;overflow:auto hidden}.hand-row .game-card{border:2px solid #1e1b1b;width:117px;min-width:117px;height:147px}.hand-row>div{width:89px;min-width:89px}.hand-row>div:last-child{min-width:117px}.hand-row .card-picture,.hand-row .card-picture .card-art{height:53px;min-height:53px}.hand-row .agent-box,.hand-row .reveal-box{min-height:20px;padding:2px 6px}.hand-row .game-card:hover{z-index:2;border-color:#9fffff;transform:translateY(-6px);box-shadow:0 0 12px #80e6e799}.table-layout .action-panel{height:var(--dock-height);background:#0b1b26d9;border:1px solid #bba56b66;padding:9px}.action-panel .quick-hand{display:none}.action-panel h2{font-size:13px}.action-panel .helper{font-size:10px}.action-buttons{gap:5px}.market-panel.card-overlay{background:linear-gradient(155deg,#183147c9,#17202ed9);border-color:#828d9d55;border-radius:0;padding:5px}.market-panel .section-title{background:0 0;flex-wrap:wrap;gap:5px;display:flex}.market-panel .section-title h2{width:100%;font-size:11px}.market-panel .section-title button{padding:2px 6px;font-size:10px}.market-row .game-card{height:clamp(80px,12vh,125px)}.reserve-label{font-size:9px}.detail-hero{min-height:380px;padding-top:18px}.detail-portrait{width:43%;right:0}.detail-header{width:64%}.detail-identity{margin-top:13px}.detail-facts{background:#08131db3;width:67%;margin-top:10px;padding:8px 12px}.detail-locations{font-size:10px}}@media (width>=1600px){.table-layout{--players-width:235px;--market-width:138px;--action-width:290px;--dock-height:224px;--table-gap:22px}.board-panel{padding-bottom:234px}.board-effects .game-icon,.faction-group .board-effects .game-icon{width:36px;height:36px}.board-group.city{grid-area:2/2/5/3}.board-group.city .spaces{grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:1fr;gap:20px}.board-group.spice{grid-area:2/3/3/5}.board-group.spice .spaces{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr))}.conflict-panel{grid-area:3/3/5/5;grid-template-rows:32px minmax(0,1fr);grid-template-columns:minmax(0,1fr) 105px}.conflict-field{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px}.combat-player{width:64px}.combat-portrait{height:58px}.combat-seat:nth-child(2n) .combat-player{margin-left:auto}.conflict-reward-line{flex-direction:column;justify-content:center;align-items:start;padding:5px}.conflict-reward-line .game-icon{width:25px;height:25px}.hand-row .game-card{width:145px;min-width:145px;height:180px}.hand-row>div{width:110px;min-width:110px}.hand-row>div:last-child{min-width:145px}.hand-row .card-picture,.hand-row .card-picture .card-art{height:80px;min-height:80px}.presentation-history{right:195px}.detail-hero{min-height:520px}}@media (width<=1100px){.presentation-history{justify-content:end;margin:5px;position:static}.ceremony{padding:45px 20px 20px;inset:10% 4%}.combat-results{width:100%}.ceremony-winner{opacity:.3}.ceremony-rewards{flex-wrap:wrap}.action-toast{width:230px;top:20%}}@media (width<=600px){.combat-results>div{grid-template-columns:auto 36px minmax(0,1fr) 46px;gap:8px}.combat-results img{width:36px;height:40px}.combat-result-reward{grid-column:2/-1}.ceremony h2,.ceremony h3{overflow-wrap:anywhere}}@media (width>=1101px) and (width<=1599px){.board-group.city{grid-area:2/2/5/3}.board-group.city .spaces{grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:1fr;gap:13px}.board-group.spice{grid-area:2/3/3/5}.board-group.spice .spaces{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr))}.conflict-panel{grid-area:3/3/5/5}.conflict-field{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:8px}.combat-player{width:51px}.combat-portrait{height:47px}.combat-seat:nth-child(2n) .combat-player{margin-left:auto}.conflict-reward-line{flex-direction:column;justify-content:center;align-items:start}}.effect-source{color:#dfc08b;align-items:center;gap:9px;display:flex}.effect-source img{object-fit:cover;border:1px solid #b9a163;width:42px;height:42px}.table-layout .action-panel.resolving-effects{height:auto;min-height:var(--dock-height);border-color:#efd889;max-height:45vh;box-shadow:0 0 16px #d9ac4944}@media (width>=1101px) and (width<=1599px){.board-groups{grid-template-rows:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr)}.board-space footer:empty{display:none}.board-group.spice .board-space{padding-top:3px;padding-bottom:3px}.board-space[data-space-id=sell-melange] .rule-text{font-size:8px;line-height:1.2}}.game-shell{overflow:clip}@media (width>=1101px) and (width<=1599px){.board-group.landsraad .spaces{grid-template-rows:minmax(0,1fr);grid-template-columns:repeat(5,minmax(0,1fr))}.board-group.landsraad .board-effects .game-icon{width:20px;height:20px}.board-space[data-space-id=sell-melange] .space-name{display:none}}.shipping-track{color:#ead7af;align-self:start;min-width:0;margin:0}.shipping-track h3{white-space:nowrap;justify-content:center;align-items:center;gap:5px;margin:0 0 5px;font-size:11px;display:flex}.shipping-track h3 img{object-fit:contain;width:18px;height:18px}.shipping-route{aspect-ratio:360/505;background:url(/assets/ix/shipping-track.webp) 50%/142.22% 101% no-repeat;grid-template-rows:30% 30% 30% 10%;display:grid;container-type:inline-size}.shipping-level{grid-template-columns:52% 48%;min-height:0;display:grid}.shipping-position{place-items:center;display:grid;position:relative}.shipping-position>b{opacity:.7;font-size:9px;position:absolute;top:5%;left:8%}.shipping-fleets{grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;width:78%;display:grid}.shipping-fleets img{aspect-ratio:1;object-fit:contain;width:100%;height:auto}.shipping-level[data-shipping-level="0"] .shipping-position>b{display:none}.shipping-reward{flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:10% 2px 3%;display:flex}.shipping-reward .game-icon{width:clamp(14px,17cqw,28px);height:clamp(14px,17cqw,28px)}.shipping-reward .effect-token b{font-size:clamp(10px,13cqw,16px)}.shipping-reward .shipping-tech{object-fit:contain;width:70%;max-height:85%}.shipping-resources{white-space:nowrap;align-items:center;gap:2px;display:flex}.shipping-reward small{white-space:nowrap;font-size:clamp(6px,5.5cqw,9px)}.shipping-help{text-align:center;margin:5px 0 0;font-size:9px;line-height:1.5}.shipping-help span{font-size:8px;display:block}.tech-launch{z-index:35;color:#e9d5aa;background:#234e49;border:1px solid #bb9568;border-radius:6px;padding:12px 18px;position:fixed;top:112px;right:16px;box-shadow:0 3px 18px #0008}.tech-backdrop{z-index:90;background:#02080bc9;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.tech-overview{color:#eee2cd;background:linear-gradient(145deg,#152b30,#101b25);border:1px solid #877653;border-radius:12px;width:100%;max-width:1160px;max-height:90vh;padding:24px;overflow:auto}.tech-overview>header{justify-content:space-between;align-items:center;display:flex}.tech-overview h2{margin:6px 0;font:28px Georgia,serif}.tech-overview>p{color:#b5c1bd;font-size:13px}.tech-stacks{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:22px 0;display:grid}.tech-stack{flex-direction:column;align-items:center;gap:10px;min-width:0;display:flex}.tech-condition{color:#bdcfc3;font-size:11px}.tech-payments{flex-wrap:wrap;gap:6px;max-height:180px;display:flex;overflow:auto}.owned-techs{flex-wrap:wrap;gap:15px;display:flex}.owned-techs>div{flex-direction:column;align-items:center;gap:8px;display:flex}.owned-techs .game-card.card-tech{width:280px}.owned-techs>div>span{font-size:12px}.tech-exhausted{opacity:.65}.game-card.card-tech{aspect-ratio:794/520;color:#fff4d9;text-align:left;background:#2c655c url(/assets/ix/tech-front.webp) 50%/100% 100%;border:0;width:310px;max-width:100%;height:auto;min-height:0;padding:0;display:block;overflow:hidden;container-type:inline-size}.game-card.card-tech.large{width:520px;max-width:92vw;min-height:0;padding:0}.tech-card-header{align-items:center;height:15.77%;padding:0 5% 0 23%;display:flex;position:absolute;inset:0 0 auto}.tech-card-header h3{white-space:nowrap;color:#302719;margin:0;font-family:inherit;font-size:5.2cqw;font-weight:600;line-height:1}.tech-price{aspect-ratio:1;color:#fff;background:url(/assets/ix/tech-cost.webp) 50%/100% 100% no-repeat;place-items:center;width:22%;padding-right:6%;font:700 12cqw/1 Georgia,serif;display:grid;position:absolute;top:0;left:0}.tech-card-body{place-items:center;min-width:0;display:grid;position:absolute;inset:23% 7% 12%}.has-acquire .tech-card-body{left:23%}.tech-rules{text-align:center;width:100%;font-size:3.6cqw;line-height:1.55}.tech-rules .rule-text{font-size:inherit;line-height:inherit}.tech-rules .effect-group{gap:3px}.tech-rules .effect-token,.tech-rules .effect-tokens{height:6.5cqw;font-size:4.3cqw}.tech-rules .game-icon,.tech-rules .rule-text .game-icon{width:6.5cqw;height:6.5cqw}.tech-card-body .tech-acquire{background:url(/assets/ix/tech-acquire-frame.webp) 50%/100% 100% no-repeat;justify-content:center;align-items:center;width:16cqw;padding:10cqw 2cqw 2cqw;display:flex;position:absolute;top:3cqw;bottom:-1cqw;right:calc(100% + 2cqw)}.tech-acquire>small{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tech-card-body .tech-acquire .effect-group{flex-flow:column;gap:2px;max-width:none;display:flex}.tech-acquire .effect-tokens{flex-direction:column;gap:0}.tech-card-body .tech-acquire .game-icon{width:6cqw;height:6cqw}.tech-timing{white-space:nowrap;color:#e6d6ae;font-size:2.7cqw;position:absolute;bottom:4%;right:7%}.ix-components{color:#d2dcce;border:1px solid #8ba9a640;flex-wrap:wrap;gap:10px;margin:12px 0;padding:10px;display:flex}.ix-components>span{font-size:12px}.temporary-control{color:#f1d68d;font-weight:700}.tech-detail-list{flex-wrap:wrap;gap:10px;display:flex}.tech-detail-list .game-card.card-tech{width:280px}.combat-dreadnoughts{align-items:center;gap:3px;display:inline-flex}.combat-dreadnoughts img{object-fit:contain;width:22px;height:24px}.ix-effect{white-space:nowrap;align-items:center;gap:3px;display:inline-flex}.ix-effect img{object-fit:contain;width:26px;height:26px}.ix-effect small{font-size:10px}.board-effects .ix-effect-label{display:none}.tech-empty{border:1px dashed #668782;place-items:center;width:100%;height:180px;display:grid}.game-card.card-tech:hover:not(:disabled){background:#2c655c url(/assets/ix/tech-front.webp) 50%/100% 100%}.card-hover-preview .game-card.card-tech.large{width:520px;height:342px;min-height:342px}.tech-launch{width:var(--market-width);z-index:16;padding:6px 12px;font-size:12px;position:absolute;top:0;right:0}.ix-table .market-panel.card-overlay{top:38px}@media (width>=1101px){.ix-table .board-groups{grid-template-rows:minmax(88px,1.1fr) minmax(0,1.1fr) minmax(0,.95fr) minmax(156px,1.85fr);grid-template-columns:1.15fr 1fr 1fr 1fr .62fr}.ix-table .board-group.landsraad{grid-area:1/2/2/6}.ix-table .board-group.city{grid-area:2/2/5/3}.ix-table .board-group.city .spaces{grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:1fr;gap:8px}.ix-table .board-group.spice{grid-area:2/3/4/5}.ix-table .board-group.spice .spaces{grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.ix-table .conflict-panel{grid-area:4/3/5/6;min-height:108px}.ix-table .shipping-track{grid-area:2/5/4/6;grid-template-rows:23px minmax(0,1fr);grid-template-columns:minmax(0,1fr);align-self:stretch;min-height:0;margin:0;display:grid;container-type:size}.ix-table .shipping-route{place-self:start center;width:min(100cqw,71.2871cqh - 16.396px);height:auto;min-height:0;max-height:100%}.ix-table .shipping-help{display:none}.ix-table .board-group.spice .board-effects .game-icon{width:22px;height:22px}.ix-table .conflict-field{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.ix-table .combat-player{width:40px}.ix-table .combat-portrait{height:34px}}@media (width<=1599px) and (width>=1101px){.ix-table .board-group.spice .board-space{padding-top:2px;padding-bottom:2px}.ix-table .board-group.spice .board-effects{margin:0}.ix-table .board-group.landsraad .board-hint{display:none}.ix-table .board-group.landsraad .board-effects{font-size:9px;line-height:1.2}.ix-table .board-group.landsraad .ix-effect img{width:18px;height:18px}.ix-table .board-group.landsraad .board-space{padding-top:2px;padding-bottom:2px}}@media (width>=761px) and (width<=1100px){.ix-table .shipping-track{grid-area:5/2/auto/-1}.ix-table .board-groups{height:auto;min-height:620px}}@media (width<=760px){.tech-stacks{grid-template-columns:1fr}.tech-overview{padding:16px}.tech-backdrop{padding:8px}.tech-launch{z-index:18;width:auto;font-size:12px;position:fixed;top:auto;bottom:8px;right:8px}.shipping-track{grid-column:1/-1;width:220px;margin:12px auto;font-size:12px}.game-card.card-tech{width:310px}.owned-techs{justify-content:center}.table-layout{padding-bottom:50px}.board-panel{min-height:0}.market-panel.card-overlay,.hand-panel.card-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;width:100%;height:auto;max-height:none;position:relative;inset:auto}.ix-table .market-panel.card-overlay{top:auto}.market-panel.card-overlay{order:2}.hand-panel.card-overlay{order:3}.table-layout .action-panel{z-index:12;background:#0b1b26f5;order:4;max-height:45vh;position:sticky;bottom:0;overflow:auto}.market-row{flex-direction:row;display:flex;overflow-x:auto}.market-row>div{width:110px;min-width:110px}.hand-panel .hand-row{max-height:260px}.market-tab{order:2;position:relative;inset:auto}.hand-tab{order:3;position:relative;inset:auto}.board-groups .board-group.spice .spaces{grid-template-rows:auto;grid-template-columns:repeat(2,minmax(0,1fr))}}.space-combat{opacity:.68;pointer-events:none;position:absolute;bottom:4px;right:5px}.space-combat .game-icon{filter:grayscale()brightness(2.4);width:24px;height:24px}@media (width>=1101px){.table-layout .action-panel.resolving-effects{height:var(--dock-height);min-height:0;max-height:var(--dock-height);overflow-y:auto}}@media (width>=901px) and (width<=1599px){.space-combat .game-icon{width:18px;height:18px}.faction-group .board-effects .effect-group{flex-wrap:nowrap;gap:3px}.faction-group .board-effects .game-icon{width:18px;height:18px}}.immortality-status{color:#d2b7e9;flex-wrap:wrap;gap:4px 10px;padding:5px 0;font-size:10px;display:flex}.immortality-status>span{align-items:center;gap:3px;display:inline-flex}.immortality-status .game-icon{object-fit:contain;width:18px;height:18px}.research-launch,.tech-launch.inline-launch{color:#f5e8ce;box-shadow:none;background:#482855;border:1px solid #cbaa79;align-items:center;gap:5px;padding:5px 9px;display:inline-flex;position:static}.immortality-game .presentation-history{right:calc(var(--market-width,140px) + 175px)}.tech-launch.inline-launch{background:#234e49}.graft-box{position:relative}.graft-label{color:#f7f1dc;z-index:2;background:#94ac98;border:1px solid #f1e6be;border-bottom:0;border-radius:7px 7px 0 0;height:20px;padding:2px 9px 1px;font-size:11px;font-weight:600;line-height:16px;position:absolute;bottom:100%;left:-1px}.game-card.card-grafted .card-access{bottom:25px}.card-special-rule+.graft-box{margin-top:20px}.specimen-price{place-items:center;width:34px;height:37px;display:grid;position:relative}.specimen-price img{object-fit:contain;width:100%;height:100%}.specimen-price b{color:#fff;text-shadow:0 1px 3px #17310a;place-items:center;font:700 20px/1 Georgia,serif;display:grid;position:absolute;inset:0}.large .specimen-price{width:48px;height:52px}.large .specimen-price b{font-size:29px}.graft-hint{color:#d9bbef;margin:3px 0;font-size:11px}.immortality-controls{border-top:1px solid #96729866;flex-wrap:wrap;gap:5px;margin-top:8px;padding-top:7px;display:flex}.immortality-controls button,.immortality-controls select{max-width:100%;padding:5px;font-size:11px}.tleilaxu-panel{color:#e2e7d6;background:linear-gradient(165deg,#243c35f2,#23362bef);border:1px solid #a1ab6477;padding:6px;overflow:auto}.tleilaxu-panel>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;display:flex}.tleilaxu-panel h2{margin:2px 0;font-size:12px}.tleilaxu-panel header button{padding:2px 6px;font-size:10px}.tleilaxu-panel>small{margin-top:8px;font-size:10px;display:block}.specimen-balance{justify-content:space-between;align-items:center;margin:8px 0;font-size:11px;display:flex}.tleilaxu-cards{flex-direction:column;gap:12px;display:flex}.tleilaxu-cards .game-card{border-radius:3px;width:100%;min-width:0;height:112px}.tleilaxu-cards .game-card .card-top{height:22px;min-height:22px;padding:3px 29px 3px 4px;font-size:10px;line-height:16px}.tleilaxu-cards .card-picture{flex:1;height:auto;min-height:0}.tleilaxu-cards .game-card .card-art{height:100%;min-height:0}.tleilaxu-cards .card-access,.tleilaxu-cards .card-effect-boxes,.tleilaxu-cards .card-factions,.tleilaxu-cards .card-acquire{display:none}.tleilaxu-cards .game-card .card-price{top:-22px;right:0}.tleilaxu-cards .specimen-price{width:25px;height:28px}.tleilaxu-cards .specimen-price b{font-size:15px}.tleilaxu-cards .graft-label{padding:1px 4px;font-size:8px}.market-row .game-card .card-top{padding-right:29px}.market-row .game-card .card-price{top:-22px}.specimen-balance{justify-content:flex-start;gap:4px}.specimen-balance b{margin-left:auto}.tleilaxu-cards .buy-button{width:100%;padding:4px 1px;font-size:10px}.research-dialog{color:#f1e4ef;background:linear-gradient(125deg,#231429e8,#412248eb),url(/assets/immortality/research-board.webp) 50%/100% 100%;border:2px solid #ae91bb;border-radius:8px;width:min(1020px,95vw);max-height:94dvh;padding:22px;overflow:auto;box-shadow:0 0 100px #6b36824d}.research-dialog::backdrop,.atomics-confirm::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#05020dd1}.research-dialog>header{justify-content:space-between;align-items:center;gap:15px;display:flex}.research-dialog h2{letter-spacing:3px;margin:4px 0 18px;font-size:27px;font-weight:500}.research-scroll{overflow-x:auto}.research-content{min-width:740px}.tleilaxu-track{background:linear-gradient(90deg,#64577388,#41354aaa);border:1px solid #c4aa79;grid-template-columns:repeat(8,1fr);min-height:103px;display:grid}.tleilaxu-step{border-right:1px solid #ceb89199;flex-direction:column;justify-content:flex-start;align-items:center;gap:3px;padding:8px 3px;display:flex;position:relative}.tleilaxu-step strong{color:#e3cd9b;font-size:12px}.tleilaxu-step small{text-align:center;font-size:9px}.tleilaxu-step .claimed{color:#ae93b4}.research-network{aspect-ratio:810/340;margin-top:0;position:relative}.research-network>svg{width:100%;height:100%;position:absolute;inset:0}.research-network line{stroke:#c9b5d6;stroke-width:5px;opacity:.55}.research-node{color:#e9dcef;background:url(/assets/immortality/research-hex.webp) 50%/100% 100%;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:10.8%;height:24%;padding:14px 5px;font-size:10px;display:flex;position:absolute;transform:translate(-50%,-50%)}.research-node:disabled{opacity:1;cursor:default}.research-node>small{color:#b995c8;font-size:9px}.research-node .game-icon{object-fit:contain;width:23px;height:23px}.research-node .effect-token{font-size:11px}.research-node .effect-group{justify-content:center;gap:2px}.research-node .rule-text{font-size:8px;line-height:1.15}.research-node.occupied{filter:drop-shadow(0 0 7px #bd8eccaa)}.research-node.legal{filter:drop-shadow(0 0 7px #b5ffc9);color:#fff;cursor:pointer;background-image:url(/assets/immortality/research-hex-3.webp)}.research-node.legal:hover,.research-node.legal:focus-visible{outline-offset:2px;outline:2px solid #d8ffe2}.research-markers{justify-content:center;align-items:center;gap:3px;min-height:12px;display:inline-flex}.research-markers i{border:1px solid #ffedca;width:11px;height:13px;display:inline-block;box-shadow:1px 2px 3px #000}.research-node .research-markers{position:absolute;top:18%}.genetic-milestones{justify-content:space-between;gap:12px;display:flex;position:absolute;bottom:-3px;left:39%;right:1%}.genetic-milestones>span{background:#382344;border:1px solid #ba8cc8;align-items:center;gap:5px;padding:5px;font-size:10px;display:flex}.research-dialog footer{border-top:1px solid #d6a8cf55;margin-top:13px;padding-top:10px}.research-dialog footer p{margin:3px 0 9px;font-size:13px}.research-prompt{color:#e0ffd0}.research-legend{flex-wrap:wrap;gap:14px;font-size:11px;display:flex}.research-legend>span{align-items:center;gap:5px;display:flex}.atomics-confirm{color:#f5e9de;background:#241b29;border:1px solid #c49b70;width:min(470px,92vw);padding:28px}.atomics-confirm footer{justify-content:flex-end;gap:14px;margin-top:22px;display:flex}@media (width>=901px){.immortality-table{--tleilaxu-width:112px}.immortality-table .board-panel{padding-right:calc(var(--market-width) + var(--tleilaxu-width) + var(--table-gap) + 7px)}.immortality-table .tleilaxu-panel{right:calc(var(--market-width) + 6px);width:var(--tleilaxu-width);top:0;bottom:0}.immortality-table .tleilaxu-panel.collapsed{bottom:auto}.immortality-table .action-panel{right:calc(var(--market-width) + var(--tleilaxu-width) + var(--table-gap) + 7px)}.immortality-table .hand-panel.card-overlay{right:calc(var(--market-width) + var(--tleilaxu-width) + var(--action-width) + var(--table-gap) * 2 + 7px)}}@media (width>=1600px){.immortality-table{--tleilaxu-width:145px}.tleilaxu-cards .game-card{height:140px}}@media (width<=900px){.immortality-table .action-panel,.immortality-table .action-panel.resolving-effects{width:100%;height:auto;min-height:0;max-height:none;position:relative;inset:auto}.research-launch{justify-content:center}.tleilaxu-panel.card-overlay{order:2;width:100%;margin:0;position:relative;inset:auto}.tleilaxu-cards{flex-direction:row;overflow-x:auto}.tleilaxu-cards>div{width:130px;min-width:130px}.research-dialog{padding:14px}.research-dialog h2{font-size:22px}.research-content{min-width:740px}.research-dialog .eyebrow{font-size:10px}}.interface-dialog{color:#eee4cb;background:#10202c;border:1px solid #b6a273;border-radius:12px;width:min(980px,100vw - 32px);max-height:86dvh;padding:0;box-shadow:0 20px 80px #000b}.interface-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#030a12b8}.interface-dialog-content{padding:22px}.interface-dialog header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.interface-dialog h2{margin:0}.settings-button{justify-content:center;align-items:center;width:38px;height:36px;padding:6px;display:inline-flex}.settings-options{flex-direction:column;gap:12px;display:flex}.interface-dialog:has(.settings-options){width:min(360px,100vw - 32px)}.settings-options button{width:100%}.settings-options .room-actions{flex-direction:column;gap:12px;display:flex}.icon-reference-grid{grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:12px;margin-top:20px;display:grid}.icon-reference-grid article{background:#ffffff08;border:1px solid #b6a27333;border-radius:8px;align-items:flex-start;gap:16px;padding:16px;display:flex}.icon-reference-grid .game-icon{object-fit:contain;flex-shrink:0}.icon-reference-grid p{color:#c4cbd0;margin-bottom:0;font-size:13px;line-height:1.65}.expansion-filters{border:1px solid #b6a27355;border-radius:8px;flex-wrap:wrap;gap:12px 24px;margin:14px 0 24px;display:flex}.expansion-filters label{cursor:pointer;align-items:center;gap:8px;display:flex}.expansion-filters input{accent-color:#dcb974;width:auto}.confirmation-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.board-launchers{z-index:9;flex-direction:column;gap:10px;width:106px;display:flex;position:absolute;top:16px;right:0}.board-launchers>button,.board-launchers .tech-launch,.board-launchers .research-launch{color:#f3e2b6;background:#142b3de8;border:1px solid #b6a27399;justify-content:center;width:100%;min-height:42px;padding:8px;position:static;box-shadow:0 4px 14px #0005}.hand-panel.card-overlay{flex-direction:column;display:flex}.hand-panel.card-overlay[hidden]{display:none}.hand-panel>.section-title{flex-wrap:wrap;flex-shrink:0;order:2;gap:4px;margin-top:auto;margin-bottom:0}.hand-panel>.hand-row{flex:1;min-height:0}.hand-filters{flex-wrap:wrap;gap:3px;display:flex}.hand-filters button{white-space:nowrap;padding:4px 6px}.hand-row[data-filter=tech]>div{width:170px;min-width:170px}.hand-row[data-filter=tech] .game-card{width:165px;min-width:165px;height:108px}.hand-row[data-filter=tech] small{font-size:11px;display:block}@media (width>=1101px){.game-shell .table-layout{height:calc(100dvh - 65px);min-height:620px}.game-shell .board-panel{padding-right:122px}.game-shell .table-layout .hand-panel.card-overlay{right:calc(var(--action-width) + 138px)}.game-shell .table-layout .action-panel{right:122px}.game-shell .presentation-history{top:46px;right:132px}}@media (width>=1101px) and (width<=1599px){.board-space[data-space-id=custom-secret-base] .board-effects .effect-group{flex-wrap:nowrap;gap:2px}.board-space[data-space-id=custom-secret-base] .board-effects .game-icon{width:19px;height:19px}}@media (width<=1100px){.board-launchers{flex-flow:wrap;grid-column:1/-1;width:auto;margin:12px 0;position:static}.board-launchers>button,.board-launchers .tech-launch,.board-launchers .research-launch{white-space:nowrap;flex:1;width:auto}.hand-panel>.hand-row{flex:none}.hand-panel .section-title{justify-content:center}.game-heading-right{flex-wrap:wrap}}@media (width<=760px){.game-heading-right{width:100%}.game-heading-right .settings-button{margin-left:auto}}@media (width>=1101px){.table-layout .board-group.city .spaces:has([data-space-id=custom-secret-base]){grid-template-rows:repeat(3,minmax(0,1fr));gap:8px}.table-layout .board-group.spice .spaces:has([data-space-id=custom-security-contract]){grid-template-rows:repeat(6,minmax(0,1fr))}.table-layout.ix-table .board-group.city .spaces:has([data-space-id=custom-secret-base]){grid-template-rows:repeat(5,minmax(0,1fr));gap:5px}.table-layout.ix-table .board-group.spice .spaces:has([data-space-id=custom-security-contract]){grid-template-rows:repeat(3,minmax(0,1fr))}}.contract-offer{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.contract-card{aspect-ratio:624/397;color:#fff;background-size:100% 100%;flex-shrink:0;width:min(340px,100vw - 64px);position:relative}.contract-card h3{margin:0;font-size:19px;position:absolute;top:7%;left:6%}.contract-target{width:28%;height:57%;position:absolute;top:27%;left:7%}.contract-target>img:first-child{object-fit:contain;width:100%;height:100%}.contract-target .game-icon{position:absolute;top:-8px;left:-8px}.contract-target b{place-items:center;font-size:26px;display:grid;position:absolute;inset:0}.contract-rewards{place-items:center;display:grid;position:absolute;inset:29% 7% 20% 43%}.contract-card>small{text-align:center;font-size:11px;position:absolute;bottom:5%;left:8%;right:8%}.pending-action-window{z-index:100;color:#f3e5c4;background:#101c2bf5;border:1px solid #d6b963;border-radius:10px;width:max-content;max-width:min(760px,100vw - 24px);max-height:calc(100dvh - 24px);position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 8px 35px #000a}.pending-action-drag{cursor:move;touch-action:none;-webkit-user-select:none;user-select:none;border-bottom:1px solid #c5a76566;justify-content:space-between;align-items:center;gap:24px;padding:12px 16px;display:flex}.pending-action-drag small{color:#aebbc9;font-size:11px}.pending-action-window .action-buttons.effect-tray{background:0 0;border:0;flex-wrap:wrap;gap:10px;width:auto;max-height:none;margin:0;padding:14px;display:flex;position:static;transform:none}.pending-action-window .action-button{white-space:normal;text-overflow:clip;flex:130px;max-width:340px;min-height:52px;overflow:visible}.pending-action-window .effect-prompt{display:none}.board-groups{position:relative}.observation-layer{z-index:3;pointer-events:none;position:absolute;inset:0}.observation-links{width:100%;height:100%;overflow:visible}.observation-links path{fill:none;stroke:#d4d0c5a0;stroke-width:2px;stroke-linejoin:round}.observation-post{pointer-events:auto;opacity:1;border:1px solid #e7dfc7;border-radius:50%;width:24px;min-width:24px;height:24px;padding:0;position:absolute;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 1px 3px #000}.observation-post:disabled{opacity:1;cursor:default}.observation-post .game-icon{object-fit:cover;opacity:.65;width:100%;height:100%}.observation-post.selectable{cursor:pointer;outline:2px solid #fff492;box-shadow:0 0 12px #ffe258}.observation-layer .interface-dialog{pointer-events:auto}.player-panel{position:relative}.player-panel-details{z-index:1;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.player-panel-details:hover:not(:disabled){background:0 0}.player-score{z-index:2;background:0 0;border:0;flex-shrink:0;padding:0}.victory-total strong{color:#f4ce72;margin-left:12px;font-size:28px}.victory-point-list{padding-left:24px}.victory-point-list li{border-bottom:1px solid #fff2;padding:8px}.victory-point-list b{color:#f4ce72;margin-right:12px}.victory-point-list .lost-point{color:#ff8c86}.victory-point-list small{color:#a9bacb;margin-left:12px}.player-portrait-row{position:relative}.first-player-marker{z-index:2;display:flex;position:absolute;top:-10px;left:-3px}.player-public-tokens,.player-public-tokens>span{align-items:center;gap:4px;display:flex}.player-public-tokens{flex-wrap:wrap;column-gap:8px;margin-top:4px;font-size:12px}.player-public-tokens .player-battle-icons{flex-wrap:wrap;gap:2px}.agent-drag-active,.agent-drag-active *{cursor:none!important}.agent-drag-overlay{z-index:11000;pointer-events:none;position:fixed;inset:0}.agent-drag-overlay svg{overflow:visible}.agent-drag-overlay path{fill:none;stroke:#b5ffff;stroke-width:4px;filter:drop-shadow(0 0 7px #38eeff)}.agent-drag-overlay>span{position:absolute;transform:translate(-50%,-65%)}.agent-drag-overlay .player-agent{width:38px;height:62px}.hand-row [draggable=true]{touch-action:pan-x pan-y pinch-zoom;-webkit-user-select:none;user-select:none}.hand-row .playable-hand-card .game-card{border-color:#a5ffff;box-shadow:0 0 10px #74f4efa0}.table-layout.selecting-hand .board-space.legal{border-color:#fff283;outline:2px solid #fff283;box-shadow:0 0 14px #ffdd6a99,inset 0 0 14px #ffe98744}.table-layout.selecting-hand .board-space.picked{outline-width:3px;box-shadow:0 0 22px #fff283}.table-layout.dragging-hand .board-space:not(.legal),.table-layout.selecting-hand .board-space:not(.legal){opacity:.6}.board-launchers button>img{object-fit:contain;width:26px;height:26px}.board-launchers .research-launch,.board-launchers .tech-launch{justify-content:center;align-items:center;gap:5px;display:flex}.shipping-dividends{object-fit:contain;width:clamp(22px,24cqw,40px);height:auto}.council-seats{grid-template-rows:repeat(2,23px);grid-template-columns:23px 28px 23px;justify-content:center;align-items:center;gap:1px 3px;display:grid}.council-seats>img{width:23px;height:23px}.council-seats>img:nth-child(2){grid-area:1/3}.council-seats>img:nth-child(3){grid-area:2/1}.council-seats>img:nth-child(4){grid-area:2/3}.council-seats>.effect-token{grid-area:1/2/3/3}.swordmaster-agents,.mentat-reward{justify-content:center;align-items:center;gap:3px;display:flex}.swordmaster-agents .player-agent{width:clamp(18px,1.6vw,30px);height:43px}.mentat-reward>img{object-fit:contain;width:27px;height:38px}.track-alliance{opacity:1;top:-8px;left:5px}.track-alliance img{object-fit:contain;width:26px;height:26px}.player-alliances{flex-wrap:wrap;gap:2px;display:flex}.player-alliances:empty{display:none}.player-alliances img{object-fit:contain;width:24px;height:24px}.board-launchers .research-launch{white-space:nowrap;font-size:11px}.board-launchers .research-launch>img{width:21px;height:24px}.track-reward .game-icon{width:15px;height:17px}.track-reward .effect-token b{font-size:10px}.track-reward .effect-tokens{gap:0}.board-group .board-effects .troops-five{object-fit:contain;width:36px;height:36px}.board-effect-rows{flex-direction:column;align-items:center;gap:4px;display:flex}.harvest-bonus{border:1px solid #d9aa5777;border-radius:5px;align-items:center;gap:2px;padding:0 4px;display:inline-flex}.board-effects .game-icon[aria-label=或]{flex-shrink:0;width:10px;min-width:10px}.game-shell .table-layout .board-space .board-effects .desert-harvest{flex-wrap:nowrap;gap:2px}.board-effects .desert-harvest .game-icon{max-width:26px;max-height:29px}.game-shell .table-layout .board-group .board-space{isolation:isolate;background:#08080888}.game-shell .table-layout .board-group .board-space:before{content:"";z-index:-1;border-radius:inherit;opacity:.58;pointer-events:none;background:url(/assets/board/space-shared-starfield.webp) 50%/cover no-repeat;position:absolute;inset:0}.effect-tray:empty,.primary-actions:empty{display:none}.effect-prompt{color:#f1d491;flex-basis:100%;margin:0;font-size:13px}.effect-tray .action-button{background:linear-gradient(120deg,#233e4ff5,#161728f5);border:1px solid #bda56a;flex:none;width:auto;min-width:100px}.effect-tray .effect-source{font-size:11px}.immortality-controls summary{cursor:pointer;color:#cebc96;font-size:11px}.immortality-controls[open]{background:#101e2df5;border:1px solid #a38d5a;padding:8px}@media (width>=1101px){.game-shell .table-layout .board-groups{grid-template-rows:repeat(4,minmax(0,1fr));gap:12px 16px;position:relative}.game-shell .table-layout.ix-table .board-groups{grid-template-columns:1.4fr 1fr 1fr 1fr .65fr}.game-shell .table-layout:not(.ix-table) .board-groups{grid-template-columns:1.35fr 1fr 1fr 1fr}.game-shell .board-panel{padding-bottom:210px}.game-shell .table-layout .board-group.faction-group{min-height:0;padding-left:62px}.game-shell .table-layout .board-group.faction-group .spaces{grid-template-rows:repeat(2,minmax(0,1fr));height:100%}.game-shell .table-layout .faction-group .board-space{padding-top:2px;padding-bottom:2px}.game-shell .table-layout .faction-group .board-effects{margin:1px 0;line-height:1}.game-shell .table-layout .faction-group .board-effects .rule-text{font-size:9px;display:inline}.game-shell .table-layout .faction-group .board-effects .game-icon{width:21px;height:21px}.game-shell .table-layout .faction-group .board-effects .troops-five{width:33px;height:33px}.game-shell .table-layout .board-space .board-effects .effect-group{gap:2px}.game-shell .table-layout .board-space:is([data-space-id=high-council],[data-space-id=up-high-council]) .space-name,.game-shell .table-layout .board-space:is([data-space-id=swordmaster],[data-space-id=up-swordmaster]) .board-hint,.game-shell .table-layout .board-space:is([data-space-id=mentat],[data-space-id=up-mentat]) .board-hint{display:none}.game-shell .table-layout .board-group.landsraad .spaces{grid-template-rows:minmax(0,1fr);grid-template-columns:repeat(5,minmax(0,1fr))}.game-shell .table-layout .action-panel{box-shadow:none;background:0 0;border:0;display:contents}.game-shell .table-layout .action-panel>.section-title,.game-shell .table-layout .action-panel>.action-intro,.game-shell .table-layout .action-panel>.selected-space-description,.game-shell .table-layout .action-panel>.helper,.game-shell .table-layout .action-panel>.muted{display:none}.game-shell .table-layout .primary-actions{z-index:12;width:210px;position:absolute;bottom:10px;right:0}.primary-actions .action-button{color:#ffe5a7;text-align:center;background:linear-gradient(130deg,#214660,#346984);border:2px solid #bc9c5a;min-height:58px;padding:12px;font-size:22px}.game-shell .table-layout .hand-panel.card-overlay{left:calc(var(--players-width) + var(--table-gap) + 15px);transition:transform .2s;bottom:0;right:310px}.game-shell .table-layout.has-effect-tray .hand-panel.card-overlay{transform:none}.game-shell .table-layout .effect-tray{left:calc(var(--players-width) + var(--table-gap) + 15px);right:310px;bottom:calc(var(--dock-height) + 5px);z-index:12;flex-wrap:wrap;align-items:stretch;gap:7px;max-height:160px;padding:5px;display:flex;position:absolute;overflow:auto}.game-shell .table-layout.has-effect-tray .effect-tray{bottom:calc(var(--dock-height) + 5px)}.game-shell .table-layout .effect-tray:empty{display:none}.game-shell .table-layout .immortality-controls{z-index:13;width:210px;position:absolute;bottom:84px;right:0}.game-shell .table-layout .immortality-controls:not([open])>:not(summary){display:none}.game-shell .table-layout .conflict-panel{min-height:0}}@media (width>=1600px){.game-shell .board-panel{padding-bottom:255px}.game-shell .table-layout .faction-group .board-effects .game-icon{width:29px;height:29px}.game-shell .table-layout .faction-group .board-effects .troops-five{width:43px;height:43px}.council-seats{grid-template-rows:repeat(2,28px);grid-template-columns:28px 35px 28px}.council-seats>img{width:28px;height:28px}}@media (width<=1100px){.action-panel{background:0 0;border:0}.effect-tray{flex-wrap:wrap;max-height:280px;display:flex;overflow:auto}.primary-actions .action-button{min-height:54px;font-size:20px}}@media (prefers-reduced-motion:reduce){.game-shell .table-layout .hand-panel.card-overlay{transition:none}}@media (width>=1101px){.game-shell .table-layout .auxiliary-actions{z-index:12;width:110px;max-height:180px;position:absolute;bottom:130px;right:0;overflow:auto}.auxiliary-actions .action-button{padding:8px 4px;font-size:11px}}.game-shell .table-layout .board-group .spaces{box-sizing:border-box;row-gap:18px;padding-top:14px}.game-shell .table-layout .board-group .board-space{overflow:visible}.game-shell .table-layout .board-group .board-space .space-name{text-align:left;white-space:nowrap;pointer-events:none;height:13px;margin:0;line-height:13px;display:block;position:absolute;top:-14px;left:0;right:0}.game-shell .table-layout .board-group .board-space .space-name b{color:#f1e3c9;text-shadow:0 1px 3px #000;font-size:10px}.game-shell .table-layout .board-group .board-space.occupied .space-name{opacity:1}.game-shell .table-layout .board-group .board-effects{margin:0}@media (width>=1101px) and (width<=1599px){.game-shell .table-layout .faction-group .board-space{padding-top:1px;padding-bottom:1px}.game-shell .table-layout .faction-group .board-effects .troops-five{width:28px;height:28px}}.game-shell .table-layout .effect-tray{flex-direction:row;justify-content:flex-start}.effect-tray .action-button{justify-content:center;align-items:center;gap:12px;min-height:55px;display:flex}.game-shell .table-layout .effect-tray{flex-flow:row;align-items:stretch;gap:8px;max-height:96px;overflow:auto hidden}.game-shell .table-layout .effect-tray .action-button{text-align:center;white-space:normal;flex-direction:column;flex:0 0 88px;justify-content:center;align-items:center;gap:4px;width:88px;min-width:88px;height:78px;min-height:78px;padding:5px;font-size:11px;line-height:1.3;display:flex;overflow:hidden}.effect-tray .effect-source{justify-content:center;align-items:center;gap:3px;width:100%;min-height:24px;font-size:10px;display:flex}.effect-tray .effect-source img{width:28px;height:28px}.effect-tray .game-icon{width:25px;height:25px}.effect-tray .effect-prompt{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.effect-tray .effect-source{white-space:nowrap}.atomics-action{color:#f5ddb2;background:linear-gradient(120deg,#5c3528,#29202a);border:1px solid #c6a76b;min-height:44px}.game-shell .hand-panel.card-overlay{grid-template-rows:minmax(0,1fr) auto auto;grid-template-columns:108px minmax(0,1fr);gap:4px 10px;display:grid;overflow:visible}.game-shell .hand-panel.card-overlay[hidden]{display:none}.game-shell .hand-panel>.section-title{background:#102331e8;flex-flow:column;grid-area:1/1/-1;justify-content:flex-start;align-items:stretch;gap:6px;margin:0;padding:0;display:flex;position:relative;inset:auto}.game-shell .hand-filters,.game-shell .hand-tools{flex-direction:column;align-items:stretch;gap:2px;display:flex}.game-shell .hand-filters button,.game-shell .hand-tools button{min-height:22px;padding:3px 6px;font-size:11px}.game-shell .hand-row{grid-column:2;height:100%;min-height:0}.game-shell .hand-panel>p{grid-column:2;margin:0}@media (width<=1100px){.game-shell .table-layout{--mobile-hand-height:min(280px, 48dvh);--mobile-actions-bottom:calc(var(--mobile-hand-height) + 16px);--mobile-actions-height:min(240px, 32dvh);padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.game-shell .table-layout:has(.hand-panel:not([hidden])){padding-bottom:calc(var(--mobile-actions-bottom) + var(--mobile-actions-height) + 16px + env(safe-area-inset-bottom,0px))}.game-shell .table-layout:has(.hand-panel[hidden]) .action-panel{display:none}.game-shell .table-layout .hand-panel.card-overlay{inset:auto max(8px, env(safe-area-inset-right,0px)) max(8px, env(safe-area-inset-bottom,0px)) max(8px, env(safe-area-inset-left,0px));width:auto;height:var(--mobile-hand-height);z-index:20;background:#102331fa;border-radius:12px;grid-template-columns:88px minmax(0,1fr);gap:4px 8px;max-height:none;margin:0;padding:8px;position:fixed;overflow:hidden}.game-shell .hand-panel>.section-title{overscroll-behavior:contain;justify-content:flex-start;min-height:0;overflow:hidden}.game-shell .hand-panel .hand-tools{flex:none;order:-1}.game-shell .hand-panel .hand-tools .overlay-collapse{order:-1}.game-shell .hand-panel .hand-filters{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.game-shell .hand-filters button,.game-shell .hand-tools button{min-height:32px}.game-shell .hand-panel .hand-row{overscroll-behavior:contain;max-height:none;overflow:auto}.game-shell .table-layout .action-panel{inset:auto max(8px, env(safe-area-inset-right,0px)) calc(var(--mobile-actions-bottom) + env(safe-area-inset-bottom,0px)) max(8px, env(safe-area-inset-left,0px));width:auto;height:auto;min-height:0;max-height:var(--mobile-actions-height);border:1px solid var(--line);overscroll-behavior:contain;z-index:20;background:#102331fa;border-radius:12px;grid-template-columns:96px minmax(0,1fr);align-items:start;gap:6px;margin:0;padding:8px;display:grid;position:fixed;overflow:auto;box-shadow:0 6px 28px #0008}.game-shell .action-panel>.section-title,.game-shell .action-panel>.action-intro,.game-shell .action-panel>.selected-space-description,.game-shell .action-panel>.helper,.game-shell .action-panel>.muted{display:none}.game-shell .table-layout .primary-actions{flex-direction:column;grid-area:1/1/3;align-items:stretch;gap:4px;margin:0;display:flex;position:sticky;top:0}.game-shell .primary-actions .action-button{min-height:44px;padding:5px;font-size:13px}.game-shell .table-layout .effect-tray,.game-shell .table-layout .auxiliary-actions{grid-column:2;min-width:0;margin:0}.game-shell .action-panel>.atomics-action,.game-shell .action-panel>.immortality-controls{grid-column:2}.game-shell .hand-tab{inset:auto max(12px, env(safe-area-inset-right,0px)) max(12px, env(safe-area-inset-bottom,0px)) auto;z-index:20;border-radius:24px;min-width:64px;min-height:44px;margin:0;padding:10px 16px;position:fixed}}.game-shell .table-layout .primary-actions{overflow:visible}.undo-action{background:url(/assets/board/undo.png) 50%/100% 100% no-repeat;border:0;width:54px;height:46px;padding:0}.undo-action img{object-fit:contain;width:74%;height:74%}.undo-action:disabled{opacity:.4}.trash-picker .overview-cards{gap:18px;max-height:65dvh;padding:12px;overflow:auto}.trash-picker .game-card{width:190px;height:300px}.interface-dialog:has(.trash-picker){width:min(1250px,95vw);overflow:hidden}.interface-dialog:has(.trash-picker)[open]{display:flex}.interface-dialog:has(.trash-picker) .interface-dialog-content{flex-direction:column;width:100%;min-height:0;max-height:86dvh;display:flex}.interface-dialog:has(.trash-picker) header{flex-shrink:0}.trash-picker{flex-direction:column;min-height:0;display:flex}.trash-picker .overview-cards{flex:1;min-height:0;max-height:none}.trash-picker .confirmation-actions{flex-shrink:0;padding-top:12px}.deployment-ship{object-fit:contain;width:40px;height:40px}.interface-dialog:has(.deployment-picker){width:min(1000px,95vw)}.deployment-picker>.conflict-panel{grid-template-columns:1fr 150px;height:330px}.deployment-picker .combat-player{width:85px}.deployment-picker .combat-portrait{height:86px}.deployment-counters{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.deployment-counter{align-items:center;gap:10px;display:flex}.deployment-counter button{background:#245575;border:1px solid #b69c60;padding:2px 20px;font-size:25px}.deployment-counter output{text-align:center;min-width:26px;font-size:24px}.game-shell .table-layout .effect-tray .deployment-trigger{background:#611e21}.deployment-trigger .game-icon{width:44px;height:44px}@media (width>=1101px){.game-shell .table-layout{--dock-height:175px;height:calc(100dvh - 72px)}.game-shell .board-panel{padding-bottom:182px}.game-shell .table-layout.ix-table .board-groups{grid-template-columns:1fr 1fr 1fr 1fr .95fr}.game-shell .table-layout:not(.ix-table) .board-groups{grid-template-columns:1fr 1fr 1fr 1fr}.game-shell .table-layout .board-groups{grid-template-rows:repeat(8,minmax(0,1fr));gap:8px 14px}.game-shell .table-layout .board-group.faction-group{padding-top:0;padding-bottom:0;padding-left:74px}.game-shell .table-layout .faction-track{width:43px;left:18px}.game-shell .table-layout .board-group.emperor{grid-area:1/1/3/2}.game-shell .table-layout .board-group.guild{grid-area:3/1/5/2}.game-shell .table-layout .board-group.bene{grid-area:5/1/7/2}.game-shell .table-layout .board-group.fremen{grid-area:7/1/9/2}.game-shell .table-layout .board-group.landsraad .spaces{gap:22px 14px}.game-shell .table-layout .board-group .spaces{row-gap:16px}.game-shell .table-layout .board-group.landsraad{grid-area:1/2/3/6}.game-shell .table-layout .board-group.shipping{background:0 0;border:0;grid-area:3/4/5/6;padding:0}.game-shell .table-layout .board-group.shipping h3{display:none}.game-shell .table-layout .board-group.shipping .spaces{grid-template-rows:1fr;grid-template-columns:repeat(2,minmax(0,1fr));height:100%}.game-shell .table-layout .board-group.city{grid-area:3/2/9/3}.game-shell .table-layout .board-group.city .spaces{grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:1fr}.game-shell .table-layout .board-group.spice{grid-area:3/3/9/4}.game-shell .table-layout .board-group.spice .spaces{grid-template-rows:repeat(3,max-content);grid-template-columns:minmax(0,1fr);align-content:start;gap:22px 14px}.game-shell .table-layout .board-group.spice .board-space{aspect-ratio:2.65;align-self:start;width:100%;height:auto;min-height:0}.game-shell .table-layout .shipping-track{grid-area:auto;align-self:start;width:116px;height:190px;position:absolute;top:215px;right:-122px}.game-shell .table-layout .conflict-panel{aspect-ratio:1.85;grid-area:auto;grid-template-rows:22px minmax(0,1fr);grid-template-columns:minmax(0,1fr) 105px;width:39%;height:auto;min-height:112px;position:absolute;bottom:0;right:0}.game-shell .table-layout:not(.ix-table) .conflict-panel{width:39%}.game-shell .table-layout .conflict-field{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 8px;padding:1px 5px}.game-shell .table-layout .combat-player{width:33px}.game-shell .table-layout .combat-portrait{height:25px}.game-shell .table-layout .combat-strength{gap:2px;height:16px}.game-shell .table-layout .combat-strength b{font-size:12px}.game-shell .table-layout .combat-strength .game-icon{width:12px;height:12px}.game-shell .table-layout .conflict-reward-summary{gap:2px;padding:1px}.game-shell .table-layout .conflict-reward-line{flex-direction:row;align-items:center;gap:2px;padding:1px}.game-shell .table-layout .conflict-reward-line .game-icon{width:15px;height:15px}.game-shell .table-layout .undo-action{position:absolute;bottom:5px;right:220px}.game-shell .table-layout .faction-group .board-effects .game-icon{width:clamp(20px,2.7vh,30px);height:clamp(20px,2.7vh,30px)}}@media (width>=1600px){.game-shell .table-layout{--dock-height:215px}.game-shell .board-panel{padding-bottom:224px}.game-shell .table-layout .shipping-track{width:116px;height:210px;top:300px}.game-shell .table-layout .combat-player{width:48px}.game-shell .table-layout .combat-portrait{height:38px}}@media (width>=1101px){.game-shell .table-layout .atomics-action{z-index:13;width:210px;position:absolute;bottom:84px;right:0}.game-shell .table-layout .immortality-controls{bottom:142px}.game-shell .table-layout .auxiliary-actions{bottom:180px}}.game-shell .board-space .bonus-spice{color:#ffe0a3;background:#241b11e6;border:1px solid #d9aa57;border-radius:5px;align-items:center;gap:3px;padding:3px 6px;font-size:15px;line-height:1;display:flex;position:absolute;top:7px;right:8px}.game-shell .board-space .bonus-spice small{font-size:10px}.expansion-status{flex-wrap:wrap;align-items:stretch;gap:6px;min-width:0;margin:0 0 8px;display:flex}.expansion-status>button{color:#f2dba9;background:#142633ee;border:1px solid #9a835c;flex-wrap:wrap;align-items:center;gap:4px 7px;min-width:0;min-height:38px;padding:5px 9px;font-size:12px;display:flex}.expansion-status>button>span{color:#d2dce2;font-size:11px}.expansion-status .game-icon{width:22px;height:22px}.selected-space-description p{margin:3px 0}.effect-tray .dispatch-hint{color:#f4d99f;white-space:normal;flex:1 0 100%;align-self:center;margin:0;font-size:13px;line-height:1.45}.expanded-choice-list{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:12px;display:grid}.expanded-choice-list>button{color:#f6e6c3;text-align:left;white-space:normal;overflow-wrap:anywhere;background:#172a35;border:1px solid #9e895f;border-radius:8px;min-height:72px;padding:14px;font-size:14px;line-height:1.6}@media (width>=1101px){.game-shell .board-panel:has(>.expansion-status){grid-template-rows:22px auto minmax(0,1fr);gap:5px;display:grid}.game-shell .board-panel>.expansion-status{margin:0}.game-shell .board-panel:has(>.expansion-status)>.board-groups{height:100%}.game-shell .table-layout.uprising-table .board-groups{grid-template-columns:1fr 1fr 1fr 1fr .95fr}.game-shell .table-layout.uprising-table .conflict-panel{aspect-ratio:auto;grid-area:5/4/9/6;width:100%;height:100%;min-height:0;margin:0;position:relative;inset:auto}}@media (width<=1100px) and (orientation:landscape){.game-shell .table-layout{--mobile-hand-height:min(160px, 38dvh);--mobile-actions-height:min(135px, 30dvh)}.game-shell .table-layout .hand-panel.card-overlay{grid-template-columns:144px minmax(0,1fr)}.game-shell .hand-filters,.game-shell .hand-tools{flex-flow:wrap}.game-shell .hand-panel .section-title button{min-height:28px}}@media (width<=1100px){.game-shell .table-layout .action-panel:has(.dispatch-hint) .effect-tray{grid-area:1/1/auto/-1}.game-shell .table-layout .action-panel:has(.dispatch-hint) .primary-actions{flex-flow:wrap;grid-area:2/1/auto/-1;align-items:center;position:static}.game-shell .table-layout .action-panel:has(.dispatch-hint) .primary-actions .action-button{flex:120px}.game-shell .table-layout{flex-direction:column;gap:14px;height:auto;min-height:0;display:flex}.game-shell .table-layout .players-column{overscroll-behavior-inline:contain;grid-template-columns:none;grid-auto-columns:minmax(174px,1fr);grid-auto-flow:column;align-items:start;gap:8px;height:auto;min-height:0;display:grid;overflow-x:auto}.game-shell .table-layout .player-panel{align-self:start;height:auto;min-height:0;margin:0;padding:8px}.game-shell .table-layout .self-player{order:-1}.game-shell .table-layout .player-portrait-row{min-height:40px}.game-shell .table-layout .player-footer{font-size:11px}.game-shell .table-layout .board-column{width:100%;min-width:0}.game-shell .table-layout .board-panel{height:auto;min-height:0;padding:0;display:block}.game-shell .table-layout .board-groups{grid-template-rows:none;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:25px 12px;height:auto;min-height:0;padding-top:18px;display:grid}.game-shell .table-layout .board-group{min-width:0;height:auto;min-height:0;padding:0;grid-area:auto!important}.game-shell .table-layout .board-group.faction-group{min-height:214px;padding-left:44px}.game-shell .table-layout .faction-track{width:33px;height:auto;top:0;bottom:0;left:1px}.game-shell .table-layout .board-group.faction-group .spaces{grid-template-rows:repeat(2,minmax(90px,1fr));grid-template-columns:minmax(0,1fr);gap:25px;height:100%;display:grid}.game-shell .table-layout .board-group.landsraad,.game-shell .table-layout .board-group.city,.game-shell .table-layout .board-group.spice,.game-shell .table-layout .board-group.shipping{grid-column:1/-1!important}.game-shell .table-layout .board-group:not(.faction-group) .spaces{grid-template-rows:none;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));grid-auto-rows:minmax(92px,auto);gap:25px 12px;height:auto;display:grid}.game-shell .table-layout .board-group h3{margin-bottom:22px}.game-shell .table-layout .board-group .board-space{aspect-ratio:auto;align-self:stretch;width:100%;height:100%;min-height:90px;overflow:visible}.game-shell .table-layout .board-space .space-name,.game-shell .table-layout .board-effects{font-size:12px}.game-shell .table-layout .board-effects .game-icon{max-width:26px;max-height:26px}.game-shell .table-layout .conflict-panel{grid-area:auto/1/auto/-1;height:260px;min-height:260px;margin:0;position:relative;inset:auto}.game-shell .table-layout .shipping-track{grid-area:auto/1/auto/-1;width:210px;height:310px;min-height:0;margin:5px auto 0;position:relative;inset:auto}.game-shell .hand-panel .section-title button{min-width:44px;min-height:44px}}@media (width>=700px) and (width<=1100px){.game-shell .table-layout .board-groups{grid-template-columns:repeat(4,minmax(0,1fr))}.game-shell .table-layout .conflict-panel{grid-column:1/4}.game-shell .table-layout .shipping-track{grid-column:4;width:100%;height:260px}}@media (width<=1100px) and (orientation:landscape){.game-shell .table-layout{--mobile-action-width:clamp(180px, 26vw, 240px)}.game-shell .table-layout:has(.hand-panel:not([hidden])){padding-bottom:calc(var(--mobile-hand-height) + 24px + env(safe-area-inset-bottom,0px))}.game-shell .table-layout .hand-panel.card-overlay{right:calc(var(--mobile-action-width) + 16px + env(safe-area-inset-right,0px))}.game-shell .table-layout .action-panel{left:auto;right:max(8px, env(safe-area-inset-right,0px));bottom:max(8px, env(safe-area-inset-bottom,0px));width:var(--mobile-action-width);height:var(--mobile-hand-height);max-height:var(--mobile-hand-height);grid-template-columns:minmax(68px,.8fr) minmax(0,1fr);align-content:start;gap:4px;padding:6px}.game-shell .hand-panel .hand-tools{flex-flow:row}.game-shell .hand-panel .hand-tools button{flex:1;padding:3px}.game-shell .hand-panel .hand-filters{align-content:start}}.player-panel .player-resources>span,.player-panel .player-icon-count{flex:0 0 30px;place-items:center;gap:0;width:30px;height:32px;display:inline-grid;position:relative}.player-panel .player-public-tokens>span:has(>b){flex:0 0 30px;place-items:center;gap:0;width:30px;height:32px;display:inline-grid;position:relative}.player-panel .player-resources>span:first-child{display:none}.player-panel .player-resources .game-icon,.player-panel .player-icon-count .game-icon{width:30px;max-width:none;height:32px;max-height:none}.player-panel .player-public-tokens>span:has(>b) .game-icon{width:30px;max-width:none;height:32px;max-height:none}.player-panel .player-resources b,.player-panel .player-public-tokens>span>b,.player-panel .player-icon-count>b{color:#fff;-webkit-text-stroke:3px #171717;paint-order:stroke fill;text-shadow:0 1px 2px #000;pointer-events:none;place-items:center;font-size:20px;font-weight:800;line-height:1;display:grid;position:absolute;inset:0}.player-panel .player-resources,.player-panel .player-public-tokens{flex-wrap:wrap;gap:6px}.player-panel .player-agents{padding-bottom:0}.player-detail .detail-hero{background:linear-gradient(100deg,#061b1def,#071315a8),url(/assets/board/nebula.jpg) 50%/cover;min-height:min(620px,72dvh);padding:18px 3% 24px}.player-detail .detail-header{z-index:1;background:linear-gradient(100deg,#163138e8,#14212ad9);border-left:1px solid #a2b9b7;width:fit-content;max-width:85%;padding:12px 24px 16px;position:relative}.player-detail .detail-status-strip{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.detail-stat,.player-detail .player-icon-count{flex:0 0 42px;place-items:center;width:42px;height:46px;display:inline-grid;position:relative}.detail-stat>b,.player-detail .player-icon-count>b{color:#fff;-webkit-text-stroke:3px #171717;paint-order:stroke fill;text-shadow:0 1px 3px #000;place-items:center;font-size:25px;font-weight:800;line-height:1;display:grid;position:absolute;inset:0}.player-detail .detail-portrait{object-fit:cover;object-position:center top;opacity:1;width:43%;height:100%;top:0;right:0;-webkit-mask-image:linear-gradient(105deg,#0000 1%,#000 24%);mask-image:linear-gradient(105deg,#0000 1%,#000 24%)}.player-detail .detail-identity{width:55%;margin-top:28px}.player-detail .detail-player-switch h1{border-bottom:1px solid #a1bdb54a;padding-bottom:12px;font-size:clamp(25px,2.6vw,42px);font-weight:400}.player-detail .leader-ability{margin:16px 42px;font-size:16px;line-height:1.8}.player-detail .detail-facts{background:#071719a0;width:55%;margin-top:22px}.player-detail .detail-facts summary{cursor:pointer;color:#a9bbb8;font-size:12px}.player-detail .detail-tabs{background:#091417;flex-wrap:wrap;justify-content:space-around;padding:12px 2%}.player-detail .detail-tabs button{border-right:1px solid #b19c7066;flex:auto;justify-content:center;align-items:center;gap:10px;width:auto;font-size:19px;display:flex}.player-detail .detail-tabs button:last-child{border-right:0}.player-detail .detail-tabs button span{margin-left:0}@media (width<=760px){.player-detail .detail-hero{min-height:0;padding:12px}.player-detail .detail-header{max-width:100%;padding:10px}.player-detail .detail-status-strip{gap:7px}.player-detail .detail-portrait{opacity:.3;width:70%}.player-detail .detail-identity,.player-detail .detail-facts{width:100%}.player-detail .leader-ability{margin:12px;font-size:14px}.player-detail .detail-tabs button{padding:10px 8px;font-size:14px}}.player-detail .leader-ability .rule-text{font-size:inherit;line-height:inherit}.detail-stat>.player-agent{object-fit:contain;width:34px;height:44px}.player-icon-count>.player-agent{object-fit:contain;width:26px;height:32px}.observation-post .observation-marker,.observation-marker svg{width:100%;height:100%;display:block}.observation-post{background:0 0;border:0;border-radius:0;width:32px;height:26px}.conflict-panel{--garrison-width:38px;--garrison-icon:15px}.conflict-panel .combat-seat{grid-template-columns:max-content var(--garrison-width) minmax(0, 1fr);align-items:center;display:grid}.conflict-panel .combat-seat:nth-child(2n){grid-template-columns:minmax(0, 1fr) var(--garrison-width) max-content}.conflict-panel .combat-seat>.combat-player{z-index:1;grid-area:1/1;margin:0}.conflict-panel .combat-seat:nth-child(2n)>.combat-player{grid-column:3;margin:0}.garrison-enclosure{background:color-mix(in srgb, var(--player) 16%, #231b21aa);color:#fff;border:3px double #e0d5bf88;border-left:0;border-radius:0 100% 100% 0/0 50% 50% 0;flex-direction:column;grid-area:1/2;justify-content:center;align-self:stretch;gap:2px;min-height:48px;padding:3px 8px 3px 3px;display:flex}.combat-seat:nth-child(2n) .garrison-enclosure{border:3px double #e0d5bf88;border-right:0;border-radius:100% 0 0 100%/50% 0 0 50%;padding:3px 3px 3px 8px}.garrison-unit{justify-content:center;align-items:center;gap:3px;font-size:11px;line-height:1;display:flex}.garrison-unit>.game-icon,.garrison-unit>img,.garrison-unit>.troop-cube{width:var(--garrison-icon);height:var(--garrison-icon);flex:0 0 var(--garrison-icon);object-fit:contain}.deployed-units{flex-wrap:wrap;grid-area:1/3;align-content:center;align-items:center;gap:3px;min-width:0;padding-left:5px;display:flex}.combat-seat:nth-child(2n) .deployed-units{grid-column:1;justify-content:flex-end;padding:0 5px 0 0}.deployed-units .combat-commanders{font-size:11px}.deployed-units .combat-commanders .game-icon{width:19px;height:19px}@media (width>=1101px){.game-shell .table-layout .conflict-panel{min-height:146px}}@media (width>=1600px){.conflict-panel{--garrison-width:46px;--garrison-icon:18px}.garrison-unit{font-size:14px}.game-shell .table-layout .conflict-panel{min-height:170px}}.deployment-picker .conflict-panel{--garrison-width:65px;--garrison-icon:24px}.deployment-picker .garrison-unit{gap:6px;font-size:20px}.deployment-picker .garrison-enclosure{gap:7px}.conflict-panel .conflict-field{container-type:inline-size}.conflict-panel .conflict-field[data-player-count="2"]{grid-template-rows:minmax(0,1fr)}.conflict-panel .conflict-field .combat-seat{--portrait-size:clamp(38px, 12cqw, 112px);--strength-height:clamp(18px, 4cqw, 32px);--garrison-width:clamp(36px, 8cqw, 78px);--garrison-icon:clamp(15px, 3.5cqw, 32px)}.conflict-panel .conflict-field .combat-seat>.combat-player{width:var(--portrait-size)}.conflict-panel .conflict-field .combat-portrait{height:var(--portrait-size)}.conflict-panel .conflict-field .combat-strength{height:var(--strength-height);gap:4px}.conflict-panel .conflict-field .combat-strength b{font-size:clamp(15px,3.8cqw,30px)}.conflict-panel .conflict-field .combat-strength .game-icon{width:clamp(14px,3cqw,25px);height:clamp(14px,3cqw,25px)}.conflict-panel .conflict-field .garrison-enclosure{height:calc(var(--portrait-size) + var(--strength-height));align-self:center;gap:clamp(2px,1cqw,8px)}.conflict-panel .conflict-field .garrison-unit{font-size:clamp(12px,3cqw,25px)}.conflict-panel .conflict-field .deployed-units{gap:clamp(2px,.7cqw,7px)}.conflict-panel .conflict-field .deployed-units .troop-cube,.conflict-panel .conflict-field .deployed-units .game-icon,.conflict-panel .conflict-field .deployed-units .combat-dreadnoughts img{width:clamp(14px,3.5cqw,32px);height:clamp(14px,3.5cqw,32px)}.conflict-panel .conflict-field .deployed-units .combat-commanders{font-size:clamp(12px,2.8cqw,24px)}.conflict-panel .conflict-reward-summary{container-type:inline-size}.conflict-panel .conflict-reward-summary .conflict-reward-line{flex-wrap:wrap}.conflict-panel .conflict-reward-summary .conflict-reward-line .game-icon{width:clamp(18px,18cqw,36px);height:clamp(18px,18cqw,36px)}.conflict-panel .conflict-reward-summary .conflict-reward-line .effect-token b,.conflict-panel .conflict-reward-summary .conflict-reward-line>small{font-size:clamp(11px,10cqw,19px)}
