.app-loader{--loader-cyan: #65e3ef;--loader-yellow: #ffdf68;position:relative;isolation:isolate;display:grid;width:100%;min-height:100dvh;overflow:hidden;padding:max(28px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:#0e1230;color:#f8f6ff;place-items:center}.app-loader-grid{position:absolute;z-index:-2;inset:0;opacity:.18;background-image:linear-gradient(rgba(115,130,190,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(115,130,190,.16) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 70%,transparent)}.app-loader-orb{position:absolute;z-index:-1;width:min(65vw,520px);aspect-ratio:1;border-radius:50%;filter:blur(65px);opacity:.18;animation:app-loader-drift 4.5s ease-in-out infinite alternate}.app-loader-orb--pink{top:-28%;left:-18%;background:#ff69a8}.app-loader-orb--cyan{right:-20%;bottom:-32%;background:#49d9ec;animation-delay:-2.2s}.app-loader-content{display:grid;justify-items:center;width:min(390px,100%);text-align:center;animation:app-loader-enter .35s ease-out both}.app-loader-logo-wrap{position:relative;display:grid;width:116px;height:116px;margin-bottom:13px;place-items:center}.app-loader-logo-glow{position:absolute;inset:13px;border-radius:28px;background:linear-gradient(135deg,#ff69a8a6,#65e3ef8c);filter:blur(18px);animation:app-loader-pulse 1.3s ease-in-out infinite alternate}.app-loader-logo{position:relative;display:block;width:104px;height:104px;object-fit:contain;filter:drop-shadow(6px 7px 0 rgba(5,8,27,.7));animation:app-loader-float 1.55s ease-in-out infinite alternate}.app-loader-brand{display:flex;align-items:baseline;gap:9px;text-shadow:3px 4px 0 #080b22}.app-loader-brand strong{font-family:Impact,Arial Black,system-ui,sans-serif;font-size:39px;letter-spacing:.06em;line-height:1}.app-loader-brand span{color:var(--loader-cyan);font-family:ui-monospace,Consolas,monospace;font-size:12px;font-weight:1000;letter-spacing:.13em}.app-loader-pixels{display:flex;align-items:end;justify-content:center;height:37px;gap:7px;margin-top:18px}.app-loader-pixels i{width:13px;height:13px;border:2px solid #111532;border-radius:3px;background:#ff79aa;box-shadow:2px 3px #070a20;animation:app-loader-jump .9s ease-in-out infinite}.app-loader-pixels i:nth-child(2){background:#ffb56f;animation-delay:.1s}.app-loader-pixels i:nth-child(3){background:var(--loader-yellow);animation-delay:.2s}.app-loader-pixels i:nth-child(4){background:#77e2ba;animation-delay:.3s}.app-loader-pixels i:nth-child(5){background:var(--loader-cyan);animation-delay:.4s}.app-loader p{margin:9px 0 12px;color:#d5dcf5;font-size:14px;font-weight:750}.app-loader small{display:inline-flex;align-items:center;gap:7px;color:#7f8dbb;font-family:ui-monospace,Consolas,monospace;font-size:9px;font-weight:900;letter-spacing:.2em}.app-loader small span{width:7px;height:7px;border-radius:50%;background:var(--loader-cyan);box-shadow:0 0 0 4px #65e3ef1f,0 0 13px #65e3efb3;animation:app-loader-blink .8s ease-in-out infinite alternate}@keyframes app-loader-enter{0%{opacity:0;transform:translateY(10px) scale(.98)}}@keyframes app-loader-drift{to{transform:translate(30px,-20px) scale(1.08)}}@keyframes app-loader-pulse{to{opacity:.62;transform:scale(1.15)}}@keyframes app-loader-float{to{transform:translateY(-7px) rotate(2deg)}}@keyframes app-loader-jump{0%,55%,to{transform:translateY(0)}25%{transform:translateY(-13px)}}@keyframes app-loader-blink{to{opacity:.35}}@media(max-width:460px){.app-loader-logo-wrap{width:100px;height:100px}.app-loader-logo{width:90px;height:90px}.app-loader-brand strong{font-size:34px}.app-loader-brand span{font-size:10px}}body.native-platform .app-loader{min-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom))}@media(prefers-reduced-motion:reduce){.app-loader-content,.app-loader-logo,.app-loader-logo-glow,.app-loader-orb,.app-loader-pixels i,.app-loader small span{animation:none}}.update-prompt-backdrop{position:fixed;z-index:1200;inset:0;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom));background:#05091dd1}.update-prompt{width:min(440px,100%);padding:30px;border:2px solid #7485c7;border-radius:20px;background:#222b58;color:#fff;text-align:center;box-shadow:9px 11px #080c24,0 24px 70px #0006}.update-prompt-icon{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 17px;border-radius:14px;background:#66e3ef;color:#182044;font-size:36px;font-weight:900}.update-prompt h2{margin:0 0 10px;font-family:Impact,Arial Black,system-ui,sans-serif;font-size:clamp(30px,8vw,40px);font-weight:500;line-height:1.1}.update-prompt p{margin:0 0 24px;color:#d4ddfb;font-size:15px;line-height:1.5}.update-prompt button{width:100%;min-height:48px;border:2px solid #191b3a;border-radius:9px;background:#ffdf68;color:#202044;font-size:14px;font-weight:900;letter-spacing:.09em;box-shadow:0 5px #0c102e}.update-prompt button:hover{background:#ffeb9c}.update-prompt button:focus-visible{outline:3px solid #66e3ef;outline-offset:4px}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:system-ui,sans-serif;color:#111;background:#0e1230}body.native-platform{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait}.app-header{padding:1rem;border-bottom:1px solid #ccc}.app-header nav{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.app-main,.auth-main{max-width:64rem;margin:0 auto;padding:1rem}.auth-main{max-width:28rem}form{display:grid;gap:.75rem;max-width:30rem;margin-bottom:1.5rem}form label{display:grid;gap:.25rem}form .inline-field{display:flex;align-items:center;gap:.5rem}input:not([type=checkbox]),select{width:100%;padding:.4rem}button{padding:.4rem .65rem}.actions{display:flex;flex-wrap:wrap;align-items:end;gap:.75rem;margin-bottom:1rem}.table-scroll{overflow-x:auto}.profile-picture{display:block;max-width:8rem;max-height:8rem;object-fit:contain}table{border-collapse:collapse;width:100%}th,td{border:1px solid #ccc;padding:.5rem;text-align:left}.toast-host{position:fixed;z-index:1000;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));display:grid;width:min(370px,calc(100vw - 28px));gap:9px;pointer-events:none}.toast{--toast-accent: #66e3ef;position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) 30px;align-items:center;min-height:68px;gap:11px;overflow:hidden;padding:11px 10px 11px 12px;border:1px solid color-mix(in srgb,var(--toast-accent) 58%,#3f486f);border-radius:15px;background:linear-gradient(135deg,#252e56fa,#141b39fa);color:#f8f8ff;box-shadow:0 7px #080c24,0 18px 38px #04071752;pointer-events:auto;animation:toast-enter .28s cubic-bezier(.2,.85,.3,1) both}.toast:before{content:"";position:absolute;top:0;bottom:0;left:0;width:4px;background:var(--toast-accent)}.toast--success{--toast-accent: #66dda8}.toast--error{--toast-accent: #ff7d8b}.toast--warning{--toast-accent: #ffd367}.toast-icon{display:block;width:38px;height:38px;padding:8px;border-radius:11px;background:color-mix(in srgb,var(--toast-accent) 15%,transparent);color:var(--toast-accent)}.toast-copy{min-width:0}.toast-copy strong{display:block;font-size:13px;line-height:1.3}.toast-copy p{margin:3px 0 0;color:#aeb9db;font-size:11px;line-height:1.35}.toast button{display:grid;width:30px;height:30px;padding:0;border:1px solid #515d8c;border-radius:9px;background:#29325b;color:#cbd3ef;font-size:20px;line-height:1;place-items:center}.toast button:hover{border-color:var(--toast-accent);color:#fff}@keyframes toast-enter{0%{opacity:0;transform:translateY(-12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:560px){.toast-host{right:12px;left:12px;width:auto}.toast{grid-template-columns:34px minmax(0,1fr) 29px;min-height:62px;border-radius:13px}.toast-icon{width:34px;height:34px}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.offline-entry{display:grid;min-height:100dvh;place-items:center;padding:2rem;background:#0e1230;color:#fff;text-align:center}.offline-entry p{max-width:26rem}
