:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e9eeee;background:#0c1114;font-family:Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:0;margin:0}button,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}.shell{background:radial-gradient(circle at 50% -25%,#244047,#0c1114 50%);min-height:100vh;padding:0 clamp(16px,3vw,48px)}header{border-bottom:1px solid #415256;max-width:1500px;margin:auto;padding:22px 0}header p{color:#e5ad70;letter-spacing:.25em;margin:0;font-size:11px}h1{letter-spacing:.16em;margin:5px 0;font-size:34px}main{max-width:1500px;margin:auto}h2{line-height:1.3}h3{margin:0;font-size:17px}h4{color:#b4c4c4;margin:18px 0 8px;font-size:12px}section{background:#172126;border:1px solid #34484e;margin-bottom:14px;padding:20px}.intro{max-width:800px;padding:46px 0 28px}.intro span{color:#ebb374;letter-spacing:.16em;font-size:12px}.intro h2{margin:10px 0;font-size:clamp(26px,3.6vw,42px)}.intro p,.muted{color:#a5b4b7;font-size:14px;line-height:1.7}.section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px;display:flex}.section-head span{color:#91a4a7;font-size:12px}.roster{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;display:grid}.roster button,.gadgets button{color:#eef3f3;text-align:left;background:#213036;border:1px solid #456068;flex-direction:column;gap:8px;min-height:120px;padding:15px;display:flex}.roster button:hover,.gadgets button:hover{border-color:#edaf6c}.roster .picked,.gadgets .picked,.hand .picked,.slot-picker .picked{background:#39342a;border-color:#edaf6c}.roster small,.gadgets small{color:#adbec0;font-size:11px}.roster strong,.gadgets strong{font-size:18px}.roster span,.gadgets span,.roster em{color:#e7b27d;font-size:12px}.roster em{margin-top:auto;font-style:normal}.loadouts{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.loadouts>div{background:#223036;align-items:center;gap:12px;padding:10px;display:flex}.loadouts strong{min-width:83px}.loadouts label{color:#aabbbc;flex:1;align-items:center;gap:5px;font-size:12px;display:flex}.loadouts select{color:#eef4f4;background:#101a1e;border:1px solid #637278;width:100%;min-width:0;padding:6px}.gadgets{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.gadgets button{min-height:108px}.link{color:#e5ad70;background:0 0;border:0}.start{align-items:center;gap:18px;margin:26px 0 55px;display:flex}.start span{color:#97a9aa;font-size:12px}.primary{color:#131c1e;background:#ecb16e;border:0;padding:12px 26px;font-weight:700}.primary:hover:not(:disabled){background:#ffd293}footer{color:#7f9498;border-top:1px solid #31444a;max-width:1500px;margin:40px auto 0;padding:22px 0;font-size:11px}.status{grid-template-columns:1fr 1fr 1.6fr 1fr;gap:10px;padding:18px 0;display:grid}.status div{flex-direction:column;gap:5px;display:flex}.status small{color:#9fb1b2}.status strong{font-size:19px}.notice{color:#ffcfbe;background:#56312a;border:1px solid #a86554;margin-bottom:10px;padding:9px 12px}.field{background:linear-gradient(#2b3031,#151f23 52%,#243131);border:1px solid #4e6468;padding:17px}.side-heading{color:#c0d1d2;letter-spacing:.08em;margin:5px 0 12px;font-size:12px}.unit-row{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.unit,.empty{text-align:left;color:#eaf1f1;background:#2e403f;border:1px solid #68807b;flex-direction:column;gap:4px;width:100%;height:135px;padding:10px;display:flex}.unit.enemy{background:#433333;border-color:#a07669}.unit.picked{outline:2px solid #ecb16e}.unit small,.unit span,.empty small{color:#b7c9c9;font-size:11px}.unit strong{font-size:18px}.unit .hp{background:#48312d;width:100%;height:5px;margin-top:auto}.unit .hp b{background:#9dccaa;height:100%;display:block}.unit.enemy .hp b{background:#ed9683}.empty{color:#9fb2b2;background:#192527;border-style:dashed;justify-content:center;align-items:center}.centerline{text-align:center;color:#92a6a9;padding:13px;font-size:11px}.dashboard{grid-template-columns:1.5fr 1fr 1.1fr;gap:14px;margin-top:14px;display:grid}.dashboard section{min-width:0}.slot-picker{gap:5px;margin-bottom:12px;display:flex}.slot-picker button,.actions button{color:#dce8e8;background:#273940;border:1px solid #536d72;padding:7px}.hand{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.hand button{color:#eef3f3;text-align:left;background:#26383e;border:1px solid #4c6367;flex-direction:column;justify-content:center;gap:4px;min-height:61px;padding:7px;display:flex}.hand strong{font-size:12px}.hand span{color:#aec1c1;font-size:10px}.actions{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:14px;display:grid}.actions button{font-size:12px}.end{width:100%;margin-top:14px}.tactic,.order button{color:#e8eeee;background:#24353a;border:1px solid #52686c;padding:9px}.tactic{text-align:left;flex-wrap:wrap;justify-content:space-between;gap:5px;width:100%;display:flex}.tactic span,.order span{color:#edba80;font-size:11px}.tactic small{color:#adc0c0;text-align:left;width:100%}.order{gap:4px;margin-bottom:5px;display:flex}.order button:first-child{text-align:left;flex:1;justify-content:space-between;gap:4px;display:flex}.order button:last-child{font-size:10px}.log{max-height:378px;margin:0;padding:0;list-style:none;overflow:auto}.log li{color:#b8caca;border-bottom:1px solid #314348;padding:7px 0;font-size:11px;line-height:1.5}.log small{color:#f0b675;margin-right:8px}.overlay{z-index:10;background:#030909df;place-items:center;display:grid;position:fixed;inset:0}.overlay>div{text-align:center;background:#18282b;border:1px solid #e3af70;max-width:500px;padding:42px}.overlay small{color:#edb775;letter-spacing:.2em}.overlay p{color:#adc1c0}@media (width<=1000px){.roster{grid-template-columns:repeat(3,1fr)}.loadouts{grid-template-columns:1fr}.dashboard{grid-template-columns:1fr 1fr}.dashboard section:last-child{grid-column:1/-1}}@media (width<=650px){.roster{grid-template-columns:repeat(2,1fr)}.gadgets,.dashboard{grid-template-columns:1fr}.dashboard section:last-child{grid-column:auto}.status{grid-template-columns:1fr 1fr}.field{padding:7px}.unit-row{gap:5px}.unit,.empty{height:129px;padding:6px}.unit strong{font-size:13px}.unit span{font-size:9px}.loadouts>div{flex-wrap:wrap}.loadouts strong{width:100%}.hand{grid-template-columns:repeat(3,1fr)}}.roster button,.unit{position:relative;overflow:hidden}.roster .portrait,.unit .portrait{opacity:.42;pointer-events:none;width:auto;height:100%;position:absolute;bottom:0;right:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 38%);mask-image:linear-gradient(90deg,#0000,#000 38%)}.roster button>:not(.portrait),.unit>:not(.portrait){z-index:1;position:relative}.roster button{background:linear-gradient(90deg,#1b2a30,#304047)}.roster button.picked{background:linear-gradient(90deg,#3b3327,#424039)}.unit .portrait{opacity:.32}.unit.enemy .portrait{opacity:.27}.online-start>div:last-of-type{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.online-start input{color:#e9eeee;font:inherit;letter-spacing:.1em;text-transform:uppercase;background:#0d171c;border:1px solid #678087;width:220px;padding:12px}.online-start button:not(.primary),.waiting button{color:#e8f0ef;background:#293e43;border:1px solid #6c8588;padding:11px 18px}.waiting{max-width:750px;min-height:50vh;margin:70px auto}.waiting section{padding:44px}.waiting h2{letter-spacing:.12em;font-size:36px}.waiting p{color:#adbfc0;line-height:1.7}.waiting small{color:#e9b87d}.order button:first-child{flex-wrap:wrap}.order button:first-child small{color:#aebfc0;width:100%;margin-top:3px;font-size:10px}.order button:last-child:disabled{opacity:.35}.replay-page{padding-top:20px}.replay-page>section:last-child{margin-top:14px}.replay-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.replay-controls input{flex:1;min-width:160px}.replay-controls button,.replay-page .section-head button{color:#eaf1f1;background:#2b4145;border:1px solid #6b8588;padding:8px 12px}.replay-unit{background:#2b3c3b;border:1px solid #65817a;flex-direction:column;gap:5px;height:135px;padding:10px;display:flex;position:relative;overflow:hidden}.replay-unit.enemy{background:#493535;border-color:#a07669}.replay-unit img{opacity:.25;height:100%;position:absolute;bottom:0;right:0}.replay-unit>:not(img){z-index:1;position:relative}.replay-unit small,.replay-unit span{color:#b8c9c9;font-size:11px}.replay-unit strong{font-size:18px}.setup input[type=file]{color:#b9cacc;max-width:100%}.concede{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.concede button{color:#d6b8ad;background:0 0;border:1px solid #89675e;padding:7px 10px;font-size:11px}.loadouts>div{flex-wrap:wrap}.loadout-description{color:#aebfc0;width:100%;font-size:11px;line-height:1.5}.card-detail{background:#1c2b30;margin-top:14px;margin-bottom:0}.card-detail p{color:#b7c9ca;margin:7px 0;font-size:12px;line-height:1.6}.card-detail strong{color:#eec08c}.unit,.empty{gap:3px;height:auto;min-height:162px}.unit .engagement{color:#efc48f}.unit .condition{color:#f4aa9f}.unit.targetable{outline-offset:-3px;outline:2px solid #e9b26f;box-shadow:inset 0 0 18px #e9b26f55}@media (width<=650px){.unit,.empty{height:auto;min-height:170px}.unit span{line-height:1.25}.unit-row{grid-template-columns:repeat(3,minmax(0,1fr))}}.depth-compact{display:none}.compact-detail{padding-top:8px;padding-bottom:8px}.compact-detail p{margin:5px 0}@media (width<=400px){.unit,.empty{overflow-wrap:anywhere;gap:3px;min-height:138px;padding:5px}.unit small,.unit span,.empty small{font-size:9px;line-height:1.2}.unit strong{font-size:12px;line-height:1.2}.unit .portrait{opacity:.16}.unit.enemy .portrait{opacity:.14}.unit .depth-full,.unit .unit-role,.unit .unit-skill,.unit .engagement{display:none}.unit .depth-compact{display:inline}.unit .unit-vitals{line-height:1.3}.centerline{padding:9px 0;font-size:9px}.status strong{overflow-wrap:anywhere;font-size:15px}.replay-unit{overflow-wrap:anywhere;height:auto;min-height:125px;padding:5px}.replay-unit strong{font-size:12px}.replay-unit small,.replay-unit span{font-size:9px}.replay-unit span:last-child{display:none}.roster{grid-template-columns:1fr}.roster button{gap:4px;min-height:78px;padding:9px 12px}.roster strong{font-size:16px}.roster .portrait{opacity:.28}}
