.toast-viewport{z-index:100;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.5rem;display:flex;position:fixed;top:1rem;left:1rem;right:1rem}@media (width>=640px){.toast-viewport{width:22rem;left:auto}}.toast{background:var(--glass-bg-elevated);-webkit-backdrop-filter:blur(var(--glass-blur));border:var(--panel-border-width) solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);pointer-events:auto;align-items:flex-start;gap:.5rem;width:100%;padding:.75rem 1rem;animation:.18s ease-out page-fade-in;display:flex}.toast--error{border-color:var(--neon-danger)}.toast--success{border-color:var(--neon-secondary)}.toast__message{flex:1;font-size:.875rem}.toast__close{color:var(--text-secondary);flex-shrink:0;font-size:1.125rem;line-height:1}.toast__close:hover{color:var(--text-primary)}.auth-layout{justify-content:center;align-items:center;min-height:100%;padding:3rem 1rem;display:flex;position:relative}.auth-layout__content{z-index:10;text-align:center;width:100%;max-width:24rem;position:relative}.auth-layout__title{margin-bottom:2rem;font-size:1.75rem}.email-verification-banner{z-index:12;border-radius:var(--radius-md);background:var(--glass-bg);border:1px solid var(--glass-border);align-items:center;gap:.75rem;width:100%;max-width:72rem;margin:.5rem auto 0;padding:.625rem 1rem;display:flex;position:relative}@media (width>=640px){.email-verification-banner{padding-inline:1.5rem}}.email-verification-banner__text{color:var(--text-secondary);flex:1;font-size:.8125rem}.email-verification-banner__resend{color:var(--neon-primary);white-space:nowrap;flex-shrink:0;font-size:.8125rem;font-weight:600}.email-verification-banner__resend:hover:not(:disabled){text-decoration:underline}.email-verification-banner__resend:disabled{color:var(--text-tertiary)}.email-verification-banner__close{color:var(--text-tertiary);flex-shrink:0}.email-verification-banner__close:hover{color:var(--text-primary)}.install-guide__body{flex-direction:column;gap:1rem;display:flex}.install-guide__tabs{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:var(--panel-border-width) solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);transition:border-color .2s,background .2s}.install-guide__tabs:hover{border-color:var(--glass-border-hover)}.install-guide__tabs{display:flex}.install-guide__tab{color:var(--text-secondary);flex:1;padding:.625rem 0;font-size:.875rem;font-weight:500;transition:color .15s}.install-guide__tab--active{color:var(--text-primary);box-shadow:inset 0 -2px 0 var(--neon-primary)}.install-guide__steps{flex-direction:column;gap:.75rem;display:flex}.install-guide__step{align-items:center;gap:.75rem;display:flex}.install-guide__step-icon{background:var(--glass-bg-elevated);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex}.install-guide__step-text{color:var(--text-secondary);font-size:.875rem}.install-guide__submit{width:100%}.install-prompt__button{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:var(--panel-border-width) solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);transition:border-color .2s,background .2s}.install-prompt__button:hover{border-color:var(--glass-border-hover)}.install-prompt__button{width:2.25rem;height:2.25rem;color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;display:flex}.offline-banner{top:0;z-index:60;text-align:center;color:#fff;background:var(--neon-danger);padding-block:.5rem;font-size:.875rem;position:fixed;inset-inline:0}.bottom-nav{background:var(--glass-bg-elevated);-webkit-backdrop-filter:blur(var(--glass-blur));border:var(--panel-border-width) solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);z-index:40;background:0 0;border-radius:9999px;flex-shrink:0;align-items:center;gap:.125rem;width:fit-content;max-width:calc(100vw - 1.5rem);margin:.5rem auto 1rem;padding:.375rem;display:flex}@media (height<=600px){.bottom-nav{margin-block:.25rem;padding:.25rem}}@media (width>=768px){.bottom-nav{display:none}}.bottom-nav__item{color:var(--text-tertiary);border-radius:9999px;flex-direction:column;align-items:center;gap:.125rem;padding:.375rem .75rem;font-size:10px;transition:color .15s;display:flex}.bottom-nav__item--active{color:var(--text-primary)}.route-error-boundary{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:100%;height:100%;min-height:40vh;padding:1.5rem;display:flex}.route-error-boundary__text{color:var(--text-secondary);max-width:22rem;font-size:.875rem}.route-fallback{justify-content:center;align-items:center;width:100%;height:100%;min-height:40vh;display:flex}.route-fallback__spinner{border:2px solid var(--glass-border);border-top-color:var(--neon-primary);border-radius:50%;width:2rem;height:2rem;animation:.7s linear infinite route-fallback-spin}@media (prefers-reduced-motion:reduce){.route-fallback__spinner{animation-duration:1.6s}}@keyframes route-fallback-spin{to{transform:rotate(360deg)}}.app-layout{flex-direction:column;height:100dvh;display:flex;position:relative;overflow:hidden}.app-layout__header{z-index:15;background:var(--glass-bg);width:100%;max-width:72rem;-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:none;flex-shrink:0;align-items:center;gap:1rem;margin-inline:auto;padding:1rem;transition:padding .18s,background-color .18s;display:flex;position:relative}@media (height<=600px){.app-layout__header{padding-block:.5rem}}@media (width>=640px){.app-layout__header{padding-inline:1.5rem}}.app-layout__header--scrolled{background:var(--glass-bg-elevated);padding-block:.5rem}@media (height<=600px){.app-layout__header--scrolled{padding-block:.375rem}}.app-layout__header--room-hidden{display:none}@media (width>=1024px){.app-layout__header--room-hidden{display:flex}}.app-layout__header--pwa-hidden{display:none}@media (width>=1024px){.app-layout__header--pwa-hidden{display:flex}}.app-layout__logo{flex-shrink:0;font-size:1.125rem}.app-layout__nav{color:var(--text-secondary);align-items:center;gap:1.25rem;font-size:.875rem;display:none}@media (width>=768px){.app-layout__nav{display:flex}}.app-layout__nav-link{border-bottom:2px solid #0000;padding-block:.25rem;transition:color .15s,border-color .15s}.app-layout__nav-link:hover{color:var(--text-primary)}.app-layout__nav-link--active{color:var(--text-primary);border-bottom-color:var(--neon-primary)}.app-layout__actions{align-items:center;gap:.75rem;margin-left:auto;display:flex}.app-layout__user-menu{position:relative}.app-layout__user-menu-trigger{outline-offset:2px;border-radius:50%;outline:2px solid #0000;transition:outline-color .15s;display:flex}.app-layout__user-menu-trigger:hover,.app-layout__user-menu-trigger:focus-visible{outline-color:var(--glass-border-hover)}.app-layout__user-menu-dropdown{background:var(--glass-bg-elevated);-webkit-backdrop-filter:blur(var(--glass-blur));border:var(--panel-border-width) solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);z-index:20;flex-direction:column;gap:.125rem;min-width:11rem;padding:.5rem;display:flex;position:absolute;top:calc(100% + .5rem);right:0}.app-layout__user-menu-name{color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;padding:.375rem .625rem;font-size:.75rem;overflow:hidden}.app-layout__user-menu-item{border-radius:var(--radius-sm);text-align:left;width:100%;color:var(--text-primary);padding:.5rem .625rem;font-size:.875rem;transition:background-color .15s;display:block}.app-layout__user-menu-item:hover{background:var(--glass-bg-elevated)}.app-layout__user-menu-item--danger:hover{color:var(--neon-danger)}.app-layout__notification{z-index:50;width:100%;max-width:24rem;position:fixed;top:1rem;right:1rem}.app-layout__notification-card{background:var(--glass-bg-elevated);-webkit-backdrop-filter:blur(var(--glass-blur));border:var(--panel-border-width) solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.app-layout__notification-dot{background:var(--neon-secondary);box-shadow:var(--neon-secondary-glow);border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem;margin-top:.25rem}.app-layout__notification-text{flex:1;font-size:.875rem}.app-layout__notification-close{color:var(--text-tertiary)}.app-layout__notification-close:hover{color:var(--text-primary)}.app-layout__page-transition{height:100%;animation:.22s ease-out page-fade-in}@media (prefers-reduced-motion:reduce){.app-layout__page-transition{animation:none}}.app-layout__main{z-index:10;flex:1;width:100%;max-width:72rem;min-height:0;margin-inline:auto;padding:0 1rem 1.5rem;position:relative;overflow-y:auto}@media (width>=640px){.app-layout__main{padding-inline:1.5rem}}.protected-route__loading{color:var(--text-secondary);justify-content:center;align-items:center;min-height:60vh;display:flex}.auth-form,.auth-form__form{flex-direction:column;gap:1rem;display:flex}.auth-form__field{flex-direction:column;gap:.375rem;display:flex}.auth-form__label{color:var(--text-secondary);font-size:.75rem}.auth-form__label-row{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.auth-form__forgot-link{color:var(--text-tertiary);font-size:.75rem}.auth-form__forgot-link:hover{color:var(--text-primary)}.auth-form__intro{color:var(--text-secondary);font-size:.875rem}.auth-form__notice{color:var(--text-secondary);font-size:.875rem;line-height:1.5}.auth-form__error{color:var(--neon-danger);font-size:.875rem}.auth-form__submit{width:100%}.auth-form__footer{color:var(--text-secondary);text-align:center;font-size:.875rem}.auth-form__footer-link{color:var(--neon-secondary)}:root{--bg-base:#06060a;--bg-gradient:radial-gradient(ellipse at top left, #12131f 0%, #06060a 55%), radial-gradient(ellipse at bottom right, #0d0a1a 0%, #06060a 60%);--glass-bg:#ffffff0a;--glass-bg-elevated:#ffffff12;--glass-border:#ffffff1a;--glass-border-hover:#ffffff2e;--glass-blur:20px;--glass-shadow:0 8px 32px #0000008c;--neon-primary:#b026ff;--neon-primary-2:#7c3aed;--on-neon-primary:#fff;--neon-primary-glow:0 0 12px #b026ff59;--neon-secondary:#00e5ff;--neon-secondary-glow:0 0 10px #00e5ff52;--neon-danger:#ff2e63;--text-primary:#f5f5f7;--text-secondary:#f5f5f78c;--text-tertiary:#f5f5f752;--blob-opacity:.1;--radius-lg:20px;--radius-md:14px;--radius-sm:10px;--panel-border-width:1px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@keyframes speaking-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--neon-secondary) 55%, transparent)}50%{box-shadow:0 0 0 6px #0000}}@keyframes float{0%,to{transform:translate(0)scale(1)}50%{transform:translate(3%,-4%)scale(1.05)}}@keyframes shimmer{0%{background-position:-150% 0}to{background-position:150% 0}}@keyframes confetti-fall{to{opacity:.3;transform:translateY(110vh)rotate(720deg)}}@keyframes page-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}*{box-sizing:border-box}html,body,#root{height:100%}html{touch-action:pan-x pan-y}body{background-color:var(--bg-base);background-image:var(--bg-gradient);color:var(--text-primary);letter-spacing:-.01em;background-attachment:fixed;margin:0;font-family:Inter,Manrope,ui-sans-serif,system-ui,-apple-system,sans-serif;transition:background-color .25s,color .25s}h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}ul,ol{margin:0;padding:0;list-style:none}h1,h2,h3{letter-spacing:-.02em}a,a:visited,a:hover,a:active{color:inherit;text-decoration:none;transition:color .25s}button,input,textarea,select{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;text-align:inherit;background:0 0;border:none;padding:0}button:disabled{cursor:not-allowed}img,svg{max-width:100%;display:block}*{scrollbar-width:thin;scrollbar-color:var(--glass-border-hover) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--glass-border-hover);background-clip:padding-box;border:2px solid #0000;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background-color:var(--neon-primary);background-clip:padding-box}:root[data-theme=vhs]:before{content:"";z-index:0;pointer-events:none;background-image:repeating-linear-gradient(0deg,#ffffff06 0 1px,#0000 1px 3px);position:fixed;inset:0}:root[data-theme=vhs] body{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace}:root[data-theme=vhs] .glass-button{text-transform:uppercase;letter-spacing:.04em}:root[data-theme=vhs] .glass-button--primary:hover,:root[data-theme=vhs] .glass-button--ghost:hover{text-shadow:2px 0 #ff2255b3,-2px 0 #29e6d6b3}:root[data-theme=zine] .glass-card{transform:rotate(-.6deg)}:root[data-theme=zine] .glass-card:hover{transform:rotate(0)translateY(-2px)}:root[data-theme=zine] .glass-card:nth-child(2n){transform:rotate(.6deg)}:root[data-theme=zine] .glass-card:nth-child(2n):hover{transform:rotate(0)translateY(-2px)}:root[data-theme=zine] .glass-button{text-transform:uppercase;letter-spacing:-.01em;font-weight:800}:root[data-theme=rave] .glass-button{text-transform:uppercase;font-weight:800}:root[data-theme=rave] .glass-button--primary:hover{transform:translateY(-1px)rotate(-1.5deg)scale(1.03)}@media (prefers-reduced-motion:reduce){:root[data-theme=zine] .glass-card,:root[data-theme=zine] .glass-card:hover,:root[data-theme=rave] .glass-button--primary:hover{transform:none}}
