:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#e8edf6;background:#101c2d;color-scheme:dark;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:12px;padding:12px 18px;background:#79cfff;color:#08223b;font-weight:650}button:disabled{opacity:.5;cursor:wait}button.quiet{background:#1d3049;color:#d7e9f8;padding:9px 12px}input,select,textarea{border:1px solid #39506a;border-radius:12px;background:#14243a;color:#eef4fc;padding:12px;max-width:100%}input:focus,textarea:focus,select:focus{outline:2px solid #79cfff;outline-offset:2px}label{display:block;margin:16px 0 7px}p{line-height:1.6}.welcome{max-width:440px;margin:8vh auto;padding:24px}.welcome h1{font-size:2rem;letter-spacing:-.04em}.welcome p{color:#b8c9df}.welcome input,.welcome button{width:100%}.welcome button{margin-top:22px}.welcome small,.hint{color:#90a8c2;line-height:1.5}.droid{border:2px solid #79cfff;border-radius:30px 30px 14px 14px;width:64px;height:64px;display:grid;place-items:center;font-weight:800;color:#79cfff;letter-spacing:2px;background:#1a3550}.eyebrow{font-size:.72rem;letter-spacing:.2em;margin-top:24px}header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #273a52;gap:12px}.brand{color:#79cfff;text-decoration:none;font-weight:800;font-size:1.25rem;white-space:nowrap}.brand span{color:#edf4fc;margin-left:8px}header>div{display:flex;gap:10px;align-items:center}.chat{max-width:850px;margin:auto;padding:18px}.conversation-bar{display:flex;gap:10px;margin-bottom:20px}.conversation-bar select{flex:1;min-width:0}#messages{min-height:40vh;display:flex;flex-direction:column;gap:20px;padding:10px 0 24px}.bubble{max-width:90%;padding:15px 18px;border-radius:18px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.bubble.user{align-self:flex-end;background:#224765}.bubble.assistant{align-self:flex-start;background:#1b2c43}.bubble .author{display:block;font-size:.75rem;color:#a6c6e1;margin-bottom:8px;font-weight:700}.bubble .save{display:block;font-size:.8rem;margin-top:12px;background:#315d7a;padding:6px 10px;color:#e5f3ff}.bubble .saved{font-size:.8rem;display:block;margin-top:10px;color:#a6ddb4}#composer{display:flex;flex-direction:column;gap:8px;position:sticky;bottom:8px;padding:10px;border:1px solid #39506a;border-radius:18px;background:#16273c;box-shadow:0 8px 24px #08132166}#composer:focus-within{border-color:#79cfff}#message{width:100%;resize:vertical;min-width:0;min-height:64px;max-height:50vh;border:0;border-radius:8px;padding:8px;background:transparent;line-height:1.5}#message:focus{outline:0}.composer-tools{display:flex;justify-content:space-between;align-items:center;gap:12px}.composer-tools button{flex:none;height:40px}#composer #attach{display:grid;place-items:center;width:40px;padding:0;border-radius:50%;font-size:1.5rem;line-height:1}#composer #send{padding:8px 18px;border-radius:10px}.hint{font-size:.8rem;margin:7px 0 20px}#status,#login-error,#rule-status{min-height:24px;color:#f0c88e}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}dialog{width:min(760px,95vw);border:1px solid #39506a;border-radius:18px;background:#14243a;color:#e8edf6;padding:24px}dialog::backdrop{background:#0009}#rule-text{width:100%;margin-top:12px;font-family:ui-monospace,monospace}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}[hidden]{display:none!important}@media(max-width:600px){header{padding:12px}header #who{font-size:.85rem}header button.quiet{padding:8px;font-size:.8rem}.chat{padding:12px}.bubble{max-width:96%}.welcome{margin:3vh auto}#send{padding:12px}#messages{min-height:45vh}}

