:root{color:#26332f;font-synthesis:none;--ink:#26332f;--muted:#718079;--cream:#f7f3ed;--green:#5f8d7c;--green-dark:#416b5d;--peach:#e6a486;--red:#c84c4c;background:#eee8df;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}html,body{background:#eee8df}html.baby-document,body.baby-document{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#050807;min-height:100%}body.baby-document #app{background:#050807;min-height:100dvh}body{min-width:320px}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));background:radial-gradient(circle at 15% 15%,#e6a48629,#0000 30%),radial-gradient(circle at 85% 85%,#5f8d7c26,#0000 34%),#eee8df;place-items:center;transition:background .35s,color .35s;display:grid}.card,.station-card{background:#f7f3edf5;border:1px solid #26332f14;border-radius:28px;width:min(100%,620px);padding:clamp(26px,6vw,46px);box-shadow:0 24px 70px #333a341f}.auth-card{max-width:460px}.centered{text-align:center}.brand-mark{background:var(--green);color:#fff;border-radius:18px;place-items:center;width:54px;height:54px;margin-bottom:28px;font:800 31px/1 ui-rounded,SF Pro Rounded,system-ui,sans-serif;display:grid;transform:rotate(-8deg)}.eyebrow{color:var(--green-dark);letter-spacing:.14em;text-transform:uppercase;margin:0 0 7px;font-size:.76rem;font-weight:700}h1{letter-spacing:-.04em;margin:0;font:800 clamp(2rem,8vw,3.1rem)/1.04 ui-rounded,SF Pro Rounded,system-ui,sans-serif}.intro{color:var(--muted);margin:16px 0 28px;line-height:1.6}form{gap:10px;display:grid}label{font-size:.88rem;font-weight:700}input[type=password]{width:100%;min-height:54px;color:var(--ink);background:#fffdfa;border:1px solid #cfd4ce;border-radius:14px;outline:none;padding:0 16px}input[type=password]:focus{border-color:var(--green);box-shadow:0 0 0 4px #5f8d7c21}.primary,.secondary,.role-choice{cursor:pointer;border:0;border-radius:15px;transition:transform .15s,background .15s}.primary{background:var(--green-dark);color:#fff;min-height:54px;margin-top:7px;padding:0 20px;font-weight:700}.primary:hover,.role-choice:hover{transform:translateY(-2px)}.primary:disabled{opacity:.6;cursor:wait}.primary.compact{width:100%;margin:18px 0 0}.secondary{width:100%;min-height:49px;color:var(--ink);background:#e8e7e1;font-weight:700}.error-message{color:#a33d3d;min-height:1.3em;margin:2px 0;font-size:.88rem}.station-error{text-align:center;margin:14px 0}.top-row,.station-header,.meter-labels,.threshold-control>div:first-child,.range-labels{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.text-button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:8px;font-weight:700}.role-grid{grid-template-columns:1fr 1fr;gap:15px;margin-top:32px;display:grid}.role-choice{text-align:left;min-height:210px;color:var(--ink);background:#ebe8e1;flex-direction:column;align-items:flex-start;padding:24px;display:flex}.role-choice:last-child{background:#dfe9e5}.role-choice strong{margin:auto 0 7px;font:800 1.25rem ui-rounded,SF Pro Rounded,system-ui,sans-serif}.role-choice>span:last-child{color:var(--muted);font-size:.9rem;line-height:1.4}.role-icon{color:var(--peach);font:800 2rem ui-rounded,SF Pro Rounded,system-ui,sans-serif}.parent-icon{color:var(--green)}.privacy-note{text-align:center;color:var(--muted);margin:25px 0 0;font-size:.82rem}.notice{background:#ebe8e1;border-radius:14px;flex-direction:column;gap:5px;margin:24px 0;padding:16px 18px;font-size:.88rem;line-height:1.45;display:flex}.notice span{color:var(--muted)}.notice.warning{color:#754f35;background:#f3dfd0}.station-card{position:relative;overflow:hidden}.station-header h1{font-size:clamp(1.8rem,7vw,2.55rem)}.live-dot{background:var(--peach);border-radius:50%;width:12px;height:12px;margin-top:9px;box-shadow:0 0 0 7px #e6a48629}.status-pill{color:var(--muted);align-items:center;gap:8px;margin-top:17px;font-size:.85rem;display:inline-flex}.status-dot{background:#a7aea9;border-radius:50%;width:7px;height:7px}#connection-status[data-kind=good]{color:var(--green-dark);font-weight:700}#connection-status[data-kind=good]+*{background:var(--green)}#connection-status[data-kind=warning]{color:#9b653f}.wake-lock{color:var(--green-dark);cursor:pointer;background:#5f8d7c1c;border:0;border-radius:10px;margin-top:10px;padding:7px 10px;font-size:.76rem;font-weight:700;display:block}.wake-lock[data-state=active]:before{content:"☀ "}.wake-lock[data-state=failed]{color:#9b653f;background:#9b653f1a}.wake-lock:disabled{color:var(--muted);cursor:default}.sound-orbit{place-items:center;width:210px;height:210px;margin:30px auto;display:grid;position:relative}.orbit-ring{border:1px solid #5f8d7c38;border-radius:50%;position:absolute}.ring-one{inset:15px}.ring-two{border-color:#5f8d7c1a;inset:0}.orbit-core{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:116px;height:116px;font:800 2.5rem ui-rounded,SF Pro Rounded,system-ui,sans-serif;display:grid;box-shadow:0 17px 45px #416b5d40}.baby-orbit .orbit-core{background:var(--peach);box-shadow:0 17px 45px #be7f6340}.baby-shell{color:#d8dfdc;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:radial-gradient(circle at 50% 35%,#3d5c511f,#0000 34%),#050807}.baby-shell .station-card{color:#d8dfdc;background:#090d0c;border-color:#c3d3cc0f;box-shadow:0 24px 70px #0000006b}.baby-shell .eyebrow{color:#78998d}.baby-shell .station-header h1{color:#e3e8e6}.baby-shell .live-dot{background:#6e8d82;box-shadow:0 0 0 7px #6e8d8214}.baby-shell .status-pill,.baby-shell .meter-labels{color:#75827d}.baby-shell .meter-labels strong{color:#aeb9b5}.baby-shell .status-dot{background:#4d5a55}.baby-shell #connection-status[data-kind=good]{color:#82a598}.baby-shell #connection-status[data-kind=warning]{color:#a88974}.baby-shell .wake-lock{color:#78998d;background:#111714}.baby-shell .wake-lock[data-state=failed]{color:#a88974}.baby-shell .orbit-ring{border-color:#7297891a}.baby-shell .ring-two{border-color:#7297890b}.baby-shell .baby-orbit .orbit-core{color:#728e84;background:#17201d;box-shadow:0 14px 38px #00000061}.baby-shell .meter-track{background:#171e1b}.baby-shell .meter-fill{opacity:.48;filter:saturate(.65)}.baby-shell .notice{color:#aeb9b5;background:#111714}.baby-shell .notice span{color:#6f7b76}.baby-shell .secondary{color:#8e9995;background:#121815}.baby-shell .error-message{color:#c98484}.meter-block{margin-bottom:22px}.meter-labels{color:var(--muted);align-items:baseline;margin-bottom:10px;font-size:.84rem}.meter-labels strong{color:var(--ink)}.meter-track{background:#dedfd9;border-radius:20px;height:13px;position:relative;overflow:visible}.meter-fill{border-radius:inherit;background:linear-gradient(90deg, var(--green), #ddad68, var(--red));width:0;height:100%;transition:width 90ms linear}.threshold-marker{background:var(--ink);border-radius:2px;width:3px;height:21px;position:absolute;top:-4px;transform:translate(-1px)}.baby-shell .threshold-marker{display:none}.threshold-control{margin:25px 0}.threshold-control label{font-size:.92rem}.threshold-control span{color:var(--muted);font-size:.84rem}input[type=range]{width:100%;accent-color:var(--green-dark);margin:17px 0 5px}.range-labels{color:var(--muted);font-size:.72rem}.activity-row{grid-template-columns:1fr 1fr;gap:10px;margin:22px 0;display:grid}.remote-audio{opacity:.001;pointer-events:none;width:1px;height:1px;position:absolute}.activity-row>div{background:#ebe8e1;border-radius:14px;flex-direction:column;justify-content:center;min-height:72px;padding:13px 15px;display:flex}.activity-row span{color:var(--muted);font-size:.74rem}.activity-row strong{margin-top:4px;font-size:.86rem}.live-listening{position:relative;background:#dfe9e5!important;padding-left:34px!important}.listening-dot{background:var(--green);border-radius:50%;width:10px;height:10px;position:absolute;left:15px;box-shadow:0 0 0 5px #5f8d7c24}.push-panel{background:#dfe9e5;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;margin:22px 0;padding:16px 18px;display:flex}.push-panel div{flex-direction:column;gap:4px;display:flex}.push-panel strong{font-size:.9rem}.push-panel span{color:var(--muted);font-size:.78rem;line-height:1.4}.small-button{color:#fff;background:var(--green-dark);cursor:pointer;border:0;border-radius:11px;flex:none;padding:9px 13px;font-weight:700}.small-button:disabled{opacity:.6}.alert-copy{text-align:center;margin:20px 0;display:none}.alert-copy strong,.alert-copy span{display:block}.alert-copy strong{font:800 1.4rem ui-rounded,SF Pro Rounded,system-ui,sans-serif}.alert-copy span{opacity:.8;margin-top:4px;font-size:.86rem}.app-shell.noise-alert{color:#fff;background:#b93f3f}.noise-alert .station-card{color:#fff;background:#c84c4c;border-color:#ffffff1f;box-shadow:0 30px 80px #5610104d}.noise-alert .eyebrow,.noise-alert .meter-labels,.noise-alert .meter-labels strong,.noise-alert .threshold-control span,.noise-alert .range-labels,.noise-alert #connection-status{color:#fff}.noise-alert .orbit-core{color:var(--red);background:#fff}.noise-alert .orbit-ring{border-color:#ffffff47;animation:1s infinite alternate pulse}.noise-alert .alert-copy{display:block}.noise-alert .threshold-control,.noise-alert .push-panel,.noise-alert .activity-row{display:none}.noise-alert .secondary{color:#fff;background:#ffffff29}@keyframes pulse{to{opacity:.4;transform:scale(1.08)}}@media (max-width:560px){.app-shell{place-items:stretch stretch;padding:0}.card,.station-card{width:100%;min-height:100dvh;padding:max(28px, env(safe-area-inset-top)) max(22px, env(safe-area-inset-right)) max(25px, env(safe-area-inset-bottom)) max(22px, env(safe-area-inset-left));border:0;border-radius:0}.role-grid{grid-template-columns:1fr}.role-choice{min-height:145px}.sound-orbit{width:180px;height:180px;margin:23px auto}.orbit-core{width:104px;height:104px}.activity-row{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
