*,:after,:before{box-sizing:border-box}body,h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit}body,html{max-width:100%;overflow-x:clip}:root{--color-bg:#f7f5ff;--color-sidebar:#f0f1fb;--color-surface:#ffffff;--color-surface-raised:#f0f1fb;--color-text:#27283a;--color-heading:#14161f;--color-muted:#666b80;--color-border:#dcdbea;--color-primary:#0647c6;--color-primary-contrast:#ffffff;--color-secondary:#16a34a;--color-accent:#ffb703;--color-coral:#ff6b6b;--color-violet:#7c3aed;--color-magic:#9333ea;--color-star:#fff1a8;--color-success:#2a9d8f;--color-danger:#e63946;--color-warning:#f59e0b;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--radius-sm:0.375rem;--radius-md:0.75rem;--radius-lg:1.25rem;--radius-xl:2rem;--shadow-card:0 2px 0 rgb(23 32 51/8%);--shadow-pop:0 16px 40px rgb(6 71 198/20%);--shadow-magic:0 18px 52px rgb(147 51 234/18%);--duration-fast:150ms;--duration-normal:240ms;--ease-standard:cubic-bezier(0.2,0,0,1);--transition-fast:150ms ease}body{min-height:100vh;background:var(--color-bg);color:var(--color-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}h1{font-size:clamp(2rem,5vw,4rem);line-height:1.05}h1,h2,h3,p{margin:0}.eyebrow{color:var(--color-primary);font-weight:800;text-transform:uppercase}.page-shell{display:grid;min-height:100vh;padding:var(--space-6);place-items:center}.hero-panel{display:grid;width:min(100%,48rem);grid-gap:var(--space-4);gap:var(--space-4)}.auth-page{display:grid;min-height:100vh;background:radial-gradient(circle at 16% 18%,rgb(255 241 168/70%) 0 .45rem,transparent .5rem),radial-gradient(circle at 82% 20%,rgb(147 51 234/22%) 0 .35rem,transparent .4rem),radial-gradient(circle at 74% 82%,rgb(255 183 3/36%) 0 .55rem,transparent .6rem),radial-gradient(circle at 20% 82%,rgb(42 157 143/20%),transparent 18rem);padding:var(--space-6);place-items:center}.auth-card{display:grid;width:min(100%,27rem);grid-gap:var(--space-6);gap:var(--space-6)}.auth-card--wide{width:min(100%,32rem)}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border:0;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-primary-contrast);cursor:pointer;font-weight:700;padding:var(--space-3) var(--space-4)}.button-secondary{background:var(--color-surface-raised);color:var(--color-primary)}.button:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.backend-failure-panel{display:grid;max-width:42rem;grid-gap:var(--space-3);gap:var(--space-3)}.backend-failure-panel h2{margin:0}.backend-failure-panel p{margin:0;color:var(--color-text-muted)}.backend-failure-panel .button{justify-self:start}.auth-card{position:relative;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:radial-gradient(circle at 88% 12%,rgb(255 241 168/78%),transparent 4rem),linear-gradient(135deg,rgb(255 183 3/16%),transparent 34%),linear-gradient(225deg,rgb(147 51 234/12%),transparent 42%),var(--color-surface);box-shadow:var(--shadow-magic);padding:clamp(var(--space-6),5vw,var(--space-8))}.auth-card:after,.auth-card:before{position:absolute;width:5rem;height:5rem;border-radius:50%;content:"";pointer-events:none}.auth-card:before{top:-2rem;right:-1.5rem;background:rgb(255 183 3/22%)}.auth-card:after{bottom:-2.5rem;left:-2rem;background:rgb(147 51 234/12%)}.auth-card__sparkle{position:absolute;top:var(--space-6);right:var(--space-6);width:1.25rem;height:1.25rem;color:var(--color-magic);pointer-events:none}.auth-card__sparkle:after,.auth-card__sparkle:before{position:absolute;inset:0;background:currentColor;-webkit-clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);content:""}.auth-card__sparkle:after{top:1.35rem;right:1.75rem;width:.7rem;height:.7rem;color:var(--color-accent)}.auth-card__header{position:relative;display:grid;grid-gap:var(--space-2);gap:var(--space-2);z-index:1}.auth-card__header p:not(.eyebrow),.auth-switch{color:var(--color-muted)}.auth-form{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.auth-form,.auth-switch{position:relative;z-index:1}.form-field{display:grid;grid-gap:var(--space-2);gap:var(--space-2);color:var(--color-text);font-weight:700}.text-input{width:100%;border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);padding:var(--space-3) var(--space-4)}.text-input:focus{border-color:var(--color-primary);outline:3px solid rgb(37 99 235/18%)}.link-button{color:var(--color-primary);font-weight:800;text-decoration:none}.link-button:focus-visible{border-radius:var(--radius-sm);outline:3px solid var(--color-accent);outline-offset:2px}.form-error{position:relative;z-index:1;border:2px solid rgb(230 57 70/22%);border-radius:var(--radius-md);background:rgb(230 57 70/8%);padding:var(--space-3) var(--space-4)}.field-error,.form-error{color:var(--color-danger);font-weight:700}.field-error{min-height:1.25rem;font-size:.875rem}.button:disabled{cursor:not-allowed;opacity:.58;transform:none}.pending-submit-button{min-width:-moz-fit-content;min-width:fit-content}.pending-submit-button>span:first-child{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.pending-submit-button__bar{position:absolute;right:0;bottom:0;left:0;height:.22rem;overflow:hidden;background:rgb(255 255 255/26%)}.pending-submit-button__bar:before{position:absolute;top:0;bottom:0;left:-45%;width:45%;background:currentColor;content:"";opacity:.9;animation:pending-submit-slide .95s ease-in-out infinite}.snackbar-stack{position:fixed;right:max(var(--space-4),env(safe-area-inset-right));bottom:max(var(--space-4),env(safe-area-inset-bottom));z-index:10000;width:min(26rem,calc(100vw - var(--space-8)));grid-gap:var(--space-3);pointer-events:none}.snackbar,.snackbar-stack{display:grid;gap:var(--space-3)}.snackbar{position:relative;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;grid-gap:var(--space-3);overflow:hidden;border:2px solid var(--snackbar-color);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-heading);box-shadow:var(--shadow-pop);padding:var(--space-4);pointer-events:auto;animation:snackbar-enter .22s ease-out both}.snackbar--success{--snackbar-color:var(--color-secondary)}.snackbar--error{--snackbar-color:var(--color-danger)}.snackbar--warning{--snackbar-color:var(--color-accent)}.snackbar--info,.snackbar--loading{--snackbar-color:var(--color-primary)}.snackbar__aura{inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--snackbar-color) 12%,transparent),transparent 50%)}.snackbar__aura,.snackbar__sparkle{position:absolute;pointer-events:none}.snackbar__sparkle{color:var(--color-accent);opacity:.85}.snackbar__sparkle--one{top:.4rem;right:2.75rem}.snackbar__sparkle--two{right:1.2rem;bottom:.55rem}.snackbar__icon{position:relative;z-index:1;display:grid;width:2rem;height:2rem;border-radius:999px;background:color-mix(in srgb,var(--snackbar-color) 16%,white);color:var(--snackbar-color);place-items:center}.snackbar__icon svg{width:1.15rem;height:1.15rem}.snackbar__spinner{animation:snackbar-spin .8s linear infinite}.snackbar__content{position:relative;z-index:1;display:grid;grid-gap:var(--space-1);gap:var(--space-1);min-width:0}.snackbar__content strong{font-weight:950}.snackbar__content p{margin:0;color:var(--color-muted);font-size:.92rem;font-weight:700}.snackbar__close{position:relative;z-index:1;display:grid;width:2rem;height:2rem;border:0;border-radius:999px;background:transparent;color:var(--color-muted);cursor:pointer;place-items:center}.snackbar__close:hover{background:#f0f0f8;color:var(--color-heading)}@keyframes pending-submit-slide{0%{transform:translateX(0)}to{transform:translateX(320%)}}@keyframes snackbar-enter{0%{opacity:0;transform:translateY(.5rem) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes snackbar-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:no-preference){.button{transition:transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.button:hover{transform:translateY(-1px)}.auth-card{animation:card-pop var(--duration-normal) var(--ease-standard)}.auth-card__sparkle:before{animation:sparkle-twinkle 1.8s var(--ease-standard) infinite}.auth-card__sparkle:after{animation:sparkle-twinkle 2.2s var(--ease-standard) .3s infinite}}@keyframes card-pop{0%{opacity:0;transform:translateY(.5rem) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sparkle-twinkle{0%,to{opacity:.6;transform:scale(.86) rotate(0deg)}45%{opacity:1;transform:scale(1.08) rotate(18deg)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.emoji-picker{position:relative;z-index:1;display:grid;grid-gap:var(--space-2);gap:var(--space-2);border:0;margin:0;padding:0}.emoji-picker legend{color:var(--color-text);font-weight:700;padding:0}.emoji-picker__grid{display:grid;grid-template-columns:repeat(6,minmax(2.5rem,1fr));grid-gap:var(--space-2);gap:var(--space-2)}.emoji-option input{position:absolute;opacity:0}.emoji-option span{display:grid;min-height:2.75rem;border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:1.35rem;place-items:center}.emoji-option input:checked+span{border-color:var(--color-magic);background:rgb(147 51 234/10%);box-shadow:var(--shadow-card)}.emoji-option input:focus-visible+span{outline:3px solid var(--color-accent);outline-offset:2px}