/* shared look for legal.html, contact.html, omni.html (same palette as the portal) */
:root{--night:#1a1440;--card:#2a2160;--card2:#352a78;--sun:#ffcc33;--pink:#ff5d9e;--mint:#3ddc97;--sky:#4cc3ff;--ink:#f3f1ff;--ink-dim:#b9b2e8;--line:#473a96;--bad:#ff6b6b}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Rubik',Arial,sans-serif;background:var(--night);background-image:radial-gradient(circle at 18% 12%,#2b1f6b 0,transparent 32%),radial-gradient(circle at 85% 30%,#251a5e 0,transparent 30%);color:var(--ink);min-height:100vh;line-height:1.6;background-attachment:fixed}
h1,h2,.display{font-family:'Secular One',Rubik,sans-serif;font-weight:400}
.wrap{max-width:860px;margin:0 auto;padding:18px 16px 40px}
.top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.top h1{font-size:26px;flex:1;min-width:200px}
.back{background:var(--card2);color:#fff;border:3px solid #fff;border-radius:14px;padding:8px 14px;text-decoration:none;font-weight:800;box-shadow:4px 4px 0 rgba(0,0,0,.3)}
.card{background:var(--card);border:3px solid #fff;border-radius:22px;box-shadow:8px 8px 0 rgba(0,0,0,.35);padding:18px 20px;margin-bottom:16px}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.tabs a{background:var(--card2);color:var(--ink);border:2px solid var(--line);border-radius:999px;padding:6px 14px;text-decoration:none;font-weight:700;font-size:14px}
.tabs a.on{background:var(--sun);color:#2a2000;border-color:#fff}
.doc{user-select:text;-webkit-user-select:text}
.doc h2{font-size:24px;margin-bottom:4px}.doc h3{font-size:17px;margin:18px 0 6px;color:#ffd86b}
.doc p,.doc li{font-size:15px;color:#e9e6ff}.doc ul,.doc ol{padding-inline-start:22px;margin:6px 0}.doc li{margin:3px 0}
.doc .meta{color:var(--ink-dim);font-size:13px;margin-bottom:12px}
.doc a{color:#ffd86b}
.note{background:rgba(255,204,51,.12);border:2px solid rgba(255,204,51,.5);border-radius:14px;padding:10px 14px;margin-bottom:14px;font-size:14px}
label{display:block;font-weight:700;margin:12px 0 4px;font-size:14px}
input,select,textarea{width:100%;font:inherit;background:#1d1650;color:#fff;border:3px solid var(--line);border-radius:14px;padding:10px 12px}
textarea{min-height:130px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--sky)}
.chk{display:block;font-weight:600;margin-top:12px}.chk input{width:auto;margin-inline-end:8px;vertical-align:middle;transform:scale(1.3)}
.btn{display:inline-block;background:var(--sun);color:#2a2000;border:3px solid #fff;border-radius:16px;padding:10px 20px;font:800 17px Rubik,sans-serif;cursor:pointer;box-shadow:4px 4px 0 rgba(0,0,0,.35);text-decoration:none}
.btn.pink{background:var(--pink);color:#fff}.btn.mint{background:var(--mint);color:#06301d}.btn.ghost{background:var(--card2);color:#fff}
.btn:disabled{opacity:.5;cursor:default}
.small{font-size:13px;color:var(--ink-dim)}
.msg{margin-top:12px;font-weight:700}.msg.ok{color:var(--mint)}.msg.bad{color:var(--bad)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.pack{background:linear-gradient(160deg,#3b2d85,#2a2160);border:3px solid #fff;border-radius:20px;padding:16px;text-align:center;position:relative}
.pack .ol{font-size:30px;font-weight:800}.pack .pr{font-size:18px;font-weight:800;color:#ffd86b;margin:6px 0 10px}
.pack .tag{position:absolute;top:-12px;inset-inline-end:12px;background:var(--pink);color:#fff;border-radius:999px;padding:2px 10px;font-weight:800;font-size:13px;border:2px solid #fff}
.bal{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:800}
.bal b{font-size:38px;color:#fff}
table.hist{width:100%;border-collapse:collapse;font-size:14px}table.hist td{padding:6px 4px;border-bottom:1px solid var(--line)}
.modal{position:fixed;inset:0;background:rgba(10,8,30,.75);display:none;align-items:center;justify-content:center;z-index:50;padding:16px}
.modal.on{display:flex}.modal .card{max-width:420px;width:100%}
@media (max-width:520px){.top h1{font-size:21px}.card{padding:14px}}
