.workshop-marker{opacity:0;pointer-events:none}.workshop-marker.active{opacity:1;pointer-events:auto}
.team-filter{grid-template-columns:repeat(auto-fit,minmax(38px,1fr))}.team-filter button{transition:.18s}.team-filter button.dragover{border-color:var(--cyan);box-shadow:inset 0 0 0 1px var(--cyan);color:var(--cyan);transform:translateY(-2px)}.roster-actions{display:flex;gap:6px}.team-add-btn{width:38px;font-size:10px;font-weight:900}.player-card{grid-template-columns:30px minmax(0,1fr) auto 28px;cursor:grab}.player-card .player-info{min-width:0}.player-card .player-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-edit{width:28px;height:28px;border:1px solid #244147;background:#10262b;color:var(--cyan);border-radius:3px;cursor:pointer;font-size:13px}.player-edit:hover{border-color:var(--cyan);background:#15343a}.player-team-field{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding-top:8px;margin-top:1px;border-top:1px solid #16353a}.player-team-field>span{font-size:7px;color:#58767b;letter-spacing:.08em}.player-team-select{width:100%;min-width:0;padding:6px 24px 6px 8px;font-size:9px;background:#07161a;color:#b9cfcb;cursor:pointer}.roster-empty{border:1px dashed #29474d;color:#607b80;padding:20px 10px;text-align:center;font-size:9px;line-height:1.5}.bench-drop{cursor:default}.bench-drop.dragover{box-shadow:inset 0 0 0 1px var(--cyan)}html[dir="rtl"] .player-team-field{grid-template-columns:minmax(0,1fr) auto}html[dir="rtl"] .player-team-field>span{grid-column:2}html[dir="rtl"] .player-team-select{grid-column:1;grid-row:1}#teamDialog input{text-transform:none}#newTeamCode{text-transform:uppercase}dialog .dialog-head .icon-btn{flex:0 0 32px}
.building-node{width:116px}.building-node .node-ring{width:64px!important;height:54px!important;margin:0 auto 12px!important}.building-node .node-ring::before{inset:0!important}.building-node strong{position:relative;z-index:4;display:block!important;width:max-content;max-width:112px;margin:0 auto!important;padding:3px 7px 2px;background:#061317eb;border:1px solid #1c3b41;border-bottom:0;border-radius:3px 3px 0 0;line-height:1.2!important}.building-node small{position:relative;z-index:4;display:block;width:max-content;max-width:112px;margin:0 auto;padding:1px 7px 3px;background:#061317eb;border:1px solid #1c3b41;border-top:0;border-radius:0 0 3px 3px;line-height:1.25!important}.building-node .team-tag{top:-7px;right:13px;z-index:6}.building-node:hover .node-ring,.building-node.selected .node-ring{transform:scale(1.07)!important}.building-node.locked{opacity:.38}.workshop-marker small{top:58px;padding:2px 5px;background:#061317e8;border:1px solid #24454b;border-radius:2px}.workshop-marker .workshop-sprite{inset:4px}
.team-summary-actions{display:flex;align-items:center;gap:6px}.team-summary-actions b{font:inherit;font-weight:700}.team-edit{width:22px;height:22px;padding:0;border:1px solid #244147;background:#10262b;color:var(--cyan);border-radius:3px;cursor:pointer}.team-edit:hover{border-color:var(--cyan)}
.shared-plan-banner{margin-top:18px;padding:14px 18px;border:1px solid #285057;background:linear-gradient(90deg,#0d282d,#09191d);display:flex;align-items:center;justify-content:space-between;gap:20px}.shared-plan-banner[hidden]{display:none}.shared-plan-banner>div:first-child{display:flex;align-items:baseline;gap:12px;min-width:0}.shared-plan-banner span{font-size:9px;font-weight:900;letter-spacing:.16em;color:var(--cyan)}.shared-plan-banner strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shared-plan-banner small{font-size:10px;color:#759096}.shared-plan-actions{display:flex;gap:8px;flex:0 0 auto}.owner-link-button{border-color:#a97a38!important;color:#ffc673!important}.plan-save-dialog{width:min(500px,92vw)}.slug-field{display:flex;align-items:center;margin-top:7px;border:1px solid #1b383e;background:#07161a}.slug-field:focus-within{border-color:var(--cyan)}.slug-field>span{padding:0 0 0 12px;color:var(--cyan);font-size:15px}.slug-field input{margin:0!important;border:0!important}.plan-url-preview{padding:10px 12px;background:#08171b;border:1px solid #17383e;color:#74d8ca;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-editable-toggle{padding:12px;border:1px solid #193b40;background:#0a1c20}.plan-save-error{min-height:18px;margin:10px 0;color:#ff8d89;font-size:10px;line-height:1.5}.plan-readonly .teams-panel,.plan-readonly .objective-panel{position:relative}.plan-readonly .teams-panel:after,.plan-readonly .objective-panel:after{content:"";position:absolute;inset:0;pointer-events:none;background:#0713170a}.plan-readonly :disabled{cursor:not-allowed;opacity:.58}.plan-readonly #saveBtn{background:#30494d;color:#9bb0b2;border-color:#30494d;box-shadow:none}@media(max-width:700px){.shared-plan-banner,.shared-plan-banner>div:first-child,.shared-plan-actions{align-items:flex-start;flex-direction:column}.shared-plan-banner{gap:12px}.shared-plan-banner>div:first-child{gap:5px}.shared-plan-actions,.shared-plan-banner .button{width:100%}}
@media (min-width:1800px){
  main{max-width:2180px;padding-left:38px;padding-right:38px}
  .hero{grid-template-columns:minmax(0,1.2fr) 620px;gap:90px;padding-top:62px;padding-bottom:40px;align-items:stretch}.hero>div:first-child{display:flex;flex-direction:column;justify-content:center}.hero h1{font-size:64px;line-height:.96;margin:10px 0 16px}.hero-copy{font-size:15px;max-width:760px}.battle-config{padding:26px 28px;align-content:center}.battle-config label{font-size:10px}.battle-config>label>input,.stepper input{font-size:14px}
  .stats article{padding:23px 30px}.stats span{font-size:10px}.stats strong{font-size:34px}.stats small{font-size:11px}
  .workspace{grid-template-columns:330px minmax(880px,1fr) 370px;gap:18px}.teams-panel,.objective-panel{padding:26px}.panel-title h2,.map-header h2{font-size:28px}.kicker,.eyebrow{font-size:10px}
  .team-filter{gap:7px;margin:26px 0 22px}.team-filter button{font-size:12px;padding:11px 3px}.team-summary{font-size:12px;margin-bottom:12px;align-items:center}.team-edit{width:27px;height:27px;font-size:13px}
  .player-card{grid-template-columns:38px minmax(0,1fr) auto 32px;gap:11px;padding:14px 12px;margin-bottom:9px}.player-card .avatar{width:38px;height:38px;font-size:12px}.player-card strong{font-size:14px}.player-card small{font-size:10px;margin-top:5px}.power{font-size:12px}.player-edit{width:32px;height:32px;font-size:15px}.player-team-field>span{font-size:9px}.player-team-select{font-size:11px;padding:8px 28px 8px 10px}.bench-drop{padding:18px}.bench-drop strong{font-size:12px}.bench-drop small{font-size:10px}
  .map-header{height:96px;padding:23px 28px}.legend{font-size:10px}.map-stage{height:740px}.building-node strong{font-size:10px!important}.building-node small{font-size:9px!important}.phase-note{padding:14px 20px}.phase-note>span{font-size:25px}.phase-note strong{font-size:11px}.phase-note small{font-size:10px}
  .objective-hero{min-height:112px}.objective-hero h2{font-size:25px}.objective-hero p{font-size:12px;line-height:1.55}.building-icon{width:50px;height:50px}.value-grid span,.objective-total span{font-size:10px}.value-grid strong{font-size:24px}.field{font-size:11px}.field select{font-size:15px;padding:13px}.hold-control label{font-size:11px}.toggle strong{font-size:11px}.toggle small,.assignment-list>small{font-size:9px}.objective-total strong{font-size:32px}.mini-person{font-size:11px;padding:6px 9px}
  .map-time-head .kicker{font-size:10px}.map-time-head strong{font-size:18px}.map-time-status span{font-size:11px}.map-time-status small{font-size:9px}
  .lower-grid{gap:18px;margin-top:18px}.timeline-panel,.intel-panel{padding:28px}.timeline-row>strong{font-size:11px}.intel-card strong{font-size:12px}.intel-card p{font-size:11px}
}
@media (min-width:1800px){.player-card{grid-template-columns:38px minmax(0,1fr) 32px}}
