:root {
  color-scheme: dark;
  --void: #03070a;
  --panel: rgba(7, 15, 20, .88);
  --panel-solid: #091219;
  --line: rgba(132, 181, 201, .24);
  --line-bright: rgba(151, 210, 231, .5);
  --text: #e9f0f2;
  --muted: #80949e;
  --cyan: #5fdcff;
  --red: #ff5c55;
  --amber: #e7bd65;
  --green: #6fe3a0;
  --forum-blue: #1769b2;
  --mono: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
}

* { box-sizing: border-box; }
html { font-size: 18.6667px; }
html, body { margin: 0; min-height: 100%; overflow-x: visible; }
body {
  min-height: 100vh;
  color: var(--text);
  font-family: Inter, "Segoe UI", system-ui, sans-serif;
  background: #101214;
}
body::before {
  content: ""; position: fixed; inset: 0; pointer-events: none; opacity: .17;
  background: repeating-linear-gradient(0deg, transparent 0 5px, rgba(126, 198, 224, .06) 5px 6px);
}
.stars { position: fixed; inset: 0; pointer-events: none; opacity: .5; background-image: radial-gradient(circle, rgba(255,255,255,.7) 0 1px, transparent 1.3px); background-size: 83px 79px; background-position: 17px 23px; mask-image: linear-gradient(to bottom, black, transparent 78%); }
button, input, select, textarea { font: inherit; }
button { color: inherit; }

