:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#203a36;background:#f5f4ee;font-synthesis:none;--green:#1d5245;--muted:#61756e;--border:#dce4dc}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;touch-action:manipulation;border:0;border-radius:13px;background:var(--green);color:#fff;padding:13px 17px;min-height:46px;font-weight:600}button:disabled{opacity:.42;cursor:default}button.secondary{background:#e9eee8;color:#25463c}button.danger{background:#973f35}button.small{padding:9px 12px;font-size:14px}button.selected{background:#d5e7da;color:#173e32;box-shadow:inset 0 0 0 2px #507863}input,textarea,select{width:100%;border:1px solid #b5c5b9;background:white;border-radius:11px;padding:12px;color:#183b2e;min-height:46px}textarea{min-height:90px}label{display:block;margin:12px 0 7px;font-size:14px;font-weight:600}input[type=checkbox]{width:18px;min-height:18px;vertical-align:middle;margin-right:8px}a{color:#1e6550}p{line-height:1.65;margin:9px 0}h1,h2,h3{line-height:1.25;margin:0 0 14px}h1{font-size:30px;letter-spacing:-1px}h2{font-size:24px}h3{font-size:17px}.shell{max-width:860px;margin:0 auto;padding:28px 20px calc(95px + env(safe-area-inset-bottom))}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.brand{font-weight:750;font-size:19px;letter-spacing:-.7px}.tag{font-size:11px;letter-spacing:1.2px;font-weight:700;border:1px solid var(--border);padding:5px 9px;border-radius:30px}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:700;color:var(--muted);margin:0 0 8px}.lead{font-size:16px;color:#526960;margin-bottom:24px}.card{background:white;border:1px solid var(--border);border-radius:22px;padding:22px;margin:16px 0;box-shadow:0 3px 14px #183b2e03}.hero{background:#162b29;color:#faf7ed;min-height:335px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:27px 19px;border-radius:28px}.hero p{color:#b9ccc2}.orb{width:105px;height:105px;display:grid;place-items:center;border:1px solid #779a89;border-radius:50%;margin:15px;box-shadow:0 0 0 12px #ffffff05,0 0 0 24px #ffffff03;font-size:38px;color:#f0cf96}.orb.listening{box-shadow:0 0 0 15px #b9eacf26;animation:breathe 1.4s ease-in-out infinite}.hero button{background:#f0cf96;color:#203a36;min-width:155px}.hero button.danger{background:#ae5349;color:#fff}.row{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.row>*{flex:1}.row .fixed{flex:none}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.muted{color:var(--muted);font-size:13px}.big{font-size:21px;line-height:1.5}.caption{padding:15px;border-left:3px solid #b0c8b7;background:#eff4ed;margin-top:15px;white-space:pre-wrap}.nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;background:#f5f4eef2;backdrop-filter:blur(12px);padding:10px 8px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--border);z-index:4}.nav button{background:transparent;color:var(--muted);font-size:12px;max-width:130px;flex:1;padding:10px 6px;border-radius:12px}.nav button.active{background:#dde8dd;color:#173c32}.list{border-bottom:1px solid var(--border);padding:15px 0}.list:last-child{border:0}.linkbutton{background:transparent!important;color:#235d48!important;text-align:left;padding:10px 0}.focus{border-left:3px solid #91ac85;padding-left:14px}.score{font-weight:650}.login{max-width:430px;margin:10vh auto;padding:22px}.login .card{padding:28px}#notice{position:fixed;top:10px;left:50%;transform:translateX(-50%);max-width:calc(100% - 28px);width:max-content;z-index:10;background:#29493d;color:white;border-radius:13px;padding:0;box-shadow:0 4px 20px #0002;font-size:14px}#notice:not(:empty){padding:12px 17px}#update{position:fixed;bottom:85px;right:14px;z-index:8;background:#956c27}.loading{padding:25px}.notice{background:#fbf2df;border:1px solid #ecddb9;border-radius:15px;padding:12px 15px;font-size:13px;color:#785824}.subtle{font-size:11px;color:#708076}.metric{background:#f3f5ee;border-radius:15px;padding:14px}.metric strong{display:block;font-size:15px;margin-bottom:7px}.empty{padding:15px 0;color:#748178}.recordbar{display:flex;align-items:center;gap:10px;margin:13px 0}.recorddot{width:9px;height:9px;background:#a7483e;border-radius:50%}.modal{position:fixed;inset:0;background:#14292380;z-index:6;display:flex;align-items:flex-end;justify-content:center;padding:12px}.modal>.card{max-width:640px;max-height:85vh;overflow:auto;width:100%;margin:0;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.checkrow{display:flex;gap:8px;align-items:flex-start}.checkrow input{flex:none;margin-top:3px}details{margin:12px 0}summary{cursor:pointer;font-size:14px;font-weight:600;padding:8px 0}@keyframes breathe{50%{box-shadow:0 0 0 22px #b9eacf12}}@media(min-width:700px){.shell{padding-top:36px}.hero{min-height:380px}.grid.dimensions{grid-template-columns:repeat(3,1fr)}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}

/* Include top/landscape safe areas on every fixed surface, including standalone iOS. */
:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}
.shell{padding-top:calc(28px + var(--safe-top));padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
#notice{top:calc(12px + var(--safe-top));margin:0;max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 110px);overflow:auto;overflow-wrap:anywhere}
body:before{content:"";position:fixed;left:0;right:0;top:0;height:var(--safe-top);background:#f5f4ee;z-index:9;pointer-events:none}
.login{padding-top:calc(22px + var(--safe-top))}.modal{padding-top:calc(12px + var(--safe-top));padding-bottom:calc(12px + var(--safe-bottom))}.modal>.card{max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 32px)}
#update{bottom:calc(85px + var(--safe-bottom))}.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.category-grid button{font-size:14px}
@media(min-width:700px){.shell{padding-top:calc(36px + var(--safe-top))}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Keep lesson actions tappable at iPhone widths. */
.modal .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.modal .row>button{width:100%;min-width:0}.modal .row>.notice{grid-column:1/-1}

/* Keep live phone controls and report destinations reachable on a small screen. */
.hero.call-active{min-height:210px;padding:16px}.call-active .orb{width:48px;height:48px;font-size:24px;margin:8px;box-shadow:none}.call-active h2{font-size:20px;margin:8px 0}.call-active p{margin:5px 0}.voice-settings{padding:16px 22px}.voice-settings h3{margin-bottom:6px}#call-report{scroll-margin-top:calc(16px + var(--safe-top))}.modal[role=dialog] h2{font-size:23px}

/* Keep the live microphone and essential controls reachable while reading. */
.shell.has-live-call{padding-bottom:calc(210px + var(--safe-bottom))}
.call-dock{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(78px + var(--safe-bottom));width:min(820px,calc(100% - 24px));z-index:7;background:#203a36;color:#fff;border:1px solid #57766a;border-radius:16px;padding:10px;box-shadow:0 4px 22px #132b2a35}
.call-dock-status{display:flex;align-items:center;gap:8px;margin:0 3px 8px;font-size:13px;min-width:0}.call-dock-status [data-call-status]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-dock .recorddot{flex:none;background:#a7d2bb}
.call-dock-buttons{display:flex;gap:7px}.call-dock-buttons button{flex:1;min-width:0;padding:10px 5px;font-size:12px}
.call-dock~.modal{padding-bottom:calc(186px + var(--safe-bottom))}.call-dock~.modal>.card{max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 210px)}

[data-view-key="live-diagnostics"] pre{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}
