.radial-overlay{position:fixed;inset:0;background:#00000059;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9999}.radial-circle{position:fixed;transform:translate(-50%,-50%);width:var(--radial-size);height:var(--radial-size);border-radius:50%;background:radial-gradient(circle at 30% 25%,rgba(47,230,214,.12),transparent 55%),radial-gradient(circle at 70% 70%,rgba(20,184,166,.1),transparent 55%),#0e182dd9;border:1px solid rgba(255,255,255,.12);box-shadow:0 25px 80px #000000b3;display:grid;place-items:center}.radial-item{position:absolute;width:var(--item-size);height:var(--item-size);border-radius:50%;background:#0a1222d9;border:1px solid rgba(255,255,255,.14);color:#ffffffeb;font-weight:800;font-size:16px;display:grid;place-items:center;text-align:center;cursor:pointer;padding:18px;-webkit-user-select:none;user-select:none;box-shadow:inset 0 0 0 1px #2fe6d614,0 10px 28px #00000073;transition:transform .12s ease,box-shadow .12s ease}.radial-item:hover{transform:translate(var(--tx),var(--ty)) translateY(-6px) scale(1.05);box-shadow:0 0 0 3px #2fe6d659,0 0 18px #2fe6d673,0 18px 40px #0009}.radial-item:disabled{opacity:.5;filter:grayscale(.2);box-shadow:none}.radial-center{width:110px;height:110px;border-radius:50%;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;color:#000;background:linear-gradient(135deg,#2fe6d6,#14b8a6);box-shadow:0 0 0 8px #2fe6d640,0 18px 40px #14b8a673;transition:transform 90ms ease,box-shadow .12s ease,filter .12s ease;outline:none}.radial-center:active{transform:scale(.96)}.radial-item:focus-visible{box-shadow:0 0 0 3px #00ffc88c,0 0 28px #00ffc859}.radial-item:active,.radial-item.is-pressed{transform:translate(var(--tx),var(--ty)) scale(.97);filter:brightness(1.05);box-shadow:0 0 0 3px #00ffc873,0 0 24px #00ffc859}.radial-progress{position:absolute;width:100%;height:100%;pointer-events:none}.radial-progress circle{transition:stroke-dasharray .3s ease}@media (max-width: 768px){.radial-circle{--radial-size: 420px}.radial-item{font-size:14px}}@font-face{font-family:Magical World;src:url(/assets/Magical%20World-Dm6Z9tQV.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--bg0: #060b14;--bg1: #0b1324;--text: rgba(255,255,255,.92);--muted: rgba(255,255,255,.72);--teal: #2fe6d6;--teal2: #14b8a6;--border: rgba(255,255,255,.12);--card: rgba(14, 24, 45, .85);--shadow: 0 18px 60px rgba(0,0,0,.6);--radius: 18px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background-color:var(--bg0)}body{color:var(--text);font-family:Magical World,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}#root{min-height:100vh;background:radial-gradient(1200px 700px at 20% 15%,rgba(47,230,214,.12),transparent 55%),radial-gradient(900px 600px at 80% 30%,rgba(20,184,166,.1),transparent 55%),linear-gradient(180deg,var(--bg0),var(--bg1))}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}::selection{background:#2fe6d640}.app{min-height:100vh;padding-top:80px;text-align:center;background:transparent;font-family:Magical World,Comic Sans MS,system-ui,sans-serif}h1{font-family:Magical World,Comic Sans MS,sans-serif;letter-spacing:.06em;font-size:clamp(2.2rem,6vw,3.2rem)}.wave-title{font-family:Magical World,Comic Sans MS,sans-serif;letter-spacing:.06em;font-size:clamp(2.2rem,6vw,3.2rem);margin:0;text-shadow:0 4px 18px rgba(47,230,214,.25),0 0 40px rgba(20,184,166,.15)}p{font-size:clamp(1rem,3.5vw,1.1rem)}.status{margin-top:2rem;color:#ffffffa6;font-style:italic}.button-group{display:flex;justify-content:center;gap:2rem;margin-top:2rem;flex-wrap:wrap}.action{display:flex;flex-direction:column;align-items:center;gap:12px}button{font-size:clamp(1rem,4vw,1.2rem);padding:clamp(.9rem,4vw,1rem) clamp(1.4rem,6vw,2rem);border:1px solid transparent;border-radius:12px;cursor:pointer;color:#041016;font-weight:800;transition:transform .08s ease,filter .15s ease}button:active{transform:scale(.96)}button:focus-visible{outline:3px solid rgba(47,230,214,.45);outline-offset:3px}.logout-button{position:fixed;bottom:30px;left:50%;transform:translate(-50%);padding:10px 20px;border-radius:12px;border:none;background:#ffffff14;color:#fff;font-weight:600;cursor:pointer;transition:background .15s ease}.logout-button:hover{background:#fff3}.help{background:linear-gradient(90deg,var(--teal),var(--teal2));box-shadow:0 12px 30px #14b8a640}.hinder{background:linear-gradient(90deg,#ff5a5a,#ef4444);box-shadow:0 12px 30px #ef44442e}.help:hover,.hinder:hover{filter:brightness(1.05)}.character{display:block;animation:characterFloat 4.5s ease-in-out infinite;will-change:transform}.character.bee{width:clamp(50px,18vw,70px)}.character.boo{width:clamp(65px,22vw,90px)}@keyframes characterFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (max-width: 768px){.button-group{flex-direction:column;gap:1.5rem}}@media (max-width: 768px){.app{padding-top:48px}}.login-page{min-height:100vh;display:grid;place-items:center;padding:16px;background:radial-gradient(1200px 700px at 20% 15%,rgba(47,230,214,.12),transparent 55%),radial-gradient(900px 600px at 80% 30%,rgba(20,184,166,.1),transparent 55%),linear-gradient(180deg,#060b14,#0b1324)}.login-wrapper{display:flex;flex-direction:column;align-items:center;gap:18px}.login-brand{margin:0;font-family:Magical World,Comic Sans MS,system-ui,sans-serif;font-size:clamp(4rem,7vw,3.4rem);letter-spacing:.08em;color:#fffffff2;text-shadow:0 4px 18px rgba(47,230,214,.25),0 0 40px rgba(20,184,166,.15)}.login-brand{animation:floatIn 1s ease-out both}.login-brand.wave{margin:0 0 8px;font-family:Magical World,Comic Sans MS,system-ui,sans-serif;font-size:clamp(2.4rem,7vw,3.4rem);letter-spacing:.1em;color:#fffffff2;text-shadow:0 4px 18px rgba(47,230,214,.25),0 0 40px rgba(20,184,166,.15)}.wave-char{display:inline-block;animation:mexicanWave 1.25s ease-in-out infinite;animation-delay:calc(var(--i) * .06s);will-change:transform}@keyframes mexicanWave{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes floatIn{0%{opacity:0;transform:translateY(-500px)}to{opacity:1;transform:translateY(0)}}.login-card{width:min(420px,100%);padding:24px;border-radius:18px;background:#0e182dd9;border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 60px #0009;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;gap:14px}.login-title{margin:0;font-size:40px;font-weight:800}.login-sub{margin-top:-6px;margin-bottom:8px;color:#ffffffb3}.login-label{display:grid;gap:6px;font-size:20px;font-weight:600}.login-input{padding:11px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:#0a1222b3;color:#fff;font-size:15px}.login-button{margin-top:6px;padding:12px;border-radius:14px;border:none;cursor:pointer;font-weight:900;font-size:15px;color:#041016;background:linear-gradient(90deg,#2fe6d6,#14b8a6);box-shadow:0 12px 30px #14b8a659;transition:opacity .12s ease}.login-button:disabled{opacity:.6;cursor:pointer}.login-error{background:#ff50501f;border:1px solid rgba(255,80,80,.28);border-radius:12px;padding:10px;font-size:13px}.login-success{background:#00ff641a;border:1px solid rgba(0,255,100,.4);color:#0f8;padding:10px;border-radius:6px;margin-top:10px;font-size:14px}.login-footer{margin-top:14px;display:flex;flex-direction:column;gap:8px;font-size:13px;color:#ffffffb3}.login-footer-top{display:flex;justify-content:space-between;align-items:center}.login-footer-bottom{text-align:center}.login-footer-bottom a{color:#3de1d1;text-decoration:none;font-weight:500}.login-footer-bottom a:hover{text-decoration:underline}.login-remember{display:flex;gap:6px;align-items:center}.login-forgot{color:#2fe6d6f2;cursor:pointer}.login-note{margin-top:4px;font-size:12px;color:#ffffff8c;text-align:center}.session-modal{position:fixed;inset:0;background:#0009;display:grid;place-items:center;z-index:1000}.session-card{width:min(380px,90%);padding:24px;border-radius:18px;background:#0e182df2;border:1px solid rgba(255,255,255,.15);display:grid;gap:12px;text-align:center}@media (max-width: 480px){.login-brand{margin-bottom:4px}}@media (prefers-reduced-motion: reduce){.wave-char{animation:none}}