#password-form input{width:100%}#password-status{color:#f0c88e}header>div{flex-wrap:wrap;justify-content:flex-end}@media(max-width:600px){.conversation-bar{flex-wrap:wrap}.conversation-bar select{flex-basis:100%}}

.proposal{margin-top:16px;padding:14px;border:1px solid #54748f;border-radius:12px;background:#14243a;white-space:normal}.proposal p{white-space:pre-wrap;margin:8px 0}.proposal strong{color:#a6ddb4}

.proposal a{display:inline-block;margin-top:10px;color:#79cfff}

#attachments{color:#a6ddb4;font-size:.85rem;overflow-wrap:anywhere}#attach{font-size:1.5rem;padding:8px 14px}

.plans{padding:16px 18px;margin:0 0 20px;border:1px solid #39506a;border-radius:16px;background:#14243a}.plans h2{font-size:1.1rem;margin:0 0 10px}.plans h3{font-size:.9rem;margin:0 0 6px;color:#a6c6e1}#plans-status{font-size:.85rem;color:#f0c88e;margin:0}#plans-status:empty{display:none}#plans-days{display:grid;grid-template-columns:1fr 1fr;gap:16px}.plans ul{list-style:none;margin:0;padding:0}.plans li{margin:0 0 10px;overflow-wrap:anywhere}.plans li strong,.plans li span{display:block}.plans li strong{font-size:.9rem}.plans li span,.plans-empty{font-size:.85rem;color:#b8c9df}.plans-empty{margin:0}.plans details{border-top:1px solid #273a52;margin-top:12px;padding-top:10px}.plans summary{cursor:pointer;color:#a6c6e1;font-size:.9rem}.plans details ul,.plans details .plans-empty{margin-top:12px}@media(max-width:600px){#plans-days{grid-template-columns:1fr}.plans{padding:14px}}

.plans-period{font-size:.78rem;color:#90a8c2;margin:0 0 10px}#family-plans-status{font-size:.85rem;color:#f0c88e;margin:0}#family-plans-status:empty{display:none}
.family-plans{padding:13px 16px;background:linear-gradient(110deg,#172a40,#14243a);border-color:#2c435e}
.family-plans h2{font-size:.95rem;margin-bottom:3px}
#family-plans-list{display:flex;flex-wrap:wrap;gap:8px}
.family-person{display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid #39506a;border-radius:10px;background:#1b3048;color:#d7e9f8;font-size:.83rem;font-weight:550}
.family-count{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:6px;background:#2b435c;color:#c4d8eb;font-size:.75rem;font-variant-numeric:tabular-nums}
.family-person:hover{background:#243d57;border-color:#62849f}
.family-person[aria-expanded=true]{background:#234a60;border-color:#79cfff;color:#dff5ff}
.family-person[aria-expanded=true] .family-count{background:#79cfff;color:#08223b}
.family-plan-details{flex-basis:100%;padding-top:12px;margin-top:3px;border-top:1px solid #39506a}
.family-plan-details li:last-child{margin-bottom:0}
.plans .plans-note{color:#90a8c2;font-size:.8rem;margin-top:3px}
body{background:radial-gradient(ellipse at 50% 0,#182e46 0,transparent 650px),#101c2d}
header{background:#101c2dcc}
.brand{letter-spacing:.03em}
.plans:not(.family-plans){border-color:#314963;border-top:2px solid #72c5d1;background:linear-gradient(120deg,#182b42,#14243a)}
.plans h3{color:#92c5da}
button:focus-visible,summary:focus-visible{outline:2px solid #79cfff;outline-offset:3px}
.bubble.assistant{border:1px solid #2c435b;background:#192d43}
@media(max-width:600px){.family-plans{padding:12px}.family-person{padding:8px 10px}}

#passkey-list{padding:0;list-style:none}#passkey-list li{display:flex;gap:.75rem;justify-content:space-between;align-items:center;margin:1rem 0}#passkey-list span{overflow-wrap:anywhere}#passkey-create-form{display:grid;gap:.75rem}#passkey-create-form[hidden]{display:none}
