:root{color:#1f2d2a;font-synthesis:none;text-rendering:optimizelegibility;background:#f8f3e7;font-family:Inter,ui-rounded,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px}*{box-sizing:border-box}body{background:#f8f3e7;min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input,textarea,select{font:inherit}button{touch-action:manipulation}.app-shell{min-height:100vh;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:linear-gradient(#a8def447,#0000 34%),#f8f3e7;flex-direction:column;gap:12px;display:flex}.top-bar{justify-content:space-between;align-items:center;gap:16px;display:flex}.top-bar h1{letter-spacing:0;margin:0;font-size:1.65rem}.top-bar p{color:#52645f;margin:2px 0 0;font-weight:600}.parent-open,.icon-button{color:#213733;background:#fff;border:2px solid #213733;border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.parent-open svg,.icon-button svg,.action-button svg{width:22px;height:22px}.sentence-area{grid-template-columns:minmax(0,1fr) auto auto;align-items:stretch;gap:10px;display:grid}.sentence-strip{overflow-wrap:anywhere;background:#fff;border:3px solid #243a36;border-radius:8px;align-items:center;min-height:64px;padding:10px 16px;font-size:1.45rem;font-weight:800;display:flex}.action-button{color:#fff;border:0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:96px;font-weight:800;display:inline-flex}.speak-button{background:#246b5f}.clear-button{background:#8b3d3d}.routine-strip{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:56px;display:grid}.routine-current{background:#fff5cc;border:2px solid #b69f5c;border-radius:8px;align-items:center;gap:10px;min-height:56px;padding:8px 12px;font-weight:900;display:flex}.routine-icon{font-size:1.6rem}.routine-arrow{color:#7d6720}.routine-step{white-space:nowrap}.routine-choices{gap:8px;display:flex}.routine-choice{background:#fff;border:2px solid #b69f5c;border-radius:8px;width:48px;height:48px;font-size:1.35rem}.routine-choice.active{background:#ffe08a}.quick-phrases{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.quick-phrase{background:#fff;border:2px solid #d1b9d8;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:54px;font-weight:850;display:flex}.workspace{flex:1;grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr);gap:12px;min-width:0;min-height:0;display:grid}.board-section,.scene-section{flex-direction:column;gap:10px;min-width:0;min-height:0;display:flex}.category-panel,.scene-tabs{flex-wrap:wrap;gap:8px;min-width:0;padding-bottom:0;display:flex;overflow:visible}.category-tab,.scene-tab{border:2px solid color-mix(in srgb, var(--tab-color,#d8d8d8), #333 18%);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-width:108px;min-height:58px;font-weight:850;display:inline-flex}.category-tab{flex:116px}.category-tab.active,.scene-tab.active{background:var(--tab-color,#a8def4);box-shadow:inset 0 0 0 3px #ffffffbf}.aac-grid{flex:1;grid-auto-rows:minmax(94px,1fr);gap:10px;min-height:0;display:grid}.density-2x3{grid-template-columns:repeat(3,minmax(0,1fr))}.density-3x4{grid-template-columns:repeat(4,minmax(0,1fr))}.density-4x5{grid-template-columns:repeat(5,minmax(0,1fr))}.aac-button{border:3px solid color-mix(in srgb, var(--button-color), #333 28%);background:var(--button-color);color:#17231f;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:94px;font-weight:900;display:flex;overflow:hidden}.aac-button:active{transform:translateY(1px)scale(.99)}.aac-icon{font-size:2.1rem;line-height:1}.aac-label{text-align:center;overflow-wrap:anywhere;max-width:100%;padding:0 4px;font-size:1.05rem;line-height:1.05}.scene-section{border-left:2px solid #243a3629;padding-left:12px}.scene-tab{border-color:#8fb4bb}.scene-board{background:#d9f2f3;border:3px solid #3b5960;border-radius:8px;flex:1;min-height:300px;position:relative;overflow:hidden}.scene-board.dense-scene{grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:8px;padding:54px 10px 10px;display:grid;overflow-y:auto}.scene-board.kitchen{background:linear-gradient(#e9fbff 0 42%,#f7e0b2 42% 100%)}.scene-board.bathroom{background:linear-gradient(#dff7ff 0 45%,#b8edf0 45% 100%)}.scene-board.bedroom{background:linear-gradient(#e5ddff 0 45%,#f5e8ce 45% 100%)}.scene-title{background:#ffffffe0;border-radius:8px;padding:6px 10px;font-weight:900;position:absolute;top:10px;left:10px}.scene-hotspot{background:#fff;border:2px solid #2d535c;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:92px;min-height:56px;font-weight:850;display:flex;position:absolute;transform:translate(-50%,-50%)}.dense-scene .scene-hotspot{width:100%;min-width:0;min-height:58px;position:static;transform:none}.delight-pop{background:#fff;border:3px solid #243a36;border-radius:8px;padding:12px 18px;font-size:1.4rem;font-weight:900;animation:.9s both pop;position:fixed;bottom:24px;right:24px}@keyframes pop{0%{opacity:0;transform:translateY(10px)scale(.92)}20%,75%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-8px)scale(.96)}}.parent-panel{z-index:10;background:#fffdf8;border:3px solid #243a36;border-radius:8px;flex-direction:column;gap:14px;padding:18px;display:flex;position:fixed;inset:16px;overflow:auto;box-shadow:0 18px 60px #12201d47}.parent-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.parent-header h2{margin:0;font-size:1.45rem}.field-label{font-weight:900}.parent-input{border:2px solid #879995;border-radius:8px;min-height:48px;padding:8px 10px;font-weight:700}.parent-textarea{border:2px solid #879995;border-radius:8px;min-height:128px;padding:8px 10px;font:700 .85rem ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.search-results{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.search-results li{background:#f7fbfa;border:1px solid #c9d4d1;border-radius:8px;gap:2px;padding:8px;display:grid}.search-results strong,.search-results span,.search-results em{overflow-wrap:anywhere}.search-results em{color:#566a64;font-style:normal;font-weight:800}.parent-section{border:2px solid #d9e2df;border-radius:8px;gap:8px;padding:12px;display:grid}.parent-section h3{margin:0}.checkbox-row{align-items:center;gap:8px;font-weight:850;display:flex}.checkbox-row input{width:22px;height:22px}.backup-actions{flex-wrap:wrap;gap:8px;display:flex}.parent-command{color:#243a36;background:#fff;border:2px solid #243a36;border-radius:8px;min-height:42px;padding:8px 12px;font-weight:900}.parent-command.primary{color:#fff;background:#246b5f}.parent-command.danger{color:#fff;background:#8b3d3d}.parent-message{background:#e7f0dc;border-radius:8px;margin:0;padding:10px;font-weight:900}.parent-summary{flex-wrap:wrap;gap:8px;display:flex}.parent-summary span{background:#f2f7f5;border:1px solid #c9d4d1;border-radius:8px;padding:8px 10px;font-weight:800}.high-contrast{color:#000;background:#fff}.high-contrast .aac-button,.high-contrast .quick-phrase,.high-contrast .category-tab,.high-contrast .scene-hotspot{border-color:#000}.larger-buttons .aac-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.larger-buttons .aac-button{min-height:120px}.reduced-motion *,.reduced-motion :before,.reduced-motion :after{transition-duration:.001ms!important;animation-duration:.001ms!important}@media (width<=820px){.app-shell{gap:10px}.sentence-area{grid-template-columns:1fr 74px 74px}.action-button{min-width:0;font-size:.85rem}.quick-phrases{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{grid-template-columns:1fr}.density-3x4,.density-4x5{grid-template-columns:repeat(3,minmax(0,1fr))}.scene-section{border-left:0;padding-left:0}.scene-board{min-height:260px}}@media (width<=560px){.top-bar h1{font-size:1.3rem}.top-bar p{display:none}.sentence-strip{font-size:1.05rem}.density-3x4,.density-4x5{grid-template-columns:repeat(2,minmax(0,1fr))}}
