/* dsng.org — minimal private node */
:root {
  --bg:#0a0a0b; --text:#f3f1ec; --muted:#8b8c91; --faint:#56575c;
  --line:rgba(255,255,255,.10); --accent:#d7ffb8;
  --sans:"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
  --mono:"SFMono-Regular","Cascadia Code","Roboto Mono",Consolas,monospace;
}
*{box-sizing:border-box}
html{min-height:100%;background:var(--bg);color:var(--text)}
body{min-height:100vh;margin:0;overflow-x:hidden;background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.018),transparent 30rem),var(--bg);font-family:var(--sans);-webkit-font-smoothing:antialiased}
button,input{font:inherit} button{color:inherit}
::selection{background:var(--accent);color:#10110f}

.noise{position:fixed;inset:0;z-index:10;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
.glow{position:fixed;width:28rem;height:28rem;left:calc(var(--pointer-x,50vw) - 14rem);top:calc(var(--pointer-y,44vh) - 14rem);border-radius:50%;pointer-events:none;opacity:.08;filter:blur(80px);background:radial-gradient(circle,rgba(215,255,184,.12),transparent 68%)}

.shell{width:min(100% - 36px,760px);min-height:100vh;margin:0 auto;display:grid;place-items:center;position:relative;padding:56px 0}
.core{width:min(100%,620px);position:relative;padding:12px 0}
.brandline{margin-bottom:clamp(44px,8vw,74px)}
h1{margin:0;font-size:clamp(38px,7vw,64px);line-height:.95;letter-spacing:-.06em;font-weight:500}

.terminal__line{min-height:28px;display:flex;align-items:center;gap:11px;color:var(--text);font:500 clamp(13px,2.2vw,16px)/1.5 var(--mono);letter-spacing:-.015em}
.prompt,.console__prompt{color:var(--accent)}
.cursor{width:7px;height:1em;display:inline-block;background:currentColor;opacity:.72;animation:blink 1.05s steps(2,jump-none) infinite}

.hint{margin:18px 0 0 23px;padding:0;display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:#4d4e53;font:500 9px/1 var(--mono);cursor:pointer;transition:color .18s ease}
.hint:hover,.hint:focus-visible{color:var(--muted)}
.hint:focus-visible,.gem:focus-visible,#command-input:focus-visible{outline:1px solid var(--accent);outline-offset:5px}

kbd{min-width:20px;padding:4px 6px;border:1px solid var(--line);border-radius:4px;background:rgba(255,255,255,.018);color:var(--muted);font:500 9px/1 var(--mono);text-align:center}

.console{margin:19px 0 0 23px;width:min(100% - 23px,540px)}
.console[hidden]{display:none}
#command-form{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px}
#command-input{width:100%;border:0;border-bottom:1px solid var(--line);outline:0;padding:7px 0;border-radius:0;background:transparent;color:var(--text);font:500 12px/1.4 var(--mono);caret-color:var(--accent)}
#command-input::placeholder{color:#4a4b50}
.console__output{min-height:18px;margin-top:12px;color:var(--faint);font:500 10px/1.55 var(--mono);white-space:pre-line}

.identity-reveal{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at 50% 46%,rgba(215,255,184,.04),transparent 18rem),rgba(10,10,11,.94);backdrop-filter:blur(12px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .36s ease,visibility .36s ease}
.identity-reveal.is-visible{opacity:1;visibility:visible}
.identity-reveal__inner{display:grid;justify-items:center;gap:20px;transform:translateY(6px);opacity:0;transition:transform .46s cubic-bezier(.2,.8,.2,1),opacity .42s ease}
.identity-reveal.is-visible .identity-reveal__inner{transform:translateY(0);opacity:1}
.identity-reveal__label{color:var(--faint);font:500 9px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase}
.identity-reveal__logo{display:block;width:clamp(160px,27vw,250px);height:auto;opacity:.94;filter:invert(1) drop-shadow(0 0 28px rgba(215,255,184,.05))}

.gem{position:fixed;right:20px;bottom:18px;width:42px;height:42px;border:0;background:transparent;cursor:pointer;z-index:2}
.gem span{position:absolute;inset:50% auto auto 50%;width:3px;height:3px;border-radius:50%;transform:translate(-50%,-50%);background:#3f4044;transition:width .22s ease,height .22s ease,background .22s ease,box-shadow .22s ease}
.gem:hover span,.gem:focus-visible span,.gem.is-found span{width:5px;height:5px;background:var(--accent);box-shadow:0 0 20px rgba(215,255,184,.36)}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes blink{0%,46%{opacity:.72}47%,100%{opacity:0}}

@media(max-width:640px){
  .shell{width:min(100% - 28px,760px);padding:36px 0}
  .core{padding-inline:4px}
  .brandline{margin-bottom:48px}
  .hint,.console{margin-left:19px}
  .gem{right:10px;bottom:8px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .glow{display:none}
}
