:root{color-scheme:light dark;--bg:#f8f7f3;--surface:#fff;--ink:#24352f;--muted:#58685f;--brand:#e87533;--action:#b64b17;--success:#356b51;--danger:#ba3636;--soft:#f3eae0;--line:#dedfd7;--green:var(--action);color:var(--ink);background:var(--bg)}
body{color:var(--ink);background:var(--bg)}h1{line-height:1.3}h2{font-size:clamp(25px,3vw,34px);line-height:1.35;letter-spacing:-.04em}a{color:var(--action)}button,.button{border:1px solid transparent;border-radius:14px;background:var(--action);padding:12px 20px;gap:8px;min-height:48px;touch-action:manipulation}.secondary{background:var(--soft);color:var(--ink)}.danger{background:var(--danger);color:#fff}.text-button{background:none;color:var(--muted);padding:8px;min-height:44px;font-size:14px;font-weight:500}.button small{font-size:12px;font-weight:400}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--brand);outline-offset:3px}input,textarea{min-width:0;font-size:17px;padding:14px 16px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}input[aria-invalid=true]{border-color:var(--danger)}label{font-weight:600;font-size:15px}.muted,footer{color:var(--muted);font-size:14px}.eyebrow{font-size:13px;font-weight:650;letter-spacing:.12em;color:var(--action);margin-bottom:12px}
.lobby{max-width:1040px;padding:calc(env(safe-area-inset-top) + 20px) 24px calc(env(safe-area-inset-bottom) + 24px)}.brand{justify-content:space-between;padding:8px 0 24px;margin:0}.brand-link{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}.brand h1{font-size:23px}.brand h1 span{display:block;font-size:12px;letter-spacing:.1em;color:var(--muted);margin-top:4px;font-weight:500}.hero{padding:56px 0 40px;max-width:900px}.hero h2{font-size:clamp(38px,5.5vw,62px);line-height:1.2}.hero>p:not(.eyebrow){max-width:540px;color:var(--muted)}.role-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}.role-choice{display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:20px;background:var(--soft);text-decoration:none;color:var(--ink)}.role-choice strong{font-size:23px}.role-choice>span:not(.step-index){font-size:14px;color:var(--muted)}.role-choice b{font-size:15px;margin-top:12px;color:var(--action)}.step-index{font-size:12px;font-weight:700;color:var(--action)}.parent-choice{background:var(--surface);border:1px solid var(--line)}.intro-section{padding:40px 0;border-top:1px solid var(--line)}.intro-section>p{max-width:660px;color:var(--muted)}.join-link{display:flex;gap:12px;align-items:flex-start;max-width:720px}.join-link input{margin:0}.download-section{display:flex;gap:32px;align-items:center;justify-content:space-between}.download-section>div{max-width:550px}.download-section .button{flex-shrink:0;flex-direction:column;gap:0}.steps{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:step}.steps li{counter-increment:step;display:flex;flex-direction:column;gap:8px}.steps li:before{content:"0" counter(step);font-size:13px;font-weight:700;color:var(--action)}.steps strong{font-size:20px}.steps span{font-size:15px;color:var(--muted)}.card{background:var(--surface);border:0;box-shadow:none;padding:32px;margin:24px 0}.invitation-card{max-width:620px;margin:40px auto}.invitation-card button{width:100%;margin:8px 0 16px}.member-home{padding:40px 0;max-width:760px}.binding-state{color:var(--muted);margin:16px 0 24px}.code{font-size:40px;letter-spacing:.18em;color:var(--action);font-variant-numeric:tabular-nums}.request{background:var(--surface);border:0;border-radius:20px;padding:24px;margin:16px 0}.request-title{font-size:21px;font-weight:700}.request-caption{color:var(--muted);font-size:15px}.request-actions{display:flex;flex-wrap:wrap;gap:8px}.request-actions .text-button{margin-left:auto}.empty-state{padding:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.empty-state strong{display:block;font-size:22px;margin-bottom:8px}.empty-state p{color:var(--muted);margin:0}.family-note{margin-top:32px}.family-note p,.account-options p{color:var(--muted);font-size:15px;margin-top:8px}.account-options{margin-top:24px}.account-options summary{cursor:pointer;min-height:48px;display:flex;align-items:center;color:var(--action)}#lobby-status{color:var(--danger);font-size:15px}#lobby-status:empty{display:none}footer{border-top:1px solid var(--line);padding:24px 0;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}footer>small{width:100%;font-size:12px}footer .text-button{min-height:36px;padding:0 8px}
#assist{background:var(--surface)}.session-bar{min-height:78px;border-color:var(--line);flex-shrink:0}.session-bar strong{font-size:18px}.session-bar span,.connection{color:var(--muted)}.connection button{min-height:44px}.awaiting-takeover .connection{background:var(--soft);color:var(--ink)}#empty{background:var(--surface);color:var(--ink);font-size:15px}.toolbar button{font-size:15px}#composer{border-color:var(--line)}#composer button{min-height:44px}#operation-status{background:none;color:var(--danger)}dialog{border:0;border-radius:24px;background:var(--surface);color:var(--ink);padding:28px;max-width:calc(100vw - 32px);width:440px;max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 16px 60px #0003}dialog::backdrop{background:#15271c80}dialog h2{font-size:24px}dialog p{white-space:pre-line;color:var(--muted);font-size:16px}.dialog-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.dialog-actions button{flex:1 1 120px}#toast{position:fixed;z-index:1000;bottom:calc(env(safe-area-inset-bottom) + 20px);left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);width:max-content;padding:12px 18px;border-radius:14px;background:#24352fee;color:#fff;font-size:14px;pointer-events:none}
@media(max-width:650px){.lobby{padding-left:20px;padding-right:20px}.hero{padding:28px 0 32px}.role-choices{grid-template-columns:1fr;gap:12px}.role-choice{padding:20px}.intro-section{padding:32px 0}.download-section{display:block}.download-section .button{width:100%;margin-top:8px}.steps{grid-template-columns:1fr;gap:24px}.join-link{flex-direction:column}.join-link button{width:100%}.card{padding:24px}.member-home{padding:24px 0}.toolbar{gap:4px;padding:8px 4px}.toolbar button{font-size:13px;padding:8px 4px}.connection{padding:8px 12px}.request{padding:20px}.request-actions button{flex:1}.request-actions .text-button{flex:0 1 auto}.brand h1{font-size:21px}footer{flex-direction:column;align-items:flex-start}}
@media(prefers-color-scheme:dark){:root{--bg:#1c2521;--surface:#27332c;--ink:#f0f1ea;--muted:#becabf;--brand:#ffa871;--action:#ffb585;--success:#9cd2af;--danger:#ffb0aa;--soft:#343b31;--line:#465248}.button,button:not(.secondary):not(.text-button){color:#281b12}.danger{color:#321211}.screen-area{background:#151e19}.install-guide{background:var(--surface)!important;border-color:var(--line)!important}}

/* A functional entry, not a long landing page. */
.quick-entry{max-width:520px;padding:24px 0 32px}.quick-entry h2{font-size:30px}.quick-entry>button{width:100%;margin-top:0}.invitation-card{margin:16px auto}.member-home{padding:16px 0}.member-home h2{font-size:28px}.binding-state{margin:12px 0 20px}.empty-state{padding:20px 0}.empty-state strong{font-size:21px}.request-actions>button:first-child{min-height:54px;font-size:18px}.lobby{max-width:820px}footer{margin-top:20px;padding:16px 0}.entry-error{border-left:3px solid var(--danger);padding:12px 16px;background:var(--surface);border-radius:8px}button[aria-busy=true]{opacity:.65}
