/* Cyber Hero tabletop theme. Edit this file, then run npm run build:ui. */
:root{--paper:#f8f5ec;--ink:#202d49;--muted:#70757b;--line:#dedfd6;--blue:#2949a4;--coral:#df5146;--yellow:#f5c344;--green:#2c775a;--bg-primary:var(--paper);--bg-secondary:#fffdf7;--bg-card:#fffdf7;--accent-gold:#9a620c;--accent-gold-glow:#edc75630;--accent-cyan:#2949a4;--accent-emerald:#287458;--accent-rose:#c3443c;--text-primary:var(--ink);--text-secondary:#536076;--text-muted:#687180;--border-color:var(--line)}
body{background:var(--paper);color:var(--ink);padding-bottom:0}button,a,input,select{touch-action:manipulation}button{font-family:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #3656ae;outline-offset:4px}button{transition:transform .18s,box-shadow .18s,background .18s}button:disabled{cursor:not-allowed}input{user-select:text!important}#app-root{background:var(--paper)}
.table-header{height:108px;display:flex;align-items:center;justify-content:space-between;max-width:1320px;width:100%;margin:auto;padding:20px 48px;border-bottom:1px solid var(--line);gap:24px}.table-brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-size:20px;font-weight:900;letter-spacing:1px;line-height:1.05}.brand-sub{display:block;font-size:10px;letter-spacing:1.7px;margin-top:6px}.brand-dice{width:39px;height:39px;display:grid;grid-template-columns:repeat(2,1fr);gap:7px;padding:9px;border-radius:10px;background:var(--blue);transform:rotate(-11deg);box-shadow:3px 3px 0 #c8d0df}.brand-dice i{background:var(--paper);border-radius:50%}.table-partners{display:flex;align-items:center;justify-content:center;gap:24px}.table-partners img{object-fit:contain;width:90px;height:56px}.table-partners img:first-child{width:64px;height:65px}.table-partners img:last-child{width:109px}.table-partners>span{font-size:14px;color:#b4b8b5}.table-nav{display:flex;align-items:center;gap:22px}.table-nav button{border:0;background:none;color:var(--ink);font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}.table-nav button:first-child span{margin-left:10px}.table-nav button:last-child{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}.table-nav svg{width:19px;height:19px}
.table-home{width:100%;max-width:1320px;margin:auto;padding:0 48px}.table-hero{display:grid;grid-template-columns:.95fr 1.15fr;align-items:center;min-height:565px;gap:12px;padding:40px 0 35px}.hero-copy{position:relative;z-index:2}.edition-label{display:flex;align-items:center;gap:9px;color:var(--blue);font-size:10px;letter-spacing:1.6px;font-weight:800;margin-bottom:23px}.edition-label>span{width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 4px #df514612}.hero-copy h1{font-size:clamp(42px,4.5vw,64px);line-height:1.3;letter-spacing:-2.3px;font-weight:800;margin:0 0 18px}.hero-word{display:inline-block;position:relative;color:var(--coral);padding-left:6px}.hero-word svg{position:absolute;bottom:-1px;left:3px;width:100%;height:12px}.hero-description{font-size:16px;line-height:1.85;color:#6a7079;margin-bottom:28px}.play-actions{display:flex;align-items:stretch;gap:12px;max-width:470px}.play-actions button{cursor:pointer;display:flex;align-items:center;gap:13px;text-align:left;border-radius:13px;min-height:79px;padding:14px 18px;font-size:15px;font-weight:800}.play-actions small{display:block;font-size:11px;font-weight:400;margin-top:4px;opacity:.8}.play-primary{background:var(--blue);color:white;border:1px solid var(--blue);box-shadow:0 5px 0 #1b326e;flex:1.2}.play-online{background:#fffdf7;color:var(--ink);border:1px solid #d8dbd3;box-shadow:0 5px 0 #e4e4dc;flex:1}.play-online svg{width:23px;height:23px;flex-shrink:0}.play-symbol{font-size:15px}.play-arrow{margin-left:auto;font-size:21px;font-weight:400}.play-actions button:hover{transform:translateY(-3px);box-shadow:0 8px 0 #1b326e}.play-online:hover{box-shadow:0 8px 0 #e4e4dc;background:#f1efe6}.play-actions button:active{transform:translateY(3px);box-shadow:0 1px 0 #1b326e}.hero-facts{display:flex;gap:0;margin-top:28px;align-items:center;color:#7b7e81;font-size:11px}.hero-facts>span{padding:0 18px;border-right:1px solid #d5d8d1}.hero-facts>span:first-child{padding-left:0}.hero-facts>span:last-child{border:0}.hero-facts b{font-size:18px;color:var(--ink);margin-right:6px}
.game-scene{position:relative;height:470px;min-width:0;isolation:isolate}.game-scene:before{content:"";position:absolute;inset:8px 10px 24px 24px;border-radius:48% 48% 45% 48%;background:#eaece2;z-index:-2}.game-scene:after{content:"";position:absolute;inset:0;background-image:radial-gradient(#b0bbaf 1px,transparent 1px);background-size:19px 19px;opacity:.25;z-index:-3;mask-image:radial-gradient(ellipse,black,transparent 70%)}.scene-orbit{position:absolute;inset:24px -2px 24px 12px;border:1px dashed #c6cbbf;border-radius:50%;transform:rotate(-25deg);z-index:-1}.game-box{position:absolute;left:9%;top:85px;width:83%;background:#263c7a;padding:13px;border-radius:10px;transform:rotate(-9deg);box-shadow:0 12px 0 #16264e,0 15px 0 #122044,0 35px 35px #24334830;transition:transform .4s}.game-box:hover{transform:rotate(-6deg) translateY(-4px)}.game-box img{display:block;width:100%;border-radius:3px;border:3px solid #f0e5c5}.box-label{font-size:11px;font-weight:900;letter-spacing:1px;color:#fff3d4;display:flex;align-items:center;gap:7px;padding-bottom:8px}.box-label>span:last-child{margin-left:auto;font-size:7px;letter-spacing:1px}.box-mini-dice{font-size:20px;line-height:1}.box-bottom{display:flex;justify-content:space-between;color:#fff3d4;font-size:8px;padding-top:9px;letter-spacing:.2px}.scene-caption{position:absolute;bottom:0;left:22%;font-size:8px;color:#889084;letter-spacing:2px;font-weight:700;transform:rotate(-3deg)}.scene-spark{position:absolute;color:var(--coral);font-size:36px}.spark-one{top:20px;left:18%}.spark-two{bottom:18px;right:1%;color:var(--blue);font-size:43px}.scene-card{position:absolute;width:113px;height:148px;border-radius:9px;padding:12px 10px;text-align:center;box-shadow:0 6px 0 #c6c9b8,0 14px 24px #25304a20;border:3px solid #fffdf1;display:flex;flex-direction:column;align-items:center;justify-content:space-between}.bonus-card{right:-3px;top:9px;transform:rotate(13deg);background:#d8e9b8;color:#36583f;z-index:3}.risk-card{left:14px;bottom:11px;background:#f2b0a6;color:#843e39;transform:rotate(-15deg);z-index:3}.mini-card-tag{font-size:7px;letter-spacing:1.3px;font-weight:800}.mini-card-icon{width:42px;height:42px;border:1.5px solid currentColor;display:grid;place-items:center;border-radius:50%;font-size:29px;font-weight:800}.scene-card b{font-size:14px}.scene-card small{font-size:10px}.table-die{position:absolute;bottom:11px;right:17%;width:67px;height:67px;background:#fffdf4;border:1px solid #e5e0d3;box-shadow:5px 8px 0 #d9d4c4,12px 16px 16px #202d4920;border-radius:15px;transform:rotate(16deg);display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:12px;gap:6px;z-index:4}.table-die i{background:var(--ink);border-radius:50%}.table-die i:nth-child(2){grid-column:3}.table-die i:nth-child(3){grid-column:2;grid-row:2}.table-die i:nth-child(4){grid-column:1;grid-row:3}.table-die i:nth-child(5){grid-column:3;grid-row:3}.table-pawn{position:absolute;width:35px;height:43px;border-radius:45% 45% 35% 35%;background:var(--blue);box-shadow:inset -9px -5px 0 #0002,4px 5px 9px #202d4920;z-index:4;transform:rotate(8deg)}.table-pawn:before{content:"";position:absolute;width:25px;height:25px;border-radius:50%;background:inherit;left:5px;top:-13px;box-shadow:inset -5px -3px 0 #0002}.table-pawn:after{content:"";position:absolute;bottom:-4px;left:-7px;width:49px;height:17px;background:inherit;border-radius:50%;box-shadow:inset -5px -4px 0 #0002}.pawn-blue{bottom:9px;left:37%}.pawn-coral{background:var(--coral);top:64px;left:11%;transform:rotate(-15deg) scale(.8)}.board-sticker{position:absolute;right:1%;bottom:85px;background:var(--yellow);color:#614416;width:82px;height:82px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;line-height:1.4;transform:rotate(12deg);box-shadow:3px 4px 0 #be9a3230;z-index:4;border:1px dashed #9d7f2e;outline:5px solid var(--yellow)}.board-sticker>span{font-size:20px;font-weight:800}
.journey-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;display:grid;grid-template-columns:1.2fr 1fr 1fr 1.1fr;gap:28px;align-items:center}.eyebrow{font-size:8px;letter-spacing:2px;color:#90958e;font-weight:800}.journey-intro h2{font-size:19px;line-height:1.45;margin-top:7px}.journey-step{display:flex;align-items:flex-start;gap:12px}.step-index{font-size:12px;line-height:28px;font-weight:800;color:var(--coral);width:30px;height:30px;border:1px solid #d9d7c8;border-radius:50%;flex-shrink:0;text-align:center;background:#f0ecdf}.journey-step h3{font-size:14px;margin:3px 0 5px}.journey-step p{font-size:11px;line-height:1.75;color:#84867e}.table-footer{max-width:1320px;width:100%;padding:21px 48px 22px;margin:auto;display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#93958e}.footer-star{color:var(--coral);font-size:16px;margin-left:9px}
/* The existing game engine and control IDs remain intact. */
.loading-screen{background:var(--paper)}.loading-bg-glow,.player-select-bg-glow,.piece-select-bg-glow{display:none}.loading-logo-wrapper{background:#fffdf7;border:1px solid var(--line);box-shadow:0 5px 0 #e7e4d9;animation:none;backdrop-filter:none}.loading-logo{filter:none}.loading-title{background:none;-webkit-text-fill-color:var(--ink);color:var(--ink)}.loading-status-text,.progress-stats{color:#707578}.progress-container{background:#e6e7dd;border:0;box-shadow:none}.progress-bar-fill{background:var(--blue);box-shadow:none}.loading-logo.logo-img-3{transform:none}.logo-x-divider{color:#9a9e93;text-shadow:none}.player-select-container,.piece-select-container,.lobby-container{background:var(--paper)!important;padding:36px 20px;justify-content:flex-start}.player-select-card,.piece-select-card{background:#fffdf7;border:1px solid var(--line);box-shadow:0 7px 0 #e5e1d4,0 20px 50px #28334b08;backdrop-filter:none;border-radius:22px;padding:30px;max-width:890px}.select-header{margin-bottom:22px}.select-badge{background:#eceef8;color:var(--blue);border:0;letter-spacing:2px;box-shadow:none}.select-title{background:none;-webkit-text-fill-color:var(--ink);color:var(--ink);font-size:29px;text-shadow:none}.select-subtitle{color:var(--muted)}.player-option-card,.mode-option-card{background:#f7f5ed;border:1px solid #dddccf;box-shadow:0 3px 0 #e5e2d6;color:var(--ink)}.player-option-card.active,.mode-option-card.active{background:#edf1fa;border:2px solid var(--blue);box-shadow:0 4px 0 #c6cfe7}.player-option-card:hover,.mode-option-card:hover{background:#f0eee4;border-color:#8d9cbc}.player-count-number{color:var(--ink);text-shadow:none}.player-option-card.active .player-count-number{color:var(--blue)}.player-count-label,.mode-card-title,.mode-section-title{color:var(--ink)}.mode-card-desc,.select-footer-note,.status-desc{color:#7a7c80}.gamestate-status-box{background:#f1f3eb;border:1px dashed #ccd1bf;color:var(--ink);box-shadow:none}.gamestate-status-box.saved{background:#edf4e9;border-color:#9abd97}.status-title{color:var(--green)}.btn-action,.header-btn{box-shadow:none;border-radius:10px}.btn-next-piece,.btn-start-match,.btn-roll-dice-active{background:var(--blue);border:1px solid var(--blue);color:#fff;box-shadow:0 4px 0 #1a316e}.btn-next-piece:hover,.btn-start-match:hover,.btn-roll-dice-active:hover:not(:disabled){background:#3558b4;color:white;box-shadow:0 6px 0 #1a316e}.btn-save-gamestate,.btn-back-menu,.btn-back-players{background:#f1eee4;color:var(--ink);border:1px solid #dedaca}.player-piece-row,.color-chip-btn{background:#f7f5ed;border-color:var(--line);box-shadow:none}.player-piece-row.selected{background:#f5f7ee;border-color:#c5d3b0}.player-piece-row input{background:white;color:var(--ink);border:1px solid #c4cbd4}.player-name-input,.player-name-display,.player-label,.player-name{color:var(--ink)}.chip-color-name{color:#5c6675}.color-chip-btn.active-me{background:#e5ebf8;border-color:var(--blue);box-shadow:0 2px 0 #bbc9ec}.color-chip-btn.active-me .chip-color-name{color:var(--blue)}.piece-status-panel,.piece-status-box{background:#f0f3e7;color:var(--ink);border-color:var(--line)}
.setup-brand{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:890px;margin:0 auto 24px;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:1px}.setup-brand img{height:45px;width:75px;object-fit:contain}.setup-progress{display:flex;gap:8px;align-items:center;font-size:11px;letter-spacing:0;color:#93988e}.setup-progress b{background:var(--blue);color:white;width:23px;height:23px;display:grid;place-items:center;border-radius:50%;font-size:11px}.setup-progress span{height:1px;background:#d7dacd;width:25px}
.game-board-layout{background:var(--paper);color:var(--ink)}.game-header-bar{height:auto;min-height:82px;background:#fffdf8;border-bottom:1px solid var(--line);padding:12px 28px;backdrop-filter:none;box-shadow:0 2px 9px #27334b05}.header-logo-img{height:45px!important;max-height:50px;filter:none!important}.header-logos-group{padding-right:18px;border-right:1px solid var(--line)}.header-logo-x{color:#adb0a7;text-shadow:none}.header-game-title{color:var(--ink);background:none;-webkit-text-fill-color:var(--ink);font-size:18px;text-shadow:none}.header-status-tag{background:#e9efe3;color:#47704c;border:0;box-shadow:none;font-size:10px}.header-btn{background:#f2f0e7;color:#525d70;border:1px solid #e0e0d4;font-size:11px}.header-btn:hover{background:#e8ecf5;color:var(--blue)}.game-main-content{max-width:1600px;grid-template-columns:minmax(0,1fr) 300px;padding:24px;gap:20px}.board-container-card{background:#e6e8dd;border:1px solid #d1d6c7;border-radius:16px;padding:42px 16px 12px;box-shadow:0 5px 0 #c9cdbd,0 18px 35px #2833480b}.board-container-card:before{content:"THE ADVENTURE BOARD  /  CYBER HERO";position:absolute;left:18px;top:17px;font-size:9px;font-weight:800;letter-spacing:1.5px;color:#6e7e70}.board-viewport-pan-wrapper{border-radius:6px;box-shadow:0 4px 13px #192b3726}.board-zoom-hud{top:7px;right:9px;background:#fffdf1;border:1px solid #d0d5c5;box-shadow:none;padding:2px}.board-hud-btn{color:#566453;font-size:10px;min-height:26px;padding:3px 7px}.board-hud-btn.highlight{background:#e4e9d9;color:#507443;border:0}.board-footer-notice{background:transparent;color:#536452;border:0;font-size:11px;padding:12px 4px 0}.sidebar-card{border:1px solid var(--line);border-radius:14px;background:#fffdf7;box-shadow:0 4px 0 #e6e2d6;padding:16px}.card-title{font-size:13px;color:var(--ink)}.card-header-bar{border-color:var(--line);padding-bottom:10px}.players-info-list{gap:8px;max-height:260px}.player-info-item{background:#f4f2e9;border:1px solid #e5e3d7;box-shadow:none}.player-info-item.active-turn{background:#e8edf8;border-color:#bccbe9;box-shadow:none}.player-position,.player-status{color:#5c697c}.dice-status-badge{background:#f1eee5;color:#5b6473;border:1px solid #deded3}.dice-status-badge.roll-completed{background:#f8eed0;color:#7a5c14;box-shadow:none}.btn-roll-dice-active{margin-top:7px;min-height:43px}.cube-face{background:#fffdf4;border-color:#d4d3c7;box-shadow:inset 0 0 12px #d9d7c5}.cube-face .dot{background:var(--ink);box-shadow:none}.log-messages-container{background:#f4f3eb;border:0;padding:9px;max-height:140px}.log-text{color:#65726c}.log-system .log-text,.log-info .log-text{color:#486488}.log-warn .log-text{color:#947429}.log-time{color:#949b90}.mobile-board-dock{background:#fffdf7;border-color:#dbdfd2;box-shadow:0 -5px 20px #202d4912}.mobile-dock-turn-info{color:var(--ink)}.mobile-tab-btn{color:#727b72}.mobile-tab-btn.active{background:#e7edf8;color:var(--blue);border-color:#ccd5ea}.btn-mobile-roll-dice{background:var(--blue);color:#fff;box-shadow:0 3px 0 #19336c}
.modal-overlay,.game-guide-overlay{background:#202d4970;backdrop-filter:blur(6px)}.modal-content,.modal-container,.guide-modal-card{background:#fffdf7;color:var(--ink);border:1px solid #d9dece;box-shadow:0 20px 70px #17233b30}.modal-header,.guide-modal-header,.guide-tabs-bar,.guide-modal-footer{background:#f0f0e6;border-color:#dcdfd3}.modal-title,.guide-header-title{color:var(--blue)}.guide-modal-body{background:#fffdf7}.guide-tab-btn{background:#fffdf7;border-color:#d6dace;color:#687365;box-shadow:none}.guide-tab-btn.active{background:var(--blue);color:white;border-color:var(--blue);box-shadow:none}.guide-card{background:#f5f4ec;border-color:#dce0d2;box-shadow:none}.guide-card-title{color:var(--ink)}.guide-card-body p,.guide-bullet-list li,.guide-mode-pill,.tile-row-content{color:#54624f}.guide-mode-pill,.guide-bullet-list li,.guide-tile-row,.tile-type-box,.platform-box{background:#fffdf7;border-color:#dce0d2}.guide-footer-btn,.manual-tool-btn.primary,.guide-nav-btn:hover:not(:disabled){background:var(--blue);box-shadow:none}.guide-header-subtitle,.guide-footer-hint,.guide-card-subtitle{color:#798274}.tile-type-header,.platform-box h4{color:var(--ink)}.tile-type-box p,.platform-box p{color:#66715e}.game-guide-overlay{z-index:10001}.tile-event-modal-body{color:var(--ink)}.tile-event-title{color:var(--ink)}.tile-event-desc{background:#f2f1e7;color:#5d6556}.tile-event-player-badge{background:#efeee4;color:#717b6a}.tile-event-modal-card{background:#fffdf7}.guide-page-select{background:white;color:var(--blue)}
@media(min-width:1600px){.table-header,.table-home,.table-footer{max-width:1450px}.table-hero{min-height:640px;gap:40px}.hero-copy h1{font-size:72px}.game-scene{height:520px}.game-box{top:95px}.journey-strip{padding:35px 0}}
@media(max-width:1100px){.table-header{padding:18px 30px}.table-home{padding:0 30px}.table-footer{padding-left:30px;padding-right:30px}.table-hero{min-height:520px}.hero-copy h1{font-size:49px}.hero-description{font-size:14px}.play-actions{gap:9px}.play-actions button{padding:12px;font-size:12px;gap:8px}.play-actions small{font-size:9px}.game-scene{height:420px}.scene-card{width:95px;height:127px}.game-box{top:82px;left:8%;width:86%}.scene-card b{font-size:12px}.scene-card small{font-size:9px}.board-sticker{width:65px;height:65px;font-size:9px;bottom:90px}.table-partners{gap:15px}.table-partners img{width:80px}.table-partners img:last-child{width:96px}.journey-strip{gap:15px}.journey-intro h2{font-size:17px}.journey-step{gap:8px}.journey-step h3{font-size:12px}.journey-step p{font-size:10px}.header-title-box{max-width:240px}.game-main-content{grid-template-columns:minmax(0,1fr) 280px;gap:14px;padding:17px}.header-game-title{font-size:15px}.header-logo-img{height:34px!important}.header-right-actions{gap:6px}}
@media(max-width:860px){body{padding-bottom:0}.table-header{height:90px;padding:14px 22px}.table-brand{font-size:16px}.brand-dice{width:32px;height:32px;padding:7px;gap:6px}.brand-sub{font-size:8px}.table-partners{gap:10px}.table-partners img{height:36px;width:66px}.table-partners img:first-child{width:45px;height:47px}.table-partners img:last-child{width:78px}.table-nav{gap:10px}.table-nav button{font-size:12px}.table-home{padding:0 24px}.table-hero{grid-template-columns:1fr 1fr;min-height:465px;padding:30px 0}.hero-copy h1{font-size:39px}.edition-label{font-size:8px;letter-spacing:1px;margin-bottom:19px}.hero-description{font-size:12px}.play-actions{flex-direction:column;max-width:280px}.play-actions button{min-height:55px;font-size:13px}.play-primary small,.play-online small{display:none}.hero-facts{font-size:9px;margin-top:22px}.hero-facts>span{padding:0 10px}.hero-facts b{font-size:14px}.game-scene{height:350px}.game-box{top:75px}.box-label{font-size:7px}.box-bottom{font-size:5px}.scene-card{width:76px;height:104px;padding:8px 5px}.mini-card-tag{font-size:5px}.mini-card-icon{width:27px;height:27px;font-size:20px}.scene-card b{font-size:10px}.scene-card small{font-size:7px}.board-sticker{bottom:70px;width:50px;height:50px;font-size:7px}.board-sticker>span{font-size:15px}.table-die{width:48px;height:48px;border-radius:11px;padding:9px;gap:4px;bottom:21px}.table-pawn{scale:.7}.scene-caption{font-size:5px;letter-spacing:1px}.journey-strip{grid-template-columns:1fr 1fr;gap:24px}.game-main-content{grid-template-columns:1fr;padding:12px 12px 135px}.game-sidebar-section{width:100%}.game-header-bar{padding:10px 13px;gap:10px}.header-right-actions{margin-left:auto}.header-logo-img{height:29px!important}.header-game-title{font-size:14px}.header-logos-group{padding-right:9px}.mobile-board-dock{display:flex}.board-container-card{padding:46px 9px 10px}.header-status-tag{max-width:270px;white-space:normal}.game-board-layout{padding-bottom:0}.select-title{font-size:25px!important}.player-options-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}.player-count-number{font-size:30px}.player-avatars-preview{flex-wrap:wrap}}
@media(max-width:600px){.table-header{height:126px;flex-wrap:wrap;gap:12px;padding:16px 20px}.table-brand{order:0}.table-nav{order:1}.table-partners{order:2;width:100%;border-top:1px solid var(--line);padding-top:10px;gap:20px}.table-partners img{height:28px;width:66px}.table-partners img:first-child{height:33px;width:40px}.table-partners img:last-child{width:75px}.table-home{padding:0 23px}.table-hero{grid-template-columns:1fr;gap:0;padding-top:30px}.hero-copy{text-align:center}.edition-label{justify-content:center;font-size:8px}.hero-copy h1{font-size:48px;line-height:1.27;letter-spacing:-1.8px}.hero-description{font-size:13px;margin-bottom:24px}.play-actions{flex-direction:row;max-width:none;gap:10px}.play-actions button{font-size:12px;padding:14px 11px;min-height:68px;gap:9px}.play-actions small{display:block;font-size:9px}.play-online svg{width:20px}.play-arrow{font-size:16px}.hero-facts{justify-content:center;font-size:10px;margin-top:24px}.hero-facts b{font-size:17px}.hero-facts>span{padding:0 17px}.game-scene{height:345px;max-width:450px;width:100%;margin:20px auto 0}.game-box{left:10%;top:62px;width:81%;padding:10px}.game-scene:before{inset:9px 10px 18px 14px}.scene-card{width:83px;height:112px}.bonus-card{top:2px;right:0}.risk-card{left:0;bottom:20px}.board-sticker{right:0;bottom:73px}.pawn-blue{bottom:25px}.pawn-coral{left:12%;top:46px}.table-die{bottom:24px;right:18%;width:54px;height:54px}.scene-caption{bottom:3px;left:23%}.spark-one{left:15%;top:4px}.journey-strip{grid-template-columns:1fr;gap:24px;padding:25px 8px}.journey-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px dashed var(--line)}.journey-intro h2{font-size:17px;margin:0}.journey-step{gap:15px}.journey-step h3{font-size:14px}.journey-step p{font-size:12px}.journey-step p br{display:none}.step-index{width:34px;height:34px;line-height:32px}.table-footer{padding:20px 23px;flex-direction:column;align-items:center;text-align:center;font-size:9px;gap:5px}.player-select-container,.piece-select-container{padding:20px 14px 30px}.player-select-card,.piece-select-card{padding:24px 16px;border-radius:17px}.setup-brand{margin-bottom:17px}.setup-progress{font-size:9px;gap:5px}.setup-progress span{width:14px}.select-title{font-size:24px!important}.select-subtitle{font-size:12px}.player-options-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:5px!important}.player-option-card{padding:12px 3px;min-width:0;border-radius:9px}.player-count-number{font-size:27px}.player-count-label{font-size:10px}.player-avatars-preview{gap:2px}.avatar-dot{width:6px;height:6px}.mode-options-grid{grid-template-columns:1fr}.select-actions{flex-wrap:wrap;gap:9px}.select-actions>.btn-action{min-height:46px;font-size:12px;padding:10px}.select-actions #btn-next-piece{order:-1;width:100%}.select-actions #btn-save-gamestate,.select-actions #btn-back-menu{flex:1}.gamestate-status-box{padding:12px}.status-title{font-size:12px}.status-desc{font-size:10px}.player-piece-row{padding:14px 10px}.players-piece-list{gap:13px}.color-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.header-brand{flex-wrap:wrap;gap:10px}.header-logos-group{border:0}.header-title-box{max-width:none}.game-header-bar{align-items:flex-start}.header-right-actions{flex-wrap:wrap;gap:5px;justify-content:flex-end}.header-btn{font-size:9px;padding:7px;min-height:32px}.header-btn .btn-icon{display:none}.header-game-title{font-size:13px}.header-status-tag{font-size:9px}.board-container-card:before{font-size:7px;letter-spacing:1px;top:13px}.board-zoom-hud{top:32px;left:9px;right:auto}.board-container-card{padding-top:72px}.board-hud-btn{font-size:9px}.board-footer-notice{font-size:10px}.guide-modal-card{width:100%;height:100dvh;border-radius:0}.guide-tabs-bar{padding:8px}.guide-tab-btn{font-size:11px;padding:10px}.modal-overlay{padding:12px}.guide-modal-body{padding:15px}.guide-card{padding:14px}.guide-card-title{font-size:16px}.guide-header-title{font-size:16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Finishing passes: contrast, tabletop controls and compact sidebar. */
.mode-section-title,.mode-card-title,.mode-card-desc,.mode-option-title,.mode-option-desc{text-shadow:none!important}.mode-card-title,.mode-option-title{color:var(--ink)!important}.mode-option-card.active .mode-card-title,.mode-option-card.active .mode-option-title{color:var(--blue)!important;text-shadow:none!important}.mode-card-desc,.mode-option-desc,.mode-option-card.active .mode-card-desc,.mode-option-card.active .mode-option-desc{color:#657168!important;text-shadow:none!important}.mode-section-wrapper{width:100%}.player-options-grid{width:100%}.selection-progress-box{background:#f0f1e7;border-color:#dce1ce}.progress-percent-badge{background:#dfe5d3;color:#526741}.progress-track{background:#dde2d0}.progress-bar-inner{background:var(--blue);box-shadow:none}.selection-progress-box.complete{background:#eaf2e1;border-color:#b8cdaa}.selection-progress-box.complete .progress-text{color:#3b693f}.selection-progress-box.complete .progress-percent-badge{background:#d7e7cd;color:#3b693f}.game-setup-summary-badge{background:#f0f2e9!important;color:#6a7662!important;border-color:#d9dfce!important;margin-bottom:17px}.game-setup-summary-badge b{color:#416c42!important}.player-piece-row.selected .player-status-sub{color:var(--green)}.player-title-label,.player-row-name{color:var(--ink);text-shadow:none}.btn-start-game-final.ready{background:var(--blue);color:white;box-shadow:0 4px 0 #1a316e;animation:none}.btn-start-game-final.ready:hover{background:#3658b4;color:white;box-shadow:0 6px 0 #1a316e}.btn-start-game-final.disabled-btn{background:#edeee6;color:#707a6d;opacity:1;border:1px solid #dfe1d5}.sidebar-grid-two-cols{grid-template-columns:1fr}.header-logos-group{background:none;box-shadow:none;border:0;border-right:1px solid var(--line);border-radius:0;backdrop-filter:none;padding:0 18px 0 0}.player-status-row{background:#f5f3ea;border:1px solid #e2e2d6}.player-status-row.active-turn-highlight,.player-status-row.active-rolling-highlight{background:#edf1fa;border:1px solid #c5cfe9;box-shadow:none}.player-details-grid{background:#fffdf7;border-color:#e3e5da;padding:8px}.detail-label{color:#7a8274}.detail-val{color:#4c5c45}.detail-val.text-gold{color:#806321}.detail-val.text-success,.text-success{color:#337046}.player-token-badge{font-size:9px!important}.dice-area-card .dice-preview-box{display:grid;grid-template-columns:75px 1fr;gap:12px;padding:10px 0 4px}.dice-area-card .dice-3d-scene{grid-column:1;grid-row:1/3;margin:0;transform:scale(.8)}.dice-area-card .dice-status-badge{grid-column:2;font-size:10px;padding:6px}.dice-area-card .btn-roll-dice-active{grid-column:2;font-size:12px;margin:0;padding:10px}.dice-area-card .card-header-bar{margin-bottom:4px}.btn-roll-dice-active:disabled{background:#e2e5dc;color:#717b69;border-color:#d5dbcb;opacity:1}.board-image-wrapper{border-radius:5px}.tile-event-modal-card{background:#fffdf7}.green-card .tile-event-title{color:#356e42}.red-card .tile-event-title{color:#a84e42}.tile-event-action-box.green-action{background:#e5f0dd;color:#387241}.tile-event-action-box.red-action{background:#fae5de;color:#a44d3f}
@media(min-width:861px){.game-box{left:15%;width:77%;top:61px}.game-scene .risk-card{bottom:25px}.game-scene .board-sticker{bottom:92px}.table-hero{padding-bottom:46px}.game-scene{align-self:center}}
@media(max-width:600px){.header-logos-group{border:0;padding:0}.game-header-bar .header-brand{gap:8px}.game-header-bar .header-logos-group{width:100%}.game-header-bar .header-left{max-width:64%}.game-header-bar .header-right-actions{max-width:34%}.game-header-bar .header-btn{width:100%;justify-content:center}.piece-select-card .select-actions{flex-direction:column}.piece-select-card .select-actions>button{width:100%}}
.player-select-card,.piece-select-card{animation:none}.player-details-grid>.detail-item:nth-child(1),.player-details-grid>.detail-item:nth-child(2){display:none}.player-token-badge{color:#526a98!important;background:#e6ebf5!important;border-color:#c6d0e5!important}.players-info-list{max-height:320px}.player-details-grid{row-gap:7px}.game-board-layout .dice-status-badge{color:#4e6178}
@media(max-width:860px){#game-sidebar-section:not([data-mobile-active-tab]) #sidebar-players-card,#game-sidebar-section:not([data-mobile-active-tab]) #sidebar-log-card{display:none}.header-btn span:not(.btn-icon){display:inline}}
@media(max-width:600px){.header-btn span:not(.btn-icon){display:inline}.game-header-bar .header-right-actions{min-width:95px}.game-header-bar .header-btn{font-size:10px;min-height:30px}}
/* Online lobby surfaces and forms. */
.lobby-container h2{color:var(--ink)!important;font-size:28px!important;text-shadow:none!important}.lobby-container h3{color:var(--ink)!important}.lobby-container div[style*="linear-gradient(145deg"]{background:#fafaf3!important;border-color:#d8dfca!important}.lobby-container>div{box-shadow:none!important;border-color:#dce1d1!important}.lobby-container input:not([type=checkbox]),.lobby-container select{background:#fffdf7!important;color:var(--ink)!important;border:1px solid #cdd4c1!important;min-width:0;max-width:100%;outline-offset:3px}.lobby-container input:focus-visible{outline:3px solid #b1c3eb!important}.lobby-container button{background:#e9ece0!important;color:#526149!important;border:1px solid #cbd4bb!important;box-shadow:none!important}.lobby-container .btn-select-order.active,.lobby-container .btn-select-finish.active,.lobby-container button[style*="background: #10b981"]{background:var(--blue)!important;border-color:var(--blue)!important;color:#fff!important}.lobby-container #btn-create-room,.lobby-container #btn-join-room,.lobby-container #btn-start-online,.lobby-container .btn-quick-join-room{background:var(--blue)!important;color:white!important;border-color:var(--blue)!important;box-shadow:0 3px 0 #18316b!important}.lobby-container button:disabled{opacity:.55}.lobby-container #btn-random-name{padding:10px 13px!important;font-size:12px!important}.lobby-container #public-rooms-list-container{min-width:0}.lobby-container div[style*="border: 1px solid #334155"]{border-color:#d9decd!important}.lobby-container div[style*="border: 1px dashed #475569"]{border-color:#c6d0b7!important}.lobby-container #btn-refresh-rooms{white-space:nowrap;font-size:11px!important}
@media(max-width:600px){.scene-orbit{inset:50px 40px}.lobby-container{padding:16px 12px!important}.lobby-container>div{padding:16px!important}.lobby-container h2{font-size:24px!important}.lobby-container h3{font-size:19px!important}.lobby-container div[style*="padding: 1.25rem 1.5rem"]{padding:15px!important}.lobby-container #btn-random-name{font-size:10px!important;padding:8px!important}.lobby-container #input-player-name{font-size:14px!important;padding:12px!important}.lobby-container h4{font-size:13px!important}}
.scene-orbit{inset:50px 40px}
.table-partners img:last-child{object-fit:cover}.header-logo-img.logo-img-3{object-fit:cover;width:85px;max-width:85px;transform:none}.loading-logo.logo-img-3{object-fit:cover;width:180px;height:95px;max-height:95px;max-width:180px}
@media(max-width:860px){.header-logo-img.logo-img-3{width:65px;max-width:65px}}
