/* v0.2 — strategic profile command center: home barracks + command/chat + unit intel */

.deckLayout{grid-template-columns:280px minmax(920px,1.35fr) 320px;transition:grid-template-columns .18s ease}.deckLayout:has(> .rosterPanel.collapsed){grid-template-columns:44px minmax(980px,1.35fr) 320px}.deckCenter{--operator-row:minmax(320px,1.35fr);--mission-row:minmax(220px,.9fr);--console-row:minmax(420px,1.7fr);grid-template-rows:var(--operator-row) var(--mission-row) var(--console-row);transition:grid-template-rows .18s ease}.deckCenter:has(.operatorDeckPanel.collapsed){--operator-row:44px}.deckCenter:has(.missionPanel.collapsed){--mission-row:44px}.deckCenter:has(.consolePanel.collapsed){--console-row:44px}.right{--intel-row:minmax(440px,1.45fr);--artifacts-row:minmax(220px,.65fr);grid-template-rows:var(--intel-row) var(--artifacts-row);transition:grid-template-rows .18s ease}.right:has([data-panel="profile-intel"].collapsed){--intel-row:44px}.right:has([data-panel="artifacts"].collapsed){--artifacts-row:44px}.rosterPanel,.operatorDeckPanel,.missionPanel,.right>.panel{display:grid;grid-template-rows:44px minmax(0,1fr)}.consolePanel{display:grid;grid-template-rows:44px minmax(0,1fr) auto}.panel.collapsed{min-height:44px}.panel.collapsed>:not(.head){display:none!important}.panel.collapsed .collapseBtn{transform:rotate(-90deg)}

.homeMode .deckLayout{grid-template-columns:1fr}.homeMode .rosterPanel,.homeMode .right,.homeMode .missionPanel,.homeMode .consolePanel{display:none}.homeMode .deckCenter{grid-template-rows:minmax(0,1fr)}.homeMode .operatorDeckPanel{min-height:0}.homeMode .operatorDeck{grid-template-columns:1fr;padding:0}.homeMode .homeLobby{grid-column:1/-1;width:100%;margin-left:0;margin-right:0;left:auto;right:auto}.commandMode .operatorDeckPanel{display:none}.commandMode .deckCenter{grid-template-rows:minmax(480px,1fr) minmax(210px,.38fr)}.commandMode .consolePanel{order:1}.commandMode .missionPanel{order:2}.commandMode .deckLayout{grid-template-columns:280px minmax(920px,1.35fr) 320px}

