@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=EB+Garamond:ital@0;1&family=IM+Fell+English:ital@0;1&family=Inter:wght@400;600;700&family=Pirata+One&family=JetBrains+Mono&display=swap";:root{--bg:#14131a;--panel:#1d1c26;--panel-2:#262533;--line:#34323f;--text:#ece9f1;--muted:#9b97ab;--accent:#7c5cff;--accent-2:#b8860b;--danger:#d9534f;--ok:#3fae6a}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;font-size:14px}.centered,.flash{padding:16px}.centered{height:100%;color:var(--muted);place-items:center;display:grid}.muted{color:var(--muted)}.small{font-size:12px}.spacer{flex:1}.btn{background:var(--panel-2);color:var(--text);border:1px solid var(--line);cursor:pointer;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.ghost{background:0 0}.btn.danger{color:var(--danger);background:0 0;border-color:#5a2b2b}.btn.small{padding:5px 10px;font-size:12px}.btn:disabled{opacity:.6;cursor:default}.auth-wrap{place-items:center;min-height:100%;padding:24px;display:grid}.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:8px;width:360px;padding:28px;display:flex}.auth-card .brand{margin:0}.auth-card label{color:var(--muted);margin-top:8px;font-size:12px}.auth-card input{background:var(--panel-2);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:10px}.auth-card .btn{margin-top:16px}.brand{letter-spacing:.5px;color:var(--accent-2);font-family:Cinzel,serif}.alert{color:#f3c0bf;background:#3a1f22;border:1px solid #5a2b2b;border-radius:8px;padding:8px 12px;font-size:13px}.app-shell{flex-direction:column;height:100%;display:flex}.topbar{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 16px;display:flex}.topbar .brand{margin:0;font-size:18px}.title-input{background:var(--panel-2);border:1px solid var(--line);color:var(--text);border-radius:8px;min-width:220px;padding:8px 12px;font-weight:600}.flash{padding:8px 16px;font-size:13px}.flash.err{color:#f3c0bf;background:#3a1f22}.flash.ok{color:#bcf0cf;background:#1f3a2a}.dash{padding:24px;overflow:auto}.dash-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.empty{text-align:center;color:var(--muted);padding:60px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.card-tile{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}.tile-body{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;padding:16px;display:block}.tile-name{margin-bottom:4px;font-size:16px;font-weight:700}.tile-actions{border-top:1px solid var(--line);gap:8px;padding:10px 16px;display:flex}.editor-layout{flex:1;grid-template-columns:380px 1fr;display:grid;overflow:hidden}.panel{border-right:1px solid var(--line);background:var(--panel);padding:12px;overflow-y:auto}.ctrl-section{border:1px solid var(--line);background:var(--panel-2);border-radius:10px;margin-bottom:12px;padding:12px}.ctrl-section h3{text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:0 0 10px;font-size:13px}.lbl{color:var(--muted);font-size:12px}.lbl em{color:var(--text);font-style:normal}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.grid2{grid-template-columns:1fr 1fr;gap:10px;margin:8px 0;display:grid}.chip{background:var(--panel);border:1px solid var(--line);color:var(--text);cursor:pointer;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:inline-flex}.chip.on{border-color:var(--accent);background:#2a2440}.swatch{border:1px solid #0006;border-radius:3px;width:12px;height:12px}.toggle{cursor:pointer;align-items:center;gap:8px;margin:6px 0;display:flex}.color-row,.range-row,.text-row{flex-direction:column;gap:4px;margin:6px 0;display:flex}.color-row input[type=color]{border:1px solid var(--line);background:0 0;border-radius:6px;width:100%;height:30px}input[type=range]{width:100%;accent-color:var(--accent)}.text-row input,.text-row select,.field-controls input,.field-controls textarea,.field-controls select,.sym-upload input{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:6px;width:100%;padding:7px 9px;font-family:inherit}.field-controls{flex-direction:column;gap:4px;display:flex}.style-buttons{align-items:flex-end;gap:4px;display:flex}.sbtn{border:1px solid var(--line);background:var(--panel);width:30px;height:30px;color:var(--text);cursor:pointer;border-radius:6px;font-weight:700}.sbtn.ital{font-style:italic}.sbtn.on{border-color:var(--accent);background:#2a2440}.mana-current{flex-wrap:wrap;align-items:center;gap:6px;min-height:32px;margin:6px 0;display:flex}.mana-add,.mana-remove{cursor:pointer;background:0 0;border:none;border-radius:50%;padding:2px}.mana-add:hover{outline:2px solid var(--accent)}.mana-remove:hover{outline:2px solid var(--danger)}.mana-pip{text-align:center;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;font-family:Inter,sans-serif;font-weight:700;display:inline-flex}.sym-upload{border-top:1px dashed var(--line);margin-top:10px;padding-top:10px}.preview-area{background:radial-gradient(circle at 50% 20%,#201d2c,#100f15);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex;overflow:auto}.preview-frame{border-radius:18px;overflow:hidden;box-shadow:0 20px 60px #0009}.preview-frame.checker{background-color:#c9c9cf;background-image:linear-gradient(45deg,#9a9aa2 25%,#0000 25%),linear-gradient(-45deg,#9a9aa2 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#9a9aa2 75%),linear-gradient(-45deg,#0000 75%,#9a9aa2 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.offscreen{pointer-events:none;opacity:1;position:fixed;top:0;left:-10000px}
