:root{--paper:#fefaf3;--surface:#fff;--ink:#2b2440;--ink-soft:#6b6478;--accent:#ff8a5c;--accent-dark:#e56b3d;--accent-soft:#fff0e8;--child-bubble:#fff0e8;--assistant-bubble:#eef2ff;--border:#ece6f5;--error:#c94a45;--sans:"Nunito", system-ui, "Segoe UI", Roboto, sans-serif;font:17px/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#201c2e;--surface:#2a2540;--ink:#f1eefa;--ink-soft:#b3aac4;--accent:#ff9c72;--accent-dark:#ffb08c;--accent-soft:#3a2c33;--child-bubble:#3a2c33;--assistant-bubble:#26314f;--border:#3a3450}}*{box-sizing:border-box}body{margin:0}#root{flex-direction:column;min-height:100svh;display:flex}h1{margin:0 0 .5rem;font-size:2.25rem}p{margin:0}button{cursor:pointer;font-family:inherit;font-size:1rem}input{font-family:inherit;font-size:1rem}a{color:var(--accent-dark)}.gate{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.25rem;max-width:32rem;margin:0 auto;padding:2rem 1.5rem;display:flex}.gate-tagline{color:var(--ink-soft);font-size:1.05rem}.gate-fineprint{color:var(--ink-soft);font-size:.85rem}.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:999px;padding:.85rem 1.75rem;font-weight:700;transition:background .15s}.btn-primary:hover:not(:disabled){background:var(--accent-dark)}.btn-primary:disabled{opacity:.5;cursor:default}.btn-link{color:var(--ink-soft);background:0 0;border:none;padding:0;text-decoration:underline}.error{color:var(--error);font-size:.9rem}.app{flex-direction:column;flex:1;width:100%;max-width:40rem;min-height:100svh;margin:0 auto;display:flex}.chat-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.chat-header .brand{color:var(--accent-dark);font-size:1.25rem;font-weight:800}.header-actions{align-items:center;gap:1rem;font-size:.9rem;display:flex}.messages{flex-direction:column;flex:1;gap:.75rem;padding:1.25rem;display:flex;overflow-y:auto}.empty-state{color:var(--ink-soft);text-align:center;margin-top:2rem}.message{white-space:pre-wrap;border-radius:1.1rem;max-width:80%;padding:.7rem 1rem;line-height:1.45}.message-child{background:var(--child-bubble);border-bottom-right-radius:.25rem;align-self:flex-end}.message-assistant{background:var(--assistant-bubble);border-bottom-left-radius:.25rem;align-self:flex-start}.message-pending{color:var(--ink-soft);font-style:italic}.composer{border-top:1px solid var(--border);gap:.6rem;padding:1rem 1.25rem;display:flex}.composer input{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:999px;flex:1;padding:.75rem 1rem}.composer input:focus{outline:2px solid var(--accent);outline-offset:1px}.banner{background:var(--accent-soft);color:var(--accent-dark);border-radius:.75rem;padding:.6rem 1rem;font-weight:600}.code-form{gap:.6rem;display:flex}.code-form input{border:1px solid var(--border);background:var(--surface);color:var(--ink);text-align:center;letter-spacing:.15em;text-transform:uppercase;border-radius:999px;width:8rem;padding:.75rem 1rem}.dashboard{flex-direction:column;flex:1;width:100%;max-width:40rem;min-height:100svh;margin:0 auto;display:flex}.dashboard-body{flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.dashboard-body h2{margin:1rem 0 0;font-size:1.1rem}.drive-connect-card{background:var(--assistant-bubble);border-radius:1rem;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.drive-connect-card h2{margin:0}.kid-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.kid-row{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.kid-age,.device-code{color:var(--ink-soft);font-size:.9rem}.device-code span{letter-spacing:.1em;color:var(--accent-dark);font-weight:800}.add-kid-form{flex-wrap:wrap;gap:.6rem;display:flex}.add-kid-form input,.add-kid-form select{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:999px;padding:.7rem 1rem}.add-kid-form input{flex:1;min-width:8rem}
