/* ============================================================
   ISENGARD — secondary page styles (intel, deal room, brand,
   colophon, changelog, ring, 404, 402, doom terminal)
   Loaded after styles.css + v2.css on those pages only.
   ============================================================ */

/* ---------- INTEL / ATLAS BRIEF ---------- */
.intel-banner{background:var(--ink);color:var(--cloud);text-align:center;font-family:ui-monospace,"Cascadia Mono",Menlo,Consolas,monospace;font-size:.72rem;font-weight:700;letter-spacing:.22em;padding:10px var(--edge);text-transform:uppercase}
.doc-header{border-bottom:2px solid var(--ink);padding:clamp(32px,4vh,56px) 0 32px}
.doc-meta{font-family:ui-monospace,"Cascadia Mono",Menlo,Consolas,monospace;font-size:.72rem;letter-spacing:.14em;color:var(--ink-soft);margin-top:18px;line-height:2}
.doc-meta span{display:inline-block;margin-right:32px}
.intel-section{padding:clamp(36px,5vh,60px) 0;border-bottom:1px solid var(--hair)}
.intel-section:last-of-type{border-bottom:none}
.intel-section h2{font-size:1rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:clamp(20px,3vh,36px)}
.status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1px;background:var(--hair);border:1px solid var(--hair)}
.status-cell{background:var(--cloud);padding:20px 22px}
.status-cell .sys{font-weight:600;font-size:.96rem;margin-bottom:6px;color:var(--ink)}
.status-cell .st{font-family:ui-monospace,"Cascadia Mono",Menlo,Consolas,monospace;font-size:.72rem;letter-spacing:.16em;font-weight:700}
.status-cell .st-note{font-size:.82rem;color:var(--ink-soft);margin-top:8px}
.st.active{color:#2a7a3b}.st.ramp{color:#c57a00}.st.dev{color:var(--muted)}
.prod-row{display:grid;grid-template-columns:180px 1fr auto;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--hair)}
.prod-row:last-child{border-bottom:none}
.prod-row .cell{font-size:.9rem}
.prod-row .label{font-family:ui-monospace,"Cascadia Mono",Menlo,Consolas,monospace;font-size:.68rem;letter-spacing:.14em;color:var(--muted);margin-top:3px}
.prod-row .pbadge{font-family:ui-monospace,"Cascadia Mono",Menlo,Consolas,monospace;font-size:.68rem;letter-spacing:.14em;font-weight:700;padding:4px 10px;border:1px solid currentColor;white-space:nowrap}
.pbadge.nom{color:#2a7a3b}.pbadge.fwd{color:#c5281b}.pbadge.cls{color:var(--muted)}
.intel-note{background:#f7f8f9;border-left:3px solid var(--ink);padding:20px 24px;font-size:.96rem;line-height:1.6;margin-top:clamp(24px,3vh,40px)}
.intel-body{max-width:64ch;line-height:1.7;color:var(--ink-soft)}
.intel-body p{margin-bottom:16px}
.doc-footer{font-family:ui-monospace,"Cascadia Mono",Menlo,Consolas,monospace;font-size:.68rem;letter-spacing:.14em;color:var(--muted);text-align:center;padding:clamp(24px,3vh,36px) 0;border-top:1px solid var(--hair)}
.found-msg{background:var(--ink);color:var(--cloud);padding:clamp(40px,6vh,72px) var(--edge);margin-top:clamp(40px,6vh,72px);text-align:center}
.found-msg h2{font-size:var(--t-h2);font-weight:600;color:var(--cloud);margin-bottom:16px}
.found-msg p{color:rgba(255,255,255,.72);max-width:48ch;margin:0 auto 12px;font-size:var(--t-lead);line-height:1.5}
.found-msg a{color:var(--cloud);border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:1px}
@media(max-width:640px){.prod-row{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.prod-row .pbadge{justify-self:start}.status-grid{grid-template-columns:1fr}}

/* ---------- DEAL ROOM ---------- */
.dr-page{min-height:100vh;background:var(--ink)}
#gate{position:fixed;inset:0;z-index:999;display:flex;align-items:center;justify-content:center;flex-direction:column;background:linear-gradient(160deg,#1a1b22 0%,#3b3a4c 55%,#56546a 100%)}
#gate::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
#gate.hidden{display:none}
.gate-inner{width:min(480px,92vw);border:1px solid rgba(255,255,255,.14);padding:56px 48px 48px;position:relative;background:rgba(10,10,14,.55);backdrop-filter:blur(12px)}
.gate-inner::before,.gate-inner::after{content:"";position:absolute;width:18px;height:18px;border-color:#b8860b;border-style:solid}
.gate-inner::before{top:-1px;left:-1px;border-width:1.5px 0 0 1.5px}
.gate-inner::after{bottom:-1px;right:-1px;border-width:0 1.5px 1.5px 0}
.gate-logo{font-family:ui-monospace,Menlo,monospace;font-size:.72rem;letter-spacing:.22em;color:#b8860b;margin-bottom:40px;display:flex;align-items:center;gap:10px}
.gate-logo span{display:inline-block;width:8px;height:8px;background:#b8860b}
.gate-title{font-size:1.55rem;font-weight:700;letter-spacing:-.02em;margin-bottom:6px;color:#fff}
.gate-sub{font-size:.85rem;color:rgba(255,255,255,.42);margin-bottom:40px;font-family:ui-monospace,Menlo,monospace;letter-spacing:.04em}
.gate-label{font-family:ui-monospace,Menlo,monospace;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:10px;display:block}
.gate-input{width:100%;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.18);padding:12px 0;font-family:ui-monospace,Menlo,monospace;font-size:1rem;color:#fff;outline:none;letter-spacing:.08em;caret-color:#b8860b;transition:border-color .2s}
.gate-input:focus{border-bottom-color:#b8860b}
.gate-input::placeholder{color:rgba(255,255,255,.2)}
.gate-btn{margin-top:32px;width:100%;position:relative;display:flex;align-items:center;justify-content:center;background:transparent;color:#fff;border:none;padding:16px;font-family:ui-monospace,Menlo,monospace;font-size:.8rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:background .14s ease,color .14s ease}
.gate-btn::before,.gate-btn::after{content:"";position:absolute;inset:0}
.gate-btn::before{background:linear-gradient(currentColor,currentColor) top left/9px 1px no-repeat,linear-gradient(currentColor,currentColor) top left/1px 9px no-repeat,linear-gradient(currentColor,currentColor) bottom right/9px 1px no-repeat,linear-gradient(currentColor,currentColor) bottom right/1px 9px no-repeat}
.gate-btn::after{background:linear-gradient(currentColor,currentColor) top right/9px 1px no-repeat,linear-gradient(currentColor,currentColor) top right/1px 9px no-repeat,linear-gradient(currentColor,currentColor) bottom left/9px 1px no-repeat,linear-gradient(currentColor,currentColor) bottom left/1px 9px no-repeat}
.gate-btn:hover{background:radial-gradient(125% 150% at 50% 0%,#c5281b 0%,#9c0f08 45%,#5c0502 100%);color:#fff}
.gate-btn:focus-visible{outline:2px solid #b8860b;outline-offset:4px}
.gate-err{margin-top:12px;font-family:ui-monospace,Menlo,monospace;font-size:.72rem;letter-spacing:.1em;color:#ff4444;opacity:0;transition:opacity .2s;text-align:center;min-height:1.2em}
.gate-err.show{opacity:1}
.gate-footer{margin-top:28px;font-family:ui-monospace,Menlo,monospace;font-size:.6rem;letter-spacing:.14em;color:rgba(255,255,255,.18);text-align:center}
#drContent{display:none;background:#f4f4f6;color:var(--ink);min-height:100vh}
#drContent.show{display:block}
.dr-header{background:var(--ink);color:#fff;padding:32px 48px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid rgba(255,255,255,.08)}
.dr-wordmark{font-family:ui-monospace,Menlo,monospace;font-size:.75rem;letter-spacing:.22em;color:#b8860b}
.dr-title-block h1{font-size:1.15rem;font-weight:700;color:#fff}
.dr-title-block p{font-size:.78rem;color:rgba(255,255,255,.4);font-family:ui-monospace,Menlo,monospace;letter-spacing:.06em;margin-top:2px}
.dr-meta{font-family:ui-monospace,Menlo,monospace;font-size:.68rem;letter-spacing:.1em;color:rgba(255,255,255,.35);text-align:right;line-height:1.7}
.dr-meta strong{color:#b8860b}
.dr-body{max-width:1100px;margin:0 auto;padding:48px 32px}
.item-table{width:100%;border-collapse:collapse;background:#fff}
.item-table th{font-family:ui-monospace,Menlo,monospace;font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding:10px 16px;text-align:left;border-bottom:2px solid var(--hair);background:#f8f8f9}
.item-table td{padding:13px 16px;border-bottom:1px solid var(--hair);vertical-align:top;font-size:.875rem}
.item-table tr:hover td{background:#f0f0f3}
.td-num{font-family:ui-monospace,Menlo,monospace;font-size:.72rem;color:var(--muted);white-space:nowrap}
.dbadge{display:inline-flex;align-items:center;gap:5px;font-family:ui-monospace,Menlo,monospace;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px}
.dbadge-complete{background:#e8f5e9;color:#2e7d32}
.dbadge-pending{background:#fff8e1;color:#f57f17}
.dbadge-na{background:#f5f5f5;color:var(--muted)}
.dr-sechead{display:flex;align-items:center;gap:14px;padding:14px 20px;background:var(--ink);color:#fff;margin:36px 0 2px}
.dr-sechead .n{font-family:ui-monospace,Menlo,monospace;font-size:.72rem;letter-spacing:.14em;color:#b8860b;min-width:28px}
.dr-sechead .t{font-weight:700;font-size:.9rem;flex:1}
.dr-footer{border-top:1px solid var(--hair);padding:24px 48px;font-family:ui-monospace,Menlo,monospace;font-size:.62rem;letter-spacing:.12em;color:var(--muted);display:flex;justify-content:space-between;align-items:center;background:#fff}
.dr-footer .conf{color:#c0392b;letter-spacing:.16em}
@media(max-width:700px){.dr-header,.dr-body,.dr-footer{padding-left:20px;padding-right:20px}}

/* ---------- BRAND KIT ---------- */
.brand-hero{padding:calc(80px + 10vh) var(--edge) 60px;border-bottom:1px solid var(--hair)}
.brand-section{padding:60px var(--edge);border-bottom:1px solid var(--hair)}
.brand-section>*{max-width:960px}
.brand-label{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:28px}
.brand-section h2{font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.1;margin-bottom:32px;color:var(--ink)}
.brand-p{font-size:.9rem;line-height:1.7;color:var(--ink-soft);max-width:560px;margin-bottom:32px}
.swatch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}
.swatch{overflow:hidden;border:1px solid rgba(0,0,0,.08)}
.swatch-block{height:88px}
.swatch-info{padding:12px 14px;background:#fff}
.swatch-name{font-size:.78rem;font-weight:600;margin-bottom:4px;color:var(--ink)}
.swatch-hex{font-size:.7rem;font-family:ui-monospace,monospace;color:var(--muted);letter-spacing:.06em}
.logo-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:600px){.logo-grid{grid-template-columns:1fr}}
.logo-box{border:1px solid var(--hair);padding:48px;display:flex;align-items:center;justify-content:center;gap:14px;font-size:1.1rem;font-weight:600}
.logo-box img{width:24px;height:26px;flex-shrink:0}
.logo-box.dark{background:var(--ink);color:#fff}
.logo-box.navy{background:#001489;color:#fff}
.logo-box.fog{background:#f4f4f6;color:#0c0c0f}
.logo-box.dark img,.logo-box.navy img{filter:brightness(0) invert(1)}
.type-row{padding:24px 0;border-bottom:1px solid var(--hair);display:flex;align-items:baseline;gap:24px}
.type-row:last-child{border-bottom:none}
.type-meta{font-size:.65rem;line-height:1.4;font-family:ui-monospace,monospace;color:var(--muted);min-width:140px;flex-shrink:0}
.type-sample{color:var(--ink)}
.voice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px}
.voice-card{padding:24px;background:rgba(0,0,0,.05)}
.voice-card h3{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.voice-card p{font-size:.88rem;line-height:1.65;color:var(--ink-soft)}
.voice-card blockquote{font-size:.82rem;line-height:1.5;color:var(--ink);font-style:italic;margin:12px 0 0;padding-left:12px;border-left:2px solid #b8860b}
.usage-row{display:flex;gap:32px;margin-bottom:20px;align-items:flex-start}
.usage-tag{font-size:.6rem;font-family:ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;flex-shrink:0;margin-top:2px}
.do-tag{background:rgba(42,122,42,.1);color:#2a7a2a}
.dont-tag{background:rgba(197,40,27,.08);color:#c5281b}
.usage-text{font-size:.88rem;line-height:1.6;color:var(--ink-soft)}
.dl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.dl-item{border:1px solid var(--hair);padding:18px;display:flex;flex-direction:column;gap:8px}
.dl-item-name{font-size:.82rem;font-weight:600;color:var(--ink)}
.dl-item-meta{font-size:.68rem;font-family:ui-monospace,monospace;color:var(--muted);letter-spacing:.06em;line-height:1.6}
.press-block{padding:40px;background:rgba(0,0,0,.05);max-width:540px}

/* ---------- CHANGELOG / COLOPHON ---------- */
.log-main{padding:calc(40px + 80px + 6vh) var(--edge) 80px;max-width:680px}
.log-main code{background:rgba(0,0,0,.07);padding:1px 5px;font-family:ui-monospace,Menlo,monospace;font-size:.83em}
.log-entry{border-top:1px solid var(--hair);padding:28px 0}
.log-entry .ver{color:var(--muted);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px}
.log-entry h2{font-size:1rem;margin-bottom:12px;color:var(--ink)}
.log-entry p{color:var(--ink-soft);font-size:.875rem;line-height:1.8}
.colo-section{border-top:1px solid var(--hair);padding:40px 0}
.colo-section h2{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}
.colo-section p,.colo-section li{color:var(--ink-soft);line-height:1.85;font-size:.9rem}
.colo-section ul{list-style:none;padding:0}
.colo-section ul li{padding:6px 0;border-bottom:1px solid rgba(0,0,0,.05)}
.colo-section ul li:last-child{border-bottom:none}
.egg-list li{padding:10px 0!important}
.egg-num{color:var(--muted);font-family:ui-monospace,monospace;font-size:.7rem;margin-right:10px;min-width:32px;display:inline-block}
.prime-wrap{margin-top:24px;padding:20px;background:rgba(0,0,0,.05)}
.prime-wrap label{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.prime-wrap input{background:#fff;border:1px solid rgba(0,0,0,.15);padding:8px 12px;font-family:ui-monospace,Menlo,monospace;font-size:.9rem;width:160px;color:var(--ink)}
.prime-result{margin-top:10px;font-size:.8rem;font-family:ui-monospace,monospace;min-height:20px;transition:color .2s}

/* ---------- 404 FANGORN ---------- */
.fangorn{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(120px + var(--edge)) var(--edge) var(--edge);text-align:center;position:relative;overflow:hidden}
.fangorn-code{font-size:clamp(8rem,20vw,16rem);line-height:1;font-family:ui-monospace,monospace;color:rgba(0,0,0,.06);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;user-select:none;white-space:nowrap;letter-spacing:-.04em}
.fangorn-inner{position:relative;z-index:1;max-width:560px}
.fangorn-eyebrow{font-size:.65rem;font-family:ui-monospace,monospace;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:32px}
.fangorn-h{font-size:clamp(2rem,6vw,3.6rem);line-height:1.05;margin-bottom:24px;color:var(--ink)}
.fangorn-body{font-size:.92rem;line-height:1.8;color:var(--ink-soft);margin-bottom:40px}
.fangorn-lore{font-size:.78rem;line-height:1.9;font-family:ui-monospace,monospace;color:var(--muted);letter-spacing:.03em;margin:0 auto 48px;border-left:2px solid var(--hair);padding-left:20px;text-align:left;max-width:380px}
.fangorn-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.tree-line{position:absolute;bottom:0;width:1px;background:linear-gradient(to top,rgba(0,0,0,.07),transparent);pointer-events:none}

/* ---------- THE RING ---------- */
/* Ring page: black background, red glow rising from the bottom */
.ring-pg{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(150px,18vh,210px) var(--edge) clamp(64px,9vh,110px);position:relative;overflow:hidden;text-align:center;color:#fff;background:#050205}
/* Fire glow — three layered blobs, transform+opacity only, irregular timings */
.ring-pg .ring-fire-a,.ring-pg .ring-fire-b,.ring-pg .ring-embers{position:fixed;bottom:-24vh;left:-10vw;right:-10vw;height:60vh;z-index:0;pointer-events:none;mix-blend-mode:screen;will-change:transform,opacity}
.ring-pg .ring-fire-a{background:radial-gradient(45% 75% at 30% 100%,rgba(255,110,25,.5) 0%,rgba(197,40,27,.22) 45%,transparent 72%);animation:fire-a 3.7s ease-in-out infinite}
.ring-pg .ring-fire-b{background:radial-gradient(50% 80% at 72% 100%,rgba(255,150,40,.42) 0%,rgba(160,20,10,.2) 48%,transparent 74%);animation:fire-b 2.9s ease-in-out infinite}
.ring-pg .ring-embers{height:38vh;background:radial-gradient(55% 100% at 50% 112%,rgba(255,70,10,.6) 0%,rgba(120,10,4,.3) 48%,transparent 75%);animation:fire-c 1.6s ease-in-out infinite}
.ring-pg::after{content:"";position:fixed;bottom:0;left:0;right:0;height:26vh;z-index:0;pointer-events:none;mix-blend-mode:screen;background:linear-gradient(to top,rgba(90,8,4,.5),transparent);animation:fire-base 4.3s ease-in-out infinite}
@keyframes fire-a{
  0%,100%{transform:translateX(0) scaleY(1);opacity:.75}
  18%{transform:translateX(-3vw) scaleY(1.08);opacity:.95}
  37%{transform:translateX(2vw) scaleY(.96);opacity:.7}
  55%{transform:translateX(-1.5vw) scaleY(1.12);opacity:1}
  74%{transform:translateX(3vw) scaleY(1.02);opacity:.8}
  88%{transform:translateX(-2vw) scaleY(1.06);opacity:.92}}
@keyframes fire-b{
  0%,100%{transform:translateX(0) scaleY(1);opacity:.7}
  22%{transform:translateX(3.5vw) scaleY(1.1);opacity:.95}
  41%{transform:translateX(-2.5vw) scaleY(.94);opacity:.65}
  63%{transform:translateX(1.5vw) scaleY(1.15);opacity:1}
  82%{transform:translateX(-3vw) scaleY(1);opacity:.78}}
@keyframes fire-c{
  0%,100%{transform:scaleY(1);opacity:.65}
  13%{opacity:.9}
  27%{transform:scaleY(1.1);opacity:.72}
  44%{opacity:1}
  58%{transform:scaleY(.95);opacity:.7}
  71%{opacity:.95}
  86%{transform:scaleY(1.06);opacity:.8}}
@keyframes fire-base{0%,100%{opacity:.8}33%{opacity:1}66%{opacity:.7}}
@media(prefers-reduced-motion:reduce){.ring-pg::after,.ring-pg .ring-fire-a,.ring-pg .ring-fire-b,.ring-pg .ring-embers{animation:none}}
.ring-pg::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.ring-frame{position:relative;display:flex;flex-direction:column;align-items:center;padding:clamp(40px,6vh,80px) clamp(32px,6vw,80px);max-width:640px;width:100%}
.ring-frame::before,.ring-frame::after{content:"";position:absolute;width:22px;height:22px;border-style:solid;border-color:rgba(184,134,11,.55)}
.ring-frame::before{top:-1px;left:-1px;border-width:1.5px 0 0 1.5px}
.ring-frame::after{bottom:-1px;right:-1px;border-width:0 1.5px 1.5px 0}
.ring-eye{font-size:clamp(2.8rem,6vw,4rem);display:block;margin-bottom:28px;filter:drop-shadow(0 0 24px rgba(200,100,0,.8));animation:eye-pulse 3s ease-in-out infinite}
@keyframes eye-pulse{0%,100%{filter:drop-shadow(0 0 24px rgba(200,100,0,.8))}50%{filter:drop-shadow(0 0 56px rgba(255,180,0,.95))}}
@media(prefers-reduced-motion:reduce){.ring-eye{animation:none}}
.ring-h{font-size:clamp(3.5rem,12vw,9rem);font-weight:700;letter-spacing:-.045em;line-height:.88;color:#fff;margin-bottom:32px}
.ring-inscription{font-family:ui-monospace,Menlo,monospace;font-size:clamp(.68rem,.9vw,.82rem);letter-spacing:.12em;line-height:2.6;color:rgba(200,160,0,.72);font-style:italic;margin-bottom:44px;max-width:48ch}
.ring-body{max-width:44ch;color:rgba(255,255,255,.72);font-size:var(--t-lead);line-height:1.65;margin-bottom:52px}
.ring-body p+p{margin-top:16px}
.ring-hint{max-width:52ch;width:100%;border:1px solid rgba(255,255,255,.1);padding:22px 26px;margin-bottom:48px;position:relative;font-family:ui-monospace,Menlo,monospace;font-size:.7rem;letter-spacing:.08em;line-height:2;color:rgba(255,255,255,.45);text-align:left}
.ring-hint::before,.ring-hint::after{content:"";position:absolute;width:12px;height:12px;border-style:solid;border-color:rgba(184,134,11,.6)}
.ring-hint::before{top:-1px;left:-1px;border-width:1px 0 0 1px}
.ring-hint::after{bottom:-1px;right:-1px;border-width:0 1px 1px 0}
.ring-hint code{background:rgba(255,255,255,.08);padding:2px 7px;color:#ffd700;font-family:inherit;letter-spacing:.06em}
.ring-acts{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
.ring-acts .btn{color:#fff}
.ring-telem{position:absolute;bottom:22px;right:var(--edge);font-family:ui-monospace,Menlo,monospace;font-size:.6rem;letter-spacing:.16em;color:rgba(255,255,255,.22);text-align:right;line-height:1.9;pointer-events:none}
.ring-ghost{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:ui-monospace,Menlo,monospace;font-size:clamp(10rem,30vw,26rem);font-weight:700;color:rgba(255,255,255,.025);letter-spacing:-.04em;pointer-events:none;user-select:none;white-space:nowrap}

/* ---------- 402 PREMIUM ---------- */
.lost402{min-height:100vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:calc(40px + 80px + 6vh) var(--edge) 80px;position:relative;overflow:hidden}
.lost402 .code{font-size:clamp(10rem,26vw,22rem);line-height:1;font-family:ui-monospace,monospace;color:rgba(0,0,0,.05);position:absolute;top:50%;right:4%;transform:translateY(-50%);pointer-events:none;user-select:none;letter-spacing:-.05em}
@media(max-width:760px){.lost402 .code{display:none}}
.lost402 h1{font-size:clamp(2.2rem,6vw,4rem);line-height:1.05;margin:18px 0 24px;color:var(--ink);position:relative;z-index:1}
.lost402 .sub{max-width:52ch;color:var(--ink-soft);font-size:.95rem;line-height:1.8;position:relative;z-index:1}
.lost402 .sweep{width:min(420px,70vw);height:2px;background:rgba(0,0,0,.08);margin:36px 0;position:relative;overflow:hidden;z-index:1}
.lost402 .sweep::after{content:"";position:absolute;top:0;left:0;width:30%;height:100%;background:#b8860b;animation:sweep402 2.4s cubic-bezier(.77,0,.175,1) infinite}
@keyframes sweep402{0%{left:-30%}100%{left:100%}}
@media(prefers-reduced-motion:reduce){.lost402 .sweep::after{animation:none;left:35%}}
.lost402 .acts{display:flex;gap:16px;flex-wrap:wrap;margin-top:40px;position:relative;z-index:1}
.lost402 .telem{margin-top:56px;font-size:.62rem;line-height:1.6;font-family:ui-monospace,monospace;color:var(--muted);letter-spacing:.12em;position:relative;z-index:1}

/* ---------- DOOM TERMINAL ---------- */
.doom-body{position:fixed;inset:0;background:linear-gradient(160deg,#1a1b22 0%,#3b3a4c 55%,#56546a 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;font-family:ui-monospace,"Cascadia Mono",Menlo,monospace;overflow:hidden}
.doom-body::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.b-logo{font-size:clamp(1rem,3vw,1.8rem);font-weight:bold;color:#b8860b;letter-spacing:.35em;margin-bottom:2rem;text-align:center;position:relative;z-index:1}
.b-logo span{color:#fff}
.b-lines{font-size:.75rem;color:rgba(255,255,255,.45);line-height:1.9;max-width:540px;width:100%;position:relative;z-index:1}
.b-line{opacity:0;transition:opacity .1s}
.b-line.v{opacity:1}
.b-ok{color:#4caf50}.b-err{color:#c5281b}.b-hl{color:#b8860b}
.b-bar-w{margin-top:1.5rem;width:100%;max-width:540px;height:2px;background:rgba(255,255,255,.12);position:relative;z-index:1}
#bBar{height:100%;background:#b8860b;width:0%;transition:width .08s linear}
.b-btn{position:relative;margin-top:2rem;font-size:.8rem;color:#fff;letter-spacing:.2em;text-transform:uppercase;opacity:0;cursor:pointer;background:transparent;border:none;padding:.7rem 2.2rem;font-family:inherit;z-index:1;animation:doomblink 1s step-end infinite}
.b-btn.v{opacity:1}
.b-btn::before{content:"";position:absolute;inset:0;background:linear-gradient(currentColor,currentColor) top left/9px 1px no-repeat,linear-gradient(currentColor,currentColor) top left/1px 9px no-repeat,linear-gradient(currentColor,currentColor) bottom right/9px 1px no-repeat,linear-gradient(currentColor,currentColor) bottom right/1px 9px no-repeat}
.b-btn::after{content:"";position:absolute;inset:0;background:linear-gradient(currentColor,currentColor) top right/9px 1px no-repeat,linear-gradient(currentColor,currentColor) top right/1px 9px no-repeat,linear-gradient(currentColor,currentColor) bottom left/9px 1px no-repeat,linear-gradient(currentColor,currentColor) bottom left/1px 9px no-repeat}
.b-btn:hover{color:#b8860b}
.b-btn:focus-visible{outline:2px solid #b8860b;outline-offset:4px}
@keyframes doomblink{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.b-btn{animation:none;opacity:1}.b-line{transition:none}#bBar{transition:none}}
.doom-msg{position:relative;z-index:1;margin-top:2rem;max-width:540px;width:100%;border:1px solid rgba(255,255,255,.12);padding:22px 26px;font-size:.72rem;letter-spacing:.08em;line-height:2;color:rgba(255,255,255,.55);text-align:left;display:none}
.doom-msg.v{display:block}
.doom-msg a{color:#ffd700;text-decoration:underline;text-underline-offset:3px}


/* 10 — Fangorn tree-lines sway in the wind */
.tree-line{transform-origin:bottom center;animation:tree-sway 8s ease-in-out infinite alternate}
.tree-line:nth-of-type(2n){animation-duration:10.5s;animation-delay:-3s}
.tree-line:nth-of-type(3n){animation-duration:12s;animation-delay:-6s}
@keyframes tree-sway{from{transform:rotate(-.9deg)}to{transform:rotate(.9deg)}}
@media(prefers-reduced-motion:reduce){.tree-line{animation:none}}
