@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700;800&display=swap";.app-tabbar[data-astro-cid-yavrwc3q]{display:none}html.in-app .app-tabbar[data-astro-cid-yavrwc3q]{z-index:100;-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom);background:#0a0a1aeb;align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.app-tab[data-astro-cid-yavrwc3q]{color:var(--color-text-muted);letter-spacing:.01em;-webkit-tap-highlight-color:transparent;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.15rem;padding:.5rem 0 .45rem;font-size:.66rem;font-weight:600;text-decoration:none;display:flex}.app-tab[data-astro-cid-yavrwc3q].active{color:var(--color-primary)}.app-tab[data-astro-cid-yavrwc3q] svg[data-astro-cid-yavrwc3q]{display:block}: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:#fff;--color-primary:#d4a853;--color-primary-hover:#e8bf6a;--color-primary-glow:#d4a85326;--color-primary-bg:#d4a85314;--color-purple:#7c3aed;--color-purple-dim:#4c1d95;--color-purple-glow:#7c3aed26;--color-border:#7c3aed33;--color-border-hover:#7c3aed66;--color-border-input:#7c3aed4d;--color-danger:#dc2626;--color-danger-bg:#dc26261a;--color-danger-border:#dc26264d;--color-success:#059669;--color-success-bg:#0596691a;--color-success-border:#0596694d;--color-warning:#d97706;--color-warning-bg:#d977061a;--color-warning-border:#d977064d;--color-tool-done-bg:#0596691a;--color-tool-done-text:#34d399;--color-tool-done-border:#05966940;--color-tool-pending-bg:#d977061a;--color-tool-pending-text:#fbbf24;--color-tool-pending-border:#d9770640;--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 #0000004d;--shadow-modal:0 8px 40px #00000080;--shadow-glow-gold:0 4px 20px #d4a85340;--shadow-glow-purple:0 4px 20px #7c3aed26}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--color-bg)}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{color:#fff;background:#7c3aed4d}::-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{font-family:var(--font-display);cursor:pointer;border:none;border-radius:.6rem;justify-content:center;align-items:center;gap:.5rem;padding:.8rem 2rem;font-size:.95rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.btn-gold{background:linear-gradient(135deg, var(--color-primary), #c49a3c);color:#fff;text-shadow:0 1px 2px #0006;box-shadow:var(--shadow-glow-gold)}.btn-gold:hover{background:linear-gradient(135deg, var(--color-primary-hover), var(--color-primary));transform:translateY(-1px);box-shadow:0 4px 30px #d4a85366}.btn-ghost{color:var(--color-text-muted);background:0 0;border:1px solid #9490b04d}.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{transform:translateY(-1px);box-shadow:0 4px 30px #7c3aed4d}.btn-lg{padding:1rem 2.5rem;font-size:1.1rem}.btn-sm{font-size:.85rem;font-family:var(--font-body);padding:.4rem 1rem}.btn-danger{color:var(--color-danger);border:1px solid var(--color-danger-border);background:0 0}.btn-danger:hover{background:var(--color-danger-bg)}.input{border:1px solid var(--color-border-input);background:var(--color-bg-input);color:var(--color-text);border-radius:.375rem;outline:none;padding:.5rem .75rem;font-size:1rem;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}.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{color:var(--color-text-heading);margin-top:.75em;margin-bottom:.25em;font-weight:600}.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{color:var(--color-primary-hover);background:#7c3aed26;border-radius:.25em;padding:.125em .375em;font-size:.875em}.markdown-body pre{color:#e8e6f0;border:1px solid var(--color-border);background:#0e0e22;border-radius:.375em;margin:.5em 0;padding:.75em 1em;overflow-x:auto}.markdown-body pre code{color:inherit;background:0 0;padding:0}.markdown-body blockquote{border-left:3px solid var(--color-primary);color:var(--color-text-muted);margin:.5em 0;padding-left:.75em}.markdown-body table{border-collapse:collapse;width:100%;margin:.5em 0;display:block;overflow-x:auto}.markdown-body th,.markdown-body td{border:1px solid var(--color-border);text-align:left;padding:.375em .625em}.markdown-body th{background:var(--color-bg-card);color:var(--color-text-heading);font-weight:600}.markdown-body strong{color:var(--color-text-heading);font-weight:600}.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)}}@keyframes tab-slide-in{0%{transform:translate(110%,-50%)}to{transform:translateY(-50%)}}details summary::-webkit-details-marker{display:none}details[open] .accordion-arrow{transform:rotate(90deg)}.auth-page{flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:360px;min-height:80vh;margin:0 auto;display:flex}.auth-page h1{font-family:var(--font-display);color:var(--color-text-heading);margin-bottom:1.5rem;font-size:1.75rem}.auth-form{flex-direction:column;gap:1rem;width:100%;display:flex}.auth-form label{color:var(--color-text);flex-direction:column;gap:.25rem;font-weight:500;display:flex}.auth-form input{border:1px solid var(--color-border-input);background:var(--color-bg-input);color:var(--color-text);border-radius:.375rem;outline:none;padding:.5rem;font-size:1rem}.auth-form input:focus{border-color:var(--color-purple)}.auth-btn{cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .15s;display:flex}.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{color:#3c4043;background:#fff;border:1px solid #dadce0}.auth-btn-google:hover{background:#f7f8f8}.auth-btn-discord{color:#fff;background:#5865f2}.auth-btn-discord:hover{background:#4752c4}.auth-btn-apple{color:#fff;background:#000;border:1px solid #000}.auth-btn-apple:hover{background:#1a1a1a}.auth-divider{color:var(--color-text-muted);align-items:center;font-size:.875rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-bottom:1px solid var(--color-border);flex:1}.auth-divider span{padding:0 .75rem}.auth-error{color:var(--color-danger);background:var(--color-danger-bg);border:1px solid var(--color-danger-border);text-align:center;border-radius:.375rem;width:100%;margin-bottom:1rem;padding:.5rem 1rem;font-size:.875rem}.legal-page{max-width:760px;margin:0 auto;padding:3rem 2rem 4rem;font-size:.95rem;line-height:1.7}.legal-page .back-link{color:var(--color-text-muted);margin-bottom:2rem;font-size:.875rem;text-decoration:none;transition:color .2s;display:inline-block}.legal-page .back-link:hover{color:var(--color-primary)}.legal-page .legal-title{font-family:var(--font-display);color:var(--color-text-heading);margin-bottom:.5rem;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700}.legal-page .legal-updated{color:var(--color-text-muted);margin-bottom:3rem;font-size:.85rem}.legal-page section{margin-bottom:2.5rem}.legal-page h2{font-family:var(--font-display);color:var(--color-primary);margin-bottom:.75rem;font-size:1.15rem;font-weight:600}.legal-page h3{color:var(--color-text-heading);margin:1rem 0 .5rem;font-size:.95rem;font-weight:600}.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 #d4a8534d;transition:text-decoration-color .2s}.legal-page a:hover{text-decoration-color:var(--color-primary)}.legal-page .legal-footer{border-top:1px solid var(--color-border);text-align:center;margin-top:4rem;padding-top:1.5rem;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{color:var(--color-text-muted);margin:0 .75rem}:root{--app-tabbar-height:3.4rem}html.in-app .public-nav,html.in-app .public-nav-overlay,html.in-app .nav,html.in-app .nav-mobile-overlay,html.in-app .public-footer{display:none!important}html.in-app body{padding-top:env(safe-area-inset-top);padding-bottom:calc(var(--app-tabbar-height) + env(safe-area-inset-bottom))}html.in-app .app-shell{height:calc(100dvh - env(safe-area-inset-top) - var(--app-tabbar-height) - env(safe-area-inset-bottom))}
