:root{--bg-deep: #050508;--bg-panel: #0e0c0c;--bg-elevated: #161313;--bg-hover: #201b1b;--border: rgba(255, 255, 255, .08);--border-strong: rgba(252, 165, 175, .22);--text: #fff3f5;--text-muted: #aea5a6;--text-dim: #7a7272;--accent: #d10f2a;--accent-soft: rgba(209, 15, 42, .16);--accent-2: #e8384f;--danger: #fb7185;--danger-soft: rgba(251, 113, 133, .12);--success: #4ade80;--warning: #fbbf24;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--shadow: 0 18px 50px rgba(0, 0, 0, .55);--font-sans: "JetBrains Mono", ui-monospace, monospace;--font-display: "JetBrains Mono", ui-monospace, monospace;--ease: cubic-bezier(.22, 1, .36, 1);--nav-h: 64px;--duration-fast: .18s;--duration-med: .28s}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;display:flex;flex-direction:column;font-family:var(--font-sans);color:var(--text);background:radial-gradient(1200px 600px at 10% -10%,rgba(209,15,42,.18),transparent 55%),radial-gradient(900px 500px at 90% 0%,rgba(143,10,29,.12),transparent 50%),linear-gradient(180deg,#100607 0%,var(--bg-deep) 40%,#000000 100%);background-attachment:fixed;line-height:1.5;-webkit-font-smoothing:antialiased}img,video{max-width:100%;display:block}a{color:var(--accent-2);text-decoration:none;transition:color .2s var(--ease)}a:hover{color:#ffd6db}button,input,textarea,select{font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{position:sticky;top:0;z-index:40;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;border-bottom:1px solid var(--border);background:#050508c7;backdrop-filter:blur(14px)}.brand{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-weight:700;font-size:1.25rem;letter-spacing:.04em;color:var(--text);line-height:1}.brand-logo{display:block;width:28px;height:28px;object-fit:contain;flex-shrink:0}a.brand,a.brand:hover,a.brand:focus{color:var(--text)}.brand span{color:var(--accent-2)}.nav-actions{display:flex;gap:.65rem;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid transparent;border-radius:999px;padding:.65rem 1.15rem;cursor:pointer;font-weight:600;font-size:.925rem;transition:transform .2s var(--ease),background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),filter .2s var(--ease)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#8f0a1d,var(--accent));color:#fff5f6}a.btn-primary,a.btn-primary:hover,a.btn-primary:focus,.btn-primary:hover:not(:disabled){color:#fff}.btn-primary:hover:not(:disabled){filter:brightness(1.1)}.btn-ghost{background:transparent;border-color:var(--border-strong);color:var(--text)}a.btn-ghost,a.btn-ghost:hover,a.btn-ghost:focus,.btn-ghost:hover:not(:disabled){color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);border-color:#f0475c66}.btn-danger{background:var(--danger-soft);border-color:#fb718559;color:var(--danger)}.btn-discord{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;background:#5865f2;border-color:#5865f2;color:#fff}a.btn-discord,a.btn-discord:hover,a.btn-discord:focus,.btn-discord:hover:not(:disabled){color:#fff}.btn-discord:hover:not(:disabled){filter:brightness(1.08)}.btn-discord-icon{flex-shrink:0}.auth-divider{display:flex;align-items:center;gap:.85rem;margin:1rem 0 1.1rem;color:var(--muted);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-divider span{flex-shrink:0}.panel{background:#0e0c0ce6;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.75rem}.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.field label{font-size:.85rem;color:var(--text-muted);font-weight:500}.field input,.field textarea,.field select{width:100%;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text);padding:.8rem .95rem;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.field input:focus,.field textarea:focus,.field select:focus{border-color:#d10f2aa6;box-shadow:0 0 0 3px var(--accent-soft);outline:none}.field .hint{font-size:.78rem;color:var(--text-dim)}.field .hint a{color:var(--accent-2);font-weight:600}.field .hint a:hover{color:var(--text)}.alert{border-radius:var(--radius-md);padding:.85rem 1rem;margin-bottom:1rem;font-size:.9rem}.alert-error{background:var(--danger-soft);border:1px solid rgba(251,113,133,.3);color:#fecdd3}.alert-success{background:#4ade801a;border:1px solid rgba(74,222,128,.28);color:#bbf7d0}.alert-info{background:var(--accent-soft);border:1px solid rgba(209,15,42,.35);color:#ffd6db}.muted{color:var(--text-muted)}.container{width:min(1100px,calc(100% - 2rem));margin-inline:auto}.stack{display:flex;flex-direction:column;gap:1rem}.row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.spinner{width:1.1rem;height:1.1rem;border:2px solid rgba(255,255,255,.2);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-center{min-height:calc(100vh - var(--nav-h));display:grid;place-items:center;padding:2rem 1rem}.auth-card{width:min(420px,100%)}.auth-card h1{font-family:var(--font-display);font-size:1.7rem;margin:0 0 .35rem}.auth-card .lead{margin:0 0 1.35rem;color:var(--text-muted)}.auth-footer{margin-top:1.25rem;text-align:center;color:var(--text-muted);font-size:.9rem}.legal-agree-field{margin-bottom:1.15rem}.legal-agree-box{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:#0e0c0c8c;padding:.85rem .95rem}.legal-agree-check{display:flex;align-items:flex-start;gap:.7rem;margin:0;color:var(--text);font-size:.86rem;line-height:1.45;font-weight:500;cursor:pointer}.legal-agree-check input[type=checkbox]{width:1.05rem;height:1.05rem;margin:.15rem 0 0;flex-shrink:0;accent-color:var(--accent);cursor:pointer}.legal-agree-check input[type=checkbox]:disabled{cursor:not-allowed;opacity:.55}.legal-agree-check a,.legal-inline-btn{color:var(--accent-2);font-weight:600;text-decoration:none;background:none;border:0;padding:0;font:inherit;cursor:pointer}.legal-agree-check a:hover,.legal-inline-btn:hover{text-decoration:underline}.legal-agree-box .hint{margin:.55rem 0 0 1.75rem}.legal-accept-overlay{position:fixed;inset:0;z-index:400;display:flex;align-items:center;justify-content:center;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));background:#04040ac7;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.legal-accept-overlay[hidden]{display:none}.legal-accept-panel{width:min(40rem,100%);max-height:min(88vh,42rem);display:flex;flex-direction:column;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-panel, rgba(14, 12, 12, .96));box-shadow:var(--shadow);outline:none}.legal-accept-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem;padding:1.1rem 1.2rem .85rem;border-bottom:1px solid var(--border)}.legal-accept-head h2{margin:0 0 .35rem;font-family:var(--font-display);font-size:1.2rem}.legal-accept-lead{margin:0;color:var(--text-muted);font-size:.84rem;line-height:1.5;max-width:34rem}.legal-accept-lead a{color:var(--accent-2);font-weight:600}.legal-accept-close{flex-shrink:0}.legal-accept-scroll{flex:1 1 auto;min-height:12rem;overflow:auto;padding:1rem 1.2rem;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(209,15,42,.55) transparent}.legal-accept-scroll::-webkit-scrollbar{width:8px}.legal-accept-scroll::-webkit-scrollbar-track{background:transparent}.legal-accept-scroll::-webkit-scrollbar-thumb{background:#d10f2a73;border-radius:999px;border:2px solid transparent;background-clip:padding-box}.legal-accept-scroll::-webkit-scrollbar-thumb:hover{background:#d10f2ab3;border:2px solid transparent;background-clip:padding-box}.legal-accept-scroll::-webkit-scrollbar-button{display:none;width:0;height:0}.legal-accept-body{color:var(--text);font-size:.88rem;line-height:1.55}.legal-accept-body section{margin:0 0 1.15rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.legal-accept-body section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}.legal-accept-body h2{margin:0 0 .55rem;font-size:.95rem;display:flex;align-items:baseline;gap:.55rem}.legal-accept-body .legal-num{color:var(--accent-2);font-size:.75rem;font-weight:700;letter-spacing:.04em}.legal-accept-body p,.legal-accept-body li{color:var(--text-muted)}.legal-accept-body p{margin:0 0 .55rem}.legal-accept-body p:last-child{margin-bottom:0}.legal-accept-body ul{margin:.35rem 0 0;padding-left:1.15rem}.legal-accept-body li{margin-bottom:.3rem}.legal-accept-body a{color:var(--accent-2);font-weight:600}.legal-accept-load-error{margin:.75rem 0 0;color:var(--text-muted);font-size:.86rem}.legal-accept-load-error a{color:var(--accent-2);font-weight:600}.legal-accept-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding:.85rem 1.2rem 1.1rem;border-top:1px solid var(--border)}.legal-accept-foot .hint{margin:0;flex:1 1 12rem}.legal-accept-actions{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}body.legal-accept-open{overflow:hidden}@media(max-width:520px){.legal-accept-foot{flex-direction:column;align-items:stretch}.legal-accept-actions{width:100%}.legal-accept-actions .btn{flex:1 1 auto}}.site-footer{margin-top:auto;border-top:1px solid var(--border);background:#050508b8;padding:1.35rem 0 1.6rem}.site-footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.85rem 1.25rem}.site-footer-links{display:flex;flex-wrap:wrap;gap:.85rem 1.25rem}.site-footer-links a{color:var(--text-muted);font-size:.88rem;font-weight:600}.site-footer-links a:hover{color:var(--accent-2)}.site-footer-copy{margin:0;color:var(--text-dim);font-size:.82rem}@media(max-width:640px){.site-footer-inner{flex-direction:column;align-items:flex-start}}