.forum-nav { position: sticky; z-index: 40; top: 0; min-height: 58px; background: #1c1c1c; box-shadow: 0 1px 0 rgba(255,255,255,.04),0 8px 24px rgba(0,0,0,.22); }
.forum-nav-inner { display: flex; flex-wrap: wrap; align-items: stretch; width: min(1560px,calc(100% - 24px)); min-height: 58px; margin: 0 auto; overflow: visible; }
.forum-nav-inner > * { flex: 0 1 auto; }
.forum-nav .page-tab { min-height: 58px; padding: 0 clamp(10px,1.05vw,18px); border: 0; color: #d7d7d7; background: transparent; font-size: clamp(.66rem,.78vw,.78rem); white-space: nowrap; cursor: pointer; }
.forum-nav .page-tab:hover { background: #252525; }
.forum-nav .page-tab.active { color: #fff; background: var(--forum-blue); }
.forum-nav .info-tab,.forum-nav .archive-tab,.forum-nav .logs-tab { display: none; }
.guide-mode .forum-nav .info-tab,.senior-mode .forum-nav .archive-tab,.siteadmin-mode .forum-nav .logs-tab { display: block; }
#navLogin { min-height: 34px; margin: auto 0 auto auto; padding: 0 15px; border: 1px solid #414141; color: #ededed; background: #282828; font-size: .68rem; font-weight: 800; cursor: pointer; }
.maintenance-access-banner { position: relative; z-index: 8; display: flex; justify-content: center; align-items: center; gap: 12px; padding: 9px 18px; border-bottom: 1px solid #8a7138; color: #f2d685; background: #2b2517; font-size: .66rem; letter-spacing: .04em; }.maintenance-access-banner span { color: #bbaa7c; }
.maintenance-access-banner[hidden],.maintenance-control[hidden],.maintenance-screen[hidden] { display: none; }
.maintenance-blocked #app > :not(#maintenanceScreen):not(#loginBackdrop):not(#loginModal):not(#toast) { display: none !important; }
.maintenance-blocked .maintenance-screen { background: radial-gradient(circle at 50% 35%,#1b2b36 0,transparent 38%),#101316; backdrop-filter: none; }
.forum-brand { position: relative; z-index: 21; min-height: 190px; background: #1b1b1b; }
.site-hub-back { position:fixed; z-index:80; top:8px; left:8px; padding:7px 10px; border:1px solid #41484c; background:#171b1ded; color:#b8c0c4; font-size:.62rem; font-weight:850; letter-spacing:.04em; text-decoration:none; box-shadow:0 5px 16px #0007; transition:background .16s ease,color .16s ease,border-color .16s ease; }
.site-hub-back:hover { border-color:#d5b547; background:#29251b; color:#e7c65a; }
.forum-nav-inner { padding-left:112px; }
.forum-brand.hidden { display: none; }
.forum-brand-inner { display: flex; align-items: center; gap: 28px; width: min(1170px,calc(100% - 36px)); min-height: 190px; margin: 0 auto; }
.forum-brand strong { display: block; color: #fff; font-size: clamp(2rem,4.2vw,4.3rem); font-weight: 950; line-height: .94; letter-spacing: -.045em; }
.forum-brand small { display: block; margin-top: 9px; color: #d8d8d8; font-size: clamp(.65rem,1.2vw,1rem); font-weight: 700; letter-spacing: .08em; }
.forum-logo { width: 136px; height: 136px; flex: 0 0 136px; object-fit: contain; }
.rank-name { color: var(--rank-color); font-weight: 900; }
.forum-cube { position: relative; display: grid; width: 112px; height: 112px; flex: 0 0 112px; place-items: center; border: 5px solid #fff; color: #fff; transform: rotate(30deg); }
.forum-cube::before { content: ""; position: absolute; inset: 20px; border: 3px solid #fff; }
.forum-cube span { position: absolute; font-size: 1.8rem; font-weight: 950; transform: rotate(-30deg); }.forum-cube span:nth-child(1){top:7px}.forum-cube span:nth-child(2){left:9px;bottom:11px}.forum-cube span:nth-child(3){right:8px;bottom:11px}

.page-view { position: relative; z-index: 2; display: none; min-height: calc(100vh - 248px); padding-bottom: 48px; }
.page-view.active { display: block; }
.planets-page { --planet-workspace-height: clamp(740px,86vh,880px); padding-bottom: 0; }
.planet-directory[hidden],.planet-detail[hidden] { display: none; }
.planet-directory-grid { display: grid; grid-template-columns: 1fr; gap: 28px; width: min(1360px,calc(100% - 36px)); margin: 28px auto 70px; }
.planet-directory-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 18px; }
.planet-directory-controls .planet-search { margin-top: 0; }
.planet-directory-actions { display: none; }
.senior-mode .planet-directory-actions,.planet-create-mode .planet-directory-actions { display: flex; }
.planet-directory-actions button { min-height: 43px; padding: 0 16px; border: 1px solid #2d86c9; color: #fff; background: #1769b2; font-size: .58rem; font-weight: 900; letter-spacing: .06em; cursor: pointer; transition: border-color .16s ease,background .16s ease,transform .16s ease; }
.planet-directory-actions button:hover { border-color: #72bee9; background: #2079c3; transform: translateY(-1px); }
.planet-directory-actions button:focus-visible { outline: 2px solid rgba(95,190,242,.45); outline-offset: 2px; }
.planet-front-filters { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.planet-front-filters:empty { display: none; }
.planet-front-filters button { display: flex; align-items: center; gap: 12px; min-height: 34px; padding: 0 10px; border: 1px solid #3a4347; color: #aeb8bc; background: #171b1d; font-size: .55rem; font-weight: 900; letter-spacing: .05em; cursor: pointer; transition: border-color .16s ease,color .16s ease,background .16s ease; }
.planet-front-filters button:hover { border-color: #5a747f; color: #eef3f4; }
.planet-front-filters button[aria-pressed="true"] { border-color: #4b9bd7; color: #fff; background: #17344c; box-shadow: inset 0 -2px #4da7ef; }
.planet-front-filters button b { color: #72cde9; font: 700 .48rem ui-monospace,monospace; }
.planet-front-group { min-width: 0; }
.planet-front-group > header { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 11px; padding: 0 2px 9px; border-bottom: 1px solid #333b3f; }
.planet-front-group > header small { color: #70a9ca; font-size: .48rem; font-weight: 900; letter-spacing: .13em; }
.planet-front-group > header h2 { margin: 3px 0 0; color: #e9edef; font-size: 1.05rem; letter-spacing: .025em; }
.planet-front-group > header > b { color: #7d8b91; font: 700 .5rem ui-monospace,monospace; letter-spacing: .08em; }
.planet-front-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 16px; }
.planet-select-card { position: relative; display: grid; grid-template-rows: minmax(0,1fr) auto; min-height: 310px; overflow: hidden; padding: 14px 15px 15px; border: 1px solid #343d42; color: #f1f5f4; background: radial-gradient(circle at 50% 38%,rgba(66,102,115,.16),transparent 52%),linear-gradient(145deg,#111618,#0a0e10); text-align: left; cursor: pointer; isolation: isolate; transition: border-color .2s ease,transform .2s ease,box-shadow .2s ease; }
.planet-select-card:hover { border-color: color-mix(in srgb,var(--planet-accent),#8bcfe9 28%); transform: translateY(-4px); box-shadow: 0 18px 38px rgba(0,0,0,.38),0 0 24px color-mix(in srgb,var(--planet-accent),transparent 86%); }
.planet-select-card::before { content: ""; position: absolute; z-index: 1; top: 0; right: 0; left: 0; height: 3px; background: var(--planet-accent); box-shadow: 0 0 12px color-mix(in srgb,var(--planet-accent),transparent 30%); }
.planet-select-orb { position: relative; z-index: 2; display: grid; width: min(100%,230px); aspect-ratio: 1; margin: 3px auto 7px; place-items: center; border-radius: 50%; background: radial-gradient(circle at 34% 27%,color-mix(in srgb,var(--planet-land),#d8f4ff 16%),var(--planet-ocean) 48%,#020607 74%); box-shadow: 0 25px 38px rgba(0,0,0,.54),0 0 25px rgba(124,201,231,.13); }
.planet-select-orb::before { content: ""; position: absolute; inset: -5%; z-index: -1; border-radius: 50%; background: radial-gradient(circle,transparent 61%,rgba(103,191,226,.12) 69%,transparent 72%); filter: blur(4px); }
.planet-select-orb::after { content: ""; position: absolute; inset: 4.5%; border: 1px solid rgba(198,238,255,.26); border-radius: 50%; box-shadow: inset -20px -24px 30px rgba(0,0,0,.16),inset 8px 7px 15px rgba(222,248,255,.08); pointer-events: none; }
.planet-preview-canvas { width: 100%; height: 100%; opacity: 0; filter: saturate(1.06) contrast(1.045); transform: scale(.975); transition: opacity .24s ease,transform .3s ease; }
.planet-select-card.preview-ready .planet-preview-canvas { opacity: 1; transform: scale(1); }
.planet-select-copy { position: relative; z-index: 3; display: grid; gap: 4px; min-width: 0; padding-top: 12px; border-top: 1px solid rgba(139,174,187,.16); text-shadow: 0 2px 3px #000; }
.planet-select-copy small { overflow: hidden; color: #76cce7; font-size: .45rem; font-weight: 900; letter-spacing: .09em; text-overflow: ellipsis; white-space: nowrap; }
.planet-select-copy b { overflow: hidden; font-size: .9rem; text-overflow: ellipsis; white-space: nowrap; }.planet-select-copy em { overflow: hidden; color: #98a8ae; font-size: .5rem; font-style: normal; letter-spacing: .055em; text-overflow: ellipsis; white-space: nowrap; }
.planet-directory-empty { grid-column: 1/-1; min-height: 260px; padding: 34px; border: 1px solid #30383b; background: #171b1d; }.planet-directory-empty b { color: #e8eded; font-size: .8rem; letter-spacing: .1em; }.planet-directory-empty p { max-width: 500px; color: #929da0; line-height: 1.7; }.planet-directory-empty button { min-height: 38px; padding: 0 14px; border: 1px solid #287fab; color: #fff; background: #17689b; font-size: .62rem; font-weight: 900; cursor: pointer; }
.planet-browser { --planet-browser-accent:#66c9ee; display:grid; grid-template-columns:minmax(340px,.82fr) minmax(420px,1.18fr); min-height:clamp(590px,72vh,760px); overflow:hidden; border:1px solid #343d42; background:linear-gradient(110deg,#111719 0 45%,#0a0f12 45% 100%); box-shadow:0 28px 60px rgba(0,0,0,.32); }
.planet-browser-list-shell { position:relative; min-width:0; overflow:hidden; border-right:1px solid #343d42; background:linear-gradient(90deg,rgba(102,201,238,.035),transparent 35%); }
.planet-browser-list-shell::before,.planet-browser-list-shell::after { content:""; position:absolute; z-index:5; right:0; left:0; height:19%; pointer-events:none; }
.planet-browser-list-shell::before { top:0; background:linear-gradient(#111719 8%,rgba(17,23,25,.84) 35%,transparent); }
.planet-browser-list-shell::after { bottom:0; background:linear-gradient(transparent,rgba(17,23,25,.86) 66%,#111719 94%); }
.planet-browser-list { height:100%; max-height:clamp(590px,72vh,760px); overflow-x:hidden; overflow-y:auto; padding:calc(clamp(590px,72vh,760px)/2 - 83px) 24px; scroll-padding-block:calc(clamp(590px,72vh,760px)/2 - 83px); scroll-snap-type:y mandatory; overscroll-behavior:contain; scrollbar-width:none; outline:0; }
.planet-browser-list::-webkit-scrollbar { display:none; }
.planet-scroll-card { position:relative; display:grid; grid-template-columns:35px 116px minmax(0,1fr) auto; gap:13px; align-items:center; width:100%; min-height:146px; margin:10px 0; overflow:hidden; padding:12px 13px 12px 8px; border:1px solid #303a3f; color:#d7e0e3; background:linear-gradient(100deg,rgba(26,34,38,.94),rgba(12,17,20,.88)); text-align:left; opacity:.38; filter:saturate(.62); transform:scale(.94); transform-origin:center; scroll-snap-align:center; scroll-snap-stop:always; cursor:pointer; transition:opacity .22s ease,filter .22s ease,transform .3s cubic-bezier(.2,.8,.2,1),border-color .22s ease,background .22s ease,box-shadow .22s ease; }
.planet-scroll-card::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:var(--planet-browser-accent); opacity:0; box-shadow:0 0 14px var(--planet-browser-accent); transition:opacity .2s ease; }
.planet-scroll-card:hover { opacity:.72; border-color:#53666f; }
.planet-scroll-card.is-current { z-index:2; border-color:color-mix(in srgb,var(--planet-browser-accent),#fff 12%); background:linear-gradient(100deg,rgba(29,48,57,.98),rgba(13,23,28,.96)); opacity:1; filter:none; transform:scale(1); box-shadow:0 12px 30px rgba(0,0,0,.36),inset 0 0 32px rgba(102,201,238,.06); }
.planet-scroll-card.is-current::before { opacity:1; }
.planet-scroll-index { color:#60737c; font:800 .58rem var(--mono); text-align:center; transition:color .2s ease; }.planet-scroll-card.is-current .planet-scroll-index { color:var(--planet-browser-accent); }
.planet-scroll-orb { position:relative; display:grid; width:108px; aspect-ratio:1; place-items:center; border-radius:50%; background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--planet-land),#fff 12%),var(--planet-ocean) 49%,#020506 74%); box-shadow:0 13px 24px rgba(0,0,0,.5),0 0 17px rgba(102,201,238,.11); }
.planet-scroll-orb::after { content:""; position:absolute; inset:3px; border:1px solid rgba(192,231,245,.18); border-radius:50%; box-shadow:inset -11px -13px 20px rgba(0,0,0,.28); pointer-events:none; }
.planet-scroll-orb .planet-preview-canvas { width:100%; height:100%; }
.planet-scroll-card.preview-ready .planet-preview-canvas,.planet-browser-preview-content.preview-ready .planet-preview-canvas { opacity:1; transform:scale(1); }
.planet-scroll-copy { display:grid; min-width:0; gap:4px; }.planet-scroll-copy small { overflow:hidden; color:#7297a7; font-size:.46rem; font-weight:900; letter-spacing:.09em; text-overflow:ellipsis; white-space:nowrap; }.planet-scroll-copy b { overflow:hidden; color:#eef4f5; font-size:clamp(.78rem,1.3vw,1.02rem); text-overflow:ellipsis; white-space:nowrap; }.planet-scroll-copy em { overflow:hidden; color:#7f9097; font-size:.5rem; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.planet-scroll-enter { color:#6f8791; font-size:.48rem; font-weight:900; letter-spacing:.08em; opacity:0; transform:translateX(-7px); transition:opacity .18s ease,transform .18s ease,color .18s ease; }.planet-scroll-card.is-current .planet-scroll-enter { opacity:1; transform:none; }.planet-scroll-card:hover .planet-scroll-enter { color:#d6edf5; }
.planet-browser-rail { position:absolute; z-index:7; top:50%; left:9px; display:grid; grid-template-rows:auto 72px auto; gap:7px; place-items:center; color:#71828a; font:700 .46rem var(--mono); transform:translateY(-50%); pointer-events:none; }.planet-browser-rail i { width:2px; height:72px; background:linear-gradient(transparent,var(--planet-browser-accent),transparent); box-shadow:0 0 9px var(--planet-browser-accent); }.planet-browser-rail b { color:#dff7ff; }
.planet-browser-hint { position:absolute; z-index:7; right:24px; bottom:12px; left:38px; overflow:hidden; color:#66777f; font-size:.43rem; font-weight:900; letter-spacing:.08em; text-overflow:ellipsis; white-space:nowrap; pointer-events:none; }
.planet-browser-preview { position:relative; display:grid; min-width:0; overflow:hidden; place-items:center; background:radial-gradient(circle at 51% 42%,rgba(68,143,174,.16),transparent 44%),linear-gradient(145deg,#0d1316,#070a0c); isolation:isolate; }
.planet-browser-preview::before { content:""; position:absolute; inset:8% 8% auto; height:62%; border:1px solid rgba(120,175,197,.09); border-radius:50%; background:repeating-radial-gradient(circle,transparent 0 39px,rgba(105,177,205,.055) 40px 41px); transform:rotateX(63deg); pointer-events:none; }
.planet-browser-preview-content { position:relative; z-index:2; display:grid; width:min(100%,660px); height:100%; min-height:590px; grid-template-rows:minmax(0,1fr) auto; align-items:center; padding:26px clamp(26px,4vw,58px) 40px; animation:planet-browser-preview-in .38s cubic-bezier(.2,.8,.2,1) both; }
.planet-browser-preview-orbit { position:relative; display:grid; width:min(94%,500px); aspect-ratio:1; margin:auto; place-items:center; border-radius:50%; filter:drop-shadow(0 27px 24px rgba(0,0,0,.58)); }
.planet-browser-preview-orbit::before { content:""; position:absolute; inset:-4%; border:1px solid rgba(101,202,238,.2); border-radius:50%; background:conic-gradient(from 25deg,transparent 0 11%,rgba(101,202,238,.28) 11.2% 11.7%,transparent 12% 49%,rgba(101,202,238,.18) 49.2% 49.6%,transparent 50%); animation:planet-browser-orbit 22s linear infinite; }
.planet-browser-preview-orbit::after { content:""; position:absolute; right:10%; bottom:5%; left:10%; height:10%; border-radius:50%; background:rgba(34,132,170,.22); filter:blur(18px); transform:scaleY(.45); }
.planet-browser-featured-canvas { position:relative; z-index:2; width:100%; height:100%; }
.planet-browser-preview-copy { position:relative; z-index:3; display:grid; justify-items:end; text-align:right; }.planet-browser-preview-copy > small { color:var(--planet-browser-accent); font:.52rem var(--mono); letter-spacing:.11em; }.planet-browser-preview-copy h2 { max-width:100%; margin:6px 0 2px; overflow:hidden; color:#f5f8f9; font-size:clamp(1.7rem,3.1vw,3.15rem); line-height:.98; letter-spacing:-.035em; text-overflow:ellipsis; white-space:nowrap; }.planet-browser-preview-copy > p { margin:5px 0 13px; color:#8d9ba1; font-size:.62rem; letter-spacing:.05em; }.planet-browser-preview-copy button { min-height:39px; margin-top:12px; padding:0 17px; border:1px solid var(--planet-browser-accent); color:#e9f8fd; background:color-mix(in srgb,var(--planet-browser-accent),#071017 77%); font-size:.56rem; font-weight:950; letter-spacing:.08em; cursor:pointer; transition:background .16s ease,transform .16s ease,box-shadow .16s ease; }.planet-browser-preview-copy button:hover { background:color-mix(in srgb,var(--planet-browser-accent),#071017 62%); box-shadow:0 8px 24px rgba(0,0,0,.3); transform:translateY(-1px); }
@keyframes planet-browser-preview-in { from { opacity:0; transform:translateY(14px) scale(.985); } to { opacity:1; transform:none; } }
@keyframes planet-browser-orbit { to { transform:rotate(360deg); } }
@media (max-width:1000px) {
  .planet-browser { grid-template-columns:minmax(300px,.9fr) minmax(340px,1.1fr); }
  .planet-scroll-card { grid-template-columns:28px 90px minmax(0,1fr); min-height:126px; padding-right:10px; }
  .planet-scroll-orb { width:84px; }
  .planet-scroll-enter { display:none; }
  .planet-browser-preview-content { padding-inline:28px; }
}
@media (max-width:760px) {
  .planet-directory-grid { width:calc(100% - 18px); margin-top:18px; }
  .planet-browser { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(330px,53vh) 205px; min-height:0; }
  .planet-browser-preview { grid-row:1; }
  .planet-browser-list-shell { grid-row:2; border-top:1px solid #343d42; border-right:0; }
  .planet-browser-list-shell::before,.planet-browser-list-shell::after { top:0; bottom:0; width:13%; height:auto; }
  .planet-browser-list-shell::before { right:auto; background:linear-gradient(90deg,#111719 8%,rgba(17,23,25,.82),transparent); }
  .planet-browser-list-shell::after { left:auto; background:linear-gradient(90deg,transparent,rgba(17,23,25,.84),#111719 94%); }
  .planet-browser-list { display:flex; width:100%; height:205px; overflow-x:auto; overflow-y:hidden; gap:10px; padding:15px calc(50% - min(78vw,390px)/2) 31px; scroll-padding-inline:calc(50% - min(78vw,390px)/2); scroll-snap-type:x mandatory; }
  .planet-scroll-card { flex:0 0 min(78vw,390px); grid-template-columns:24px 92px minmax(0,1fr); min-height:0; height:142px; margin:0; transform:scale(.92); }
  .planet-scroll-card.is-current { transform:scale(1); }
  .planet-browser-rail { top:auto; bottom:5px; left:50%; grid-template-rows:auto; grid-template-columns:auto 62px auto; transform:translateX(-50%); }
  .planet-browser-rail i { width:62px; height:2px; }
  .planet-browser-hint { display:none; }
  .planet-browser-preview-content { min-height:0; grid-template-columns:minmax(0,1fr) minmax(150px,.8fr); grid-template-rows:1fr; gap:8px; padding:14px 17px 16px; }
  .planet-browser-preview-orbit { width:min(74vw,330px); }
  .planet-browser-preview-copy { justify-items:end; }
  .planet-browser-preview-copy h2 { font-size:clamp(1.35rem,6vw,2.2rem); }
  .planet-browser-preview-copy > p { font-size:.52rem; }
}
@media (max-width:520px) {
  .planet-browser { grid-template-rows:minmax(390px,58vh) 190px; }
  .planet-browser-list { height:190px; }
  .planet-browser-preview-content { grid-template-columns:1fr; grid-template-rows:minmax(0,1fr) auto; padding:12px 16px 16px; }
  .planet-browser-preview-orbit { width:min(72vw,290px); }
  .planet-browser-preview-copy { justify-items:center; text-align:center; }
  .planet-browser-preview-copy button { min-height:36px; margin-top:8px; }
  .planet-scroll-card { flex-basis:min(84vw,350px); grid-template-columns:22px 78px minmax(0,1fr); height:128px; }
  .planet-scroll-orb { width:74px; }
}
@media (prefers-reduced-motion:reduce) {
  .planet-browser-preview-content,.planet-browser-preview-orbit::before { animation:none!important; }
  .planet-scroll-card,.planet-browser-preview-copy button { transition-duration:.01ms!important; }
  .planet-browser-list { scroll-behavior:auto; }
}
.planet-detail-title { display: flex; align-items: center; justify-content: space-between; gap: 18px; }.planet-detail-title h1 { margin-bottom: 8px; }.planet-detail-title button { min-height: 34px; padding: 0 12px; border: 1px solid #41494d; color: #d1d8da; background: #22272a; font-size: .56rem; font-weight: 900; cursor: pointer; }
.planets-heading select { display: block; width: auto; max-width: 100%; margin: 7px 0 8px; padding: 0 34px 0 0; border: 0; outline: 0; color: #fff; background: transparent; font-size: clamp(2rem,4vw,3.4rem); font-weight: 900; letter-spacing: -.04em; cursor: pointer; }
.planets-heading select { display: none; }
.planets-page .war-room { width: min(1560px,calc(100% - 28px)); min-height: var(--planet-workspace-height); margin: 28px auto 70px; padding: 0; grid-template-columns: 220px minmax(620px,1fr) 300px; gap: 14px; background: transparent; }
.planets-page .page-heading { width: min(1560px,calc(100% - 28px)); }
.planets-page .hud-panel { border: 1px solid #30363a; background: #181b1d; box-shadow: none; backdrop-filter: none; }
.planets-page .hud-panel::before,.planets-page .hud-panel::after { display: none; }
.planets-page .panel-label { min-height: 43px; border-color: #30363a; color: #a9b0b4; font-size: .58rem; letter-spacing: .08em; }
.planets-page .globe-stage { height: var(--planet-workspace-height); min-height: var(--planet-workspace-height); border: 1px solid #30363a; background: radial-gradient(circle at 50% 46%,rgba(var(--atmosphere-rgb,95,220,255),.09),transparent 40%),radial-gradient(circle at 50% 50%,#182126 0,#111719 58%,#0c1012 100%); }
.planets-page .sector-ring { display: none; }
.planets-page .globe-stage::before { content: "PLANETENANSICHT"; position: absolute; z-index: 7; left: 17px; top: 17px; color: #727c81; font-size: .52rem; font-weight: 900; letter-spacing: .1em; }
.planets-page .globe-stage::after { content: ""; position: absolute; z-index: 1; left: 50%; bottom: 10%; width: 58%; height: 13%; border-radius: 50%; background: radial-gradient(ellipse,rgba(var(--atmosphere-rgb,95,220,255),.12),rgba(0,0,0,.48) 48%,transparent 72%); filter: blur(13px); transform: translateX(-50%) scaleY(.42); pointer-events: none; }
.planets-page .drag-hint { top: 18px; color: #727c81; }
.planets-page .event-actions button,.planets-page .globe-tools button { border-color: #41494d; color: #d3dade; background: #22272a; }
.planets-page .event-actions button:last-child { border-color: var(--forum-blue); color: #fff; background: var(--forum-blue); }
.planets-page .globe-label span { font-size: .9rem; letter-spacing: .08em; }
.page-heading { width: min(1170px,calc(100% - 36px)); margin: 0 auto; padding: 46px 0 28px; border-bottom: 1px solid #33383c; }
.page-heading small { color: #6f9fc8; font-size: .58rem; font-weight: 900; letter-spacing: .16em; }
.page-heading h1 { margin: 7px 0 8px; color: #fff; font-size: clamp(2rem,4vw,3.4rem); letter-spacing: -.04em; }
.page-heading p { max-width: 700px; margin: 0; color: #91999d; line-height: 1.6; }
.logs-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.logs-trash-action { display:flex; flex:0 0 auto; gap:9px; align-items:center; min-height:40px; margin-top:8px; padding:0 15px; border:1px solid #465158; color:#aab5ba; background:#171c1f; font-size:.54rem; font-weight:900; letter-spacing:.08em; cursor:pointer; transition:border-color .18s ease,color .18s ease,background .18s ease; }
.logs-trash-action span { color:#73add2; font-size:1rem; line-height:1; }
.logs-trash-action:hover,.logs-trash-action:focus-visible { border-color:#659fc4; color:#e6f1f5; background:#20292e; outline:0; }
.info-content { display: grid; grid-template-columns: 1.35fr .85fr; gap: 18px; width: min(1170px,calc(100% - 36px)); margin: 28px auto 70px; }
.info-panel { padding: 26px; border: 1px solid #30363a; background: #181b1d; }
.info-panel h2 { margin: 0 0 10px; color: #f2f2f2; font-size: 1.2rem; }
.info-panel > p { margin: 0 0 24px; color: #9ba2a6; line-height: 1.65; }
.outcome-list { border-top: 1px solid #34393c; }
.outcome-list > div { display: grid; grid-template-columns: 1fr 65px 1.5fr; gap: 16px; align-items: center; padding: 14px 0; border-bottom: 1px solid #34393c; }
.outcome-list b { color: #e7e7e7; }
.outcome-list strong { color: #fff; font-family: var(--mono); text-align: right; }
.outcome-list span,.info-note,.permission-info dd { color: #8f979b; font-size: .82rem; line-height: 1.5; }
.info-note { display: block; margin-top: 18px; }
.permission-info { margin: 20px 0 0; }
.permission-info div { padding: 15px 0; border-top: 1px solid #34393c; }
.permission-info dt { margin-bottom: 5px; color: #e7e7e7; font-weight: 700; }
.permission-info dd { margin: 0; }
.calendar-list { width:min(1170px,calc(100% - 36px)); margin:28px auto 70px; }
.calendar-shell { border:1px solid #343a3d; background:#181b1d; box-shadow:0 16px 40px rgba(0,0,0,.18); }
.calendar-toolbar { display:grid; grid-template-columns:42px minmax(0,1fr) auto 42px; gap:8px; align-items:center; min-height:74px; padding:10px 14px; border-bottom:1px solid #3a4043; background:#202426; }
.calendar-toolbar div { min-width:0; }.calendar-toolbar small { display:block; color:#6f9fc8; font-size:.5rem; font-weight:900; letter-spacing:.12em; }.calendar-toolbar h2 { margin:3px 0 0; color:#eee; font-size:1.2rem; text-transform:capitalize; }
.calendar-toolbar button { min-height:36px; padding:0 12px; border:1px solid #454c50; color:#dadddf; background:#292d30; font-size:.58rem; font-weight:900; cursor:pointer; transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease; }.calendar-toolbar button:first-child,.calendar-toolbar button:last-child { padding:0; font-size:1.3rem; }.calendar-toolbar button:hover,.calendar-toolbar button:focus-visible { border-color:#438dbe; color:#fff; background:#2677ad; transform:translateY(-1px); }
.calendar-weekdays,.calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }.calendar-weekdays { border-bottom:1px solid #3a4043; background:#15191b; }.calendar-weekdays span { padding:9px; border-right:1px solid #303639; color:#849198; font-size:.52rem; font-weight:900; letter-spacing:.12em; text-align:center; }.calendar-weekdays span:last-child { border-right:0; }
.calendar-day { position:relative; z-index:1; min-width:0; min-height:116px; padding:9px; border-right:1px solid #303639; border-bottom:1px solid #303639; outline:0; background:#1b1f21; transition:z-index 0s .2s,background .18s ease,box-shadow .18s ease; }.calendar-day:nth-child(7n) { border-right:0; }.calendar-day:nth-last-child(-n+7) { border-bottom:0; }.calendar-day:hover,.calendar-day:focus-within,.calendar-day:focus { z-index:20; background:#23282b; box-shadow:inset 0 0 0 1px #4a8db7; transition-delay:0s; }
.calendar-day.outside { background:#151819; }.calendar-day.outside > header,.calendar-day.outside > .calendar-day-events { opacity:.52; }.calendar-day.today { box-shadow:inset 3px 0 #3489c2; }.calendar-day > header { display:flex; align-items:center; justify-content:space-between; gap:6px; }.calendar-day > header time { display:grid; width:27px; height:27px; place-items:center; color:#dce1e3; font:.68rem var(--mono); }.calendar-day.today > header time { color:#fff; background:var(--forum-blue); }.calendar-day > header b { display:grid; min-width:20px; height:20px; padding:0 5px; place-items:center; border:1px solid #4d8aaf; border-radius:10px; color:#a9d9f4; background:#203744; font:.48rem var(--mono); }
.calendar-day-events { display:grid; gap:4px; margin-top:6px; }.calendar-day-events > span { display:flex; min-width:0; align-items:center; gap:5px; overflow:hidden; padding:4px 5px; border-left:2px solid currentColor; color:#aeb8bd; background:#24292c; font-size:.52rem; text-overflow:ellipsis; white-space:nowrap; }.calendar-day-events > span i { flex:0 0 auto; width:5px; height:5px; border-radius:50%; background:currentColor; }.calendar-day-events > span.status-planned { color:#e8c44d; }.calendar-day-events > span.status-success { color:#59d88a; }.calendar-day-events > span.status-failure { color:#ef615d; }.calendar-day-events > span.status-locked { color:#747d82; }.calendar-day-events > span.status-draft { color:#65b8e8; }.calendar-day-events > small { color:#7e898e; font-size:.48rem; }
.calendar-day-menu { position:absolute; z-index:30; top:calc(100% - 5px); left:8px; display:grid; width:min(340px,calc(100vw - 40px)); max-height:410px; overflow-y:auto; padding:10px; border:1px solid #4b5459; border-top:3px solid #3489c2; visibility:hidden; opacity:0; background:#202426; box-shadow:0 18px 38px rgba(0,0,0,.55); pointer-events:none; transform:translateY(-7px) scale(.985); transform-origin:top left; transition:opacity .18s ease,transform .18s cubic-bezier(.22,1,.36,1),visibility 0s .18s; }.calendar-day.edge-right .calendar-day-menu { right:8px; left:auto; transform-origin:top right; }.calendar-day.lower-row .calendar-day-menu { top:auto; bottom:calc(100% - 5px); transform:translateY(7px) scale(.985); transform-origin:bottom left; }.calendar-day.lower-row.edge-right .calendar-day-menu { transform-origin:bottom right; }.calendar-day:hover .calendar-day-menu,.calendar-day:focus .calendar-day-menu,.calendar-day:focus-within .calendar-day-menu { visibility:visible; opacity:1; pointer-events:auto; transform:translateY(0) scale(1); transition-delay:0s; }
.calendar-day-menu > header { display:grid; gap:3px; padding:3px 3px 9px; border-bottom:1px solid #3b4246; }.calendar-day-menu > header small { color:#71b9e7; font-size:.48rem; font-weight:900; letter-spacing:.1em; }.calendar-day-menu > header strong { color:#eceeef; font-size:.78rem; text-transform:capitalize; }.calendar-day-menu article { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px 10px; padding:10px 3px; border-bottom:1px solid #363d40; }.calendar-day-menu article:last-child { border-bottom:0; }.calendar-day-menu article > span { display:flex; min-width:0; align-items:center; gap:7px; }.calendar-day-menu article > span i { display:grid; flex:0 0 auto; width:25px; height:25px; place-items:center; border:1px solid currentColor; color:#75bde8; font-style:normal; }.calendar-day-menu article > span b { overflow:hidden; color:#eee; font-size:.66rem; text-overflow:ellipsis; white-space:nowrap; }.calendar-day-menu article > small { grid-column:1; color:#9aa3a7; font-size:.54rem; }.calendar-day-menu .calendar-status { grid-column:1; color:#aab2b6; font:normal .51rem var(--mono); }.calendar-day-menu article > button { grid-column:2; grid-row:1/4; align-self:center; min-height:32px; padding:0 9px; border:1px solid #495157; color:#e2e5e6; background:#2a2f32; font-size:.48rem; font-weight:900; cursor:pointer; }.calendar-day-menu article > button:hover,.calendar-day-menu article > button:focus-visible { border-color:#4b9bce; color:#fff; background:#2677ad; }
.calendar-status { color:#aab2b6; font:normal .65rem ui-monospace,monospace; }.calendar-status.status-planned { color:#e8c44d; }.calendar-status.status-success { color:#59d88a; }.calendar-status.status-failure { color:#ef615d; }.calendar-status.status-locked { color:#747d82; }.calendar-status.status-draft { color:#65b8e8; }
.mission-report { margin: 16px; padding: 14px; border: 1px solid #3c4448; background: #202426; }.mission-report > small { color: #6f9fc8; font-size: .54rem; font-weight: 900; letter-spacing: .1em; }.mission-report > p { margin: 9px 0; color: #c7cdcf; font-size: .7rem; line-height: 1.5; }.mission-report dl { margin: 8px 0 !important; }.mission-report a { color: #72b8e5; font-size: .6rem; font-weight: 800; }
.dashboard-layout { display: grid; grid-template-columns: 1fr 280px; gap: 24px; width: min(1170px,calc(100% - 36px)); margin: 28px auto 70px; }
.news-feed { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.news-card { min-height: 210px; padding: 24px; border: 1px solid #30363a; background: #181b1d; }
.news-card.lead-news { grid-column: 1/-1; min-height: 270px; border-top: 3px solid var(--forum-blue); }
.news-tag { display: inline-block; padding: 5px 7px; color: #fff; background: var(--forum-blue); font-size: .54rem; font-weight: 900; letter-spacing: .12em; }
.news-tag.neutral { color: #bec6ca; background: #30363a; }
.news-card time { display: block; margin-top: 17px; color: #737d82; font-size: .55rem; letter-spacing: .1em; }
.news-card h2 { margin: 8px 0 10px; color: #f2f2f2; font-size: 1.3rem; }
.news-card p { margin: 0; color: #9aa3a7; font-size: .78rem; line-height: 1.7; }
.news-card button { min-height: 38px; margin-top: 20px; padding: 0 13px; border: 0; color: #fff; background: var(--forum-blue); font-size: .58rem; font-weight: 900; cursor: pointer; }
.monthly-vote-card { position:relative; overflow:hidden; border-top:3px solid #b58a36; background:linear-gradient(145deg,#1d2022,#17191b); }.monthly-vote-card::after { content:""; position:absolute; top:-50px; right:-45px; width:150px; height:150px; border:1px solid rgba(214,174,80,.12); border-radius:50%; box-shadow:0 0 0 20px rgba(214,174,80,.025),0 0 0 42px rgba(214,174,80,.018); pointer-events:none; }.monthly-vote-card .news-tag { background:#a67826; }.monthly-vote-card button { position:relative; z-index:1; background:#9b7227; }.monthly-vote-card button:hover { background:#b68a35; }.monthly-vote-card.is-closed { border-top-color:#52595d; }.monthly-vote-card.is-closed::after { display:none; }
.monthly-vote-management { display:grid; gap:14px; margin-top:22px; padding:16px; border:1px solid #41484c; border-left:3px solid #b58a36; background:#222629; }.monthly-vote-management>label,.monthly-vote-management>div { display:grid; gap:5px; }.monthly-vote-management>label { color:#c9a654; font-size:.54rem; font-weight:900; letter-spacing:.1em; }.monthly-vote-management>label input { width:100%; min-height:42px; margin-top:3px; padding:8px 10px; border:1px solid #4b555a; color:#eef1f2; background:#171a1c; color-scheme:dark; font:700 .72rem var(--mono); }.monthly-vote-management small { color:#c9a654; font-size:.54rem; font-weight:900; letter-spacing:.1em; }.monthly-vote-management b { color:#f1f2f2; font-size:1.05rem; }.monthly-vote-management p { margin:0; color:#929da2; font-size:.7rem; line-height:1.5; }.monthly-vote-management button { width:100%; }
.monthly-vote-form { margin-top:18px; }.monthly-vote-privacy { display:grid; gap:4px; padding:13px; border:1px solid #3e474b; background:#171a1c; }.monthly-vote-privacy b { color:#d0ad58; font-size:.6rem; letter-spacing:.09em; }.monthly-vote-privacy span { color:#9da6aa; font-size:.66rem; line-height:1.5; }.editor .monthly-vote-confirm { grid-template-columns:18px minmax(0,1fr); align-items:center; }.editor .monthly-vote-confirm input { width:16px; min-height:16px; margin:0; }.editor .monthly-vote-confirm span { color:#aab2b6; font-size:.64rem; line-height:1.45; }
.monthly-vote-complete { display:grid; gap:5px; margin-top:18px; padding:18px; border:1px solid #3d7656; background:#1b2b22; }.monthly-vote-complete b { color:#6ad894; font-size:.76rem; }.monthly-vote-complete span { color:#b5c0ba; font-size:.69rem; }.monthly-vote-complete.is-empty { border-color:#675933; background:#29251a; }.monthly-vote-complete.is-empty b { color:#dcbd63; }
.monthly-vote-results { display:grid; gap:12px; margin-top:20px; padding-top:20px; border-top:1px solid #3b4144; }.monthly-vote-total { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px; border:1px solid #444b4f; background:#202426; }.monthly-vote-total span { display:grid; gap:2px; }.monthly-vote-total b { color:#d1ad54; font:900 1.45rem var(--mono); }.monthly-vote-total small,.monthly-vote-total i { color:#8f9a9f; font-size:.5rem; font-style:normal; font-weight:900; letter-spacing:.08em; }.monthly-vote-ranking { border:1px solid #3d4448; background:#202325; }.monthly-vote-ranking header { display:block; padding:12px 14px; border-bottom:1px solid #3b4245; }.monthly-vote-ranking header small { color:#b6923e; font-size:.48rem; font-weight:900; letter-spacing:.1em; }.monthly-vote-ranking h3 { margin:4px 0 0; font-size:.78rem; }.monthly-vote-ranking>div { display:grid; grid-template-columns:24px minmax(0,1fr) 34px; gap:9px; align-items:center; min-height:48px; padding:7px 12px; border-bottom:1px solid #353b3e; }.monthly-vote-ranking>div:last-child { border-bottom:0; }.monthly-vote-ranking em { color:#6f7c82; font:.54rem var(--mono); font-style:normal; }.monthly-vote-ranking span { display:grid; min-width:0; gap:2px; }.monthly-vote-ranking span b { overflow:hidden; color:#e1e4e5; font-size:.66rem; text-overflow:ellipsis; white-space:nowrap; }.monthly-vote-ranking span small { color:#849198; font-size:.52rem; }.monthly-vote-ranking strong { color:#d3ae52; font:.82rem var(--mono); text-align:right; }.monthly-vote-ranking>p { margin:0; padding:14px; color:#879399; font-size:.65rem; }
.monthly-vote-ballots { border:1px solid #41484c; background:#1c2022; }.monthly-vote-ballots summary { padding:13px; color:#c1c7ca; font-size:.58rem; font-weight:900; letter-spacing:.07em; cursor:pointer; }.monthly-vote-ballots article { display:grid; gap:4px; padding:12px 14px; border-top:1px solid #373e41; }.monthly-vote-ballots article b { color:#eceeef; font-size:.66rem; }.monthly-vote-ballots article span,.monthly-vote-ballots article time { color:#929da2; font-size:.58rem; line-height:1.45; }.monthly-vote-ballots article button { min-height:34px; margin-top:7px; border:1px solid #854744; color:#ef8580; background:#271b1b; font-size:.5rem; font-weight:900; cursor:pointer; }.monthly-vote-ballots article button:hover { border-color:#c85a55; color:#fff; background:#923c38; }.monthly-vote-ballots>p { margin:0; padding:14px; color:#8d989d; font-size:.64rem; }
.dashboard-side { display: grid; align-content: start; gap: 12px; }
.dashboard-stat { display: flex; align-items: center; justify-content: space-between; min-height: 86px; padding: 0 19px; border: 1px solid #30363a; background: #181b1d; }
.dashboard-stat small { color: #8f989d; font-size: .56rem; font-weight: 900; letter-spacing: .12em; }.dashboard-stat strong { font: 700 2rem ui-monospace,monospace; }
.dashboard-note { display: grid; gap: 7px; margin-top: 7px; padding: 19px; border-left: 3px solid var(--forum-blue); background: #202427; }.dashboard-note b { font-size: .6rem; letter-spacing: .1em; }.dashboard-note span { color: #9aa3a7; font-size: .72rem; }
.tactician-grid { display: grid; gap: 18px; width: min(1170px,calc(100% - 36px)); margin: 28px auto 70px; }
.tactician-card { border: 1px solid #30363a; background: #181b1d; }
.tactician-card > header { display: grid; grid-template-columns: 46px 1fr auto; gap: 14px; align-items: center; padding: 19px; border-bottom: 1px solid #30363a; }
.tactician-avatar { display: grid; width: 46px; height: 46px; place-items: center; color: #fff; background: var(--forum-blue); font-size: .75rem; font-weight: 950; }
.tactician-card header small { color: #6f9fc8; font-size: .5rem; font-weight: 900; letter-spacing: .12em; }.tactician-card h2 { margin: 4px 0 0; font-size: .95rem; }.tactician-card header > b { color: #858f94; font-size: .54rem; letter-spacing: .1em; }
.tactician-operations { display: grid; }
.tactician-operations button { display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: center; min-height: 66px; padding: 8px 19px; border: 0; border-bottom: 1px solid #292e31; color: #eee; background: transparent; text-align: left; cursor: pointer; }
.tactician-operations button:last-child { border-bottom: 0; }.tactician-operations button:hover { background: #202427; }
.tactician-operations i { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid #527789; color: #75c9ea; font-style: normal; }.tactician-operations i.critical { color: var(--red); border-color: #8f4844; }
.tactician-operations span { display: grid; gap: 4px; }.tactician-operations b { font-size: .72rem; }.tactician-operations small { color: #858f94; font-size: .55rem; }
.tactician-entry { display: flex; border-bottom: 1px solid #292e31; }.tactician-entry:last-child { border-bottom: 0; }
.tactician-entry .tactician-open { flex: 1; border-bottom: 0; }
.tactician-entry .tactician-delete { width: auto; min-width: 78px; padding: 0 12px; border: 0; border-left: 1px solid #3b3030; border-bottom: 0; color: #e9635e; background: transparent; font-size: .5rem; font-weight: 900; }
.tactician-entry .tactician-delete:hover { background: rgba(229,72,72,.08); }
.tactician-grid { display:block; width:min(1420px,calc(100% - 36px)); }
.tactician-browser { display:grid; grid-template-columns:minmax(340px,.78fr) minmax(470px,1.22fr); min-height:clamp(590px,72vh,760px); overflow:hidden; border:1px solid #343d42; background:linear-gradient(110deg,#111719 0 43%,#0a0f12 43% 100%); box-shadow:0 28px 60px rgba(0,0,0,.32); }
.tactician-browser-list-shell { position:relative; min-width:0; overflow:hidden; border-right:1px solid #343d42; }
.tactician-browser-list-shell::before,.tactician-browser-list-shell::after { content:""; position:absolute; z-index:5; right:0; left:0; height:20%; pointer-events:none; }.tactician-browser-list-shell::before { top:0; background:linear-gradient(#111719 8%,rgba(17,23,25,.86) 38%,transparent); }.tactician-browser-list-shell::after { bottom:0; background:linear-gradient(transparent,rgba(17,23,25,.88) 65%,#111719 94%); }
.tactician-browser-list { height:100%; max-height:clamp(590px,72vh,760px); overflow-x:hidden; overflow-y:auto; padding:calc(clamp(590px,72vh,760px)/2 - 69px) 23px; scroll-padding-block:calc(clamp(590px,72vh,760px)/2 - 69px); scroll-snap-type:y mandatory; overscroll-behavior:contain; scrollbar-width:none; outline:0; }.tactician-browser-list::-webkit-scrollbar { display:none; }
.tactician-scroll-card { position:relative; display:grid; grid-template-columns:32px 54px minmax(0,1fr) auto; gap:13px; align-items:center; width:100%; min-height:118px; margin:10px 0; overflow:hidden; padding:13px 14px 13px 8px; border:1px solid #303a3f; color:#d7e0e3; background:linear-gradient(100deg,rgba(26,34,38,.94),rgba(12,17,20,.88)); text-align:left; opacity:.38; filter:saturate(.62); transform:scale(.94); scroll-snap-align:center; scroll-snap-stop:always; cursor:pointer; transition:opacity .22s ease,filter .22s ease,transform .3s cubic-bezier(.2,.8,.2,1),border-color .22s ease,background .22s ease,box-shadow .22s ease; }
.tactician-scroll-card::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:var(--rank-color); opacity:0; box-shadow:0 0 14px var(--rank-color); transition:opacity .2s ease; }.tactician-scroll-card:hover { opacity:.72; border-color:#59686f; }.tactician-scroll-card.is-current { z-index:2; border-color:color-mix(in srgb,var(--rank-color),#fff 16%); background:linear-gradient(100deg,color-mix(in srgb,var(--rank-color),#172127 86%),#11191d); opacity:1; filter:none; transform:scale(1); box-shadow:0 12px 30px rgba(0,0,0,.36),inset 0 0 30px color-mix(in srgb,var(--rank-color),transparent 92%); }.tactician-scroll-card.is-current::before { opacity:1; }
.tactician-scroll-card .tactician-avatar,.tactician-featured .tactician-avatar { border:1px solid var(--rank-color); color:var(--rank-color); background:#171e22; }.tactician-scroll-index { color:#60737c; font:800 .58rem var(--mono); text-align:center; }.tactician-scroll-card.is-current .tactician-scroll-index { color:var(--rank-color); }.tactician-scroll-copy { display:grid; min-width:0; gap:4px; }.tactician-scroll-copy small { overflow:hidden; color:#7e929b; font-size:.46rem; font-weight:900; letter-spacing:.08em; text-overflow:ellipsis; white-space:nowrap; }.tactician-scroll-copy b { overflow:hidden; font-size:.78rem; text-overflow:ellipsis; white-space:nowrap; }.tactician-scroll-copy em { color:#7f9097; font-size:.5rem; font-style:normal; }.tactician-scroll-select { color:#758991; font-size:.46rem; font-weight:900; letter-spacing:.07em; opacity:0; transform:translateX(-7px); transition:opacity .18s ease,transform .18s ease; }.tactician-scroll-card.is-current .tactician-scroll-select { opacity:1; transform:none; }
.tactician-browser-rail { position:absolute; z-index:7; top:50%; left:9px; display:grid; grid-template-rows:auto 72px auto; gap:7px; place-items:center; color:#71828a; font:700 .46rem var(--mono); transform:translateY(-50%); pointer-events:none; }.tactician-browser-rail i { width:2px; height:72px; background:linear-gradient(transparent,#66c9ee,transparent); box-shadow:0 0 9px #66c9ee; }.tactician-browser-rail b { color:#dff7ff; }.tactician-browser-hint { position:absolute; z-index:7; right:22px; bottom:12px; left:38px; color:#66777f; font-size:.43rem; font-weight:900; letter-spacing:.08em; pointer-events:none; }
.tactician-browser-preview { min-width:0; overflow:auto; padding:30px clamp(24px,4vw,58px); background:radial-gradient(circle at 72% 16%,rgba(68,143,174,.13),transparent 42%),linear-gradient(145deg,#0d1316,#070a0c); }.tactician-featured { min-height:100%; border-color:#3c464b; box-shadow:0 20px 42px rgba(0,0,0,.34); animation:planet-browser-preview-in .34s cubic-bezier(.2,.8,.2,1) both; }.tactician-featured>header { min-height:112px; border-top:3px solid var(--rank-color); }.tactician-featured header p { margin:5px 0 0; color:#839198; font-size:.54rem; }.tactician-featured .tactician-operations { max-height:calc(clamp(590px,72vh,760px) - 175px); overflow:auto; }
@media (max-width:900px) { .tactician-browser { grid-template-columns:minmax(300px,.9fr) minmax(360px,1.1fr); }.tactician-scroll-card { grid-template-columns:26px 48px minmax(0,1fr); }.tactician-scroll-select { display:none; }.tactician-browser-preview { padding:22px; } }
@media (max-width:760px) { .tactician-grid { width:calc(100% - 18px); margin-top:18px; }.tactician-browser { grid-template-columns:1fr; grid-template-rows:minmax(350px,56vh) 185px; min-height:0; }.tactician-browser-preview { grid-row:1; padding:12px; }.tactician-browser-list-shell { grid-row:2; border-top:1px solid #343d42; border-right:0; }.tactician-browser-list-shell::before,.tactician-browser-list-shell::after { top:0; bottom:0; width:13%; height:auto; }.tactician-browser-list-shell::before { right:auto; background:linear-gradient(90deg,#111719 8%,rgba(17,23,25,.84),transparent); }.tactician-browser-list-shell::after { left:auto; background:linear-gradient(90deg,transparent,rgba(17,23,25,.86),#111719 94%); }.tactician-browser-list { display:flex; width:100%; height:185px; overflow-x:auto; overflow-y:hidden; gap:10px; padding:15px calc(50% - min(82vw,390px)/2) 29px; scroll-padding-inline:calc(50% - min(82vw,390px)/2); scroll-snap-type:x mandatory; }.tactician-scroll-card { flex:0 0 min(82vw,390px); grid-template-columns:24px 48px minmax(0,1fr); min-height:0; height:132px; margin:0; transform:scale(.92); }.tactician-scroll-card.is-current { transform:scale(1); }.tactician-browser-rail { top:auto; bottom:4px; left:50%; grid-template-rows:auto; grid-template-columns:auto 62px auto; transform:translateX(-50%); }.tactician-browser-rail i { width:62px; height:2px; }.tactician-browser-hint { display:none; }.tactician-featured .tactician-operations { max-height:calc(56vh - 150px); } }
@media (prefers-reduced-motion:reduce) { .tactician-scroll-card { transition-duration:.01ms!important; }.tactician-featured { animation:none!important; }.tactician-browser-list { scroll-behavior:auto; } }
.users-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.users-heading > div { flex: 1; }
.users-heading #addUser { min-height: 42px; padding: 0 15px; border: 0; color: #fff; background: var(--forum-blue); font-size: .6rem; font-weight: 900; cursor: pointer; }
.users-heading #addUser { display: none; }
.user-admin-mode .users-heading #addUser { display: block; }
.users-panel { width: min(1170px,calc(100% - 36px)); margin: 28px auto 70px; border: 1px solid #30363a; background: #181b1d; }
.users-summary { display: flex; gap: 1px; border-bottom: 1px solid #30363a; background: #30363a; }
.maintenance-control { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 28px; margin-bottom: 18px; padding: 20px 22px; border: 1px solid #635630; border-left: 4px solid #c7a94c; background: linear-gradient(120deg,#292516,#202427); }.maintenance-control small { color: #c7a94c; font-size: .52rem; font-weight: 900; letter-spacing: .12em; }.maintenance-control h2 { margin: 4px 0; font-size: 1.15rem; }.maintenance-control p { max-width: 720px; margin: 0; color: #a8a38f; font-size: .72rem; }.maintenance-control label { display: flex; align-items: center; gap: 10px; cursor: pointer; }.maintenance-control input { position: absolute; opacity: 0; pointer-events: none; }.maintenance-control label i { position: relative; width: 48px; height: 25px; border: 1px solid #555; border-radius: 99px; background: #2d3134; }.maintenance-control label i::after { content: ""; position: absolute; left: 3px; top: 3px; width: 17px; height: 17px; border-radius: 50%; background: #8d969b; transition: transform .16s ease,background .16s ease; }.maintenance-control input:checked+i { border-color: #b7983e; background: #574917; }.maintenance-control input:checked+i::after { transform: translateX(23px); background: #f0cf67; }.maintenance-control label span { min-width: 50px; color: #c8c0a8; font-size: .58rem; font-weight: 900; }
.maintenance-control { width: min(1170px,calc(100% - 36px)); margin: 28px auto 0; }
.users-summary span { display: flex; align-items: center; gap: 9px; min-width: 130px; padding: 15px 19px; background: #202427; }.users-summary b { font: 800 1.3rem ui-monospace,monospace; }.users-summary small { color: #899399; font-size: .52rem; font-weight: 900; letter-spacing: .1em; }
.users-list { display: grid; }
.user-row { display: grid; grid-template-columns: 42px minmax(180px,1fr) 170px 85px auto; gap: 14px; align-items: center; min-height: 74px; padding: 10px 18px; border-bottom: 1px solid #292e31; }.user-row:last-child { border: 0; }
.user-avatar { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid var(--rank-color); color: var(--rank-color); font-size: .65rem; font-weight: 900; }
.user-main { display: grid; gap: 4px; }.user-main b { font-size: .74rem; }.user-main em { color: #8f989d; font-style: normal; font-weight: 500; }.user-main small { color: #6f797e; font-size: .55rem; }
.user-rank { font-size: .66rem; }.user-state { font-size: .5rem; font-weight: 900; letter-spacing: .1em; }.user-state.active { color: var(--green); }.user-state.locked { color: var(--red); }
.user-buttons { display: flex; gap: 6px; }.user-buttons button { min-height: 32px; padding: 0 9px; border: 1px solid #41494d; color: #c8d0d3; background: #22272a; font-size: .5rem; font-weight: 900; cursor: pointer; }.user-buttons button:last-child { color: #f06a65; border-color: #603634; }
.users-error { margin: 0; padding: 22px; color: var(--red); font-size: .7rem; }
.toggle-field { display: flex !important; grid-template-columns: none; align-items: center; gap: 9px !important; }.toggle-field input { width: 16px; min-height: 16px; accent-color: var(--forum-blue); }
.archive-list,.logs-list { width: min(1170px,calc(100% - 36px)); margin: 28px auto 70px; border: 1px solid #30363a; background: #181b1d; }
.archive-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 82px; padding: 14px 18px; border-bottom: 1px solid #2b3033; }.archive-row:last-child { border: 0; }.archive-row > div { display: grid; gap: 4px; }.archive-row small { color: #738087; font-size: .5rem; letter-spacing: .08em; }.archive-row b { font-size: .8rem; }.archive-row span { color: #90999e; font-size: .58rem; }.archive-row button { min-height: 34px; padding: 0 11px; border: 1px solid #4388bf; color: #7ec0ee; background: transparent; font-size: .52rem; font-weight: 900; cursor: pointer; }
.archive-empty { margin: 0; padding: 24px; }
.mission-archive-shell { width: min(1170px,calc(100% - 36px)); margin: 28px auto 70px; }
.mission-archive-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; border: 1px solid #30363a; background: #30363a; }
.mission-archive-stats article { display: grid; min-height: 118px; align-content: center; padding: 18px 20px; background: linear-gradient(145deg,#20272b,#181c1f); }
.mission-archive-stats small { color: #6f9fc8; font-size: .5rem; font-weight: 900; letter-spacing: .13em; }
.mission-archive-stats b { margin: 5px 0 2px; color: #eef6f8; font: 900 1.65rem ui-monospace,monospace; }
.mission-archive-stats span { color: #7f8b91; font-size: .56rem; }
.mission-archive-toolbar { display: grid; grid-template-columns: minmax(280px,1fr) 190px 190px; gap: 9px; margin: 14px 0; }
.mission-archive-toolbar label { display: grid; gap: 5px; color: #78878e; font-size: .48rem; font-weight: 900; letter-spacing: .1em; }
.mission-archive-toolbar input,.mission-archive-toolbar select { width: 100%; min-height: 42px; padding: 0 12px; border: 1px solid #38444a; outline: 0; color: #dce7eb; background: #151a1d; font-size: .64rem; }
.mission-archive-toolbar input:focus,.mission-archive-toolbar select:focus { border-color: #4f9dce; box-shadow: 0 0 0 2px rgba(79,157,206,.1); }
.mission-archive-search { position: relative; align-self: end; }
.mission-archive-search > span { position: absolute; left: 13px; bottom: 9px; color: #65b7df; font-size: 1rem; }
.mission-archive-search input { padding-left: 37px; }
.mission-archive-insights { display: grid; grid-template-columns: 1.15fr .85fr; gap: 14px; margin-bottom: 14px; }
.mission-archive-insights > section { padding: 18px; border: 1px solid #30383c; background: #191e21; }
.mission-archive-insights header { display: grid; gap: 3px; margin-bottom: 15px; }
.mission-archive-insights header small { color: #6f9fc8; font-size: .46rem; font-weight: 900; letter-spacing: .13em; }
.mission-archive-insights header b { font-size: .78rem; }
.mission-result-bars { display: grid; gap: 10px; }
.mission-result-row { display: grid; grid-template-columns: 82px minmax(80px,1fr) 25px 34px; gap: 9px; align-items: center; color: var(--outcome-color); }
.mission-result-row span,.mission-result-row small { color: #89949a; font-size: .52rem; }
.mission-result-row i { overflow: hidden; height: 6px; background: #293034; }
.mission-result-row i b { display: block; min-width: 2px; height: 100%; background: var(--outcome-color); }
.mission-result-row strong { font: 800 .65rem ui-monospace,monospace; text-align: right; }
.mission-result-row small { text-align: right; }
.outcome-failure { --outcome-color:#ef615d; }.outcome-partial { --outcome-color:#e5b84b; }.outcome-success { --outcome-color:#59d88a; }.outcome-major { --outcome-color:#65c9f0; }
.mission-leader-ranking { display: grid; }
.mission-leader-ranking > div { display: grid; grid-template-columns: 25px minmax(0,1fr) 30px; gap: 10px; align-items: center; min-height: 43px; border-bottom: 1px solid #293034; }
.mission-leader-ranking > div:last-child { border: 0; }
.mission-leader-ranking em { color: #60747e; font: 800 .58rem ui-monospace,monospace; font-style: normal; }
.mission-leader-ranking span { display: grid; gap: 2px; min-width: 0; }
.mission-leader-ranking span b { overflow: hidden; font-size: .58rem; text-overflow: ellipsis; white-space: nowrap; }
.mission-leader-ranking span small { color: #718087; font-size: .48rem; }
.mission-leader-ranking strong { color: #79bfe3; font: 900 .72rem ui-monospace,monospace; text-align: right; }
.mission-leader-ranking p { margin: 0; color: #78858b; font-size: .58rem; }
.mission-archive-list { border: 1px solid #30363a; background: #181b1d; }
.mission-archive-list > header { display: flex; justify-content: space-between; padding: 11px 16px; border-bottom: 1px solid #30363a; color: #718087; background: #202528; font-size: .48rem; font-weight: 900; letter-spacing: .1em; }
.mission-archive-row { display: grid; grid-template-columns: 102px 38px minmax(240px,1fr) 100px auto; gap: 14px; align-items: center; min-height: 104px; padding: 14px 16px; border-bottom: 1px solid #2b3033; border-left: 3px solid var(--outcome-color); }
.mission-archive-row:last-child { border-bottom: 0; }
.mission-archive-row time { display: grid; gap: 2px; color: #8b969b; }
.mission-archive-row time b { color: #d7e0e3; font-size: .58rem; text-transform: uppercase; }
.mission-archive-row time span { font: .5rem ui-monospace,monospace; }
.mission-archive-row > i { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid color-mix(in srgb,var(--outcome-color),transparent 35%); color: var(--outcome-color); font-style: normal; }
.mission-archive-main { display: grid; gap: 4px; min-width: 0; }
.mission-archive-main small { color: #718087; font-size: .48rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.mission-archive-main > b { font-size: .75rem; }
.mission-archive-main > span { overflow: hidden; color: #9aa4a9; font-size: .56rem; text-overflow: ellipsis; white-space: nowrap; }
.mission-archive-main em { color: #69767c; font-size: .48rem; font-style: normal; }
.mission-outcome { color: var(--outcome-color); font-size: .55rem; text-align: right; text-transform: uppercase; }
.mission-archive-row > button { min-height: 34px; padding: 0 11px; border: 1px solid #4388bf; color: #7ec0ee; background: transparent; font-size: .5rem; font-weight: 900; cursor: pointer; }
.mission-archive-row > button:hover { color: #09151b; background: #7ec0ee; }
.mission-archive-empty { padding: 26px; }
.log-row { display: grid; grid-template-columns: 125px 170px minmax(220px,1fr) 260px; gap: 16px; align-items: center; min-height: 68px; padding: 11px 18px; border-bottom: 1px solid #2b3033; }.log-row:last-child { border: 0; }.log-row time,.log-row > span:last-child { color: #7f898e; font-size: .55rem; }.log-action { color: #72aede; font-size: .55rem; font-weight: 900; letter-spacing: .06em; }.log-row div { display: grid; gap: 3px; }.log-row div b { font-size: .7rem; }.log-row div small { color: #879196; font-size: .55rem; }

.command-bar {
  position: relative; z-index: 20; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
  min-height: 72px; padding: 0 28px; border-top: 3px solid var(--forum-blue); border-bottom: 1px solid #353a3d;
  background: #202326; backdrop-filter: none;
}
.identity { display: flex; align-items: center; gap: 12px; }
.identity > div { display: grid; }
.identity b { font-size: .84rem; letter-spacing: .13em; }
.identity small, .world-title small { color: var(--muted); font-size: .62rem; letter-spacing: .12em; }
.crest { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid var(--line-bright); color: var(--cyan); font-weight: 900; letter-spacing: -.04em; clip-path: polygon(13% 0, 87% 0, 100% 20%, 100% 80%, 87% 100%, 13% 100%, 0 80%, 0 20%); background: rgba(95,220,255,.06); }
.world-title { display: grid; text-align: center; gap: 3px; }
.world-title select { min-width: 210px; border: 0; outline: none; color: var(--text); background: transparent; font-size: 1rem; font-weight: 900; letter-spacing: .16em; text-align: center; text-transform: uppercase; cursor: pointer; }
.mode-switch { justify-self: end; display: flex; padding: 3px; border: 1px solid var(--line); background: #040b0f; }
.mode-switch button { min-height: 32px; padding: 0 13px; border: 0; color: var(--muted); background: transparent; font-size: .66rem; font-weight: 900; letter-spacing: .1em; cursor: pointer; }
.mode-switch button.active { color: #031015; background: var(--text); }
.auth-status { justify-self: end; display: flex; align-items: center; gap: 12px; }
.auth-status span { display: grid; text-align: right; }.auth-status small { color: var(--forum-blue); font-size: .55rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }.auth-status b { max-width: 240px; overflow: hidden; font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }
.auth-status button { min-height: 32px; padding: 0 11px; border: 1px solid #596168; color: #eee; background: #30353a; font-size: .58rem; font-weight: 900; cursor: pointer; }

.war-room { position: relative; z-index: 2; display: grid; grid-template-columns: 270px minmax(440px, 1fr) 310px; gap: 18px; min-height: 760px; padding: 18px 22px 44px; background: radial-gradient(circle at 50% 45%,rgba(25,74,92,.18),transparent 34%),#080d10; }
.left-rail, .right-rail { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.hud-panel { position: relative; overflow: hidden; border: 1px solid var(--line); background: var(--panel); backdrop-filter: blur(12px); box-shadow: inset 0 0 32px rgba(91,178,210,.025); }
.hud-panel::before, .hud-panel::after { content: ""; position: absolute; width: 10px; height: 10px; pointer-events: none; }
.hud-panel::before { left: -1px; top: -1px; border-left: 2px solid var(--line-bright); border-top: 2px solid var(--line-bright); }
.hud-panel::after { right: -1px; bottom: -1px; border-right: 2px solid var(--line-bright); border-bottom: 2px solid var(--line-bright); }
.panel-label { display: flex; align-items: center; justify-content: space-between; min-height: 37px; padding: 0 14px; border-bottom: 1px solid var(--line); color: #b9c7cd; font-size: .64rem; font-weight: 900; letter-spacing: .13em; }
.panel-label span { color: var(--cyan); }
.panel-label span.critical { color: var(--red); }
.war-status { padding-bottom: 13px; }
.biome-chip { display: flex; align-items: center; gap: 8px; margin: 13px 14px 0; color: var(--muted); font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.biome-chip i { width: 14px; height: 14px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; }
.liberation { display: grid; padding: 18px 14px 12px; }
.liberation strong { font: 700 2.45rem/1 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: -.07em; }
.liberation small { margin-top: 6px; color: var(--muted); font-size: .57rem; letter-spacing: .1em; }
.force-row { display: flex; justify-content: space-between; padding: 7px 14px; color: var(--muted); font-size: .7rem; }
.force-row span { display: flex; align-items: center; gap: 8px; }
.force-row b { color: var(--text); font-family: ui-monospace, monospace; }
.dot { width: 7px; height: 7px; border-radius: 50%; }.dot.republic { background: var(--cyan); }.dot.enemy { background: var(--red); }
.legend { display: grid; padding-bottom: 10px; }
#frontLegend { display: grid; }
#frontLegend button { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: center; min-height: 48px; padding: 7px 14px; border: 0; border-bottom: 1px solid var(--line); color: var(--text); background: transparent; text-align: left; cursor: pointer; }
#frontLegend button:hover { background: rgba(95,220,255,.05); }
#frontLegend button > i { width: 22px; height: 3px; box-shadow: 0 0 8px currentColor; }
#frontLegend button span { display: grid; min-width: 0; }
#frontLegend button b { font-size: .67rem; }
#frontLegend button small { overflow: hidden; color: var(--muted); font-size: .5rem; text-overflow: ellipsis; white-space: nowrap; }
.line { width: 22px; height: 3px; }.line.republic { background: var(--cyan); }.line.enemy { background: var(--red); }
.marker { display: grid; width: 22px; height: 22px; place-items: center; font-style: normal; background: #142630; color: var(--cyan); }.marker.critical { color: var(--red); background: #2b1111; }
.transmission p { margin: 0; padding: 14px; color: var(--muted); font-size: .72rem; line-height: 1.55; }

.globe-stage { position: relative; display: grid; place-items: center; min-width: 0; min-height: 650px; overflow: hidden; border: 1px solid rgba(112,170,192,.1); background: radial-gradient(circle, rgba(50,116,139,.1), transparent 56%); cursor: grab; }
.globe-stage.dragging { cursor: grabbing; }
#globe { position: absolute; z-index: 2; left: 50%; top: 50%; border-radius: 50%; transform: translate(-50%,-50%); transform-origin: center; touch-action: none; filter: drop-shadow(0 34px 42px rgba(0,0,0,.72)) drop-shadow(0 0 14px rgba(var(--atmosphere-rgb,99,190,226),.2)); }
.sector-ring { position: absolute; z-index: 1; width: min(76%, 680px); aspect-ratio: 1; border: 1px solid rgba(113,191,220,.13); border-radius: 50%; pointer-events: none; }
.ring-one { transform: rotate(13deg) scaleY(.36); }
.ring-two { transform: rotate(-38deg) scaleY(.7); border-style: dashed; opacity: .65; }
.markers { position: absolute; z-index: 5; left: 50%; top: 50%; transform: translate(-50%,-50%); pointer-events: none; }
.operation-marker { position: absolute; display: flex; align-items: center; min-width: 34px; min-height: 34px; padding: 0; border: 0; background: transparent; transform: translate(-17px,-17px) scale(var(--depth)); transform-origin: 17px 17px; cursor: pointer; pointer-events: auto; }
.operation-marker i { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid currentColor; color: var(--cyan); background: rgba(3,13,18,.9); font-style: normal; font-weight: 900; box-shadow: 0 0 14px rgba(95,220,255,.25); }
.operation-marker.critical i { color: var(--red); box-shadow: 0 0 14px rgba(255,92,85,.3); }
.operation-marker.intel i { color: var(--amber); }
.operation-marker span { display: none; margin-left: 7px; padding: 6px 9px; color: var(--text); background: rgba(4,12,16,.92); border-left: 2px solid currentColor; font-size: .65rem; font-weight: 800; white-space: nowrap; text-align: left; }
.operation-marker span small { display: block; margin-top: 2px; color: var(--muted); font-size: .52rem; letter-spacing: .08em; }
.operation-marker:hover span, .operation-marker.selected span { display: block; }
.operation-marker.selected i { outline: 1px solid var(--text); outline-offset: 3px; }
.operation-marker { color: var(--cyan); transition: opacity .2s ease, filter .2s ease; }
.operation-marker.critical { color: var(--red); }.operation-marker.intel { color: var(--amber); }
.operation-marker.critical i,.operation-marker.intel i { color: inherit; }
.operation-focus .operation-marker:not(.selected),.operation-focus .front-label { opacity: .2; filter: saturate(.45); }
.operation-focus .operation-marker.selected { z-index: 4; color: #c8f4ff; }
.operation-focus .operation-marker.selected::before,.operation-focus .operation-marker.selected::after { content: ""; position: absolute; left: 17px; top: 17px; width: 48px; height: 48px; border: 1px solid currentColor; border-radius: 50%; transform: translate(-50%,-50%); pointer-events: none; animation: operation-pulse 1.8s ease-out infinite; }
.operation-focus .operation-marker.selected::after { width: 68px; height: 68px; border-style: dashed; animation-delay: .55s; }
@keyframes operation-pulse { 0% { opacity: .9; transform: translate(-50%,-50%) scale(.55); } 75%,100% { opacity: 0; transform: translate(-50%,-50%) scale(1.25); } }
.front-label { position: absolute; display: flex; align-items: center; gap: 6px; min-height: 24px; padding: 4px 7px; border: 1px solid color-mix(in srgb, var(--front), transparent 30%); color: var(--text); background: rgba(3,10,14,.82); transform: translate(-50%,-50%); cursor: pointer; pointer-events: auto; }
.front-label i { width: 14px; height: 3px; background: var(--front); box-shadow: 0 0 7px var(--front); }
.front-label span { font-size: .55rem; font-weight: 900; letter-spacing: .06em; white-space: nowrap; }
.front-label.selected { outline: 1px solid var(--text); outline-offset: 2px; }
.globe-label { position: absolute; z-index: 6; left: 18px; bottom: 58px; display: grid; gap: 2px; pointer-events: none; }
.globe-label span { font-size: 1.15rem; font-weight: 900; letter-spacing: .16em; }.globe-label small { color: var(--muted); font-size: .58rem; letter-spacing: .15em; }
.globe-tools { position: absolute; z-index: 8; right: 15px; bottom: 54px; display: flex; border: 1px solid var(--line); }
.globe-tools button { width: 37px; height: 34px; border: 0; border-right: 1px solid var(--line); background: rgba(4,12,17,.92); cursor: pointer; }.globe-tools button:last-child { border: 0; }
.drag-hint { position: absolute; z-index: 4; top: 16px; left: 50%; transform: translateX(-50%); color: rgba(165,190,201,.7); font-size: .55rem; letter-spacing: .14em; white-space: nowrap; }
.planets-page .globe-stage.operation-focus { background: radial-gradient(circle at 42% 47%,rgba(var(--atmosphere-rgb,95,220,255),.16),transparent 48%),linear-gradient(135deg,#111a1e,#070c0f); }
.planets-page .globe-stage.operation-focus::before { content: "TAKTISCHE NAHANSICHT // EINSATZSEKTOR"; color: rgba(150,225,245,.82); }
.globe-stage.operation-focus::after { opacity: .45; }
.globe-stage.operation-focus .drag-hint { display: none; }
.globe-stage.operation-focus #globe { filter: drop-shadow(0 38px 52px rgba(0,0,0,.78)) drop-shadow(0 0 18px rgba(var(--atmosphere-rgb,99,190,226),.34)); }
.globe-stage.operation-focus .globe-label { opacity: .34; }
.operation-focus-panel { --focus-color: var(--cyan); position: absolute; z-index: 10; right: 18px; top: 62px; width: min(285px,42%); padding: 0 15px 14px; overflow: hidden; border: 1px solid color-mix(in srgb,var(--focus-color),transparent 25%); border-top: 3px solid var(--focus-color); color: #e7edf0; background: linear-gradient(145deg,rgba(16,22,28,.97),rgba(5,10,14,.95)); box-shadow: 0 22px 42px rgba(0,0,0,.55),0 0 22px color-mix(in srgb,var(--focus-color),transparent 78%); backdrop-filter: blur(10px); cursor: default; pointer-events: auto; animation: focus-panel-in .32s ease-out both; }
.operation-focus-panel.critical { --focus-color: var(--red); }.operation-focus-panel.intel { --focus-color: var(--amber); }
.operation-focus-panel::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(0deg,transparent 0 5px,rgba(255,255,255,.016) 6px); }
.operation-focus-panel header { position: relative; display: flex; justify-content: space-between; gap: 10px; align-items: center; min-height: 38px; margin: 0 -15px 12px; padding: 0 13px; border-bottom: 1px solid rgba(255,255,255,.1); background: color-mix(in srgb,var(--focus-color),transparent 90%); }
.operation-focus-panel header span { display: flex; align-items: center; gap: 7px; color: var(--focus-color); font-size: .54rem; font-weight: 900; letter-spacing: .12em; }.operation-focus-panel header i { display: grid; width: 20px; height: 20px; place-items: center; border: 1px solid currentColor; font-style: normal; }
.operation-focus-panel header b { color: #d8e0e3; font: 700 .49rem ui-monospace,monospace; letter-spacing: .08em; }
.operation-focus-content > small { position: relative; display: block; color: var(--focus-color); font: 700 .49rem ui-monospace,monospace; letter-spacing: .08em; }
.operation-focus-panel h3 { position: relative; margin: 5px 0 7px; font-size: 1.05rem; line-height: 1.12; }.operation-focus-panel p { position: relative; margin: 0 0 12px; color: #aeb9be; font-size: .67rem; line-height: 1.48; }
.operation-focus-panel dl { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 0; background: rgba(255,255,255,.08); }.operation-focus-panel dl div { min-width: 0; padding: 8px; background: rgba(5,11,14,.96); }.operation-focus-panel dt { color: #75858d; font-size: .43rem; letter-spacing: .1em; }.operation-focus-panel dd { overflow: hidden; margin: 3px 0 0; color: #d7dfe2; font: 600 .52rem ui-monospace,monospace; text-overflow: ellipsis; white-space: nowrap; }
.focus-navigation { position: relative; display: grid; gap: 6px; margin-top: 11px; }.operation-focus-panel button { position: relative; width: 100%; min-height: 34px; border: 1px solid color-mix(in srgb,var(--focus-color),transparent 45%); color: var(--focus-color); background: color-mix(in srgb,var(--focus-color),transparent 91%); font-size: .52rem; font-weight: 900; letter-spacing: .1em; cursor: pointer; }.operation-focus-panel button:hover { color: #071014; background: var(--focus-color); }.operation-focus-panel .open-tactical-map { border-color: rgba(135,226,247,.5); color: #a7efff; background: rgba(63,178,204,.1); }
@keyframes focus-panel-in { from { opacity: 0; transform: translateX(15px); } to { opacity: 1; transform: none; } }
.tactical-map-view { position: absolute; z-index: 20; inset: 0; display: grid; grid-template-rows: auto minmax(0,1fr) auto; gap: 9px; padding: 12px; color: #d9e5e9; background: radial-gradient(circle at 50% 45%,rgba(44,74,83,.32),transparent 52%),rgba(5,10,13,.985); cursor: default; }
.tactical-map-view[hidden] { display: none; }.tactical-map-open .tactical-map-view { animation: tactical-map-enter .36s cubic-bezier(.2,.76,.24,1) both; }.tactical-map-view.closing { animation: tactical-map-exit .28s ease-in both; }
@keyframes tactical-map-enter { from { opacity: 0; transform: scale(.965) translateY(8px); filter: blur(3px); } to { opacity: 1; transform: none; filter: none; } }@keyframes tactical-map-exit { from { opacity: 1; transform: none; } to { opacity: 0; transform: scale(.98) translateY(5px); } }
.tactical-map-view > header { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 42px; padding: 0 12px; border: 1px solid #334149; border-left: 3px solid #68dff8; background: rgba(17,26,31,.96); }
.tactical-map-view > header > .tactical-map-heading { display: grid; gap: 2px; }.tactical-map-view > header small { color: #70828a; font-size: .43rem; font-weight: 900; letter-spacing: .13em; }.tactical-map-view > header strong { color: #bdefff; font-size: .68rem; letter-spacing: .1em; }.tactical-map-header-actions { display: flex; align-items: center; gap: 6px; }
.tactical-map-view > header button { min-height: 28px; padding: 0 10px; border: 1px solid rgba(104,223,248,.42); color: #9ee9fa; background: rgba(104,223,248,.07); font-size: .47rem; font-weight: 900; letter-spacing: .08em; cursor: pointer; }.tactical-map-view > header button:hover { color: #071014; background: #8be8fc; }
.tactical-view-switch { display:flex; padding:2px; border:1px solid #41494d; background:#171a1c; }.tactical-map-view > header .tactical-view-switch button { min-height:28px; border:0; color:#9aa3a7; background:transparent; }.tactical-map-view > header .tactical-view-switch button.active { color:#e5fbff; background:#286f98; box-shadow:inset 0 0 0 1px #61c9ec; }
#toggleTacticalMarkerPalette { display: none; border-color: rgba(241,211,91,.55); color: #f1d35b; background: rgba(241,211,91,.08); }.event-mode #toggleTacticalMarkerPalette { display: block; }.marker-palette-open #toggleTacticalMarkerPalette { color: #111512; background: #f1d35b; }
#leaveGuestAccess { display:none; }.guest-mode #leaveGuestAccess { display:block; border-color:#9d5353; color:#ffd0d0; background:#3b2424; }
.tactical-map-viewport { position: relative; min-height: 0; overflow: hidden; border: 1px solid #35434a; background: radial-gradient(circle,#202a2e,#0a0f12 72%); cursor: grab; touch-action: none; user-select: none; }.tactical-map-viewport.dragging { cursor: grabbing; }
.tactical-map-scene { position:absolute; z-index:2; inset:0; transform-origin:50% 62%; transform-style:preserve-3d; backface-visibility:hidden; transition:transform .42s cubic-bezier(.2,.75,.24,1),filter .3s ease; will-change:transform; }
.tactical-hologram-webgl { display:none; position:absolute; z-index:2; inset:0; width:100%; height:100%; pointer-events:none; filter:drop-shadow(0 0 9px rgba(77,216,255,.24)); }
.tactical-hologram-base,.tactical-hologram-scan,.tactical-hologram-relief,.tactical-hologram-elevations { display:none; pointer-events:none; }
.tactical-map-viewport.hologram-mode { perspective:900px; perspective-origin:50% 25%; background:radial-gradient(ellipse at 50% 76%,rgba(55,202,248,.25),transparent 48%),radial-gradient(ellipse at 50% 38%,rgba(28,108,139,.14),transparent 55%),linear-gradient(#070c0f,#020405); }
.hologram-mode .tactical-map-scene { transform:translateY(2%) rotateX(58deg) scale(.98); filter:drop-shadow(0 24px 15px rgba(0,0,0,.8)) drop-shadow(0 0 15px rgba(74,212,255,.52)); }
.hologram-mode .tactical-hologram-base { position:absolute; z-index:1; left:4%; right:4%; bottom:1%; display:block; height:40%; border:1px solid rgba(108,226,255,.36); border-radius:50%; background:radial-gradient(ellipse,rgba(63,205,250,.16),rgba(5,31,41,.36) 48%,transparent 73%); box-shadow:0 0 38px rgba(52,201,249,.16),inset 0 0 28px rgba(80,218,255,.14); transform:rotateX(65deg); }
.hologram-mode .tactical-hologram-base::before { content:""; position:absolute; left:12%; right:12%; bottom:42%; height:165%; opacity:.28; background:linear-gradient(90deg,transparent,rgba(88,218,255,.16) 18%,rgba(101,225,255,.32) 50%,rgba(88,218,255,.16) 82%,transparent); clip-path:polygon(20% 100%,80% 100%,100% 0,0 0); filter:blur(6px); }
.hologram-mode .tactical-hologram-scan { position:absolute; z-index:8; inset:0; display:block; opacity:.16; background:repeating-linear-gradient(0deg,rgba(159,239,255,.16) 0 1px,transparent 1px 6px),linear-gradient(90deg,transparent,rgba(130,229,255,.1),transparent); mix-blend-mode:screen; animation:tactical-hologram-scan 4.6s linear infinite; }
.hologram-mode #tacticalMapImage { position:relative; z-index:1; opacity:.6; filter:grayscale(.18) saturate(.55) sepia(.28) hue-rotate(145deg) brightness(.92) contrast(1.34); mix-blend-mode:screen; }
.hologram-mode .tactical-map-grid { z-index:2; opacity:.58; background-image:linear-gradient(rgba(98,220,252,.58) 1px,transparent 1px),linear-gradient(90deg,rgba(98,220,252,.58) 1px,transparent 1px),radial-gradient(circle at center,transparent 0 46%,rgba(143,235,255,.72) 46.2% 46.5%,transparent 46.7%); box-shadow:inset 0 0 65px rgba(38,191,239,.34),inset 0 0 0 2px rgba(131,233,255,.62),0 0 20px rgba(73,213,255,.38); }
.hologram-mode .tactical-hologram-relief { position:absolute; z-index:3; inset:0; display:block; width:100%; height:100%; opacity:.95; transform-origin:center; filter:drop-shadow(0 -2px 2px rgba(121,232,255,.82)) drop-shadow(0 -10px 6px rgba(57,202,248,.42)) drop-shadow(0 -20px 10px rgba(57,202,248,.2)); mix-blend-mode:screen; will-change:transform; }
.hologram-mode .tactical-hologram-elevations { position:absolute; z-index:4; inset:0; display:block; transform-origin:center; transform-style:preserve-3d; will-change:transform; }
.tactical-hologram-elevation { position:absolute; display:block; width:3px; height:var(--rise); background:linear-gradient(to top,rgba(103,228,255,.98),rgba(139,239,255,.52) 68%,transparent); box-shadow:0 0 6px #67e4ff,0 0 16px rgba(75,213,255,.68); transform:translate(-50%,-100%) rotateX(-58deg); transform-origin:50% 100%; animation:tactical-hologram-column 2.8s ease-in-out var(--pulse-delay) infinite; }
.tactical-hologram-elevation b { position:absolute; left:50%; top:0; width:5px; height:5px; border:1px solid rgba(166,244,255,.9); border-radius:50%; background:#78e5ff; box-shadow:0 0 8px #79e8ff; transform:translate(-50%,-50%); }
.hologram-mode .tactical-drawing-layer { z-index:5; filter:drop-shadow(0 0 6px rgba(91,219,255,.9)); }
.hologram-mode .tactical-map-marker-layer { z-index:6; }
.hologram-mode .tactical-map-marker { filter:drop-shadow(0 0 10px var(--marker-color)) drop-shadow(0 9px 5px rgba(0,0,0,.72)); }
.hologram-mode .tactical-map-marker i { box-shadow:0 0 17px color-mix(in srgb,var(--marker-color),transparent 24%); }
.hologram-mode .map-coordinate { border-color:rgba(98,218,250,.38); color:#a9efff; background:rgba(5,20,26,.82); }
.hologram-mode.webgl-hologram-ready .tactical-hologram-webgl { display:block; }
.hologram-mode.webgl-hologram-ready .tactical-map-scene { z-index:3; transform:none; filter:none; }
.hologram-mode.webgl-hologram-ready #tacticalMapImage,.hologram-mode.webgl-hologram-ready .tactical-map-grid,.hologram-mode.webgl-hologram-ready .tactical-hologram-relief,.hologram-mode.webgl-hologram-ready .tactical-hologram-elevations { display:none; }
.hologram-mode.webgl-hologram-ready .tactical-drawing-layer { z-index:5; }
.hologram-mode.webgl-hologram-ready .tactical-map-marker-layer { z-index:6; }
.tactical-map-marker.hologram-hidden { opacity:0; pointer-events:none; }
@keyframes tactical-hologram-scan { from { background-position:0 0,0 0; } to { background-position:0 30px,180px 0; } }
@keyframes tactical-hologram-column { 0%,100% { opacity:.48; filter:brightness(.82); } 50% { opacity:.92; filter:brightness(1.25); } }
.tactical-map-viewport img { display: block; width: 100%; height: 100%; object-fit: contain; transform-origin: center; transition: transform .16s ease-out; will-change: transform; pointer-events: none; }.tactical-map-viewport.dragging img { transition: none; }
.tactical-marker-palette { position: absolute; z-index: 32; left: 24px; top: 65px; width: 230px; overflow: hidden; border: 1px solid #52636b; border-top: 3px solid #f1d35b; color: #dbe4e7; background: linear-gradient(150deg,rgba(19,28,33,.985),rgba(5,10,13,.98)); box-shadow: 0 20px 45px rgba(0,0,0,.65); opacity: 0; transform: translateY(-8px) scale(.98); pointer-events: none; transition: opacity .18s ease,transform .18s ease; }.marker-palette-open .tactical-marker-palette { opacity: 1; transform: none; pointer-events: auto; }
.tactical-marker-palette > header { display: flex; align-items: center; justify-content: space-between; min-height: 40px; padding: 0 10px 0 12px; border-bottom: 1px solid rgba(255,255,255,.1); background: rgba(241,211,91,.06); }.tactical-marker-palette > header div { display: grid; gap: 2px; }.tactical-marker-palette > header small { color: #91885d; font-size: .38rem; font-weight: 900; letter-spacing: .13em; }.tactical-marker-palette > header strong { color: #f1d35b; font-size: .57rem; letter-spacing: .1em; }.tactical-marker-palette > header button { width: 26px; height: 26px; border: 0; color: #9eaaae; background: transparent; font-size: 1rem; cursor: pointer; }
.tactical-marker-tools { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; padding: 9px; }.tactical-marker-tools button { display: grid; grid-template-columns: 27px 1fr; align-items: center; gap: 6px; min-height: 34px; padding: 3px 6px; border: 1px solid rgba(255,255,255,.1); color: #b9c5c9; background: rgba(255,255,255,.025); text-align: left; cursor: pointer; }.tactical-marker-tools button:hover,.tactical-marker-tools button.active { border-color: var(--marker-color); color: #f1f5f6; background: color-mix(in srgb,var(--marker-color),transparent 88%); }.tactical-marker-tools i { display: grid; width: 25px; height: 25px; place-items: center; border: 1px solid var(--marker-color); color: var(--marker-color); background: color-mix(in srgb,var(--marker-color),transparent 90%); font: 900 .82rem ui-monospace,monospace; font-style: normal; }.tactical-marker-tools span { font-size: .43rem; font-weight: 900; line-height: 1.15; letter-spacing: .03em; }
.tactical-marker-palette > p { margin: 0; padding: 0 10px 10px; color: #75858b; font-size: .43rem; line-height: 1.45; }
.tactical-map-viewport.placing-marker { cursor: crosshair; }.tactical-map-viewport.placing-marker::after { content: "POSITION WÄHLEN"; position: absolute; z-index: 5; left: 50%; top: 10px; padding: 5px 8px; border: 1px solid rgba(241,211,91,.5); color: #f1d35b; background: rgba(5,10,13,.9); font: 800 .42rem ui-monospace,monospace; letter-spacing: .1em; transform: translateX(-50%); pointer-events: none; }
.tactical-map-marker-layer { position: absolute; z-index: 3; inset: 0; transform-origin: center; transition: transform .16s ease-out; will-change: transform; pointer-events: none; }.tactical-map-viewport.dragging .tactical-map-marker-layer { transition: none; }
.tactical-map-marker { position: absolute; width: 36px; height: 36px; padding: 0; border: 0; color: var(--marker-color); background: transparent; transform: translate(-50%,-50%) scale(var(--marker-inverse-scale,1)); transform-origin: center; pointer-events: auto; cursor: pointer; filter: drop-shadow(0 4px 5px rgba(0,0,0,.75)); }.tactical-map-marker i { position: relative; z-index: 2; display: grid; width: 34px; height: 34px; margin: 1px; place-items: center; border: 0; color: currentColor; background: var(--marker-color); box-shadow: 0 0 13px color-mix(in srgb,var(--marker-color),transparent 44%); font: 900 .9rem ui-monospace,monospace; font-style: normal; clip-path: polygon(50% 0,92% 24%,92% 76%,50% 100%,8% 76%,8% 24%); }.tactical-map-marker i b { display:grid; width:27px; height:27px; place-items:center; color:var(--marker-color); background:#071014; font:inherit; clip-path:inherit; }.tactical-map-marker::after { content: ""; position: absolute; inset: -3px; border: 1px solid var(--marker-color); border-radius: 50%; opacity: 0; }.tactical-map-marker.danger::after,.tactical-map-marker.enemy::after,.tactical-map-marker.objective::after { animation: tactical-marker-pulse 1.8s ease-out infinite; }.tactical-map-marker.selected i,.tactical-map-marker:hover i { transform: scale(1.08); }.tactical-map-marker.selected i b,.tactical-map-marker:hover i b { color:#071014; background:var(--marker-color); }
.tactical-map-marker span { position: absolute; z-index: 3; left: 38px; top: 50%; max-width: 170px; padding: 5px 7px; overflow: hidden; border-left: 2px solid var(--marker-color); color: #eef3f4; background: rgba(5,10,13,.94); box-shadow: 0 5px 12px rgba(0,0,0,.45); font: 800 .43rem ui-monospace,monospace; letter-spacing: .04em; text-overflow: ellipsis; white-space: nowrap; opacity: 0; transform: translate(-3px,-50%); pointer-events: none; transition: opacity .14s ease,transform .14s ease; }.tactical-map-marker:hover span,.tactical-map-marker.selected span { opacity: 1; transform: translate(0,-50%); }
.tactical-map-marker.label-left span { left: auto; right: 38px; border-right: 2px solid var(--marker-color); border-left-width: 0; transform: translate(3px,-50%); }
.tactical-map-marker.label-left:hover span,.tactical-map-marker.label-left.selected span { transform: translate(0,-50%); }
@keyframes tactical-marker-pulse { 0% { opacity: .8; transform: scale(.7); } 75%,100% { opacity: 0; transform: scale(1.35); } }
.tactical-map-grid { position: absolute; inset: 0; pointer-events: none; opacity: .2; background-image: linear-gradient(rgba(116,212,234,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(116,212,234,.35) 1px,transparent 1px),radial-gradient(circle at center,transparent 0 46%,rgba(116,212,234,.35) 46.2% 46.5%,transparent 46.7%); background-size: 8.333% 8.333%,8.333% 8.333%,100% 100%; box-shadow: inset 0 0 45px rgba(0,0,0,.76); }
.map-coordinate { position: absolute; z-index: 2; padding: 4px 6px; color: rgba(164,225,238,.72); background: rgba(4,10,13,.72); font: 700 .44rem ui-monospace,monospace; letter-spacing: .1em; pointer-events: none; }.map-coordinate.top-left { left: 8px; top: 8px; }.map-coordinate.bottom-right { right: 8px; bottom: 8px; }
.tactical-marker-info { position: absolute; z-index: 8; right: 12px; bottom: 12px; width: min(275px,calc(100% - 24px)); padding: 0 12px 12px; border: 1px solid color-mix(in srgb,var(--marker-color),transparent 34%); border-top: 3px solid var(--marker-color); color: #e6edef; background: rgba(7,13,16,.96); box-shadow: 0 18px 35px rgba(0,0,0,.62); cursor: default; }.tactical-marker-info[hidden] { display: none; }.tactical-marker-info header { display: flex; align-items: center; justify-content: space-between; min-height: 34px; margin: 0 -12px 9px; padding: 0 8px 0 11px; border-bottom: 1px solid rgba(255,255,255,.09); background: color-mix(in srgb,var(--marker-color),transparent 92%); }.tactical-marker-info header span { display: flex; align-items: center; gap: 6px; color: var(--marker-color); font-size: .46rem; font-weight: 900; letter-spacing: .08em; }.tactical-marker-info header i { display: grid; width: 20px; height: 20px; place-items: center; border: 1px solid currentColor; font-style: normal; }.tactical-marker-info header button { width: 24px; height: 24px; border: 0; color: #93a0a5; background: transparent; font-size: .95rem; cursor: pointer; }.tactical-marker-info > strong { display: block; font-size: .78rem; }.tactical-marker-info > p { margin: 6px 0; color: #a9b7bc; font-size: .58rem; line-height: 1.42; }.tactical-marker-info > small { display: block; margin-top: 7px; color: #687980; font: 600 .39rem ui-monospace,monospace; }.tactical-marker-info > div { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin-top: 10px; }.tactical-marker-info > div button { min-height: 29px; border: 1px solid #40515a; color: #b9d7df; background: #101b20; font-size: .43rem; font-weight: 900; cursor: pointer; }.tactical-marker-info > div button.danger { border-color: rgba(255,91,87,.5); color: #ff7a76; }
.tactical-map-tools { display: flex; justify-content: space-between; align-items: center; min-height: 35px; color: #71838a; font-size: .45rem; font-weight: 800; letter-spacing: .12em; }.tactical-map-tools > div { display: flex; border: 1px solid #39474e; }.tactical-map-tools button { width: 36px; height: 31px; border: 0; border-right: 1px solid #39474e; color: #b8cbd2; background: #151e22; cursor: pointer; }.tactical-map-tools button:last-child { border: 0; }.tactical-map-tools button:hover { color: #8ce9fc; background: #1c2b31; }
.event-actions { display: none; position: absolute; z-index: 8; right: 15px; top: 15px; gap: 5px; }
.event-mode .event-actions { display: flex; }
.event-actions .senior-action { display: none; }
.senior-mode .event-actions .senior-action { display: block; }
.event-actions button { min-height: 34px; padding: 0 9px; border: 1px solid var(--line-bright); color: #b9d3dd; background: rgba(4,12,17,.92); font-size: .54rem; font-weight: 900; letter-spacing: .07em; cursor: pointer; }
.event-actions button:last-child { border-color: var(--amber); color: var(--amber); }
.planet-admin-row { display: flex; justify-content: flex-end; width: min(1170px,calc(100% - 36px)); margin: 20px auto -12px; }
.planet-admin-row .event-actions { position: static; gap: 7px; }
.planet-admin-row .event-actions button { min-height: 38px; padding: 0 12px; border: 1px solid #41494d; color: #d3dade; background: #22272a; font-size: .56rem; letter-spacing: .02em; }
.planet-admin-row .event-actions button:last-child { border-color: var(--forum-blue); color: #fff; background: var(--forum-blue); }
.draw-toolbar { display: none; position: absolute; z-index: 12; left: 50%; bottom: 15px; align-items: center; gap: 7px; padding: 6px; border: 1px solid var(--amber); color: var(--amber); background: rgba(6,12,13,.96); transform: translateX(-50%); }
.drawing-front .draw-toolbar { display: flex; }
.draw-toolbar span { padding: 0 8px; font-size: .56rem; letter-spacing: .08em; white-space: nowrap; }
.draw-toolbar button { min-height: 30px; padding: 0 9px; border: 1px solid var(--line); color: var(--text); background: #081116; font-size: .52rem; font-weight: 900; cursor: pointer; }
.draw-toolbar button:last-child { color: #061014; border-color: var(--amber); background: var(--amber); }
.picking-position .globe-stage { cursor: crosshair; }.picking-position .drag-hint { color: var(--amber); }.picking-position .drag-hint::after { content: " · POSITION WÄHLEN"; }
.drawing-front .globe-stage, .picking-operation .globe-stage { cursor: crosshair; }
.drawing-front .drag-hint, .picking-operation .drag-hint { color: var(--amber); }

.selected-detail { padding-bottom: 17px; }
.detail-icon { display: grid; width: 42px; height: 42px; margin: 17px 16px 11px; place-items: center; border: 1px solid currentColor; color: var(--cyan); font-size: 1.1rem; font-weight: 900; }.detail-icon.critical { color: var(--red); }.detail-icon.intel { color: var(--amber); }
.selected-detail h2 { margin: 0 16px; font-size: 1.18rem; letter-spacing: .02em; }
.selected-detail .sector { margin: 4px 16px 13px; color: var(--muted); font-size: .7rem; }
.selected-detail dl { display: grid; grid-template-columns: 1fr 1fr; margin: 0 16px; border-top: 1px solid var(--line); }
.selected-detail dl div { min-width: 0; padding: 11px 8px 10px 0; border-bottom: 1px solid var(--line); }
.selected-detail dl .wide { grid-column: 1/-1; }
.selected-detail dt { color: var(--muted); font-size: .52rem; letter-spacing: .1em; }.selected-detail dd { margin: 4px 0 0; font-size: .68rem; line-height: 1.4; }
.selected-focus-actions { display: grid; gap: 6px; margin: 14px 16px 0; }.tactical-focus-toggle,.tactical-map-toggle { width: 100%; min-height: 37px; border: 1px solid rgba(95,220,255,.42); color: #8fe9ff; background: linear-gradient(90deg,rgba(95,220,255,.1),rgba(95,220,255,.03)); font-size: .54rem; font-weight: 900; letter-spacing: .09em; cursor: pointer; }.tactical-focus-toggle:hover,.tactical-map-toggle:hover { border-color: #8fe9ff; background: rgba(95,220,255,.15); }.tactical-map-toggle { border-color: rgba(226,190,89,.4); color: #e5c96e; background: linear-gradient(90deg,rgba(226,190,89,.09),rgba(226,190,89,.02)); }
.mono { font-family: ui-monospace, monospace; color: var(--amber); }
.strength-bar { height: 4px; margin: 14px 16px 0; background: rgba(255,255,255,.06); }.strength-bar i { display: block; height: 100%; background: var(--cyan); }
.delete-operation { width: calc(100% - 32px); min-height: 33px; margin: 14px 16px 0; border: 1px solid rgba(255,92,85,.4); color: var(--red); background: rgba(255,92,85,.06); font-size: .58rem; font-weight: 900; letter-spacing: .1em; cursor: pointer; }
.entry-buttons { display: flex; gap: 7px; margin: 14px 16px 0; }.entry-buttons button { flex: 1; min-height: 35px; border: 1px solid #465055; color: #d4dade; background: #22272a; font-size: .55rem; font-weight: 900; cursor: pointer; }.entry-buttons .delete-operation { width: auto; margin: 0; color: var(--red); border-color: rgba(255,92,85,.4); background: rgba(255,92,85,.05); letter-spacing: 0; }
.operation-result { margin: 16px; padding-top: 13px; border-top: 1px solid #343a3d; }.operation-result > small { display: block; margin-bottom: 8px; color: #929ca1; font-size: .5rem; font-weight: 900; letter-spacing: .08em; }.operation-result > div { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }.operation-result button { min-height: 34px; padding: 4px 6px; border: 1px solid #41494d; color: #cbd2d5; background: #22272a; font-size: .48rem; font-weight: 800; cursor: pointer; }.operation-result button b { display: block; margin-top: 2px; color: #73bce8; }.operation-result button:first-child b { color: #ef6660; }
.activity-list { flex: 1; min-height: 0; }
#operationList { max-height: 330px; overflow: auto; }
.list-divider { min-height: 25px; padding: 8px 12px 0; color: var(--muted); background: rgba(255,255,255,.018); font-size: .5rem; font-weight: 900; letter-spacing: .14em; }
.strategic-row { display: grid; grid-template-columns: 28px 1fr auto; gap: 9px; align-items: center; width: 100%; min-height: 59px; padding: 0 12px; border: 0; border-bottom: 1px solid var(--line); color: var(--text); background: transparent; text-align: left; cursor: pointer; }
.strategic-row:hover, .strategic-row.active { background: rgba(95,220,255,.06); }
.strategic-row > i { display: grid; width: 26px; height: 26px; place-items: center; color: var(--cyan); border: 1px solid currentColor; font-style: normal; }.strategic-row > i.critical { color: var(--red); }.strategic-row > i.intel { color: var(--amber); }
.strategic-row span { display: grid; min-width: 0; }.strategic-row b { overflow: hidden; font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }.strategic-row small { overflow: hidden; color: var(--muted); font-size: .48rem; text-overflow: ellipsis; white-space: nowrap; }.strategic-row em { color: var(--muted); font: normal .6rem ui-monospace, monospace; }
.empty-state { margin: 0; color: var(--muted); font-size: .65rem; line-height: 1.5; }.empty-state.padded { padding: 16px; }

.editor-backdrop { position: fixed; z-index: 29; inset: 0; visibility: hidden; pointer-events: none; background: rgba(0,0,0,.6); opacity: 0; transition: 180ms ease; }.editor-backdrop.open { visibility: visible; pointer-events: auto; opacity: 1; }
.editor { position: fixed; z-index: 30; top: 0; right: 0; width: min(480px, 100%); height: 100vh; overflow: auto; padding: 28px; border-left: 1px solid #363b3e; background: #1b1d1f; box-shadow: -24px 0 70px rgba(0,0,0,.35); transform: translateX(100%); transition: 220ms ease; }
.editor.open { transform: none; }
.editor header { display: flex; justify-content: space-between; align-items: center; padding-bottom: 20px; border-bottom: 1px solid #373c3f; }.editor h2 { margin: 0; font-size: 1.35rem; }.editor header button { width: 36px; height: 36px; border: 1px solid #474d50; color: #b5bdc1; background: #24272a; font-size: 1.15rem; cursor: pointer; }
.editor form,#editorBody > form { display: grid; gap: 17px; padding-top: 22px; }.editor label { display: grid; gap: 7px; color: #b4bbbf; font-size: .7rem; font-weight: 700; letter-spacing: 0; text-transform: none; }
.editor input, .editor select, .editor textarea { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #43494c; border-radius: 2px; outline: none; color: #f0f2f3; background: #24272a; resize: vertical; }.editor textarea { min-height: 90px; }.editor input:focus, .editor select:focus, .editor textarea:focus { border-color: #3984c4; }
.editor input[type="color"] { padding: 5px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.coordinates { display: flex; justify-content: space-between; padding: 12px; border: 1px solid var(--line); background: #050c10; }.coordinates span { color: var(--muted); font-size: .55rem; letter-spacing: .08em; }.coordinates b { color: var(--cyan); font: .65rem ui-monospace, monospace; }
.editor-help { margin: -6px 0 0; color: var(--muted); font-size: .65rem; line-height: 1.5; }
.operation-map-field { display: grid; gap: 8px; }.operation-map-field > div:first-child { display: flex; justify-content: space-between; align-items: center; }.operation-map-field > div:first-child > span { color: #b4bbbf; font-size: .7rem; font-weight: 700; }.operation-map-field > div:first-child > small { padding: 3px 6px; border: 1px solid #4b5459; color: #8f9ca2; font-size: .45rem; font-weight: 900; letter-spacing: .08em; }
.operation-map-empty { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 10px; min-height: 64px; padding: 9px 11px; border: 1px dashed #4c5c63; color: #bdd1d8; background: linear-gradient(110deg,#172126,#10171a); text-align: left; cursor: pointer; }.operation-map-empty:hover { border-color: #65ddff; background: #17272d; }.operation-map-empty i { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid #4f8290; color: #73daf3; background: rgba(101,221,255,.06); font: 900 1rem ui-monospace,monospace; font-style: normal; }.operation-map-empty span { display: grid; gap: 3px; }.operation-map-empty b { font-size: .68rem; }.operation-map-empty small { color: #7c8b91; font-size: .52rem; }.operation-map-empty em { color: #65ddff; font-size: .48rem; font-weight: 900; font-style: normal; letter-spacing: .08em; }
.operation-map-selection { display: grid !important; grid-template-columns: 112px 1fr; gap: 12px; min-height: 88px; padding: 7px; border: 1px solid #49616a; background: #10191d; }.operation-map-selection img { width: 112px; height: 80px; object-fit: cover; border: 1px solid #344850; }.operation-map-selection span { display: grid; align-content: center; gap: 4px; }.operation-map-selection small { color: #6f8992; font-size: .43rem; font-weight: 900; letter-spacing: .1em; }.operation-map-selection b { color: #bdefff; font-size: .82rem; }.operation-map-selection em { color: #8d9ba0; font-size: .55rem; line-height: 1.35; font-style: normal; }.operation-map-buttons { display: grid !important; grid-template-columns: 1fr auto; gap: 7px; }.operation-map-buttons button { min-height: 35px; padding: 0 10px; border: 1px solid #49545a; color: #aebcc1; background: #22282b; font-size: .52rem; font-weight: 900; cursor: pointer; }.operation-map-buttons button:last-child { border-color: rgba(255,92,85,.4); color: #ff7872; background: rgba(255,92,85,.05); }
.tactical-map-library { display: grid; gap: 13px; padding-top: 22px; }.tactical-library-heading { display: grid; gap: 6px; padding: 13px; border-left: 3px solid #65ddff; background: #11191d; }.tactical-library-heading small { color: #66808a; font-size: .47rem; font-weight: 900; letter-spacing: .12em; }.tactical-library-heading strong { color: #bdefff; font-size: .75rem; letter-spacing: .06em; }.tactical-library-heading p { margin: 2px 0 0; color: #87969c; font-size: .62rem; line-height: 1.5; }.tactical-library-grid { display: grid; gap: 9px; }
.tactical-library-card { position: relative; display: grid; grid-template-columns: 142px 1fr 24px; align-items: center; gap: 12px; min-height: 112px; padding: 7px 10px 7px 7px; overflow: hidden; border: 1px solid #465258; color: #d9e5e9; background: linear-gradient(110deg,#182226,#101517); text-align: left; cursor: pointer; }.tactical-library-card:hover,.tactical-library-card.selected { border-color: #65ddff; box-shadow: inset 3px 0 #65ddff,0 8px 22px rgba(0,0,0,.24); }.tactical-library-card img { width: 142px; height: 100px; object-fit: cover; filter: saturate(.86) contrast(1.05); }.tactical-library-card span { display: grid; gap: 5px; min-width: 0; }.tactical-library-card small { color: #6d8992; font-size: .43rem; font-weight: 900; letter-spacing: .11em; }.tactical-library-card.selected small { color: #65ddff; }.tactical-library-card b { color: #eef5f7; font-size: .92rem; }.tactical-library-card em { color: #87969b; font-size: .55rem; line-height: 1.35; font-style: normal; }.tactical-library-card > i { color: #65ddff; font-size: 1rem; font-style: normal; }
.tactical-library-none { display: grid; grid-template-columns: 32px 1fr; align-items: center; gap: 10px; min-height: 54px; padding: 8px 10px; border: 1px solid #41494d; color: #b1bdc1; background: #202427; text-align: left; cursor: pointer; }.tactical-library-none.selected { border-color: #7a898f; box-shadow: inset 3px 0 #87979d; }.tactical-library-none i { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid #59646a; color: #aab5b9; font-style: normal; }.tactical-library-none span { display: grid; gap: 2px; }.tactical-library-none b { font-size: .65rem; }.tactical-library-none small { color: #7e8a8f; font-size: .5rem; }
.eventmap-library-item { display:grid; gap:4px; }.eventmap-library-item .tactical-library-card { width:100%; }.eventmap-admin-actions { display:grid; grid-template-columns:1fr 1fr; gap:4px; }.eventmap-admin-actions button { min-height:30px; border:1px solid #45545a; color:#a8c5ce; background:#111b1f; font-size:.45rem; font-weight:900; cursor:pointer; }.eventmap-admin-actions button:last-child { border-color:rgba(255,91,87,.38); color:#ff7b76; background:rgba(255,91,87,.05); }.eventmap-search { display:grid; grid-template-columns:34px minmax(0,1fr) 35px; align-items:center; min-height:42px; border:1px solid #405159; background:#0d1519; }.eventmap-search > span { color:#65ddff; text-align:center; }.eventmap-search input { min-width:0; height:40px; padding:0 7px; border:0; outline:0; color:#eaf3f5; background:transparent; }.eventmap-search kbd { display:grid; height:23px; margin-right:6px; place-items:center; border:1px solid #3c4b51; color:#83a4ae; background:#071014; font:.48rem ui-monospace,monospace; }.eventmap-editor-preview { position:relative; overflow:hidden; min-height:150px; border:1px solid #40545c; background:#071014; }.eventmap-editor-preview img { display:block; width:100%; max-height:260px; object-fit:contain; }.eventmap-editor-preview span { position:absolute; left:8px; bottom:8px; padding:4px 6px; color:#bdefff; background:rgba(4,12,16,.88); font:.43rem ui-monospace,monospace; letter-spacing:.1em; }
.identity-preview { display: grid; gap: 5px; padding: 12px; border: 1px solid var(--line); background: #050c10; }.identity-preview small { color: var(--muted); font-size: .52rem; letter-spacing: .1em; }.identity-preview b { color: var(--cyan); font-size: .7rem; }
.upload-field > span { color: var(--muted); font-size: .56rem; font-weight: 400; line-height: 1.45; letter-spacing: 0; text-transform: none; }
.upload-field input[type="file"] { padding: 7px; color: var(--muted); font-size: .64rem; }
.upload-field input[type="file"]::file-selector-button { min-height: 30px; margin-right: 10px; border: 1px solid #4b5256; color: #eee; background: #303438; font-size: .6rem; font-weight: 700; cursor: pointer; }
.upload-preview { display: flex; align-items: center; gap: 10px; min-height: 50px; padding: 9px; border: 1px dashed #464d50; color: #90999d; background: #202326; font-size: .6rem; letter-spacing: 0; }
.upload-preview img { width: 74px; height: 42px; object-fit: cover; border: 1px solid var(--line); }
.remove-image { display: flex !important; grid-template-columns: none; align-items: center; gap: 9px !important; padding: 10px; border: 1px solid var(--line); color: var(--muted); background: #050c10; font-size: .58rem !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; }
.remove-image input { width: 16px; min-height: 16px; margin: 0; accent-color: var(--red); }
.preset-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }.preset-grid > div { display: flex; align-items: center; gap: 8px; padding: 8px; border: 1px solid var(--line); color: var(--muted); font-size: .6rem; }.preset-grid i { width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg,var(--sea) 0 48%,var(--land) 52%); }
.primary-action, .secondary-action { min-height: 44px; border: 1px solid #495054; font-size: .7rem; font-weight: 800; letter-spacing: 0; cursor: pointer; }.primary-action { color: #fff; border-color: var(--forum-blue); background: var(--forum-blue); }.secondary-action { color: var(--text); background: #262a2d; }
.danger-action { min-height: 42px; border: 1px solid rgba(255,92,85,.55); color: var(--red); background: rgba(255,92,85,.05); font-size: .62rem; font-weight: 900; letter-spacing: .1em; cursor: pointer; }
.toast { position: fixed; z-index: 40; left: 50%; bottom: 20px; padding: 11px 16px; border: 1px solid #484f52; color: var(--text); background: #222629; font-size: .67rem; letter-spacing: 0; opacity: 0; transform: translate(-50%,10px); pointer-events: none; transition: 160ms ease; }.toast.show { opacity: 1; transform: translate(-50%,0); }

.login-backdrop { position: fixed; z-index: 49; inset: 0; visibility: hidden; pointer-events: none; background: rgba(0,0,0,.72); opacity: 0; transition: 160ms ease; }.login-backdrop.open { visibility: visible; pointer-events: auto; opacity: 1; }
.login-modal { position: fixed; z-index: 50; left: 50%; top: 50%; width: min(390px,calc(100% - 28px)); border-top: 4px solid var(--forum-blue); color: var(--text); background: #202326; box-shadow: 0 25px 80px rgba(0,0,0,.55); opacity: 0; transform: translate(-50%,-47%) scale(.98); pointer-events: none; transition: 160ms ease; }.login-modal.open { opacity: 1; transform: translate(-50%,-50%) scale(1); pointer-events: auto; }
.login-modal header { display: flex; justify-content: space-between; align-items: start; padding: 18px 20px; border-bottom: 1px solid #3b4044; }.login-modal header small { color: #70aee4; font-size: .55rem; font-weight: 900; letter-spacing: .12em; }.login-modal h2 { margin: 4px 0 0; font-size: 1.25rem; }.login-modal header button { width: 32px; height: 32px; border: 1px solid #50555a; color: #ddd; background: #2b2e31; cursor: pointer; }
.login-modal form { display: grid; gap: 15px; padding: 20px; }.login-modal label { display: grid; gap: 6px; color: #aaa; font-size: .65rem; font-weight: 700; }.login-modal input { width: 100%; min-height: 44px; padding: 0 11px; border: 1px solid #4b5155; outline: none; color: #fff; background: #151719; }.login-modal input:focus { border-color: #438ed0; }
.login-submit { min-height: 44px; border: 0; color: #fff; background: var(--forum-blue); font-size: .68rem; font-weight: 900; cursor: pointer; }.login-submit:disabled { opacity: .55; cursor: wait; }.login-error { min-height: 17px; margin: -4px 0; color: #ff7770; font-size: .65rem; }
.discord-login { min-height: 44px; display:grid; place-items:center; border:1px solid #6975b9; color:#fff; background:#5865f2; font-size:.68rem; font-weight:900; text-decoration:none; }.discord-login:hover { background:#6672f4; }.login-divider { color:#848b90; font-size:.54rem; font-weight:800; text-align:center; letter-spacing:.08em; }
.login-method-tabs { display:grid; grid-template-columns:1fr 1fr; gap:5px; padding:4px; border:1px solid #40464a; background:#17191b; }
.login-method-tabs button { min-height:38px; border:1px solid transparent; color:#8f979c; background:transparent; font-size:.61rem; font-weight:900; letter-spacing:.05em; cursor:pointer; }
.login-method-tabs button[aria-selected="true"] { border-color:#438ed0; color:#fff; background:#17344c; box-shadow:inset 0 -2px #4da7ef; }
.login-method-tabs button:focus-visible { outline:2px solid #79bdf4; outline-offset:2px; }
.login-method-panel { display:grid; gap:13px; }
.login-method-panel[hidden] { display:none; }
.guest-access-backdrop { position:fixed; z-index:59; inset:0; visibility:hidden; pointer-events:none; background:rgba(0,0,0,.76); opacity:0; transition:160ms ease; }
.guest-access-backdrop.open { visibility:visible; pointer-events:auto; opacity:1; }
.guest-access-modal { position:fixed; z-index:60; left:50%; top:50%; width:min(430px,calc(100% - 28px)); border:1px solid #434a4f; border-top:4px solid var(--forum-blue); color:var(--text); background:#202326; box-shadow:0 25px 80px rgba(0,0,0,.62); opacity:0; transform:translate(-50%,-47%) scale(.98); pointer-events:none; transition:160ms ease; }
.guest-access-modal.open { opacity:1; transform:translate(-50%,-50%) scale(1); pointer-events:auto; }
.guest-access-modal header { padding:18px 20px; border-bottom:1px solid #3b4044; }
.guest-access-modal header small { color:#70aee4; font-size:.55rem; font-weight:900; letter-spacing:.12em; }
.guest-access-modal h2 { margin:4px 0 0; font-size:1.25rem; }
.guest-access-modal form { display:grid; gap:15px; padding:20px; }
.guest-access-modal form>p:first-child { margin:0; color:#aab1b5; font-size:.72rem; line-height:1.55; }
.guest-access-modal label { display:grid; gap:7px; color:#c1c6c9; font-size:.65rem; font-weight:800; }
.guest-access-modal input { width:100%; min-height:46px; padding:0 12px; border:1px solid #4b5155; outline:none; color:#fff; background:#151719; font-size:16px; }
.guest-access-modal input:focus { border-color:#438ed0; box-shadow:0 0 0 2px rgba(67,142,208,.18); }
.guest-access-error { min-height:18px; margin:0; color:#ff7770; font-size:.65rem; }
.guest-access-actions { display:grid; grid-template-columns:minmax(110px,.7fr) 1.3fr; gap:9px; }
.guest-access-actions button:disabled { opacity:.55; cursor:wait; }
[data-theme="helldivers"] .guest-access-modal { border-color:#544c28; border-top-color:#e0bd35; background:#191b1c; }
[data-theme="whitemode"] .guest-access-modal { border-color:#afbdc5; border-top-color:#287cae; color:#17242c; background:#f7fafb; }
[data-theme="whitemode"] .guest-access-modal header { border-color:#c8d2d7; }
[data-theme="whitemode"] .guest-access-modal form>p:first-child,[data-theme="whitemode"] .guest-access-modal label { color:#526875; }
[data-theme="whitemode"] .guest-access-modal input { border-color:#aebbc2; color:#17242c; background:#fff; }
.maintenance-screen { position: fixed; z-index: 45; inset: 0; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at 50% 35%,rgba(41,79,108,.25),transparent 38%),#101316f7; backdrop-filter: blur(8px); }.maintenance-screen-card { width: min(520px,100%); padding: 42px; border: 1px solid #3c454b; border-top: 4px solid #c7a94c; text-align: center; background: #1d2124; box-shadow: 0 30px 100px #000b; }.maintenance-screen-card img { width: 74px; height: 74px; object-fit: contain; margin-bottom: 18px; }.maintenance-screen-card small { display: block; color: #c7a94c; font-size: .55rem; font-weight: 900; letter-spacing: .16em; }.maintenance-screen-card h1 { margin: 8px 0 12px; font-size: clamp(2rem,7vw,3.5rem); }.maintenance-screen-card p { margin: 0 0 8px; color: #d9dde0; }.maintenance-screen-card span { display: block; color: #919ba1; font-size: .72rem; }.maintenance-screen-card button { margin-top: 24px; min-height: 44px; padding: 0 22px; border: 1px solid #b7983e; color: #f1d77c; background: #292516; font-size: .65rem; font-weight: 900; cursor: pointer; }

@media (max-width: 1120px) {
  .planet-front-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .war-room { grid-template-columns: 220px minmax(420px,1fr) 270px; padding-inline: 12px; gap: 10px; }
  .globe-stage { min-height: 590px; }
  .identity small { display: none; }
}
@media (max-width: 900px) {
  html, body { overflow: visible; }
  .forum-nav .forum-nav-inner { flex-wrap:nowrap; overflow-x:auto; padding:0 12px 0 112px; scrollbar-width:thin; }
  .forum-nav .page-tab { padding: 0 10px; font-size: .67rem; }.forum-brand { min-height: 130px; }.forum-brand-inner { min-height: 130px; }.forum-logo { width: 86px; height: 86px; flex-basis: 86px; }.forum-brand strong { font-size: clamp(1.5rem,6vw,2.8rem); }
  .dashboard-layout,.info-content { grid-template-columns: 1fr; }.dashboard-side { grid-template-columns: repeat(3,1fr); }.dashboard-note { grid-column: 1/-1; }
  .guide-outcomes { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .planet-front-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }.planet-select-card { min-height: 280px; }
  .user-row { grid-template-columns: 40px 1fr auto; }.user-rank { grid-column: 2; }.user-state { grid-column: 3; grid-row: 1; }.user-buttons { grid-column: 2/-1; }
  .log-row { grid-template-columns: 120px 1fr; }.log-row div,.log-row > span:last-child { grid-column: 2; }
  .mission-archive-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }.mission-archive-toolbar { grid-template-columns: 1fr 1fr; }.mission-archive-search { grid-column: 1/-1; }.mission-archive-insights { grid-template-columns: 1fr; }.mission-archive-row { grid-template-columns: 82px 34px minmax(180px,1fr) auto; }.mission-outcome { grid-column: 3; text-align: left; }.mission-archive-row > button { grid-column: 4; grid-row: 1/3; }
  .command-bar { grid-template-columns: 1fr auto; padding: 0 14px; }.world-title { display: none; }.auth-status span { display:none; }
  .war-room { display: flex; flex-direction: column; padding: 12px 12px 55px; }.globe-stage { order: -1; min-height: 72vh; }
  .operation-focus-panel { right: 12px; top: 52px; width: min(250px,62%); }
  .left-rail, .right-rail { display: grid; grid-template-columns: 1fr 1fr; }.transmission { display: none; }.activity-list { grid-column: 1/-1; }
  .ticker { grid-template-columns: 1fr auto; }.ticker div { display: none; }
}
@media (max-width: 600px) {
  .forum-nav .page-tab { padding: 0 7px; font-size: .58rem; }.forum-brand small { display: none; }.news-feed { grid-template-columns: 1fr; }.news-card.lead-news { grid-column: auto; }.dashboard-side { grid-template-columns: 1fr; }.dashboard-note { grid-column: auto; }.tactician-card > header { grid-template-columns: 42px 1fr; }.tactician-card header > b { display: none; }
  .users-heading { display: grid; align-items: start; }.users-summary { display: grid; grid-template-columns: repeat(3,1fr); }.users-summary span { display: grid; min-width: 0; padding: 12px; }.user-row { grid-template-columns: 36px 1fr; padding: 13px; }.user-state { grid-column: 2; grid-row: auto; }.user-rank,.user-buttons { grid-column: 2; }
  .archive-row { align-items: start; }.archive-row button { flex: 0 0 auto; }.log-row { grid-template-columns: 1fr; }.log-row div,.log-row > span:last-child { grid-column: 1; }
  .mission-archive-shell { width: min(100% - 20px,1170px); margin-top: 18px; }.mission-archive-stats article { min-height: 96px; padding: 13px; }.mission-archive-stats b { font-size: 1.25rem; }.mission-archive-toolbar { grid-template-columns: 1fr; }.mission-archive-search { grid-column: auto; }.mission-archive-insights > section { padding: 14px; }.mission-result-row { grid-template-columns: 72px minmax(55px,1fr) 22px 30px; gap: 6px; }.mission-archive-list > header { padding-inline: 11px; }.mission-archive-row { grid-template-columns: 48px minmax(0,1fr); gap: 8px 11px; padding: 13px 10px; }.mission-archive-row time { grid-row: 1; }.mission-archive-row > i { grid-column: 1; grid-row: 2; }.mission-archive-main { grid-column: 2; grid-row: 1/3; }.mission-archive-main > span { white-space: normal; }.mission-outcome { grid-column: 2; grid-row: 3; }.mission-archive-row > button { grid-column: 2; grid-row: 4; width: fit-content; }
  .identity b { font-size: .68rem; }.crest { width: 36px; height: 36px; }.mode-switch button { padding: 0 8px; font-size: .56rem; }
  .globe-stage { min-height: 64vh; }.left-rail, .right-rail { display: flex; }.globe-label { bottom: 52px; }.drag-hint { top: 12px; max-width: calc(100% - 24px); overflow: hidden; font-size: .48rem; letter-spacing: .1em; text-overflow: ellipsis; }.planets-page .globe-stage::before { display: none; }
  .planet-front-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.planet-select-card { min-height: 255px; }.planet-detail-title { align-items: start; flex-direction: column; gap: 8px; }
  .operation-marker span { display: none !important; }.form-grid { grid-template-columns: 1fr; }
  .operation-focus-panel { left: 10px; right: 10px; top: 44px; width: auto; padding-bottom: 10px; }.operation-focus-panel header { margin-bottom: 9px; }.operation-focus-panel p,.operation-focus-panel dl { display: none; }.operation-focus-panel h3 { margin-bottom: 9px; font-size: .88rem; }.focus-navigation { grid-template-columns: 1fr 1fr; gap: 4px; margin-top: 4px; }.operation-focus-panel button { min-height: 30px; }.operation-focus .globe-label { display: none; }
  .tactical-map-view { gap: 6px; padding: 7px; }.tactical-map-view > header { min-height: 38px; padding: 0 8px; }.tactical-map-view > header small { display: none; }.tactical-map-view > header strong { font-size: .55rem; }.tactical-map-view > header button { min-height: 27px; padding: 0 7px; font-size: .4rem; }.tactical-map-header-actions { gap: 4px; }.tactical-map-tools > span { display: none; }.tactical-map-tools { justify-content: flex-end; }.tactical-map-tools button { width: 42px; }
  .tactical-marker-palette { left: 8px; right: 8px; top: 52px; width: auto; }.tactical-marker-tools { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 4px; padding: 7px; }.tactical-marker-tools button { display: grid; grid-template-columns: 1fr; justify-items: center; gap: 3px; min-width: 0; min-height: 52px; padding: 3px 2px; text-align: center; }.tactical-marker-tools span { overflow: hidden; width: 100%; font-size: .34rem; text-overflow: ellipsis; white-space: nowrap; }.tactical-marker-palette > p { display: none; }.tactical-marker-info { right: 7px; bottom: 7px; width: min(250px,calc(100% - 14px)); }.tactical-map-marker span { display: none; }
  .guide-outcomes { grid-template-columns: 1fr; }
  .outcome-list > div { grid-template-columns: 1fr auto; gap: 8px; }.outcome-list span { grid-column: 1/-1; }
  .calendar-list { width:calc(100% - 16px); margin-top:14px; }.calendar-toolbar { grid-template-columns:34px minmax(0,1fr) auto 34px; min-height:62px; padding:7px; }.calendar-toolbar h2 { font-size:.9rem; }.calendar-toolbar small { display:none; }.calendar-toolbar button { min-height:32px; padding:0 8px; font-size:.48rem; }.calendar-weekdays span { padding:7px 1px; font-size:.43rem; }.calendar-day { min-height:72px; padding:5px; }.calendar-day > header time { width:23px; height:23px; font-size:.57rem; }.calendar-day-events > span { width:100%; height:6px; padding:0; border:0; border-radius:3px; background:currentColor; font-size:0; }.calendar-day-events > span i,.calendar-day-events > small { display:none; }.calendar-day-menu { position:fixed; top:auto!important; right:10px!important; bottom:10px!important; left:10px!important; width:auto; max-height:min(430px,70vh); transform:translateY(12px) scale(.985); transform-origin:bottom center!important; }.calendar-day:hover .calendar-day-menu,.calendar-day:focus .calendar-day-menu,.calendar-day:focus-within .calendar-day-menu { transform:translateY(0) scale(1); }
}

/* Live sector and tactical planning */
.planet-search { display: grid; grid-template-columns: 34px minmax(0,360px) 42px; align-items: center; width: min(440px,100%); min-height: 43px; margin-top: 18px; border: 1px solid #424b50; background: #171b1e; }
.planet-search > span { color: #75caea; font-size: 1.05rem; text-align: center; }.planet-search input { min-width: 0; height: 41px; padding: 0 9px; border: 0; outline: 0; color: #eef4f5; background: transparent; }.planet-search input::placeholder { color: #6f7d83; }.planet-search:focus-within { border-color: #4b9bd7; box-shadow: 0 0 0 2px rgba(59,145,213,.1); }.planet-search kbd { display: grid; height: 25px; margin-right: 8px; place-items: center; border: 1px solid #3f4b50; color: #8da0a8; background: #0e1316; font: .55rem ui-monospace,monospace; }
.sector-navigator { position: absolute; z-index: 8; left: 50%; top: 14px; display:grid; gap:5px; width:min(310px,calc(100% - 28px)); padding:5px; border:1px solid rgba(113,191,220,.42); color:#829ba5; background:rgba(4,12,17,.94); box-shadow:0 10px 25px rgba(0,0,0,.28); transform:translateX(-50%); }.sector-navigator header { display:flex; align-items:center; gap:8px; }.sector-navigator button { min-height:25px; padding:0 8px; border:1px solid #3a4c54; color:#a9c5cf; background:#101b20; font-size:.45rem; font-weight:900; cursor:pointer; }.sector-navigator button.active { color:#061116; border-color:#68dff8; background:#68dff8; box-shadow:0 0 10px rgba(104,223,248,.28); }.sector-navigator span { min-width:0; overflow:hidden; padding-right:5px; font:700 .42rem ui-monospace,monospace; letter-spacing:.06em; text-overflow:ellipsis; white-space:nowrap; }.sector-quick-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:3px; }.sector-quick-grid button { position:relative; min-height:23px; padding:0; font:.5rem ui-monospace,monospace; }.sector-quick-grid button small { position:absolute; right:3px; top:2px; display:grid; min-width:11px; height:11px; place-items:center; border-radius:50%; color:#041015; background:#f1d35b; font-size:.34rem; }.drag-hint { top:91px; }
.sector-list-prompt { display: grid; gap: 6px; margin: 10px; padding: 13px; border: 1px dashed #3b555f; color: #718891; background: rgba(88,190,218,.035); }.sector-list-prompt b { color: #9bd9e8; font-size: .55rem; letter-spacing: .12em; }.sector-list-prompt span { font-size: .55rem; line-height: 1.45; }
.operation-marker.status-planned,.strategic-row.status-planned { --status-color:#e8c44d; }.operation-marker.status-success,.strategic-row.status-success { --status-color:#59d88a; }.operation-marker.status-failure,.strategic-row.status-failure { --status-color:#ef615d; }.operation-marker.status-locked,.strategic-row.status-locked { --status-color:#747d82; filter:grayscale(.7); opacity:.62; }
.operation-marker[class*="status-"] { color:var(--status-color); }.operation-marker[class*="status-"] i { color:inherit; border-color:currentColor; box-shadow:0 0 14px color-mix(in srgb,var(--status-color),transparent 68%); }.operation-marker[class*="status-"] span { border-color:var(--status-color); }.strategic-row[class*="status-"] > i,.strategic-row[class*="status-"] > em,.status-text[class*="status-"] { color:var(--status-color); }.calendar-status.status-planned { color:#e8c44d; }.calendar-status.status-success { color:#59d88a; }.calendar-status.status-failure { color:#ef615d; }.calendar-status.status-locked { color:#747d82; }
.operation-marker.rescue,.detail-icon.rescue,.strategic-row > i.rescue,.calendar-row > i.rescue,.tactician-operations i.rescue { color:#ff7b73; }.operation-marker.blackops,.detail-icon.blackops,.strategic-row > i.blackops,.calendar-row > i.blackops,.tactician-operations i.blackops { color:#c786ff; }.operation-focus-panel.rescue { --focus-color:#ff7b73; }.operation-focus-panel.blackops { --focus-color:#c786ff; }
.transmission .panel-label span { color:#85cfe4; }.transmission p { white-space:pre-line; }

.guest-mode #toggleTacticalMarkerPalette,.guest-mode.event-mode #toggleTacticalMarkerPalette { display:block; }
.tool-group-label { grid-column:1/-1; padding:4px 2px 0; color:#72858c; font:.39rem ui-monospace,monospace; letter-spacing:.14em; }
@keyframes tactical-ping-life { 0% { opacity:1; } 68% { opacity:.72; } 100% { opacity:0; } }
.tactical-drawing-layer { position:absolute; z-index:2; inset:0; width:100%; height:100%; overflow:visible; transform-origin:center; transition:transform .16s ease-out; pointer-events:none; will-change:transform; }.tactical-map-viewport.dragging .tactical-drawing-layer { transition:none; }.tactical-vector { fill:none; stroke-width:4; stroke-linecap:round; filter:drop-shadow(0 0 4px rgba(0,0,0,.85)); vector-effect:non-scaling-stroke; pointer-events:stroke; cursor:pointer; }.tactical-zone { fill-opacity:.13; stroke-width:3; stroke-dasharray:8 4; vector-effect:non-scaling-stroke; pointer-events:all; cursor:pointer; }.tactical-text { pointer-events:all; cursor:pointer; }.tactical-text rect { fill:rgba(4,10,13,.88); stroke-width:1.5; vector-effect:non-scaling-stroke; }.tactical-text text { font:900 12px ui-monospace,monospace; letter-spacing:.06em; }.tactical-vector.selected,.tactical-zone.selected { stroke-width:6; filter:drop-shadow(0 0 8px currentColor); }.tactical-ping { fill:rgba(104,230,178,.13); stroke:#68e6b2; stroke-width:2; opacity:1; pointer-events:none; filter:drop-shadow(0 0 4px rgba(104,230,178,.7)); animation:tactical-ping-life 3s linear var(--ping-age,0ms) forwards; }.tactical-ping .ping-dot { fill:#dffff2; stroke:none; }
.tactical-map-marker.movable { cursor:grab; }.tactical-map-marker.movable:active { cursor:grabbing; }
.tactical-vector.movable,.tactical-zone.movable,.tactical-text.movable { cursor:grab; }
.tactical-vector.movable:active,.tactical-zone.movable:active,.tactical-text.movable:active { cursor:grabbing; }
.tactical-drawing-label { pointer-events:all; cursor:pointer; }.tactical-drawing-label rect { fill:rgba(4,10,13,.9); stroke-width:1.5; vector-effect:non-scaling-stroke; }.tactical-drawing-label text { font:900 12px ui-monospace,monospace; text-anchor:middle; letter-spacing:.04em; pointer-events:none; }.tactical-drawing-label.selected rect { stroke-width:3; filter:drop-shadow(0 0 6px currentColor); }.tactical-drawing-label.movable { cursor:grab; }.tactical-drawing-label.movable:active { cursor:grabbing; }
.tactical-color-picker { display:grid; grid-template-columns:48px minmax(0,1fr); gap:10px; align-items:center; }.tactical-color-picker>input { width:48px!important; min-height:42px; padding:3px!important; cursor:pointer; }.tactical-color-picker>div { display:grid; grid-template-columns:repeat(8,minmax(26px,1fr)); gap:5px; }.tactical-color-swatch { min-height:34px; padding:0; border:1px solid #586267; background:var(--swatch); cursor:pointer; transition:transform .12s ease,border-color .12s ease; }.tactical-color-swatch:hover { transform:translateY(-2px); }.tactical-color-swatch.active { border-color:#fff; outline:2px solid var(--swatch); outline-offset:2px; }
.guest-link-result { display:grid; gap:13px; }.guest-link-result > small { color:#78d9ef; font-size:.5rem; font-weight:900; letter-spacing:.12em; }.guest-link-result h3 { margin:0; }.guest-link-result p { margin:0; color:#98a7ad; font-size:.68rem; line-height:1.5; }.guest-link-result input { width:100%; min-height:42px; padding:0 10px; border:1px solid #48565c; color:#dcebef; background:#0b1215; font:.57rem ui-monospace,monospace; }
.guest-link-manager { display:grid; gap:14px; color:#e7e7e7; }.guest-link-manager > header { display:flex; justify-content:space-between; gap:16px; padding-bottom:12px; border-bottom:1px solid #454a4d; }.guest-link-manager header div { min-width:0; }.guest-link-manager header small { color:#9ba3a7; font-size:.53rem; font-weight:800; letter-spacing:.05em; }.guest-link-manager header h3 { margin:5px 0; font-size:1.08rem; }.guest-link-manager header p { margin:0; color:#a8adaf; font-size:.68rem; line-height:1.5; }.guest-link-live { align-self:start; display:flex; align-items:center; gap:6px; padding:6px 8px; border:1px solid #3e7456; color:#8ed7aa; background:#222c26; font-size:.5rem; font-weight:900; letter-spacing:.08em; }.guest-link-live::before { content:""; width:7px; height:7px; border-radius:50%; background:#64c88a; animation:marker-pulse 2.2s ease-in-out infinite; }.guest-link-manager form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:end; padding:12px; border:1px solid #454a4d; background:#24272a; }.guest-link-manager form label { margin:0; }.guest-link-manager form label small { display:block; margin-top:5px; color:#91989b; font-size:.57rem; }.guest-link-manager form input { min-height:40px; }.guest-link-manager form button { min-height:40px; }.guest-link-created { display:grid; gap:10px; padding:13px; border:1px solid #4d725d; border-left:3px solid #5fae7c; background:#242a26; }.guest-link-created[hidden] { display:none; }.guest-link-created > small { color:#8fc6a3; font-size:.52rem; font-weight:900; letter-spacing:.06em; }.guest-link-created h3,.guest-link-created p { margin:0; }.guest-link-created p { color:#abb0ad; font-size:.65rem; line-height:1.5; }.guest-link-created input { width:100%; min-height:40px; padding:0 10px; border:1px solid #4a4f52; color:#ececec; background:#1d2022; font:.58rem Inter,"Segoe UI",system-ui,sans-serif; }.guest-link-list { display:grid; gap:8px; }.guest-link-card { display:grid; gap:7px; padding:11px 12px; border:1px solid #454a4d; border-left:3px solid #6f777b; background:#24272a; }.guest-link-card.active { border-left-color:#5fae7c; }.guest-link-card.exhausted { border-left-color:#c49b45; }.guest-link-card.revoked,.guest-link-card.expired { opacity:.66; }.guest-link-card-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }.guest-link-card-head span { display:flex; align-items:center; gap:6px; color:#bfc3c5; font-size:.53rem; font-weight:900; letter-spacing:.06em; }.guest-link-card-head span i { width:7px; height:7px; border-radius:50%; background:#777; }.guest-link-card.active .guest-link-card-head span { color:#8ed7aa; }.guest-link-card.active .guest-link-card-head span i { background:#64c88a; animation:marker-pulse 2.2s ease-in-out infinite; }.guest-link-card.exhausted .guest-link-card-head span { color:#d8b86a; }.guest-link-card-head b { font-size:.58rem; }.guest-link-card > small { color:#9aa1a4; font-size:.57rem; line-height:1.35; }.guest-link-card .danger-action.compact { justify-self:start; min-height:32px; margin-top:2px; padding:0 10px; font-size:.52rem; }
.guest-session-manager { display:grid; gap:8px; padding:11px; border:1px solid #454a4d; background:#1e2123; }.guest-session-manager>header { display:flex; align-items:center; justify-content:space-between; color:#c7ced1; font-size:.52rem; font-weight:900; letter-spacing:.08em; }.guest-session-manager>header b { display:grid; min-width:24px; height:24px; place-items:center; border:1px solid #536168; color:#fff; background:#292e31; }.guest-session-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px 10px; align-items:center; padding:9px 10px; border:1px solid #40474a; border-left:3px solid #777; background:#272a2c; }.guest-session-card.online { border-left-color:#64c88a; }.guest-session-card>span { display:flex; align-items:center; gap:7px; min-width:0; }.guest-session-card>span i { width:7px; height:7px; flex:0 0 auto; border-radius:50%; background:#777; }.guest-session-card.online>span i { background:#64c88a; box-shadow:0 0 8px rgba(100,200,138,.55); }.guest-session-card>span b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.64rem; }.guest-session-card>span small { color:#90999d; font-size:.43rem; font-weight:900; letter-spacing:.06em; }.guest-session-card>em { grid-column:1; color:#929a9e; font-size:.52rem; font-style:normal; }.guest-session-card button { grid-column:2; grid-row:1/3; min-height:31px!important; padding:0 9px!important; font-size:.48rem!important; }
.selected-focus-actions .guest-link-toggle { border-color:#8d6cc5; color:#d7bdff; background:rgba(134,87,198,.09); }.tactical-map-heading { min-width:0; overflow:hidden; }.tactical-map-heading strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.guest-mode .forum-nav,.guest-mode .page-heading,.guest-mode .planet-admin-row,.guest-mode .left-rail,.guest-mode .right-rail,.guest-mode .globe-stage > :not(.tactical-map-view) { display:none!important; }.guest-mode .planets-page,.guest-mode #planetDetail { display:block!important; }.guest-mode .war-room { display:block; width:100vw; height:100vh; padding:0; }.guest-mode .globe-stage { position:fixed; z-index:45; inset:0; min-height:100vh; border:0; background:#050a0d; }.guest-mode #tacticalMapView { display:grid!important; }.guest-mode #closeTacticalMap { display:none; }

/* Forum-style controls for sector, eventmap and guest access views */
.planets-page .globe-stage.operation-focus { background:#15181a; }
.planets-page .globe-stage.operation-focus::before { content:""; display:none; }
.globe-stage.operation-focus::after { opacity:.18; }
.globe-stage.operation-focus #globe { filter:drop-shadow(0 28px 38px rgba(0,0,0,.62)); }
.operation-focus-panel { border:1px solid #454a4d; border-top:3px solid #6b7276; color:#ededed; background:#202326; box-shadow:0 12px 28px rgba(0,0,0,.42); backdrop-filter:none; }
.operation-focus-panel::before { display:none; }
.operation-focus-panel header { border-bottom:1px solid #3d4144; background:#1a1c1e; }
.operation-focus-panel header span { color:#e1e1e1; letter-spacing:.06em; }
.operation-focus-panel header i { border-color:#666d71; color:#d5dadd; background:#292d30; }
.operation-focus-content > small { color:#969da1; font-family:Inter,"Segoe UI",system-ui,sans-serif; letter-spacing:.04em; }
.operation-focus-panel dl { background:#3a3e41; }
.operation-focus-panel dl div { background:#1a1c1e; }
.operation-focus-panel button,.operation-focus-panel .open-tactical-map { border:1px solid #484e52; color:#e3e3e3; background:#292d30; letter-spacing:.05em; }
.operation-focus-panel button:hover,.operation-focus-panel .open-tactical-map:hover { border-color:#287fc8; color:#fff; background:var(--forum-blue); }

.selected-focus-actions .tactical-focus-toggle,.selected-focus-actions .tactical-map-toggle,.selected-focus-actions .guest-link-toggle { width:100%; min-height:37px; border:1px solid #494e51; color:#e2e2e2; background:#292c2f; box-shadow:none; font-size:.54rem; font-weight:800; letter-spacing:.04em; cursor:pointer; }
.selected-focus-actions .tactical-focus-toggle:hover,.selected-focus-actions .tactical-map-toggle:hover,.selected-focus-actions .guest-link-toggle:hover { border-color:#287fc8; color:#fff; background:var(--forum-blue); }

.tactical-map-view { color:#dedede; background:#17191b; }
.tactical-map-open .tactical-map-view { animation:tactical-map-enter .24s ease-out both; }
.tactical-map-view.closing { animation:tactical-map-exit .2s ease-in both; }
@keyframes tactical-map-enter { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }
@keyframes tactical-map-exit { from { opacity:1; transform:none; } to { opacity:0; transform:translateY(3px); } }
.tactical-map-view > header { border:1px solid #414548; border-left:1px solid #414548; background:#222527; }
.tactical-map-view > header > .tactical-map-heading { flex:1 1 auto; min-width:120px; }
.tactical-map-header-actions { flex:0 0 auto; }
.tactical-map-view > header small { color:#8e969a; letter-spacing:.07em; }
.tactical-map-view > header strong { color:#f0f0f0; letter-spacing:.04em; }
.tactical-map-view > header button,#toggleTacticalMarkerPalette { border:1px solid #4a5053; color:#dedede; background:#2a2e31; letter-spacing:.04em; }
.tactical-map-view > header button:hover,#toggleTacticalMarkerPalette:hover,.marker-palette-open #toggleTacticalMarkerPalette { border-color:#287fc8; color:#fff; background:var(--forum-blue); }
.tactical-map-view > header .tactical-imgur-export { border-color:#447c99; color:#b8eaff; background:#203541; }
.tactical-map-view > header .tactical-imgur-export:hover { border-color:#6bd3ff; background:#2677ad; }
.tactical-map-view > header .tactical-imgur-export:disabled { opacity:.62; cursor:wait; }
.tactical-map-viewport { border-color:#44494c; background:#111315; }
.tactical-map-grid { opacity:.07; background-image:linear-gradient(rgba(220,224,226,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(220,224,226,.35) 1px,transparent 1px); background-size:8.333% 8.333%; box-shadow:inset 0 0 24px rgba(0,0,0,.46); }
.map-coordinate { color:#b7bdc0; background:rgba(28,30,32,.88); font-family:Inter,"Segoe UI",system-ui,sans-serif; letter-spacing:.05em; }
.tactical-marker-palette { border:1px solid #4b5053; border-top:3px solid #6d7376; color:#dedede; background:#202326; box-shadow:0 14px 30px rgba(0,0,0,.5); }
.tactical-marker-palette > header { border-bottom:1px solid #414548; background:#1a1c1e; }
.tactical-marker-palette > header small { color:#858d91; letter-spacing:.07em; }
.tactical-marker-palette > header strong { color:#ededed; letter-spacing:.05em; }
.tactical-marker-tools button { border-color:#404548; color:#c8ccce; background:#292c2f; }
.tactical-marker-tools button:hover,.tactical-marker-tools button.active { border-color:var(--marker-color); color:#fff; background:#33373a; }
.tactical-map-viewport.placing-marker::after { border-color:#62686c; color:#ddd; background:rgba(31,34,36,.94); font-family:Inter,"Segoe UI",system-ui,sans-serif; letter-spacing:.05em; }
.tactical-map-marker { filter:drop-shadow(0 3px 4px rgba(0,0,0,.65)); }
.tactical-map-marker i { box-shadow:none; }
.tactical-map-marker.danger::after,.tactical-map-marker.enemy::after,.tactical-map-marker.objective::after { opacity:.45; animation:none; }
.tactical-map-marker span { border:1px solid #494e51; border-left:3px solid var(--marker-color); color:#eee; background:#24272a; box-shadow:0 5px 12px rgba(0,0,0,.35); font-family:Inter,"Segoe UI",system-ui,sans-serif; letter-spacing:0; }
.tactical-ping { filter:none; }
.tactical-marker-info { background:#202326; box-shadow:0 12px 28px rgba(0,0,0,.46); }
.tactical-marker-info header { border-bottom-color:#414548; background:#1a1c1e; }
.tactical-map-tools { color:#8d969a; letter-spacing:.06em; }
.tactical-map-tools > div { border-color:#454a4d; }
.tactical-map-tools button { border-color:#454a4d; color:#d4d6d7; background:#292c2f; }
.tactical-map-tools button:hover { color:#fff; background:var(--forum-blue); }
.tactical-map-tools button.danger { color:#ffb1ac; border-color:rgba(255,92,85,.45); }
.tactical-map-tools button:disabled { opacity:.42; cursor:not-allowed; }
.tactical-restore-list { display:grid; gap:10px; }
.tactical-restore-list button { display:grid; grid-template-columns:92px minmax(0,1fr); gap:4px 12px; align-items:center; width:100%; padding:13px 14px; text-align:left; border:1px solid #35434a; border-radius:12px; color:#e8eef1; background:#10161b; }
.tactical-restore-list button:hover { border-color:#70d7f5; background:#13242c; }
.tactical-restore-list b { color:#79d9f4; font-size:.62rem; letter-spacing:.1em; }
.tactical-restore-list span { overflow:hidden; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }
.tactical-restore-list small { grid-column:2; color:#8f9ca3; font-size:.62rem; }

.sector-navigator { border:1px solid #474c4f; color:#9da3a6; background:rgba(31,34,36,.97); box-shadow:0 8px 18px rgba(0,0,0,.3); }
.sector-navigator button { border-color:#464b4e; color:#d4d6d7; background:#292c2f; }
.sector-navigator button:hover { border-color:#5a6266; background:#34383b; }
.sector-navigator button.active { border-color:#287fc8; color:#fff; background:var(--forum-blue); box-shadow:none; }
.sector-quick-grid button small { color:#222; background:#ddd; }
.sector-list-prompt { border-color:#4b5053; color:#91999d; background:#202326; }
.sector-list-prompt b { color:#d6d6d6; }

.operation-map-empty { border-color:#53585b; color:#d2d4d5; background:#24272a; }
.operation-map-empty:hover { border-color:#287fc8; background:#292e32; }
.operation-map-empty i { border-color:#595f63; color:#ddd; background:#303438; }
.operation-map-empty em { color:#aeb4b7; }
.operation-map-selection { border-color:#4b5053; background:#24272a; }
.operation-map-selection img { border-color:#4b5053; }
.operation-map-selection b { color:#ededed; }
.tactical-library-heading { border-left:3px solid #6b7175; background:#232629; }
.tactical-library-heading small { color:#858d91; letter-spacing:.07em; }
.tactical-library-heading strong { color:#ededed; letter-spacing:.04em; }
.tactical-library-card { border-color:#474c4f; color:#dedede; background:#24272a; }
.tactical-library-card:hover,.tactical-library-card.selected { border-color:#287fc8; background:#292e32; box-shadow:inset 3px 0 var(--forum-blue); }
.tactical-library-card.selected small,.tactical-library-card > i { color:#85b9e4; }
.eventmap-admin-actions button { border-color:#494e51; color:#d3d5d6; background:#292c2f; }
.eventmap-search { border-color:#4a4f52; background:#24272a; }
.eventmap-search > span { color:#aeb4b7; }
.eventmap-search input { color:#eee; }
.eventmap-search kbd { border-color:#4a4f52; color:#aeb4b7; background:#1b1d1f; }
.eventmap-editor-preview { border-color:#4a4f52; background:#191b1d; }
.eventmap-editor-preview span { color:#eee; background:rgba(32,35,37,.9); font-family:Inter,"Segoe UI",system-ui,sans-serif; letter-spacing:.04em; }
.guest-link-result > small { color:#9ba3a7; letter-spacing:.07em; }
.guest-link-result input { border-color:#4a4f52; color:#e4e4e4; background:#24272a; font-family:Inter,"Segoe UI",system-ui,sans-serif; }
.guest-mode .globe-stage { background:#17191b; }

@media (max-width:600px){.sector-navigator{top:8px;max-width:calc(100% - 18px)}.sector-navigator span{overflow:hidden;text-overflow:ellipsis}.drag-hint{top:84px}.planet-search{grid-template-columns:32px minmax(0,1fr) 38px}.tool-group-label{grid-column:1/-1}.tactical-marker-tools{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:600px){.guest-link-manager>header,.guest-link-card-head{align-items:flex-start;flex-direction:column}.guest-link-manager form{grid-template-columns:1fr}.guest-link-manager form button{width:100%}}

/* Final forum-style planet and tactical-map usability pass */
.planets-page .panel-label { font-size: .67rem; }
.planets-page .biome-chip { font-size: .69rem; }
.planets-page .liberation small { font-size: .64rem; }
.planets-page .force-row { font-size: .78rem; }
.planets-page #frontLegend button { min-height: 54px; }
.planets-page #frontLegend button b { font-size: .76rem; }
.planets-page #frontLegend button small { font-size: .58rem; }
.planets-page .transmission p { font-size: .8rem; line-height: 1.6; }
.planets-page .globe-label span { font-size: 1rem; }
.planets-page .globe-label small { font-size: .65rem; }
.planets-page .selected-detail h2 { font-size: 1.3rem; }
.planets-page .selected-detail .sector { font-size: .78rem; }
.planets-page .selected-detail dt { font-size: .59rem; }
.planets-page .selected-detail dd { font-size: .76rem; line-height: 1.5; }
.planets-page .strategic-row { min-height: 65px; }
.planets-page .strategic-row b { font-size: .75rem; }
.planets-page .strategic-row small { font-size: .56rem; }
.planets-page .strategic-row em { font-size: .65rem; }
.planets-page .operation-focus-panel h3 { font-size: 1.12rem; }
.planets-page .operation-focus-panel p { font-size: .73rem; }
.planets-page .operation-focus-panel dt { font-size: .5rem; }
.planets-page .operation-focus-panel dd { font-size: .59rem; }

@media (min-width: 901px) {
  body:not(.guest-mode) .planets-page .war-room { align-items: start; }
  body:not(.guest-mode) .planets-page .globe-stage { align-self: start; height: 700px; min-height: 700px; }
  body.tactical-map-active:not(.guest-mode) .planets-page .war-room { grid-template-columns: minmax(0,1fr); }
  body.tactical-map-active:not(.guest-mode) .planets-page .left-rail,
  body.tactical-map-active:not(.guest-mode) .planets-page .right-rail { display: none; }
  body.tactical-map-active:not(.guest-mode) .planets-page .globe-stage { grid-column: 1; grid-row: 1; width: 100%; }
}

/* The sector selector sits below the globe as a compact, scrollable forum control. */
.sector-navigator {
  left: 50%;
  top: auto;
  bottom: 8px;
  display: flex;
  align-items: center;
  gap: 5px;
  width: max-content;
  max-width: calc(100% - 180px);
  padding: 4px;
  border-color: #474c4f;
  background: rgba(31,34,36,.97);
  box-shadow: 0 5px 14px rgba(0,0,0,.28);
  transform: translateX(-50%);
}
.sector-navigator > span {
  max-width: 245px;
  padding: 0 8px;
  color: #aeb4b7;
  font: 700 .51rem/1.2 Inter,"Segoe UI",system-ui,sans-serif;
  letter-spacing: .03em;
}
.sector-navigator button { min-height: 29px; font-size: .52rem; }
.planets-page .drag-hint { top: 18px; }
.drawing-front .sector-navigator,.picking-operation .sector-navigator { opacity: 0; pointer-events: none; }
.operation-focus .sector-navigator { opacity: 0; pointer-events: none; }
.globe-stage.sector-hover:not(.dragging) #globe { cursor: pointer; }

/* Dock tools to the map edge instead of floating them over the working area. */
.tactical-map-view {
  grid-template-columns: minmax(0,1fr);
  grid-template-rows: auto minmax(0,1fr) auto;
  gap: 7px;
}
.tactical-map-view > header,.tactical-map-tools { grid-column: 1 / -1; }
.tactical-map-workspace {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1fr);
  grid-template-rows: minmax(0,1fr);
  gap: 7px;
  min-width: 0;
  min-height: 0;
}
.marker-palette-open .tactical-map-workspace { grid-template-columns: clamp(310px,24vw,340px) minmax(0,1fr); }
.tactical-map-workspace .tactical-map-viewport { grid-column: 1; grid-row: 1; }
.marker-palette-open .tactical-map-workspace .tactical-map-viewport { grid-column: 2; }
.tactical-map-view:not(.marker-palette-open) .tactical-marker-palette { display: none; }
.tactical-map-view .tactical-marker-palette {
  position: relative;
  z-index: 4;
  left: auto;
  right: auto;
  top: auto;
  bottom: auto;
  grid-column: 1;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  width: auto;
  min-width: 0;
  height: 100%;
  max-height: 100%;
  border: 1px solid #4b5053;
  color: #dedede;
  background: #202326;
  box-shadow: none;
  opacity: 1;
  transform: none;
  pointer-events: auto;
}
.tactical-marker-palette > header { flex: 0 0 auto; min-height: 46px; padding-inline: 12px 8px; }
.tactical-marker-palette > header small { font-size: .5rem; }
.tactical-marker-palette > header strong { font-size: .68rem; }
.tactical-marker-palette > header button { width: 32px; height: 32px; }
.tactical-marker-tools {
  grid-template-columns: repeat(2,minmax(0,1fr));
  align-content: start;
  flex: 1 1 auto;
  min-height: 0;
  gap: 6px;
  padding: 10px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #555b5f #24272a;
}
.tool-group-label {
  padding: 8px 2px 2px;
  color: #9aa1a5;
  font: 800 .54rem Inter,"Segoe UI",system-ui,sans-serif;
  letter-spacing: .06em;
}
.tactical-marker-tools button {
  grid-template-columns: 31px minmax(0,1fr);
  gap: 7px;
  min-height: 44px;
  padding: 5px 7px;
  border-color: #44494c;
  color: #d2d5d6;
  background: #292c2f;
}
.tactical-marker-tools button:hover { border-color: #666d71; background: #33373a; }
.tactical-marker-tools button.active { border-color: #6c7377; background: #363a3d; box-shadow: inset 3px 0 var(--marker-color); }
.tactical-marker-tools i { width: 30px; height: 30px; background: #222527; box-shadow: none; font-size: .9rem; }
.tactical-marker-tools span { overflow: visible; font-size: .64rem; line-height: 1.22; text-overflow: clip; white-space: normal; }
.tactical-marker-palette > p { padding: 0 12px 12px; color: #a1a8ab; font-size: .57rem; line-height: 1.5; }
.tactical-map-view > header small { font-size: .53rem; }
.tactical-map-view > header strong { font-size: .82rem; }
.tactical-map-view > header button { min-height: 34px; font-size: .54rem; }
.tactical-map-tools { min-height: 39px; font-size: .55rem; }
.map-coordinate { font-size: .51rem; }
.tactical-map-marker span { font-size: .56rem; }
.tactical-marker-info > strong { font-size: .9rem; }
.tactical-marker-info > p { font-size: .68rem; line-height: 1.5; }
.tactical-marker-info > small { font: 600 .5rem Inter,"Segoe UI",system-ui,sans-serif; }
.tactical-marker-info > div button { min-height: 34px; font-size: .52rem; }

/* Subtle motion on every visible marker; marker transforms themselves remain untouched. */
@keyframes forum-marker-breathe {
  0%,100% { opacity: .14; transform: scale(.94); }
  50% { opacity: .34; transform: scale(1.08); }
}
.tactical-map-marker::after {
  opacity: .18;
  animation: forum-marker-breathe 2.8s ease-in-out infinite;
}
.tactical-map-marker.danger::after,.tactical-map-marker.enemy::after,.tactical-map-marker.objective::after {
  opacity: .18;
  animation: forum-marker-breathe 2.8s ease-in-out infinite;
}
.tactical-map-marker:nth-child(3n + 2)::after { animation-delay: -.9s; }
.tactical-map-marker:nth-child(3n + 3)::after { animation-delay: -1.8s; }
.operation-marker i { position: relative; }
.operation-marker.selected { z-index: 3; }
.operation-marker i::after {
  content: "";
  position: absolute;
  inset: -4px;
  border: 1px solid currentColor;
  opacity: .18;
  transform-origin: center;
  pointer-events: none;
  animation: forum-marker-breathe 3s ease-in-out infinite;
}
.operation-marker:nth-child(3n + 2) i::after { animation-delay: -1s; }
.operation-marker:nth-child(3n + 3) i::after { animation-delay: -2s; }
.operation-focus .operation-marker.selected::before,.operation-focus .operation-marker.selected::after { display: none; }

/* Short compositor-friendly transitions for strategic selections. */
@keyframes strategic-content-in {
  from { opacity: .68; transform: translateY(3px); }
  to { opacity: 1; transform: none; }
}
.selection-content,.strategic-list-content,.operation-focus-content {
  animation: strategic-content-in .18s cubic-bezier(.2,.75,.25,1) both;
}
#frontLegend button {
  position: relative;
  transition: background-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
#frontLegend button > i { background: var(--front); transition: transform .15s ease,opacity .15s ease; }
#frontLegend button:hover { transform: translateX(2px); }
#frontLegend button:active { transform: translateX(1px) scale(.99); }
#frontLegend button.active { background: rgba(40,127,200,.1); box-shadow: inset 3px 0 var(--front); }
#frontLegend button.active > i { opacity: 1; transform: scaleX(1.14); }
.strategic-row {
  position: relative;
  transition: background-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease;
}
.strategic-row:hover { transform: translateX(2px); }
.strategic-row:active { transform: translateX(1px) scale(.995); }
.strategic-row.active { box-shadow: inset 3px 0 var(--status-color,var(--forum-blue)); transform: translateX(2px); }
.strategic-row > i { transition: transform .16s ease,background-color .16s ease; }
.strategic-row.active > i { transform: scale(1.055); }
.operation-marker span {
  position: absolute;
  left: 41px;
  top: 50%;
  display: block;
  margin-left: 0;
  opacity: 0;
  visibility: hidden;
  transform: translate(-4px,-50%);
  pointer-events: none;
  transition: opacity .14s ease,transform .14s ease,visibility 0s linear .14s;
}
.operation-marker:hover span,.operation-marker.selected span {
  opacity: 1;
  visibility: visible;
  transform: translate(0,-50%);
  transition-delay: 0s;
}
.operation-marker > i {
  outline: 1px solid transparent;
  outline-offset: 3px;
  transition: transform .16s ease,outline-color .16s ease,background-color .16s ease,box-shadow .16s ease;
}
.operation-marker:hover > i,.operation-marker.selected > i { transform: scale(1.055); }
.operation-marker:active > i { transform: scale(.97); }
.operation-marker.selected > i { outline-color: var(--text); }
.front-label { outline: 0; }
.front-label::after {
  content: "";
  position: absolute;
  inset: -3px;
  border: 1px solid var(--front);
  opacity: 0;
  transform: scale(.96);
  pointer-events: none;
  transition: opacity .16s ease,transform .16s ease;
}
.front-label.selected { outline: 0; }
.front-label.selected::after { opacity: .82; transform: scale(1); }
.front-label > i,.front-label > span { transition: transform .16s ease,opacity .16s ease,color .16s ease; }
.front-label:hover > i,.front-label.selected > i { transform: scaleX(1.16); }
.front-label:hover > span,.front-label.selected > span { color: #fff; transform: translateX(1px); }
.sector-navigator { transition: opacity .16s ease; }
.sector-navigator button,.operation-focus-panel button {
  transition: color .15s ease,border-color .15s ease,background-color .15s ease,transform .15s ease;
}
.sector-navigator button:active,.operation-focus-panel button:active { transform: scale(.98); }
.operation-focus-panel {
  opacity: 0;
  visibility: hidden;
  transform: translateX(7px);
  pointer-events: none;
  animation: none;
  transition: opacity .18s ease,transform .18s cubic-bezier(.2,.75,.25,1),visibility 0s linear .18s;
}
.operation-focus-panel.is-open {
  opacity: 1;
  visibility: visible;
  transform: none;
  pointer-events: auto;
  transition-delay: 0s;
}

@media (max-width: 900px) {
  body.tactical-map-active:not(.guest-mode) { overflow: hidden; }
  body.tactical-map-active:not(.guest-mode) .forum-nav,
  body.tactical-map-active:not(.guest-mode) .planet-admin-row { visibility: hidden; pointer-events: none; }
  body.tactical-map-active:not(.guest-mode) .planets-page .globe-stage {
    position: fixed;
    z-index: 45;
    inset: 0;
    width: 100vw;
    height: 100dvh;
    min-height: 100vh;
    border: 0;
  }
  body.tactical-map-active .operation-focus-panel { visibility: hidden; }
}

@media (max-width: 760px) {
  .sector-navigator { bottom: 7px; max-width: calc(100% - 14px); }
  .sector-navigator > span { display: none; }
  .sector-navigator button { min-height: 31px; }
  .planets-page .drag-hint { top: 12px; }

  .tactical-map-view > header { display: grid; grid-template-columns: minmax(0,1fr); align-content: center; gap: 6px; padding: 7px 8px; }
  .tactical-map-view > header > .tactical-map-heading { min-width: 0; }
  .tactical-map-view > header strong { overflow: hidden; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
  .tactical-map-header-actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .tactical-view-switch { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; }
  .hologram-mode .tactical-map-scene { transform:translateY(1%) rotateX(50deg) scale(.96); }
  .tactical-hologram-elevation { transform:translate(-50%,-100%) rotateX(-50deg); }
  .tactical-map-view > header button { width: 100%; }

  .marker-palette-open .tactical-map-workspace { grid-template-columns: minmax(0,1fr); }
  .marker-palette-open .tactical-map-workspace .tactical-map-viewport { grid-column: 1; }
  .tactical-map-view .tactical-marker-palette {
    position: absolute;
    z-index: 10;
    left: 7px;
    right: 7px;
    top: auto;
    bottom: 7px;
    width: auto;
    height: auto;
    max-height: min(70vh,590px);
    box-shadow: 0 12px 28px rgba(0,0,0,.48);
  }
  .tactical-marker-tools { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; padding: 8px; }
  .tactical-marker-tools button { grid-template-columns: 1fr; justify-items: center; gap: 4px; min-height: 62px; padding: 6px 3px; text-align: center; }
  .tactical-marker-tools span { width: 100%; font-size: .64rem; line-height: 1.2; white-space: normal; }
  .tactical-marker-palette > p { display: block; font-size: .54rem; }
  .tactical-map-view > header strong { font-size: .69rem; }
  .tactical-map-view > header button { min-height: 31px; font-size: .48rem; }
}

/* Planet workspace: keep management tools beside the map and operation data bounded. */
.planet-tool-rail { display: none; width: auto; margin: 0; }
.event-mode .planet-tool-rail { display: flex; }
.planet-tool-rail .event-actions { position: static; display: grid; width: 100%; gap: 6px; }
.planet-tool-rail .event-actions button { min-width: 0; min-height: 43px; padding: 7px 8px; line-height: 1.25; white-space: normal; }
.planets-page .operation-focus-panel { display: none !important; }
.planets-page .left-rail > .hud-panel { flex: 0 0 auto; }
.planets-page .transmission p,.planets-page .selected-detail dd { overflow-wrap: anywhere; }
.selected-detail-heading { display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 11px; align-items: center; margin: 13px 14px 10px; }
.selected-detail-heading .detail-icon { width: 38px; height: 38px; margin: 0; font-size: 1rem; }
.selected-detail-heading h2 { margin: 0; }
.selected-detail-heading .sector { margin: 4px 0 0; }
.selected-detail > .selection-content > dl { margin-inline: 14px; }
.selected-detail > .selection-content > dl div { padding-block: 8px; }
.operation-detail-mode .activity-list > .panel-label { min-height: 36px; }
.operation-detail-mode .activity-list { display: none !important; }
.operation-detail-mode #strategicList .list-divider:first-child,
.operation-detail-mode #strategicList .strategic-row[data-kind="front"] { display: none; }
.operation-detail-mode #strategicList .strategic-row { min-height: 42px; }
.operation-detail-mode .selected-focus-actions { grid-template-columns: 1fr 1fr; margin-top: 10px; }
.operation-detail-mode .selected-focus-actions .guest-link-toggle { grid-column: 1 / -1; }
.operation-detail-mode .mission-report { margin: 10px 14px; padding: 10px 12px; }
.operation-detail-mode .entry-buttons { margin-top: 10px; }
.operation-detail-mode .operation-result { margin: 10px 14px; padding-top: 10px; }
.operation-detail-mode .selected-detail { min-height: 0; flex: 1 1 auto !important; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.focus-operation-switch { position: relative; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 7px; align-items: center; margin-top: 9px; }
.selected-detail .focus-operation-switch { margin: 10px 14px 0; }
.focus-operation-switch span { color: #8f989c; font-size: .47rem; font-weight: 900; letter-spacing: .06em; white-space: nowrap; }
.focus-operation-switch select { min-width: 0; height: 31px; padding: 0 24px 0 7px; border: 1px solid #484e52; outline: 0; color: #eceeef; background: #292d30; font-size: .56rem; font-weight: 700; text-overflow: ellipsis; }
.focus-operation-switch select:focus-visible { border-color: #287fc8; outline: 2px solid rgba(40,127,200,.28); }
.operation-focus-panel dl .wide { grid-column: 1 / -1; }
.operation-focus-panel dl dd { white-space: normal; overflow-wrap: anywhere; }

@media (min-width: 1361px) {
  body:not(.guest-mode) .planets-page .left-rail,
  body:not(.guest-mode) .planets-page .right-rail { height: var(--planet-workspace-height); min-height: 0; overflow: hidden; }
  body:not(.guest-mode) .planets-page .left-rail { overflow-y: auto; scrollbar-width: thin; }
  body:not(.guest-mode) .planets-page .right-rail .selected-detail { flex: 0 0 auto; }
  body:not(.guest-mode) .planets-page .activity-list { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; }
  body:not(.guest-mode) .planets-page #strategicList { min-height: 0; flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
  body.event-mode:not(.guest-mode) .planets-page .war-room { grid-template-columns: 220px 104px minmax(660px,1fr) 300px; gap: 12px; }
  body.event-mode:not(.guest-mode) .planets-page .left-rail { grid-column: 1; }
  body.event-mode:not(.guest-mode) .planets-page .planet-tool-rail { grid-column: 2; align-self: start; }
  body.event-mode:not(.guest-mode) .planets-page .globe-stage { grid-column: 3; }
  body.event-mode:not(.guest-mode) .planets-page .right-rail { grid-column: 4; }
  .planet-tool-rail .event-actions { grid-template-columns: minmax(0,1fr); }
}

@media (min-width: 901px) and (max-width: 1360px) {
  body:not(.guest-mode) .planets-page .left-rail { height: var(--planet-workspace-height); min-height: 0; overflow-y: auto; scrollbar-width: thin; }
  body:not(.guest-mode) .planets-page .right-rail .selected-detail { flex: 0 0 auto; }
  body:not(.guest-mode) .planets-page .activity-list { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; }
  body:not(.guest-mode) .planets-page #strategicList { min-height: 0; flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
  body.event-mode:not(.guest-mode) .planets-page .war-room {
    grid-template-areas: "tools tools right" "left globe right";
    grid-template-columns: 210px minmax(0,1fr) 290px;
    grid-template-rows: auto var(--planet-workspace-height);
  }
  body.event-mode:not(.guest-mode) .planets-page .planet-tool-rail { grid-area: tools; justify-content: flex-start; }
  body.event-mode:not(.guest-mode) .planets-page .left-rail { grid-area: left; }
  body.event-mode:not(.guest-mode) .planets-page .globe-stage { grid-area: globe; }
  body.event-mode:not(.guest-mode) .planets-page .right-rail { grid-area: right; height: 100%; min-height: 0; overflow: hidden; }
  .planet-tool-rail .event-actions { display: flex; flex-wrap: wrap; }
  .planet-tool-rail .event-actions button { min-height: 38px; }
}

@media (max-width: 900px) {
  body:not(.guest-mode) .planets-page .war-room { width: calc(100% - 12px); margin-block: 18px 50px; }
  body:not(.guest-mode) .planets-page .planet-tool-rail { order: -2; width: 100%; margin: 0; }
  body:not(.guest-mode) .planets-page .globe-stage { order: -1; height: clamp(500px,72dvh,680px); min-height: 0; scroll-margin-top: 8px; }
  body:not(.guest-mode) .planets-page .right-rail { order: 1; }
  body:not(.guest-mode) .planets-page .left-rail { order: 2; }
  body:not(.guest-mode) .planets-page .operation-detail-mode .selected-detail { overflow: visible; }
  body:not(.guest-mode) .planets-page #strategicList { max-height: none; overflow: visible; }
  .planet-tool-rail .event-actions { grid-template-columns: repeat(5,minmax(0,1fr)); }
  .planet-tool-rail .event-actions button { min-height: 44px; padding-inline: 5px; }
}

@media (max-width: 600px) {
  .planet-tool-rail .event-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .planet-tool-rail .event-actions #addOperation { grid-column: 1 / -1; }
  .focus-operation-switch { grid-template-columns: minmax(0,1fr); }
  .focus-operation-switch span { display: none; }
}

@media (min-width: 901px) {
  body:not(.guest-mode) .planets-page .globe-stage { height: var(--planet-workspace-height); min-height: var(--planet-workspace-height); }
  body.tactical-map-active:not(.guest-mode) .planets-page .war-room { grid-template-areas: "globe"; grid-template-columns: minmax(0,1fr); grid-template-rows: var(--planet-workspace-height); }
  body.tactical-map-active:not(.guest-mode) .planets-page .planet-tool-rail,
  body.tactical-map-active:not(.guest-mode) .planets-page .left-rail,
  body.tactical-map-active:not(.guest-mode) .planets-page .right-rail { display: none; }
  body.tactical-map-active:not(.guest-mode) .planets-page .globe-stage { grid-area: globe; width: 100%; }
}

/* Internal event-lead guide: quiet forum panels, accessible diagrams and lightweight visuals. */
.event-guide-page { color: #dedede; }
.guide-shell { width: min(1170px,calc(100% - 36px)); margin: 28px auto 70px; }
.guide-hero { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(310px,.75fr); gap: 26px; align-items: center; padding: 28px; border: 1px solid #393e41; border-top: 4px solid var(--forum-blue); background: #1b1e20; }
.guide-hero h2 { margin: 9px 0 8px; color: #f4f4f4; font-size: clamp(1.35rem,2.5vw,2rem); }
.guide-hero p { max-width: 690px; margin: 0; color: #a2a9ad; font-size: .9rem; line-height: 1.7; }
.guide-quick-check { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; border: 1px solid #3a3f42; background: #3a3f42; }
.guide-quick-check span { display: flex; align-items: center; gap: 8px; min-height: 47px; padding: 8px 10px; color: #c6cbce; background: #242729; font-size: .71rem; }
.guide-quick-check span:last-child { grid-column: 1/-1; }
.guide-quick-check b { display: grid; width: 25px; height: 25px; flex: 0 0 25px; place-items: center; color: #fff; background: var(--forum-blue); font-size: .57rem; }
.guide-layout { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 18px; align-items: start; margin-top: 18px; }
.guide-toc { position: sticky; top: 16px; display: grid; max-height: calc(100vh - 32px); overflow-y: auto; border: 1px solid #363b3e; background: #1b1e20; }
.guide-toc > strong { padding: 15px 15px 12px; border-bottom: 1px solid #34393c; color: #f0f0f0; font-size: .62rem; letter-spacing: .12em; }
.guide-toc nav { display: grid; padding: 6px; }
.guide-toc a { display: flex; min-height: 38px; align-items: center; padding: 7px 9px; border-left: 3px solid transparent; color: #aeb4b7; font-size: .72rem; line-height: 1.3; text-decoration: none; }
.guide-toc a:hover { border-left-color: #5f6870; color: #fff; background: #272b2e; }
.guide-toc a:focus-visible { outline: 2px solid #6eafe0; outline-offset: -2px; color: #fff; }
.guide-toc > small { padding: 12px 14px; border-top: 1px solid #34393c; color: #8d969a; font-size: .54rem; line-height: 1.4; }
.guide-manual { display: grid; gap: 18px; min-width: 0; }
.guide-section { scroll-margin-top: 18px; min-width: 0; padding: 28px; border: 1px solid #363b3e; background: #1b1e20; }
.guide-section > header { display: grid; grid-template-columns: 45px minmax(0,1fr) auto; gap: 13px; align-items: center; margin-bottom: 21px; padding-bottom: 18px; border-bottom: 1px solid #383d40; }
.guide-section > header > div { min-width: 0; }
.guide-section > header small { color: #729fc5; font-size: .56rem; font-weight: 900; letter-spacing: .11em; }
.guide-section h2 { margin: 4px 0 0; color: #f3f3f3; font-size: clamp(1.22rem,2vw,1.6rem); line-height: 1.2; }
.guide-section h3 { margin: 24px 0 8px; color: #ededed; font-size: 1rem; }
.guide-section p { margin: 0 0 16px; color: #aab0b3; font-size: .9rem; line-height: 1.7; }
.guide-section em { color: #dfe7eb; font-style: normal; font-weight: 700; }
.guide-chapter { display: grid; width: 43px; height: 43px; place-items: center; border: 1px solid #4a5359; color: #b8d5eb; background: #262b2f; font: 800 .71rem var(--mono); }
.guide-role { min-height: 25px; padding: 6px 8px; border: 1px solid #3c7bad; color: #b9ddf5; background: rgba(40,127,200,.1); font-size: .52rem; font-weight: 900; letter-spacing: .08em; text-align: center; }
.guide-role.role-senior { border-color: #536a99; color: #c7d5ef; background: rgba(54,76,124,.15); }
.guide-lead { max-width: 760px; color: #c3c8ca !important; font-size: .95rem !important; }
.guide-flow-figure,.guide-planet-figure,.guide-tactical-figure,.guide-guest-figure { margin: 20px 0 24px; }
.guide-flow-figure figcaption,.guide-planet-figure figcaption,.guide-tactical-figure figcaption,.guide-guest-figure figcaption { margin-top: 9px; color: #858e92; font-size: .72rem; line-height: 1.55; }
.guide-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr; gap: 7px; align-items: center; padding: 16px; border: 1px solid #3b4144; background: #222527; }
.guide-flow > span { display: grid; min-height: 92px; align-content: center; justify-items: center; gap: 4px; padding: 9px 6px; border: 1px solid #3d4346; background: #191c1e; text-align: center; }
.guide-flow > span b { display: grid; width: 25px; height: 25px; place-items: center; color: #fff; background: var(--forum-blue); font-size: .58rem; }
.guide-flow > span strong { font-size: .63rem; letter-spacing: .07em; }
.guide-flow > span small { color: #879095; font-size: .57rem; line-height: 1.35; }
.guide-flow > i { color: #6f787d; font-style: normal; }
.guide-steps { display: grid; gap: 1px; margin: 18px 0 22px; padding: 0; background: #3a3f42; counter-reset: guide-step; list-style: none; }
.guide-steps li { display: grid; grid-template-columns: 48px minmax(0,1fr); min-height: 76px; background: #222527; counter-increment: guide-step; }
.guide-steps li::before { content: counter(guide-step,decimal-leading-zero); display: grid; place-items: center; border-right: 1px solid #3a3f42; color: #8fb9d8; font: 800 .68rem var(--mono); }
.guide-steps li > div { display: grid; align-content: center; gap: 4px; padding: 12px 15px; }
.guide-steps b { color: #eceeef; font-size: .83rem; }
.guide-steps p { margin: 0; font-size: .79rem; line-height: 1.55; }
.guide-steps.compact li { min-height: 68px; }
.guide-two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.guide-two-column > div { min-width: 0; padding: 18px; border: 1px solid #3a3f42; background: #222527; }
.guide-two-column h3 { margin-top: 0; }
.guide-list { display: grid; gap: 8px; margin: 13px 0 0; padding: 0; color: #b8bdc0; list-style: none; }
.guide-list li { position: relative; padding-left: 18px; font-size: .82rem; line-height: 1.55; }
.guide-list li::before { content: ""; position: absolute; left: 2px; top: .63em; width: 6px; height: 6px; background: #5797c7; }
.guide-list.boxed { gap: 1px; padding: 1px; background: #3b4043; }
.guide-list.boxed li { min-height: 52px; padding: 13px 14px 13px 34px; background: #222527; }
.guide-list.boxed li::before { left: 16px; top: 20px; }
.guide-list.boxed b { color: #e8eaeb; }
.guide-callout { display: grid; grid-template-columns: 105px minmax(0,1fr); margin: 18px 0; border: 1px solid #41484c; border-left: 4px solid #5b94bd; background: #24282a; }
.guide-callout b { display: grid; min-height: 58px; place-items: center; border-right: 1px solid #41484c; color: #c4ddef; font-size: .57rem; letter-spacing: .1em; }
.guide-callout span { align-self: center; padding: 12px 15px; color: #b4bbbe; font-size: .8rem; line-height: 1.55; }
.guide-callout.warning { border-left-color: #d1a947; }.guide-callout.warning b { color: #e7ca7b; }
.guide-callout.tip { border-left-color: #4f9b76; }.guide-callout.tip b { color: #9ad0b3; }
.guide-planet-demo { display: grid; grid-template-columns: minmax(280px,430px) minmax(180px,1fr); gap: 22px; align-items: center; padding: 22px; border: 1px solid #3a4043; background: #222527; }
.guide-demo-orb { position: relative; width: min(100%,400px); aspect-ratio: 1; overflow: hidden; border: 2px solid #65747b; border-radius: 50%; background: radial-gradient(circle at 33% 27%,#a28b58 0 12%,#74633d 32%,#443c2d 67%,#181919 100%); box-shadow: inset -58px -32px 70px rgba(0,0,0,.58); }
.guide-demo-orb::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 27% 31%,rgba(255,255,255,.14),transparent 35%); pointer-events: none; }
.guide-demo-orb svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.guide-demo-orb ellipse { fill: none; stroke: rgba(165,209,224,.66); stroke-width: 1.4; stroke-dasharray: 6 5; }
.guide-demo-orb .demo-front { fill: none; stroke: #55c5e9; stroke-width: 5; filter: drop-shadow(0 0 3px rgba(85,197,233,.65)); }
.guide-demo-orb .sector-label { position: absolute; z-index: 2; padding: 2px 4px; color: rgba(239,245,246,.76); background: rgba(30,34,35,.58); font: 800 .65rem var(--mono); }
.guide-demo-orb .a1 { left: 23%; top: 17%; }.guide-demo-orb .b2 { left: 37%; top: 48%; }.guide-demo-orb .c2 { right: 27%; top: 48%; }.guide-demo-orb .d3 { right: 18%; bottom: 18%; }
.guide-demo-operation { position: absolute; z-index: 3; right: 22%; top: 44%; display: grid; width: 32px; height: 32px; place-items: center; border: 2px solid #f0cf59; color: #f0cf59; background: #252727; font-style: normal; }
.guide-demo-legend { display: grid; gap: 12px; color: #b7bdc0; font-size: .79rem; }
.guide-demo-legend span { display: flex; align-items: center; gap: 10px; }.guide-demo-legend i { flex: 0 0 auto; }
.guide-demo-legend .line { width: 32px; height: 4px; background: #55c5e9; }.guide-demo-legend .marker { display: grid; width: 26px; height: 26px; border: 2px solid #f0cf59; background: #252727; }
.guide-field-board { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 20px 0; padding: 1px; background: #3c4144; }
.guide-field-board span { display: grid; min-width: 0; gap: 5px; padding: 14px; background: #222527; }
.guide-field-board .wide { grid-column: 1/-1; }
.guide-field-board small { color: #939ca0; font-size: .55rem; letter-spacing: .09em; }.guide-field-board b { overflow: hidden; color: #e0e3e4; font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.guide-front-demo { display: flex; align-items: center; gap: 0; margin-top: 20px; padding: 24px; border: 1px solid #3b4144; background: #222527; }
.guide-front-demo span { display: grid; width: 32px; height: 32px; flex: 0 0 32px; place-items: center; border: 2px solid #61bee1; color: #d7f3ff; background: #1d2528; font: 800 .62rem var(--mono); }
.guide-front-demo i { height: 4px; flex: 1 1 auto; background: #61bee1; transform: rotate(-4deg); }.guide-front-demo i:nth-of-type(2) { transform: rotate(7deg); }.guide-front-demo i:nth-of-type(3) { transform: rotate(-8deg); }
.guide-front-demo small { flex: 1.4 1 auto; margin-left: 18px; color: #90999d; font-size: .7rem; line-height: 1.5; }
.guide-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 18px 0; }
.guide-form-grid article { padding: 17px; border: 1px solid #3b4144; background: #222527; }
.guide-form-grid article > b { color: #b9d5e9; font-size: .61rem; letter-spacing: .09em; }
.guide-form-grid ul { display: grid; gap: 7px; margin: 12px 0 0; padding-left: 18px; color: #adb4b7; }
.guide-form-grid li { font-size: .79rem; line-height: 1.45; }
.guide-status-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 14px 0 20px; }
.guide-status-grid span { display: grid; grid-template-columns: 11px minmax(0,1fr); gap: 3px 9px; align-items: center; min-height: 61px; padding: 10px 12px; border: 1px solid #3b4144; background: #222527; }
.guide-status-grid i { grid-row: 1/3; width: 10px; height: 34px; background: var(--status); }
.guide-status-grid b { color: var(--status); font-size: .66rem; }.guide-status-grid small { color: #858e92; font-size: .62rem; }
.guide-status-grid .planned { --status:#e1bd46; }.guide-status-grid .success { --status:#48c77b; }.guide-status-grid .failure { --status:#e35e59; }.guide-status-grid .locked { --status:#767d81; }
.guide-status-grid .draft { --status:#65b8e8; }
.guide-outcomes { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-top: 18px; }
.guide-outcomes article { position: relative; overflow: hidden; min-height: 130px; padding: 16px 15px 15px; border: 1px solid color-mix(in srgb,var(--outcome),#2f383d 72%); background: linear-gradient(155deg,color-mix(in srgb,var(--outcome),#101618 12%),#14191b 68%); box-shadow: inset 0 1px 0 rgba(255,255,255,.035),0 14px 28px rgba(0,0,0,.18); }
.guide-outcomes article::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: var(--outcome); box-shadow: 0 0 18px color-mix(in srgb,var(--outcome),transparent 45%); }
.guide-outcomes article::after { content: ""; position: absolute; right: -28px; bottom: -34px; width: 86px; height: 86px; border: 1px solid color-mix(in srgb,var(--outcome),transparent 50%); border-radius: 50%; background: color-mix(in srgb,var(--outcome),transparent 90%); }
.guide-outcomes small { display: inline-flex; margin-bottom: 18px; padding: 5px 8px; border: 1px solid color-mix(in srgb,var(--outcome),transparent 45%); color: color-mix(in srgb,var(--outcome),#ffffff 20%); background: color-mix(in srgb,var(--outcome),transparent 88%); font-size: .57rem; font-weight: 900; letter-spacing: .12em; }
.guide-outcomes b { position: relative; z-index: 1; display: block; margin-bottom: 7px; color: #f3f7f7; font-size: 1rem; }
.guide-outcomes span { position: relative; z-index: 1; color: #9ca6aa; font-size: .78rem; line-height: 1.45; }
.guide-outcomes .outcome-defeat { --outcome:#e0625e; }
.guide-outcomes .outcome-partial { --outcome:#dfba54; }
.guide-outcomes .outcome-success { --outcome:#65d39a; }
.guide-outcomes .outcome-major { --outcome:#78d9f2; }
.guide-mini-steps { display: grid; gap: 9px; margin: 12px 0 0; padding-left: 21px; color: #b7bdc0; }
.guide-mini-steps li { padding-left: 4px; font-size: .81rem; line-height: 1.52; }
.guide-tactical-preview { position: relative; width: 100%; aspect-ratio: 1.45; overflow: hidden; border: 1px solid #42484b; background: #151819; }
.guide-tactical-preview::after { content: ""; position: absolute; inset: 0; pointer-events: none; box-shadow: inset 0 0 60px rgba(0,0,0,.55); }
.guide-tactical-preview > img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.78) contrast(1.08) brightness(.82); }
.guide-map-toolbar { position: absolute; z-index: 3; left: 10px; top: 10px; display: grid; gap: 4px; padding: 5px; border: 1px solid #555c60; background: rgba(32,35,37,.94); }
.guide-map-toolbar span { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid #555c60; color: #ededed; background: #292c2f; font-weight: 900; }
.map-demo-marker { position: absolute; z-index: 4; display: grid; width: 34px; height: 34px; place-items: center; border: 3px solid currentColor; border-radius: 50%; background: rgba(30,33,35,.94); font-style: normal; font-weight: 900; }
.map-demo-marker.danger { left: 29%; top: 31%; color: #ff5b57; }.map-demo-marker.drop { right: 24%; bottom: 21%; color: #65ddff; }.map-demo-marker.objective { right: 35%; top: 38%; color: #f1d35b; }
.guide-tactical-preview > svg { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; }
.guide-tactical-preview > svg path,.guide-tactical-preview > svg rect { fill: rgba(255,173,74,.12); stroke: #ffad4a; stroke-width: .8; vector-effect: non-scaling-stroke; }
.guide-tool-groups { display: grid; gap: 14px; margin: 18px 0; }
.guide-tool-groups > section { padding: 16px; border: 1px solid #3a4043; background: #222527; }
.guide-tool-groups h3 { margin-top: 0; }
.guide-tool-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 6px; }
.guide-tool-grid span { display: grid; min-width: 0; min-height: 66px; align-content: center; justify-items: center; gap: 5px; padding: 6px 3px; border: 1px solid #41474a; color: #b7bdc0; background: #1b1e20; font-size: .62rem; text-align: center; }
.guide-tool-grid i { display: grid; width: 29px; height: 29px; place-items: center; border: 2px solid var(--tool,#78858b); color: var(--tool,#d6d6d6); background: #25282a; font-style: normal; font-weight: 900; }
.guide-tool-grid.drawing { grid-template-columns: repeat(6,minmax(0,1fr)); }.guide-tool-grid.drawing i { border-width: 1px; }
.guide-guest-figure { align-self: start; }
.guide-guest-figure > div { display: grid; gap: 9px; padding: 18px; border: 1px solid #444a4d; border-top: 3px solid #287fc8; background: #222527; }
.guide-guest-figure small { color: #84add0; font-size: .54rem; font-weight: 900; letter-spacing: .08em; }.guide-guest-figure strong { color: #f0f0f0; font-size: 1rem; }.guide-guest-figure p { margin: 0; font-size: .76rem; }.guide-guest-figure span { overflow: hidden; padding: 10px; border: 1px solid #444a4d; color: #afb8bd; background: #191c1e; font: .65rem var(--mono); text-overflow: ellipsis; white-space: nowrap; }.guide-guest-figure .guide-copy-example { display: grid; min-height: 37px; place-items: center; border: 0; color: #fff; background: var(--forum-blue); font-family: inherit; font-size: .61rem; font-weight: 900; }
.guide-scope-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.guide-scope-grid span { padding: 15px; border: 1px solid #3d4346; color: #aeb5b8; background: #222527; font-size: .8rem; line-height: 1.6; }
.guide-scope-grid b { display: block; margin-bottom: 7px; font-size: .61rem; letter-spacing: .08em; }.guide-scope-grid .allowed b { color: #6fc895; }.guide-scope-grid .blocked b { color: #df7370; }
.guide-live-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin: 18px 0; background: #3b4043; }
.guide-live-row span { display: grid; grid-template-columns: 13px 1fr; gap: 4px 8px; min-height: 85px; align-content: center; padding: 13px; background: #222527; }
.guide-live-row i { grid-row: 1/3; width: 9px; height: 9px; margin-top: 3px; border-radius: 50%; background: #52b77d; }
.guide-live-row b { font-size: .64rem; letter-spacing: .05em; }.guide-live-row small { color: #8d969a; font-size: .66rem; line-height: 1.4; }
.guide-rank-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin: 20px 0; padding: 0; list-style: none; }
.guide-rank-list > li { min-width: 0; }
.guide-rank-card { --rank-accent:#6d7880; display: flex; height: 100%; min-width: 0; flex-direction: column; border: 1px solid #3a4043; border-left: 4px solid var(--rank-accent); background: #222527; }
.guide-rank-card.rank-testmod { --rank-accent:#35b85a; }.guide-rank-card.rank-event { --rank-accent:#3b82f6; }.guide-rank-card.rank-moderator { --rank-accent:#d1b833; }.guide-rank-card.rank-senior-moderator { --rank-accent:#d77c31; }.guide-rank-card.rank-senior-event { --rank-accent:#5978bd; }.guide-rank-card.rank-admin { --rank-accent:#d95555; }.guide-rank-card.rank-sadmin { --rank-accent:#d160b6; }.guide-rank-card.rank-siteadmin { --rank-accent:#9b6cc4; }
.guide-rank-head { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 11px; align-items: center; padding: 13px 15px; border-bottom: 1px solid #3a4043; background: #272b2e; }
.guide-rank-head > span { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--rank-accent); color: #eef1f2; background: #202325; font: 800 .64rem var(--mono); }
.guide-rank-head small { color: #929ca1; font-size: .65rem; font-weight: 900; letter-spacing: .08em; }.guide-rank-card .guide-rank-head h3 { margin: 3px 0 0; color: #f1f2f3; font-size: 1.02rem; }
.guide-rank-inherits { margin: 0 !important; padding: 11px 15px; border-bottom: 1px solid #373c3f; color: #b9d2e4 !important; background: #202426; font-size: .78rem !important; font-weight: 700; line-height: 1.45 !important; }
.guide-rank-rights { display: grid; gap: 9px; margin: 0; padding: 15px 16px 15px 35px; color: #b8bec1; }
.guide-rank-rights li { padding-left: 3px; font-size: .8rem; line-height: 1.55; overflow-wrap: anywhere; }.guide-rank-rights li::marker { color: var(--rank-accent); }
.guide-rank-limit { margin: auto 14px 14px !important; padding: 11px 12px; border: 1px solid #42484b; color: #9fa7ab !important; background: #1b1e20; font-size: .74rem !important; line-height: 1.55 !important; }.guide-rank-limit b { color: #e3c87d; }
.guide-rights-exception { margin: 20px 0; border: 1px solid #41484c; border-left: 4px solid #ad78cd; background: #222527; }
.guide-rights-exception header { display: flex; gap: 12px; align-items: center; padding: 13px 16px; border-bottom: 1px solid #41484c; background: #272b2e; }.guide-rights-exception header span { padding: 5px 7px; color: #dfc1ef; background: #342b39; font-size: .55rem; font-weight: 900; letter-spacing: .08em; }.guide-rights-exception h3 { margin: 0; font-size: .96rem; }
.guide-rights-exception p { margin: 0; padding: 15px 17px; font-size: .82rem; }
.guide-faq { display: grid; gap: 7px; }
.guide-faq details { border: 1px solid #3d4346; background: #222527; }
.guide-faq summary { min-height: 48px; padding: 14px 42px 12px 15px; color: #e0e3e4; font-size: .82rem; font-weight: 700; cursor: pointer; }
.guide-faq summary:focus-visible { outline: 2px solid #6eafe0; outline-offset: -2px; }
.guide-faq details p { margin: 0; padding: 0 15px 16px; font-size: .8rem; }
.guide-final-check { display: grid; min-inline-size: 0; grid-template-columns: 1fr 1fr; gap: 1px; margin: 22px 0 0; padding: 1px; border: 0; background: #3b4043; }
.guide-final-check > legend { width: 100%; grid-column: 1/-1; padding: 13px 15px; color: #bdd8ea; background: #272b2e; font-size: .64rem; font-weight: 800; letter-spacing: .09em; }
.guide-final-check label { display: flex; min-height: 47px; align-items: center; gap: 10px; padding: 10px 13px; color: #b9bec1; background: #222527; font-size: .76rem; }
.guide-final-check input { width: 17px; height: 17px; accent-color: var(--forum-blue); }

@media (max-width: 900px) {
  .guide-hero { grid-template-columns: 1fr; }
  .guide-layout { grid-template-columns: 1fr; }
  .guide-toc { top: 58px; z-index: 12; max-height: none; overflow: visible; }
  .guide-toc > strong,.guide-toc > small { display: none; }
  .guide-toc nav { display: flex; gap: 4px; overflow-x: auto; padding: 6px; scrollbar-width: thin; }
  .guide-toc a { min-width: max-content; min-height: 42px; border: 1px solid #3d4346; border-left-width: 1px; background: #232628; }
  .guide-toc a:hover { border-color: #6a7479; }
  .guide-section { scroll-margin-top: 116px; }
  .guide-flow { grid-template-columns: 1fr; }
  .guide-flow > i { transform: rotate(90deg); text-align: center; }
  .guide-flow > span { min-height: 76px; }
  .guide-planet-demo { grid-template-columns: 1fr; justify-items: center; }
  .guide-demo-legend { width: min(100%,400px); }
  .guide-tool-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .guide-tool-grid.drawing { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .guide-rank-list { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .guide-shell { width: min(100% - 20px,1170px); margin-top: 12px; }
  .guide-heading { width: calc(100% - 20px); padding-block: 30px 20px; }
  .guide-hero,.guide-section { padding: 18px; }
  .guide-hero { gap: 18px; }
  .guide-quick-check { grid-template-columns: 1fr; }.guide-quick-check span:last-child { grid-column: auto; }
  .guide-section > header { grid-template-columns: 42px minmax(0,1fr); gap: 10px; }
  .guide-section > header > .guide-role { grid-column: 1/-1; justify-self: start; }
  .guide-section p,.guide-hero p { font-size: .9rem; line-height: 1.7; }
  .guide-two-column,.guide-form-grid,.guide-status-grid,.guide-scope-grid,.guide-final-check { grid-template-columns: 1fr; }
  .guide-final-check > legend,.guide-field-board .wide { grid-column: 1; }
  .guide-field-board { grid-template-columns: 1fr; }
  .guide-callout { grid-template-columns: 1fr; }.guide-callout b { min-height: 38px; border-right: 0; border-bottom: 1px solid #41484c; }.guide-callout span { font-size: .83rem; }
  .guide-front-demo { display: grid; grid-template-columns: 32px 1fr 32px 1fr 32px 1fr 32px; padding: 18px 10px; }.guide-front-demo small { grid-column: 1/-1; margin: 15px 0 0; }
  .guide-tool-grid,.guide-tool-grid.drawing { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .guide-rank-inherits,.guide-rank-rights li,.guide-rank-limit,.guide-rights-exception p { font-size: .88rem !important; }
  .guide-live-row { grid-template-columns: 1fr; }
  .guide-tactical-preview { aspect-ratio: 1.05; }
  .guide-map-toolbar span { width: 26px; height: 26px; }
  .map-demo-marker { width: 29px; height: 29px; }
  .guide-steps li { grid-template-columns: 42px minmax(0,1fr); }
  .guide-steps p,.guide-list li,.guide-form-grid li,.guide-mini-steps li,.guide-faq details p { font-size: .88rem; }
  .guide-tool-grid span,.guide-status-grid small { font-size: .75rem; }
}

@media (prefers-reduced-motion: reduce) {
  .tactical-map-marker::after,.operation-marker i::after,
  .operation-focus .operation-marker.selected::before,.operation-focus .operation-marker.selected::after {
    animation: none !important;
    opacity: .24;
    transform: none;
  }
  .selection-content,.strategic-list-content,.operation-focus-content,
  .tactical-map-open .tactical-map-view,.tactical-map-view.closing { animation: none !important; }
  .tactical-ping { animation:none!important; opacity:.55; }
  .tactical-map-scene { transition:none!important; }
  .tactical-hologram-scan { animation:none!important; }
  .tactical-hologram-elevation { animation:none!important; opacity:.72; }
  .calendar-day-menu,.calendar-toolbar button,.calendar-day { transition:none!important; }
  #frontLegend button,#frontLegend button > i,.strategic-row,.strategic-row > i,
  .operation-marker,.operation-marker span,.operation-marker > i,.front-label::after,.front-label > i,.front-label > span,
  .sector-navigator,.sector-navigator button,.operation-focus-panel,.operation-focus-panel button {
    transition: none !important;
  }
  #frontLegend button:hover,#frontLegend button:active,.strategic-row:hover,.strategic-row:active,.strategic-row.active,
  .operation-marker:hover > i,.operation-marker.selected > i,.operation-marker:active > i,
  .front-label:hover > i,.front-label.selected > i,.front-label:hover > span,.front-label.selected > span {
    transform: none !important;
  }
  .operation-marker span { transform: translate(0,-50%); }
  .operation-focus-panel { transform: none; }
}

@media (max-width: 640px) {
  .maintenance-access-banner { align-items: flex-start; flex-direction: column; gap: 2px; }
  .maintenance-control { grid-template-columns: 1fr; }
  .maintenance-screen-card { padding: 30px 20px; }
  .logs-heading { align-items:stretch; flex-direction:column; gap:16px; }
  .logs-trash-action { width:fit-content; margin-top:0; }
}

/* Campaign overview and private operation drafts */
.campaign-shell { width:min(1170px,calc(100% - 36px)); margin:28px auto 70px; }
.campaign-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; border:1px solid #30363a; background:#30363a; }
.campaign-stats article { display:grid; min-height:112px; align-content:center; padding:18px 20px; background:linear-gradient(145deg,#20272b,#181c1f); }
.campaign-stats small { color:#6f9fc8; font-size:.5rem; font-weight:900; letter-spacing:.13em; }
.campaign-stats b { margin:5px 0 2px; color:#eef6f8; font:900 1.65rem ui-monospace,monospace; }
.campaign-stats span { color:#7f8b91; font-size:.56rem; }
.campaign-toolbar { display:grid; grid-template-columns:minmax(280px,1fr) 220px; gap:9px; margin:14px 0; }
.campaign-toolbar label { display:grid; gap:5px; color:#78878e; font-size:.48rem; font-weight:900; letter-spacing:.1em; }
.campaign-toolbar input,.campaign-toolbar select { width:100%; min-height:42px; padding:0 12px; border:1px solid #38444a; outline:0; color:#dce7eb; background:#151a1d; font-size:.64rem; }
.campaign-toolbar input:focus,.campaign-toolbar select:focus { border-color:#4f9dce; box-shadow:0 0 0 2px rgba(79,157,206,.1); }
.campaign-search { position:relative; align-self:end; }.campaign-search>span { position:absolute; left:13px; bottom:9px; color:#65b7df; font-size:1rem; }.campaign-search input { padding-left:37px; }
.campaign-list { display:grid; gap:14px; }.campaign-card { overflow:hidden; border:1px solid #30383c; background:#181d20; }
.campaign-card>header { display:flex; gap:18px; align-items:center; justify-content:space-between; padding:18px 20px 14px; }
.campaign-card>header div { display:grid; gap:3px; }.campaign-card>header small { color:#6f9fc8; font-size:.46rem; font-weight:900; letter-spacing:.13em; }.campaign-card>header h2 { margin:0; color:#edf4f6; font-size:1rem; }.campaign-card>header span { color:#7f8b91; font-size:.58rem; }.campaign-card>header>strong { color:#76bee7; font:900 1.25rem ui-monospace,monospace; }
.campaign-progress { height:3px; background:#283136; }.campaign-progress i { display:block; height:100%; background:linear-gradient(90deg,#407eaa,#6ec7e9); transition:width .25s ease; }
.campaign-timeline { padding:8px 14px 14px; }.campaign-node { --status-color:#e8c44d; position:relative; display:grid; grid-template-columns:26px minmax(0,1fr) auto auto; gap:12px; align-items:center; min-height:74px; margin-left:calc(var(--campaign-depth) * 24px); padding:10px 10px 10px 24px; border-bottom:1px solid #2b3236; }
.campaign-node:last-child { border-bottom:0; }.campaign-node>.campaign-connector { position:absolute; left:5px; top:-1px; bottom:-1px; width:12px; border-left:1px solid #3b5969; border-bottom:1px solid #3b5969; }.campaign-node>i { display:grid; width:26px; height:26px; place-items:center; border:1px solid var(--status-color); color:var(--status-color); font-style:normal; }.campaign-node>div { display:grid; gap:3px; min-width:0; }.campaign-node>div small { color:#718087; font-size:.47rem; text-transform:uppercase; }.campaign-node>div b { overflow:hidden; color:#dce7eb; font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }.campaign-node>div span { overflow:hidden; color:#89959a; font-size:.52rem; text-overflow:ellipsis; white-space:nowrap; }.campaign-node>em { color:var(--status-color); font-size:.48rem; font-style:normal; font-weight:900; }.campaign-node>button { min-height:32px; padding:0 10px; border:1px solid #4388bf; color:#7ec0ee; background:transparent; font-size:.48rem; font-weight:900; cursor:pointer; }.campaign-node>button:hover { color:#09151b; background:#7ec0ee; }
.campaign-node.status-success { --status-color:#59d88a; }.campaign-node.status-failure { --status-color:#ef615d; }.campaign-node.status-locked { --status-color:#747d82; }.campaign-node.status-draft { --status-color:#65b8e8; background:rgba(55,124,168,.07); }
.campaign-empty { padding:30px; border:1px solid #30363a; background:#181d20; }
.operation-marker.status-draft,.strategic-row.status-draft { --status-color:#65b8e8; }.calendar-status.status-draft,.status-text.status-draft { color:#65b8e8; }
.operation-draft-toggle { display:flex!important; gap:12px!important; align-items:flex-start; padding:13px 14px; border:1px solid #37556a; background:rgba(47,113,153,.1); cursor:pointer; }.operation-draft-toggle input { flex:0 0 auto; width:18px!important; min-height:18px!important; margin:2px 0 0; accent-color:#68bce7; }.operation-draft-toggle span { display:grid; gap:4px; }.operation-draft-toggle b { color:#dbeaf1; font-size:.7rem; }.operation-draft-toggle small { color:#89a0ab; font-size:.58rem; line-height:1.5; }

/* Orbital operation type: lightweight SVG and an unmistakable off-surface treatment. */
.spacebattle-icon { display:block; width:22px; height:22px; overflow:visible; color:#ff6678; fill:currentColor; filter:drop-shadow(0 0 4px rgba(255,54,78,.72)); }
.spacebattle-icon-cut { fill:#11171a; }.spacebattle-icon-core { fill:#ffd4d9; }
.detail-icon .spacebattle-icon { width:29px; height:29px; }
.strategic-row .spacebattle-icon,.calendar-row .spacebattle-icon,.tactician-operations .spacebattle-icon,.campaign-node .spacebattle-icon,.mission-archive-row .spacebattle-icon { width:19px; height:19px; }
.operation-marker.spacebattle > i { color:#ff6678; border-color:#ff6678; background:rgba(22,5,9,.94); box-shadow:0 0 18px rgba(255,53,77,.44); }
.operation-marker.spacebattle > i::before { content:""; position:absolute; inset:-10px; border:1px dashed rgba(255,102,120,.55); border-radius:50%; pointer-events:none; animation:spacebattle-orbit 7s linear infinite; }
.operation-marker .operation-location { margin-bottom:3px; color:#ff8b98; font-size:.46rem; letter-spacing:.1em; }
.detail-icon.spacebattle,.strategic-row > i.spacebattle,.calendar-row > i.spacebattle,.tactician-operations i.spacebattle { color:#ff6678; }
.operation-focus-panel.spacebattle { --focus-color:#ff6678; }
.spacebattle-location { border-left:2px solid #ff6678!important; background:rgba(119,20,34,.12)!important; }.spacebattle-location dd { color:#ff9ba7!important; font-weight:800; letter-spacing:.035em; }
.spacebattle-editor-note { display:none; grid-template-columns:42px minmax(0,1fr); gap:11px; align-items:center; padding:12px 14px; border:1px solid rgba(255,91,110,.5); border-left:3px solid #ff5b6e; background:rgba(112,17,31,.12); }
#operationForm.spacebattle-operation .spacebattle-editor-note { display:grid; }
.spacebattle-editor-note > svg { width:36px; height:36px; }.spacebattle-editor-note span { display:grid; gap:3px; }.spacebattle-editor-note b { color:#ff9aa6; font-size:.65rem; letter-spacing:.07em; }.spacebattle-editor-note small { color:#a99498; font-size:.56rem; line-height:1.5; }
.completed-operation-note { display:grid; gap:4px; padding:12px 14px; border:1px solid #4b705a; border-left:3px solid #59d88a; background:rgba(46,115,72,.1); }.completed-operation-note b { color:#78dfa0; font-size:.63rem; letter-spacing:.08em; }.completed-operation-note span { color:#9eb0a5; font-size:.58rem; line-height:1.5; }
.readonly-operation-status { display:flex; align-items:center; min-height:39px; padding:0 11px; border:1px solid #42604e; color:#70dc99; background:#17251d; font-size:.6rem; font-weight:900; letter-spacing:.05em; }
.operation-assignee-field { gap:7px!important; padding:13px 14px; border:1px solid #66552f; border-left:3px solid #d6aa42; background:rgba(116,83,19,.1); }.operation-assignee-field > span { display:flex; align-items:center; justify-content:space-between; gap:10px; color:#e7d7ae; }.operation-assignee-field em { padding:3px 6px; border:1px solid #806b38; color:#e0b84f; font-size:.45rem; font-style:normal; font-weight:900; letter-spacing:.1em; }.operation-assignee-field select { border-color:#665a3c!important; background:#17150f!important; }.operation-assignee-field > small { color:#9d9277; font-size:.55rem; line-height:1.45; }
@keyframes spacebattle-orbit { to { transform:rotate(360deg); } }
@media (min-width:641px) {
  .planets-page .globe-stage.operation-focus.spacebattle-focus::before { content:"ORBITALE NAHANSICHT · RAUMSCHLACHT"; position:absolute; z-index:5; left:50%; top:13px; display:block; width:auto; height:auto; padding:7px 10px; border:1px solid rgba(255,92,111,.5); color:#ff9aa6; background:rgba(27,10,14,.82); font:.55rem ui-monospace,monospace; letter-spacing:.1em; transform:translateX(-50%); pointer-events:none; }
}
@media (prefers-reduced-motion:reduce) { .operation-marker.spacebattle > i::before { animation:none; } }
@media (max-width:900px){.campaign-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-node{grid-template-columns:26px minmax(0,1fr) auto}.campaign-node>em{grid-column:2}.campaign-node>button{grid-column:3;grid-row:1/3}}
@media (max-width:600px){.campaign-shell{width:min(100% - 20px,1170px);margin-top:18px}.campaign-stats article{min-height:94px;padding:13px}.campaign-stats b{font-size:1.25rem}.campaign-toolbar{grid-template-columns:1fr}.campaign-node{grid-template-columns:24px minmax(0,1fr);gap:9px;margin-left:calc(var(--campaign-depth) * 10px);padding-left:17px}.campaign-node>em{grid-column:2}.campaign-node>button{grid-column:2;grid-row:auto;width:fit-content}.campaign-card>header{padding-inline:14px}.campaign-timeline{padding-inline:7px}}

/* Optional visual style. Standard forum design remains default and untouched. */
.theme-switch { display:grid; min-width:112px; min-height:38px; align-content:center; gap:1px; margin:auto 8px auto auto; padding:3px 8px 4px 10px; border:1px solid #414141; color:#d8d8d8; background:#252525; text-align:left; }
.theme-switch span { color:#858d91; font-size:.42rem; font-weight:900; letter-spacing:.14em; }
.theme-switch select { width:100%; padding:0 17px 0 0; border:0; outline:0; color:inherit; background:transparent; font-size:.55rem; font-weight:900; letter-spacing:.04em; text-transform:uppercase; cursor:pointer; }
.theme-switch select option { color:#e6e6e6; background:#242424; }
.theme-switch:hover,.theme-switch:focus-visible { border-color:#6f9fc8; color:#fff; outline:0; }
#navLogin { margin-left:0; }
.theme-changing body { transition:background-color .24s ease,color .24s ease; }

:root[data-theme="helldivers"] {
  color-scheme:dark;
  --void:#070806;
  --panel:rgba(20,20,17,.94);
  --panel-solid:#181814;
  --line:rgba(226,193,62,.27);
  --line-bright:rgba(244,211,75,.72);
  --text:#f0efe8;
  --muted:#9c9b8e;
  --cyan:#f1ce43;
  --amber:#f1ce43;
  --forum-blue:#d9b72f;
  --mono:"Bahnschrift SemiCondensed","Arial Narrow",Consolas,monospace;
}
[data-theme="helldivers"] body {
  color:var(--text);
  font-family:"Bahnschrift SemiCondensed","Arial Narrow","Segoe UI",sans-serif;
  background:#0a0b09;
  animation:hd-theme-enter .34s ease-out both;
}
[data-theme="helldivers"] body::before {
  opacity:.34;
  background:
    linear-gradient(115deg,transparent 0 72%,rgba(235,201,61,.035) 72% 72.35%,transparent 72.35%),
    repeating-linear-gradient(135deg,rgba(235,201,61,.025) 0 1px,transparent 1px 36px),
    repeating-linear-gradient(0deg,transparent 0 5px,rgba(255,255,255,.024) 5px 6px);
}
[data-theme="helldivers"] .stars { opacity:.12; filter:sepia(1) saturate(.7); }
[data-theme="helldivers"] ::selection { color:#11120f; background:#f1ce43; }
[data-theme="helldivers"] * { scrollbar-color:#927a27 #11120f; }

[data-theme="helldivers"] .forum-nav { border-bottom:2px solid #d2af2c; background:#11120f; box-shadow:0 10px 28px #0009; }
[data-theme="helldivers"] .forum-nav::after { content:""; position:absolute; right:0; bottom:-5px; left:0; height:3px; opacity:.32; background:repeating-linear-gradient(135deg,#d9b72f 0 8px,transparent 8px 16px); pointer-events:none; }
[data-theme="helldivers"] .forum-nav .page-tab { color:#aaa99e; font-weight:850; letter-spacing:.035em; text-transform:uppercase; }
[data-theme="helldivers"] .forum-nav .page-tab:hover { color:#f3e9bd; background:#25251e; }
[data-theme="helldivers"] .forum-nav .page-tab.active { color:#10110e; background:#e0bd35; box-shadow:inset 0 -4px #fff2ad; }
[data-theme="helldivers"] #navLogin,[data-theme="helldivers"] .theme-switch { border-color:#5e5735; color:#ded8bc; background:#1b1c17; }
[data-theme="helldivers"] .theme-switch { position:relative; border-left:3px solid #e0bd35; }
[data-theme="helldivers"] .theme-switch span { color:#c3a738; }
[data-theme="helldivers"] .theme-switch select option { color:#eee6c5; background:#1b1c17; }
[data-theme="helldivers"] .theme-switch:hover,[data-theme="helldivers"] #navLogin:hover { border-color:#e0bd35; color:#fff4bd; background:#2b291b; }
[data-theme="helldivers"] .site-hub-back { border-color:#71642d; color:#d8c77c; background:#11120ff2; clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px); }

[data-theme="helldivers"] .forum-brand { border-bottom:1px solid #4b4324; background:
  linear-gradient(110deg,rgba(228,191,48,.13),transparent 34%),
  repeating-linear-gradient(135deg,transparent 0 20px,rgba(228,191,48,.025) 20px 21px),#151611; }
[data-theme="helldivers"] .forum-brand::before { content:""; position:absolute; left:0; top:0; bottom:0; width:7px; background:#e0bd35; box-shadow:7px 0 #4f4520; }
[data-theme="helldivers"] .forum-brand-inner::after { content:"STRATEGIC COMMAND INTERFACE"; margin-left:auto; align-self:flex-end; margin-bottom:28px; color:#736b43; font:800 .52rem var(--mono); letter-spacing:.16em; }
[data-theme="helldivers"] .forum-brand strong { color:#f3f0df; letter-spacing:-.025em; text-transform:uppercase; text-shadow:4px 4px 0 #000; }
[data-theme="helldivers"] .forum-brand small { color:#c4aa43; font-family:var(--mono); }
[data-theme="helldivers"] .forum-logo { filter:grayscale(1) sepia(.2) contrast(1.15); }

[data-theme="helldivers"] .page-heading { border-color:#4d472b; }
[data-theme="helldivers"] .page-heading::before { content:""; display:block; width:54px; height:4px; margin-bottom:12px; background:#e0bd35; box-shadow:60px 0 #6e5e22; }
[data-theme="helldivers"] .page-heading small { color:#d5b638; font-family:var(--mono); }
[data-theme="helldivers"] .page-heading h1 { color:#f3f0df; text-transform:uppercase; text-shadow:3px 3px #070806; }
[data-theme="helldivers"] .page-heading p { color:#9d9a88; }

[data-theme="helldivers"] .news-card,
[data-theme="helldivers"] .dashboard-stat,
[data-theme="helldivers"] .info-panel,
[data-theme="helldivers"] .calendar-list,
[data-theme="helldivers"] .tactician-card,
[data-theme="helldivers"] .users-panel,
[data-theme="helldivers"] .archive-list,
[data-theme="helldivers"] .logs-list,
[data-theme="helldivers"] .mission-archive-list,
[data-theme="helldivers"] .campaign-card,
[data-theme="helldivers"] .campaign-empty,
[data-theme="helldivers"] .guide-hero,
[data-theme="helldivers"] .guide-toc,
[data-theme="helldivers"] .guide-section {
  border-color:#49452d;
  background:linear-gradient(145deg,#1d1e19,#151612 76%);
  box-shadow:inset 3px 0 #5e5224;
}
[data-theme="helldivers"] .news-card.lead-news { border-top-color:#e0bd35; box-shadow:inset 4px 0 #e0bd35; }
[data-theme="helldivers"] .news-tag { color:#11120e; background:#e0bd35; clip-path:polygon(0 0,calc(100% - 7px) 0,100% 50%,calc(100% - 7px) 100%,0 100%); }
[data-theme="helldivers"] .news-tag.neutral { color:#d4d1bd; background:#3a3a30; }
[data-theme="helldivers"] .news-card button,
[data-theme="helldivers"] .users-heading #addUser,
[data-theme="helldivers"] .guide-guest-figure .guide-copy-example { color:#11120e; background:#e0bd35; }
[data-theme="helldivers"] .dashboard-note { border-left-color:#e0bd35; background:#23231c; }
[data-theme="helldivers"] .dashboard-stat strong { color:#f1ce43; }

[data-theme="helldivers"] .mission-archive-stats,
[data-theme="helldivers"] .campaign-stats,
[data-theme="helldivers"] .users-summary { border-color:#514b2d; background:#514b2d; }
[data-theme="helldivers"] .mission-archive-stats article,
[data-theme="helldivers"] .campaign-stats article,
[data-theme="helldivers"] .users-summary span { background:linear-gradient(145deg,#24241d,#191a15); }
[data-theme="helldivers"] .mission-archive-stats small,
[data-theme="helldivers"] .campaign-stats small,
[data-theme="helldivers"] .campaign-card>header small,
[data-theme="helldivers"] .mission-archive-insights header small { color:#caaa36; }
[data-theme="helldivers"] .campaign-progress { background:#302d1d; }
[data-theme="helldivers"] .campaign-progress i { background:linear-gradient(90deg,#806a20,#f0cf49); }
[data-theme="helldivers"] .campaign-card>header>strong,[data-theme="helldivers"] .mission-leader-ranking strong { color:#edc941; }
[data-theme="helldivers"] .campaign-node>button,[data-theme="helldivers"] .mission-archive-row>button,[data-theme="helldivers"] .archive-row button { border-color:#8f792a; color:#e8ca50; }
[data-theme="helldivers"] .campaign-node>button:hover,[data-theme="helldivers"] .mission-archive-row>button:hover { color:#11120e; background:#e0bd35; }

[data-theme="helldivers"] .planets-page .war-room { background:transparent; }
[data-theme="helldivers"] .planets-page .hud-panel,
[data-theme="helldivers"] .hud-panel { border-color:#4b472e; background:rgba(23,24,19,.96); box-shadow:inset 3px 0 #544921; backdrop-filter:none; }
[data-theme="helldivers"] .planets-page .panel-label,[data-theme="helldivers"] .panel-label { border-color:#48432a; color:#d0cdbd; background:#22231d; }
[data-theme="helldivers"] .panel-label span { color:#edc941; }
[data-theme="helldivers"] .planets-page .globe-stage { border-color:#5a522d; background:radial-gradient(circle at 50% 46%,rgba(var(--atmosphere-rgb,226,193,62),.08),transparent 41%),radial-gradient(circle at 50% 50%,#22231d 0,#12130f 62%,#080906 100%); box-shadow:inset 0 0 0 1px #171812,0 16px 45px #0007; }
[data-theme="helldivers"] .planets-page .globe-stage::before { color:#a5903b; }
[data-theme="helldivers"] .planet-select-card { border-color:#49452d; background:radial-gradient(circle at 50% 38%,rgba(211,178,45,.08),transparent 53%),linear-gradient(145deg,#1e1f1a,#10110e); }
[data-theme="helldivers"] .planet-select-card::before { background:#d8b631; box-shadow:none; }
[data-theme="helldivers"] .planet-select-card:hover { border-color:#e0bd35; box-shadow:0 18px 38px #0008,inset 0 0 0 1px #8c7628; }
[data-theme="helldivers"] .planet-select-copy { border-color:#454129; }
[data-theme="helldivers"] .planet-select-copy em { color:#a39e89; }
[data-theme="helldivers"] .planet-browser { --planet-browser-accent:#d8b631; border-color:#4d4930; background:linear-gradient(110deg,#1b1d18 0 45%,#0e100d 45% 100%); }
[data-theme="helldivers"] .planet-browser-list-shell { border-color:#4d4930; background:linear-gradient(90deg,rgba(216,182,49,.045),transparent 35%); }
[data-theme="helldivers"] .planet-scroll-card.is-current { border-color:#d8b631; background:linear-gradient(100deg,#302e1d,#17170f); box-shadow:0 12px 30px #0008,inset 0 0 32px rgba(216,182,49,.055); }
[data-theme="helldivers"] .planet-browser-preview { background:radial-gradient(circle at 51% 42%,rgba(216,182,49,.12),transparent 44%),linear-gradient(145deg,#151710,#090a08); }
[data-theme="helldivers"] .command-bar { border-color:#e0bd35 #49452d #49452d; background:#1b1c17; }
[data-theme="helldivers"] .crest { border-color:#ddbc3c; color:#f0cf49; background:#2a2718; clip-path:polygon(18% 0,82% 0,100% 18%,100% 82%,82% 100%,18% 100%,0 82%,0 18%); }
[data-theme="helldivers"] .mode-switch { border-color:#574f2c; background:#11120e; }
[data-theme="helldivers"] .mode-switch button.active { color:#11120e; background:#e0bd35; }
[data-theme="helldivers"] .strategic-row:hover,[data-theme="helldivers"] .strategic-row.active { background:#29271a; }

[data-theme="helldivers"] .editor,
[data-theme="helldivers"] .login-modal,
[data-theme="helldivers"] .operation-focus-panel,
[data-theme="helldivers"] .tactical-map-info,
[data-theme="helldivers"] .tactical-marker-palette,
[data-theme="helldivers"] .tactical-map-toolbar {
  border-color:#63592f;
  background:#181914;
  box-shadow:0 22px 60px #000b,inset 4px 0 #6b5b24;
}
[data-theme="helldivers"] .editor>header,[data-theme="helldivers"] .login-modal>header { border-color:#544c2d; background:#22231c; }
[data-theme="helldivers"] .editor>header::before,[data-theme="helldivers"] .login-modal>header::before { content:""; width:5px; align-self:stretch; margin-right:8px; background:#e0bd35; }
[data-theme="helldivers"] .editor input,
[data-theme="helldivers"] .editor select,
[data-theme="helldivers"] .editor textarea,
[data-theme="helldivers"] .login-modal input,
[data-theme="helldivers"] .campaign-toolbar input,
[data-theme="helldivers"] .campaign-toolbar select,
[data-theme="helldivers"] .mission-archive-toolbar input,
[data-theme="helldivers"] .mission-archive-toolbar select { border-color:#4e4930; color:#ede9d7; background:#11120e; }
[data-theme="helldivers"] .editor input:focus,
[data-theme="helldivers"] .editor select:focus,
[data-theme="helldivers"] .editor textarea:focus,
[data-theme="helldivers"] .login-modal input:focus { border-color:#e0bd35; outline:1px solid #806d29; }
[data-theme="helldivers"] .primary-action,[data-theme="helldivers"] .login-submit,[data-theme="helldivers"] .discord-login { color:#11120e!important; background:#e0bd35!important; border-color:#f1d455!important; }
[data-theme="helldivers"] .secondary-action { border-color:#7d6c2c!important; color:#dec654!important; background:#242319!important; }
[data-theme="helldivers"] .login-method-tabs { border-color:#4f482b; background:#11120e; }
[data-theme="helldivers"] .login-method-tabs button[aria-selected="true"] { color:#12130f; background:#e0bd35; }
[data-theme="helldivers"] .editor-backdrop,[data-theme="helldivers"] .login-backdrop { background:rgba(3,4,2,.78); backdrop-filter:blur(2px); }

[data-theme="helldivers"] .guide-hero,[data-theme="helldivers"] .guide-section { border-top-color:#d8b631; }
[data-theme="helldivers"] .guide-chapter,[data-theme="helldivers"] .guide-quick-check b,[data-theme="helldivers"] .guide-flow>span b { border-color:#8c7628; color:#11120e; background:#e0bd35; }
[data-theme="helldivers"] .guide-section>header small,[data-theme="helldivers"] .guide-form-grid article>b { color:#d1b23c; }
[data-theme="helldivers"] .guide-role { border-color:#8d7628; color:#efd566; background:#2d2919; }
[data-theme="helldivers"] .guide-toc a:hover { border-left-color:#e0bd35; background:#29281d; }
[data-theme="helldivers"] .guide-list li::before { background:#e0bd35; }

[data-theme="helldivers"] .maintenance-access-banner { border-color:#c6a62d; color:#f1d566; background:#2c2817; }
[data-theme="helldivers"] .maintenance-control { border-color:#75652d; border-left-color:#e0bd35; background:linear-gradient(120deg,#2c2818,#1c1d18); }
[data-theme="helldivers"] .maintenance-screen { background:radial-gradient(circle at 50% 35%,#29271a 0,transparent 40%),#0c0d0a; }
[data-theme="helldivers"] .toast { border-color:#8d7628; color:#eee6bd; background:#222116; }

@keyframes hd-theme-enter { from { opacity:.82; } to { opacity:1; } }
@media (max-width:900px) {
  .theme-switch { order:20; min-width:88px; margin-left:auto; }
  [data-theme="helldivers"] .forum-brand-inner::after { display:none; }
}
@media (max-width:600px) {
  .theme-switch { min-width:74px; min-height:32px; padding-inline:7px; }
  .theme-switch span { display:none; }
  .theme-switch select { font-size:.48rem; }
  [data-theme="helldivers"] .forum-brand::before { width:4px; }
}
@media (prefers-reduced-motion:reduce) {
  [data-theme="helldivers"] body { animation:none; }
  .theme-changing body { transition:none; }
}

/* Optional bright interface. Explicit user choice; never follows OS preference automatically. */
:root[data-theme="whitemode"] {
  color-scheme:only light;
  --void:#eef2f5;
  --panel:rgba(255,255,255,.96);
  --panel-solid:#ffffff;
  --line:rgba(35,62,78,.2);
  --line-bright:rgba(23,105,178,.52);
  --text:#17232b;
  --muted:#60717c;
  --cyan:#1769b2;
  --amber:#a16c09;
  --green:#18834d;
  --red:#c93832;
  --forum-blue:#1769b2;
}
[data-theme="whitemode"] body { color:var(--text); background:#eef2f5; }
[data-theme="whitemode"] body::before { opacity:.42; background:repeating-linear-gradient(0deg,transparent 0 5px,rgba(31,83,113,.035) 5px 6px); }
[data-theme="whitemode"] .stars { opacity:.16; background-image:radial-gradient(circle,rgba(31,83,113,.42) 0 1px,transparent 1.3px); }
[data-theme="whitemode"] ::selection { color:#fff; background:#1769b2; }
[data-theme="whitemode"] * { scrollbar-color:#9aacb8 #e4e9ed; }

[data-theme="whitemode"] .forum-nav { border-bottom:1px solid #c5d0d7; background:#fff; box-shadow:0 6px 20px rgba(35,55,67,.13); }
[data-theme="whitemode"] .forum-nav .page-tab { color:#52636e; font-weight:800; }
[data-theme="whitemode"] .forum-nav .page-tab:hover { color:#17354a; background:#edf3f7; }
[data-theme="whitemode"] .forum-nav .page-tab.active { color:#fff; background:#1769b2; }
[data-theme="whitemode"] #navLogin,[data-theme="whitemode"] .theme-switch { border-color:#b9c6ce; color:#263b48; background:#f7f9fa; }
[data-theme="whitemode"] .theme-switch { border-left:3px solid #1769b2; }
[data-theme="whitemode"] .theme-switch span { color:#607e91; }
[data-theme="whitemode"] .theme-switch select option { color:#263b48; background:#fff; }
[data-theme="whitemode"] .theme-switch:hover,[data-theme="whitemode"] #navLogin:hover { border-color:#1769b2; color:#124e82; background:#fff; }
[data-theme="whitemode"] .site-hub-back { border-color:#aebdc6; color:#34566b; background:#fffffff2; box-shadow:0 5px 16px rgba(35,55,67,.16); }
[data-theme="whitemode"] .site-hub-back:hover { border-color:#1769b2; color:#fff; background:#1769b2; }

[data-theme="whitemode"] .forum-brand { border-bottom:1px solid #cbd5db; background:linear-gradient(115deg,#fff 0 55%,#edf3f7); }
[data-theme="whitemode"] .forum-brand::before { content:""; position:absolute; inset:0 auto 0 0; width:6px; background:#1769b2; }
[data-theme="whitemode"] .forum-brand strong { color:#17232b; text-shadow:none; }
[data-theme="whitemode"] .forum-brand small { color:#426a83; }
[data-theme="whitemode"] .forum-logo { filter:drop-shadow(0 7px 10px rgba(35,55,67,.15)); }

[data-theme="whitemode"] .page-heading { border-color:#c5d0d7; }
[data-theme="whitemode"] .page-heading small { color:#1769b2; }
[data-theme="whitemode"] .page-heading h1 { color:#17232b; }
[data-theme="whitemode"] .page-heading p { color:#60717c; }

[data-theme="whitemode"] .news-card,
[data-theme="whitemode"] .dashboard-stat,
[data-theme="whitemode"] .info-panel,
[data-theme="whitemode"] .calendar-list,
[data-theme="whitemode"] .tactician-card,
[data-theme="whitemode"] .users-panel,
[data-theme="whitemode"] .archive-list,
[data-theme="whitemode"] .logs-list,
[data-theme="whitemode"] .mission-archive-list,
[data-theme="whitemode"] .campaign-card,
[data-theme="whitemode"] .campaign-empty,
[data-theme="whitemode"] .guide-hero,
[data-theme="whitemode"] .guide-toc,
[data-theme="whitemode"] .guide-section { border-color:#c5d0d7; color:#1f303a; background:#fff; box-shadow:0 8px 24px rgba(38,62,76,.06); }
[data-theme="whitemode"] .news-card.lead-news { border-top-color:#1769b2; }
[data-theme="whitemode"] .news-card h2,[data-theme="whitemode"] .info-panel h2,[data-theme="whitemode"] .tactician-card h2,[data-theme="whitemode"] .campaign-card>header h2 { color:#17232b; }
[data-theme="whitemode"] .news-card p,[data-theme="whitemode"] .info-panel>p,[data-theme="whitemode"] .campaign-card>header span { color:#62737d; }
[data-theme="whitemode"] .news-tag { color:#fff; background:#1769b2; }
[data-theme="whitemode"] .news-tag.neutral { color:#465b68; background:#e2e9ed; }
[data-theme="whitemode"] .news-card button,[data-theme="whitemode"] .users-heading #addUser,[data-theme="whitemode"] .guide-guest-figure .guide-copy-example { color:#fff; background:#1769b2; }
[data-theme="whitemode"] .dashboard-note { border-left-color:#1769b2; color:#243843; background:#e7eff4; }
[data-theme="whitemode"] .dashboard-note span,[data-theme="whitemode"] .dashboard-stat small { color:#617580; }
[data-theme="whitemode"] .dashboard-stat strong { color:#1769b2; }

[data-theme="whitemode"] .mission-archive-stats,
[data-theme="whitemode"] .campaign-stats,
[data-theme="whitemode"] .users-summary { border-color:#ccd6dc; background:#ccd6dc; }
[data-theme="whitemode"] .mission-archive-stats article,
[data-theme="whitemode"] .campaign-stats article,
[data-theme="whitemode"] .users-summary span { color:#20323d; background:#fff; }
[data-theme="whitemode"] .mission-archive-stats small,
[data-theme="whitemode"] .campaign-stats small,
[data-theme="whitemode"] .campaign-card>header small,
[data-theme="whitemode"] .mission-archive-insights header small { color:#1769b2; }
[data-theme="whitemode"] .mission-archive-stats b,[data-theme="whitemode"] .campaign-stats b { color:#17232b; }
[data-theme="whitemode"] .mission-archive-stats span,[data-theme="whitemode"] .campaign-stats span { color:#687984; }
[data-theme="whitemode"] .campaign-progress { background:#dce5ea; }
[data-theme="whitemode"] .campaign-progress i { background:linear-gradient(90deg,#1769b2,#56a4d6); }
[data-theme="whitemode"] .campaign-node { border-color:#d7e0e5; }
[data-theme="whitemode"] .campaign-node>div b { color:#243640; }
[data-theme="whitemode"] .campaign-node>div span,[data-theme="whitemode"] .campaign-node>div small { color:#687984; }
[data-theme="whitemode"] .campaign-node>button,[data-theme="whitemode"] .mission-archive-row>button,[data-theme="whitemode"] .archive-row button { border-color:#1769b2; color:#1769b2; }
[data-theme="whitemode"] .campaign-node>button:hover,[data-theme="whitemode"] .mission-archive-row>button:hover { color:#fff; background:#1769b2; }
[data-theme="whitemode"] .mission-archive-list>header { border-color:#c7d2d9; color:#657985; background:#edf2f5; }
[data-theme="whitemode"] .mission-archive-row,[data-theme="whitemode"] .calendar-row,[data-theme="whitemode"] .archive-row,[data-theme="whitemode"] .log-row { border-bottom-color:#d9e1e6; }
[data-theme="whitemode"] .mission-archive-main>b,[data-theme="whitemode"] .calendar-row time b,[data-theme="whitemode"] .archive-row b,[data-theme="whitemode"] .log-row div b { color:#21333d; }
[data-theme="whitemode"] .mission-archive-main>span,[data-theme="whitemode"] .calendar-row>div span,[data-theme="whitemode"] .archive-row span,[data-theme="whitemode"] .log-row time { color:#687984; }
[data-theme="whitemode"] .calendar-shell { border-color:#c5d0d7; background:#fff; box-shadow:0 12px 30px rgba(38,62,76,.1); }
[data-theme="whitemode"] .calendar-toolbar { border-color:#c7d2d9; background:#edf2f5; }
[data-theme="whitemode"] .calendar-toolbar h2 { color:#17232b; }
[data-theme="whitemode"] .calendar-toolbar button { border-color:#aebdc6; color:#29404c; background:#fff; }
[data-theme="whitemode"] .calendar-toolbar button:hover { border-color:#1769b2; color:#1769b2; }
[data-theme="whitemode"] .calendar-weekdays { border-color:#c7d2d9; color:#5f7480; background:#f7f9fa; }
[data-theme="whitemode"] .calendar-day { border-color:#d9e1e6; background:#fff; }
[data-theme="whitemode"] .calendar-day.outside { background:#f2f5f7; }
[data-theme="whitemode"] .calendar-day:hover,[data-theme="whitemode"] .calendar-day:focus-within,[data-theme="whitemode"] .calendar-day:focus { background:#eef5f8; box-shadow:inset 0 0 0 1px #438bb8; }
[data-theme="whitemode"] .calendar-day > header time { color:#263943; }
[data-theme="whitemode"] .calendar-day-events > span { background:#edf2f5; }
[data-theme="whitemode"] .calendar-day-menu { border-color:#9fadb5; border-top-color:#1769b2; color:#233740; background:#fff; box-shadow:0 18px 38px rgba(38,62,76,.22); }
[data-theme="whitemode"] .calendar-day-menu > header { border-color:#d5dee3; }
[data-theme="whitemode"] .calendar-day-menu > header strong,[data-theme="whitemode"] .calendar-day-menu article b { color:#17232b; }
[data-theme="whitemode"] .calendar-day-menu article { border-color:#d5dee3; background:#f7f9fa; }
[data-theme="whitemode"] .calendar-day-menu article > small { color:#617580; }

[data-theme="whitemode"] .planets-page .war-room { background:transparent; }
[data-theme="whitemode"] .planets-page .hud-panel,[data-theme="whitemode"] .hud-panel { border-color:#bcc9d1; color:#20323c; background:rgba(255,255,255,.97); box-shadow:0 8px 24px rgba(34,58,72,.08); backdrop-filter:none; }
[data-theme="whitemode"] .planets-page .panel-label,[data-theme="whitemode"] .panel-label { border-color:#c7d2d9; color:#405662; background:#edf2f5; }
[data-theme="whitemode"] .panel-label span { color:#1769b2; }
[data-theme="whitemode"] .planets-page .globe-stage { border-color:#aebdc6; background:radial-gradient(circle at 50% 46%,rgba(var(--atmosphere-rgb,70,150,195),.13),transparent 42%),radial-gradient(circle at 50% 50%,#f8fafb 0,#e2e9ed 64%,#c8d3da 100%); box-shadow:0 15px 36px rgba(35,58,72,.16); }
[data-theme="whitemode"] .planets-page .globe-stage::before,[data-theme="whitemode"] .planets-page .drag-hint { color:#5d7685; }
[data-theme="whitemode"] .planet-select-card { border-color:#b9c7cf; color:#1d303b; background:radial-gradient(circle at 50% 38%,rgba(50,112,146,.09),transparent 53%),linear-gradient(145deg,#fff,#e9eff3); }
[data-theme="whitemode"] .planet-select-card:hover { border-color:#1769b2; box-shadow:0 14px 30px rgba(31,77,104,.18); }
[data-theme="whitemode"] .planet-select-copy { border-color:#c6d1d8; text-shadow:none; }
[data-theme="whitemode"] .planet-select-copy small { color:#1769b2; }
[data-theme="whitemode"] .planet-select-copy em { color:#627681; }
[data-theme="whitemode"] .planet-directory-empty { border-color:#bdcad2; color:#21333d; background:#fff; }
[data-theme="whitemode"] .planet-browser { --planet-browser-accent:#1971aa; border-color:#b9c7cf; background:linear-gradient(110deg,#f5f8fa 0 45%,#e7eef2 45% 100%); box-shadow:0 22px 52px rgba(31,77,104,.15); }
[data-theme="whitemode"] .planet-browser-list-shell { border-color:#bdcbd3; background:linear-gradient(90deg,rgba(30,113,164,.06),transparent 35%); }
[data-theme="whitemode"] .planet-browser-list-shell::before { background:linear-gradient(#f5f8fa 8%,rgba(245,248,250,.88) 35%,transparent); }
[data-theme="whitemode"] .planet-browser-list-shell::after { background:linear-gradient(transparent,rgba(245,248,250,.9) 66%,#f5f8fa 94%); }
[data-theme="whitemode"] .planet-scroll-card { border-color:#c3cfd6; color:#304753; background:linear-gradient(100deg,#fff,#eaf0f3); }
[data-theme="whitemode"] .planet-scroll-card:hover { border-color:#789bab; }
[data-theme="whitemode"] .planet-scroll-card.is-current { border-color:#1971aa; background:linear-gradient(100deg,#fff,#e2edf3); box-shadow:0 12px 28px rgba(31,77,104,.16),inset 0 0 28px rgba(25,113,170,.05); }
[data-theme="whitemode"] .planet-scroll-copy b,[data-theme="whitemode"] .planet-browser-preview-copy h2 { color:#1d303b; }
[data-theme="whitemode"] .planet-scroll-copy small,[data-theme="whitemode"] .planet-browser-preview-copy > small { color:#1971aa; }
[data-theme="whitemode"] .planet-scroll-copy em,[data-theme="whitemode"] .planet-browser-preview-copy > p { color:#607680; }
[data-theme="whitemode"] .planet-browser-preview { background:radial-gradient(circle at 51% 42%,rgba(35,130,177,.12),transparent 44%),linear-gradient(145deg,#f7fafb,#dfe8ed); }
@media (max-width:760px) {
  [data-theme="whitemode"] .planet-browser-list-shell::before { background:linear-gradient(90deg,#f5f8fa 8%,rgba(245,248,250,.88),transparent); }
  [data-theme="whitemode"] .planet-browser-list-shell::after { background:linear-gradient(90deg,transparent,rgba(245,248,250,.9),#f5f8fa 94%); }
}
[data-theme="whitemode"] .planet-front-filters button { border-color:#bdcad2; color:#405662; background:#fff; }
[data-theme="whitemode"] .planet-front-filters button[aria-pressed="true"] { border-color:#1769b2; color:#fff; background:#1769b2; box-shadow:inset 0 -2px #74b9e5; }
[data-theme="whitemode"] .planet-front-filters button b { color:inherit; }
[data-theme="whitemode"] .planet-front-group>header { border-color:#c7d2d9; }
[data-theme="whitemode"] .planet-front-group>header small { color:#1769b2; }
[data-theme="whitemode"] .planet-front-group>header h2 { color:#21333d; }
[data-theme="whitemode"] .planet-front-group>header>b { color:#657985; }
[data-theme="whitemode"] .command-bar { border-color:#1769b2 #c5d0d7 #c5d0d7; color:#21333d; background:#fff; }
[data-theme="whitemode"] .crest { border-color:#1769b2; color:#1769b2; background:#edf5fa; }
[data-theme="whitemode"] .world-title select { color:#17232b; }
[data-theme="whitemode"] .mode-switch { border-color:#bdcad2; background:#e8eef2; }
[data-theme="whitemode"] .mode-switch button.active { color:#fff; background:#1769b2; }
[data-theme="whitemode"] .strategic-row { border-bottom-color:#d8e1e6; color:#263a46; }
[data-theme="whitemode"] .strategic-row:hover,[data-theme="whitemode"] .strategic-row.active { background:#e7f1f7; }
[data-theme="whitemode"] .strategic-row b,[data-theme="whitemode"] .selected-detail h2 { color:#20323d; }
[data-theme="whitemode"] .strategic-row small,[data-theme="whitemode"] .selected-detail .sector { color:#687a85; }

[data-theme="whitemode"] .editor,[data-theme="whitemode"] .login-modal,[data-theme="whitemode"] .operation-focus-panel,[data-theme="whitemode"] .tactical-marker-palette,[data-theme="whitemode"] .tactical-marker-info { border-color:#aebdc6; color:#21333d; background:#fff; box-shadow:0 22px 60px rgba(26,52,68,.22); }
[data-theme="whitemode"] .editor header,[data-theme="whitemode"] .login-modal header,[data-theme="whitemode"] .operation-focus-panel header,[data-theme="whitemode"] .tactical-marker-palette>header,[data-theme="whitemode"] .tactical-marker-info header { border-color:#c4d0d7; color:#20323d; background:#edf2f5; }
[data-theme="whitemode"] .editor label,[data-theme="whitemode"] .login-modal label { color:#526875; }
[data-theme="whitemode"] .editor input,[data-theme="whitemode"] .editor select,[data-theme="whitemode"] .editor textarea,[data-theme="whitemode"] .login-modal input,[data-theme="whitemode"] .campaign-toolbar input,[data-theme="whitemode"] .campaign-toolbar select,[data-theme="whitemode"] .mission-archive-toolbar input,[data-theme="whitemode"] .mission-archive-toolbar select { border-color:#b8c6ce; color:#21333d; background:#fff; }
[data-theme="whitemode"] .editor input:focus,[data-theme="whitemode"] .editor select:focus,[data-theme="whitemode"] .editor textarea:focus,[data-theme="whitemode"] .login-modal input:focus { border-color:#1769b2; outline:2px solid rgba(23,105,178,.13); }
[data-theme="whitemode"] .guest-session-manager,[data-theme="whitemode"] .guest-session-card { border-color:#c5d0d6; color:#21333d; background:#f4f7f9; }[data-theme="whitemode"] .guest-session-card>em,[data-theme="whitemode"] .guest-session-card>span small { color:#687b85; }[data-theme="whitemode"] .tactical-drawing-label rect { fill:rgba(255,255,255,.94); }
[data-theme="whitemode"] .primary-action,[data-theme="whitemode"] .login-submit,[data-theme="whitemode"] .discord-login { border-color:#1769b2!important; color:#fff!important; background:#1769b2!important; }
[data-theme="whitemode"] .monthly-vote-card { border-color:#c6a35b; background:linear-gradient(145deg,#fff,#f5f1e8); }.monthly-vote-card.is-closed,[data-theme="whitemode"] .monthly-vote-card.is-closed { border-color:#c5cfd5; }
[data-theme="whitemode"] .monthly-vote-management,[data-theme="whitemode"] .monthly-vote-privacy,[data-theme="whitemode"] .monthly-vote-total,[data-theme="whitemode"] .monthly-vote-ranking,[data-theme="whitemode"] .monthly-vote-ballots { border-color:#c2ced5; color:#20323d; background:#f5f8fa; }
[data-theme="whitemode"] .monthly-vote-management b,[data-theme="whitemode"] .monthly-vote-ranking h3,[data-theme="whitemode"] .monthly-vote-ranking span b,[data-theme="whitemode"] .monthly-vote-ballots article b { color:#20323d; }
[data-theme="whitemode"] .monthly-vote-management>label input { border-color:#b9c7cf; color:#20323d; background:#fff; color-scheme:light; }
[data-theme="whitemode"] .monthly-vote-management p,[data-theme="whitemode"] .monthly-vote-privacy span,[data-theme="whitemode"] .monthly-vote-ranking span small,[data-theme="whitemode"] .monthly-vote-ballots article span,[data-theme="whitemode"] .monthly-vote-ballots article time { color:#607580; }
[data-theme="whitemode"] .monthly-vote-ranking>div,[data-theme="whitemode"] .monthly-vote-ranking header,[data-theme="whitemode"] .monthly-vote-ballots article { border-color:#d4dde2; }
[data-theme="whitemode"] .monthly-vote-ballots article button { border-color:#c9837f; color:#a33e39; background:#fff4f3; }[data-theme="whitemode"] .monthly-vote-ballots article button:hover { color:#fff; background:#a7433e; }
[data-theme="whitemode"] .monthly-vote-complete { border-color:#8ac4a0; background:#eef8f1; }.monthly-vote-complete.is-empty,[data-theme="whitemode"] .monthly-vote-complete.is-empty { border-color:#d5bd78; background:#fff9e9; }
[data-theme="whitemode"] .secondary-action { border-color:#1769b2!important; color:#1769b2!important; background:#edf5fa!important; }
[data-theme="whitemode"] .login-method-tabs { border-color:#bdcad2; background:#e8eef2; }
[data-theme="whitemode"] .login-method-tabs button { color:#536a77; }
[data-theme="whitemode"] .login-method-tabs button[aria-selected="true"] { color:#fff; background:#1769b2; }
[data-theme="whitemode"] .editor-backdrop,[data-theme="whitemode"] .login-backdrop { background:rgba(70,89,100,.38); backdrop-filter:blur(2px); }

[data-theme="whitemode"] .tactical-map-view { color:#22343e; background:#f0f4f6; }
[data-theme="whitemode"] .tactical-map-view>header { border-color:#b9c6ce; background:#fff; }
[data-theme="whitemode"] .tactical-map-view>header small { color:#687b86; }
[data-theme="whitemode"] .tactical-map-view>header strong { color:#20323d; }
[data-theme="whitemode"] .tactical-map-view>header button,[data-theme="whitemode"] #toggleTacticalMarkerPalette { border-color:#aebdc6; color:#315266; background:#edf2f5; }
[data-theme="whitemode"] .tactical-map-viewport { border-color:#aebdc6; background:#dce4e9; }
[data-theme="whitemode"] .tactical-map-viewport.hologram-mode { border-color:#5795af; background:radial-gradient(ellipse at 50% 75%,rgba(45,178,221,.2),transparent 52%),linear-gradient(#0d1a20,#061014); }
[data-theme="whitemode"] .tactical-view-switch { border-color:#aebdc6; background:#e2e9ed; }
[data-theme="whitemode"] .tactical-map-view>header .tactical-view-switch button { color:#4c6572; background:transparent; }
[data-theme="whitemode"] .tactical-map-view>header .tactical-view-switch button.active { color:#fff; background:#1769b2; box-shadow:inset 0 0 0 1px #4aa5d5; }
[data-theme="whitemode"] .tactical-marker-tools button,[data-theme="whitemode"] .tactical-map-tools button { border-color:#bdc9d0; color:#2c4655; background:#edf2f5; }
[data-theme="whitemode"] .tactical-marker-tools button:hover,[data-theme="whitemode"] .tactical-marker-tools button.active { background:#dcecf6; }
[data-theme="whitemode"] .tactical-marker-tools i { background:#fff; }
[data-theme="whitemode"] .tactical-map-tools { border-color:#c5d0d7; color:#607580; background:#fff; }
[data-theme="whitemode"] .tactical-map-marker span { border-color:#aebdc6; color:#243640; background:rgba(255,255,255,.96); }
[data-theme="whitemode"] .operation-focus-panel header b,[data-theme="whitemode"] .operation-focus-panel h3,[data-theme="whitemode"] .operation-focus-panel header span { color:#20323d; }
[data-theme="whitemode"] .operation-focus-panel dl { background:#cbd6dc; }
[data-theme="whitemode"] .operation-focus-panel dl div { background:#fff; }
[data-theme="whitemode"] .operation-focus-panel button,[data-theme="whitemode"] .operation-focus-panel .open-tactical-map { border-color:#1769b2; color:#1769b2; background:#eef6fa; }

[data-theme="whitemode"] .guide-hero,[data-theme="whitemode"] .guide-section { border-top-color:#1769b2; }
[data-theme="whitemode"] .guide-hero h2,[data-theme="whitemode"] .guide-section h2,[data-theme="whitemode"] .guide-section h3 { color:#17232b; }
[data-theme="whitemode"] .guide-hero p,[data-theme="whitemode"] .guide-section p { color:#60717c; }
[data-theme="whitemode"] .guide-toc a { color:#526976; }
[data-theme="whitemode"] .guide-toc a:hover { border-left-color:#1769b2; color:#17354a; background:#e8f0f5; }
[data-theme="whitemode"] .guide-chapter,[data-theme="whitemode"] .guide-quick-check b,[data-theme="whitemode"] .guide-flow>span b { border-color:#1769b2; color:#fff; background:#1769b2; }
[data-theme="whitemode"] .guide-list li::before { background:#1769b2; }

[data-theme="whitemode"] .maintenance-access-banner { border-color:#d2ae54; color:#72520b; background:#fff7df; }
[data-theme="whitemode"] .maintenance-control { border-color:#d4bd7f; border-left-color:#b17c0e; color:#3b3526; background:#fff9e7; }
[data-theme="whitemode"] .maintenance-screen { background:radial-gradient(circle at 50% 35%,#fff 0,transparent 42%),#e8edf0; }
[data-theme="whitemode"] .maintenance-screen-card { border-color:#b7c5cd; color:#20323d; background:#fff; }
[data-theme="whitemode"] .toast { border-color:#1769b2; color:#fff; background:#1769b2; }

@media (max-width:600px) {
  [data-theme="whitemode"] .forum-brand::before { width:4px; }
}

/* Compact participant presence and collision-free tactical footer controls. */
.tactical-map-footer { display:grid; gap:6px; min-width:0; }
.tactical-presence { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:9px; min-height:34px; padding:4px 7px; border:1px solid #3d4549; color:#8c979c; background:#202326; }
.tactical-presence>span { display:flex; align-items:center; gap:5px; white-space:nowrap; font-size:.48rem; font-weight:900; letter-spacing:.06em; }
.tactical-presence>span>i { width:7px; height:7px; border-radius:50%; background:#687278; }
.tactical-presence.live>span>i { background:#65c98b; box-shadow:0 0 7px rgba(101,201,139,.55); }
.tactical-presence>div { display:flex; min-width:0; gap:5px; overflow-x:auto; scrollbar-width:thin; }
.tactical-presence>div>small { align-self:center; color:#7f898e; font-size:.53rem; white-space:nowrap; }
.tactical-presence>div>span { display:flex; flex:0 0 auto; align-items:center; gap:5px; min-height:24px; max-width:260px; padding:2px 7px; border:1px solid #444b4f; background:#191c1e; }
.tactical-presence>div>span>i { flex:0 0 auto; width:7px; height:7px; border-radius:50%; background:#58a9dc; }
.tactical-presence>div>span.guest>i { background:#c28ae8; }
.tactical-presence>div>span>b { overflow:hidden; color:#e0e3e5; font-size:.53rem; text-overflow:ellipsis; white-space:nowrap; }
.tactical-presence>div>span>small { color:#899297; font-size:.45rem; white-space:nowrap; }
.tactical-map-tools>.tactical-map-tool-actions { display:flex; min-width:0; flex-wrap:wrap; justify-content:flex-end; gap:5px; border:0; }
.tactical-map-tools .tactical-recovery-actions,.tactical-map-tools .tactical-zoom-actions { display:flex; min-width:0; border:1px solid #454a4d; }
.tactical-map-tools #restoreTacticalMarkers,.tactical-map-tools #resetTacticalMarkers { width:auto; min-width:112px; padding:0 9px; white-space:nowrap; }
[data-theme="whitemode"] .tactical-presence { border-color:#c5d0d7; color:#607580; background:#fff; }
[data-theme="whitemode"] .tactical-presence>div>span { border-color:#c8d2d7; background:#f4f7f8; }
[data-theme="whitemode"] .tactical-presence>div>span>b { color:#263943; }
[data-theme="whitemode"] .tactician-browser { border-color:#b7c5cd; background:linear-gradient(110deg,#f5f8fa 0 43%,#e8eef2 43% 100%); box-shadow:0 24px 52px rgba(33,64,81,.14); }
[data-theme="whitemode"] .tactician-browser-list-shell { border-color:#b7c5cd; }
[data-theme="whitemode"] .tactician-browser-list-shell::before { background:linear-gradient(#f5f8fa 8%,rgba(245,248,250,.9) 38%,transparent); }
[data-theme="whitemode"] .tactician-browser-list-shell::after { background:linear-gradient(transparent,rgba(245,248,250,.92) 65%,#f5f8fa 94%); }
[data-theme="whitemode"] .tactician-scroll-card { border-color:#c4d0d7; color:#263943; background:linear-gradient(100deg,#fff,#edf2f5); }
[data-theme="whitemode"] .tactician-scroll-card.is-current { background:linear-gradient(100deg,color-mix(in srgb,var(--rank-color),#fff 90%),#fff); box-shadow:0 12px 28px rgba(33,64,81,.14); }
[data-theme="whitemode"] .tactician-scroll-card .tactician-avatar,[data-theme="whitemode"] .tactician-featured .tactician-avatar { background:#fff; }
[data-theme="whitemode"] .tactician-scroll-copy em,[data-theme="whitemode"] .tactician-featured header p { color:#617681; }
[data-theme="whitemode"] .tactician-browser-preview { background:radial-gradient(circle at 72% 16%,rgba(35,130,177,.1),transparent 42%),linear-gradient(145deg,#f7fafb,#dfe8ed); }
@media (max-width:760px) { [data-theme="whitemode"] .tactician-browser-list-shell::before { background:linear-gradient(90deg,#f5f8fa 8%,rgba(245,248,250,.9),transparent); } [data-theme="whitemode"] .tactician-browser-list-shell::after { background:linear-gradient(90deg,transparent,rgba(245,248,250,.92),#f5f8fa 94%); } }
@media (max-width:760px) {
  .tactical-presence { grid-template-columns:1fr; gap:3px; min-height:47px; }
  .tactical-presence>div>span { max-width:220px; }
  .tactical-map-tools { align-items:flex-end; }
  .tactical-map-tools>.tactical-map-tool-actions { width:100%; }
  .tactical-map-tools .tactical-recovery-actions { flex:1 1 210px; }
  .tactical-map-tools .tactical-zoom-actions { flex:0 0 auto; }
  .tactical-map-tools #restoreTacticalMarkers,.tactical-map-tools #resetTacticalMarkers { flex:1 1 0; width:auto; min-width:0; padding-inline:5px; font-size:.46rem; }
}
