:root{
  --bg:#050507;
  --text:#f4f7f6;
  --muted:rgba(244,247,246,.64);
  --steel:rgba(164,177,178,.45);
  --green:#4bff21;
  --pink:#ff3dbd;
  --yellow:#f8e602;
  --line:rgba(255,255,255,.13);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}
button,input,textarea{font:inherit;color:inherit}
body{cursor:crosshair}.rh-hovering-echo{cursor:pointer}
.rh-shell{position:relative;width:100vw;height:100svh;min-height:620px;overflow:hidden;background:#050507;isolation:isolate}
.network-wrap{position:absolute;inset:0;z-index:1;overflow:hidden;background:#000;touch-action:none}
.ascii-wall{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.82;filter:contrast(1.12) brightness(.72) saturate(1.16);transform:scale(1.045)}
#networkCanvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:crosshair}
.rh-vignette{position:absolute;inset:-12%;z-index:3;pointer-events:none;background:radial-gradient(circle at 58% 48%,transparent 0 36%,rgba(0,0,0,.50) 72%,rgba(0,0,0,.96) 100%),linear-gradient(90deg,rgba(0,0,0,.40),transparent 28%,transparent 72%,rgba(0,0,0,.42))}
.rh-noise{position:absolute;inset:0;z-index:4;opacity:.06;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 170 170' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='170' height='170' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E");mix-blend-mode:screen}
.rh-scanline{position:absolute;inset:0;z-index:5;pointer-events:none;background:linear-gradient(to bottom,transparent,transparent 56%,rgba(255,255,255,.035) 57%,transparent 58%);background-size:100% 7px;opacity:.18}
.rh-header{position:absolute;z-index:8;top:clamp(18px,3.2vw,40px);left:clamp(18px,4vw,58px);right:clamp(18px,4vw,58px);display:flex;justify-content:space-between;gap:18px;align-items:flex-start;pointer-events:none}
.rh-network-title{font-family:'JetBrains Mono',monospace;font-size:clamp(11px,1.1vw,14px);letter-spacing:.14em;color:rgba(255,255,255,.82);text-shadow:0 0 18px rgba(75,255,33,.22)}
.rh-status{font-family:'JetBrains Mono',monospace;font-size:clamp(10px,1vw,12px);letter-spacing:.18em;color:rgba(255,255,255,.72);display:flex;align-items:center;gap:10px;white-space:nowrap}
.rh-status span{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 14px var(--green),0 0 32px rgba(75,255,33,.45);animation:rhPulse 2.8s ease-in-out infinite}
.rh-hero{position:absolute;z-index:7;top:clamp(92px,13vh,150px);left:clamp(18px,4vw,58px);width:min(520px,calc(100vw - 36px));pointer-events:none;mix-blend-mode:screen}
.rh-eyebrow{margin:0 0 18px;font-family:'JetBrains Mono',monospace;font-size:clamp(10px,1.1vw,13px);letter-spacing:.18em;color:var(--pink);text-shadow:0 0 12px rgba(255,61,189,.88),0 0 34px rgba(255,61,189,.45)}
.rh-hero h1{margin:0;line-height:.86;font-size:clamp(50px,8vw,116px);letter-spacing:-.065em;font-weight:900;text-transform:uppercase;text-shadow:0 0 34px rgba(255,61,189,.16),0 0 44px rgba(75,255,33,.09)}
.rh-hero h1 span{display:block}.rh-hero h1 span:nth-child(2){color:rgba(255,255,255,.86)}.rh-hero h1 span:nth-child(3){color:rgba(255,255,255,.74)}
.rh-subtitle{margin:18px 0 0;font-family:'JetBrains Mono',monospace;font-size:clamp(11px,1.2vw,15px);letter-spacing:.22em;color:rgba(255,255,255,.82);max-width:420px;text-shadow:0 0 18px rgba(255,61,189,.18)}
.rh-panel{position:absolute;z-index:9;right:clamp(16px,4vw,58px);bottom:clamp(18px,5vh,58px);width:min(420px,calc(100vw - 32px));padding:2px;background:linear-gradient(135deg,rgba(255,61,189,.98),rgba(248,230,2,.94),rgba(75,255,33,.96));clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px);box-shadow:0 0 36px rgba(255,61,189,.48),0 0 68px rgba(255,61,189,.25),0 0 78px rgba(75,255,33,.20)}
.rh-panel form{padding:22px;background:radial-gradient(circle at 18% 8%,rgba(255,61,189,.32),transparent 34%),radial-gradient(circle at 82% 94%,rgba(75,255,33,.26),transparent 42%),linear-gradient(145deg,rgba(13,8,16,.90),rgba(4,8,6,.80));backdrop-filter:blur(18px);clip-path:polygon(17px 0,100% 0,100% calc(100% - 17px),calc(100% - 17px) 100%,0 100%,0 17px)}
.rh-form-title{display:block;margin:0 0 16px;font-size:13px;font-family:'JetBrains Mono',monospace;letter-spacing:.22em;color:var(--pink);text-shadow:0 0 14px rgba(255,61,189,.92),0 0 34px rgba(255,61,189,.54),0 0 42px rgba(75,255,33,.16)}
#traceMessage{width:100%;min-height:110px;resize:none;border:0;border-bottom:1px solid rgba(255,61,189,.48);outline:0;padding:2px 0 13px;background:transparent;color:#fff;font-size:15px;line-height:1.55;caret-color:var(--green);text-shadow:0 0 12px rgba(255,255,255,.12)}
#traceMessage:focus{border-bottom-color:rgba(75,255,33,.92);box-shadow:0 13px 30px -18px rgba(75,255,33,.72),0 0 28px rgba(255,61,189,.18)}
.rh-form-footer{display:flex;gap:12px;align-items:center;margin-top:16px}
#traceName{min-width:0;flex:1;border:0;border-bottom:1px solid rgba(255,61,189,.38);outline:0;background:transparent;padding:12px 0 11px;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.12em;color:rgba(255,255,255,.86);caret-color:var(--green);text-shadow:0 0 14px rgba(255,61,189,.22)}
#traceName::placeholder{color:rgba(244,247,255,.58)}
#trace-submit,.rh-random{border:1px solid rgba(75,255,33,.76);background:linear-gradient(135deg,rgba(75,255,33,.24),rgba(248,230,2,.18),rgba(255,61,189,.16));color:#fff;padding:12px 16px;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.18em;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease;text-shadow:0 0 14px rgba(75,255,33,.62)}
#trace-submit:hover,.rh-random:hover{transform:translateY(-1px);border-color:rgba(255,61,189,.94);background:linear-gradient(135deg,rgba(255,61,189,.34),rgba(75,255,33,.25),rgba(248,230,2,.22));box-shadow:0 0 30px rgba(255,61,189,.46),0 0 42px rgba(75,255,33,.26),0 0 54px rgba(248,230,2,.12)}
#trace-submit:disabled{opacity:.45;cursor:not-allowed;transform:none}
.rh-feedback{position:absolute;left:18px;right:18px;bottom:calc(100% + 12px);font-family:'JetBrains Mono',monospace;font-size:11px;line-height:1.55;letter-spacing:.12em;color:rgba(255,255,255,.82);text-shadow:0 0 18px rgba(75,255,33,.22);min-height:34px;pointer-events:none}.rh-feedback strong{color:var(--yellow);font-weight:500}.rh-feedback em{font-style:normal;color:var(--pink)}
.rh-random{position:absolute;z-index:9;left:clamp(18px,4vw,58px);bottom:clamp(18px,5vh,58px);background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.16)}
.rh-reader{position:absolute;z-index:10;width:min(520px,calc(100vw - 36px));padding:28px;background:rgba(5,7,9,.80);border:1px solid rgba(255,255,255,.14);box-shadow:0 0 80px rgba(0,0,0,.72),0 0 60px rgba(75,255,33,.12),0 0 80px rgba(255,61,189,.12);backdrop-filter:blur(18px);clip-path:polygon(22px 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%,0 22px)}
.hidden{display:none!important}
#closePopup{position:absolute;top:12px;right:14px;border:0;background:transparent;font-size:28px;line-height:1;color:rgba(255,255,255,.72);cursor:pointer;text-shadow:0 0 12px rgba(255,61,189,.9)}.rh-reader-kicker,.rh-reader-meta{font-family:'JetBrains Mono',monospace;letter-spacing:.18em}.rh-reader-kicker{font-size:11px;color:var(--green);margin-bottom:16px}.rh-reader-meta{font-size:11px;color:rgba(255,255,255,.5);margin-bottom:18px}.rh-reader h3{margin:0 34px 16px 0;font-family:'JetBrains Mono',monospace;font-size:14px;letter-spacing:.16em;color:var(--pink);text-shadow:0 0 16px rgba(255,61,189,.6)}.rh-reader p{margin:0;font-size:18px;line-height:1.55;color:#fff;white-space:pre-wrap}
.rh-glitch{animation:rhGlitch .2s steps(2,end)}
@keyframes rhPulse{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.12)}}
@keyframes rhGlitch{0%{transform:translate(0)}25%{transform:translate(1px,-1px)}50%{transform:translate(-2px,1px)}75%{transform:translate(1px,1px)}100%{transform:translate(0)}}
@media (max-width:760px){.rh-shell{min-height:100svh}.rh-header{display:block;top:12px;left:12px;right:12px}.rh-network-title{font-size:10px;letter-spacing:.11em}.rh-status{margin-top:6px;font-size:9px;letter-spacing:.13em;gap:7px}.rh-status span{width:6px;height:6px}.rh-hero{top:62px;left:12px;width:calc(100vw - 24px)}.rh-eyebrow{max-width:290px;margin-bottom:9px;font-size:9px;line-height:1.35;letter-spacing:.13em}.rh-hero h1{font-size:clamp(31px,10.5vw,48px);line-height:.86}.rh-subtitle{max-width:280px;margin-top:9px;font-size:9px;line-height:1.35;letter-spacing:.15em}.rh-panel{right:10px;left:10px;bottom:calc(10px + env(safe-area-inset-bottom));width:auto;padding:1px;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);box-shadow:0 0 24px rgba(255,61,189,.38),0 0 42px rgba(75,255,33,.16)}.rh-panel form{padding:10px 12px 11px;clip-path:polygon(11px 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%,0 11px);backdrop-filter:blur(12px)}.rh-form-title{margin-bottom:7px;font-size:10px;letter-spacing:.16em}#traceMessage{min-height:46px;max-height:58px;font-size:13px;line-height:1.28;padding-bottom:7px}.rh-form-footer{gap:8px;margin-top:8px}#traceName{padding:7px 0 7px;font-size:10px;letter-spacing:.08em}#trace-submit{padding:8px 10px;font-size:10px;letter-spacing:.13em}.rh-feedback{left:12px;right:12px;bottom:calc(100% + 6px);min-height:18px;font-size:9px;line-height:1.3;letter-spacing:.08em}.rh-random{display:none}.ascii-wall{transform:scale(1.06);opacity:.78}.rh-vignette{background:radial-gradient(circle at 55% 46%,transparent 0 42%,rgba(0,0,0,.42) 76%,rgba(0,0,0,.96) 100%),linear-gradient(90deg,rgba(0,0,0,.34),transparent 32%,transparent 68%,rgba(0,0,0,.36))}.rh-reader{left:12px!important;right:12px!important;top:28%!important;width:auto!important;padding:20px}.rh-reader p{font-size:15px;line-height:1.45}}
@media (max-height:700px) and (min-width:761px){.rh-hero{top:82px}.rh-hero h1{font-size:72px}.rh-random{bottom:20px}#traceMessage{min-height:72px}.rh-panel form{padding:18px}}
@media (prefers-reduced-motion:reduce){.rh-status span{animation:none}.rh-glitch{animation:none}}
