@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#0b1826;--card:#15263a;--card2:#1c3045;--border:#2b4054;--text:#edf4f8;--muted:#9bb0c3;--mint:#84d7be;--amber:#edbc80;--rose:#ef9b98;--accent:#8dceea;--sh:0 8px 40px rgba(0,0,0,.11);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 'DM Sans',system-ui,-apple-system, sans-serif}button,select,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.45}button:active{transform:scale(.99)}.topbar{max-width:1540px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:24px 40px;border-bottom:1px solid rgba(255,255,255,.09);gap:18px}.brand{display:flex;align-items:center;gap:11px}.brand-symbol{height:41px;width:41px;border:1px solid #496981;border-radius:13px;display:grid;place-items:center;font:700 34px/1 sans-serif;color:var(--mint)}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-text strong{font:800 19px 'Manrope',sans-serif;letter-spacing:-.7px}.brand-text strong span{color:var(--mint)}.brand-text small{color:#a1bdce;font-size:8px;font-weight:800;letter-spacing:3px;margin-top:5px}.header-actions{display:flex;align-items:center;gap:11px}.local-pill{color:#b1c8d9;border:1px solid #335065;border-radius:100px;padding:7px 10px;white-space:nowrap;font-size:10px;font-weight:800;letter-spacing:.7px}.local-pill::first-letter{color:var(--amber)}.outline-btn,.primary-btn{border-radius:10px;border:1px solid #3b5268;padding:10px 15px;font-size:13px;font-weight:700;background:transparent;color:var(--text);white-space:nowrap}.primary-btn{color:#07222c;background:var(--mint);border-color:var(--mint)}.container{max-width:1540px;margin:auto;padding:28px 40px 28px}.hero{display:flex;justify-content:space-between;align-items:center;gap:28px;margin:17px 0 23px}.eyebrow{color:var(--mint);font-size:10px;font-weight:800;letter-spacing:2.3px;margin:0 0 9px}.hero h1{font:800 clamp(31px,3.4vw,49px)/1.12 'Manrope',sans-serif;letter-spacing:-1.8px;margin:0}.hero h1 span{color:var(--mint)}.hero-copy{max-width:540px;color:var(--muted);margin:13px 0 0}.hero-right{text-align:right;white-space:nowrap}.clock{font:800 clamp(36px,4vw,53px)/1.1 'Manrope',sans-serif;letter-spacing:-2px}.long-date{color:var(--text);font-size:16px;margin-top:4px}.time-hint{color:#6f91a8;font-size:10px;font-weight:700;letter-spacing:1.7px;margin-top:8px}.prototype-warning{border:1px solid #546348;background:#273629;color:#d9e2ce;border-radius:11px;padding:11px 15px;font-size:12px;margin:0 0 20px}.prototype-warning span{margin-right:7px;color:var(--mint)}.prototype-warning em{font-style:normal;text-decoration:underline}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:0 0 22px}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px 20px 17px;min-height:127px}.stat-card.hot{border-color:#694951}.stat-label{display:block;color:#a7bece;font-size:10px;font-weight:800;letter-spacing:1.5px}.stat-card strong{display:block;font:800 34px/1.15 'Manrope',sans-serif;margin:10px 0 6px}.stat-card.hot strong{color:var(--rose)}.stat-caption{font-size:12px;color:#8fa9bd}.work-layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(315px,1fr);gap:19px}.card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:23px;box-shadow:var(--sh)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.card h2{font:800 20px/1.25 'Manrope',sans-serif;letter-spacing:-.5px;margin:0}.card-actions{display:flex;gap:8px}.card select{color:var(--text);background:#21384c;border:1px solid #365268;border-radius:9px;padding:8px 11px;font-size:12px;max-width:159px}.tabline{display:flex;gap:20px;border-bottom:1px solid #32475b;margin-top:18px;padding:0 2px}.tab{border:0;border-bottom:2px solid transparent;background:transparent;color:#8ca9bd;padding:13px 0 11px;font-size:12px;font-weight:700}.tab.active{color:var(--mint);border-bottom-color:var(--mint)}.task-list{min-height:175px}.task-row{display:flex;align-items:flex-start;gap:12px;border-bottom:1px solid #263c50;padding:20px 0}.task-row:last-child{border-bottom:0}.check-btn{border:1.5px solid #5b788a;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;flex-shrink:0;margin-top:4px;background:transparent;color:transparent;font-size:15px}.check-btn:hover{border-color:var(--mint);color:var(--mint)}.check-btn.checked{border-color:var(--mint);color:#07222c;background:var(--mint)}.task-content{min-width:0;flex:1}.task-title{font-weight:700;font-size:15px;margin:0 0 3px}.task-title.done{text-decoration:line-through;color:#91a5b2}.task-meta{font-size:11px;color:#9ab3c5;display:flex;gap:9px;flex-wrap:wrap;align-items:center}.tag{font-size:10px;border:1px solid #426075;color:#b3d0df;border-radius:6px;padding:2px 6px;white-space:nowrap;font-weight:700}.tag.warn{border-color:#8b5f50;color:#f3b9a9}.tag.mint{border-color:#3d816e;color:#93dfc3}.tag.snoozed{border-color:#846f44;color:#efcd83}.task-description{font-size:12px;color:#889fae;margin:8px 0 0;max-width:620px;overflow-wrap:anywhere}.task-buttons{display:flex;gap:6px;align-items:center;flex-shrink:0}.icon-btn{background:#263c51;border:1px solid #334c63;border-radius:9px;color:#e0eaf1;padding:7px 10px;font-size:11px;font-weight:800}.icon-btn:hover{background:#31516a}.icon-btn:disabled{opacity:.36}.empty-state{padding:36px 20px;text-align:center;color:#96acbd}.empty-state strong{display:block;color:var(--text);font-size:17px}.empty-state span{font-size:12px}.side-stack{display:flex;flex-direction:column;gap:19px}.side-heading{display:flex;gap:12px;align-items:center}.round-icon{background:#254d59;color:#9ae1dc;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:23px}.subtle-copy{color:#9eb3c4;font-size:13px;margin:17px 0}.assistant-chat{background:#1c3245;padding:15px;border:1px solid #314b5c;border-radius:13px;min-height:84px;max-height:156px;overflow:auto}.chat-line{font-size:12px;color:#bcd1df}.chat-line.you{color:#b8dddc;margin:8px 0 3px}.chat-line.reply{color:#e4edf3;margin:2px 0 9px}.quick-form,.note-form{display:flex;gap:7px;margin-top:12px}.quick-form input,.note-form input{width:100%;min-width:0;border:1px solid #395469;border-radius:10px;padding:13px;background:#0c2030;color:var(--text);font-size:12px}.quick-form button,.note-form button{width:46px;border:0;border-radius:10px;background:var(--mint);color:#06242b;font-size:22px;font-weight:700}.voice-btn{background:none;border:0;color:var(--mint);font-size:12px;margin:13px 0 0;padding:0;text-align:left}.voice-btn span{color:#8099ad;font-size:10px;margin-left:6px}.notes-list{margin-top:17px;max-height:256px;overflow:auto}.note{display:flex;gap:11px;border-bottom:1px solid #2f4558;padding:10px 0}.note:first-child{padding-top:0}.note:last-child{border-bottom:0}.note-dot{font-size:20px;color:var(--amber);line-height:1}.note-body{flex:1;font-size:13px;overflow-wrap:anywhere}.note-body small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.delete-note{border:0;background:none;color:#8fa7b7;font-size:12px}.due-panel{border-color:#66484d}.deadline-item{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #2c4458;font-size:13px}.deadline-item:last-child{border:0}.deadline-icon{font-size:18px;color:var(--rose)}.deadline-date{font-size:11px;color:var(--rose);white-space:nowrap}.micro-copy{font-size:11px;color:#8fa8ba}.footer{border-top:1px solid #30485a;display:flex;align-items:center;justify-content:space-between;margin-top:25px;padding:22px 0;color:#7490a4;font-size:10px;font-weight:700;letter-spacing:1px;gap:16px}dialog.modal{width:min(560px,calc(100% - 22px));max-height:min(92vh,960px);overflow:auto;background:#182c3f;color:var(--text);border:1px solid #4b6478;border-radius:18px;padding:24px;box-shadow:0 25px 120px #0008}dialog::backdrop{background:#020d19c9}.small-modal{max-width:440px}.modal-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:17px}.modal h2{margin:0;font:800 23px 'Manrope',sans-serif}.close-dialog{font-size:17px;background:none;border:none;color:#a0b4c5}.field{margin:11px 0}.field label,.field-legend{font-size:12px;font-weight:700;color:#c4d3dd;display:block;margin:0 0 6px}.field input,.field textarea,.field select{display:block;border:1px solid #436078;background:#102438;color:#e4f0f4;border-radius:9px;padding:11px;width:100%;font-size:13px}.field input::placeholder,.field textarea::placeholder{color:#829daf}.field textarea{resize:vertical}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:13px}.modal-divider{height:1px;background:#395267;margin:17px 0}.toggle-row{display:flex;align-items:center;gap:10px;padding:10px 0;cursor:pointer}.toggle-row input{width:19px;height:19px;accent-color:#89cfb8}.toggle-row span{display:flex;flex-direction:column}.toggle-row strong{font-size:13px}.toggle-row small{font-size:11px;color:#9ab1c1;margin-top:3px}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.form-error{font-size:12px;color:#ffb3a7;min-height:17px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,30px);opacity:0;pointer-events:none;background:#bbecdd;color:#14383a;font-size:13px;font-weight:800;border-radius:12px;padding:12px 18px;box-shadow:0 7px 35px #0009;transition:.2s;z-index:4}.toast.visible{transform:translate(-50%,0);opacity:1}
@media(max-width:950px){.work-layout{grid-template-columns:1fr}.side-stack{display:grid;grid-template-columns:1fr 1fr}.side-stack .due-panel{grid-column:1 / -1}.container,.topbar{padding-left:22px;padding-right:22px}}@media(max-width:680px){.topbar{padding:13px 13px;flex-wrap:wrap}.brand-text small{letter-spacing:2px}.header-actions{width:100%;justify-content:space-between;gap:5px}.header-actions .outline-btn,.header-actions .primary-btn{padding:8px 10px;font-size:11px}.local-pill{font-size:8px;padding:5px 7px}.container{padding:20px 13px}.hero{margin:6px 0 21px;align-items:flex-start}.hero h1{font-size:33px}.hero-copy{font-size:12px}.hero-right{min-width:94px}.clock{font-size:29px;letter-spacing:-1px}.long-date{font-size:11px}.time-hint{font-size:7px;letter-spacing:0}.stat-grid{grid-template-columns:repeat(2,1fr);gap:8px}.stat-card{padding:14px;min-height:96px}.stat-card strong{font-size:26px;margin:5px 0}.stat-label{font-size:9px}.stat-caption{font-size:10px}.card{padding:16px}.card-header{align-items:flex-start}.card-actions{width:100%}.card-actions select{flex:1;max-width:none}.tabline{gap:16px;overflow-x:auto}.task-row{padding:15px 0;flex-wrap:wrap}.task-buttons{width:100%;padding-left:35px}.task-buttons .icon-btn{flex:1}.side-stack{display:flex}.prototype-warning{font-size:11px}.footer{font-size:8px;flex-wrap:wrap}.two-col{gap:9px}dialog.modal{padding:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.toast{transition:none}}
.disabled{opacity:.4}.clear-demo{border:0;background:none;font-size:12px;font-weight:700;color:#b7f2e0;text-decoration:underline;margin-left:3px;padding:2px}.task-row:focus-within{outline-offset:-2px}#idle-screen{position:fixed;inset:0;background:rgba(3,11,18,.97);color:#bcd2dd;z-index:8;display:none;align-items:center;justify-content:center;text-align:center;cursor:pointer}#idle-screen.show{display:flex}.idle-content{padding:20px}.idle-kicker{color:#60849b;font-size:14px;font-weight:800;letter-spacing:5px;margin-bottom:18px}#idle-clock{font:800 clamp(76px,13vw,180px)/1.1 'Manrope',system-ui,sans-serif;letter-spacing:-5px;color:#b3d7d1}#idle-date{font:600 clamp(20px,3vw,38px) 'Manrope',system-ui,sans-serif;margin:8px 0 33px}#idle-summary{font-size:clamp(20px,2.5vw,30px);color:#d5e6e7} .idle-wake{font-size:14px;color:#618397;margin-top:40px}.task-panel{align-self:start}
@media(max-width:680px){.idle-kicker{font-size:10px;letter-spacing:2px}#idle-clock{letter-spacing:-2px}.clear-demo{font-size:11px}}

@media(max-width:680px){.hero-right{min-width:125px}.hero-left{min-width:0}.hero{gap:10px}.hero h1{font-size:30px}}

/* Expandable project checklists */
.steps-panel{margin:13px 0 3px;padding:14px;background:#10283a;border:1px solid #304b5d;border-radius:12px}
.steps-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:12px;color:#9de5d1}
.step-row{display:flex;gap:11px;align-items:flex-start;padding:10px 0;border-bottom:1px solid #314756}
.step-row:last-of-type{border-bottom:0}
.step-check{width:28px;height:28px;flex-shrink:0;border:1px solid #637d8f;border-radius:9px;color:#b4cad9;background:#254258;font-weight:800;font-size:18px;display:grid;place-items:center}
.step-check.checked{color:#10362e;background:var(--mint);border-color:var(--mint)}
.step-detail{min-width:0;flex:1}.step-name{font-size:13px;font-weight:650}.step-name.done{color:#91a8b6;text-decoration:line-through}
.step-notes{font-size:12px;color:#afc2d1;white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0}
.step-edit{border:1px solid #405a6e;border-radius:8px;background:#284358;color:#d7e7f0;padding:6px 9px;font-size:11px;font-weight:700}
.step-add{margin-top:12px;border:1px dashed #548176;color:#9ce3ce;border-radius:8px;background:transparent;padding:9px 12px;font-size:12px;font-weight:750;min-height:36px}
.step-modal-actions{display:flex;align-items:center;gap:8px;margin-top:18px}.step-spacer{flex:1}
.danger-btn{border:1px solid #8e6063;border-radius:9px;color:#f0a9a8;background:transparent;padding:9px 11px;font-size:12px}
.field[hidden]{display:none!important}#month-precision-warning{margin:7px 0 0}
@media(max-width:680px){.steps-panel{padding:11px}.step-edit{padding:8px 10px}.task-buttons{flex-wrap:wrap}.step-modal-actions{flex-wrap:wrap}.step-spacer{flex:1}}

/* Peña Hub v0.3 — compact, action-focused responsive redesign */
.brand-initial{font-family:'Manrope',system-ui,sans-serif;font-size:21px;font-weight:900;letter-spacing:-1.5px;background:#214555;color:#b5eedc;border-color:#528474}
.brand-text strong{letter-spacing:.2px}
.brand-text strong span{color:#a6e5cd}
.brand-text small{letter-spacing:2.2px}
.today-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:3px 0 19px}
.today-header .eyebrow{margin-bottom:6px}
.today-header h1{font-size:clamp(25px,3vw,36px);font-weight:850;line-height:1.2;letter-spacing:-1px;margin:0 0 7px;color:#f2f7f8}
.today-date{font-size:13px;color:#a1b5c3;margin:0}
.now .clock{font-size:clamp(24px,3.5vw,36px);line-height:1.1;font-weight:750;white-space:nowrap;color:#b7d9dd}
.prototype-warning{margin:0 0 13px;font-size:11px;padding:10px 13px}
.compact-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:0 0 18px}
.compact-stats .stat-card{min-height:68px;padding:12px 15px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:10px;border-radius:11px}
.compact-stats .stat-card strong{font-size:clamp(20px,2.6vw,29px);margin:0;line-height:1;font-weight:800}
.compact-stats .stat-label{font-size:10px;letter-spacing:1.1px;line-height:1.35;max-width:140px}
.compact-stats .stat-card.hot{border-color:#63434b}
.work-layout{align-items:start;grid-template-columns:minmax(0,1.65fr) minmax(330px,.95fr);gap:16px}
.card{border-radius:14px;padding:20px}
.card h2{font-size:19px;letter-spacing:-.45px}
.task-panel .card-header{gap:14px}
.task-panel .card-actions select{font-size:11px;padding:8px 9px}
.task-panel .tabline{margin-top:10px;gap:22px}
.task-row{padding:17px 0}
.task-title{font-size:15px}
.task-meta{gap:6px}
.task-description{max-height:54px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.task-buttons .icon-btn{font-size:10px;padding:7px 9px}
.assistant-panel{border-color:#3f716c;background:linear-gradient(170deg,#1c3346,#172b3c)}
.assistant-panel .subtle-copy{font-size:12px;margin:12px 0}
.assistant-chat{min-height:66px;max-height:145px;padding:12px;background:#152e41}
.quick-form input{font-size:13px;padding:13px 12px}
.voice-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:13px}
.voice-btn{display:flex;align-items:center;justify-content:center;background:#8edec9;border:1px solid #a5eedb;border-radius:12px;color:#0c2730;font-size:13px;font-weight:850;padding:11px 15px;margin:0;min-height:44px}
.voice-btn:hover{background:#b3f2dd}.voice-btn.listening{background:#ffc576}
.voice-auto-option{display:flex;align-items:center;gap:6px;color:#a7bac7;font-size:10px;line-height:1.25;max-width:170px;cursor:pointer}
.voice-auto-option input{accent-color:#91dcca;width:16px;height:16px}
.voice-hint{margin:9px 0 0;line-height:1.4}
.due-panel{border-color:#344e5e}
.due-panel .side-heading,.idea-panel .side-heading{margin-bottom:9px}
.due-panel .micro-copy,.idea-panel .micro-copy{margin:4px 0 12px}
.due-panel .due-icon{background:#293e54;color:#bcd8e7}
.due-detail{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
.due-detail .due-title{font-size:12px;line-height:1.35}
.deadline-item{padding:10px 0;align-items:flex-start}
.deadline-icon{font-size:13px;color:#e7be8a}
.deadline-date{font-size:11px;color:#a9c9d7;text-align:right;white-space:normal;min-width:74px}
.deadline-date.overdue{color:#f7a6a7;font-weight:750}
.text-action{display:block;border:0;background:none;padding:8px 0 0;color:#9ddfca;font-weight:750;font-size:12px;text-align:left}
.micro-copy.calm{background:var(--card2);border:1px solid var(--border);border-radius:9px;padding:9px 11px;color:var(--muted)}
.idea-panel{border-color:#455268}
.idea-icon{background:#40405c;color:#e1cbff}
.idea-form{display:flex;flex-direction:column;gap:8px}
.idea-form input{width:100%;padding:11px 12px;border:1px solid #3b546a;border-radius:9px;background:#102438;color:#e5edf3;font-size:12px}
.idea-form button{padding:10px 13px;border:1px solid #648f83;background:#234b4e;color:#c5f4e3;border-radius:9px;font-weight:800;text-align:left;font-size:12px;align-self:flex-start}
.ideas-list{margin-top:13px;display:flex;flex-direction:column;gap:0}
.idea-row{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-top:1px solid #314758}
.idea-content{min-width:0;flex:1;overflow-wrap:anywhere}
.idea-text{font-size:12px;line-height:1.45;color:#e0eaf1}
.idea-project{display:block;margin-top:5px;color:#b49bd7;font-size:10px}
.idea-actions{display:flex;gap:5px;flex-shrink:0}
.idea-button{border:1px solid #415c6c;border-radius:7px;background:#233e52;color:#cfe4ee;font-size:10px;font-weight:750;padding:7px 8px}
.idea-button.danger{color:#e6a8b3}
.collapsed-board summary{font-weight:750;color:#b6c9d7;display:flex;justify-content:space-between;list-style:none;cursor:pointer}
.collapsed-board summary::-webkit-details-marker{display:none}
.collapsed-board[open] summary{padding-bottom:9px;border-bottom:1px solid #324558}
.mobile-talk{display:none}
.footer{margin-top:20px;padding-top:16px}
@media(max-width:1000px){
  .work-layout{grid-template-columns:minmax(0,1fr) minmax(290px,.9fr)}
  .compact-stats .stat-card{padding:12px}
  .compact-stats .stat-label{font-size:9px}
}
@media(max-width:850px){
  .work-layout{display:flex;flex-direction:column;align-items:stretch}
  .side-stack{display:contents}
  .assistant-panel{order:0}
  .task-panel{order:1}
  .due-panel{order:2}
  .idea-panel{order:3}
  .collapsed-board{order:4}
}
@media(max-width:680px){
  body{padding-bottom:70px}
  .topbar{gap:10px}
  .brand-initial{width:35px;height:35px;font-size:19px}
  .brand-text strong{font-size:16px}
  .brand-text small{font-size:7px;letter-spacing:1.8px}
  .header-actions{justify-content:flex-start;gap:6px}
  .header-actions .outline-btn,.header-actions .primary-btn{padding:8px 9px}
  .container{padding:15px 12px}
  .today-header{margin:0 0 14px}
  .today-header h1{font-size:27px}
  .today-header .eyebrow{font-size:9px}
  .today-date{font-size:11px}
  .now .clock{font-size:23px}
  .prototype-warning{padding:8px 10px;line-height:1.4}
  .compact-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:13px}
  .compact-stats .stat-card{min-height:48px;padding:10px 11px}
  .compact-stats .stat-card strong{font-size:21px}
  .compact-stats .stat-label{font-size:9px}
  .card{padding:15px}
  .task-panel .card-header{align-items:flex-start}
  .task-panel .card-actions{margin-top:2px}
  .task-panel .card-actions select{font-size:11px}
  .task-row{gap:10px;padding:14px 0}
  .task-buttons{padding-left:32px;gap:5px}
  .task-buttons .icon-btn{font-size:11px;padding:8px}
  .side-heading h2{font-size:18px}
  .assistant-chat{max-height:105px}
  .voice-controls{justify-content:space-between;gap:8px}
  .voice-btn{min-height:42px;padding:10px 13px}
  .voice-auto-option{max-width:160px}
  .mobile-talk{display:flex;position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:6;align-items:center;gap:10px;background:#8ce1c8;border:2px solid #c4f8e7;color:#0e3341;border-radius:99px;box-shadow:0 8px 34px #031322ab;font-weight:850;font-size:14px;padding:13px 22px;min-width:177px;justify-content:center}
  .mobile-talk.listening{background:#ffc576}
  .mobile-talk-icon{font-size:19px}
  .footer{padding-bottom:20px}
  dialog.modal{max-height:89dvh}
}

/* v0.4 — smart lists and gated voice AI */
.ai-status-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:11px 0 12px;flex-wrap:wrap}
.ai-status{font-size:11px;font-weight:750;color:#c6a77d;background:#3b3641;border:1px solid #6d5962;border-radius:99px;padding:6px 10px}
.ai-status[data-state="ready"]{color:#a5efcf;background:#194b45;border-color:#478476}
.ai-unlock{border:1px solid #537b7a;background:#244755;color:#c7f4e8;font-weight:800;font-size:11px;border-radius:9px;padding:8px 11px;cursor:pointer}
.assistant-choices{display:flex;flex-wrap:wrap;gap:8px;margin:9px 0;padding:2px}
.assistant-choice{border-radius:10px;border:1px solid #83b6ae;background:#224b54;color:#ddfff4;font-size:12px;font-weight:750;padding:10px 12px;text-align:left;cursor:pointer}
.assistant-choice:hover{background:#2c5d60}
[data-parent-child-choices] .assistant-choice{min-height:44px;min-width:44px}
.chat-line.pending{font-style:italic;opacity:.6}
.lists-panel{border-color:#415d66}
.lists-panel .micro-copy{margin:5px 0 12px}
.list-icon{background:#2d4e5c;color:#b2dcee}
.lists-controls{display:flex;gap:8px;align-items:center;min-width:0}
.lists-controls select{flex:1;min-width:0;border:1px solid #476276;border-radius:10px;background:#112d3f;color:#eaf3f7;font-size:13px;padding:10px}
.list-new{flex-shrink:0;border:1px solid #57877d;border-radius:9px;background:#24494e;color:#bcf3e2;font-weight:750;padding:10px;font-size:12px;cursor:pointer}
.list-add-form{display:flex;gap:8px;margin-top:10px}
.list-add-form input{flex:1;min-width:0;padding:11px;border:1px solid #486171;border-radius:9px;background:#102a3b;color:#f2f7fa}
.list-add-form button{border:1px solid #91ccb9;border-radius:9px;background:#82d8be;color:#133133;font-size:21px;font-weight:800;padding:6px 15px;cursor:pointer}
.list-items{margin-top:10px}
.list-item-row{display:flex;gap:10px;align-items:flex-start;padding:9px 1px;border-bottom:1px solid #304c5d}
.list-item-row:last-child{border-bottom:0}
.list-item-content{font-size:13px;line-height:1.4;flex:1;min-width:0;overflow-wrap:anywhere}
.list-item-content .done{color:#98adbc;text-decoration:line-through}
.list-item-content small{display:block;color:#a6c1d2;margin-top:4px}
.list-item-check{background:#244456;color:#bee5dd;border:1px solid #618c84;border-radius:7px;flex:0 0 27px;height:27px;font-size:18px;cursor:pointer}
.list-item-check.checked{background:#84d9bd;color:#16392f}
.list-item-delete{border:none;background:none;color:#afc3d3;font-size:13px;cursor:pointer;padding:4px 7px}
@media(max-width:850px){.lists-panel{order:3}.idea-panel{order:4}.collapsed-board{order:5}}
@media(max-width:680px){.lists-controls{gap:6px}.list-new{padding:10px 8px}.assistant-choice{flex:1;min-width:150px}}

/* Peña Hub v0.4 — secure AI state, smart household lists and follow-up choices */
.ai-status-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 10px}
.ai-status{font-size:11px;letter-spacing:.2px;color:#efd39b;font-weight:750;display:flex;align-items:center;gap:7px}
.ai-status:before{content:'';width:7px;height:7px;background:#e2b978;border-radius:50%;display:inline-block}
.ai-status[data-state="ready"]{color:#9ff2d3}
.ai-status[data-state="ready"]:before{background:#76e7b0}
.ai-unlock{border:1px solid #5a807f;background:#244952;color:#c2f6e7;border-radius:10px;padding:7px 11px;font-size:11px;font-weight:750;cursor:pointer;min-height:44px;min-width:44px;white-space:normal}
.assistant-choices{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:8px 0 1px}
.assistant-choice{border:1px solid #609e91;border-radius:10px;padding:9px 12px;color:#ddfff0;background:#234d52;font-size:12px;line-height:1.3;font-weight:650;text-align:left;cursor:pointer}
.chat-line.pending{color:#82babe;font-style:italic}
.lists-panel{border-color:#435f74;background:linear-gradient(175deg,#1d3346,#1b2c3f)}
.lists-panel .list-icon{background:#2b465f;color:#b6dcff}
.lists-controls{display:flex;align-items:center;gap:8px;margin:14px 0 10px}
.lists-controls select{min-width:0;flex:1;background:#102c40;color:#e5f6f9;border:1px solid #567286;border-radius:10px;padding:10px 11px;font-size:12px;font-weight:750}
.list-new{border:1px solid #4b6b81;color:#b2e0ee;background:#254355;border-radius:9px;padding:9px 10px;font-size:11px;font-weight:750;white-space:nowrap;min-height:38px}
.list-add-form{display:flex;gap:7px}
.list-add-form input{flex:1;min-width:0;border:1px solid #496679;background:#10283b;color:#f3f8fa;border-radius:10px;padding:11px;font-size:12px}
.list-add-form button{border:1px solid #9be6cc;color:#15382f;background:#9be6cc;padding:8px 12px;border-radius:10px;font-weight:800;font-size:17px}
.list-items{display:flex;flex-direction:column;gap:0;margin-top:11px;max-height:310px;overflow:auto}
.list-item-row{display:flex;align-items:flex-start;gap:9px;padding:9px 0;border-bottom:1px solid #32495c}
.list-item-check{border:1px solid #658093;background:#254658;color:#c7e0e7;border-radius:8px;width:26px;height:26px;flex-shrink:0;font-size:17px}
.list-item-check.checked{color:#173b35;background:#91e2bf;border-color:#91e2bf}
.list-item-content{min-width:0;flex:1;overflow-wrap:anywhere;color:#e5eff3;font-size:12px;font-weight:650;line-height:1.4;padding-top:4px}
.list-item-content .done{text-decoration:line-through;color:var(--muted)}
.list-item-content small{display:block;color:var(--muted);margin-top:4px;font-size:11px;white-space:pre-wrap}
#list-summary{overflow-wrap:anywhere;margin:4px 0 10px}
.list-item-delete{border:0;background:transparent;color:#91adbc;padding:5px 8px;font-size:13px}
.lists-controls select,.list-new,.list-add-form input,.list-add-form button,.list-item-check,.list-item-delete{min-height:44px}
.list-add-form button,.list-item-check,.list-item-delete{min-width:44px}
#list-item-error:empty{display:none}
.delete-note{min-width:44px;min-height:44px;flex:0 0 44px;color:var(--muted)}
.note-form input,.note-form button{min-height:44px}
.note-form button{min-width:44px}
:root[data-theme="warm-stone"] .note-form button{color:#fff}
.strike-consequence-review{border-top:1px solid var(--border);margin-top:12px;padding-top:12px;overflow-wrap:anywhere}
#strike-review-details{overflow-wrap:anywhere}
#strike-cards button,#strike-dialog button{min-height:44px}
#strike-dialog .close-dialog{min-width:44px}
@media(max-width:680px){.toast{bottom:calc(84px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 32px)}}
.small-modal{max-width:460px}
#song-form .two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
#song-form .field,#song-form input,#song-form select,#song-form textarea{min-width:0;max-width:100%}
#song-dialog{width:min(460px,calc(100dvw - 22px));max-width:calc(100dvw - 22px);min-width:0}
.form-error{font-size:12px;color:#ffb9b9;min-height:18px;margin-top:7px}
@media(max-width:680px){.ai-status-row{margin:9px 0}.lists-controls{flex-wrap:wrap}.list-new{padding:10px}.assistant-choice{width:100%}.list-item-row{padding:12px 0}}

/* Official Peña Hub brand artwork: preserve original proportions and color. */
.brand{flex-shrink:0;min-width:0}
.brand-logo{display:block;width:clamp(148px,16vw,195px);height:auto;max-width:100%;background:#000;border-radius:5px;object-fit:contain}
@media(max-width:680px){.brand-logo{width:152px}}

/* v0.5: a deliberately quieter task-first layout, distinct lists and family features */
[hidden]{display:none!important}
:root{color-scheme:dark}
#app{min-height:100vh}
.settings-btn{width:38px;height:38px;flex-shrink:0;border:1px solid var(--border);border-radius:11px;background:var(--card2);color:var(--text);display:grid;place-items:center;font-size:20px}
.assistant-chat:empty{display:none}
.assistant-panel .ai-status-row{margin:12px 0 10px}
.assistant-panel .voice-controls{margin:10px 0 0}
.stat-card{padding:13px 15px 11px;min-height:82px;border-radius:13px}
.stat-card strong{font-size:27px;margin:3px 0 0}
.stat-label{font-size:10px;letter-spacing:1px}
.stat-grid{gap:10px;margin-bottom:17px}
.tabline{overflow-x:auto;white-space:nowrap;scrollbar-width:thin}
.task-panel .tab{font-size:13px}
.family-icon{background:#423e50;color:#f5c4df}
.feature-switcher{display:flex;gap:6px;margin-top:17px;padding:4px;background:var(--bg);border-radius:12px}
.feature-tab{background:transparent;border:0;flex:1;padding:9px 7px;color:var(--muted);border-radius:9px;font-size:11px;font-weight:750}
.feature-tab.active{color:var(--text);background:var(--card2);box-shadow:0 1px 6px #0003}
.family-view{padding-top:13px}
.kid-progress{display:grid;gap:11px}
.kid-card{border:1px solid var(--border);border-radius:12px;background:var(--card2);padding:12px 13px}
.kid-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--text);font-size:13px}
.kid-score{font-size:12px;color:var(--accent);font-weight:800}
.kid-bar{width:100%;height:9px;border-radius:100px;background:#344c60;overflow:hidden;margin:10px 0 5px}
.kid-fill{display:block;height:100%;border-radius:100px;background:var(--mint);transition:width .25s}
.kid-reward{font-size:11px;color:var(--muted)}
.kid-redeem{margin-top:8px;border:1px solid var(--mint);color:#082e31;background:var(--mint);border-radius:7px;font-size:11px;padding:7px 11px;font-weight:800}
.family-action{font-size:12px;font-weight:750;padding:9px 12px;border:1px solid var(--mint);border-radius:9px;background:var(--mint);color:#092c2c;margin-top:11px}
.family-action.outline{border-color:var(--border);background:var(--card2);color:var(--text)}
.family-action-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.family-action-row .family-action{margin-top:9px}
.school-event{display:flex;align-items:center;gap:12px;font-size:12px;padding:8px 0;border-bottom:1px solid var(--border)}
.school-event-date{flex:0 0 70px;font-size:11px;color:var(--accent)}
.school-event-title{font-size:12px;color:var(--text)}
.mini-field{display:block;margin-top:10px}
.mini-field span{font-size:12px;font-weight:700;color:var(--muted)}
.mini-field input{display:block;background:var(--card2);border:1px solid var(--border);border-radius:9px;padding:10px;width:100%;font-size:12px;color:var(--text)}
.google-calendar-box{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;font-size:12px;color:var(--text)}
.feature-toggle{display:flex;align-items:center;gap:10px;color:var(--text);font-size:12px;font-weight:650}
.feature-toggle input{accent-color:var(--mint);width:18px;height:18px}
.checkin-controls{align-items:center;margin-top:12px}
.checkin-controls label{font-size:11px;color:var(--muted);display:flex;gap:7px;align-items:center}
.checkin-controls input{border:1px solid var(--border);border-radius:7px;background:var(--card2);padding:6px;color:var(--text);min-width:0;width:112px}
.homework-prompt{margin:12px 0;padding:12px;border:1px solid var(--mint);background:var(--card2);border-radius:10px;color:var(--text);font-size:13px}
.homework-prompt button{border:1px solid var(--border);border-radius:8px;color:var(--text);background:var(--card);padding:7px 10px;font-size:12px;margin-top:8px}
.checkin-due{border-color:var(--mint)}
.settings-dialog{max-width:610px}
.notification-devices{list-style:none;padding:0;display:grid;gap:12px}
.notification-devices li{border:1px solid var(--border);background:var(--card2);border-radius:10px;padding:14px;overflow-wrap:anywhere}
.notification-devices .outline-btn{min-height:44px}
#notification-setup:not([hidden]),#notification-schedule:not([hidden]),#notification-preferences{display:grid;gap:12px;margin-top:18px}
#notification-setup h3,#notification-schedule h3{margin:0;font-size:18px}
#notification-setup .field,#notification-preferences .field{display:grid;gap:6px}
#notification-setup button,#notification-preferences button{justify-self:start;max-width:100%;min-height:44px}
#notification-preferences fieldset{display:grid;gap:4px;margin:0;padding:12px;min-width:0;border:1px solid var(--border);border-radius:10px}
#notification-preferences fieldset label{display:flex;align-items:center;gap:8px;min-height:44px;font-size:13px;color:var(--text)}
#notification-preferences fieldset input{width:18px;height:18px;flex-shrink:0}
#notification-close{min-width:44px;min-height:44px}
.settings-dialog h3{font-size:15px;margin:14px 0;color:var(--text)}
.theme-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.theme-choice{border:2px solid var(--border);background:var(--card2);padding:8px;border-radius:12px;color:var(--text);display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.theme-choice[aria-checked="true"]{border-color:var(--mint);box-shadow:0 0 0 2px color-mix(in srgb,var(--mint),transparent 75%)}
.theme-choice strong{font-size:12px}.theme-choice small{font-size:10px;color:var(--muted);line-height:1.15}
.theme-preview{height:37px;width:100%;border-radius:7px;border:1px solid #7773}
.theme-preview.midnight{background:linear-gradient(115deg,#0b1826 0 45%,#84d7be 45% 62%,#1c3045 62%)}
.theme-preview.citrus{background:linear-gradient(115deg,#151515 0 45%,#f7931e 45% 62%,#38322b 62%)}
.theme-preview.sea-glass{background:linear-gradient(115deg,#10313a 0 45%,#7bdbc6 45% 62%,#295668 62%)}
.theme-preview.warm-stone{background:linear-gradient(115deg,#f4f0e9 0 45%,#c56f46 45% 62%,#d9dbd2 62%)}
.reward-editors{display:grid;grid-template-columns:2fr 1fr;gap:10px}
.reward-editors label{font-size:11px;color:var(--muted);font-weight:700}
.reward-editors input{display:block;color:var(--text);background:var(--card2);border:1px solid var(--border);padding:10px;border-radius:8px;margin-top:4px;width:100%;font-size:12px}
#routine-window{background:var(--card2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 11px;width:auto;margin-top:7px}
.sharing-status{font-size:12px;border-left:3px solid var(--amber);padding:5px 10px;color:var(--muted)}
.settings-dialog .field{font-size:12px;color:var(--muted)}
/* Four coherent palettes. Variables + targeted legacy styles keep controls readable. */
:root[data-theme="citrus"]{--bg:#101112;--card:#202022;--card2:#2c2a29;--border:#494342;--text:#f8f5f0;--muted:#b8aba1;--mint:#f7931e;--accent:#f5b96e;--amber:#f3c68d;--rose:#fa928c}
:root[data-theme="sea-glass"]{--bg:#09262c;--card:#12383d;--card2:#204c53;--border:#38606a;--text:#f0fcfb;--muted:#a6cbd0;--mint:#83dbc7;--accent:#b5dcf7;--amber:#f1cf8a;--rose:#ffa7a9}
:root[data-theme="warm-stone"]{--bg:#f5f1eb;--card:#fffefa;--card2:#ecebe5;--border:#d8d7ce;--text:#263b43;--muted:#53666b;--mint:#9b4d2f;--accent:#9a4c32;--amber:#885b23;--rose:#b94044;color-scheme:light}
:root[data-theme="citrus"] .card,:root[data-theme="sea-glass"] .card,:root[data-theme="warm-stone"] .card{background:var(--card);border-color:var(--border)}
:root[data-theme="citrus"] .stat-card,:root[data-theme="sea-glass"] .stat-card,:root[data-theme="warm-stone"] .stat-card{background:var(--card);border-color:var(--border)}
:root[data-theme="citrus"] .task-row,:root[data-theme="sea-glass"] .task-row,:root[data-theme="warm-stone"] .task-row{border-color:var(--border)}
:root[data-theme="citrus"] .round-icon,:root[data-theme="sea-glass"] .round-icon,:root[data-theme="warm-stone"] .round-icon{background:var(--card2);color:var(--accent)}
:root[data-theme="citrus"] .quick-form input,:root[data-theme="citrus"] .assistant-chat,:root[data-theme="citrus"] .field input,:root[data-theme="citrus"] .field textarea,:root[data-theme="citrus"] .field select,:root[data-theme="citrus"] .card select,
:root[data-theme="sea-glass"] .quick-form input,:root[data-theme="sea-glass"] .assistant-chat,:root[data-theme="sea-glass"] .field input,:root[data-theme="sea-glass"] .field textarea,:root[data-theme="sea-glass"] .field select,:root[data-theme="sea-glass"] .card select,
:root[data-theme="warm-stone"] .quick-form input,:root[data-theme="warm-stone"] .assistant-chat,:root[data-theme="warm-stone"] .field input,:root[data-theme="warm-stone"] .field textarea,:root[data-theme="warm-stone"] .field select,:root[data-theme="warm-stone"] .card select{background:var(--card2);color:var(--text);border-color:var(--border)}
:root[data-theme="warm-stone"] .stat-label,:root[data-theme="warm-stone"] .task-meta,:root[data-theme="warm-stone"] .micro-copy,:root[data-theme="warm-stone"] .local-pill,:root[data-theme="warm-stone"] .tag,:root[data-theme="warm-stone"] .subtle-copy,:root[data-theme="warm-stone"] .tab,:root[data-theme="warm-stone"] .task-description,:root[data-theme="warm-stone"] .idea-text,:root[data-theme="warm-stone"] .idea-project,:root[data-theme="warm-stone"] .deadline-date,:root[data-theme="warm-stone"] .chat-line,:root[data-theme="warm-stone"] .list-item-content,:root[data-theme="warm-stone"] .footer{color:var(--muted)}
:root[data-theme="warm-stone"] dialog.modal{background:var(--card);color:var(--text);border-color:var(--border)}
:root[data-theme="citrus"] dialog.modal,:root[data-theme="sea-glass"] dialog.modal{background:var(--card)}
:root[data-theme="warm-stone"] .primary-btn,:root[data-theme="warm-stone"] .quick-form button,:root[data-theme="citrus"] .primary-btn,:root[data-theme="citrus"] .quick-form button{color:#fff}
:root[data-theme="warm-stone"] .icon-btn,:root[data-theme="warm-stone"] .list-item-check,:root[data-theme="warm-stone"] .step-check{background:var(--card2);border-color:var(--border);color:var(--text)}
:root[data-theme="warm-stone"] .outline-btn{color:var(--text);border-color:var(--border)}
:root[data-theme="warm-stone"] .check-btn{border-color:#9d9b91}
:root[data-theme="warm-stone"] .tag.warn{color:#b74245}
:root[data-theme="warm-stone"] .prototype-warning{background:#f0ede1;color:#5e675e;border-color:#d4d6bc}
:root[data-theme="warm-stone"] .tab.active{color:var(--mint)}
@media(max-width:820px){
  .theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat-card{min-height:77px;padding:12px}
  .stat-card strong{font-size:25px}
  .header-actions{gap:7px}
  .settings-btn{width:38px;height:36px}
  .local-pill{display:none}
  .family-view .two-col{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .family-panel{grid-column:1 / -1}
  .reward-editors{grid-template-columns:1fr 88px}
  .topbar{gap:9px}
  .settings-btn{order:-1}
  .header-actions .outline-btn{display:none}
}
#cloud-login-fields .family-action,#cloud-household-fields .family-action{margin:7px 9px 7px 0}
#cloud-household-fields .sharing-status{margin:10px 0 7px}
#cloud-household-fields .field{margin-top:16px}
/* Keep voice at the top of mobile, with actionable to-dos next; family tools come after. */
@media(max-width:850px){
  .assistant-panel{order:0}.task-panel{order:1}.due-panel{order:2}.family-panel{order:3}
  .lists-panel{order:4}.idea-panel{order:5}.collapsed-board{order:6}
}
:root[data-theme="warm-stone"] .today-header h1,:root[data-theme="warm-stone"] .today-header .clock,
:root[data-theme="warm-stone"] .today-header .today-date,:root[data-theme="warm-stone"] .collapsed-board summary,
:root[data-theme="warm-stone"] .chat-line.reply,:root[data-theme="warm-stone"] .chat-line.you,
:root[data-theme="warm-stone"] .task-title,:root[data-theme="warm-stone"] .stat-card strong{color:var(--text)}
:root[data-theme="warm-stone"] .today-header .eyebrow,:root[data-theme="warm-stone"] .eyebrow{color:var(--mint)}
:root[data-theme="warm-stone"] .idea-form input,:root[data-theme="warm-stone"] .list-add-form input,
:root[data-theme="warm-stone"] .lists-controls select,:root[data-theme="warm-stone"] .idea-button,
:root[data-theme="warm-stone"] .step-row,:root[data-theme="warm-stone"] .steps-panel,
:root[data-theme="warm-stone"] .assistant-choice,:root[data-theme="warm-stone"] .list-new,
:root[data-theme="warm-stone"] .ai-unlock,:root[data-theme="warm-stone"] .note-form input{background:var(--card2);border-color:var(--border);color:var(--text)}
:root[data-theme="warm-stone"] .idea-form input::placeholder,:root[data-theme="warm-stone"] .list-add-form input::placeholder,
:root[data-theme="warm-stone"] .quick-form input::placeholder{color:var(--muted);opacity:1}
:root[data-theme="warm-stone"] .ai-status{color:#754f2c;background:#eee0c8;border-color:#dfceaf}
:root[data-theme="warm-stone"] .voice-btn,:root[data-theme="warm-stone"] .text-action{color:#ab563b}
:root[data-theme="warm-stone"] .tag,:root[data-theme="warm-stone"] .tag.mint{color:#395e61;border-color:#b6c7ba}
:root[data-theme="warm-stone"] .deadline-date.overdue{color:#a9343c}
:root[data-theme="warm-stone"] .mobile-talk{background:var(--mint);border-color:#d8b59e;color:#fff}
:root[data-theme="citrus"] .mobile-talk{background:var(--mint);border-color:#efbe78}
:root[data-theme="warm-stone"] .clear-demo{color:#a45c38}
:root[data-theme="warm-stone"] .prototype-warning span{color:#5f7477}
:root[data-theme="warm-stone"] .family-action,:root[data-theme="warm-stone"] .kid-redeem{color:#fff}
:root[data-theme="warm-stone"] .family-action.outline{color:var(--text)}
:root[data-theme="warm-stone"] .voice-btn{background:var(--card2);color:var(--accent);border-color:var(--accent)}
:root[data-theme="warm-stone"] .voice-btn.listening{background:#ffe0a3;color:#6a431b}
:root[data-theme="warm-stone"] input::placeholder,:root[data-theme="warm-stone"] textarea::placeholder{color:var(--muted);opacity:1}

/* Conversational information intake; no calendar format choices in the interface. */
.calendar-conversation{margin-top:12px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--card2)}
.calendar-conversation .micro-copy{margin:0 0 7px;line-height:1.55}
.calendar-conversation .family-action-row{margin-top:5px}
.buddy-name{font-size:12px;font-weight:750;margin-top:10px;color:var(--text)}
.buddy-icons{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0;min-height:30px;align-items:center;color:var(--accent)}
.buddy-icons img{width:24px;height:30px;object-fit:contain;flex:none}.buddy-empty{opacity:.2;filter:grayscale(1)}.buddy-icons img.buddy-drawn{width:30px;height:30px;border-radius:6px}
.chat-line.buddy-preview img{display:block;width:120px;height:120px;border-radius:12px;background:#fff;object-fit:contain}
.buddy-overflow{color:var(--muted);font-size:12px}.buddy-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.buddy-action{min-height:44px;padding:7px 9px;font-size:11px;font-weight:700;border:1px solid var(--border);border-radius:8px;background:var(--card2);color:var(--text)}
.product-wordmark{display:flex;flex-direction:column;gap:4px;width:240px;max-width:100%;flex:0 1 240px;min-width:0}.product-wordmark-art{display:grid;align-items:center;width:100%;aspect-ratio:3/1}.product-wordmark-art>*{grid-area:1/1}.product-wordmark-art img{display:block;width:100%;height:auto;object-fit:contain}.product-wordmark strong{font-size:25px;letter-spacing:-.6px;line-height:1.2}.product-wordmark span{font-size:11px;color:var(--muted)}.brand{flex-wrap:wrap}.brand .brand-logo{max-width:150px;width:150px;height:auto}.topbar{flex-wrap:wrap}.header-actions{flex-wrap:wrap}
@media(max-width:850px){.brand{justify-content:space-between;width:100%;flex-wrap:nowrap;gap:12px}.brand .brand-logo{width:96px;max-width:96px;flex:none}.product-wordmark{flex:1 1 140px;max-width:240px}.product-wordmark strong{font-size:clamp(19px,5vw,25px)}}
.board-tools{border:1px solid var(--border);border-radius:13px;padding:14px;background:var(--card);margin-bottom:18px}
.critical-deadlines{position:sticky;top:0;z-index:5;border:1px solid var(--rose);border-radius:11px;padding:8px 12px;background:var(--card);color:var(--text);margin-bottom:14px}
.critical-deadlines strong{font-size:12px}.critical-deadline-count{display:block;font-size:12px;color:var(--muted)}.critical-deadlines ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));align-items:start;gap:10px 14px;list-style:none;overflow:auto;max-height:min(28vh,240px);margin:3px 0 0;padding:3px 0;font-size:14px;overscroll-behavior:contain;scrollbar-gutter:stable}.critical-deadlines li{min-width:0;display:flex;flex-direction:column;gap:3px;white-space:normal;overflow-wrap:anywhere;padding:7px;border:1px solid var(--border);border-radius:7px}.critical-deadline-date{font-weight:750}.critical-deadline-name{font-size:13px}.critical-deadlines ul:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.board-tools-heading,.board-tool-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.board-tools-heading{justify-content:space-between}
.board-tool-actions{margin-top:10px}.board-tools button,.board-tools select{min-height:44px;border:1px solid var(--border);border-radius:8px;background:var(--card2);color:var(--text);padding:8px 11px}
.board-tools label{font-size:13px;margin-right:8px}.board-selected{outline:3px solid var(--accent);outline-offset:4px}
.work-layout.board-arranged{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.work-layout.board-arranged>[data-board-widget]{order:0;min-width:0}.today-header{flex-wrap:wrap}
:root[data-clock-size="large"] .now .clock{font-size:clamp(40px,4vw,56px)}
:root[data-clock-size="extra-large"] .now .clock{font-size:clamp(48px,6vw,76px)}
@media(max-width:850px){.work-layout.board-arranged{display:flex;flex-direction:column;align-items:stretch}:root[data-clock-size="large"] .now .clock{font-size:32px}:root[data-clock-size="extra-large"] .now .clock{font-size:40px}}
.voice-btn.outline{background:transparent;color:var(--text);border-color:var(--border)}
.feature-switcher{flex-wrap:wrap}.feature-switcher .feature-tab{min-height:44px}.repeat-suggestion{padding:12px 0;border-top:1px solid var(--border)}.kid-card{min-width:0;overflow-wrap:anywhere}
.calendar-review-events{max-height:40vh;overflow:auto;padding-left:24px}.calendar-review-events li{padding:8px 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.calendar-review-warnings{font-size:13px;max-height:24vh;overflow:auto;overflow-wrap:anywhere;color:var(--rose)}
.source-directory-result{border:1px solid var(--border);border-radius:10px;padding:12px;margin:8px 0;overflow-wrap:anywhere}.source-directory-result .family-action-row a{color:var(--text);display:inline-flex;align-items:center;min-height:44px;text-decoration:underline}
.assistant-chat.source-results{max-height:50vh}
.recovery-changes{max-height:45vh;overflow:auto;overflow-wrap:anywhere}.recovery-changes details{padding:10px 0;border-top:1px solid var(--border)}.recovery-changes summary{cursor:pointer;min-height:44px}.recovery-changes pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}
#recovery-backup{display:block;margin-bottom:14px}#recovery-form>.field{display:block;margin:14px 0}.recovery-changes pre{font-family:inherit;line-height:1.6}
/* Form labels and checklist details must remain readable on the light palette. */
:root[data-theme="warm-stone"] .field label,:root[data-theme="warm-stone"] .field-legend{color:var(--text)}
:root[data-theme="warm-stone"] .voice-auto-option,:root[data-theme="warm-stone"] .step-notes,:root[data-theme="warm-stone"] .step-name.done,:root[data-theme="warm-stone"] .toggle-row small{color:var(--muted)}
:root[data-theme="warm-stone"] .steps-heading{color:var(--mint)}
:root[data-theme="warm-stone"] .form-error,:root[data-theme="warm-stone"] .danger-btn{color:var(--rose)}
:root[data-theme="warm-stone"] .danger-btn{border-color:var(--rose)}
:root[data-theme="warm-stone"] .close-dialog{color:var(--muted)}
.booking-entry{margin-top:14px;padding-top:12px;border-top:1px solid var(--border);overflow-wrap:anywhere}
#booking-form>.field,#booking-time-fields>.field{display:block;margin:14px 0}
#booking-form .feature-toggle{margin:14px 0}
#earned-form>.field{display:block;margin:14px 0}#earned-form .feature-toggle{margin:14px 0}
#field-reminder-time + small{display:block;margin-top:6px;font-size:13px;line-height:1.5;color:var(--muted)}
/* Long reminder explanations and user text must fit the actual phone viewport. */
.task-panel{min-width:0;max-width:100%;width:100%}
.task-meta .tag{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.task-title,.task-description{overflow-wrap:anywhere}
#song-words-dialog{width:min(600px,calc(100vw - 24px));overflow-wrap:anywhere}#song-words-form>.field{display:block;margin:16px 0}#words-text{white-space:pre-wrap;width:100%;box-sizing:border-box}
.capture-text{white-space:pre-wrap;overflow-wrap:anywhere}.capture-card{margin:12px 0;min-width:0}.capture-card .family-action-row{flex-wrap:wrap}#capture-dialog{width:min(600px,calc(100vw - 24px));overflow-wrap:anywhere}#capture-form .field{display:block;margin:16px 0}#capture-text{width:100%;box-sizing:border-box}#capture-retry{margin:12px 0}
#connection-dialog{width:min(680px,calc(100vw - 24px));overflow-wrap:anywhere}#connection-dialog button{min-height:44px;min-width:44px}#connection-dialog .family-action-row,#connection-dialog .form-actions{flex-wrap:wrap}.connection-source{overflow-wrap:anywhere;white-space:pre-wrap}#connection-form .field{display:block;margin:16px 0}#connection-reason{width:100%;box-sizing:border-box;min-height:88px;font-size:16px;background:var(--card2);color:var(--text);border-color:var(--border)}.connection-ack{display:flex;align-items:center;gap:12px;min-height:44px;margin:16px 0}#connection-review{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}
#wall-admin-form .field{display:block;margin:16px 0}#wall-task-choices{max-height:32vh;overflow:auto}#wall-task-choices .feature-toggle{margin:12px 0;overflow-wrap:anywhere}#wall-setup-link{font-size:12px}#wall-admin-dialog{width:min(560px,calc(100dvw - 22px));max-width:calc(100dvw - 22px)}

.calendar-event-choice{display:flex;align-items:flex-start;gap:12px;min-height:44px;cursor:pointer}.calendar-event-choice input{flex:0 0 auto;width:22px;height:22px;margin:3px 0 0;accent-color:var(--ink)}.calendar-event-choice>span{min-width:0}.calendar-event-choice .micro-copy{display:block;margin-top:4px}

.school-event-date{flex:0 1 120px;max-width:45%;min-width:0;overflow-wrap:anywhere}.school-event-title{flex:1;min-width:0;overflow-wrap:anywhere}

.calendar-source-card{padding:12px 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.calendar-source-card p{margin:6px 0}.calendar-source-card strong{display:block}#calendar-remove-events{max-height:240px;overflow:auto;padding-left:24px;overflow-wrap:anywhere}#calendar-remove-review{margin-top:16px}#calendar-remove-word{display:block;width:100%;max-width:280px;min-height:44px;margin:8px 0}#calendar-remove-summary{overflow-wrap:anywhere}

.calendar-agenda-filters{display:grid;gap:12px}.calendar-agenda-filters .field{margin:0}.calendar-agenda-filters input,.calendar-agenda-filters select{width:100%;min-width:0;min-height:44px}#calendar-agenda-dialog button{min-width:44px;min-height:44px}#calendar-agenda-rows{list-style:none;padding:0;max-height:45vh;overflow:auto}.calendar-agenda-event{padding:12px 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.calendar-agenda-event p{margin:4px 0}

.calendar-source-card details{margin:8px 0;font-size:13px}.calendar-source-card details summary{cursor:pointer;min-height:44px;padding:10px 0}.calendar-source-card details ul{max-height:220px;overflow:auto;padding-left:22px;overflow-wrap:anywhere}

#task-activity-title{overflow-wrap:anywhere}#task-activity-entries{padding:0;list-style:none;max-height:52vh;overflow:auto}.task-activity-entry{padding:14px 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.task-activity-entry h3{margin:0 0 6px;font-size:17px}.task-activity-entry dt{font-weight:700;font-size:13px;margin-top:9px}.task-activity-entry dd{margin:3px 0;font-size:14px}.task-activity-entry summary{min-height:44px;padding:10px 0;cursor:pointer}.task-activity-entry ul{padding-left:22px}.task-activity-note{white-space:pre-wrap;font-size:14px}
#story-review-dialog{max-height:calc(100dvh - 32px);overflow:auto}#story-review-title,#story-template-copy,#story-template-idea{overflow-wrap:anywhere}#story-template-copy{white-space:pre-wrap;max-height:42dvh;overflow:auto;line-height:1.7}#story-review-dialog button,#story-theme{min-height:44px;min-width:44px}#story-review-dialog .check-row{display:flex;gap:12px;align-items:center;min-height:44px;margin:12px 0}#story-review-dialog .check-row input{flex:0 0 auto;width:24px;height:24px}
#kids-game-dialog{max-height:calc(100dvh - 32px);overflow:auto}#kids-game-title,#kids-game-story{overflow-wrap:anywhere}#kids-game-story{white-space:pre-wrap;font-size:clamp(18px,2vw,26px);line-height:1.6;max-height:50dvh;overflow:auto}#kids-game-dialog button,#kids-game-answer{min-height:44px;min-width:44px}#kids-games-library h3{margin-top:0}
#point-deduction-dialog{max-height:calc(100dvh - 32px);overflow:auto}#point-deduction-title{overflow-wrap:anywhere}#point-deduction-dialog button,#point-deduction-dialog input[type=number],#point-deduction-dialog textarea,[data-point-deduction]{min-height:44px;min-width:44px}#point-deduction-dialog .check-row{min-height:44px;display:flex;align-items:center;gap:12px}#point-deduction-dialog .check-row input{flex:0 0 auto;width:24px;height:24px}
#point-activity-title{overflow-wrap:anywhere}#point-activity-entries{padding:0;list-style:none;max-height:52vh;overflow:auto}
#point-activity-dialog button,#point-activity-filter,[data-point-history]{min-height:44px;min-width:44px}
#point-activity-dialog[open]{display:flex;flex-direction:column;max-height:calc(100dvh - 32px);overflow:hidden}#point-activity-dialog>:not(#point-activity-entries){flex-shrink:0}#point-activity-entries{min-height:0;flex:1}

.ideas-pagination{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--border)}
.idea-page-controls{display:flex;gap:8px;flex-wrap:wrap}
.idea-page-controls .idea-button{min-height:44px;min-width:88px;font-size:12px}

/* The dim wall view retains every fixed deadline; long lists remain scrollable. */
.idle-content{width:100%;max-width:1400px;max-height:100vh;overflow-y:auto}
.idle-deadlines{width:min(1120px,100%);margin:24px auto 0;padding:14px 18px;border:1px solid #365166;border-radius:14px;background:#102433;color:#c9dce3;text-align:left}
#idle-deadline-heading{font-size:20px;line-height:1.4}
#idle-deadline-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;list-style:none;margin:12px 0 0;padding:0;max-height:30vh;overflow-y:auto;overscroll-behavior:contain}
#idle-deadline-items li{display:flex;flex-direction:column;gap:3px;min-width:0;overflow-wrap:anywhere;font-size:clamp(18px,1.2vw,22px);line-height:1.4;padding:5px 8px;border-left:2px solid #50768d}
.idle-deadline-date{color:#b3d7d1;font-weight:700}
@media(max-height:700px) and (min-width:851px){.idle-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:24px;padding:14px}.idle-main{min-width:0}#idle-clock{font-size:clamp(52px,8vw,96px);letter-spacing:-3px}#idle-date{font-size:24px;margin:8px 0 12px}#idle-summary{font-size:20px}.idle-kicker{font-size:12px;letter-spacing:2px;margin-bottom:10px}.idle-wake{margin-top:14px}.idle-deadlines{margin:0;padding:12px}#idle-deadline-heading{font-size:18px}#idle-deadline-items{grid-template-columns:minmax(0,1fr);max-height:64vh;gap:8px}#idle-deadline-items li{font-size:16px}}
@media(max-width:850px){#idle-screen{display:none!important}}
#note-error:empty{display:none}
#note-error{overflow-wrap:anywhere;margin-bottom:0}
.browser-recovery-warning{margin-bottom:24px;overflow-wrap:anywhere}.browser-recovery-warning h2{margin-top:0}.browser-recovery-warning p{max-width:70ch}.browser-recovery-actions{display:flex;flex-wrap:wrap;gap:12px}.browser-recovery-actions button{min-height:44px;white-space:normal;text-align:left}.browser-recovery-mode .work-layout,.browser-recovery-mode .stat-grid,.browser-recovery-mode #critical-deadlines,.browser-recovery-mode #repeat-suggestions,.browser-recovery-mode #board-tools,.browser-recovery-mode #mobile-talk{display:none}

/* Bounded device-local To-dos reading sizes; no zoom, hidden content or data edit. */
:root[data-task-text-size="large"]{--task-reading-title:18px;--task-reading-copy:14px;--task-reading-meta:13px;--task-reading-tag:12px;--task-reading-step:16px;--task-reading-heading:23px}
:root[data-task-text-size="extra-large"]{--task-reading-title:22px;--task-reading-copy:17px;--task-reading-meta:15px;--task-reading-tag:14px;--task-reading-step:19px;--task-reading-heading:26px}
:root:is([data-task-text-size="large"],[data-task-text-size="extra-large"]) .task-panel h2{font-size:var(--task-reading-heading)}
:root:is([data-task-text-size="large"],[data-task-text-size="extra-large"]) .task-panel .task-title{font-size:var(--task-reading-title)}
:root:is([data-task-text-size="large"],[data-task-text-size="extra-large"]) .task-panel :is(.task-description,.step-notes,.step-add,.step-edit){font-size:var(--task-reading-copy)}
:root:is([data-task-text-size="large"],[data-task-text-size="extra-large"]) .task-panel :is(.task-meta,.steps-heading,.tab,.task-buttons .icon-btn){font-size:var(--task-reading-meta)}
:root:is([data-task-text-size="large"],[data-task-text-size="extra-large"]) .task-panel .tag{font-size:var(--task-reading-tag)}
:root:is([data-task-text-size="large"],[data-task-text-size="extra-large"]) .task-panel .step-name{font-size:var(--task-reading-step);overflow-wrap:anywhere}
:root[data-theme="citrus"] .browser-recovery-actions .primary-btn{color:#07222c}

#homework-error:empty{display:none}
#homework-error{overflow-wrap:anywhere}
#homework-time-retry,#homework-time-reset{min-height:44px}
#cloud-export-recovery,#export-shared-btn{min-height:44px;min-width:44px;}

/* Keep item correction beside its original entry without shrinking touch targets. */
.list-item-actions{display:flex;flex-direction:column;gap:4px;flex:0 0 44px}
.list-item-edit{min-width:44px;min-height:44px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text);font-size:12px}
#list-detail-dialog{overflow-wrap:anywhere}
#list-detail-dialog button{min-height:44px}
#list-detail-dialog .close-dialog{min-width:44px}
#list-detail-name,#list-detail-notes{width:100%;min-width:0}

:root[data-theme="citrus"] .primary-btn,:root[data-theme="citrus"] .quick-form button{color:#07222c}

.list-items{scrollbar-gutter:stable;padding-right:4px}
.list-item-delete{color:var(--muted)}

.note-body{min-width:0}
.notes-list{scrollbar-gutter:stable;padding-right:4px}
.note-actions{display:flex;flex-direction:column;gap:4px;flex:0 0 44px}
.edit-note{min-width:44px;min-height:44px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text);font-size:12px}
#note-edit-dialog{overflow-wrap:anywhere}
#note-edit-dialog button{min-height:44px}
#note-edit-dialog .close-dialog{min-width:44px}
#note-edit-text{width:100%;min-width:0}

.idea-actions{display:grid;grid-template-columns:repeat(2,44px);gap:4px}
.idea-actions .idea-button{min-width:44px;min-height:44px;font-size:12px}
.idea-actions [data-idea-action="promote"]{grid-column:1 / -1}
#idea-edit-dialog{overflow-wrap:anywhere}
#idea-edit-dialog button{min-height:44px}
#idea-edit-dialog .close-dialog{min-width:44px}
#idea-edit-text,#idea-edit-project{width:100%;min-width:0}

#assistant-chat .assistant-choice{min-width:44px;min-height:44px}
#assistant-chat.has-choices{max-height:480px}
#assistant-chat .assistant-choice{max-width:100%;overflow-wrap:anywhere}
#assistant-chat .chat-line{overflow-wrap:anywhere}

/* Family-note reading size is a bounded browser preference, never a saved-note edit. */
:root[data-notes-text-size="large"] .note-body{font-size:17px}
:root[data-notes-text-size="large"] .note-body small{font-size:14px}
:root[data-notes-text-size="extra-large"] .note-body{font-size:21px}
:root[data-notes-text-size="extra-large"] .note-body small{font-size:16px}

/* List reading size never edits selected list, checked state or saved details. */
:root[data-list-text-size="large"] .list-item-content{font-size:17px}
:root[data-list-text-size="large"] .list-item-content small,:root[data-list-text-size="large"] #list-summary{font-size:14px}
:root[data-list-text-size="extra-large"] .list-item-content{font-size:21px}
:root[data-list-text-size="extra-large"] .list-item-content small,:root[data-list-text-size="extra-large"] #list-summary{font-size:16px}

/* Idea reading size changes presentation, never project links or saved possibilities. */
:root[data-idea-text-size="large"] .idea-text{font-size:17px}
:root[data-idea-text-size="large"] .idea-project{font-size:14px}
:root[data-idea-text-size="extra-large"] .idea-text{font-size:21px}
:root[data-idea-text-size="extra-large"] .idea-project{font-size:16px}

/* Three bounded, device-local reading sizes for Ask Pena Hub. */
:root[data-assistant-text-size="large"]{--assistant-reading-copy:16px;--assistant-reading-control:14px;--assistant-reading-meta:13px;--assistant-reading-heading:23px}
:root[data-assistant-text-size="extra-large"]{--assistant-reading-copy:19px;--assistant-reading-control:16px;--assistant-reading-meta:15px;--assistant-reading-heading:26px}
:root:is([data-assistant-text-size="large"],[data-assistant-text-size="extra-large"]) #assistant-section :is(.chat-line,.assistant-choice,#quick-input){font-size:var(--assistant-reading-copy)}
/* Keep manual retry reachable on narrow phones as well as the wall. */
.quick-form button{min-width:44px;min-height:44px;flex-shrink:0}
:root:is([data-assistant-text-size="large"],[data-assistant-text-size="extra-large"]) #assistant-section h2{font-size:var(--assistant-reading-heading)}
:root:is([data-assistant-text-size="large"],[data-assistant-text-size="extra-large"]) #assistant-section :is(.voice-btn,.ai-unlock){font-size:var(--assistant-reading-control);min-height:44px;min-width:0;white-space:normal;overflow-wrap:anywhere}
:root:is([data-assistant-text-size="large"],[data-assistant-text-size="extra-large"]) #assistant-section :is(.ai-status,.voice-auto-option){font-size:var(--assistant-reading-meta)}
:root:is([data-assistant-text-size="large"],[data-assistant-text-size="extra-large"]) #assistant-chat{max-height:min(50vh,480px)}

/* Bounded maintenance/bill labels; the fixed summary keeps its position and scrolling. */
:root[data-deadline-text-size="large"]{--deadline-reading-title:17px;--deadline-reading-date:15px;--deadline-reading-meta:13px;--deadline-reading-heading:23px}
:root[data-deadline-text-size="extra-large"]{--deadline-reading-title:21px;--deadline-reading-date:18px;--deadline-reading-meta:15px;--deadline-reading-heading:26px}
:root:is([data-deadline-text-size="large"],[data-deadline-text-size="extra-large"]) #attention-section h2{font-size:var(--deadline-reading-heading)}
:root:is([data-deadline-text-size="large"],[data-deadline-text-size="extra-large"]) #attention-section .due-title{font-size:var(--deadline-reading-title);overflow-wrap:anywhere}
:root:is([data-deadline-text-size="large"],[data-deadline-text-size="extra-large"]) #attention-section .deadline-date{font-size:var(--deadline-reading-date);max-width:100%;text-align:left;padding-left:22px;overflow-wrap:anywhere}
:root:is([data-deadline-text-size="large"],[data-deadline-text-size="extra-large"]) :is(#attention-section .micro-copy,#critical-deadlines strong,#critical-deadline-count){font-size:var(--deadline-reading-meta)}
:root:is([data-deadline-text-size="large"],[data-deadline-text-size="extra-large"]) .critical-deadline-date{font-size:var(--deadline-reading-date)}
:root:is([data-deadline-text-size="large"],[data-deadline-text-size="extra-large"]) .critical-deadline-name{font-size:var(--deadline-reading-title)}

:root:is([data-deadline-text-size="large"],[data-deadline-text-size="extra-large"]) #attention-section .deadline-item{flex-direction:column;align-items:stretch}
:root:is([data-deadline-text-size="large"],[data-deadline-text-size="extra-large"]) #attention-section .due-detail{align-items:flex-start}

:root:is([data-deadline-text-size="large"],[data-deadline-text-size="extra-large"]) #attention-section .text-action{font-size:var(--deadline-reading-meta);min-height:44px;white-space:normal}

/* Device-local Family corner reading. Pictures and consequential dialog controls retain their rules. */
:root[data-family-text-size="large"]{--family-reading-copy:16px;--family-reading-title:17px;--family-reading-meta:14px;--family-reading-control:13px;--family-reading-count:18px;--family-reading-heading:23px}
:root[data-family-text-size="extra-large"]{--family-reading-copy:19px;--family-reading-title:21px;--family-reading-meta:16px;--family-reading-control:15px;--family-reading-count:22px;--family-reading-heading:26px}
:root:is([data-family-text-size="large"],[data-family-text-size="extra-large"]) #family-section .family-view{font-size:var(--family-reading-copy)}
:root:is([data-family-text-size="large"],[data-family-text-size="extra-large"]) #family-section h2{font-size:var(--family-reading-heading)}
:root:is([data-family-text-size="large"],[data-family-text-size="extra-large"]) #family-section :is(h3,.kid-card strong,.school-event-title){font-size:var(--family-reading-title)}
:root:is([data-family-text-size="large"],[data-family-text-size="extra-large"]) #family-section .kid-score{font-size:var(--family-reading-count)}
:root:is([data-family-text-size="large"],[data-family-text-size="extra-large"]) #family-section :is(.micro-copy,.kid-reward,.buddy-name,.buddy-overflow,.school-event-date,.kid-card small,.checkin-controls label){font-size:var(--family-reading-meta)}
:root:is([data-family-text-size="large"],[data-family-text-size="extra-large"]) #family-section button{font-size:var(--family-reading-control);min-height:44px;min-width:44px;white-space:normal;overflow-wrap:anywhere;max-width:100%}
:root:is([data-family-text-size="large"],[data-family-text-size="extra-large"]) #family-section .feature-tab{min-width:105px}
:root:is([data-family-text-size="large"],[data-family-text-size="extra-large"]) #family-section .school-event{flex-direction:column;align-items:stretch;gap:5px}
:root:is([data-family-text-size="large"],[data-family-text-size="extra-large"]) #family-section .school-event-date{flex:initial;max-width:100%}
:root:is([data-family-text-size="large"],[data-family-text-size="extra-large"]) #family-section .kid-head{flex-wrap:wrap}
:root:is([data-family-text-size="large"],[data-family-text-size="extra-large"]) #family-section .checkin-controls{display:flex;flex-direction:column;align-items:stretch}
:root:is([data-family-text-size="large"],[data-family-text-size="extra-large"]) #family-section .checkin-controls label{flex-wrap:wrap}
:root:is([data-family-text-size="large"],[data-family-text-size="extra-large"]) #family-section #homework-time{font-size:var(--family-reading-copy);width:100%;min-width:0;min-height:44px}
:root:is([data-family-text-size="large"],[data-family-text-size="extra-large"]) #family-section .feature-toggle{min-height:44px}

#family-section .micro-copy{color:var(--muted)}

/* Task review keeps native date controls inside narrow phones and touch-sized. */
#task-dialog .two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
#task-dialog .field{min-width:0}
#task-dialog :is(input:not([type="checkbox"]),select,textarea){min-width:0;max-width:100%;min-height:44px}
#task-dialog button{min-width:44px;min-height:44px}
#task-dialog .close-dialog{display:grid;place-items:center}
@media(max-width:600px){#task-dialog .two-col{grid-template-columns:minmax(0,1fr)}}
#kids-games-library > [data-kids-voice-notice],#kids-voice-retry{grid-column:1 / -1}
#kids-voice-retry{min-width:44px;min-height:48px;max-width:100%;white-space:normal;overflow-wrap:anywhere;justify-self:start}

/* Saved gift reviews remain readable and reachable on phones. */
#gift-dialog{width:min(460px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;overflow-wrap:anywhere}
#gift-dialog .field{display:block;min-width:0}
#gift-dialog :is(input:not([type="hidden"]),select,textarea){min-width:0;max-width:100%;min-height:44px;font-size:16px}
#gift-dialog button{min-width:44px;min-height:44px}
#gift-dialog .close-dialog{display:grid;place-items:center}
#gift-dialog .form-actions{flex-wrap:wrap}
#booking-dialog button,#booking-dialog input:not([type="checkbox"]),#booking-dialog textarea{min-height:44px}
#booking-dialog .close-dialog{min-width:44px;display:grid;place-items:center;flex-shrink:0}
#booking-dialog .form-actions{flex-wrap:wrap}
#booking-dialog h2,#booking-dialog p,#booking-saved-status{overflow-wrap:anywhere}
#booking-dialog .feature-toggle{align-items:flex-start}
#booking-calendar-panel{margin:18px 0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
#booking-calendar-panel[hidden]{display:none}
#booking-calendar-panel h3{margin:0 0 12px;font-size:1rem}
.booking-calendar-detail{margin:12px 0}
.booking-calendar-detail summary{min-height:44px;display:list-item;cursor:pointer;font-weight:650;overflow-wrap:anywhere}
.booking-calendar-rows{max-height:320px;overflow:auto;padding-left:20px;margin:8px 0;overflow-wrap:anywhere}
.booking-calendar-rows li{margin:0 0 12px}
#gift-dialog select:disabled{opacity:1;color:var(--text);-webkit-text-fill-color:var(--text)}
#birthday-dialog button,#birthday-open{min-width:44px;min-height:44px}
#birthday-dialog :is(input:not([type="checkbox"]),select){min-width:0;max-width:100%;min-height:44px;font-size:16px}
#birthday-dialog .feature-toggle{min-height:44px}
#birthday-saved summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
#birthday-saved-list :is(strong,p){overflow-wrap:anywhere}
#day-recap-dialog button,#day-recap-open{min-width:44px;min-height:44px}
#day-recap-body :is(p,li){overflow-wrap:anywhere}
#evening-recap-settings{margin-block:12px}
#evening-recap-settings summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
#evening-recap-settings button,#evening-recap-ready button{min-width:44px;min-height:44px}
#evening-recap-time{min-width:0;max-width:100%;min-height:44px;font-size:16px}

/* Exact audio hashes and reviewed words must fit the parent phone dialog. */
#audio-review-dialog{width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;overflow-wrap:anywhere}
#audio-review-dialog :is(input:not([type="checkbox"]),select,textarea){min-width:0;max-width:100%;min-height:44px;font-size:16px}
#audio-review-dialog button,#audio-review-dialog summary{min-height:44px}
#audio-review-dialog .form-actions{flex-wrap:wrap}
#audio-review-jobs details p,#audio-review-pending{white-space:pre-wrap}

#playback-admin-dialog{width:min(680px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;overflow-wrap:anywhere}
#playback-admin-dialog :is(input:not([type="checkbox"]),select,textarea){min-width:0;max-width:100%;min-height:44px;font-size:16px}
#playback-admin-dialog button{min-height:44px}
#playback-admin-dialog .form-actions{flex-wrap:wrap}
#playback-admin-setup{width:100%;box-sizing:border-box}
#song-schedule-dialog{width:min(680px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;overflow-wrap:anywhere}
#song-schedule-dialog :is(input:not([type="checkbox"]),select){min-width:0;max-width:100%;min-height:44px;font-size:16px}
#song-schedule-dialog button{min-height:44px;max-width:100%;white-space:normal}
#song-schedule-dialog .field{min-width:0}
#song-schedule-dialog .form-actions{flex-wrap:wrap}

#google-background-dialog{width:min(680px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;overflow-wrap:anywhere}
#google-background-dialog button{min-width:44px;min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
#google-background-dialog .close-dialog{display:grid;place-items:center;flex-shrink:0}
#google-background-dialog .field{display:block;min-width:0}
#google-background-dialog :is(input:not([type="checkbox"]),textarea){width:100%;min-width:0;max-width:100%;min-height:44px;font-size:16px}
#google-background-dialog .two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
#google-background-dialog .form-actions{flex-wrap:wrap}
#google-background-dialog .feature-toggle{min-height:44px}
@media(max-width:600px){#google-background-dialog .two-col{grid-template-columns:minmax(0,1fr)}}

#booking-reminder-dialog{width:min(660px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;overflow-wrap:anywhere}
#booking-reminder-dialog button,#booking-reminder-dialog .feature-toggle{min-height:44px;max-width:100%;white-space:normal}
#booking-reminder-dialog :is(input:not([type="checkbox"]),select){min-width:0;max-width:100%;min-height:44px;font-size:16px}
#booking-reminder-dialog .field{min-width:0}
#booking-reminder-dialog [hidden]{display:none!important}
#booking-reminder-dialog section{margin-block:20px;padding-top:12px;border-top:1px solid var(--line)}
#booking-reminder-devices label{align-items:flex-start}
#booking-reminder-summary,#booking-reminder-result{white-space:pre-wrap}
@media(max-width:600px){#booking-reminder-dialog .two-col{grid-template-columns:minmax(0,1fr)}}
