:root{--ink: #0b0f14;--ink-soft: #121820;--panel: rgba(18, 24, 32, .88);--parchment: #e8e1d4;--muted: #9aa3ad;--gold: #d4af6a;--gold-dim: #b8975c;--rule: rgba(232, 225, 212, .12);--font-display: "Fraunces", "Times New Roman", serif;--font-body: "Source Sans 3", "Segoe UI", sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:var(--font-body);color:var(--parchment);background:radial-gradient(ellipse at 10% -10%,rgba(212,175,106,.12),transparent 42%),radial-gradient(ellipse at 100% 0%,rgba(70,95,120,.18),transparent 40%),linear-gradient(180deg,#0b0f14,#10161f 45%,#0c1016);background-attachment:fixed}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.035;background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);background-size:48px 48px;z-index:0}app-root{position:relative;z-index:1;display:block;min-height:100vh}h1,h2,h3{font-weight:600}input,textarea,select,button{font:inherit}input,textarea,select{width:100%;border:1px solid var(--rule);background:#00000040;color:var(--parchment);border-radius:.65rem;padding:.7rem .85rem;outline:none}input:focus,textarea:focus,select:focus{border-color:#d4af6a8c}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid transparent;border-radius:999px;padding:.65rem 1.15rem;text-decoration:none;cursor:pointer;color:var(--parchment);background:transparent;transition:transform .15s ease,background .15s ease,border-color .15s ease}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn.primary{background:var(--gold);color:var(--ink);font-weight:600}.btn.ghost{border-color:var(--rule);color:var(--parchment)}.btn.small{padding:.4rem .8rem;font-size:.88rem;background:#d4af6a1f;border-color:#d4af6a47;color:var(--gold)}.panel{background:var(--panel);border:1px solid var(--rule);border-radius:1rem}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-soft{0%,to{opacity:.72}50%{opacity:1}}