.homeButton{border:1px solid var(--amber);background:linear-gradient(180deg,#4b3714,#151007);color:#fff2bf;padding:10px;font:950 12px var(--mono);cursor:pointer;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.homeButton:hover{box-shadow:0 0 18px #f7c35c33}.miniHealth{height:7px;border:1px solid #415b73;background:#02070d;margin:7px 0;overflow:hidden}.miniHealth span{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--amber));box-shadow:0 0 14px #6dff9a55}

.operatorDeck{position:relative;z-index:2;min-height:0;height:auto;display:grid;grid-template-columns:minmax(220px,.82fr) minmax(320px,1.18fr);gap:16px;padding:14px;overflow:hidden;background:radial-gradient(circle at 25% 50%,#56e8ff14,transparent 35%),linear-gradient(135deg,#070c12,#111b28 58%,#080b10)}.selectedOperator{display:grid;place-items:center;min-width:0;min-height:0;width:100%;height:100%;padding:2px;overflow:visible}.heroCardFrame{position:relative;width:100%;height:100%;display:grid;place-items:center;min-width:0;min-height:0;padding-bottom:42px}.heroProfileCard{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 18px 28px #000b) drop-shadow(0 0 18px #f7c35c24);transition:.16s}.heroCardFrame:hover .heroProfileCard{transform:translateY(-4px) scale(1.015);filter:drop-shadow(0 22px 32px #000d) drop-shadow(0 0 28px #f7c35c45)}.heroFallback{width:min(220px,100%);height:min(220px,100%)}.modelBadge{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(92%,310px);padding:9px 12px;border:1px solid #f7c35c99;background:linear-gradient(180deg,#211a0fed,#070b10f2);box-shadow:inset 0 0 16px #000c,0 0 22px #f7c35c22;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);text-align:center;text-transform:uppercase}.modelBadge span,.modelLine span{display:block;color:var(--cyan);font:900 9px var(--mono);letter-spacing:.14em}.modelBadge b{display:block;color:#fff2bf;font:1000 15px var(--mono);line-height:1.2;margin-top:2px}.modelBadge small{display:block;color:var(--muted);font:800 10px var(--mono);line-height:1.2;margin-top:2px}


.homeLobby{position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;width:100vw;height:100%;min-height:720px;display:grid;grid-template-rows:auto minmax(560px,1fr) auto;background:#f7d894;overflow:hidden}.lobbySky{position:relative;z-index:8;display:flex;align-items:center;gap:14px;justify-content:space-between;padding:14px 22px;border-bottom:4px solid #b88c4a;background:linear-gradient(180deg,#fff7d8,#f4d49b);box-shadow:0 6px 0 #7f5b2b;color:#2b261c}.lobbySky span{color:#2e9e68;font:950 11px var(--mono);letter-spacing:.18em}.lobbySky b{font:1000 28px var(--mono);color:#49351d;text-shadow:2px 2px 0 #fff2b6}.homeDeploy{border:3px solid #7f5b2b;background:linear-gradient(180deg,#e93d27,#a51f16);color:#fff8d8;padding:10px 14px;font:950 11px var(--mono);cursor:pointer;box-shadow:3px 3px 0 #4b3519;image-rendering:pixelated}.homeDeploy:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 #4b3519}.barracksStage,.isometricBarracks{position:relative;min-height:0;overflow:hidden;background:linear-gradient(180deg,#252132 0%,#3f3144 34%,#946f4d 34%,#d39a5f 100%);image-rendering:pixelated}.isometricBarracks:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0 41%,#d9b67455 41.2% 42%,transparent 42.2%),linear-gradient(25deg,transparent 0 39%,#d9b67455 39.2% 40%,transparent 40.2%);opacity:.38;pointer-events:none}.stageFloor{position:absolute;left:4%;right:4%;bottom:4%;height:66%;background:linear-gradient(150deg,#f1ca83 0 49%,#d9ad67 49% 51%,#f4d18e 51% 100%);clip-path:polygon(6% 16%,70% 6%,96% 34%,35% 96%,0 65%);border:4px solid #a9773b;box-shadow:inset 0 0 0 4px #ffdca0,0 10px 0 #7f5b2b}.legacyRoomPropDisabled{position:absolute;z-index:3;image-rendering:pixelated;filter:drop-shadow(5px 7px 0 #0003)}.legacyWindowWallDisabled{top:8%;right:4%;width:52%;height:30%;background:linear-gradient(90deg,#79d9f2 0 22%,#e9ffff 22% 25%,#79d9f2 25% 47%,#e9ffff 47% 50%,#79d9f2 50% 72%,#e9ffff 72% 75%,#79d9f2 75% 100%);border:5px solid #6aad6c;box-shadow:inset 0 0 0 5px #c8fff8;transform:skewY(-12deg)}.legacyWindowWallDisabled:after{content:"";position:absolute;inset:8px;background:linear-gradient(130deg,#ffffff99 0 10%,transparent 10% 24%,#ffffff88 24% 34%,transparent 34%)}.glassDoor{top:13%;left:4%;width:15%;height:36%;background:linear-gradient(90deg,#d9ffff 0 45%,#69cdea 45% 100%);border:5px solid #d8ecda;box-shadow:inset 0 0 0 4px #67b7d2}.commandDesk{right:17%;bottom:28%;width:18%;height:19%;background:linear-gradient(180deg,#c89049 0 28%,#7b4e2b 28% 100%);border:4px solid #5d341c;transform:skewY(-10deg)}.commandDesk:before{content:"";position:absolute;left:13%;top:-44%;width:58%;height:50%;background:linear-gradient(180deg,#61d5ff,#2b618c);border:4px solid #1e3346}.commandDesk span,.medbay span{position:absolute;left:8px;top:8px;color:#fff8cc;font:1000 12px var(--mono);text-shadow:2px 2px 0 #000}.medbay{left:6%;bottom:25%;width:14%;height:15%;background:linear-gradient(180deg,#f8f8f8,#cfd9e6);border:4px solid #5b7799}.medbay:before{content:"+";position:absolute;left:50%;top:-18px;transform:translateX(-50%);width:32px;height:32px;background:#fff;border:4px solid #5b7799;color:#e62929;text-align:center;line-height:28px;font:1000 28px var(--mono)}.supplyCrates{right:6%;bottom:13%;width:13%;height:16%;background:linear-gradient(90deg,#b17835 0 30%,#d69b4e 30% 62%,#8e5c2a 62% 100%);border:4px solid #633b1d}.supplyCrates:before{content:"";position:absolute;left:-45%;top:42%;width:70%;height:70%;background:linear-gradient(90deg,#d69b4e,#8e5c2a);border:4px solid #633b1d}.loungeChair{left:34%;bottom:34%;width:14%;height:8%;background:#e94534;border:4px solid #7f251c;border-radius:4px}.loungeChair:before{content:"";position:absolute;left:12%;top:-95%;width:74%;height:90%;background:#f45b46;border:4px solid #7f251c}.walkingUnit.legacyPixelMinimiDisabled{position:absolute;z-index:6;width:74px;height:104px;border:0;background:transparent;color:#3b2b19;cursor:pointer;animation:roomPatrol 10s ease-in-out infinite;filter:drop-shadow(0 4px 0 #0003)}.legacyPixelMinimiDisabled .minimiBody{position:absolute;left:10px;top:0;width:54px;height:72px;overflow:hidden;background:#ffd99a;border:3px solid #44311f;clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%,0 12px);animation:idleBounce .75s steps(2,end) infinite}.legacyPixelMinimiDisabled img{width:100%;height:100%;object-fit:cover;object-position:top;image-rendering:pixelated;filter:saturate(1.25) contrast(1.15)}.legacyPixelMinimiDisabled .minimiBody:after{content:"";position:absolute;left:13px;right:13px;bottom:0;height:18px;background:linear-gradient(90deg,#223c65 0 45%,#111 45% 55%,#223c65 55%);border-top:3px solid #f5c25f}.minimiShadow{position:absolute;left:8px;right:8px;bottom:20px;height:10px;background:#0004;border-radius:50%;transform:skewX(-20deg)}.minimiName{position:absolute;left:50%;bottom:0;transform:translateX(-50%);background:#fff6c5;border:3px solid #5d4121;padding:1px 5px;white-space:nowrap;font:900 10px var(--mono);box-shadow:2px 2px 0 #0002}.unit0{left:12%;bottom:28%;animation-delay:-1s}.unit1{left:28%;bottom:17%;animation-delay:-4s}.unit2{left:45%;bottom:30%;animation-delay:-2s}.unit3{left:59%;bottom:14%;animation-delay:-6s}.unit4{left:73%;bottom:25%;animation-delay:-3s}@keyframes roomPatrol{0%,100%{transform:translate(0,0) scale(1)}20%{transform:translate(52px,-18px) scale(1.02)}45%{transform:translate(105px,22px) scale(1)}70%{transform:translate(26px,48px) scale(.98)}}@keyframes idleBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}.lobbyHint{position:relative;z-index:8;padding:12px 22px;color:#4b351f;border-top:4px solid #b88c4a;background:#fff1c6;font:850 12px var(--mono);box-shadow:0 -5px 0 #7f5b2b}

.legacyPixelMinimiDisabled{transform-origin:50% 92%;animation:roomPatrol 12s linear infinite!important}.legacyPixelMinimiDisabled .spriteRig{position:absolute;left:0;top:0;width:74px;height:94px;transform-origin:50% 82%;animation:slugWalkCycle .72s steps(6,end) infinite,patrolFlip 12s steps(1,end) infinite}.legacyPixelMinimiDisabled .minimiBody{left:11px;top:0;width:52px;height:48px;border:3px solid #2a1f18;border-bottom:0;border-radius:18px 18px 6px 6px;background:#ffd99a;clip-path:none;animation:headBob .72s steps(6,end) infinite;z-index:5}.legacyPixelMinimiDisabled .minimiBody img{object-fit:cover;object-position:top;filter:saturate(1.35) contrast(1.18) drop-shadow(1px 0 #0008)}.spriteTorso{position:absolute;left:18px;top:43px;width:38px;height:30px;background:linear-gradient(180deg,#708847,#31451f);border:3px solid #21190f;border-radius:8px 8px 5px 5px;z-index:4}.spriteTorso:before,.spriteTorso:after{content:"";position:absolute;top:5px;width:14px;height:24px;background:#d0a36b;border:3px solid #21190f}.spriteTorso:before{left:-13px;transform-origin:80% 10%;animation:armSwing .72s steps(6,end) infinite}.spriteTorso:after{right:-13px;transform-origin:20% 10%;animation:armSwingReverse .72s steps(6,end) infinite}.spriteLeg{position:absolute;top:70px;width:13px;height:24px;background:#27391d;border:3px solid #18120b;border-radius:0 0 5px 5px;z-index:3;transform-origin:50% 0}.spriteLeg.legA{left:22px;animation:legMarchA .72s steps(6,end) infinite}.spriteLeg.legB{left:39px;animation:legMarchB .72s steps(6,end) infinite}.spriteWeapon{position:absolute;left:48px;top:50px;width:34px;height:7px;background:#3d3630;border:2px solid #17120e;box-shadow:26px 1px 0 -2px #111;z-index:6;transform-origin:0 50%;animation:weaponBob .72s steps(6,end) infinite}.spriteWeapon:after{content:"";position:absolute;right:-14px;top:1px;width:10px;height:3px;background:#f7d44a;opacity:0;animation:muzzleBlink 3.6s steps(1,end) infinite}.legacyPixelMinimiDisabled .minimiBody:after{display:none}.legacyPixelMinimiDisabled:hover .spriteRig{animation-duration:.38s}.legacyPixelMinimiDisabled:hover .spriteWeapon:after{opacity:1}.unit0{left:8%;bottom:23%;animation-delay:-1s,-1s}.unit1{left:25%;bottom:14%;animation-delay:-4s,-4s}.unit2{left:44%;bottom:25%;animation-delay:-2s,-2s}.unit3{left:61%;bottom:13%;animation-delay:-6s,-6s}.unit4{left:78%;bottom:22%;animation-delay:-3s,-3s}@keyframes slugWalkCycle{0%{transform:translateY(0) rotate(-1deg)}16%{transform:translateY(-3px) rotate(1deg)}33%{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(-1deg)}66%{transform:translateY(0) rotate(1deg)}83%{transform:translateY(-3px) rotate(0)}100%{transform:translateY(0) rotate(-1deg)}}@keyframes patrolFlip{0%,49%{scale:1 1}50%,99%{scale:-1 1}100%{scale:1 1}}@keyframes headBob{0%,100%{transform:translateY(0)}33%{transform:translateY(-2px)}66%{transform:translateY(1px)}}@keyframes legMarchA{0%,100%{transform:translateX(-2px) rotate(16deg)}33%{transform:translateX(2px) rotate(-12deg)}66%{transform:translateX(0) rotate(6deg)}}@keyframes legMarchB{0%,100%{transform:translateX(2px) rotate(-14deg)}33%{transform:translateX(-2px) rotate(15deg)}66%{transform:translateX(1px) rotate(-5deg)}}@keyframes armSwing{0%,100%{transform:rotate(-16deg)}50%{transform:rotate(18deg)}}@keyframes armSwingReverse{0%,100%{transform:rotate(15deg)}50%{transform:rotate(-16deg)}}@keyframes weaponBob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-2px) rotate(2deg)}}@keyframes muzzleBlink{0%,92%,100%{opacity:0}93%,95%{opacity:1}}


.deploySlots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:stretch;min-height:0}.slot{position:relative;min-height:0;border:2px solid #445f78;background:linear-gradient(180deg,#18283b,#08111d);color:var(--text);clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px);box-shadow:inset 0 0 22px #000b;cursor:pointer;text-align:left;padding:16px;overflow:hidden}.slot:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff0b,transparent 30%,#0005),repeating-linear-gradient(90deg,#56e8ff0b 0 2px,transparent 2px 12px);opacity:.7}.slot:hover{border-color:var(--amber);box-shadow:inset 0 0 22px #000b,0 0 28px #f7c35c30;transform:translateY(-2px)}.slot b{position:relative;display:block;color:var(--amber);font:1000 28px var(--mono);line-height:1}.slot span{position:relative;display:block;color:#f3f8ff;font:950 18px var(--mono);letter-spacing:.08em;margin-top:8px}.slot small{position:relative;display:block;color:var(--muted);font-size:12px;margin-top:8px;line-height:1.45}.profilePortraitImg{width:68px;height:68px;object-fit:cover;image-rendering:pixelated;border:3px solid #26384f;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);box-shadow:inset 0 0 0 2px #000,0 0 16px #56e8ff22}.rosterCard.active .profilePortraitImg{border-color:var(--amber);box-shadow:0 0 20px #f7c35c40}

.missions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:start}.missionBody{display:grid;grid-template-rows:auto 1fr;gap:10px}.missionCreate{display:grid;grid-template-columns:1fr 1.4fr 74px auto;gap:8px;position:relative;z-index:3}.missionCreate input,.missionCreate select{min-width:0;border:1px solid #405a73;background:#07111ddd;color:var(--text);padding:9px 10px;clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px)}.missionCreate button{border:1px solid var(--amber);background:linear-gradient(180deg,#4b3714,#141009);color:#fff2bf;font:900 11px var(--mono);cursor:pointer;padding:9px 12px;clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px)}.mission{min-height:150px}.missionRuntime{margin-top:8px;display:flex;justify-content:space-between;gap:8px;border:1px solid #6dff9a33;background:#06180f88;padding:6px 8px;font:850 10px var(--mono);text-transform:uppercase;color:var(--green)}.missionRuntime code{color:#dcecff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.missionActions{display:grid;grid-template-columns:1fr 104px;gap:8px}.miniDeploy{margin-top:10px;width:100%;border:1px solid #6f879d;background:linear-gradient(180deg,#273b52,#101927);color:#e9f6ff;padding:8px 10px;font:900 10px var(--mono);text-transform:uppercase;cursor:pointer;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.miniDeploy:hover{border-color:var(--green);color:var(--green);box-shadow:0 0 16px #6dff9a22}.miniDeploy.secondary{border-color:#6f879d;background:linear-gradient(180deg,#1d2a39,#0a111b);color:#b6c7d8}

.console,.chatPanel .console{padding:0;background:linear-gradient(180deg,#03070dd4,#07111de8);white-space:normal;color:var(--text);font:13px/1.5 var(--sans);text-shadow:none}.console:before{content:"KANBAN COMMAND BOARD // EXECUTION & STATUS";display:block;padding:10px 12px;color:var(--amber);font:900 11px var(--mono);letter-spacing:.12em;border-bottom:1px solid #48637c;background:#050a10cc}.chatLog{min-height:100%;display:grid;align-content:start;gap:18px;padding:18px}.operatorReply{display:grid;grid-template-columns:62px minmax(0,.76fr);gap:10px;align-items:start;justify-self:start;max-width:84%}.commanderBubble{display:grid;justify-items:end;justify-self:end;width:min(82%,760px)}.chatPortrait{width:62px;height:62px;object-fit:cover;image-rendering:pixelated;border:2px solid #56e8ff77;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);box-shadow:0 0 18px #56e8ff22}.chatBubble{position:relative;border:1px solid #3d566e;background:linear-gradient(180deg,#152338,#07111e);padding:14px;clip-path:polygon(11px 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%,0 11px);box-shadow:inset 0 0 18px #0009,0 10px 26px #0008}.operatorReply .chatBubble{border-color:#56e8ff66}.commanderBubble .chatBubble{width:100%;border-color:#f7c35c88;background:linear-gradient(180deg,#2b210f,#0d0d10)}.chatName{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:7px;color:#f2f8ff;font:900 12px var(--mono);text-transform:uppercase}.chatName span{color:var(--cyan);font-size:10px;white-space:nowrap}.commanderBubble .chatName span{color:var(--amber)}.chatBubble p{margin:0;color:#dcecff;white-space:pre-wrap;word-break:break-word;font-size:14px}.chatMeta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.chatMeta span{border:1px solid #6f879d66;background:#03070d88;color:#9fb3c8;padding:3px 7px;font:850 10px var(--mono);text-transform:uppercase}

.profileIntel{display:grid;gap:12px}.intelPortrait{width:100%;height:190px;object-fit:contain;object-position:center top;image-rendering:pixelated;border:2px solid #526e87;background:#05070b;clip-path:polygon(15px 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%,0 15px);box-shadow:inset 0 0 0 2px #000,0 0 24px #56e8ff22}.profileIntel h2{margin:0;color:#fff2bf;font:1000 28px var(--mono);text-transform:uppercase}.profileIntel>p{margin:-8px 0 0;color:#9fb3c8}.intelModel,.healthBlock,.intelSection{border:1px solid #405a73;background:#07111dcc;padding:10px;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px)}.intelModel span,.healthBlock span,.intelSection b{display:block;color:var(--cyan);font:900 10px var(--mono);letter-spacing:.13em;text-transform:uppercase}.intelModel b{display:block;color:#f2f8ff;font:1000 17px var(--mono);margin-top:3px}.intelModel small{color:#9fb3c8}.healthBlock>div:first-child{display:flex;justify-content:space-between;align-items:center}.healthBlock b{color:var(--green);font:1000 18px var(--mono)}.healthBar{height:12px;border:1px solid #456078;background:#02070d;margin-top:8px;overflow:hidden}.healthBar i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--amber));box-shadow:0 0 18px #6dff9a55}.statGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.statGrid div{border:1px solid #405a73;background:#050b13;padding:9px}.statGrid span{color:#9fb3c8;font:900 10px var(--mono)}.statGrid b{float:right;color:#fff2bf;font:1000 13px var(--mono)}.statGrid i{clear:both;display:block;height:6px;margin-top:8px;background:linear-gradient(90deg,var(--cyan),var(--blue));box-shadow:0 0 12px #56e8ff33}.intelSection ul{margin:8px 0 0;padding-left:18px;color:#dcecff}.intelSection p{margin:8px 0;color:#dcecff}.intelSection small{color:#9fb3c8}.artifactPreview{max-height:130px;overflow:auto;margin:9px 0 0;padding:8px;border:1px solid #405a73;background:#02070de6;color:#bfead0;font:800 10px/1.45 var(--mono);white-space:pre-wrap}

@media(max-width:1280px){.deckLayout,.deckLayout:has(> .rosterPanel.collapsed),.commandMode .deckLayout{grid-template-columns:1fr}.deckCenter{grid-template-rows:auto auto auto}.missionCreate{grid-template-columns:1fr}.operatorDeck{grid-template-columns:1fr;min-height:520px}.heroProfileCard{max-height:360px}.deploySlots{grid-template-columns:1fr}.missions{grid-template-columns:1fr}.operatorReply,.commanderBubble{max-width:100%;width:100%}}

.approvalControls{border:1px solid #f7c35c66;background:linear-gradient(180deg,#211809,#090b10);padding:10px;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px)}.approvalControls>b{display:block;color:var(--amber);font:950 10px var(--mono);letter-spacing:.13em}.approvalControls>p,.approvalControls>span{display:block;margin:8px 0 0;color:#b7c8d8;font:850 11px var(--mono)}.approvalControls article{margin-top:10px;border:1px solid #6f879d66;background:#050b13;padding:9px}.approvalControls article p{margin:0;color:#fff2bf;font:950 11px var(--mono)}.approvalControls article small{display:block;margin:6px 0;color:#b7c8d8;line-height:1.35}.approvalControls article div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.approvalControls button{border:1px solid #6f879d;background:#101927;color:#e9f6ff;padding:7px 8px;font:900 10px var(--mono);cursor:pointer;text-transform:uppercase}.approvalControls button:hover{border-color:var(--amber);color:#fff2bf;box-shadow:0 0 14px #f7c35c22}.descriptionBlock p{line-height:1.5}


/* v0.3 — user-provided spritesheets + rebuilt original pixel room backdrop */
.homeLobby{background:linear-gradient(180deg,#252132 0 18%,#61465c 18% 48%,#d49255 48% 100%)!important;isolation:isolate}.barracksStage,.isometricBarracks{background:linear-gradient(180deg,#2b2438 0,#47324a 34%,#b77d4e 34%,#e0a464 100%)!important}.pixelRoomBackdrop{position:absolute;inset:0;overflow:hidden;image-rendering:pixelated}.legacyRoomWallDisabled{position:absolute;left:6%;right:6%;top:5%;height:42%;border:5px solid #332233;background:linear-gradient(180deg,#5e4a67 0 18%,#7f5b64 18% 100%);box-shadow:inset 0 0 0 4px #b98a6c,0 10px 0 #3b2730}.legacyRoomWallDisabled:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 29px,#473244 30px 33px),repeating-linear-gradient(90deg,transparent 0 43px,#473244 44px 47px);opacity:.45}.wallWindow{position:absolute;left:8%;top:14%;width:28%;height:42%;border:5px solid #2b2231;background:linear-gradient(135deg,#8fe8ff 0 42%,#e8ffff 43% 48%,#5da9da 49% 100%);box-shadow:inset 0 0 0 4px #326a89,7px 7px 0 #0004}.neonSign{position:absolute;right:10%;top:12%;padding:9px 18px;border:4px solid #253149;background:#111b2b;color:#9dffcf;text-shadow:0 0 10px #48ff9d;font:1000 22px var(--mono);letter-spacing:.16em;box-shadow:0 0 18px #48ff9d55,inset 0 0 16px #48ff9d22}.missionBoard{position:absolute;right:16%;bottom:14%;width:92px;height:68px;display:grid;place-items:center;border:5px solid #2b211a;background:#233044;color:#ffd877;font:1000 20px var(--mono);box-shadow:6px 6px 0 #0004}.legacyRoomFloorDisabled{position:absolute;left:3%;right:3%;bottom:0;height:64%;background:linear-gradient(150deg,#f2bc72 0 50%,#c98950 50% 51%,#eab06a 51% 100%);clip-path:polygon(12% 8%,88% 8%,99% 47%,55% 98%,2% 48%);border:6px solid #6f4a32;box-shadow:inset 0 0 0 4px #ffd38d}.legacyRoomFloorDisabled:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(28deg,transparent 0 42px,#9b6a42 43px 47px),repeating-linear-gradient(151deg,transparent 0 42px,#ffd18a 43px 47px);opacity:.55}.serverRack{right:7%;top:34%;width:82px;height:120px;border:5px solid #1b2028;background:repeating-linear-gradient(180deg,#182336 0 20px,#54e5ff 21px 24px,#0b1019 25px 32px);box-shadow:6px 8px 0 #0005}.legacyPixelMinimiDisabled{width:112px!important;height:184px!important;border:0!important;background:transparent!important;box-shadow:none!important;filter:drop-shadow(0 7px 0 #0004);animation:roomPatrol 14s linear infinite!important}.spriteSheetFrame{position:absolute;left:50%;bottom:20px;width:74px;height:198px;transform:translateX(-50%);background-image:var(--sheet);background-repeat:no-repeat;background-size:800% 100%;background-position:0 0;image-rendering:pixelated;filter:drop-shadow(2px 2px 0 #0008);animation:spriteWalkRight .82s steps(4,end) infinite;animation-delay:var(--sprite-delay,0s)}.legacyPixelMinimiDisabled:nth-of-type(odd) .spriteSheetFrame{animation-name:spriteIdle}.legacyPixelMinimiDisabled:hover .spriteSheetFrame{animation-duration:.42s;filter:drop-shadow(0 0 10px #fff3) drop-shadow(2px 2px 0 #0008)}.fallbackSprite{position:absolute;left:50%;bottom:24px;width:76px;height:112px;transform:translateX(-50%);display:block}.fallbackSprite img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.fallbackPortrait{display:grid;place-items:center;border:3px solid #2e2117;background:#26364a}.fallbackPortrait .portrait{width:64px;height:96px;image-rendering:pixelated}.legacyPixelMinimiDisabled .minimiShadow{position:absolute;left:18px;right:18px;bottom:12px;height:18px;border-radius:50%;background:#1a120966!important;filter:blur(1px);z-index:-1}.legacyPixelMinimiDisabled .minimiName{position:absolute;left:50%;bottom:0;transform:translateX(-50%);white-space:nowrap;border:2px solid #2e2117;background:#fff0ba;color:#332215;padding:3px 7px;font:1000 10px var(--mono);box-shadow:3px 3px 0 #0004}.unit0{left:12%;bottom:12%}.unit1{left:42%;bottom:16%;animation-delay:-4.4s!important}.unit2{left:68%;bottom:11%;animation-delay:-8.7s!important}@keyframes spriteIdle{0%{background-position-x:0;transform:translateX(-50%) translateY(0)}100%{background-position-x:42.857%;transform:translateX(-50%) translateY(-2px)}}@keyframes spriteWalkRight{0%{background-position-x:57.143%;transform:translateX(-50%) translateY(0)}100%{background-position-x:100%;transform:translateX(-50%) translateY(-3px)}}


/* v0.4 — canvas-based isometric spritesheet renderer */
.isometricCanvas{position:absolute;inset:0;z-index:4;width:100%;height:100%;display:block;image-rendering:pixelated;background:transparent}.canvasFallback{z-index:1;opacity:.92}.canvasAgentHotspots{position:absolute;inset:0;z-index:7;pointer-events:none}.canvasHotspot{position:absolute!important;width:120px!important;height:42px!important;background:transparent!important;border:0!important;box-shadow:none!important;filter:none!important;animation:none!important;pointer-events:auto}.canvasHotspot .minimiName{bottom:auto;top:0}.canvasHotspot.unit0{left:18%;bottom:14%}.canvasHotspot.unit1{left:47%;bottom:28%}.canvasHotspot.unit2{left:68%;bottom:12%}.canvasHotspot.unit3{left:30%;bottom:30%}.canvasHotspot.unit4{left:76%;bottom:30%}.canvasHotspot:focus-visible .minimiName,.canvasHotspot:hover .minimiName{background:#fff6c5;color:#2b1e12;box-shadow:0 0 0 3px #9dffcf,3px 3px 0 #0005}.isometricBarracks{min-height:560px}.barracksStage:has(.isometricCanvas){background:#2a2438!important}
/* v0.5 — deskrpg-style tile office, not a SaaS/card lobby */
.homeLobby{background:#161724!important;color:#fff2bf;grid-template-rows:auto auto minmax(360px,1fr) auto;min-height:720px}.homeLobby .lobbySky{border-bottom:4px solid #2a1d12;background:linear-gradient(180deg,#343044,#1b1b2b)!important;box-shadow:0 6px 0 #07070c;color:#fff2bf}.homeLobby .lobbySky b{color:#ffe0a0;text-shadow:3px 3px 0 #000,0 0 16px #f7c35c55}.homeLobby .lobbySky span{color:#9dffcf;text-shadow:0 0 10px #48ff9d55}.deskrpgStage{min-height:360px!important;background:#161724!important;border-top:0;box-shadow:inset 0 0 0 5px #0b111b,inset 0 0 0 8px #33465f}.deskrpgStage .canvasFallback{opacity:.18;filter:saturate(.85) contrast(1.1)}.roomQuickStatus{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.roomQuickStatus span{border:1px solid #405a73;background:#101927;padding:6px 9px;color:#bfead0;font:900 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}.homeRoomHud{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(260px,1.25fr) minmax(260px,1fr);gap:10px;padding:10px 14px 14px;background:#070b12;border-top:4px solid #27384f;box-shadow:inset 0 1px 0 #56e8ff33}.roomUiOverlay{position:static;z-index:6;display:contents;pointer-events:none}.roomUiOverlay article{border:2px solid #405a73;background:linear-gradient(180deg,#07111ee0,#05080ee8);box-shadow:4px 4px 0 #0008,inset 0 0 16px #000b;padding:10px;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}.roomUiOverlay article.active{border-color:#f7c35c;background:linear-gradient(180deg,#2c210ee8,#07111ef0);box-shadow:4px 4px 0 #0008,0 0 18px #f7c35c44}.deskrpgStage.canSelect{cursor:pointer}.deskrpgStage.canSelect .isometricCanvas{filter:drop-shadow(0 0 10px #56e8ff22)}.roomUiOverlay b{display:block;color:#f7c35c;font:1000 11px var(--mono);letter-spacing:.12em}.roomUiOverlay p{margin:6px 0 0;color:#dcecff;font:850 12px/1.35 var(--mono)}.homeLobby .lobbyHint{background:#070b12!important;border-top:4px solid #27384f;color:#dcecff;font:850 12px var(--mono);text-align:center}.homeLobby .isometricCanvas{z-index:5}.homeLobby .canvasHotspot{height:64px!important}.homeLobby .canvasHotspot .minimiName{border:2px solid #56e8ff;background:#07111ee8;color:#9dffcf;font:1000 10px var(--mono);text-shadow:none;box-shadow:3px 3px 0 #0008}.homeLobby .canvasHotspot:hover .minimiName{border-color:#f7c35c;background:#2c210e;color:#fff2bf}.homeLobby .homeDeploy{background:linear-gradient(180deg,#f0522c,#8f1e12);border-color:#ffd36d;box-shadow:4px 4px 0 #000;color:#fff8d8}.homeLobby:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.045) 0 1px,transparent 1px 4px);mix-blend-mode:overlay;opacity:.35}.deskrpgStage:after{content:"";position:absolute;inset:8px;z-index:8;pointer-events:none;border:2px solid #56e8ff33;box-shadow:inset 0 0 35px #56e8ff12,0 0 25px #000}
@media(max-width:900px){.homeRoomHud{grid-template-columns:1fr}.roomQuickStatus{display:none}.deskrpgStage{min-height:0!important}}


/* v0.7 — hide duplicate DOM hotspot labels; canvas owns map labels */
.canvasHotspot .minimiName{display:none!important}

/* v0.8 — first complete deskrpg ops room pass: enclosed room + RPG command HUD */
.homeLobby{min-height:780px;grid-template-rows:auto minmax(560px,1fr) auto}.deskrpgStage{min-height:520px!important;background:#10131f!important}.homeRoomHud{grid-template-columns:1fr;padding:4px 10px 8px}.rpgCommandHud{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(280px,1.1fr) minmax(280px,1fr);gap:8px}.roomSelectedUnit,.roomNpcChat,.roomCommandMenu{min-height:34px;border:2px solid #405a73!important;background:linear-gradient(180deg,#07111ef0,#03070df5)!important;box-shadow:2px 2px 0 #000,inset 0 0 10px #000b!important;padding:6px 8px}.roomSelectedUnit.active,.roomCommandMenu.active,.roomNpcChat.active{border-color:#f7c35c!important;box-shadow:2px 2px 0 #000,0 0 12px #f7c35c33,inset 0 0 10px #000b!important}.roomUnitLine{display:grid;grid-template-columns:30px minmax(0,1fr);gap:6px;align-items:center;margin-top:4px}.roomHudPortrait{width:28px;height:28px;object-fit:cover;image-rendering:pixelated;border:1px solid #56e8ff;background:#02070d;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}.roomUnitLine strong{display:block;color:#fff2bf;font:900 10px var(--mono);text-transform:uppercase;line-height:1.1}.roomUnitLine span{display:block;margin-top:1px;color:#9fb3c8;font:800 8px var(--mono);text-transform:uppercase;line-height:1.1}.roomUnitLine i{display:block;height:4px;margin-top:4px;border:1px solid #405a73;background:#02070d}.roomUnitLine em{display:block;height:100%;background:linear-gradient(90deg,#6dff9a,#f7c35c);box-shadow:0 0 10px #6dff9a55}.roomCommandMenu div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:4px}.rpgCommand{border:1px solid #6f879d;background:linear-gradient(180deg,#17263a,#07111e);color:#e9f6ff;padding:4px 6px;font:900 8px var(--mono);text-transform:uppercase;cursor:pointer;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}.roomUiOverlay article{pointer-events:auto}.rpgCommand{pointer-events:auto}.rpgCommand:hover{border-color:#f7c35c;color:#fff2bf;box-shadow:0 0 10px #f7c35c22}.roomNpcChat p,.roomCommandMenu p{font:800 9px/1.2 var(--mono);margin:3px 0 0}

/* v0.10 — mobile command/chat layout repair */
@media(max-width:700px){body{height:auto;min-height:100vh;overflow:auto}.shell{height:auto;min-height:100vh;padding:8px;overflow:visible}.top{grid-template-columns:1fr;gap:10px}.brand{align-items:flex-start}.brand h1{font-size:24px}.brand p{font-size:12px}.hud{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.deckLayout,.commandMode .deckLayout{grid-template-columns:1fr!important;height:auto;min-height:0;overflow:visible}.deckCenter,.commandMode .deckCenter{grid-template-rows:auto auto auto!important;min-width:0;overflow:visible}.right{display:block;height:auto;min-width:0}.panel{min-width:0}.operatorDeck{grid-template-columns:1fr!important;min-height:0;height:auto;overflow:visible}.homeLobby{width:100%;min-height:100dvh;overflow:auto;grid-template-rows:auto minmax(360px,52vh) auto}.homeLobby .lobbySky{display:grid;grid-template-columns:1fr;gap:8px;padding:12px}.homeLobby .lobbySky b{font-size:20px}.deskrpgStage{min-height:360px!important;height:52vh}.homeRoomHud{padding:10px;overflow:visible}.rpgCommandHud{grid-template-columns:1fr!important}.roomSelectedUnit,.roomNpcChat,.roomCommandMenu{min-height:0}.composer{grid-template-columns:1fr auto!important;position:sticky;bottom:0;z-index:20}.missions{grid-template-columns:1fr}.missionCreate{grid-template-columns:1fr}.profileIntelPanel,.right>.panel{margin-top:10px}.chatLog{padding:12px;gap:12px}.operatorReply,.commanderBubble{grid-template-columns:1fr;max-width:100%;width:100%}}


/* v0.11 — chat-first command view: no mission slots, uncropped intel portrait */
.commandMode .missionPanel{display:none!important}.commandMode .deckCenter{grid-template-rows:minmax(480px,1fr)!important}.intelPortrait{object-fit:contain;object-position:center top;background:#05070b}

/* v0.12 — home plan board + detail kanban timeline */
.homePlanBoard{display:grid;grid-template-columns:1.2fr .9fr;gap:10px;padding:12px 14px;background:#0a111b;border-top:3px solid #33465f;border-bottom:3px solid #33465f}.planBoardHead{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.planBoardHead b{color:#f7c35c;font:1000 12px var(--mono);letter-spacing:.12em}.planBoardHead span{color:#9fb3c8;font:900 10px var(--mono);text-transform:uppercase}.planBoardList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.planTile{border:1px solid #405a73;background:linear-gradient(180deg,#132235,#07111d);padding:10px;color:#dcecff;text-align:left;cursor:pointer;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.planTile.active{border-color:#f7c35c;box-shadow:0 0 16px #f7c35c33}.planTile>div{display:flex;justify-content:space-between;gap:8px;align-items:center}.planTile b{font:900 12px var(--mono);color:#fff2bf}.planTile p{margin:8px 0;color:#b7c8d8;font:850 11px/1.4 var(--sans)}.planMeta{display:flex;justify-content:space-between;color:#9fb3c8;font:900 10px var(--mono)}.planStatus{padding:3px 6px;border:1px solid #405a73;text-transform:uppercase;font:900 9px var(--mono)}.planStatus.running{color:#9dffcf;border-color:#6dff9a66}.planStatus.done{color:#fff2bf;border-color:#f7c35c88}.planStatus.queued{color:#9fb3c8}.planDetail{border:1px solid #405a73;background:#07111ddd;padding:10px;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px)}.planDetail b{color:#56e8ff;font:1000 10px var(--mono)}.planDetail h3{margin:8px 0 6px;color:#fff2bf;font:1000 16px var(--mono)}.planDetail p{margin:0;color:#dcecff}.planDetailMeta{display:grid;gap:4px;margin:8px 0;color:#9fb3c8;font:850 10px var(--mono)}
.kanbanFocus{display:grid;gap:10px;padding:12px}.kanbanOpsBar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px;align-items:stretch}.kanbanOpsBar>div{border:1px solid #405a73;background:#07111dcc;padding:8px;display:grid;gap:4px}.kanbanOpsBar b{color:#56e8ff;font:900 10px var(--mono)}.kanbanOpsBar span{color:#dcecff;font:850 12px var(--sans)}.kanbanOpsBar button{border:1px solid #6dff9a88;background:linear-gradient(180deg,#12341f,#0a1b13);color:#d7ffe8;font:900 12px var(--mono);padding:8px 12px;cursor:pointer}.kanbanOpsBar button:disabled{opacity:.45;cursor:not-allowed}.kanbanDraft{border:1px solid #405a73;background:#06101acc;padding:10px}.kanbanDraft b{display:block;color:#f7c35c;font:900 10px var(--mono);margin-bottom:5px}.kanbanDraft p{margin:0;color:#dcecff}.kanbanMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.kanbanMetrics article{border:1px solid #33465f;background:#07111dcc;padding:8px;display:grid;gap:4px}.kanbanMetrics b{color:#9fb3c8;font:900 10px var(--mono)}.kanbanMetrics span{color:#fff2bf;font:1000 18px var(--mono)}.commandKanban{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.kanbanLane{border:1px solid #405a73;background:#050b13;padding:8px;min-height:180px}.kanbanLane h4{margin:0 0 7px;color:#fff2bf;font:900 11px var(--mono);text-transform:uppercase;display:flex;justify-content:space-between}.kanbanLane h4 small{color:#9fb3c8}.kanbanLane article{border:1px solid #33465f;background:#07111dcc;padding:6px;margin-bottom:6px}.kanbanLane article b{display:block;color:#9fb3c8;font:850 9px var(--mono)}.kanbanLane article p{margin:5px 0 0;color:#dcecff;font-size:12px}.laneQueue{box-shadow:inset 0 0 0 1px #56e8ff33}.laneProgress{box-shadow:inset 0 0 0 1px #6dff9a33}.laneDone{box-shadow:inset 0 0 0 1px #f7c35c44}
@media(max-width:1000px){.homePlanBoard{grid-template-columns:1fr}.planBoardList{grid-template-columns:1fr}.kanbanOpsBar{grid-template-columns:1fr}.kanbanMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.commandKanban{grid-template-columns:1fr}}

.sessionCard{cursor:pointer;min-width:0;overflow:hidden}.sessionCard:hover{border-color:#56e8ff;box-shadow:0 0 12px #56e8ff22}
.sessionCard b,.sessionCard p,.sessionCard small{max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.sessionCard p{white-space:pre-wrap}
.sessionCard small{display:block;margin-top:6px;color:#9fb3c8;font:850 10px var(--mono)}
.sessionPreviewModal{position:fixed;inset:0;display:none;z-index:1200}.sessionPreviewModal.on{display:block}
.sessionPreviewBackdrop{position:absolute;inset:0;background:#02060bcc}
.sessionPreviewPanel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(920px,92vw);height:min(78vh,760px);display:grid;grid-template-rows:auto auto minmax(0,1fr);border:1px solid #4c6781;background:linear-gradient(180deg,#0a121de8,#040810f2);box-shadow:0 20px 50px #000b;padding:12px;gap:10px}
.sessionPreviewPanel header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #33465f;padding-bottom:8px}.sessionPreviewPanel header b{display:block;color:#fff2bf;font:1000 14px var(--mono)}.sessionPreviewPanel header small{color:#9fb3c8;font:900 10px var(--mono)}
.sessionPreviewPanel header button{border:1px solid #6f879d;background:#101927;color:#e9f6ff;padding:6px 10px;cursor:pointer}
.sessionLanePicker{display:flex;gap:8px}.sessionLanePicker button{border:1px solid #405a73;background:#07111d;color:#cfe3f7;padding:7px 10px;font:900 10px var(--mono);cursor:pointer}.sessionLanePicker button.active{border-color:#f7c35c;color:#fff2bf;box-shadow:0 0 10px #f7c35c33}
.sessionScrollView{overflow:auto;border:1px solid #33465f;background:#030911;padding:10px;display:grid;gap:8px}
.sessionLine{border:1px solid #2f4358;background:#07111dcc;padding:8px}.sessionLine b{color:#56e8ff;font:900 10px var(--mono)}.sessionLine p{margin:6px 0 0;color:#dcecff;white-space:pre-wrap;word-break:break-word}
.sessionLine.assistant b{color:#6dff9a}.sessionLine.user b{color:#f7c35c}

.missionBoardProp{position:absolute;left:33.333%;right:auto;top:25%;transform:translate(-50%,-50%);z-index:12;border:0;background:transparent;padding:0;cursor:pointer;filter:drop-shadow(0 6px 12px #0008);transition:transform .12s ease,filter .12s ease}.missionBoardProp img{display:block;width:92px;height:auto;image-rendering:pixelated}.missionBoardProp:hover{transform:translate(-50%,calc(-50% - 2px)) scale(1.02);filter:drop-shadow(0 10px 16px #000a)}.missionBoardProp:focus-visible{outline:2px solid #56e8ff;outline-offset:3px}
.planBoardModal{position:fixed;inset:0;display:none;z-index:1250}.planBoardModal.on{display:block}.planBoardBackdrop{position:absolute;inset:0;background:#02060bcc}.planBoardPanel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1280px,94vw);height:min(78vh,780px);display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid #4c6781;background:linear-gradient(180deg,#0a121de8,#040810f2);box-shadow:0 20px 50px #000b;padding:12px;gap:10px}.planBoardPanel header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #33465f;padding-bottom:8px}.planBoardPanel header b{display:block;color:#fff2bf;font:1000 14px var(--mono)}.planBoardPanel header small{color:#9fb3c8;font:900 10px var(--mono);text-transform:uppercase}.planBoardPanel header button{border:1px solid #6f879d;background:#101927;color:#e9f6ff;padding:6px 10px;cursor:pointer}

.loginOverlay{position:fixed;inset:0;display:none;z-index:1300;background:#02060bd9;backdrop-filter:blur(2px)}
.loginOverlay.on{display:grid;place-items:center}
.loginCard{width:min(420px,92vw);border:1px solid #4c6781;background:linear-gradient(180deg,#0a121de8,#040810f2);padding:16px;display:grid;gap:10px;box-shadow:0 20px 50px #000b}
.loginCard h2{margin:0;color:#fff2bf;font:1000 18px var(--mono)}
.loginCard p{margin:0;color:#9fb3c8}
.loginCard form{display:grid;gap:8px}
.loginCard label{display:grid;gap:4px;color:#dcecff;font:900 11px var(--mono)}
.loginCard input{border:1px solid #405a73;background:#07111ddd;color:#e8f6ff;padding:9px 10px}
.loginCard button{border:1px solid #6dff9a88;background:linear-gradient(180deg,#12341f,#0a1b13);color:#d7ffe8;font:900 12px var(--mono);padding:9px 10px;cursor:pointer}
.loginCard small{min-height:16px;color:#ffb4b4}

/* v0.13 — responsive scaling for desktop/tablet/laptop */
@media (max-width:1600px){
  .deckLayout,.commandMode .deckLayout{grid-template-columns:240px minmax(0,1fr) 300px!important}
  .commandKanban{grid-template-columns:repeat(3,minmax(220px,1fr))}
}

@media (max-width:1366px){
  .top{gap:10px}
  .brand h1{font-size:28px}
  .hud{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .deckLayout,.commandMode .deckLayout{grid-template-columns:220px minmax(0,1fr) 280px!important}
  .deckCenter{--operator-row:minmax(260px,1fr);--mission-row:minmax(170px,.65fr);--console-row:minmax(300px,1.2fr)}
  .commandMode .deckCenter{grid-template-rows:minmax(380px,1fr) minmax(180px,.34fr)!important}
  .kanbanOpsBar{grid-template-columns:repeat(2,minmax(0,1fr)) auto}
  .kanbanMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .commandKanban{grid-template-columns:1fr}
  .planBoardPanel{width:min(1120px,96vw);height:min(82vh,760px)}
  .missionBoardProp img{width:80px}
}

@media (max-width:1100px){
  body{overflow:auto}
  .shell{height:auto;min-height:100vh;overflow:visible}
  .deckLayout,.commandMode .deckLayout{grid-template-columns:1fr!important;height:auto;overflow:visible}
  .rosterPanel,.right{display:none}
  .deckCenter,.commandMode .deckCenter{grid-template-rows:auto auto!important;min-width:0}
  .operatorDeck{grid-template-columns:1fr!important;gap:10px}
  .homeLobby{min-height:100vh;grid-template-rows:auto minmax(52vh,1fr) auto}
  .deskrpgStage{min-height:420px!important}
  .homeRoomHud{padding:6px 8px 10px}
  .rpgCommandHud{grid-template-columns:1fr 1fr 1fr;gap:6px}
  .planBoardPanel{width:min(96vw,980px);height:min(86vh,780px)}
  .homePlanBoard{grid-template-columns:1fr;gap:8px}
  .planBoardList{grid-template-columns:1fr}
}

@media (max-height:820px){
  .top{padding:8px 10px}
  .brand h1{font-size:24px}
  .homeLobby{min-height:0;grid-template-rows:auto minmax(48vh,1fr) auto}
  .deskrpgStage{min-height:360px!important}
  .roomSelectedUnit,.roomNpcChat,.roomCommandMenu{min-height:30px}
}

/* v0.14 — stage-first responsive sizing (fix: deskrpg stage was effectively fixed-height) */
.homeMode .homeLobby{
  min-height:0!important;
  height:100%;
  grid-template-rows:auto minmax(0,1fr) auto;
}

.homeMode .deskrpgStage{
  min-height:0!important;
  height:clamp(340px,58vh,760px);
  max-height:760px;
}

@media (max-width:1600px){
  .homeMode .deskrpgStage{height:clamp(320px,54vh,680px)}
}

@media (max-width:1366px){
  .homeMode .deskrpgStage{height:clamp(300px,50vh,580px)}
}

@media (max-width:1100px){
  .homeMode .deskrpgStage{height:clamp(280px,46vh,500px)}
}

@media (max-width:700px){
  .homeMode .deskrpgStage{height:clamp(240px,42vh,420px)}
}

@media (max-height:820px){
  .homeMode .deskrpgStage{height:clamp(240px,42vh,420px)!important}
}
