:root{
  color-scheme:dark;
  --bg:#120d0a;
  --panel:#1c1510;
  --panel2:#251a12;
  --line:#7a5530;
  --line-dim:#3d2a1b;
  --text:#f0dcc4;
  --muted:#a98b6d;
  --amber:#ffb454;
  --cyan:#5fd2d6;
  --bad:#e86d55;
  --ok:#9ed36a;
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{
  margin:0;
  background:
    linear-gradient(180deg,rgba(255,180,84,.05),transparent 34%),
    repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 4px),
    var(--bg);
  color:var(--text);
  font:14px/1.45 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
  letter-spacing:.01em;
}
.video-bg{position:fixed;inset:0;z-index:-2;overflow:hidden;background:#120d0a}.mars-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;filter:saturate(.64) contrast(1.22) brightness(.42) sepia(.34) blur(.35px);transform:scale(1.03);transition:opacity 1.8s ease-in-out}.mars-bg.active{opacity:1}.video-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 35%,rgba(255,180,84,.14),transparent 40%),linear-gradient(180deg,rgba(18,13,10,.42),rgba(18,13,10,.84));z-index:1}.crt-overlay{position:absolute;inset:0;z-index:2;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,210,150,.09) 0 1px,rgba(0,0,0,.24) 1px 3px,transparent 3px 6px),repeating-linear-gradient(90deg,rgba(255,75,30,.045) 0 1px,rgba(80,220,210,.036) 1px 2px,rgba(255,180,84,.025) 2px 3px,transparent 3px 5px);mix-blend-mode:soft-light;opacity:.86}.crt-overlay::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,180,84,.06),transparent);opacity:.22;animation:crtRoll 9s linear infinite}.crt-overlay::after{content:"";position:absolute;inset:-8%;background:radial-gradient(ellipse at center,transparent 48%,rgba(0,0,0,.52) 100%);animation:crtBreath 7s ease-in-out infinite}@keyframes crtBreath{0%,100%{opacity:.68}50%{opacity:.9}}@keyframes crtRoll{from{transform:translateX(-35%)}to{transform:translateX(35%)}}
.shell{width:min(1040px,calc(100vw - 28px));margin:0 auto;padding:28px 0 44px}
.topline{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:18px}
.eyebrow{margin:0 0 4px;color:var(--amber);font-weight:700;letter-spacing:.16em;text-transform:uppercase}
h1{margin:0;font-size:24px;line-height:1.1;font-weight:700;text-transform:uppercase}
.host{color:var(--muted);white-space:nowrap;text-align:right}
.grid{display:grid;grid-template-columns:1fr 1.35fr;gap:14px;margin-bottom:14px}
.panel,.notice{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);box-shadow:0 0 0 1px rgba(0,0,0,.55) inset;padding:14px}
.notice{margin-bottom:14px;border-color:var(--bad);color:#ffd4c9}
h2{font-size:13px;margin:0 0 12px;color:var(--amber);text-transform:uppercase;letter-spacing:.14em;border-bottom:1px solid var(--line-dim);padding-bottom:7px}
.kv{display:grid;gap:5px;margin:0 0 14px}
.kv div{display:grid;grid-template-columns:130px 1fr;gap:12px;border-bottom:1px dotted var(--line-dim);padding:2px 0}
dt{color:var(--muted);text-transform:uppercase;font-size:12px} dd{margin:0;color:var(--text);min-width:0}
button,select,input{font:inherit;color:var(--text);background:#140f0c;border:1px solid var(--line);padding:8px 10px;border-radius:0;letter-spacing:.05em}button,select{text-transform:uppercase}
button{cursor:pointer} button:disabled{opacity:.45;cursor:not-allowed}.primary{border-color:var(--cyan);color:var(--cyan)}
button:not(:disabled):hover,select:hover,input:not(:disabled):hover{background:#211711}.actions{display:flex;gap:8px;flex-wrap:wrap}select{width:100%;text-transform:none;color:var(--text)}
.hint{margin:12px 0 0;color:var(--muted);font-size:12px}.compact p{margin:0;color:var(--muted)}
.wifi-panel{margin-bottom:14px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.field-grid label{display:grid;gap:5px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.field-grid input{width:100%;text-transform:none;color:var(--text)}.field-grid input:disabled{opacity:.55}
.progress-panel{margin-bottom:14px;position:relative;overflow:hidden;border-color:#8b5d32;background:linear-gradient(180deg,#241810,#18110d)}
.progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.progress-head h2{flex:1;margin-bottom:10px}.progress-head output{color:var(--amber);font-weight:700;letter-spacing:.12em;text-shadow:0 0 8px rgba(255,180,84,.26)}
.progress-track{height:24px;position:relative;overflow:hidden;background:linear-gradient(180deg,#0b0806,#150f0b);border:1px solid #8b5d32;box-shadow:0 0 0 1px rgba(0,0,0,.75) inset,0 2px 0 rgba(255,180,84,.08) inset}
.progress-track::before{content:"";position:absolute;inset:3px;background:repeating-linear-gradient(90deg,rgba(122,85,48,.22) 0 8px,transparent 8px 14px);z-index:0}.progress-fill{height:100%;width:0%;position:relative;z-index:1;transition:width .22s steps(1,end);background:repeating-linear-gradient(90deg,#9b5d26 0 8px,transparent 8px 14px),linear-gradient(180deg,#d48a38,#6f3f1f);box-shadow:0 0 12px rgba(255,180,84,.18)}
.progress-track.complete .progress-fill{background:repeating-linear-gradient(90deg,#8aa04b 0 8px,transparent 8px 14px),linear-gradient(180deg,var(--ok),#526b2b);box-shadow:0 0 12px rgba(158,211,106,.18)}.progress-track.failed .progress-fill{background:repeating-linear-gradient(90deg,#9e3f2f 0 8px,transparent 8px 14px),linear-gradient(180deg,var(--bad),#5b2119);box-shadow:0 0 12px rgba(232,109,85,.18)}
.progress-status{min-height:18px;margin:9px 0 0;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.log-panel{margin-bottom:14px}.log{margin:0;padding:0;list-style:none;min-height:180px;max-height:280px;overflow:auto;background:#0d0907;border:1px solid var(--line-dim)}
.log li{display:grid;grid-template-columns:72px 1fr;gap:10px;padding:5px 8px;border-bottom:1px solid rgba(122,85,48,.22)}
.log time{color:var(--cyan)}.log span{color:var(--text)}
.status-ok{color:var(--ok)}.status-warn{color:var(--amber)}.status-bad{color:var(--bad)}
.build-footer{border-top:1px solid var(--line-dim);color:var(--muted);font-size:12px;letter-spacing:.08em;margin-top:18px;padding:14px 0 4px;text-transform:uppercase;}
@media(max-width:760px){.topline{align-items:flex-start;flex-direction:column}.host{text-align:left}.grid{grid-template-columns:1fr}.kv div{grid-template-columns:110px 1fr}}
