:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#163b5b;background:#f1f7fc;--surface:#ffffff;--ink:#163b5b;--muted:#526f85;--line:#c9deeb;--accent:#1266ae;--soft:#eaf4fc}body{color:var(--ink);background:radial-gradient(ellipse at 10% 0%,#d2f4f5 0%,transparent 40%),radial-gradient(ellipse at 100% 25%,#e6e6fc 0%,transparent 40%),#f1f7fc;min-height:100dvh}header{background:linear-gradient(120deg,#071c36,#103e64);border-bottom:1px solid #6ce5f64d;box-shadow:0 8px 35px #082b5026}header img{box-shadow:0 0 28px #37c8ff35;border:1px solid #56c7ff45}header strong{letter-spacing:-1.2px}main{max-width:1080px;padding-top:28px}h1{font-size:clamp(30px,4vw,43px);line-height:1.15;letter-spacing:-1.3px}h2{letter-spacing:-.5px}.hero{border:1px solid #a8d4e6;background:linear-gradient(115deg,#e5f6ffea,#fffffff0);box-shadow:0 12px 40px #194d6b0c}.home-hero{justify-content:space-between;overflow:hidden;min-height:215px}.home-hero h1{margin-top:12px}.hero p{color:#48677d;font-size:17px}.companion-orbit{padding:15px;border-radius:50%;border:1px solid #80cef1;box-shadow:0 0 0 14px #8fdff112,0 0 0 30px #8fdff108}.companion-orbit img{width:120px;height:120px;border-radius:28px;display:block}.home-section{margin:30px 0}.section-title{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px}.section-title h2{margin:0}.starter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.starter-card{background:linear-gradient(145deg,#fff,#eaf6ff);border:1px solid #b5d4e9;box-shadow:0 5px 15px #0f3a5510;min-height:146px;padding:20px 12px}.starter-card strong{font-size:23px}.starter-card small{display:block;color:#54738a;font-size:12px;font-weight:500;margin-top:9px}.word>span{font-size:38px}.starter-card>span{font-size:42px;margin-bottom:14px}.day-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tile{padding:23px;border:1px solid #c4dce9;box-shadow:0 7px 20px #143b5710;min-height:164px;border-radius:23px}.tile span{font-size:36px;font-weight:700;letter-spacing:-1px}.tile strong{font-size:24px;display:block;line-height:1.2}.tile small{font-size:14px;line-height:1.45}.tile.blue{background:linear-gradient(120deg,#0866ab,#154483);border-color:#2776b4;box-shadow:0 8px 22px #135e9a30}.tile.blue small{color:#e0f2ff}.tile.teal{background:linear-gradient(140deg,#ecfcf7,#dcf2ed)}.tile.lavender{background:linear-gradient(140deg,#f7f4ff,#e9e6fa)}.tile.peach{background:linear-gradient(140deg,#fffaf3,#f7eadc)}button{border-color:var(--line);transition:box-shadow .15s,background .15s;border-radius:17px}button:hover{box-shadow:0 5px 18px #2a6a8d20}button:focus-visible{outline:4px solid #0b7caa;outline-offset:4px}.panel{background:var(--surface);border-color:var(--line);box-shadow:0 5px 18px #0d385606}.nav{background:#f8fcfff5;border-top:1px solid #c9dce8;box-shadow:0 -6px 24px #153b5a0b}.nav button.active{background:#deeffb;border:1px solid #b3d5ed}.quick-support h2{font-size:19px;margin-top:0}.quick-support .row button{flex:1;min-width:140px;font-size:16px}.eyebrow{font-size:11px;letter-spacing:2.4px;color:#337a96}.badge{background:#e0f1f9;color:#365f79}.settings-section{background:var(--surface);border:1px solid var(--line);border-radius:20px;margin:14px 0;overflow:hidden}.settings-section>summary{cursor:pointer;padding:22px;font-weight:700;font-size:20px;list-style-position:inside;color:var(--ink)}.settings-section[open]>summary{border-bottom:1px solid var(--line);background:var(--soft)}.settings-section>.panel{margin:0;border:0;box-shadow:none;border-radius:0}.settings-shortcuts{gap:8px}.settings-shortcuts button{background:#e6f3fc;font-size:14px;padding:12px}p,.hint{color:var(--muted)}.word{overflow-wrap:anywhere}.voice-compare{border-top:1px solid var(--line);margin-top:26px;padding-top:12px}.voice-compare h3{font-size:21px}.recipe-step-picture,.recipe-cover{line-height:1.2}
body[data-theme=midnight]{--surface:#142f48;--ink:#edf6ff;--muted:#c0d4e5;--line:#3c5c74;--soft:#1c405c;background:radial-gradient(ellipse at 10% 0%,#174759,transparent 40%),#091e31;color:var(--ink)}body[data-theme=midnight] .hero{background:linear-gradient(130deg,#163e59,#172b48);border-color:#406b85}body[data-theme=midnight] .hero p{color:#c0d4e5}body[data-theme=midnight] button:not(.blue),body[data-theme=midnight] input,body[data-theme=midnight] select,body[data-theme=midnight] textarea{color:#edf6ff;background:#183c56;border-color:#42667f}body[data-theme=midnight] .starter-card{background:linear-gradient(145deg,#174563,#213953)}body[data-theme=midnight] .starter-card small,body[data-theme=midnight] .tile small{color:#ccdeeb}body[data-theme=midnight] .tile.teal{background:#153f43}body[data-theme=midnight] .tile.lavender{background:#343653}body[data-theme=midnight] .tile.peach{background:#443e42}body[data-theme=midnight] .nav{background:#102b43f5;border-color:#38586e}body[data-theme=midnight] .badge{color:#d7edf9;background:#234e69}body[data-theme=midnight] .eyebrow{color:#8bd5eb}body[data-theme=midnight] .ft-current{background:#194745;border-color:#6bc6bc}body[data-theme=midnight] .alarm-alert{color:#eef7ff;background:#132f47}
@media(max-width:620px){main{padding-top:20px}.home-hero{min-height:185px;padding:22px 18px}.companion-orbit{padding:9px;margin-right:6px}.companion-orbit img{width:83px;height:83px;border-radius:21px}.hero p{font-size:15px}.starter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.starter-card{min-height:139px}.starter-card strong{font-size:24px}.day-grid{gap:11px}.tile{padding:18px 14px;min-height:182px}.tile strong{font-size:21px}.tile small{font-size:13px}.section-title .eyebrow{display:none}.section-title h2{font-size:22px}.home-section{margin:26px 0}.home-hero h1{font-size:30px}.settings-section>summary{padding:19px;font-size:18px}.nav button{font-size:12px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}

/* A short, gentle invitation below the header; never requests location automatically. */
.nearby-banner{width:100%;display:flex;align-items:center;gap:12px;text-align:left;margin:0 0 18px;padding:15px 18px;border:1px solid #a8d3e9;border-radius:19px;background:linear-gradient(110deg,#e0f5f4,#e9f2ff);color:#173f61;animation:nearbyGlow 8s ease-in-out 2}
.nearby-banner .nearby-copy{flex:1;min-width:0}.nearby-banner strong{display:block;font-size:20px}.nearby-banner small{display:block;font-size:14px;color:#446780;margin-top:4px}.nearby-pin{display:inline-block;font-size:30px;animation:nearbyBounce 8s ease-in-out 2}.nearby-arrow{font-size:25px}.nearby-banner-used,.nearby-banner-used .nearby-pin{animation:none}
@keyframes nearbyBounce{0%,8%,18%,100%{transform:translateY(0)}12%{transform:translateY(-5px)}15%{transform:translateY(-2px)}}
@keyframes nearbyGlow{0%,25%,100%{box-shadow:0 3px 12px #296f8b0b}12%{box-shadow:0 0 17px #55b7d840}}
@media(prefers-reduced-motion:reduce){.nearby-banner,.nearby-banner .nearby-pin{animation:none}}

/* Subtle repeating motion while the nearby invitation has not been opened. */
.nearby-banner:not(.nearby-banner-used){animation:nearbyGlow 9s ease-in-out infinite}
.nearby-banner:not(.nearby-banner-used) .nearby-pin{position:relative;animation:nearbyBounce 9s ease-in-out infinite}
.nearby-banner:not(.nearby-banner-used) .nearby-copy strong{animation:nearbyTitleLift 9s ease-in-out infinite}
.nearby-banner:not(.nearby-banner-used) .nearby-pin::after{content:'';position:absolute;inset:1px -5px;border:2px solid #399fc0;border-radius:50%;opacity:0;animation:nearbyPinPulse 9s ease-out infinite;pointer-events:none}
@keyframes nearbyTitleLift{0%,8%,24%,100%{transform:translateY(0)}14%{transform:translateY(-3px)}19%{transform:translateY(0)}}
@keyframes nearbyPinPulse{0%,8%{opacity:0;transform:scale(.65)}12%{opacity:.45}25%,100%{opacity:0;transform:scale(1.5)}}
@media(prefers-reduced-motion:reduce){.nearby-banner:not(.nearby-banner-used),.nearby-banner:not(.nearby-banner-used) .nearby-pin,.nearby-banner:not(.nearby-banner-used) .nearby-copy strong,.nearby-banner:not(.nearby-banner-used) .nearby-pin::after{animation:none}}

.home-hero{min-height:0;padding:20px 22px}.home-hero h1{font-size:28px}.home-hero p{margin-top:8px}@media(max-width:620px){.home-hero{min-height:0;padding:18px}.home-hero h1{font-size:28px}}

.finder-open{width:100%;text-align:left;margin-bottom:18px;background:#e3f3fb;font-weight:bold}.finder-results{display:grid;gap:12px;margin-top:18px}.finder-result{display:grid;grid-template-columns:48px 1fr;gap:5px 12px;text-align:left;width:100%}.finder-result>span:first-child{grid-row:1/4;font-size:30px}.finder-result small,.finder-result .hint{grid-column:2;font-size:14px;line-height:1.5}.finder-highlight{outline:4px solid #087c9f!important;outline-offset:3px;background:#e2f8ef!important}.finder-route{padding:14px;border-radius:12px;background:#e2f8ef;color:#173f61;font-weight:bold}

.phonics-keyboard{margin:20px 0}.phonics-row{display:flex;gap:4px;margin:5px 0}.phonics-row button{flex:1;min-width:0;padding:12px 2px;border-radius:9px;min-height:56px;font-size:22px;font-weight:bold;background:#f4f7db}.phonics-row .phonics-vowel{background:#fff0b6}.phonics-row .phonics-space{flex:4;font-size:18px}.phonics-row button:active{background:#c9eefa;transform:translateY(1px)}

.profile-portrait{width:86px!important;height:86px!important;object-fit:cover;border-radius:50%!important;flex-shrink:0;border:3px solid white;box-shadow:0 2px 12px #123b5b20}.home-hero{gap:14px}.home-hero>div:first-child{flex:1;min-width:0}#profile-photo-preview{margin:14px 0}@media(max-width:620px){.home-hero .profile-portrait{width:76px!important;height:76px!important}.home-hero:has(.profile-portrait) h1{font-size:25px}}

.help-home{width:100%;text-align:left;margin:0 0 8px;background:#fff3e9;border:1px solid #dfac86;font-weight:bold;color:#663b24}.help-home small{display:block;font-size:14px;margin-top:6px;font-weight:normal}.help-call{display:block;text-align:center;padding:20px 12px;min-height:60px;border-radius:16px;background:#1266ae;color:white;text-decoration:none;font-weight:bold}.help-call:focus-visible{outline:4px solid #f0b349;outline-offset:3px}.help-card .profile-portrait{float:right;margin:0 0 12px 12px}
