
:root{--bg:#fbf8ff;--card:#fff;--ink:#2f2940;--muted:#6e657f;--primary:#7b61a8;--accent:#f5c65c;--line:#e7def0;--shadow:0 10px 30px rgba(63,42,88,.10);--radius:22px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.topbar{position:sticky;top:0;z-index:20;height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;background:rgba(251,248,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.brand-mini{display:grid;place-items:center;width:52px;height:52px;border:0;background:transparent;padding:1px;border-radius:16px;overflow:hidden}.brand-mini img{display:block;width:50px;height:50px;border-radius:14px;object-fit:cover}.icon-btn{border:0;background:transparent;width:42px;height:42px;border-radius:50%;color:var(--ink);font-size:1.2rem}.view{padding:16px 16px calc(16px + var(--safe-bottom));max-width:900px;margin:0 auto;min-height:calc(100vh - 58px)}
.home-route{overflow:hidden}.home-route .topbar{position:fixed;left:0;right:0;top:0;background:transparent;border-bottom:0;backdrop-filter:none}.home-route .icon-btn,.home-route .brand-mini{background:transparent;box-shadow:none;backdrop-filter:none}.home-route .icon-btn{border:0;text-shadow:0 1px 2px rgba(255,255,255,.95),0 0 5px rgba(255,255,255,.8)}.home-route .view{padding:0;max-width:none;height:100dvh;min-height:100dvh;overflow:hidden}
.hero{background:linear-gradient(145deg,#f0e7fb,#fff6d9);border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:var(--shadow);overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;background:rgba(123,97,168,.09);right:-40px;top:-35px}.hero h1{margin:0 0 8px;font-size:clamp(2rem,8vw,3.4rem);line-height:1}.hero p{margin:0;color:var(--muted);max-width:560px}.quote{margin-top:16px;padding:14px 16px;background:rgba(255,255,255,.72);border-radius:18px;border:1px solid rgba(123,97,168,.15);font-style:italic}
.section-title{margin:24px 4px 12px;font-size:1.15rem}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:0 6px 20px rgba(63,42,88,.06)}.card h3{margin:8px 0 4px}.card p{margin:0;color:var(--muted);font-size:.94rem}.card-button{width:100%;text-align:left;border:1px solid var(--line);background:var(--card);border-radius:var(--radius);padding:16px;color:inherit;box-shadow:0 6px 20px rgba(63,42,88,.06)}.card-button .emoji{font-size:1.8rem}.card-button strong{display:block;margin-top:8px}.card-button small{display:block;color:var(--muted);margin-top:3px}
.banner{padding:16px;border-radius:18px;background:#fff7dc;border:1px solid #f1dea4;color:#5d4a17}.empty{text-align:center;padding:34px 18px}.empty .big{font-size:3rem}.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.btn{border:0;border-radius:14px;padding:12px 16px;font-weight:750;background:var(--primary);color:white}.btn.secondary{background:#eee7f6;color:var(--ink)}.btn.danger{background:#a13f52}.btn.full{width:100%}
.form-grid{display:grid;gap:12px}.field{display:grid;gap:6px}.field label{font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid #d9cfe6;border-radius:14px;padding:12px;background:white;color:var(--ink)}.field textarea{min-height:100px;resize:vertical}.hint{font-size:.88rem;color:var(--muted)}
.profile-card{display:flex;align-items:center;gap:14px}.avatar{width:64px;height:64px;flex:0 0 64px;border-radius:50%;display:grid;place-items:center;background:#efe6f8;font-size:2rem;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.profile-card .meta{flex:1;min-width:0}.profile-card h3{margin:0}.profile-card p{margin:3px 0 0;color:var(--muted)}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat{text-align:center;background:white;border:1px solid var(--line);border-radius:18px;padding:14px 8px}.stat strong{display:block;font-size:1.45rem}.stat small{color:var(--muted)}
.drawer{position:fixed;left:0;top:0;bottom:0;width:min(84vw,340px);background:white;z-index:50;transform:translateX(-102%);transition:.22s ease;box-shadow:var(--shadow);padding:18px}.drawer.open{transform:translateX(0)}.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.drawer-brand{display:grid;gap:2px}.drawer-brand small{color:var(--muted);font-size:.72rem;letter-spacing:.02em}.drawer nav{display:grid;gap:6px}.drawer nav button{border:0;background:transparent;text-align:left;padding:13px;border-radius:14px;color:var(--ink)}.drawer-version{position:absolute;bottom:22px;color:var(--muted);font-size:.88rem}.scrim{position:fixed;inset:0;background:rgba(26,19,36,.38);z-index:40}
dialog{border:0;border-radius:24px;padding:0;max-width:min(92vw,560px);width:100%;box-shadow:var(--shadow)}dialog::backdrop{background:rgba(23,16,32,.5)}.modal-card{padding:22px;position:relative}.modal-close{position:sticky;z-index:8;float:right;right:0;top:0;margin:-12px -12px 0 8px;border:0;background:#f1ebf7;border-radius:50%;width:36px;height:36px;box-shadow:0 2px 8px rgba(47,41,64,.18)}.modal-card h2{padding-right:38px;margin-top:0}
.list{display:grid;gap:10px}.list-item{display:flex;gap:12px;align-items:flex-start;padding:14px;background:white;border:1px solid var(--line);border-radius:16px}
.speech-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}.speech-stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:11px 5px;text-align:center;box-shadow:0 4px 14px rgba(63,42,88,.05)}.speech-stat strong{display:block;font-size:1.45rem}.speech-stat span{display:block;color:var(--muted);font-size:.72rem;margin-top:2px}.vocab-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.vocab-controls .btn{align-self:end}.word-list{display:grid;gap:10px}.word-card{padding:0;overflow:hidden}.word-card summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;cursor:pointer;list-style:none}.word-card summary::-webkit-details-marker{display:none}.word-card summary:after{content:'›';font-size:1.5rem;color:var(--muted);transition:transform .18s}.word-card[open] summary:after{transform:rotate(90deg)}.word-card summary strong{font-size:1.05rem;flex:1}.word-card summary span{color:var(--muted);font-size:.84rem;white-space:nowrap}.word-details{padding:0 16px 16px;border-top:1px solid var(--line)}.word-detail-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding-top:12px;color:var(--muted);font-size:.88rem}.word-notes{margin:10px 0 0;color:var(--muted)}.category-chip{display:inline-block;background:#eee7f6;color:#594773;border-radius:999px;padding:4px 9px;font-size:.75rem;font-weight:750}.ability-checks{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.ability-checks label,.ability-field label{display:flex;align-items:center;gap:6px;font-weight:700}.ability-checks label{background:#f7f3fb;border:1px solid var(--line);border-radius:10px;padding:7px 9px}.ability-checks input,.ability-field input{width:19px;height:19px;accent-color:var(--primary)}.word-actions{display:flex;gap:7px;margin-top:12px}.small-action{border:1px solid var(--line);background:#f7f3fb;color:var(--ink);border-radius:10px;padding:7px 10px;font-weight:700}.danger-link{color:#8c3044;background:#fff1f3;border-color:#edcad2}.ability-field{display:flex;gap:14px;flex-wrap:wrap;border:1px solid #d9cfe6;border-radius:14px;padding:12px}.ability-field legend{font-weight:700;padding:0 5px}.inline-field{display:grid;grid-template-columns:1fr auto;gap:8px}.bulk-text{min-height:220px!important}.import-preview{max-height:52vh;overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}.preview-row{display:flex;justify-content:space-between;gap:14px;padding:11px 13px;border-bottom:1px solid var(--line)}.preview-row:last-child{border-bottom:0}.preview-row span{color:var(--muted);white-space:nowrap}.category-list{display:grid;gap:8px;max-height:55vh;overflow:auto}.category-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:12px}.category-row>div{display:flex;gap:6px}
@media(max-width:520px){.vocab-controls{grid-template-columns:1fr}.ability-checks{gap:6px}.category-row{align-items:flex-start;flex-direction:column}.word-card summary{padding:14px}.word-card summary span{font-size:.78rem}.speech-stat strong{font-size:1.25rem}.speech-stat span{font-size:.66rem}}
@media(min-width:700px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.view{padding-left:24px;padding-right:24px}.home-route .view{padding-left:0;padding-right:0}}

.filter-abilities{grid-column:1/-1;display:flex;gap:14px;flex-wrap:wrap;border:1px solid #d9cfe6;border-radius:14px;padding:12px}.filter-abilities legend{font-weight:700;padding:0 5px}.filter-abilities label{display:flex;align-items:center;gap:6px;font-weight:700}.filter-abilities input{width:19px;height:19px;accent-color:var(--primary)}
.ability-checks{display:grid}.ability-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(145px,1fr);gap:8px;align-items:center;background:#f7f3fb;border:1px solid var(--line);border-radius:10px;padding:7px 9px}.ability-checks .ability-row label{border:0;padding:0;background:transparent}.ability-row input[type=date]{width:100%;min-width:0;border:1px solid #d9cfe6;border-radius:9px;padding:7px;background:white;color:var(--ink)}.dated-abilities{display:grid}.language-list{display:grid;gap:4px;margin-top:12px;padding:10px 12px;border-radius:12px;background:#fff8e5;color:var(--muted)}.language-list strong{color:var(--ink)}
@media(max-width:520px){.filter-abilities{grid-column:auto}.ability-row{grid-template-columns:1fr}}
.category-group{display:grid;gap:10px}.category-group h2{margin:14px 4px 0;font-size:1.2rem;font-weight:850;color:var(--ink);padding-bottom:6px;border-bottom:2px solid var(--line)}
.symbol-picker{display:grid;grid-template-columns:repeat(8,1fr);gap:7px;border:1px solid #d9cfe6;border-radius:14px;padding:12px}.symbol-picker legend{font-weight:700;padding:0 5px}.symbol-picker label{position:relative;display:grid;place-items:center}.symbol-picker input{position:absolute;opacity:0;pointer-events:none}.symbol-picker span{display:grid;place-items:center;width:100%;aspect-ratio:1;border:2px solid transparent;border-radius:12px;background:#f7f3fb;font-size:1.55rem;cursor:pointer}.symbol-picker input:checked+span{border-color:var(--primary);background:#eee7f6;box-shadow:0 0 0 2px rgba(123,97,168,.15)}.symbol-picker input:focus-visible+span{outline:3px solid var(--primary);outline-offset:2px}.profile-photo-preview{width:110px;height:110px;border-radius:50%;overflow:hidden;border:3px solid #eee7f6;margin:0 auto}.profile-photo-preview img{width:100%;height:100%;object-fit:cover}.check-option{display:flex;align-items:center;gap:8px;font-weight:700}.check-option input{width:19px;height:19px;accent-color:var(--primary)}.settings-card{margin-top:12px}.settings-card:first-of-type{margin-top:18px}.settings-card h3{margin-top:0}.settings-card>.btn{margin-top:14px}.settings-filter-grid{margin-top:14px}
.birth-time-field{border:1px solid #d9cfe6;border-radius:14px;padding:12px}.birth-time-field legend{font-weight:700;padding:0 5px}.birth-time-field>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.birth-time-field label{display:grid;gap:5px;font-weight:700;font-size:.82rem}.birth-time-field input,.birth-time-field select{width:100%;min-width:0;border:1px solid #d9cfe6;border-radius:10px;padding:9px;background:white;color:var(--ink)}.birth-time-field>.hint{display:block;margin-top:8px}
.speech-stats{grid-template-columns:repeat(4,1fr)}.sentence-card{border-color:#d7c4eb}.sentence-card summary{background:#fcf9ff}.sentence-text{min-height:120px!important}
@media(min-width:700px){.speech-stats{grid-template-columns:repeat(7,1fr)}}
@media(max-width:520px){.symbol-picker{grid-template-columns:repeat(6,1fr)}.profile-card{align-items:flex-start}.profile-card .small-action{padding:7px 8px}.birth-time-field>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
.terms-list{display:grid;gap:8px;margin-top:12px;max-height:58vh;overflow:auto}.term-card{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.term-card summary{padding:12px 14px;font-weight:800;cursor:pointer}.term-card p{margin:0;padding:0 14px 14px;color:var(--muted);line-height:1.45}.calendar-toolbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;text-align:center;margin:8px 0 12px}.calendar-toolbar strong{font-size:1.1rem}.calendar-toolbar .small-action{font-size:1.5rem}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekdays{margin-bottom:5px}.calendar-weekdays span{text-align:center;color:var(--muted);font-size:.72rem;font-weight:750}.calendar-day{position:relative;aspect-ratio:1;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:5px;display:flex;align-items:flex-start;justify-content:flex-start}.calendar-day.today{border:2px solid var(--primary);background:#f5effb}.calendar-day small{position:absolute;right:4px;bottom:4px;min-width:18px;height:18px;border-radius:9px;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:.65rem}.calendar-blank{aspect-ratio:1}.appointment-list{display:grid;gap:8px;max-height:34vh;overflow:auto}.appointment-item{display:flex;justify-content:space-between;gap:10px;padding:11px;border:1px solid var(--line);border-radius:13px;background:#fff}.appointment-item>div:first-child{display:grid;gap:3px}.appointment-item span,.appointment-item small{color:var(--muted);font-size:.8rem}.appointment-item>div:last-child{display:flex;gap:5px;align-items:flex-start}.todo-add{display:grid;grid-template-columns:1fr 145px;gap:8px}.todo-add input,.todo-add select{width:100%;border:1px solid #d9cfe6;border-radius:12px;padding:10px;background:#fff;color:var(--ink)}.todo-add .btn{grid-column:1/-1}.todo-filters{display:flex;gap:7px;margin:12px 0}.todo-filter.selected{background:var(--primary);color:#fff}.todo-list{display:grid;gap:8px;max-height:52vh;overflow:auto}.todo-item{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:11px;border:1px solid var(--line);border-radius:13px;background:#fff}.todo-item>label{display:flex;gap:9px;align-items:flex-start;flex:1}.todo-item input{width:20px;height:20px;accent-color:var(--primary)}.todo-item label span{display:grid;gap:2px}.todo-item small{color:var(--muted)}.todo-item>div{display:flex;gap:5px}.todo-item.completed strong{text-decoration:line-through;color:var(--muted)}
@media(max-width:520px){.appointment-item,.todo-item{flex-direction:column}.appointment-item>div:last-child,.todo-item>div{align-self:flex-end}.todo-add{grid-template-columns:1fr}.todo-add .btn{grid-column:auto}.calendar-grid,.calendar-weekdays{gap:3px}.calendar-day{border-radius:8px;padding:4px}}

.quote-button{display:block;width:100%;text-align:left;color:var(--ink);cursor:pointer}
.quote-button span{display:block;margin-top:8px;font-size:.78rem;font-style:normal;color:var(--muted);font-weight:700}
.illustrated-home{position:relative;width:100%;height:100%;margin:0;overflow:hidden;background:#fff}
.illustrated-home picture{display:block;width:100%;height:100%}
.illustrated-home img{display:block;width:100%;max-width:100%;height:100%;object-fit:fill;pointer-events:none;-webkit-user-drag:none}
.home-hotspot{position:absolute;width:23%;height:13.5%;border:0;border-radius:18px;background:transparent;color:transparent;padding:0}
.home-hotspot span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.home-hotspot:focus-visible{outline:4px solid #173f75;outline-offset:-4px;background:rgba(255,255,255,.22)}
.home-hotspot:active{background:rgba(255,255,255,.3)}
.home-hotspot.growth,.home-hotspot.communication,.home-hotspot.sleep,.home-hotspot.sensory{top:61.2%}
.home-hotspot.learning,.home-hotspot.medical,.home-hotspot.caregiver-link,.home-hotspot.community{top:75.2%}
.home-hotspot.growth,.home-hotspot.learning{left:1.5%}.home-hotspot.communication,.home-hotspot.medical{left:25.5%}.home-hotspot.sleep,.home-hotspot.caregiver-link{left:49.5%}.home-hotspot.sensory,.home-hotspot.community{left:73.5%}
@media(max-width:520px){.home-hotspot{border-radius:10px}}
@media(min-width:700px){
  .home-route .view{display:grid;place-items:center;background:#f7f2e8}
  .home-route .topbar{left:50%;right:auto;width:min(100vw,calc(100dvh * 1.7768));transform:translateX(-50%)}
  .illustrated-home{width:min(100vw,calc(100dvh * 1.7768));height:min(100dvh,calc(100vw * .5628));aspect-ratio:1672/941}
  .illustrated-home img{object-fit:contain}
  .home-hotspot{width:10.6%;height:29%;border-radius:16px}
  .home-hotspot.growth,.home-hotspot.communication,.home-hotspot.sleep,.home-hotspot.sensory{top:14%}
  .home-hotspot.learning,.home-hotspot.medical,.home-hotspot.caregiver-link,.home-hotspot.community{top:43%}
  .home-hotspot.growth,.home-hotspot.learning{left:56.5%}
  .home-hotspot.communication,.home-hotspot.medical{left:67.3%}
  .home-hotspot.sleep,.home-hotspot.caregiver-link{left:78.1%}
  .home-hotspot.sensory,.home-hotspot.community{left:88.9%}
}

.speech-totals{display:grid;grid-template-columns:minmax(82px,1.2fr) repeat(4,minmax(50px,1fr));gap:0;margin-top:16px;padding:0;overflow:hidden;text-align:center}.speech-totals>*{padding:10px 5px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.speech-totals>*:nth-child(5n){border-right:0}.speech-totals>*:nth-last-child(-n+5){border-bottom:0}.speech-totals .totals-heading{background:#f3edf8;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.speech-totals .totals-label{text-align:left;font-weight:800}.speech-totals strong{font-size:1.08rem}
dialog.wide-modal{max-width:min(96vw,960px)}.fixed-entry-picker{display:grid;gap:12px}.fixed-add-number{align-self:end}.fixed-entry-grid{border:1px solid var(--line);border-radius:14px;overflow:auto;max-height:58vh}.fixed-entry-head,.fixed-entry-row{display:grid;grid-template-columns:minmax(58px,.55fr) repeat(3,minmax(190px,1fr));align-items:center;min-width:690px}.fixed-entry-head{position:sticky;top:0;z-index:2;background:#eee7f6;border-bottom:1px solid var(--line)}.fixed-entry-head>*{padding:10px}.fixed-entry-head label{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:800}.fixed-entry-head input,.fixed-ability input[type=checkbox]{width:19px;height:19px;accent-color:var(--primary)}.fixed-entry-row{border-bottom:1px solid var(--line)}.fixed-entry-row:last-child{border-bottom:0}.fixed-entry-row>strong{padding:10px 12px;font-size:1.08rem}.fixed-ability{display:grid;grid-template-columns:auto 1fr;gap:7px;align-items:center;padding:7px;border-left:1px solid var(--line)}.fixed-ability label{display:flex;align-items:center}.fixed-ability label span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.fixed-ability input[type=date]{width:100%;min-width:130px;border:1px solid #d9cfe6;border-radius:9px;padding:7px;background:#fff;color:var(--ink)}
@media(max-width:520px){.speech-totals>*{padding:9px 3px}.speech-totals .totals-heading{font-size:.64rem}.speech-totals .totals-label{font-size:.82rem}.speech-totals strong{font-size:.95rem}}

/* Compact fixed-entry picker: ability columns always fit without sideways scrolling. */
.fixed-entry-grid{overflow-x:hidden;overflow-y:auto}.fixed-entry-head,.fixed-entry-row{grid-template-columns:minmax(52px,.65fr) repeat(3,minmax(0,1fr));min-width:0;width:100%}.fixed-entry-head>*{padding:9px 3px}.fixed-entry-head>strong{padding-left:9px}.fixed-entry-head label{justify-content:center;text-align:center;gap:4px;font-size:.72rem;line-height:1.1}.fixed-entry-head label input{flex:0 0 auto}.fixed-entry-block{border-bottom:1px solid var(--line)}.fixed-entry-block:last-child{border-bottom:0}.fixed-entry-row{border-bottom:0}.fixed-entry-row>strong{padding:12px 9px}.fixed-ability-toggle{display:grid;place-items:center;padding:10px 3px;border-left:1px solid var(--line)}.fixed-ability-toggle input{width:22px;height:22px;accent-color:var(--primary)}.fixed-ability-toggle span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.fixed-entry-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:9px;background:#faf7fd;border-top:1px dashed var(--line)}.fixed-entry-dates label{display:grid;gap:4px;min-width:0;color:var(--muted);font-size:.72rem;font-weight:750}.fixed-entry-dates label span{white-space:nowrap}.fixed-entry-dates small{font-weight:500}.fixed-entry-dates input{width:100%;min-width:0;border:1px solid #d9cfe6;border-radius:9px;padding:7px 4px;background:#fff;color:var(--ink);font-size:.78rem}
@media(max-width:520px){.fixed-entry-head label{flex-direction:column}.fixed-entry-dates{grid-template-columns:1fr}.fixed-entry-dates label{font-size:.78rem}.fixed-entry-dates input{font-size:1rem;padding:9px}}
.new-word-review{display:grid;gap:10px;margin:12px 0}.new-word-row{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff}.new-word-row>strong{font-size:1.05rem}.new-word-row label{display:flex;align-items:center;gap:8px;font-weight:700}.new-word-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary)}.new-word-row input[type=date]{width:100%;border:1px solid #d9cfe6;border-radius:11px;padding:10px;background:#fff;color:var(--ink)}
.potty-entry{display:grid;gap:12px;margin-top:16px}.potty-count-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.potty-count-grid label{display:grid;gap:6px;text-align:center;font-weight:750}.potty-count-grid span{font-size:.8rem;color:var(--muted)}.potty-count-grid input{width:100%;min-width:0;border:1px solid #d9cfe6;border-radius:13px;padding:12px 6px;background:#fff;color:var(--ink);font-size:1.2rem;text-align:center}.potty-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.potty-stats>div{display:grid;gap:3px;text-align:center;padding:12px 5px;background:#fff;border:1px solid var(--line);border-radius:16px}.potty-stats strong{font-size:1.35rem}.potty-stats span{font-size:.72rem;color:var(--muted)}.potty-history{display:grid;gap:10px}.potty-day{display:flex;justify-content:space-between;gap:12px}.potty-day>div:first-child{display:grid;gap:5px}.potty-day span,.potty-day p{color:var(--muted);font-size:.85rem}.potty-day p{margin:0}.potty-day>div:last-child{display:flex;gap:6px;align-items:flex-start}.tips-list{display:grid;gap:9px;margin-top:14px}
@media(max-width:520px){.potty-day{flex-direction:column}.potty-day>div:last-child{align-self:flex-end}.potty-count-grid span{font-size:.72rem}}
.term-media{display:grid;gap:10px;margin-top:12px}.term-media-image,.term-media-clip{display:block;width:100%;max-height:280px;border-radius:14px;object-fit:contain;background:#f7f2fb}.term-media-caption{color:var(--muted)}
.education-note{margin-top:16px}.education-sections,.education-templates{display:grid;gap:10px}.education-card{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 5px 16px rgba(63,42,88,.05)}.education-card>summary{padding:15px 16px;font-weight:850;cursor:pointer}.education-card[open]>summary{background:#f5effb;border-bottom:1px solid var(--line)}.education-body{display:grid;gap:12px;padding:15px 16px}.education-body p{margin:0;color:var(--muted);line-height:1.52}.education-body h3{margin:4px 0 0;font-size:1rem}.education-body ul{margin:0;padding-left:22px;color:var(--muted);line-height:1.5}.education-body li+li{margin-top:7px}.education-links{display:grid;gap:8px}.education-link{display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#faf7fd;color:var(--ink);text-decoration:none}.education-link:active{background:#eee5f7}.education-link span{color:var(--muted);font-size:.88rem;line-height:1.4}.education-link small{color:var(--primary);font-weight:750}.template-letter{width:100%;min-height:520px;resize:vertical;border:1px solid #d9cfe6;border-radius:13px;padding:13px;background:#fff;color:var(--ink);font:inherit;font-size:.9rem;line-height:1.45}.education-templates .btn-row{margin-top:0}@media(max-width:520px){.template-letter{min-height:440px}.education-body{padding:13px}.education-card>summary{padding:14px 13px}}
.assessment-note{margin-top:16px}.assessment-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:14px;padding:0;overflow:hidden;text-align:center}.assessment-quick>div{display:grid;align-content:center;gap:4px;padding:15px 7px;border-right:1px solid var(--line)}.assessment-quick>div:last-child{border-right:0}.assessment-quick strong{font-size:1.15rem;color:var(--primary)}.assessment-quick span{font-size:.72rem;color:var(--muted);line-height:1.25}.assessment-range-note{margin:8px 6px 0}.assessment-links{margin-bottom:14px}.assessment-disclaimer{margin-top:14px}@media(max-width:420px){.assessment-quick strong{font-size:.95rem}.assessment-quick span{font-size:.65rem}.assessment-quick>div{padding:12px 4px}}
.benefits-note{margin-top:16px}.benefits-warning{margin-top:10px}.benefits-start{margin:12px 0 10px;padding:16px 16px 16px 38px}.benefits-start li{padding-left:4px}.benefits-start li+li{margin-top:12px}.benefits-start li span{display:block;margin-top:3px;color:var(--muted);font-size:.88rem;line-height:1.4}.benefits-top-links{margin-bottom:4px}.benefit-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.benefit-compare>div{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#faf7fd}.benefit-compare strong{font-size:1.05rem;color:var(--primary)}.benefit-compare span{color:var(--muted);font-size:.86rem;line-height:1.4}.benefits-disclaimer{margin-top:16px}@media(max-width:520px){.benefit-compare{grid-template-columns:1fr}.benefits-start{padding-left:34px}}
.safety-note{margin-top:16px}.safety-warning{margin-top:10px}.safety-start{margin-bottom:16px}.safety-profile-list{display:grid;gap:8px;margin:12px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:#faf7fd}.safety-profile-list span{position:relative;padding-left:20px;color:var(--muted);line-height:1.4}.safety-profile-list span::before{content:"✓";position:absolute;left:0;color:var(--primary);font-weight:800}.safety-disclaimer{margin-top:16px}
.water-fact{margin:2px 0;border-left:4px solid #1684a3;background:#edf9fc;color:var(--ink)}
.therapy-note{margin-top:16px}.therapy-warning{margin-top:10px}.therapy-compare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0}.therapy-compare>div{display:grid;gap:5px;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff}.therapy-compare strong{color:var(--primary)}.therapy-compare span{color:var(--muted);font-size:.82rem;line-height:1.38}.therapy-balance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.therapy-balance>div{padding:13px;border:1px solid var(--line);border-radius:14px;background:#faf7fd}.therapy-balance h3{margin:0 0 8px}.therapy-balance ul{padding-left:20px}.therapy-term{padding:12px;border-left:4px solid #7e57a6;background:#f7f2fb;border-radius:10px;color:var(--muted);line-height:1.48}.therapy-redflags{border-left:4px solid #c05b69;background:#fff3f4}.therapy-disclaimer{margin-top:16px}@media(max-width:560px){.therapy-compare,.therapy-balance{grid-template-columns:1fr}}
.win-item{align-items:center}.win-content{flex:1;min-width:0}.win-item .edit-win{flex:0 0 auto}
.sleep-note{margin-top:16px}.sleep-sections{display:grid;gap:10px}.sleep-example{display:grid;gap:10px;margin:0;padding:0;list-style:none}.sleep-example li{display:grid;grid-template-columns:78px 1fr;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#faf7fd}.sleep-example span{color:var(--muted);line-height:1.45}.sleep-routine-list{display:grid;gap:8px}.sleep-routine-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:14px;background:#faf7fd}.sleep-routine-row>div:first-child{display:grid;gap:3px}.sleep-routine-row span{color:var(--muted);line-height:1.35}.sleep-row-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.sleep-row-actions button{border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);padding:6px 8px;font-weight:700}.sleep-row-actions button:disabled{opacity:.35}.sleep-step-form,.sleep-pref-grid,.sleep-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sleep-compare>div{padding:14px;border:1px solid var(--line);border-radius:15px;background:#faf7fd}.sleep-compare h3{margin:0 0 7px}.sleep-compare ul{margin-top:10px}@media(max-width:600px){.sleep-routine-row{grid-template-columns:1fr}.sleep-row-actions{justify-content:flex-start}.sleep-step-form,.sleep-pref-grid,.sleep-compare{grid-template-columns:1fr}.sleep-example li{grid-template-columns:68px 1fr}}
.section-grid{margin-top:16px}.tool-form{display:grid;gap:12px;margin-top:16px}.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-extra{margin:4px 0 0!important;font-size:.82rem!important}.local-fun-search{display:grid;grid-template-columns:1fr auto;gap:8px}.local-fun-search input{min-width:0;border:1px solid #d9cfe6;border-radius:14px;padding:12px}.sign-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sign-grid button{text-transform:capitalize;padding:12px}.check-option{display:flex;align-items:flex-start;gap:9px}.check-option input{width:20px;height:20px;flex:0 0 auto;accent-color:var(--primary)}@media(max-width:600px){.two-col{grid-template-columns:1fr}.local-fun-search{grid-template-columns:1fr}.sign-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.friendly-place-list{display:grid;gap:8px}.friendly-place-list a{display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#faf7fd;color:var(--ink);text-decoration:none}.friendly-place-list a small{color:var(--primary);font-weight:750}.friendly-place-list a span{color:var(--muted);font-size:.88rem;line-height:1.4}@media(max-width:600px){.sleep-example li{display:block}.sleep-example li strong{display:block;margin-bottom:7px}.sleep-example li span{display:block}}
.topbar-leading{display:flex;align-items:center;gap:4px}.page-back{border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.9);color:var(--ink);padding:8px 11px;font-weight:750}.drawer{display:flex;flex-direction:column}.drawer nav{flex:1;min-height:0;overflow-y:auto;padding-bottom:4px}.drawer-version{position:static;text-align:right;flex:0 0 auto;padding:10px 4px 0;border-top:1px solid var(--line)}@media(max-width:390px){.page-back{padding:7px 9px;font-size:.84rem}.topbar{padding-left:8px}}
.birthday-greeting{text-align:center;padding:18px 4px 4px}.birthday-confetti{font-size:2.5rem;letter-spacing:.2rem;margin-bottom:8px}.birthday-greeting h2{padding:0;margin-bottom:14px;font-size:clamp(1.8rem,8vw,2.6rem);color:var(--primary)}.birthday-greeting>p{font-size:1.08rem;line-height:1.6;color:var(--ink)}.birthday-greeting .birthday-signoff{margin:20px 0;color:var(--muted);font-size:.95rem}.birthday-signoff strong{color:var(--primary)}
.modal-card{max-height:88dvh;overflow-y:auto}.sign-groups{display:grid;gap:18px;margin-top:14px}.sign-groups section{display:grid;gap:9px}.sign-groups h3{margin:0;padding-bottom:7px;border-bottom:2px solid var(--line)}.food-category-list{display:grid;gap:14px}.food-category-block{border:1px solid var(--line);border-radius:18px;padding:14px;background:#fff}.food-category-block>h3{display:flex;justify-content:space-between;margin:0 0 10px;padding-bottom:9px;border-bottom:2px solid var(--line)}.food-category-block>h3 span{display:grid;place-items:center;min-width:28px;height:28px;border-radius:14px;background:#eee7f6;color:var(--primary);font-size:.8rem}.food-category-block.safe{border-left:5px solid #6fa75d}.food-category-block.sometimes{border-left:5px solid #e0a83c}.food-category-block.not{border-left:5px solid #c96a74}.food-item p{margin-top:7px}.food-alert{color:#a13f52;font-weight:800}
.food-item>div:first-child>strong{display:flex;align-items:center;gap:7px}.food-kind-icon{width:30px;height:30px;flex:0 0 30px;vertical-align:middle}
.guide-illustration{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:18px;margin:0 0 16px;background:#fffaf0}
.visual-guide{margin:18px 0;padding:12px;border:1px solid var(--line);border-radius:20px;background:#fff}.visual-guide .guide-illustration{margin:0}.visual-guide figcaption{display:grid;gap:3px;padding:10px 4px 2px}.visual-guide figcaption strong{color:var(--ink)}.visual-guide figcaption span{color:var(--muted);font-size:.86rem}.term-media .image-viewer-trigger{background:#f7f2fb}
.image-viewer-trigger{display:block;width:100%;border:0;background:transparent;padding:0;border-radius:18px}.image-viewer-trigger:focus-visible{outline:4px solid var(--primary);outline-offset:3px}dialog.image-viewer{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0;background:#17131d;color:#fff;padding:calc(10px + var(--safe-top)) 10px calc(10px + var(--safe-bottom));grid-template-rows:auto auto minmax(0,1fr);gap:8px;box-shadow:none}dialog.image-viewer[open]{display:grid}dialog.image-viewer:not([open]){display:none!important}dialog.image-viewer::backdrop{background:#17131d}.image-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.image-viewer-close,.image-viewer-controls button{border:1px solid rgba(255,255,255,.28);background:#fff;color:#251d30;border-radius:12px;padding:10px 13px;font-weight:800}.image-viewer-controls{display:flex;gap:6px}.image-viewer-controls button{min-width:44px}.image-viewer-hint{margin:0;text-align:center;color:#e8dfef;font-size:.82rem}.image-viewer-viewport{min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;background:#fff;border-radius:12px}.image-viewer-viewport img{display:block;width:100%;max-width:none;height:auto;transform-origin:top left;-webkit-user-drag:none;user-select:none}
.common-term-card summary{display:flex;align-items:center;gap:11px}.term-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,#fff7dc,#f0e8fa);border:1px solid var(--line);font-size:1.45rem;line-height:1;box-shadow:0 2px 7px rgba(48,36,68,.08)}
/* Accounts & Sync v0.9.0 */
.sync-field-merge{display:grid;gap:12px;max-height:55vh;overflow:auto}
.sync-field-merge fieldset{border:1px solid rgba(88,68,120,.24);border-radius:12px;padding:10px}
.sync-field-merge label{display:block;padding:7px 0;overflow-wrap:anywhere}
.sync-field-merge label span{color:var(--muted,#635d69)}
.community-actions{margin:16px 0}.community-list{display:grid;gap:14px;margin:12px 0 18px}.community-card{border:1px solid var(--line);border-left:5px solid var(--primary);border-radius:18px;padding:16px;background:#fff}.community-card.cancelled{opacity:.72;border-left-color:#9a929e}.community-card h3{margin:10px 0 7px}.community-card-head{display:flex;justify-content:space-between;gap:10px;color:var(--primary);font-weight:800}.community-card-head small{text-transform:capitalize;color:var(--muted)}.community-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.community-card dl div{padding:9px 10px;border-radius:12px;background:#faf7fd}.community-card dt{font-size:.75rem;color:var(--muted);font-weight:800;text-transform:uppercase}.community-card dd{margin:3px 0 0}@media(max-width:600px){.community-card dl{grid-template-columns:1fr}}
.community-search{margin-top:14px}.community-search h2{margin-top:0}.community-checks{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px}

/* My Day, screen time, myths, and access — v0.10.0 */
.day-picker{margin-top:16px}.day-bubbles{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:10px;margin:12px 0 16px}.day-bubble{min-height:104px;display:grid;place-items:center;align-content:center;gap:7px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);padding:15px 10px;box-shadow:0 5px 14px rgba(63,42,88,.08);text-align:center}.day-bubble span{font-size:1.85rem;line-height:1}.day-bubble strong{font-size:.82rem;line-height:1.2}.day-bubble:active{transform:scale(.97)}.day-activity{background:#f3edfb}.day-food{background:#fff5dc}.day-health{background:#edf8f5}.day-sleep,.day-sleepOutcome{background:#ececfb}.day-screen{background:#eaf6fb}.day-behavior{background:#fff0f1}.day-wellbeing{background:#eff8e9}.day-custom{border-style:dashed;background:#faf7fd}.day-timeline,.pattern-list{display:grid;gap:10px}.day-entry{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:start}.day-entry-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#f3edf8;font-size:1.35rem}.day-entry-body{display:grid;gap:4px;min-width:0}.day-entry-body>span{color:var(--muted);font-size:.8rem;line-height:1.35}.day-entry-body p{margin:3px 0 0;line-height:1.45}.day-entry-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.pattern-card{border-left:5px solid var(--primary)}.pattern-card p{margin-bottom:0}.pattern-disclaimer{margin-top:12px}.screen-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.screen-summary .card{display:grid;gap:5px;text-align:center}.screen-summary strong{font-size:1.35rem;color:var(--primary)}.screen-summary span{color:var(--muted);font-size:.78rem;line-height:1.3}.active-screen-timer{display:grid;gap:8px;text-align:center;margin-top:16px}.active-screen-timer>span{font-size:2rem;font-weight:850;color:var(--primary);font-variant-numeric:tabular-nums}.myth-list{margin-top:16px}.myth-sources{margin:16px 0}.subscription-card{margin:16px 0}.access-card{border-left:5px solid var(--primary)}
@media(max-width:560px){.day-bubbles{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.day-bubble{min-height:92px;padding:12px 7px}.day-bubble span{font-size:1.55rem}.day-bubble strong{font-size:.74rem}.day-entry{grid-template-columns:auto minmax(0,1fr)}.day-entry-actions{grid-column:2;justify-content:flex-start}.screen-summary{grid-template-columns:1fr}}

.toy-search{margin-top:16px}.toy-list,.toy-request-list{display:grid;gap:14px;margin-top:14px}.toy-card{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 6px 20px rgba(63,42,88,.07)}.toy-card.pending{border-color:#d5b75a}.toy-card.claimed,.toy-card.removed{opacity:.72}.toy-photo{display:block;width:100%;height:100%;min-height:220px;object-fit:cover;background:#f2ecf7}.toy-photo-placeholder{display:grid;place-items:center;font-size:4rem}.toy-card-body{min-width:0;padding:16px}.toy-card-body h3{margin:9px 0 6px;font-size:1.2rem}.toy-card-body>p{margin:0;color:var(--muted);line-height:1.45}.toy-card-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.toy-card-head span{font-size:.78rem;font-weight:800;color:#594773;background:#eee7f6;border-radius:999px;padding:5px 9px}.toy-card-head small{text-transform:capitalize;color:var(--muted);font-weight:750}.toy-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.toy-card dl div{padding:9px;border-radius:12px;background:#f8f4fb}.toy-card dt{font-size:.72rem;color:var(--muted);font-weight:750}.toy-card dd{margin:2px 0 0;font-size:.88rem;font-weight:750}.toy-contact{margin-top:12px}.toy-contact a{color:var(--primary);font-weight:850}.toy-request-status{align-self:center;color:var(--primary);font-weight:800}.toy-card .danger-link{align-self:center}.toy-request-list .card p{margin-top:8px}.toy-request-list .hint{text-transform:capitalize}
@media(max-width:620px){.toy-card{grid-template-columns:1fr}.toy-photo{height:auto;max-height:310px;min-height:180px}.toy-card dl{grid-template-columns:1fr 1fr}.toy-card-body{padding:14px}}


/* Parent-recommended local directory — v0.10.0 */
.recommendation-search{margin-top:16px}
.recommendation-list{display:grid;gap:14px;margin-top:14px}
.recommendation-card{border:1px solid var(--line);border-left:5px solid #d7a624;border-radius:20px;padding:16px;background:#fff;box-shadow:0 6px 20px rgba(63,42,88,.07)}
.recommendation-card.removed{opacity:.7;border-left-color:#9a929e}
.recommendation-card h3{margin:10px 0 7px;font-size:1.25rem}
.recommendation-card>p{margin:0;color:var(--muted);line-height:1.5}
.recommendation-card-head{display:flex;justify-content:space-between;gap:10px;align-items:center}
.recommendation-card-head span{font-size:.78rem;font-weight:850;color:#594773;background:#fff3c9;border-radius:999px;padding:6px 10px}
.recommendation-card-head small{text-transform:capitalize;color:var(--muted);font-weight:750}
.recommendation-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}
.recommendation-card dl div{padding:9px 10px;border-radius:12px;background:#faf7fd}
.recommendation-card dt{font-size:.72rem;color:var(--muted);font-weight:800;text-transform:uppercase}
.recommendation-card dd{margin:3px 0 0;overflow-wrap:anywhere}
.recommendation-detail{margin:10px 0;padding:11px 12px;border-radius:13px;background:#fff9e6}
.recommendation-detail p{margin:5px 0 0;color:var(--muted);line-height:1.45}
.recommendation-links{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0}
.recommendation-links a{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:9px 12px;background:#faf7fd;color:var(--primary);font-weight:800;text-decoration:none}
@media(max-width:600px){.recommendation-card dl{grid-template-columns:1fr}.recommendation-card{padding:14px}.recommendation-card-head{align-items:flex-start;flex-direction:column}}


/* Consent-based babysitter directory — v0.10.0 */
.babysitter-search{margin-top:16px}
.babysitter-list{display:grid;gap:14px;margin-top:14px}
.babysitter-card{border:1px solid var(--line);border-left:5px solid #7e57a6;border-radius:20px;padding:16px;background:#fff;box-shadow:0 6px 20px rgba(63,42,88,.07)}
.babysitter-card.pending{border-left-color:#d7a624}.babysitter-card.declined,.babysitter-card.removed{opacity:.7;border-left-color:#9a929e}
.babysitter-card h3{margin:10px 0 7px;font-size:1.25rem}.babysitter-card>p{color:var(--muted);line-height:1.48}
.babysitter-card-head{display:flex;justify-content:space-between;gap:10px;align-items:center}
.babysitter-card-head span{font-size:.78rem;font-weight:850;color:#594773;background:#eee7f6;border-radius:999px;padding:6px 10px}
.babysitter-card-head small{color:var(--muted);font-weight:750}
.babysitter-detail{margin:10px 0;padding:11px 12px;border-radius:13px;background:#faf7fd}
.babysitter-detail p{margin:5px 0 0;color:var(--muted);line-height:1.45}
@media(max-width:600px){.babysitter-card{padding:14px}.babysitter-card-head{align-items:flex-start;flex-direction:column}}

/* The Village local search — v0.10.0 */
.home-hotspot.village{left:39%;top:34%;width:22%;height:9%;border-radius:999px}
.village-hero{display:grid;gap:18px}.village-title{display:flex;align-items:center;gap:13px}.village-title>span{font-size:2.5rem;line-height:1}.village-title h1{margin:0}.village-title p{margin:4px 0 0}.village-search{display:grid;gap:8px}.village-search label{font-weight:800}.village-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.village-search-row input{min-width:0;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);padding:13px 14px;font:inherit;box-shadow:0 3px 10px rgba(63,42,88,.05)}.village-search-row input:focus{outline:3px solid rgba(123,97,168,.25);border-color:var(--primary)}.village-suggestions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 10px}.village-chip{border:1px solid #d9cceb;border-radius:999px;background:#f8f3fc;color:var(--primary);padding:9px 12px;font:inherit;font-size:.86rem;font-weight:800}.village-chip:active{background:#eee4f7}.village-status{min-height:1.4em;color:var(--muted);font-size:.9rem;margin:8px 2px 14px}.village-results,.village-result-list{display:grid;gap:10px}.village-result-group{display:grid;gap:9px;margin-bottom:18px}.village-result-group h2{margin:0;font-size:1rem;color:var(--muted)}.village-result{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;border:1px solid var(--line);border-radius:17px;background:#fff;color:var(--ink);padding:14px 15px;text-align:left;box-shadow:0 5px 16px rgba(63,42,88,.06)}.village-result>span:first-child{display:grid;gap:5px}.village-result strong{font-size:1rem}.village-result small{color:var(--muted);font-size:.84rem;line-height:1.4}.village-result-open{flex:0 0 auto;color:var(--primary);font-weight:850}.village-result:active{transform:scale(.99);background:#faf7fd}
@media(min-width:700px){.home-hotspot.village{left:24%;top:52%;width:10%;height:16%}}
@media(max-width:520px){.village-search-row{grid-template-columns:1fr}.village-search-row .btn{width:100%}.village-title{align-items:flex-start}.village-result{align-items:flex-start}.village-result-open{padding-top:2px}}

/* Curated books within Skill Building. */
.book-library{margin-top:30px}.book-library-intro{margin:0 4px 18px;color:var(--muted)}
.book-library-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.book-library-card{display:flex;flex-direction:column;min-width:0;padding:20px}.book-library-heading{display:flex;align-items:center;gap:10px}
.book-library-number{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--soft,#f1eafa);font-weight:700}
.book-library-featured{font-size:.78rem;font-weight:700;color:var(--muted)}.book-library-card h3{font-size:1.13rem;line-height:1.35;margin:12px 0 7px}
.book-library-card .book-library-credit{font-size:.9rem}.book-library-card .book-library-details{font-size:.82rem;margin-top:7px}
.book-library-card .book-library-blurb{margin:14px 0 20px;line-height:1.6;color:var(--ink,#30283b)}
.book-library-link{margin-top:auto;align-self:flex-start;font-weight:700;padding:8px 0;text-underline-offset:3px}
@media(max-width:600px){.book-library-list{grid-template-columns:1fr}.book-library-card{padding:18px}}
