:root{
  --bg:#050505;
  --text:#d7d7d7;
  --muted:#777;
  --line:#1c1c1c;
  --error:#a53a3a;
  --success:#8ca987;
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:"Courier New",monospace}
body{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;overflow-x:hidden;overflow-y:auto}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.055;background:repeating-linear-gradient(0deg,rgba(255,255,255,.18) 0px,rgba(255,255,255,.18) 1px,transparent 1px,transparent 3px)}
.page{width:min(760px,calc(100% - 40px));padding:40px 0 90px;margin:auto 0}
.status{color:#555;font-size:12px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:34px}
.riddle{font-size:clamp(17px,2vw,21px);line-height:1.85;letter-spacing:.015em;white-space:pre-line}
.search{margin-top:46px;display:flex;border-bottom:1px solid var(--line);padding-bottom:10px}
.prompt{color:#4f4f4f;margin-right:10px;user-select:none}
input{width:100%;border:0;outline:0;background:transparent;color:#eee;font:inherit;caret-color:#ddd}
input::placeholder{color:#343434}
.message{height:24px;margin-top:13px;font-size:13px;color:var(--muted)}
.number-noise{margin-top:28px;font-size:clamp(15px,1.8vw,19px);line-height:1.9;word-break:break-word;color:#bdbdbd}
.noise-click{cursor:text;color:inherit;text-decoration:none}
.noise-click:hover{color:inherit;text-decoration:none}
.glitch{animation:noiseGlitch .18s steps(2,end) 2}
@keyframes noiseGlitch{0%{transform:translateX(0);opacity:1}25%{transform:translateX(-3px);opacity:.55}50%{transform:translateX(3px);opacity:.9}75%{transform:translateX(-1px);opacity:.65}100%{transform:translateX(0);opacity:1}}
.error{color:var(--error)}
.success{color:var(--success)}
.hidden{display:none}
.fade{animation:fade .65s ease both}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.blink::after{content:"_";animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
