@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700;800&display=swap";:root{--color-bg: #0a0a1a;--color-bg-card: #12112a;--color-bg-card-hover: #1a1940;--color-bg-input: #0e0e22;--color-text: #e8e6f0;--color-text-muted: #9490b0;--color-text-heading: #ffffff;--color-primary: #d4a853;--color-primary-hover: #e8bf6a;--color-primary-glow: rgba(212, 168, 83, .15);--color-primary-bg: rgba(212, 168, 83, .08);--color-purple: #7c3aed;--color-purple-dim: #4c1d95;--color-purple-glow: rgba(124, 58, 237, .15);--color-border: rgba(124, 58, 237, .2);--color-border-hover: rgba(124, 58, 237, .4);--color-border-input: rgba(124, 58, 237, .3);--color-danger: #dc2626;--color-danger-bg: rgba(220, 38, 38, .1);--color-danger-border: rgba(220, 38, 38, .3);--color-success: #059669;--color-success-bg: rgba(5, 150, 105, .1);--color-success-border: rgba(5, 150, 105, .3);--color-warning: #d97706;--color-warning-bg: rgba(217, 119, 6, .1);--color-warning-border: rgba(217, 119, 6, .3);--color-tool-done-bg: rgba(5, 150, 105, .1);--color-tool-done-text: #34d399;--color-tool-done-border: rgba(5, 150, 105, .25);--color-tool-pending-bg: rgba(217, 119, 6, .1);--color-tool-pending-text: #fbbf24;--color-tool-pending-border: rgba(217, 119, 6, .25);--color-cat-rules: #2563eb;--color-cat-adventure: #7c3aed;--color-cat-supplement: #d97706;--color-cat-scenario: #059669;--color-cat-notes: #9490b0;--font-display: "Cinzel", serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--shadow-card: 0 4px 20px rgba(0, 0, 0, .3);--shadow-modal: 0 8px 40px rgba(0, 0, 0, .5);--shadow-glow-gold: 0 4px 20px rgba(212, 168, 83, .25);--shadow-glow-purple: 0 4px 20px rgba(124, 58, 237, .15)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);line-height:1.6}a{color:var(--color-primary)}h1,h2,h3{font-family:var(--font-display);color:var(--color-text-heading)}::selection{background:#7c3aed4d;color:#fff}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:#7c3aed4d;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#7c3aed80}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-display);padding:.8rem 2rem;border-radius:.6rem;text-decoration:none;font-weight:700;font-size:.95rem;transition:all .2s ease;cursor:pointer;border:none}.btn-gold{background:linear-gradient(135deg,var(--color-primary),#c49a3c);color:var(--color-bg);box-shadow:var(--shadow-glow-gold)}.btn-gold:hover{background:linear-gradient(135deg,var(--color-primary-hover),var(--color-primary));box-shadow:0 4px 30px #d4a85366;transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--color-text-muted);border:1px solid rgba(148,144,176,.3)}.btn-ghost:hover{color:var(--color-text);border-color:#9490b099}.btn-purple{background:linear-gradient(135deg,var(--color-purple),var(--color-purple-dim));color:#fff;box-shadow:var(--shadow-glow-purple)}.btn-purple:hover{box-shadow:0 4px 30px #7c3aed4d;transform:translateY(-1px)}.btn-lg{padding:1rem 2.5rem;font-size:1.1rem}.btn-sm{padding:.4rem 1rem;font-size:.85rem;font-family:var(--font-body)}.btn-danger{background:transparent;color:var(--color-danger);border:1px solid var(--color-danger-border)}.btn-danger:hover{background:var(--color-danger-bg)}.input{padding:.5rem .75rem;border:1px solid var(--color-border-input);border-radius:.375rem;font-size:1rem;background:var(--color-bg-input);color:var(--color-text);outline:none;transition:border-color .15s}.input:focus{border-color:var(--color-purple);box-shadow:0 0 0 2px #7c3aed1a}.input::placeholder{color:var(--color-text-muted);opacity:.6}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:1rem;transition:all .25s ease}.card:hover{background:var(--color-bg-card-hover);border-color:var(--color-border-hover)}.accent{color:var(--color-primary)}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin-top:.75em;margin-bottom:.25em;font-weight:600;color:var(--color-text-heading)}.markdown-body h1{font-size:1.25em}.markdown-body h2{font-size:1.1em}.markdown-body h3{font-size:1em}.markdown-body p{margin:.25em 0}.markdown-body ul,.markdown-body ol{margin:.25em 0;padding-left:1.5em}.markdown-body code{background:#7c3aed26;padding:.125em .375em;border-radius:.25em;font-size:.875em;color:var(--color-primary-hover)}.markdown-body pre{background:#0e0e22;color:#e8e6f0;padding:.75em 1em;border-radius:.375em;overflow-x:auto;margin:.5em 0;border:1px solid var(--color-border)}.markdown-body pre code{background:none;padding:0;color:inherit}.markdown-body blockquote{border-left:3px solid var(--color-primary);padding-left:.75em;color:var(--color-text-muted);margin:.5em 0}.markdown-body table{border-collapse:collapse;margin:.5em 0;width:100%}.markdown-body th,.markdown-body td{border:1px solid var(--color-border);padding:.375em .625em;text-align:left}.markdown-body th{background:var(--color-bg-card);font-weight:600;color:var(--color-text-heading)}.markdown-body strong{font-weight:600;color:var(--color-text-heading)}.markdown-body a{color:var(--color-primary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}@keyframes slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}details summary::-webkit-details-marker{display:none}details[open] .accordion-arrow{transform:rotate(90deg)}.auth-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh}.auth-page h1{font-family:var(--font-display);font-size:1.75rem;margin-bottom:1.5rem;color:var(--color-text-heading)}.auth-form{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:360px}.auth-form label{display:flex;flex-direction:column;gap:.25rem;font-weight:500;color:var(--color-text)}.auth-form input{padding:.5rem;border:1px solid var(--color-border-input);border-radius:.375rem;font-size:1rem;background:var(--color-bg-input);color:var(--color-text);outline:none}.auth-form input:focus{border-color:var(--color-purple)}.auth-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;border:none;border-radius:.5rem;font-weight:600;font-size:1rem;cursor:pointer;text-decoration:none;width:100%;transition:all .15s}.auth-btn-primary{background:linear-gradient(135deg,var(--color-primary),#c49a3c);color:var(--color-bg)}.auth-btn-primary:hover{box-shadow:var(--shadow-glow-gold)}.auth-btn-google{background:#fff;color:#3c4043;border:1px solid #dadce0}.auth-btn-google:hover{background:#f7f8f8}.auth-btn-discord{background:#5865f2;color:#fff}.auth-btn-discord:hover{background:#4752c4}.auth-divider{display:flex;align-items:center;color:var(--color-text-muted);font-size:.875rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--color-border)}.auth-divider span{padding:0 .75rem}.auth-error{color:var(--color-danger);background:var(--color-danger-bg);border:1px solid var(--color-danger-border);padding:.5rem 1rem;border-radius:.375rem;width:100%;max-width:360px;margin-bottom:1rem;font-size:.875rem;text-align:center}.legal-page{max-width:760px;margin:0 auto;padding:3rem 2rem 4rem;line-height:1.7;font-size:.95rem}.legal-page .back-link{display:inline-block;color:var(--color-text-muted);text-decoration:none;font-size:.875rem;margin-bottom:2rem;transition:color .2s}.legal-page .back-link:hover{color:var(--color-primary)}.legal-page .legal-title{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700;color:var(--color-text-heading);margin-bottom:.5rem}.legal-page .legal-updated{color:var(--color-text-muted);font-size:.85rem;margin-bottom:3rem}.legal-page section{margin-bottom:2.5rem}.legal-page h2{font-family:var(--font-display);font-size:1.15rem;font-weight:600;color:var(--color-primary);margin-bottom:.75rem}.legal-page h3{font-size:.95rem;font-weight:600;color:var(--color-text-heading);margin:1rem 0 .5rem}.legal-page p{margin-bottom:.75rem}.legal-page ul{margin:.5rem 0 .75rem 1.5rem}.legal-page li{margin-bottom:.35rem}.legal-page a{color:var(--color-primary);text-decoration:underline;text-decoration-color:#d4a8534d;transition:text-decoration-color .2s}.legal-page a:hover{text-decoration-color:var(--color-primary)}.legal-page .legal-footer{margin-top:4rem;padding-top:1.5rem;border-top:1px solid var(--color-border);text-align:center;font-size:.85rem}.legal-page .legal-footer a{color:var(--color-text-muted);text-decoration:none}.legal-page .legal-footer a:hover{color:var(--color-primary)}.legal-page .sep{margin:0 .75rem;color:var(--color-text-muted)}
