:root{--bg:#0a1024;--panel:#111a36;--line:#22305c;--mint:#5effc4;--pink:#ff5fa2;--txt:#dfe7ff;--dim:#7d8bb8}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--txt);font-family:'JetBrains Mono',monospace;
background-image:radial-gradient(circle at 15% 0%,rgba(94,255,196,.08),transparent 40%),radial-gradient(circle at 90% 30%,rgba(255,95,162,.08),transparent 40%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
background-size:auto,auto,28px 28px,28px 28px;min-height:100vh}
.display{font-family:'Fraunces',serif}
.card{background:linear-gradient(180deg,rgba(17,26,54,.95),rgba(13,20,44,.95));border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 0 0 1px rgba(94,255,196,.03),0 10px 40px -20px rgba(94,255,196,.25);animation:rise .6s both}
.card:nth-child(2){animation-delay:.08s}.card:nth-child(3){animation-delay:.16s}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.btn{border:1px solid var(--line);border-radius:10px;padding:7px 12px;font-size:12px;background:#0c1430;color:var(--txt);transition:.15s;cursor:pointer}
.btn:hover{border-color:var(--mint);color:var(--mint)}
.btn:disabled{opacity:.4;cursor:not-allowed}
.btn-mint{background:var(--mint);color:#06122a;border-color:var(--mint);font-weight:800}
.btn-mint:hover{color:#06122a;filter:brightness(1.1)}
.btn-pink{background:var(--pink);color:#1a0612;border-color:var(--pink);font-weight:800}
.btn-pink:hover{color:#1a0612}
textarea,input[type=text],input[type=number],select{background:#070c1e;border:1px solid var(--line);color:var(--txt);border-radius:10px;padding:8px;font-family:'JetBrains Mono',monospace;font-size:12px;width:100%}
textarea:focus,input:focus{outline:none;border-color:var(--mint)}
input[type=range]{accent-color:var(--mint);width:100%}
.lbl{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--dim)}
.cursor{display:inline-block;width:8px;height:14px;background:var(--mint);vertical-align:middle;animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}
.pulse{animation:pulse 1s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(1.2);filter:drop-shadow(0 0 10px var(--pink))}}
.log{background:#060a18;border:1px solid var(--line);border-radius:10px;padding:10px;font-size:11px;height:150px;overflow:auto;white-space:pre-wrap}
a{color:var(--mint)}