:root{--bg:#faf9ff;--fg:#1e1b2e;--accent:#8b5cf6;--accent-2:#a78bfa;--card:#fff;--border:#1e1b2e1f;--glow:#8b5cf659;--accent-soft:#8b5cf62e;--bgA:color-mix(in oklab, var(--accent) 18%, transparent);--bgB:color-mix(in oklab, var(--accent-2) 14%, transparent);--bgC:color-mix(in oklab, var(--accent) 10%, transparent);--text:var(--fg);--purple:#8b5cf6;--blue:#3b82f6}*{box-sizing:border-box}html,body{color:var(--text);background:radial-gradient(circle at 0 0,#8b5cf629,#0000 28%),radial-gradient(circle at 100% 0,#3b82f624,#0000 30%),#09090f;margin:0;padding:0;font-family:Segoe Script,Lucida Handwriting,Comic Sans MS,cursive,Inter,sans-serif}button{cursor:pointer;transition:all .2s}.gl-card{background:var(--card);border:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:var(--radius);box-shadow:0 8px 30px #00000040,inset 0 1px #ffffff0a}.gl-card:hover{transform:translateY(-2px)}.gl-hero{border-radius:var(--radius);background:linear-gradient(135deg,#8b5cf63d,#3b82f624);padding:24px;box-shadow:0 20px 40px #0000001f}.gl-btn{color:#fff;background:linear-gradient(135deg, var(--purple), var(--blue));border:none;border-radius:16px;padding:12px 18px;font-weight:700;box-shadow:0 8px 20px #8b5cf659}.gl-btn:hover{transform:translateY(-1px)scale(1.01)}.gl-btn-outline{border:1px solid var(--border);color:var(--text);background:#ffffff0a;border-radius:16px;padding:10px 16px}.gl-input{border:1px solid var(--border);color:#fff;background:#ffffff08;border-radius:16px;outline:none;width:100%;padding:12px 14px}.gl-input:focus{border-color:var(--purple);box-shadow:0 0 0 4px #8b5cf62e}.gl-cursive{letter-spacing:.02em;font-family:Segoe Script,Lucida Handwriting,Comic Sans MS,cursive;font-style:italic}.confetti-container{pointer-events:none;z-index:9999;position:fixed;inset:0;overflow:hidden}.confetti-piece{opacity:.95;transform-origin:50%;border-radius:3px;width:10px;height:8px;animation:1.2s ease-out forwards confetti-fall;position:absolute}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(110vh)rotate(720deg)}}:root.dark{--bg:#0b0f17;--fg:#e5e7eb;--accent:#a78bfa;--accent-2:#c4b5fd;--card:#ffffff0d;--border:#ffffff1f;--glow:#a78bfa8c;--accent-soft:#a78bfa38;--bgA:color-mix(in oklab, var(--accent) 28%, transparent);--bgB:color-mix(in oklab, var(--accent-2) 22%, transparent);--bgC:#ffffff0f;--text:var(--fg);--purple:#a78bfa;--blue:#38bdf8}:root[data-accent=arcane]{--accent:#8b5cf6;--accent-2:#a78bfa;--glow:#8b5cf659;--accent-soft:#8b5cf62e}:root.dark[data-accent=arcane]{--accent:#a78bfa;--accent-2:#c4b5fd;--glow:#a78bfa8c;--accent-soft:#a78bfa38}:root[data-accent=sakura]{--accent:#fb7185;--accent-2:#f472b6;--glow:#fb718559;--accent-soft:#fb718529}:root.dark[data-accent=sakura]{--accent:#fda4af;--accent-2:#f472b6;--glow:#fda4af80;--accent-soft:#fda4af33}:root[data-accent=aether]{--accent:#22d3ee;--accent-2:#67e8f9;--glow:#22d3ee59;--accent-soft:#22d3ee29}:root.dark[data-accent=aether]{--accent:#67e8f9;--accent-2:#a5f3fc;--glow:#67e8f980;--accent-soft:#67e8f933}:root,:root.dark{--scene-1:transparent;--scene-2:transparent;--scene-3:transparent}:root[data-theme=guild]{--scene-1:color-mix(in oklab, var(--accent) 18%, transparent);--scene-2:color-mix(in oklab, var(--accent-2) 14%, transparent);--scene-3:#facc151a}:root.dark[data-theme=guild]{--scene-1:color-mix(in oklab, var(--accent) 26%, transparent);--scene-2:color-mix(in oklab, var(--accent-2) 20%, transparent);--scene-3:#facc1514}:root[data-theme=nebula]{--scene-1:#3b82f624;--scene-2:#ec48991a;--scene-3:#22d3ee1a}:root.dark[data-theme=nebula]{--scene-1:#3b82f633;--scene-2:#ec489929;--scene-3:#22d3ee24}:root[data-theme=dungeon]{--scene-1:#22c55e1a;--scene-2:#94a3b81a;--scene-3:#0000000d}:root.dark[data-theme=dungeon]{--scene-1:#22c55e24;--scene-2:#94a3b81f;--scene-3:#0000002e}body{background:radial-gradient(1200px 600px at 20% -10%, var(--scene-1), transparent 60%), radial-gradient(900px 500px at 85% 0%, var(--scene-2), transparent 55%), radial-gradient(900px 650px at 50% 120%, var(--scene-3), transparent 60%), linear-gradient(180deg, var(--bg), var(--bg));background-attachment:fixed}:root[data-theme=guild]{--bgA:color-mix(in oklab, var(--accent) 18%, transparent);--bgB:color-mix(in oklab, var(--accent-2) 14%, transparent);--bgC:color-mix(in oklab, var(--accent) 10%, transparent)}:root.dark[data-theme=guild]{--bgA:color-mix(in oklab, var(--accent) 28%, transparent);--bgB:color-mix(in oklab, var(--accent-2) 22%, transparent);--bgC:#ffffff0f}:root[data-theme=nebula]{--bgA:color-mix(in oklab, var(--accent) 26%, transparent);--bgB:color-mix(in oklab, var(--accent-2) 20%, transparent);--bgC:#6366f11a}:root.dark[data-theme=nebula]{--bgA:color-mix(in oklab, var(--accent) 38%, transparent);--bgB:color-mix(in oklab, var(--accent-2) 30%, transparent);--bgC:#6366f124}:root[data-theme=dungeon]{--bgA:#0f172a0f;--bgB:color-mix(in oklab, var(--accent) 12%, transparent);--bgC:#0000000a}:root.dark[data-theme=dungeon]{--bgA:#0003;--bgB:color-mix(in oklab, var(--accent) 22%, transparent);--bgC:#ffffff0a}html,body{height:100%}body{color:var(--fg);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);background:radial-gradient(1200px 600px at 20% -10%, var(--bgA), transparent 62%), radial-gradient(900px 500px at 85% 0%, var(--bgB), transparent 58%), radial-gradient(900px 650px at 50% 120%, var(--bgC), transparent 60%), linear-gradient(180deg, var(--bg), var(--bg));background-attachment:fixed;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}a{color:var(--accent)}button{font:inherit}.gl-card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:inset 0 0 0 1px #ffffff0a,0 10px 28px #0000002e}.gl-btn{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#0b0f17;cursor:pointer;box-shadow:0 10px 24px var(--accent-soft), 0 0 0 1px var(--glow) inset;border:0;border-radius:14px;padding:10px 14px;font-weight:900;transition:transform .12s,box-shadow .12s}.gl-btn:hover{box-shadow:0 14px 30px var(--accent-soft), 0 0 0 1px var(--glow) inset;transform:translateY(-1px)}.gl-btn:disabled{opacity:.6;cursor:not-allowed}.gl-btn-outline{color:var(--fg);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:12px;padding:10px 12px;font-weight:700}input,select,textarea,button{font-size:16px}*{-webkit-tap-highlight-color:transparent}:root{--bg-accent-a:color-mix(in oklab, var(--accent) 32%, transparent);--bg-accent-b:color-mix(in oklab, var(--accent-2) 24%, transparent)}html,body{color:var(--text);background:radial-gradient(1200px 700px at 8% 8%, var(--bg-accent-a) 0%, transparent 60%), radial-gradient(1100px 700px at 92% 14%, var(--bg-accent-b) 0%, transparent 56%), linear-gradient(180deg, var(--bg), var(--bg));background-blend-mode:screen, screen, normal;background-repeat:no-repeat;background-size:130% 130%,130% 130%,100% 100%;background-attachment:fixed;min-height:100%;margin:0;padding:0;font-family:Inter,sans-serif;transition:background .45s;animation:20s ease-in-out infinite bgShift}@keyframes bgShift{0%{background-position:0 0,100% 0,0 0}50%{background-position:12% 6%,88% 12%,0 0}to{background-position:0 0,100% 0,0 0}}
