:root {
  --bg: #010402;
  --fg: #8dff72;
  --fg-soft: #75e55d;
  --fg-muted: #4fa83d;
  --line: rgba(141,255,114,.24);
  --line-strong: rgba(141,255,114,.48);
  --glow: rgba(141,255,114,.24);
  --glow-strong: rgba(141,255,114,.42);
  --accent: #99ff80;
  --accent-2: #b8ff9e;
  --shadow: 0 0 0 1px var(--line), 0 0 18px rgba(91,255,91,.10), inset 0 0 16px rgba(48,119,42,.16);
  --radius: 10px;
  --content-width: min(1240px, calc(100vw - 2rem));
  --scanline: linear-gradient(to bottom, rgba(255,255,255,.012), rgba(255,255,255,0) 5px, rgba(0,0,0,.07) 6px, rgba(0,0,0,0) 7px);
  --vignette: radial-gradient(circle at center, rgba(0,0,0,0) 48%, rgba(0,0,0,.22) 100%);
  --bezel: linear-gradient(180deg, rgba(163,255,141,.04), rgba(0,0,0,.08));
}
:root[data-theme="green"] { --fg:#8dff72; --fg-soft:#75e55d; --fg-muted:#4fa83d; --line:rgba(141,255,114,.24); --line-strong:rgba(141,255,114,.48); --glow:rgba(141,255,114,.24); --glow-strong:rgba(141,255,114,.42); --accent:#99ff80; --accent-2:#b8ff9e; }
:root[data-theme="light-green"] { --fg:#d9ffd0; --fg-soft:#b9ffae; --fg-muted:#7fd06f; --line:rgba(208,255,191,.28); --line-strong:rgba(208,255,191,.45); --glow:rgba(200,255,190,.22); --glow-strong:rgba(200,255,190,.36); --accent:#bfffa2; --accent-2:#daffc8; }
:root[data-theme="blue"] { --fg:#9fd9ff; --fg-soft:#82cbff; --fg-muted:#498cbc; --line:rgba(123,193,255,.28); --line-strong:rgba(123,193,255,.46); --glow:rgba(110,200,255,.22); --glow-strong:rgba(110,200,255,.36); --accent:#7bc8ff; --accent-2:#b6e2ff; }
:root[data-theme="yellow"] { --fg:#ffe59d; --fg-soft:#ffd66f; --fg-muted:#c49b2b; --line:rgba(255,213,111,.28); --line-strong:rgba(255,213,111,.46); --glow:rgba(255,214,112,.22); --glow-strong:rgba(255,214,112,.36); --accent:#ffd66f; --accent-2:#fff0af; }
:root[data-theme="orange"] { --fg:#ffc38e; --fg-soft:#ffaf69; --fg-muted:#d2742b; --line:rgba(255,179,105,.28); --line-strong:rgba(255,179,105,.46); --glow:rgba(255,170,102,.22); --glow-strong:rgba(255,170,102,.36); --accent:#ffb878; --accent-2:#ffd59d; }
*{box-sizing:border-box}
html,body{margin:0;padding:0;min-height:100%}
body{
  background:radial-gradient(circle at top center, rgba(34,90,22,.14), transparent 55%),linear-gradient(180deg,#000 0%,#020603 42%,#010301 100%);
  color:var(--fg);
  font-family:"Cascadia Mono","Cascadia Code",Consolas,"Lucida Console","SFMono-Regular",Menlo,Monaco,"Liberation Mono","DejaVu Sans Mono",monospace;
  font-size:16px;
  font-weight:400;
  letter-spacing:.022em;
  line-height:1.58;
  text-shadow:0 0 7px rgba(141,255,114,.07);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
body::before{content:'';position:fixed;inset:0;background-image:var(--scanline);background-size:100% 7px;opacity:.18;pointer-events:none}
body::after{content:'';position:fixed;inset:0;background:var(--vignette);pointer-events:none;opacity:.55}
@media (prefers-reduced-motion:no-preference){body::before{animation:crtFlicker .24s steps(2) infinite}}
@keyframes crtFlicker{0%{opacity:.16}50%{opacity:.21}100%{opacity:.18}}
a{color:var(--accent);text-decoration:none}a:hover,a:focus-visible{color:var(--accent-2);text-shadow:0 0 8px var(--glow)}
button,input,select,textarea{font:inherit;color:var(--fg)}
button,.btn{
  background:linear-gradient(180deg,rgba(8,20,10,.68),rgba(2,8,3,.65));
  border:1px solid var(--line);
  color:var(--fg);
  border-radius:8px;
  padding:.68rem 1rem;
  cursor:pointer;
  text-transform:uppercase;
  letter-spacing:.06em;
  box-shadow:0 0 10px rgba(0,0,0,.18),inset 0 0 6px rgba(255,255,255,.02)
}
button:hover,.btn:hover,button:focus-visible,.btn:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 10px var(--glow),inset 0 0 8px rgba(255,255,255,.04)}
input,select,textarea{width:100%;background:rgba(0,0,0,.28);border:1px solid var(--line);border-radius:8px;padding:.75rem .9rem;box-shadow:inset 0 0 8px rgba(0,0,0,.14)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 8px var(--glow)}
.site-shell{width:var(--content-width);margin:1rem auto 2rem}
.panel{background:linear-gradient(180deg,rgba(8,18,10,.94),rgba(4,12,6,.96)),var(--bezel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);position:relative;overflow:hidden}
.panel::before{content:'';position:absolute;inset:8px;border:1px solid rgba(141,255,114,.08);border-radius:calc(var(--radius) - 4px);pointer-events:none}
.panel::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(163,255,141,.03),transparent 24%,transparent 76%,rgba(0,0,0,.08));pointer-events:none}
.header-wrap,.footer-wrap{margin-bottom:1rem}
.site-header,.site-footer{padding:1rem 1.1rem}
.brand-row,.status-row,.subnav-row{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.brand-row{justify-content:space-between}
.brand-title{font-size:clamp(1.28rem,2vw,1.72rem);color:var(--accent);text-transform:uppercase;letter-spacing:.16em;text-shadow:0 0 10px var(--glow-strong);font-weight:700}
.brand-subtitle{color:var(--fg-soft);font-size:.95rem}
.site-nav{display:flex;justify-content:center;align-items:center;gap:.4rem .7rem;flex-wrap:wrap;width:100%;margin:.8rem 0 .6rem}
.site-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:2.3rem;border:1px solid transparent;border-radius:999px;padding:.35rem .8rem;text-transform:uppercase;letter-spacing:.07em}
.site-nav a.active,.site-nav a:hover{border-color:var(--line);background:rgba(255,255,255,.03)}
.status-row{justify-content:space-between;border-top:1px dashed var(--line);padding-top:.75rem;color:var(--fg-soft);font-size:.9rem}
.status-chunk{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center}
.status-pill{padding:.2rem .55rem;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.022);text-shadow:0 0 6px var(--glow)}
.layout-grid{display:grid;gap:1rem}
.hero-panel,.content-panel,.list-panel,.markdown-panel,.tools-panel{padding:1rem 1.1rem}
.page-title{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap;margin-bottom:1rem}
.page-title h1,.page-title h2,.page-title h3,.page-title h4,.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{margin:0;text-transform:uppercase;letter-spacing:.08em;text-shadow:0 0 8px rgba(141,255,114,.07)}
.page-title p{margin:.3rem 0 0;color:var(--fg-soft);max-width:76ch}
.type-screen{min-height:16rem;white-space:pre-wrap;font-size:clamp(1rem,1.55vw,1.08rem);padding:1rem;background:radial-gradient(circle at center,rgba(26,64,18,.14),rgba(0,0,0,.14));border:1px solid var(--line-strong);border-radius:8px;position:relative;box-shadow:inset 0 0 12px rgba(141,255,114,.04),0 0 8px rgba(141,255,114,.04)}
.cursor{display:inline-block;width:.7ch}
@media (prefers-reduced-motion:no-preference){.cursor{animation:blink 1s steps(1) infinite}}
@keyframes blink{50%{opacity:0}}
.cards{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{padding:1rem;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,rgba(5,14,7,.68),rgba(0,0,0,.18));transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.card:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 0 12px var(--glow)}
.card h3{margin-top:0;margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.06em}
.card-meta{color:var(--fg-soft);font-size:.9rem;margin-bottom:.6rem}.card-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.85rem}
.search-bar{display:grid;grid-template-columns:1fr auto;gap:.75rem;margin-bottom:1rem}
.notice{border-left:3px solid var(--accent);padding:.75rem .9rem;background:rgba(255,255,255,.03);border-radius:0 10px 10px 0}
.modal-backdrop{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.58);z-index:30;padding:1rem}
.modal-backdrop.open{display:flex}
.modal{width:min(960px,calc(100vw - 2rem));max-height:min(85vh,900px);overflow:hidden;display:grid;grid-template-rows:auto 1fr;background:linear-gradient(180deg,rgba(7,18,9,.98),rgba(5,12,6,.98));border:1px solid var(--line-strong);border-radius:10px;box-shadow:0 0 0 1px var(--line),0 0 18px var(--glow),inset 0 0 16px rgba(255,255,255,.02)}
.modal-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;border-bottom:1px dashed var(--line)}
.modal-body{overflow:auto;padding:1rem}
.markdown pre{background:rgba(0,0,0,.35);padding:.9rem;overflow:auto;border-radius:10px;border:1px solid var(--line)}
.markdown code{background:rgba(255,255,255,.06);padding:.08rem .35rem;border-radius:6px}
.markdown blockquote{margin-left:0;padding-left:.9rem;border-left:3px solid var(--line);color:var(--fg-soft)}
.markdown table{width:100%;border-collapse:collapse;margin:1rem 0}
.markdown th,.markdown td{border:1px solid var(--line);padding:.55rem .65rem;text-align:left}
.markdown img{max-width:100%;border-radius:12px;border:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.small{font-size:.9rem;color:var(--fg-soft)}
.kbd{border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;padding:.1rem .4rem;background:rgba(255,255,255,.03)}
.theme-switcher{display:inline-flex;gap:.5rem;align-items:center;flex-wrap:wrap}.theme-select{min-width:170px}
.download-item,.gallery-card{border:1px solid var(--line);border-radius:12px;padding:1rem;background:rgba(0,0,0,.18)}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}
.gallery-thumb{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;border:1px solid var(--line);filter:grayscale(.25) saturate(.85) contrast(1.03) drop-shadow(0 0 8px var(--glow))}
.password-output{font-size:clamp(1.1rem,2vw,1.4rem);letter-spacing:.10em;padding:.9rem 1rem;border-radius:8px;border:1px solid var(--line-strong);background:linear-gradient(180deg,rgba(0,0,0,.26),rgba(8,18,10,.34));box-shadow:inset 0 0 10px rgba(141,255,114,.04)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-grid .span-2{grid-column:1 / -1}.placeholder-card{min-height:220px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.hr{height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent);margin:1rem 0}
.refresh-bar{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:flex-start;margin-bottom:1rem}
.metrics-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.metric-box{flex:1 1 180px;padding:.85rem .95rem;border:1px solid var(--line);border-radius:10px;background:rgba(0,0,0,.18)}.metric-label{font-size:.82rem;color:var(--fg-soft);text-transform:uppercase;letter-spacing:.08em}.metric-value{font-size:1.15rem;font-weight:700;margin-top:.2rem}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:rgba(0,0,0,.18)}.tube-table{width:100%;border-collapse:collapse;min-width:920px}.tube-table th,.tube-table td{padding:.8rem .85rem;text-align:left;border-bottom:1px solid rgba(141,255,114,.12);vertical-align:top}.tube-table thead th{position:sticky;top:0;background:rgba(5,16,8,.96);z-index:1;text-transform:uppercase;letter-spacing:.08em;font-size:.88rem}.tube-table tbody tr:hover{background:rgba(255,255,255,.03)}
.line-name{font-weight:700;display:flex;align-items:center;gap:.7rem}.line-swatch{width:1rem;height:1rem;border-radius:999px;flex:0 0 1rem;border:1px solid rgba(255,255,255,.18);box-shadow:0 0 8px rgba(255,255,255,.08)}
.status-badge{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .65rem;border-radius:999px;border:1px solid transparent;font-weight:700;letter-spacing:.04em;text-transform:uppercase;min-width:10rem}.status-good{color:#9dff9d;border-color:rgba(120,255,120,.28);background:rgba(24,97,24,.25)}.status-minor{color:#fff0a5;border-color:rgba(255,214,70,.38);background:rgba(140,102,0,.22)}.status-severe{color:#ffb2a9;border-color:rgba(255,95,75,.44);background:rgba(120,24,12,.25)}.status-planned{color:#ffd8a8;border-color:rgba(255,157,56,.42);background:rgba(120,58,8,.24)}.status-unknown{color:var(--fg-soft);border-color:var(--line);background:rgba(255,255,255,.03)}
.reason-text{font-size:.92rem;color:var(--fg-soft);max-width:40ch}.expand-btn{padding:.42rem .65rem;min-width:7.5rem}.detail-row{display:none;background:rgba(255,255,255,.02)}.detail-row.open{display:table-row}.detail-cell{padding:0 !important}.detail-panel{padding:1rem 1rem 1.1rem;border-top:1px dashed rgba(141,255,114,.16)}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.detail-section{border:1px solid var(--line);border-radius:10px;padding:.85rem .95rem;background:rgba(0,0,0,.18)}.detail-section h4{margin:.1rem 0 .65rem;text-transform:uppercase;letter-spacing:.08em;font-size:.95rem}.detail-list{margin:0;padding-left:1.2rem}.detail-list li+li{margin-top:.45rem}.muted{color:var(--fg-soft)}.transport-note{margin-top:.8rem}
.flash-delay{animation:delayFlash 1.1s linear infinite}@keyframes delayFlash{0%,100%{filter:none;opacity:1}50%{filter:brightness(1.18);opacity:.76}}
.card,.gallery-card,.download-item,.panel{content-visibility:auto;contain-intrinsic-size:320px 240px}.card,.gallery-card,.download-item{contain:layout paint style}
@media (max-width:980px){.tube-table{min-width:760px}.detail-grid{grid-template-columns:1fr}}
@media (max-width:760px){.site-shell{width:min(100vw - 1rem,1240px);margin-top:.5rem}.search-bar,.form-grid{grid-template-columns:1fr}.status-row{flex-direction:column;align-items:flex-start}.brand-row{flex-direction:column;align-items:flex-start}.modal{width:min(100vw - 1rem,960px);max-height:calc(100vh - 1rem)}.type-screen{min-height:14rem}.metrics-row{flex-direction:column}.status-badge{min-width:auto;width:100%}.tube-table{min-width:640px}.refresh-bar{align-items:stretch}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto}.card,.site-nav a,button,.btn,.flash-delay{transition:none !important;animation:none !important}body::before,.cursor{animation:none !important}}
