:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#050518;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;width:100%;height:100%;overflow:hidden}.app-shell{display:flex;flex-direction:column;height:100vh;width:100vw;background:#050518;color:#eee;font-family:system-ui,sans-serif}.selection-info{position:absolute;top:65px;left:.6rem;z-index:15;display:flex;align-items:center;gap:.5rem;padding:.45rem .55rem .45rem .5rem;background:#0d0d22f0;border:2px solid;border-radius:6px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 4px 12px #00000080}.selection-emblem{width:32px;height:32px;border-radius:50%;background:#00000080;border:1px solid rgba(255,255,255,.2);padding:2px;object-fit:contain;flex:0 0 auto}.selection-text{display:flex;flex-direction:column;gap:.1rem;line-height:1}.selection-faction{font-size:.78rem;font-weight:700;letter-spacing:.02em}.selection-unit{font-size:.7rem;color:#cdd;text-transform:uppercase;letter-spacing:.06em}.selection-deselect{width:22px;height:22px;border-radius:50%;background:#14142a;border:1px solid #2a2a48;color:#aab;font-size:.95rem;line-height:1;cursor:pointer;padding:0;margin-left:.2rem}.selection-deselect:hover{background:#1f1f3a;color:#fff}.sc-picker{position:absolute;top:70px;left:50%;transform:translate(-50%);z-index:20;background:#07071af0;border:1px solid #232348;border-radius:8px;padding:.7rem .9rem .85rem;box-shadow:0 8px 28px #000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:max-content;max-width:calc(100vw - 320px)}.sc-picker-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.7rem;font-size:.9rem}.sc-picker-swatch{width:14px;height:14px;border-radius:50%;border:1px solid rgba(255,255,255,.2)}.sc-picker-player{font-weight:700;letter-spacing:.02em}.sc-picker-instruction{color:#889}.sc-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,auto);gap:.55rem}.sc-card{position:relative;padding:0;background:#0a0a1f;border:2px solid #2a2a48;border-radius:6px;cursor:pointer;overflow:hidden;width:185px;height:245px;display:block;transition:transform .15s ease,border-color .15s,box-shadow .15s}.sc-card:hover:not(:disabled):not(.is-selected){transform:scale(1.08);border-color:#4d6db8;z-index:2}.sc-card.is-selected{transform:scale(1.06);z-index:2}.sc-card.is-taken{cursor:not-allowed;opacity:.5;filter:saturate(.5)}.sc-card-img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.sc-card-taken-banner{position:absolute;bottom:0;left:0;right:0;padding:3px 5px;font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#0a0a1f;text-align:center;border-top:1px solid rgba(0,0,0,.4)}.sc-picker-footer{margin-top:.7rem;display:flex;align-items:center;gap:.6rem;justify-content:center;flex-wrap:wrap}.sc-picker-summary{font-size:.85rem;color:#ccd}.sc-picker-btn{padding:.45rem 1rem;font-size:.85rem;font-weight:700;letter-spacing:.04em;border-radius:4px;cursor:pointer;border:1px solid;transition:background .15s}.sc-picker-confirm{background:#2a3d6b;border-color:#3d5690;color:#cfe0ff}.sc-picker-confirm:hover{background:#3a508a}.sc-picker-yes{background:#2a6b3a;border-color:#3d903d;color:#cfffd6}.sc-picker-yes:hover{background:#3a8a4a}.sc-picker-cancel{background:#14142a;border-color:#2a2a48;color:#aab}.sc-picker-cancel:hover{background:#1f1f3a;color:#ddd}.profile-sc-pick{flex:1;min-width:0;background:#0a0a1f;border:1px solid #2a2a48;border-radius:3px;font-size:.72rem;padding:.22rem .4rem;color:#cdd;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-sc-pick.is-empty{color:#667;font-style:italic;font-weight:400}.phase-bar{display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;border-bottom:1px solid #222;background:#0d0d22;flex:0 0 auto;font-size:.85rem}.phase-round{font-weight:700;letter-spacing:.05em;color:#ccd;background:#14142a;border:1px solid #232348;padding:.25rem .6rem;border-radius:4px}.phase-name{font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .6rem;border-radius:4px}.phase-name[data-phase=strategy]{background:#2a3d6b;color:#cfe0ff}.phase-name[data-phase=action]{background:#6b3a2a;color:#ffd6cf}.phase-name[data-phase=status]{background:#2a6b3a;color:#cfffd6}.phase-status{flex:1;display:flex;align-items:center;gap:.5rem;font-size:.9rem}.phase-active-swatch{width:14px;height:14px;border-radius:50%;border:1px solid rgba(255,255,255,.2)}.phase-active-name{font-weight:700}.phase-active-verb{color:#889}.phase-idle{color:#667}.phase-actions{display:flex;gap:.4rem}.phase-btn{padding:.4rem .9rem;font-size:.82rem;font-weight:600;letter-spacing:.04em;border-radius:4px;cursor:pointer;transition:background .15s,border-color .15s;border:1px solid}.phase-btn-end{background:#2a3d6b;border-color:#3d5690;color:#cfe0ff}.phase-btn-end:hover{background:#3a508a}.phase-btn-pass{background:#6b2a2a;border-color:#903d3d;color:#ffcfcf}.phase-btn-pass:hover{background:#8a3a3a}.phase-btn-status{background:#2a6b3a;border-color:#3d903d;color:#cfffd6}.phase-btn-status:hover{background:#3a8a4a}.phase-btn-skip{background:#14142a;border-color:#4d3d2a;color:#d4b890;font-style:italic}.phase-btn-skip:hover{background:#1f1f3a;color:#f0d4a0}.phase-btn-move{background:#2a5a6b;border-color:#3d7c90;color:#c0ecff}.phase-btn-move:hover:not(:disabled){background:#3a7a8a}.phase-btn-confirm{background:#6b5a2a;border-color:#90803d;color:#fff0c0}.phase-btn-confirm:hover{background:#8a743a}.phase-btn-cancel{background:#3a2a3a;border-color:#5a3d5a;color:#ddc}.phase-btn-cancel:hover{background:#4a3a4a}.phase-btn-newgame{background:#14142a;border-color:#2a2a48;color:#aab}.phase-btn-newgame:hover:not(:disabled){background:#1f1f3a;border-color:#3d3d60;color:#ddd}.phase-btn:disabled{opacity:.5;cursor:not-allowed}.map-container{flex:1;position:relative;overflow:hidden}.loading{padding:2rem;color:#888}.profile-column{position:absolute;top:0;right:0;bottom:0;width:260px;padding:.6rem;display:flex;flex-direction:column;gap:.5rem;overflow-y:auto;z-index:4;pointer-events:none}.profile-column>*{pointer-events:auto}.profile{display:flex;align-items:stretch;background:#0d0d22eb;border:1.5px solid #232348;border-radius:6px;cursor:pointer;transition:border-color .15s,background .15s;overflow:hidden;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.profile:hover{background:#141432f2}.profile.is-active{border-width:2px;background:#141437fa}.profile.is-flow-active{border-width:2px;box-shadow:0 0 0 1px currentColor,0 0 12px #ffdc6459}.profile.is-passed{opacity:.5;filter:saturate(.6)}.profile-passed-tag{font-size:.55rem;font-weight:800;letter-spacing:.1em;background:#3a1d1d;color:#e88f8f;border:1px solid #5a2d2d;padding:1px 4px;border-radius:2px;margin-left:.2rem}.profile-sc:disabled{opacity:.55;cursor:not-allowed}.profile-color-bar{width:5px;flex:0 0 auto}.profile-body{flex:1;display:flex;flex-direction:column;gap:.3rem;padding:.45rem .5rem .5rem;min-width:0}.profile-header{display:flex;align-items:center;gap:.45rem}.profile-emblem{width:26px;height:26px;border-radius:50%;background:#0000008c;border:1px solid rgba(255,255,255,.25);padding:2px;object-fit:contain;flex:0 0 auto}.profile-name{flex:1;min-width:0;font-size:.85rem;font-weight:700;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-vp{display:flex;align-items:center;gap:.3rem;flex:0 0 auto}.profile-vp-chevrons{display:flex;flex-direction:column;gap:1px}.profile-vp-chev{width:16px;height:12px;padding:0;border:1px solid #2a2a48;background:#14142a;color:#aab;font-size:7px;line-height:1;border-radius:2px;cursor:pointer;display:flex;align-items:center;justify-content:center}.profile-vp-chev:hover{background:#1f1f3a;color:#fff}.profile-row{display:flex;align-items:center;gap:.35rem}.profile-sc{flex:1;min-width:0;background:#0a0a1f;color:#cdd;border:1px solid #2a2a48;border-radius:3px;font-size:.72rem;padding:.18rem .25rem;font-family:inherit}.profile-sc:focus{outline:1px solid #4d6db8;outline-offset:-1px}.profile-sc-state{font-size:.62rem;font-weight:800;letter-spacing:.07em;background:#1d3a1d;color:#8fe89f;border:1px solid #2d5a2d;border-radius:3px;padding:.18rem .4rem;cursor:pointer;white-space:nowrap}.profile-sc-state.is-played{background:#3a1d1d;color:#e88f8f;border-color:#5a2d2d}.profile-sc-state:disabled{opacity:.35;cursor:not-allowed}.profile-vp-label{font-size:.6rem;letter-spacing:.1em;font-weight:700;color:#778}.profile-vp-value{font-variant-numeric:tabular-nums;font-weight:700;font-size:.95rem;min-width:1rem;text-align:right}.bottom-dock{position:absolute;bottom:0;left:0;width:700px;max-width:calc(100vw - 280px);z-index:5;pointer-events:none;transition:width .3s cubic-bezier(.2,.7,.2,1)}.bottom-dock.is-large{width:1700px}.bottom-dock.is-closed{width:auto}.dock-icon-only{width:64px;height:64px;margin:0 .5rem .5rem;padding:6px;border-radius:8px;background:#0d0d22f0;border:1px solid #232348;cursor:pointer;display:block;pointer-events:auto;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .15s,border-color .15s,transform .15s}.dock-icon-only:hover{background:#141437fa;border-color:#4d6db8;transform:scale(1.05)}.dock-icon-only img{width:100%;height:100%;object-fit:contain}.command-sheet-dock{position:absolute;bottom:0;right:0;z-index:5;width:480px;height:408px;pointer-events:auto}.command-sheet-rot{position:absolute;width:408px;height:480px;top:50%;left:50%;transform:translate(-50%,-50%) rotate(60deg)}.command-sheet-base,.command-sheet-tint{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.command-sheet-tint{mix-blend-mode:multiply;pointer-events:none;mask:url(/CommandSheet.png) center / contain no-repeat;-webkit-mask:url(/CommandSheet.png) center / contain no-repeat;transition:background-color .2s ease}.ct-tokens{position:absolute;top:66.7%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:none}.ct-token-row{display:flex;gap:3px}.ct-token{position:relative;width:42px;height:39px;display:inline-block;filter:drop-shadow(0 1.5px 2px rgba(0,0,0,.6))}.ct-token-shape{position:absolute;top:0;right:0;bottom:0;left:0;clip-path:polygon(50% 0%,100% 100%,0% 100%);transition:background-color .2s ease}.ct-token-icon{position:absolute;top:55%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 0 1.5px rgba(0,0,0,.5))}.ct-zone{position:absolute;pointer-events:none}.ct-zone-triangle{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffc80059;clip-path:polygon(50% 0%,100% 100%,0% 100%);border:1px dashed rgba(255,220,0,.9)}.ct-zone-label{position:absolute;bottom:6%;left:50%;transform:translate(-50%);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#000;background:#ffdc00f2;padding:1px 5px;border-radius:2px;white-space:nowrap}.bottom-dock>*{pointer-events:auto}.dock-sheet{position:absolute;bottom:100%;left:0;right:0;margin-bottom:.3rem;transform:translateY(0);opacity:1;transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .25s ease}.dock-sheet:not(.is-open){transform:translateY(115%);opacity:0;pointer-events:none}.dock-sheet-inner{padding:0 .4rem;position:relative}.sheet-controls{position:absolute;top:8px;right:14px;z-index:3;display:flex;gap:4px}.sheet-ctrl-btn{width:32px;height:28px;padding:0;background:#000000b3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:4px;font-size:.7rem;letter-spacing:-2px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .15s,border-color .15s}.sheet-ctrl-btn:hover{background:#000000e6;border-color:#fff9}.faction-sheet{background:#14142a;border:1px solid #232348;border-radius:8px;overflow:hidden;box-shadow:0 6px 18px #0009}.faction-sheet-image{background:#07071a;border-width:2px;padding:0;line-height:0;position:relative}.faction-sheet-img{display:block;width:100%;height:auto;max-height:90vh;object-fit:contain}.unit-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;line-height:1}.planet-cards-row{position:absolute;bottom:.4rem;left:720px;right:490px;z-index:4;display:flex;gap:.45rem;padding:.3rem .4rem;overflow-x:auto;pointer-events:auto}.planet-card{flex:0 0 auto;width:110px;height:155px;background-color:#07071a;background-size:145%;background-position:center;border:2px solid #2a2a48;border-radius:6px;position:relative;color:#fff;box-shadow:0 2px 5px #0009;cursor:default;transition:border-color .15s,transform .15s,box-shadow .15s;overflow:hidden}.planet-card.is-legendary{box-shadow:0 0 0 1px #d4a73c99 inset,0 2px 8px #d4a73c73,0 2px 5px #0009}.planet-card.is-exhausted{opacity:.45;transform:rotate(8deg)}.planet-card-name{position:absolute;top:0;left:0;right:0;padding:3px 5px;background:linear-gradient(180deg,#000000c7,#0000);font-size:.7rem;font-weight:700;letter-spacing:.02em;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.9)}.planet-card-badges{position:absolute;top:22px;right:4px;display:flex;flex-direction:column;gap:3px}.planet-card-trait,.planet-card-spec{width:16px;height:16px;border-radius:3px;font-size:.6rem;font-weight:800;color:#fffffff2;display:flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.5);box-shadow:0 1px 2px #00000080;line-height:1}.planet-card-spec{color:#000c}.planet-card-stats{position:absolute;bottom:0;left:0;right:0;padding:4px 6px;background:linear-gradient(0deg,#000000d9,#0000);display:flex;justify-content:space-between;align-items:flex-end}.planet-card-stat{font-size:1.25rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.95)}.planet-card-res{color:#f1c40f}.planet-card-inf{color:#6ec6ff}.unit-counter-pill{position:absolute;transform:translate(-50%,-50%);background:#000000c7;padding:3px 8px;border-radius:10px;font-size:.85rem;font-weight:800;font-variant-numeric:tabular-nums;border:1.5px solid currentColor;white-space:nowrap;box-shadow:0 1px 3px #0009;pointer-events:auto}.fs-header{display:flex;align-items:center;gap:.75rem;padding:.7rem .95rem;color:#0a0a1f}.fs-emblem{width:44px;height:44px;border-radius:50%;background:#0000008c;flex:0 0 auto;border:2px solid rgba(255,255,255,.45);object-fit:contain;padding:3px}.fs-titles{flex:1;min-width:0}.fs-name{font-size:1.05rem;font-weight:700;letter-spacing:.02em;line-height:1.15}.fs-meta{font-size:.72rem;opacity:.7;margin-top:.15rem;text-transform:capitalize}.fs-section{padding:.6rem .85rem;border-top:1px solid #1d1d3a}.fs-section-title{margin:0 0 .45rem;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6e6e90}.fs-placeholder{margin:0;font-size:.78rem;font-style:italic;color:#889}.fs-units-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}.unit-tile{background:#0c0c20;border:1px solid #1c1c38;border-radius:5px;padding:.45rem .55rem;display:flex;flex-direction:column;gap:.3rem;position:relative;min-height:78px}.unit-tile.has-start{border-color:#2a4068}.unit-tile-header{display:flex;justify-content:space-between;align-items:center;gap:.4rem}.unit-tile-name{font-size:.74rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#cdd}.unit-tile-count{font-size:.68rem;font-weight:800;color:#0a0a1f;padding:.05rem .4rem;border-radius:8px;line-height:1.2}.unit-tile-stats{display:flex;gap:.3rem;flex-wrap:wrap}.unit-stat{display:inline-flex;align-items:center;gap:.2rem;font-size:.7rem;padding:.05rem .3rem;background:#181834;border-radius:3px;color:#aab}.unit-stat.is-combat{background:#3a1f1f;color:#ffb8a8;font-weight:700}.unit-stat-label{opacity:.6}.unit-stat-value{font-variant-numeric:tabular-nums;font-weight:600}.unit-tile-abilities{font-size:.65rem;color:#889;line-height:1.25}
