:root{--surface-primary:#100c07;--surface-secondary:#1e1710;--surface-tertiary:#2a2115;--text-primary:#f2e5c8;--text-secondary:#e8d5ac;--text-muted:#bda982;--text-placeholder:#806e52;--text-inverse:#241b0e;--accent-primary:#e8a33c;--accent-primary-hover:#f2b84e;--accent-primary-subtle:#e8a33c24;--accent-glow:#e8a33c2e;--accent-glow-subtle:#e8a33c1a;--accent-secondary-hover:#fff8e8;--border-primary:#3a2f1e;--border-secondary:#4a3a22;--border-input:#8f7850;--status-error-text:#ffdbd4;--status-success-text:#cdead0;color:var(--text-primary);background:var(--surface-primary);font-family:Nunito Sans,sans-serif}*{box-sizing:border-box}body{min-width:20rem;margin:0}button,input{font:inherit}button:focus-visible,input:focus-visible{outline:3px solid var(--text-primary);outline-offset:3px}.auth-page{background:linear-gradient(175deg, var(--surface-secondary) 0%, var(--surface-primary) 70%);place-items:center;min-height:100vh;padding:3rem 1.5rem;display:grid;position:relative;overflow:hidden}.celestial-decor,.celestial-decor *{pointer-events:none;position:absolute}.celestial-decor{inset:0}.crescent-moon{background:var(--text-primary);border-radius:50%;width:3.1rem;height:3.1rem;top:clamp(2.5rem,7vh,5rem);left:clamp(2.25rem,11vw,10rem)}.crescent-moon:after{content:"";background:var(--surface-secondary);pointer-events:none;border-radius:50%;width:3.1rem;height:3.1rem;position:absolute;top:.2rem;left:1rem}.sparkle{background:var(--text-primary);clip-path:polygon(50% 0,62.5% 37.5%,100% 50%,62.5% 62.5%,50% 100%,37.5% 62.5%,0 50%,37.5% 37.5%);width:1rem;height:1rem}.sparkle-one{top:5.4rem;right:clamp(3rem,16vw,14rem)}.sparkle-two{background:var(--accent-primary);width:.65rem;height:.65rem;top:10.2rem;right:clamp(7rem,27vw,24rem)}.sparkle-three{width:.55rem;height:.55rem;top:3rem;right:clamp(2.25rem,8vw,8rem)}.star-dot{background:var(--text-primary);border-radius:50%;width:.25rem;height:.25rem}.star-dot-one{top:9rem;left:clamp(6rem,21vw,18rem)}.star-dot-two{background:var(--accent-primary);top:3.7rem;left:clamp(10rem,36vw,32rem)}.star-dot-three{top:13rem;right:clamp(4rem,19vw,17rem)}.auth-door{z-index:1;text-align:center;width:min(100%,25rem);position:relative}.brand-mark{width:8.5rem;height:8.5rem;color:var(--text-primary);box-shadow:0 0 60px 18px var(--accent-glow);border-radius:50%;margin:0 auto 1rem}.brand-mark svg{width:100%;height:100%;display:block}.brand-mark.kooka-mark{object-fit:contain;display:block}.auth-intro{margin-bottom:1.5rem}.auth-eyebrow{color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.35rem;font-size:.75rem;font-weight:700;display:block}.auth-intro h1,.auth-card h1{color:var(--text-primary);letter-spacing:-.03em;margin:0;font-family:Literata,Georgia,serif;font-size:clamp(2rem,5vw,2.5rem);font-weight:600}.auth-intro p{color:var(--text-secondary);margin:.55rem 0 0;font-size:1rem}.auth-card{border:1px solid var(--border-secondary);background:var(--surface-tertiary);box-shadow:0 0 34px var(--accent-glow-subtle);text-align:start;border-radius:20px;padding:1.5rem}.auth-card-heading{color:var(--text-primary);margin:0 0 .35rem;font-family:Literata,Georgia,serif;font-size:1.375rem;font-weight:700}.form-intro{color:var(--text-secondary);margin:0 0 1rem;font-size:.9375rem}.auth-tabs{background:var(--surface-primary);border-radius:999px;gap:.25rem;padding:.25rem;display:flex}.auth-tabs .tab{min-height:2.5rem;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:1;padding:0 .75rem;font-size:.875rem;font-weight:700}.auth-tabs .tab[aria-pressed=true]{background:var(--accent-primary-subtle);color:var(--accent-primary)}.auth-tabs .tab:disabled{cursor:wait;opacity:.65}.google-sign-in{place-items:center;min-height:2.75rem;margin-top:1rem;display:grid}.divider{color:var(--text-placeholder);align-items:center;gap:.625rem;margin-top:.875rem;font-size:.75rem;display:flex}.divider:before,.divider:after{content:"";background:var(--border-primary);flex:1;height:1px}.text-button{width:auto;color:var(--text-primary);cursor:pointer;font:inherit;text-decoration:underline;text-decoration-color:var(--accent-primary);text-underline-offset:.18em;background:0 0;border:0;border-radius:0;padding:0;text-decoration-thickness:2px}.text-button:hover:not(:disabled){color:var(--accent-secondary-hover)}.text-button:disabled{cursor:wait;opacity:.65}.back-link{margin-bottom:1rem;font-size:.875rem}form{text-align:start;gap:.75rem;margin-top:1.25rem;display:grid}label{color:var(--text-secondary);font-size:.9375rem;font-weight:700}.field-hint{color:var(--text-muted);margin-top:-.5rem;font-size:.8125rem}.field-row{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.field-row label{margin:0}.field-row .text-button{font-size:.8125rem}input{border:1px solid var(--border-input);background:var(--surface-secondary);width:100%;min-height:2.85rem;color:var(--text-primary);border-radius:.65rem;padding:.7rem .85rem}input::placeholder{color:var(--text-placeholder)}input[aria-invalid=true]{border-color:var(--status-error-text)}.pill-button{background:var(--accent-primary);width:100%;min-height:2.85rem;color:var(--text-inverse);cursor:pointer;font:inherit;border:0;border-radius:999px;margin-top:.25rem;padding:.7rem 1.5rem;font-weight:800}.pill-button:hover:not(:disabled){background:var(--accent-primary-hover)}.pill-button:disabled{cursor:wait;opacity:.65}.google-pending{background:var(--text-primary);color:var(--text-inverse)}.google-pending:hover:not(:disabled){background:var(--text-primary)}.auth-switch-line{color:var(--text-muted);text-align:center;margin-top:.5rem;font-size:.8125rem;display:block}.error{color:var(--status-error-text);margin:0 0 .25rem;font-size:.9375rem}.success{color:var(--status-success-text);margin:1rem 0 0;font-size:.9375rem}.grown-ups-note{border:1px solid var(--accent-primary-subtle);width:100%;color:var(--accent-primary);text-align:start;background:#e8a33c14;border-radius:.75rem;align-items:flex-start;gap:.625rem;margin-top:1rem;padding:.75rem .875rem;display:flex}.grown-ups-note span{color:var(--text-secondary);font-size:.8125rem;line-height:1.45}.grown-ups-note svg{flex:none;margin-top:.0625rem}.auth-door>footer{color:var(--text-placeholder);flex-direction:column;align-items:center;gap:.375rem;margin-top:1.5rem;font-size:.8125rem;display:flex}.footer-links a{color:inherit;text-decoration:underline;text-decoration-color:var(--accent-primary)}.footer-links a:hover{color:var(--text-secondary)}.auth-state{text-align:center}.auth-state p{color:var(--text-secondary);margin:.75rem 0 0}.device-card{text-align:start}.device-card>h1{text-align:center}.device-description{color:var(--text-secondary);margin:.75rem 0 0}.device-card form input{border:1px solid var(--border-secondary);background:var(--surface-primary);width:100%;min-height:2.85rem;color:var(--text-primary);font:inherit;letter-spacing:.12em;border-radius:.65rem;padding:.7rem .9rem}.device-card form button,.device-actions button,.device-revoke{border:1px solid var(--accent-primary);background:var(--accent-primary);min-height:2.75rem;color:var(--text-inverse);cursor:pointer;font:inherit;border-radius:.65rem;padding:.65rem 1.1rem;font-weight:700}.device-card form button:disabled,.device-actions button:disabled,.device-revoke:disabled{cursor:wait;opacity:.65}.device-scope-groups{gap:1rem;margin-top:1rem;display:grid}.device-scope-groups section{border:1px solid var(--border-secondary);background:var(--surface-primary);text-align:start;border-radius:.75rem;padding:1rem}.device-scope-groups h3,.device-key-list h3{color:var(--text-primary);margin:0;font-size:1rem}.device-scope-groups ul,.device-key-list ul{gap:.75rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.device-scope-groups li strong{color:var(--text-primary)}.device-scope-groups li p{color:var(--text-secondary);margin:.2rem 0 0;font-size:.875rem}.device-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;display:flex}.device-actions button{flex:9rem}.device-actions .device-deny,.device-revoke{border-color:var(--border-secondary);color:var(--text-primary);background:0 0}.device-link{color:var(--text-primary);text-decoration:underline;text-decoration-color:var(--accent-primary);text-underline-offset:.18em;margin-top:1rem;display:inline-block}.device-key-list{gap:1rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.device-key-list>li{border:1px solid var(--border-secondary);background:var(--surface-primary);text-align:start;overflow-wrap:anywhere;border-radius:.75rem;padding:1rem}.device-key-list h2{color:var(--text-primary);margin:0;font-size:1.05rem}.device-key-list p{color:var(--text-secondary);margin:.5rem 0 0;font-size:.875rem}.device-revoke{margin-top:1rem}.device-card [role=presentation]:has([role=dialog]){z-index:50;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.device-card [role=dialog]{border:1px solid var(--border-secondary);background:var(--surface-tertiary);text-align:start;border-radius:1rem;width:min(100%,28rem);overflow:hidden;box-shadow:0 1rem 3rem #0000004d}.device-card [role=dialog] header,.device-card [role=dialog] footer{border-color:var(--border-secondary);padding:.9rem 1rem}.device-card [role=dialog] header{border-bottom:1px solid var(--border-secondary)}.device-card [role=dialog] header h2{color:var(--text-primary);margin:0;font-size:1.1rem}.device-card [role=dialog]>div{color:var(--text-secondary);padding:1rem}.device-card [role=dialog] footer{border-top:1px solid var(--border-secondary);justify-content:flex-end;gap:.75rem;display:flex}.device-card [role=dialog] button{border:1px solid var(--border-secondary);background:var(--surface-primary);color:var(--text-primary);cursor:pointer;font:inherit;border-radius:.55rem;padding:.55rem .9rem}.device-card [role=dialog] button[class*=bg-status-error]{border-color:var(--status-error-text);color:var(--text-primary);background:#7c2929}.error-boundary-reload{border:1px solid var(--accent-primary);background:var(--accent-primary);min-height:2.85rem;color:var(--text-inverse);cursor:pointer;font:inherit;border-radius:.65rem;margin-top:1.25rem;padding:.7rem 1.5rem;font-weight:800}.error-boundary-reload:hover{background:var(--accent-primary-hover)}@media (width<=30rem){.auth-page{padding-inline:1rem}.auth-card{padding:1.25rem}.crescent-moon{left:1.5rem}}
