:root{color-scheme:dark;--bg:#080b0d;--panel:#11171a;--line:#273238;--text:#eef3f4;--muted:#8f9da3;--cyan:#73d5dd;--green:#82d4a0;--red:#ef7b7b}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(circle at 50% -20%,#1d292d 0,transparent 38%),var(--bg);color:var(--text);font-family:Inter,"Noto Sans JP",system-ui,sans-serif;min-height:100vh}
.gate{display:grid;place-items:center;padding:24px}
.gate-card{width:min(420px,100%);text-align:center;border:1px solid var(--line);background:rgba(15,20,23,.94);padding:48px 42px;box-shadow:0 30px 80px #0009}
.seal{display:grid;place-items:center;margin:0 auto 25px;width:62px;height:62px;border:1px solid var(--cyan);color:var(--cyan);font-weight:800;letter-spacing:.1em;clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%)}
h1,h2,p{margin-top:0}
.gate h1{font-size:clamp(28px,8vw,42px);letter-spacing:.08em;margin-bottom:8px}
.eyebrow{font:700 11px/1.2 monospace;letter-spacing:.25em;color:var(--cyan)}
.muted,.hero p,article p,small{color:var(--muted)}
form{margin:38px 0 30px;text-align:left}
label{display:block;font:700 11px monospace;letter-spacing:.16em;margin-bottom:9px}
input,button,.cards a{width:100%;border:1px solid var(--line);background:#090d0f;color:var(--text);padding:15px;font:700 13px monospace;letter-spacing:.12em}
input:focus{outline:1px solid var(--cyan);border-color:var(--cyan)}
form button,.panel button{margin-top:14px;background:var(--text);color:#080b0d;cursor:pointer}
.error{min-height:22px;color:var(--red);font-size:13px;margin-top:12px}
.gate-card>small{font:10px monospace;letter-spacing:.15em}
header{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 max(24px,calc((100% - 1180px)/2));gap:30px;background:#090d0fdd;position:sticky;top:0;z-index:5}
.brand{color:var(--text);font-weight:900;text-decoration:none;letter-spacing:.08em}
.brand span{color:var(--cyan)}
nav{margin-left:auto;display:flex;align-items:center;gap:24px}
nav a,nav button{color:var(--muted);font:700 11px monospace;letter-spacing:.12em;text-decoration:none;background:none;border:0;width:auto;padding:8px;cursor:pointer}
.menu{display:none;width:auto;margin-left:auto}
.shell{width:min(1180px,calc(100% - 48px));margin:auto}
.hero{padding:92px 0 54px}
.hero.compact{padding:55px 0 30px}
.hero h1{font-size:clamp(36px,7vw,74px);letter-spacing:-.04em;margin-bottom:14px}
.hero p{max-width:650px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cards article,.panel,.metrics article{border:1px solid var(--line);background:linear-gradient(145deg,#12191c,#0d1214);padding:28px}
.cards article{min-height:310px;display:flex;flex-direction:column}
.card-top{display:flex;justify-content:space-between;color:#536168;font:700 12px monospace}
.status{font:700 11px monospace;color:#d7b96b}
.status.ok{color:var(--green)}
.status.bad{color:var(--red)}
.cards h2{font-size:25px;margin:55px 0 9px}
.cards small{display:block}
.cards a{display:block;text-align:center;text-decoration:none;margin-top:auto}
.cards a:hover{border-color:var(--cyan);color:var(--cyan)}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}
.metrics article span{display:block;font:700 10px monospace;letter-spacing:.15em;color:var(--muted)}
.metrics strong{display:block;font-size:30px;margin:14px 0 6px}
.panel{margin:18px 0}
.panel>button{width:auto}
.preview{margin-top:18px;padding:18px;border:1px solid var(--line)}
.preview button{width:auto}
.process{display:grid;grid-template-columns:1fr auto auto;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}
@media(max-width:760px){header{height:62px;padding:0 18px}
.menu{display:block}
nav{display:none;position:absolute;top:61px;left:0;right:0;margin:0;padding:18px;background:#0a0e10;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}
nav.open{display:flex}
.shell{width:min(100% - 28px,600px)}
.hero{padding:52px 0 30px}
.cards,.metrics{grid-template-columns:1fr}
.cards article{min-height:250px}
.cards h2{margin-top:38px}
.gate-card{padding:38px 24px}
.process{grid-template-columns:1fr auto}
.process small{grid-column:1/-1}
}

.official-logo{display:block;width:118px;height:88px;max-width:100%;object-fit:contain;margin:0 auto 22px;filter:drop-shadow(0 0 16px #73d5dd44)}

.status-summary{border-color:var(--cyan)}
.status-summary h2{font-size:clamp(28px,5vw,48px);margin:4px 0}
.warn{color:#ffbf69!important}
.button-link{display:inline-block;margin-top:14px;padding:10px 14px;border:1px solid var(--cyan);color:var(--text);text-decoration:none}
.process small{overflow-wrap:anywhere}

.intel-section{margin-top:56px;border-top:1px solid var(--line);padding-top:32px}
.section-heading h2{margin:4px 0 22px}
.gadget-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.gadget{position:relative;background:linear-gradient(145deg,#11191d,#0c1215);border:1px solid var(--line);border-top-color:var(--cyan);padding:18px;min-height:230px}
.gadget h3{margin:22px 0 12px}
.gadget-state{position:absolute;right:14px;top:12px;color:var(--cyan);font-size:.68rem}
.gadget-body{font-size:.82rem;overflow-wrap:anywhere}
.gadget-body strong{display:block;font-size:1.05rem;color:var(--text)}
.gadget-body p{border-bottom:1px solid #253238;padding-bottom:7px}
.gadget>a,.news-list article>a,.rail-item>a{display:inline-block;color:var(--cyan);margin-top:12px}
.status-strip{border:1px solid var(--line);padding:12px 15px;color:var(--cyan);margin-bottom:16px}
.forecast-row{display:flex;gap:10px;overflow:auto;padding-bottom:10px}
.forecast-row article{min-width:130px;border:1px solid var(--line);padding:12px;display:grid;gap:6px}
.forecast-row span,.forecast-row small{color:var(--muted)}
.world-map{position:relative;aspect-ratio:2/1;border:1px solid var(--line);background:radial-gradient(ellipse at 25% 45%,#1a3532 0 8%,transparent 9%),radial-gradient(ellipse at 53% 42%,#1a3532 0 14%,transparent 15%),radial-gradient(ellipse at 78% 64%,#1a3532 0 7%,transparent 8%),linear-gradient(#071b29,#06131d);overflow:hidden}
.world-map:before,.world-map:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 12.4%,#28505a55 12.5% 12.7%,transparent 12.8% 25%)}
.world-map:after{transform:rotate(90deg)}
.iss-marker{position:absolute;z-index:2;transform:translate(-50%,-50%);padding:5px;border:1px solid #ffcf67;background:#301f08;color:#ffcf67;font-size:.65rem}
.apod img{display:block;width:min(100%,900px);max-height:620px;object-fit:contain;background:#030506;border:1px solid var(--line);margin:18px auto}
.attribution{color:var(--muted);font-size:.72rem}
.filter-panel{display:flex;gap:10px;flex-wrap:wrap;border:1px solid var(--line);padding:14px;margin-bottom:18px}
.filter-panel label{display:grid;gap:5px}
.filter-panel input,.filter-panel select{background:#0c1519;color:var(--text);border:1px solid var(--line);padding:10px;min-width:150px}
.news-list,.rail-list{display:grid;gap:12px}
.news-list .panel,.rail-list .panel{margin:0}
.news-list{gap:4px}.news-compact-row{display:grid;grid-template-columns:76px minmax(0,1fr) 210px 48px;gap:9px;align-items:center;min-width:0;padding:7px 9px;color:inherit;text-decoration:none}.news-compact-row b,.news-compact-row small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.news-compact-row small{color:var(--muted)}.news-open{color:var(--cyan);font:700 10px monospace;text-align:right}@media(max-width:700px){.news-compact-row{grid-template-columns:70px minmax(0,1fr) 60px}.news-compact-row small{display:none}}
.star{float:right;background:transparent;border:0;color:#ffcf67;font-size:1.5rem;cursor:pointer}
.rail-meta{display:flex;gap:8px;flex-wrap:wrap}
.rail-meta span{border:1px solid var(--line);padding:5px 8px;color:var(--muted);font-size:.74rem}
.error{border-color:#ff5577;color:#ff9aad}

@media(max-width:1000px){.gadget-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){.gadget-grid{grid-template-columns:1fr}
.gadget{min-height:auto}
.filter-panel{display:grid}
.filter-panel input,.filter-panel select{width:100%}
.forecast-row article{min-width:120px}
}

.common-return{display:flex;gap:8px;align-items:center;margin:12px 0 2px}
.common-return button,.common-return a{width:auto;margin:0;padding:7px 11px;border:1px solid #33505a;border-radius:4px;background:#0b171b;color:#bdebf0;font:700 10px monospace;letter-spacing:.08em;text-decoration:none;cursor:pointer}
.common-return button:hover,.common-return a:hover{border-color:var(--cyan);color:#fff}
.idle-warning{position:fixed;z-index:1000;right:16px;bottom:16px;max-width:min(360px,calc(100vw - 32px));padding:10px 13px;border:1px solid #d7a54e;background:#20190ddd;color:#ffd989;font-size:12px;box-shadow:0 8px 28px #000a}
.panel,.gadget,.cards article{border-color:#304149;box-shadow:inset 0 1px 0 #ffffff08}
.section-heading h2,.panel>h2,.panel>header h2{color:#f5fbfc;text-shadow:0 0 16px #73d5dd18}
.panel a,.gadget a{color:#7ee4ec}
.active,[aria-selected="true"]{border-color:var(--cyan)!important}
.url-history-tools,.url-history-row{display:flex;align-items:center;gap:7px}
.url-history-tools{justify-content:space-between;margin-bottom:5px;color:var(--muted);font-size:10px}
.url-history-tools button,.url-history-row .history-delete{width:auto;margin:0;padding:6px 8px;background:#1a1013;color:#ff9aaa;border-color:#62343d;font-size:9px}
.url-history-row>[data-assistant-id]{min-width:0;flex:1}
.url-history-row .history-delete{flex:0 0 auto}
@media(max-width:390px){.common-return{margin-top:8px}
.common-return button,.common-return a{padding:7px 9px}
.idle-warning{right:10px;bottom:10px;max-width:calc(100vw - 20px)}
}
.common-return{display:flex;gap:8px;align-items:center;margin:12px 0 4px;min-width:0}
.common-return button,.common-return a{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:36px;margin:0;padding:7px 11px;border:1px solid #3b535c;border-radius:4px;background:#0b171b;color:#c9f2f5;font:700 10px monospace;letter-spacing:.08em;text-decoration:none;cursor:pointer}
.common-return button:hover,.common-return a:hover,.common-return button:focus-visible,.common-return a:focus-visible{border-color:var(--cyan);background:#102229;color:#fff}
.page-location{min-width:0;margin-left:auto;color:#748b94;font:700 10px monospace;letter-spacing:.09em;white-space:nowrap}.page-location b{color:#d7e9ec}
.panel,.gadget,.cards article,.metrics article{border-color:#354951;background-color:#0e1518}
.panel>h2,.panel>header h2,.gadget h3,.section-heading h2{font-weight:800;letter-spacing:.02em}
.panel a:not(.button-link):not(.primary-action),.gadget a{color:#83e6ed;text-decoration-color:#83e6ed66;text-underline-offset:3px}
.panel button,.primary-action,.button-link{min-height:36px}
.active,[aria-selected="true"],button.active{box-shadow:inset 0 -2px 0 var(--cyan);background-color:#10272d!important;color:#f4ffff!important}
body[data-hq-section="rail"] .page-location b{color:#d9b66b}body[data-hq-section="rail"] .panel{border-top-color:#7a673c}
body[data-hq-section="space"] .page-location b{color:#a9a6db}body[data-hq-section="space"] .panel{border-top-color:#555487}
body[data-hq-section="market"] .page-location b{color:#84c5a0}body[data-hq-section="system"] .page-location b{color:#b3c0c5}
.intel-section{margin-top:44px}.section-heading h2{margin-bottom:16px}
@media(max-width:390px){.common-return{flex-wrap:wrap;gap:6px}.common-return button,.common-return a{min-height:38px;padding:7px 10px}.page-location{order:3;width:100%;margin-left:0;padding-top:2px;overflow:hidden;text-overflow:ellipsis}.panel,.gadget{max-width:100%}body{overflow-x:hidden}}

/* HQ theme selection lives with system operations on Maintenance. */
body[data-theme="cyan"]{--theme-choice:#35e4f4}
body[data-theme="magi"]{--theme-choice:#d6314c}
body[data-theme="tactical"]{--theme-choice:#21b970}
body[data-theme="midnight"]{--theme-choice:#766de8}
.theme-maintenance{border-top-color:var(--theme-choice,var(--cyan))}
.maintenance-theme-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.maintenance-theme-grid button{min-width:0;min-height:78px;margin:0;padding:12px;display:grid;grid-template-columns:18px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;align-items:center;text-align:left;background:#091013;color:var(--text);border:1px solid var(--line);cursor:pointer}
.maintenance-theme-grid button i{grid-row:1/3;width:16px;height:16px;border-radius:50%;background:#35e4f4;box-shadow:0 0 10px #35e4f466}
.maintenance-theme-grid button:nth-child(2) i{background:#d6314c;box-shadow:0 0 10px #d6314c66}.maintenance-theme-grid button:nth-child(3) i{background:#21b970;box-shadow:0 0 10px #21b97066}.maintenance-theme-grid button:nth-child(4) i{background:#766de8;box-shadow:0 0 10px #766de866}
.maintenance-theme-grid button b{font-size:11px;overflow-wrap:anywhere}.maintenance-theme-grid button small{font-size:9px}
.maintenance-theme-grid button.active{border-color:var(--theme-choice,var(--cyan))!important;box-shadow:inset 0 -2px 0 var(--theme-choice,var(--cyan)),0 0 14px color-mix(in srgb,var(--theme-choice,var(--cyan)) 20%,transparent);background:#102027!important}
.theme-saved{min-height:18px;margin:10px 0 0;color:var(--theme-choice,var(--cyan));font:700 10px monospace}
@media(max-width:760px){.maintenance-theme-grid{grid-template-columns:1fr 1fr}}
@media(max-width:390px){.maintenance-theme-grid{grid-template-columns:1fr}.maintenance-theme-grid button{min-height:64px}}
