:root{
  --bg:#080b0b;--bg-soft:#0d1211;--panel:#111816;--panel-2:#161f1c;--ink:#edf2e9;
  --muted:#9aa69d;--acid:#b9ff6a;--acid-soft:#91ca59;--brass:#b89a66;--line:#27332e;
  --danger:#f08b78;--radius:22px;--serif:Georgia,"Times New Roman",serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);min-height:100vh;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;background:
  radial-gradient(circle at 20% 10%,rgba(185,255,106,.08),transparent 28%),
  radial-gradient(circle at 80% 35%,rgba(105,157,143,.08),transparent 30%),
  linear-gradient(180deg,#070909 0%,#0a0e0d 38%,#080b0b 100%)}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button{color:inherit}
.atmosphere{position:absolute;inset:0 0 auto;height:760px;overflow:hidden;z-index:-1;pointer-events:none}
.atmosphere::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,11,11,.08),var(--bg) 92%)}
.moon{position:absolute;width:320px;height:320px;border-radius:50%;right:8vw;top:90px;background:radial-gradient(circle at 45% 42%,#d9dfcc 0 8%,#9aa493 9% 28%,#505c53 50%,#18201d 72%,transparent 73%);opacity:.22;filter:blur(.3px)}
.castle{position:absolute;right:5vw;bottom:65px;width:520px;height:400px;opacity:.34;filter:drop-shadow(0 25px 50px #000)}
.castle i{position:absolute;bottom:0;background:#121918;border:1px solid #26332d}
.castle .keep{width:210px;height:285px;left:155px;clip-path:polygon(0 15%,15% 15%,15% 4%,25% 4%,25% 15%,75% 15%,75% 4%,85% 4%,85% 15%,100% 15%,100% 100%,0 100%)}
.tower{width:105px;height:250px}
.tower::before{content:"";position:absolute;width:125px;height:70px;left:-11px;top:-38px;background:#121918;clip-path:polygon(50% 0,100% 100%,0 100%)}
.tower-a{left:60px}.tower-b{right:50px;height:310px}.tower-c{left:5px;height:190px;width:70px}
.arch{width:34px;height:90px;border-radius:18px 18px 0 0;background:#050707!important;bottom:0!important}
.arch-a{left:242px}.arch-b{left:88px;height:65px}
.storm{position:absolute;width:220px;height:2px;background:linear-gradient(90deg,transparent,var(--acid),transparent);box-shadow:0 0 14px var(--acid);opacity:.25;transform:rotate(-23deg)}
.storm-a{right:24vw;top:210px}.storm-b{right:11vw;top:270px;transform:rotate(28deg) scale(.65)}
.topbar{height:82px;max-width:1280px;margin:0 auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;z-index:5}
.brand{display:flex;align-items:center;gap:12px;letter-spacing:.08em}
.brand-mark{width:42px;height:42px;border:1px solid rgba(185,255,106,.55);display:grid;place-items:center;border-radius:50% 50% 44% 44%;font-family:var(--serif);font-size:14px;color:var(--acid);box-shadow:inset 0 0 20px rgba(185,255,106,.06)}
.brand strong{display:block;font-family:var(--serif);font-size:17px;font-weight:600}
.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.12em;margin-top:2px;text-transform:uppercase}
.topbar nav{display:flex;gap:26px;font-size:12px;color:#c6cec8}
.topbar nav a{position:relative;padding:10px 0}
.topbar nav a::after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:1px;background:var(--acid);transition:.25s}
.topbar nav a:hover::after{right:0}
main{max-width:1280px;margin:0 auto;padding:0 28px 100px}
.hero{min-height:660px;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);align-items:center;gap:70px;padding:70px 0 100px}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:.24em;color:var(--acid);margin:0 0 18px;text-transform:uppercase}
.hero h1,.section h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}
.hero h1{font-size:clamp(54px,6.4vw,92px);line-height:.93;margin:0 0 28px;max-width:880px}
.hero h1 em{color:#bfc9c1;font-weight:400}
.lede{max-width:720px;color:#bac4bc;line-height:1.75;font-size:17px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}
.button{border:1px solid var(--line);background:rgba(16,24,21,.78);padding:13px 18px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s;color:#e9efe9}
.button:hover{transform:translateY(-1px);border-color:#54655c}
.button.primary{background:var(--acid);color:#11160f;border-color:var(--acid);font-weight:700;box-shadow:0 0 34px rgba(185,255,106,.12)}
.button.ghost{background:rgba(12,16,15,.55)}
.hero-device{min-height:390px;border:1px solid rgba(145,175,157,.18);background:linear-gradient(145deg,rgba(19,27,24,.82),rgba(7,10,9,.88));border-radius:120px 120px 28px 28px;padding:70px 42px 36px;position:relative;overflow:hidden;box-shadow:inset 0 0 90px rgba(185,255,106,.035),0 50px 100px rgba(0,0,0,.25);text-align:center}
.hero-device::before{content:"";position:absolute;inset:18px;border:1px solid rgba(184,154,102,.18);border-radius:104px 104px 20px 20px}
.coil{height:78px;position:relative;margin-bottom:25px}
.coil span{display:block;position:absolute;left:50%;transform:translateX(-50%);border:1px solid rgba(185,255,106,.55);border-radius:50%;box-shadow:0 0 20px rgba(185,255,106,.12)}
.coil span:nth-child(1){width:130px;height:34px;top:0}.coil span:nth-child(2){width:100px;height:28px;top:23px}.coil span:nth-child(3){width:65px;height:22px;top:45px}
.pulse-line{height:1px;margin:0 -10px 25px;background:linear-gradient(90deg,transparent 0 8%,#2b4b3d 8% 38%,var(--acid) 38% 43%,#2b4b3d 43% 47%,var(--acid) 47% 54%,#2b4b3d 54% 92%,transparent 92%)}
.hero-device p{font-size:10px;letter-spacing:.2em;color:var(--muted);position:relative}
.hero-device>strong{font-family:var(--serif);font-size:68px;font-weight:400;color:var(--acid);display:block;line-height:1;position:relative}
.hero-device>small{color:var(--muted);font-size:11px;position:relative}
.vitals{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:34px;position:relative}
.vitals span{border-top:1px solid var(--line);padding-top:13px;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.vitals b{color:#dce5dd;font-size:15px;display:block;margin-bottom:4px}
.principle-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:18px 0;margin-bottom:110px}
.principle-strip span{text-align:center;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8e9b92;border-right:1px solid var(--line)}
.principle-strip span:last-child{border-right:0}
.section{padding:35px 0 105px;scroll-margin-top:70px}
.section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,480px);gap:70px;align-items:end;margin-bottom:34px}
.section h2{font-size:clamp(38px,5vw,64px);line-height:1;margin:0}
.section-heading>p{color:var(--muted);line-height:1.65;margin:0}
.controls{display:flex;gap:14px;align-items:center;justify-content:space-between;margin:26px 0 34px;flex-wrap:wrap}
.search-box{flex:1;min-width:290px;max-width:520px;height:48px;border:1px solid var(--line);border-radius:999px;display:flex;align-items:center;gap:10px;padding:0 16px;background:rgba(13,18,17,.72)}
.search-box span{color:var(--acid);font-size:18px}.search-box input,.crypt-toolbar input{width:100%;background:transparent;border:0;outline:0;color:var(--ink)}
.search-box input::placeholder,.crypt-toolbar input::placeholder{color:#68746c}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.filter-button{padding:9px 12px;border-radius:999px;border:1px solid var(--line);background:#0d1211;color:#8f9a92;font-size:11px;cursor:pointer}
.filter-button.active{background:#1a251f;color:var(--acid);border-color:#49633f}
.dossier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.dossier-card{min-height:320px;border:1px solid var(--line);border-radius:var(--radius);padding:22px;background:linear-gradient(145deg,rgba(18,26,23,.9),rgba(9,13,12,.96));display:flex;flex-direction:column;position:relative;overflow:hidden;cursor:pointer;transition:.23s}
.dossier-card::before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-60px;top:-65px;background:radial-gradient(circle,var(--accent,#b9ff6a),transparent 70%);opacity:.12}
.dossier-card:hover{transform:translateY(-4px);border-color:#49584f;box-shadow:0 18px 50px rgba(0,0,0,.22)}
.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.card-symbol{width:42px;height:42px;border:1px solid #405047;border-radius:50%;display:grid;place-items:center;color:var(--accent,#b9ff6a);font-family:var(--serif);font-size:17px}
.card-state{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#758078;text-align:right}
.dossier-card h3{font-family:var(--serif);font-size:28px;font-weight:400;margin:34px 0 10px;line-height:1.05}
.card-kind{font-size:10px;color:var(--accent,#b9ff6a);text-transform:uppercase;letter-spacing:.12em;margin:0 0 18px}
.card-brief{font-size:13px;color:#aeb8b0;line-height:1.62;margin:0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.card-foot{margin-top:auto;padding-top:20px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #202b27;font-size:10px;color:#727d75}
.card-foot b{font-weight:500;color:#cbd5cd}
.empty{border:1px dashed var(--line);padding:35px;border-radius:18px;color:var(--muted);text-align:center}
.connections-section{position:relative}
.connection-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.connection{border:1px solid var(--line);background:#0c1110;border-radius:16px;padding:18px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px}
.connection-node{padding:13px;border-radius:12px;background:#121a17;font-family:var(--serif);font-size:17px}
.connection-node:last-child{text-align:right}
.connection-wire{text-align:center;color:var(--acid);font-size:20px;min-width:78px}
.connection-wire small{display:block;font-size:8px;letter-spacing:.08em;color:#667168;margin-top:3px}
.connection p{grid-column:1/-1;margin:0;padding-top:10px;border-top:1px solid #1d2824;color:#87938a;font-size:11px;line-height:1.55}
.reanimation{padding-top:80px}
.reanimation-table{border:1px solid #2e3a34;border-radius:180px 180px 24px 24px;min-height:500px;background:radial-gradient(circle at 50% 42%,rgba(185,255,106,.07),transparent 28%),linear-gradient(180deg,#111916,#0a0f0d);padding:100px 70px 45px;position:relative;overflow:hidden;text-align:center}
.reanimation-table::before{content:"";position:absolute;inset:20px;border:1px solid rgba(184,154,102,.18);border-radius:160px 160px 17px 17px;pointer-events:none}
.electrode{position:absolute;top:160px;width:120px;height:1px;background:linear-gradient(90deg,transparent,var(--acid));box-shadow:0 0 10px rgba(185,255,106,.3)}
.electrode-left{left:0}.electrode-right{right:0;transform:scaleX(-1)}
.selection-pair{display:grid;grid-template-columns:1fr 70px 1fr;gap:20px;align-items:end;max-width:850px;margin:0 auto 28px;position:relative}
.selection-pair label{text-align:left;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.selection-pair select{display:block;width:100%;margin-top:9px;background:#0a0f0d;color:var(--ink);border:1px solid #334039;border-radius:12px;padding:14px;outline:0}
.spark{font-size:38px;color:var(--acid);text-shadow:0 0 22px rgba(185,255,106,.35);padding-bottom:9px}
.shock{margin:0 auto}
.reanimation-result{max-width:780px;margin:32px auto 0;text-align:left;padding:22px 25px;border-radius:16px;background:rgba(5,8,7,.55);border:1px solid #26332d;position:relative}
.reanimation-result h3{font-family:var(--serif);font-size:27px;font-weight:400;margin:10px 0}
.reanimation-result p{color:#aab5ad;line-height:1.65;margin:8px 0}
.status-pill{display:inline-block;border:1px solid #465448;border-radius:999px;padding:5px 8px;color:var(--acid);font-size:8px;letter-spacing:.13em}
.crypt{border:1px solid var(--line);border-radius:18px;background:#0b100e;overflow:hidden}
.crypt summary{cursor:pointer;list-style:none;padding:20px 22px;display:flex;align-items:center;justify-content:space-between}
.crypt summary::-webkit-details-marker{display:none}.crypt summary span{font-family:var(--serif);font-size:20px}.crypt summary small{color:var(--muted)}
.crypt[open] summary{border-bottom:1px solid var(--line)}
.crypt-toolbar{padding:15px 18px;border-bottom:1px solid #1e2925}.crypt-toolbar input{height:38px;border:1px solid #27342e!important;border-radius:10px!important;padding:0 12px!important}
.raw-list{max-height:440px;overflow:auto;padding:8px 18px 18px}
.raw-item{display:grid;grid-template-columns:1.4fr .7fr .6fr;gap:14px;padding:11px 4px;border-bottom:1px solid #17201d;font-size:11px;color:#89948c}
.raw-item strong{font-weight:500;color:#c7d0c9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.raw-item span:last-child{text-align:right}
.dossier-panel{position:fixed;right:0;top:0;bottom:0;width:min(580px,92vw);background:#0c1210;border-left:1px solid #334039;z-index:30;transform:translateX(102%);transition:.3s ease;padding:38px 38px 60px;overflow:auto;box-shadow:-30px 0 80px rgba(0,0,0,.42)}
.dossier-panel.open{transform:translateX(0)}
.panel-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.56);backdrop-filter:blur(3px);z-index:29}
.close-panel{position:sticky;top:0;float:right;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#111916;font-size:22px;cursor:pointer;z-index:2}
.panel-label{font-size:9px;letter-spacing:.14em;color:var(--acid);text-transform:uppercase;margin:25px 0 8px}
.panel-title{font-family:var(--serif);font-size:46px;line-height:1;margin:0 0 12px;font-weight:400}
.panel-subtitle{color:var(--muted);margin:0 0 35px}
.panel-block{border-top:1px solid var(--line);padding:22px 0}
.panel-block h4{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#7d8a81;margin:0 0 10px}
.panel-block p{color:#c0c9c2;line-height:1.68;margin:0}
.evidence-list{list-style:none;padding:0;margin:0}
.evidence-list li{padding:9px 0;border-bottom:1px solid #18221e;font-size:11px;color:#939f96;word-break:break-word}
.panel-note{border:1px solid #38503a;background:rgba(185,255,106,.04);padding:14px;border-radius:12px;color:#aebeaa;font-size:11px;line-height:1.55}
footer{max-width:1280px;margin:0 auto;padding:36px 28px 55px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;color:#69746c;font-size:10px}
footer strong{font-family:var(--serif);font-size:15px;color:#b9c3bb;margin-right:10px}footer span{letter-spacing:.09em;text-transform:uppercase}footer p{margin:0;max-width:600px;text-align:right}
@media(max-width:980px){
  .topbar nav{display:none}
  .hero{grid-template-columns:1fr;gap:30px;padding-top:55px}
  .hero-device{max-width:520px;width:100%;justify-self:center;min-height:330px}
  .principle-strip{grid-template-columns:1fr 1fr}
  .principle-strip span{padding:8px;border-bottom:1px solid var(--line)}
  .section-heading{grid-template-columns:1fr;gap:16px}
  .dossier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .connection-map{grid-template-columns:1fr}
  .reanimation-table{padding:90px 30px 35px}
}
@media(max-width:650px){
  .topbar,main,footer{padding-left:18px;padding-right:18px}
  .topbar{height:70px}
  .hero{min-height:auto;padding:55px 0 75px}
  .hero h1{font-size:49px}.lede{font-size:15px}
  .hero-device{border-radius:90px 90px 22px 22px;padding:58px 25px 28px}
  .principle-strip{margin-bottom:75px}.principle-strip span{font-size:8px}
  .section{padding-bottom:75px}.section h2{font-size:42px}
  .dossier-grid{grid-template-columns:1fr}.dossier-card{min-height:285px}
  .filters{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
  .filter-button{white-space:nowrap}
  .selection-pair{grid-template-columns:1fr}.spark{padding:0;line-height:.7}
  .reanimation-table{border-radius:90px 90px 18px 18px;padding:70px 22px 28px}
  .connection-node{font-size:14px;padding:10px}.connection-wire{min-width:42px}
  .raw-item{grid-template-columns:1fr}.raw-item span:last-child{text-align:left}
  .dossier-panel{padding:28px 24px 50px}.panel-title{font-size:38px}
  footer{flex-direction:column}footer p{text-align:left}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
