@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;500;600;700&display=swap');
:root{--bg:#07090c;--panel:#0d1217;--line:#26323c;--ink:#eef2f5;--muted:#95a5b0;--accent:#91bad3;--ok:#86c4a4;--warn:#d4b774;--danger:#d27e7e}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif}
a{color:inherit}.top{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,72px);background:#07090cf2;position:sticky;top:0;z-index:10;backdrop-filter:blur(8px)}
.brand{letter-spacing:.26em;font-weight:700;font-size:14px;text-decoration:none}.brand small{display:block;font:9px 'IBM Plex Mono';letter-spacing:.32em;color:var(--muted);margin-top:5px}
.langs{display:flex;align-items:center;gap:13px}.langs a{font:11px 'IBM Plex Mono';text-decoration:none;color:var(--muted)}
.wrap{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:68px 0 90px}.eyebrow{font:12px 'IBM Plex Mono';letter-spacing:.18em;color:var(--accent);text-transform:uppercase}
h1{font-size:clamp(42px,6vw,82px);line-height:.96;margin:16px 0 22px;letter-spacing:-.045em}h2{font-size:clamp(25px,3vw,38px)}
.lead{max-width:780px;font-size:18px;line-height:1.7;color:#b8c4cc}.card{border:1px solid var(--line);background:linear-gradient(145deg,#10161c,#090d11);padding:28px;margin-top:28px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}
label{font:11px 'IBM Plex Mono';letter-spacing:.12em;color:var(--muted);text-transform:uppercase;line-height:1.55}
input,select,textarea{width:100%;border:1px solid #33424d;background:#080c10;color:var(--ink);padding:14px 15px;font:15px Inter;border-radius:0;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--accent)}textarea{min-height:120px;resize:vertical}
button,.btn{display:inline-block;border:1px solid var(--accent);background:var(--ink);color:#081017;padding:14px 18px;font:700 12px 'IBM Plex Mono';letter-spacing:.08em;text-decoration:none;cursor:pointer}
.btn.outline,.outline{background:transparent;color:var(--ink)}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.status{display:inline-block;font:12px 'IBM Plex Mono';letter-spacing:.12em;border:1px solid var(--warn);padding:8px 10px;color:var(--warn)}.status.selected{border-color:var(--ok);color:var(--ok)}
.error{border:1px solid #8f5252;background:#251515;padding:13px 15px;margin:16px 0;color:#ffc1c1}.ok{border:1px solid #37644f;background:#102219;padding:13px 15px;margin:16px 0;color:#b8f0d1}
.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.metric{border:1px solid var(--line);padding:24px;background:#0a0f13}.metric span{display:block;font:11px 'IBM Plex Mono';color:var(--muted);letter-spacing:.12em}.metric strong{display:block;margin-top:12px;font-size:22px}
.message{border-top:1px solid var(--line);padding:20px 0}.message:first-child{border-top:0}.message h3{margin:4px 0 8px}.message small{color:var(--muted);font-family:'IBM Plex Mono'}
.fiction{margin-top:55px;color:#62727d;font-size:11px;line-height:1.5}.brief{max-width:820px}.brief section{margin:52px 0}.auth{border:1px solid #49687c;padding:28px;background:#09131a}.auth code{font-family:'IBM Plex Mono';color:var(--accent);line-height:1.9}
.admin-table{width:100%;border-collapse:collapse;margin-top:24px}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);padding:13px 9px;text-align:left;vertical-align:top}.admin-table th{font:11px 'IBM Plex Mono';color:var(--muted)}
.notice{padding:14px;border-left:2px solid var(--accent);background:#0b1116;color:#c7d2d9;line-height:1.6}
@media(max-width:720px){.grid,.portal-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.wrap{padding-top:42px}.top{height:68px}.brand{font-size:12px}h1{font-size:44px}.admin-table{display:block;overflow-x:auto}}


/* v0.5 tester hub additions */
.portal-grid-3{grid-template-columns:repeat(3,1fr)}
.mission-card{border-color:#395363}
.active-mission{background:linear-gradient(145deg,#0c171d,#090d11)}
.primary-wide{min-width:220px;text-align:center}
.mission-lines{display:grid;gap:0;margin:22px 0;border:1px solid var(--line)}
.mission-lines p{display:flex;justify-content:space-between;gap:20px;margin:0;padding:13px 15px;border-top:1px solid var(--line)}
.mission-lines p:first-child{border-top:0}
.mission-lines span,.admin-facts span{font:11px 'IBM Plex Mono';color:var(--muted);letter-spacing:.1em}
.mission-lines b{font:12px 'IBM Plex Mono';color:var(--ok)}
.small-muted{font-size:12px;color:var(--muted);line-height:1.6}
.page-actions,.admin-nav{margin:0 0 22px}
.feedback-item{border-top:1px solid var(--line);padding:18px 0}
.feedback-item:first-of-type{border-top:0}
.feedback-meta{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.feedback-meta span{font:10px 'IBM Plex Mono';letter-spacing:.08em;border:1px solid var(--line);padding:6px 8px;color:var(--muted)}
.feedback-admin-card h2{margin:12px 0}
.feedback-body{white-space:normal;line-height:1.75;background:#080c10;border:1px solid var(--line);padding:18px;margin:18px 0}
.feedback-actions{margin-top:18px}
.feedback-status.status-new{color:var(--warn);border-color:var(--warn)}
.feedback-status.status-reviewed{color:var(--accent);border-color:var(--accent)}
.feedback-status.status-fixed{color:var(--ok);border-color:var(--ok)}
.admin-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}
.admin-facts p{margin:0;border:1px solid var(--line);padding:12px}
.admin-facts span,.admin-facts b{display:block}
.admin-facts b{margin-top:8px;font-size:12px;word-break:break-word}

@media(max-width:900px){
  .portal-grid-3{grid-template-columns:1fr}
  .admin-facts{grid-template-columns:1fr}
}
