:root{--bg:#0a0a0f;--card:#12121a;--border:#1e1e2e;--text:#e4e4e7;--dim:#71717a;--accent:#00D4FF;--font:'SF Mono',Monaco,Consolas,monospace}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--text);font-family:var(--font);min-height:100vh;line-height:1.5}
.wrap{max-width:560px;margin:0 auto;padding:20px 16px 80px}
h1{font-size:1.3rem;font-weight:700;letter-spacing:-.5px;margin-bottom:4px}
.sub{color:var(--dim);font-size:.85rem;margin-bottom:24px}
input{width:100%;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 16px;color:var(--text);font-family:var(--font);font-size:.9rem;outline:none;transition:border .2s}
input:focus{border-color:var(--accent)}
input::placeholder{color:#3f3f46}
.btn{width:100%;background:var(--accent);color:#000;border:none;border-radius:10px;padding:14px;font-family:var(--font);font-size:.9rem;font-weight:700;cursor:pointer;transition:opacity .2s;margin-top:10px}
.btn:hover{opacity:.85}
.btn:disabled{opacity:.4;cursor:wait}
.lang-sel{display:flex;gap:4px;margin-bottom:16px}
.lang-sel button{background:var(--card);border:1px solid var(--border);color:var(--dim);border-radius:6px;padding:4px 10px;font-size:.75rem;cursor:pointer;font-family:var(--font)}
.lang-sel button.active{color:var(--accent);border-color:var(--accent)}
#result{margin-top:24px;display:none}
.aura-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px;text-align:center;position:relative;overflow:hidden}
.aura-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--aura-color,var(--accent))}
.emoji{font-size:3rem;margin-bottom:8px}
.persona-name{font-size:1.4rem;font-weight:700;margin-bottom:4px}
.persona-desc{color:var(--dim);font-size:.85rem;margin-bottom:16px}
.roast{background:var(--bg);border-radius:8px;padding:12px;margin:12px 0;font-style:italic;color:var(--text);font-size:.85rem;border-left:2px solid var(--aura-color,var(--accent))}
.data-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}
.data-item{background:var(--bg);border-radius:8px;padding:10px;text-align:left}
.data-label{color:var(--dim);font-size:.7rem;text-transform:uppercase;letter-spacing:.5px}
.data-value{font-size:1rem;font-weight:700;margin-top:2px}
.traits{margin:16px 0}
.trait{margin-bottom:8px}
.trait-label{display:flex;justify-content:space-between;font-size:.75rem;margin-bottom:2px}
.trait-bar{height:4px;background:var(--bg);border-radius:2px;overflow:hidden}
.trait-fill{height:100%;border-radius:2px;transition:width .8s ease}
.share-btn{background:transparent;border:1px solid var(--border);color:var(--text);border-radius:10px;padding:10px;font-family:var(--font);font-size:.8rem;cursor:pointer;margin-top:12px;width:100%;transition:border .2s}
.share-btn:hover{border-color:var(--accent)}
.pay-section{margin-top:20px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px}
.pay-title{font-size:.9rem;font-weight:700;margin-bottom:4px}
.pay-desc{color:var(--dim);font-size:.75rem;margin-bottom:12px}
.addr-box{background:var(--bg);border-radius:8px;padding:10px;font-size:.75rem;word-break:break-all;display:flex;align-items:center;gap:8px;cursor:pointer;transition:border .2s}
.addr-box:hover{border:1px solid var(--accent)}
.copy-icon{flex-shrink:0;opacity:.6}
.error{color:#ef4444;font-size:.85rem;margin-top:8px;display:none}
.loading{display:none;text-align:center;padding:40px}
.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 8px}
@keyframes spin{to{transform:rotate(360deg)}}
footer{margin-top:40px;text-align:center;color:var(--dim);font-size:.7rem;line-height:1.6}
footer a{color:var(--accent);text-decoration:none}
