:root{--primary-color: #1a6bb7;--primary-dark: #0d4b88;--primary-soft: #e8f1fa;--accent-warm: #d97706;--accent-warm-soft: #fef3c7;--accent-teal: #0e7c69;--accent-teal-soft: #e6f7f4;--secondary-color: #eef2f6;--surface-color: #f5f7fa;--surface-strong: #ffffff;--text-color: #0f172a;--text-soft: #475569;--text-muted: #94a3b8;--bg-color: #ffffff;--border-color: #e2e8f0;--border-strong: #cbd5e1;--danger: #dc2626;--success: #16a34a;--warning: #d97706;--focus-ring: rgba(26, 107, 183, .32);--shadow-xs: 0 1px 2px rgba(15, 23, 42, .05);--shadow-soft: 0 4px 16px rgba(15, 23, 42, .06);--shadow-card: 0 8px 24px rgba(15, 23, 42, .08);--shadow-elevated: 0 16px 40px rgba(15, 23, 42, .12);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 22px;--radius-pill: 999px;--space-xs: .35rem;--space-sm: .65rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.25rem;--motion-fast: .18s ease;--motion-default: .28s cubic-bezier(.2, .8, .2, 1);--motion-enter: .42s cubic-bezier(.2, .8, .2, 1);--motion-soft: .52s cubic-bezier(.16, 1, .3, 1);--font-body: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--text-xs: .78rem;--text-sm: .88rem;--text-base: 1.05rem;--text-lg: 1.2rem;--text-xl: 1.45rem;--text-2xl: 1.75rem;--text-3xl: 2.1rem;--theme-transition: .3s ease}*{box-sizing:border-box;margin:0;padding:0;font-family:var(--font-body)}body{background:var(--surface-color);color:var(--text-color);min-height:100dvh;min-height:100vh;display:flex;justify-content:center;font-size:var(--text-base);line-height:1.7;letter-spacing:.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;transition:background-color var(--theme-transition),color var(--theme-transition)}@supports (min-height: 100dvh){body{min-height:100dvh}}body.focus-mode{background:var(--secondary-color)}@media(display-mode:standalone){.navbar{padding-top:max(.85rem,env(safe-area-inset-top))}}button,input,select,textarea{font:inherit;touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--primary-color);outline-offset:3px}h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-color);line-height:1.3;font-weight:600}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}p,li{color:var(--text-soft)}.app-container{width:100%;max-width:720px;background:var(--bg-color);box-shadow:var(--shadow-elevated);display:flex;flex-direction:column;min-height:100dvh;min-height:100vh;border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);padding-bottom:env(safe-area-inset-bottom);transition:background-color var(--theme-transition),border-color var(--theme-transition)}@supports (min-height: 100dvh){.app-container{min-height:100dvh}}.desktop-shell .app-container{max-width:1040px}.navbar{background:var(--primary-dark);color:#fff;padding:.85rem 1.25rem;padding-top:max(.85rem,env(safe-area-inset-top));padding-left:max(1.25rem,env(safe-area-inset-left));padding-right:max(1.25rem,env(safe-area-inset-right));display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden;flex-wrap:wrap;gap:.5rem}.mdr-badge{order:3;flex-basis:100%;display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:.5rem;padding:.45rem .9rem;background:#ffffff26;border:1px solid rgba(255,255,255,.35);border-radius:999px;font-size:.78rem;color:#fff;font-weight:500;letter-spacing:.01em;text-align:center;position:relative;z-index:1}.mdr-badge-icon{font-size:.85rem;opacity:.85}@media(min-width:600px){.mdr-badge{font-size:.78rem}}.brand{display:flex;align-items:center;gap:.8rem;position:relative;z-index:1;min-width:0}.logo-mark{width:52px;height:52px;border-radius:14px;object-fit:cover;background:#fffffff2;border:2px solid rgba(255,255,255,.6);box-shadow:0 6px 20px #08233d40,0 0 0 1px #ffffff26;flex:0 0 auto}.logo-copy{display:flex;flex-direction:column;min-width:0}.navbar:after{content:"";position:absolute;width:220px;height:220px;right:-90px;top:-120px;border-radius:50%;background:#ffffff1c}.logo{font-size:var(--text-xl);font-weight:600;letter-spacing:.02em;color:#fff}.logo-subtitle{font-size:var(--text-xs);color:#ffffffb8;letter-spacing:.02em}.user-status{font-size:.92rem;color:#ffffffe6;position:relative;z-index:1}body.focus-mode .navbar{display:none}.content{flex:1 0 auto;padding:1.25rem;padding-left:max(1.25rem,env(safe-area-inset-left));padding-right:max(1.25rem,env(safe-area-inset-right))}body.focus-mode .content{padding:max(1rem,env(safe-area-inset-top)) 1rem 1.5rem}.intro-copy{margin-top:.75rem;color:var(--text-soft);line-height:1.65}.hero-panel{position:relative;overflow:hidden;display:grid;grid-template-columns:1.4fr .9fr;gap:var(--space-md);padding:var(--space-lg);border-radius:var(--radius-lg);background:radial-gradient(ellipse at 100% 0%,rgba(14,124,105,.35),transparent 55%),radial-gradient(ellipse at 0% 100%,rgba(26,107,183,.2),transparent 50%),linear-gradient(145deg,#0c3558,#155a94,#0b6b5a);color:#fff;box-shadow:var(--shadow-elevated)}.hero-panel:before{content:"";position:absolute;inset:auto -60px -70px auto;width:240px;height:240px;border-radius:50%;background:#ffffff14}.hero-panel:after{content:"";position:absolute;inset:auto auto -40px -30px;width:180px;height:180px;border-radius:50%;background:#ffffff0f;animation:drift-orb 10s ease-in-out infinite}.dashboard-hero{margin-bottom:.85rem}.dashboard-hero{background:radial-gradient(circle at top right,rgba(255,244,214,.26),transparent 32%),radial-gradient(circle at bottom left,rgba(255,214,153,.18),transparent 26%),linear-gradient(145deg,#0f4c5c,#16778b 42%,#d97345)}.onboarding-hero{margin-bottom:1rem}.hero-copy,.hero-orbit{position:relative;z-index:1}.hero-copy h2,.hero-copy p{color:#fff}.hero-copy h2{font-size:1.95rem}.hero-eyebrow{display:inline-flex;align-items:center;min-height:32px;padding:.2rem .7rem;border-radius:999px;background:#ffffff24;border:1px solid rgba(255,255,255,.18);font-size:.86rem;letter-spacing:.08em;text-transform:uppercase}.hero-pills{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.hero-pill{display:inline-flex;align-items:center;padding:.3rem .75rem;border-radius:999px;background:#ffffff24;border:1px solid rgba(255,255,255,.16);font-size:.92rem;color:#fffffff5}.hero-orbit{display:grid;align-content:center;gap:.75rem}.orb-card{padding:.95rem 1rem;border-radius:18px;border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 1px #ffffff1a}.orb-soft{background:#ffffff1f}.orb-strong{background:#0d1b2a33}.orb-label{display:block;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#ffffffd1}.orb-card strong{display:block;margin-top:.25rem;font-size:1.08rem;color:#fff}.disclaimer-box{margin-top:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);background:var(--primary-soft);border:1px solid rgba(26,107,183,.12);color:var(--primary-dark);line-height:1.65;font-size:var(--text-sm)}.weekly-plan-controls{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin-top:var(--space-sm)}.plan-control{display:flex;flex-direction:column;gap:var(--space-xs)}.plan-control-label{font-size:var(--text-xs);color:var(--text-soft);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.plan-control-row{display:flex;align-items:center;gap:var(--space-sm)}.plan-adjust-btn{width:40px;height:40px;border-radius:var(--radius-sm);border:1.5px solid var(--border-color);background:var(--surface-strong);color:var(--primary-color);font-size:var(--text-lg);font-weight:700;cursor:pointer;display:grid;place-items:center;transition:all var(--motion-fast)}.plan-adjust-btn:hover{border-color:var(--primary-color);background:var(--primary-soft)}.plan-control-value{font-size:var(--text-2xl);font-weight:700;color:var(--primary-color);min-width:2.5ch;text-align:center}.plan-dosage-hint{margin-top:var(--space-sm);font-size:var(--text-xs);color:var(--text-soft);font-style:italic}.sfa-panel{padding:var(--space-md)}.sfa-question{font-size:var(--text-xl);color:var(--primary-color);margin-bottom:var(--space-xs)}.sfa-prompt{font-size:var(--text-base);color:var(--text-soft);margin-bottom:var(--space-md)}.sfa-features{display:grid;gap:var(--space-sm)}.sfa-feature-card{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-sm);border:1.5px solid var(--border-color);background:var(--surface-color);transition:all var(--motion-fast)}.sfa-feature-card.revealed{border-color:var(--accent-teal);background:var(--accent-teal-soft)}.sfa-feature-card.active{border-color:var(--primary-color);background:var(--primary-soft);box-shadow:var(--shadow-soft)}.sfa-feature-icon{font-size:1.5rem;flex-shrink:0}.sfa-feature-content{flex:1}.sfa-feature-label{font-size:var(--text-sm);font-weight:600;color:var(--text-color);display:block;margin-bottom:.15rem}.sfa-feature-answer{font-size:var(--text-base);color:var(--text-soft);line-height:1.5;display:none}.sfa-feature-card.revealed .sfa-feature-answer{display:block}.sfa-dimension-nav{margin-top:var(--space-md);display:flex;gap:var(--space-sm)}.sfa-answer-phase{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--border-color)}.sfa-answer-phase h3{font-size:var(--text-lg);margin-bottom:var(--space-sm);text-align:center}.ios-a2hs-banner{position:fixed;left:0;right:0;bottom:0;z-index:9998;background:var(--surface-strong, #fff);color:var(--text-primary, #0f172a);border-top:1px solid var(--border-color, #e2e8f0);box-shadow:0 -4px 16px #0f172a1f;padding:.9rem 1rem calc(.9rem + env(safe-area-inset-bottom,0px)) 1rem;display:flex;align-items:center;gap:.75rem;font-size:.92rem;line-height:1.4}.ios-a2hs-banner.hidden,body.focus-mode .ios-a2hs-banner{display:none}.ios-a2hs-banner img{width:40px;height:40px;flex:0 0 auto;border-radius:8px}.ios-a2hs-banner .ios-a2hs-copy{flex:1 1 auto}.ios-a2hs-banner .ios-a2hs-copy strong{display:block;margin-bottom:.15rem}.ios-a2hs-banner .ios-a2hs-copy span{color:var(--text-secondary, #475569)}.ios-a2hs-banner .ios-share-icon{display:inline-block;width:1em;height:1em;vertical-align:-2px}.ios-a2hs-banner .ios-a2hs-close{background:transparent;border:none;font-size:1.4rem;line-height:1;color:var(--text-secondary, #64748b);cursor:pointer;padding:.25rem .5rem;border-radius:6px;flex:0 0 auto}.ios-a2hs-banner .ios-a2hs-close:hover{background:#0f172a0d}@media(prefers-color-scheme:dark){.ios-a2hs-banner .ios-a2hs-close:hover{background:#ffffff14}}.paywall-overlay{position:fixed;inset:0;z-index:9999;background:#0f172aeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:var(--space-md)}.paywall-overlay.hidden{display:none}.paywall-card{position:relative;background:var(--surface-strong);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-xl);max-width:400px;width:100%;text-align:center;box-shadow:var(--shadow-elevated)}.paywall-close-btn{position:absolute;top:.5rem;right:.5rem;width:2.25rem;height:2.25rem;border:none;background:transparent;font-size:1.75rem;line-height:1;color:var(--text-soft);cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0}.paywall-close-btn:hover,.paywall-close-btn:focus-visible{background:#0f172a14;color:var(--text-primary);outline:none}@media(prefers-color-scheme:dark){.paywall-close-btn:hover,.paywall-close-btn:focus-visible{background:#ffffff1a}}.paywall-card h2{font-size:var(--text-xl);margin-bottom:var(--space-sm)}.paywall-card>p{font-size:var(--text-base);color:var(--text-soft);line-height:1.6}.paywall-price{margin:var(--space-lg) 0}.paywall-price strong{font-size:var(--text-3xl);color:var(--primary-color)}.paywall-price span{font-size:var(--text-base);color:var(--text-muted)}.paywall-cta{display:block;width:100%;padding:1rem;font-size:var(--text-lg);font-weight:700;color:#fff;background:linear-gradient(180deg,var(--primary-color),var(--primary-dark));border:none;border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;text-align:center}.paywall-plans{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:1rem 0 .75rem}.paywall-plan-btn{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:1rem .75rem;background:#fff;color:#0f172a;border:2px solid #e2e8f0;border-radius:var(--radius-sm);font-family:inherit;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;position:relative;text-align:center}.paywall-plan-btn:hover,.paywall-plan-btn:focus-visible{transform:translateY(-2px);border-color:var(--primary-color);box-shadow:0 6px 18px #1a6bb72e}.paywall-plan-featured{border-color:var(--primary-color);background:linear-gradient(180deg,#fff,#eef5fd)}.paywall-plan-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:#d97706;color:#fff;font-size:.7rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;white-space:nowrap;letter-spacing:.02em}.paywall-plan-name{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--primary-color);font-weight:700}.paywall-plan-price{font-size:.85rem;color:#475569}.paywall-plan-price strong{font-size:1.3rem;color:#0f172a;font-weight:800;display:inline-block;margin-right:.15rem}.paywall-plan-note{font-size:.72rem;color:#64748b}html[data-theme=dark] .paywall-plan-btn{background:#1e293b;color:#e2e8f0;border-color:#334155}html[data-theme=dark] .paywall-plan-featured{background:linear-gradient(180deg,#1e293b,#1a3250);border-color:#93c5fd}html[data-theme=dark] .paywall-plan-price{color:#cbd5e1}html[data-theme=dark] .paywall-plan-price strong{color:#fff}html[data-theme=dark] .paywall-plan-note{color:#94a3b8}html[data-theme=dark] .paywall-plan-name{color:#93c5fd}.disclaimer-accept-card{max-width:440px}.disclaimer-accept-text{text-align:left;margin:var(--space-md) 0}.disclaimer-accept-text p{margin-bottom:var(--space-sm);font-size:var(--text-base);line-height:1.6}.disclaimer-checkbox-label{display:flex;align-items:center;gap:var(--space-sm);margin:var(--space-md) 0;cursor:pointer;font-size:var(--text-base);color:var(--text-color)}.disclaimer-checkbox-label input{width:22px;height:22px;accent-color:var(--primary-color)}.paywall-note{margin-top:var(--space-sm);font-size:var(--text-xs)!important;color:var(--text-muted)!important}.paywall-legal-links{margin-top:var(--space-sm);text-align:center;font-size:var(--text-xs)}.paywall-legal-links a{color:var(--primary-color);text-decoration:underline}.paywall-legal-links span{margin:0 var(--space-xs);color:var(--text-muted)}.paywall-restore-link{display:block;width:100%;margin-top:var(--space-md);padding:var(--space-sm);background:transparent;border:none;color:var(--primary-color);font-size:var(--text-sm);text-decoration:underline;cursor:pointer;font-family:inherit}.paywall-restore-link:hover,.paywall-restore-link:focus-visible{color:var(--primary-strong, var(--primary-color));outline:2px solid var(--primary-color);outline-offset:2px;border-radius:var(--radius-sm)}.restore-label{display:block;margin-top:var(--space-md);margin-bottom:var(--space-xs);font-size:var(--text-sm);font-weight:600;color:var(--text-color)}.restore-input{width:100%;padding:var(--space-sm) var(--space-md);font-size:var(--text-base);font-family:inherit;color:var(--text-color);background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:var(--space-md)}.restore-input:focus-visible{outline:2px solid var(--primary-color);outline-offset:1px;border-color:var(--primary-color)}.restore-status{margin-top:var(--space-sm);min-height:1.4em;font-size:var(--text-sm);color:var(--text-muted)}.restore-status.is-error{color:var(--danger-color, #b91c1c)}.restore-status.is-success{color:var(--success-color, #047857)}.dashboard-action-zone{text-align:center;padding:var(--space-lg) var(--space-md);margin-bottom:var(--space-md);border-radius:var(--radius-lg);background:radial-gradient(ellipse at 50% 0%,rgba(14,124,105,.08),transparent 60%),linear-gradient(180deg,var(--surface-strong),var(--surface-color));border:1px solid var(--border-color)}.dashboard-action-zone h2{font-size:var(--text-2xl);margin-bottom:var(--space-xs)}.action-zone-reason{font-size:var(--text-base);color:var(--text-soft);margin-bottom:var(--space-md)}.action-zone-btn{font-size:var(--text-lg);padding:1rem 2rem;min-height:56px;width:100%;max-width:400px}.action-zone-meta{display:flex;justify-content:center;gap:var(--space-md);margin-top:var(--space-sm);flex-wrap:wrap}.dashboard-action-zone .thematic-toggle{justify-content:center}.install-banner{position:fixed;left:max(1rem,env(safe-area-inset-left));right:max(1rem,env(safe-area-inset-right));bottom:max(1.5rem,env(safe-area-inset-bottom));z-index:10000;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:1rem 1.1rem;border-radius:22px;background:linear-gradient(135deg,#0c3558f5,#155a94f5);color:#fff;box-shadow:var(--shadow-elevated);border:1px solid rgba(255,255,255,.16)}.install-banner-copy{min-width:0}.install-banner-title{font-size:var(--text-base);font-weight:700;color:#fff}.install-banner-text{margin-top:.2rem;font-size:var(--text-sm);line-height:1.5;color:#ffffffe0}.install-banner-actions{display:flex;align-items:center;gap:.65rem;flex-shrink:0}.install-banner .primary-btn,.install-banner .secondary-btn{min-height:44px;margin-left:0}.install-banner .secondary-btn{background:#ffffff1f;border-color:#fff3;color:#fff}.install-banner .secondary-btn:hover,.install-banner .secondary-btn:focus-visible{background:#fff3;border-color:#ffffff57}.menu-wrapper{position:relative;z-index:100}.menu-toggle{width:38px;height:38px;border-radius:var(--radius-md);border:1.5px solid rgba(255,255,255,.3);background:#ffffff1f;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px;transition:all var(--motion-fast)}.menu-toggle:hover,.menu-toggle[aria-expanded=true]{background:#ffffff38}.menu-bar{display:block;width:18px;height:2px;background:#fff;border-radius:1px;transition:all .25s ease}.menu-toggle[aria-expanded=true] .menu-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-bar:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] .menu-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.menu-dropdown{position:fixed;top:60px;right:max(.75rem,env(safe-area-inset-right));min-width:220px;background:var(--surface-strong);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevated);padding:var(--space-xs) 0;animation:menu-appear .2s ease both}@keyframes menu-appear{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.menu-dropdown.hidden{display:none!important}.menu-item{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);border:none;background:none;color:var(--text-color);font-size:var(--text-base);cursor:pointer;text-align:left;transition:background var(--motion-fast)}button.menu-item:hover{background:var(--primary-soft)}.menu-icon{width:24px;text-align:center;font-size:var(--text-lg);flex-shrink:0}.menu-divider{height:1px;background:var(--border-color);margin:var(--space-xs) var(--space-md)}.menu-version{padding:.4rem var(--space-md) .55rem;font-size:.72rem;color:var(--text-muted);text-align:center;letter-spacing:.02em;-webkit-user-select:text;user-select:text}.menu-backdrop{position:fixed;inset:0;z-index:90;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:menu-appear .18s ease both}.menu-backdrop.hidden{display:none}.menu-dropdown{z-index:100;padding-top:2.9rem}.menu-close{position:absolute;top:.55rem;right:.6rem;z-index:2;width:2.1rem;height:2.1rem;padding:0;border:1px solid var(--border-color);background:var(--surface-color);color:var(--text-soft);font-size:1.05rem;line-height:1;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background var(--motion-fast),color var(--motion-fast),transform var(--motion-fast)}.menu-close:hover,.menu-close:focus-visible{background:var(--primary-soft);color:var(--primary-color);transform:scale(1.05);outline:none}.voice-toggle-row{margin-top:var(--space-sm)}.voice-toggle-row .secondary-btn{width:100%}.menu-theme{flex-wrap:wrap}.theme-switch{display:flex;gap:2px;margin-left:auto;background:var(--secondary-color);border-radius:var(--radius-md);padding:2px}.theme-opt{width:32px;height:28px;border:none;border-radius:calc(var(--radius-md) - 2px);background:transparent;color:var(--text-muted);font-size:13px;cursor:pointer;transition:all var(--motion-fast);display:grid;place-items:center}.theme-opt:hover{color:var(--text-color)}.theme-opt.active{background:var(--primary-color);color:#fff;box-shadow:var(--shadow-xs)}.about-disclaimer{margin:var(--space-md) 0;padding:var(--space-lg);border-radius:var(--radius-lg);background:linear-gradient(135deg,#fef2f2,#fff1f2);border:2px solid #fca5a5;text-align:center}.about-disclaimer h3{font-size:var(--text-lg);color:#b91c1c;margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:.05em}.about-disclaimer p{font-size:var(--text-base);line-height:1.7;color:#7f1d1d;margin-top:var(--space-xs)}.about-container{max-width:560px;margin:0 auto;padding:var(--space-md) 0 var(--space-xl)}.about-hero{text-align:center;padding:var(--space-xl) 0 var(--space-md)}.about-hero h2{font-size:var(--text-3xl);font-weight:700;color:var(--primary-color)}.about-tagline{font-size:var(--text-lg);color:var(--text-muted);margin-top:var(--space-xs)}.about-intro{font-size:var(--text-lg);line-height:1.8;color:var(--text-soft);text-align:center;margin-bottom:var(--space-lg)}.about-features{display:grid;gap:var(--space-md);margin:var(--space-lg) 0}.about-feature{display:flex;gap:var(--space-md);align-items:flex-start;padding:var(--space-md);border-radius:var(--radius-md);background:var(--surface-color);border:1px solid var(--border-color)}.about-feature-icon{font-size:1.8rem;flex-shrink:0;width:48px;height:48px;display:grid;place-items:center}.about-feature strong{display:block;font-size:var(--text-base);color:var(--text-color);margin-bottom:.2rem}.about-feature p{font-size:var(--text-sm);line-height:1.6;color:var(--text-soft);margin:0}.about-evidence{margin-top:var(--space-xl);padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--primary-soft);border:1px solid rgba(26,107,183,.12)}.about-evidence h3{font-size:var(--text-lg);color:var(--primary-color);margin-bottom:var(--space-sm)}.about-evidence p{font-size:var(--text-sm);line-height:1.7;color:var(--text-soft)}.about-evidence ul{padding-left:1.25rem;margin-top:var(--space-sm)}.about-evidence li{font-size:var(--text-sm);line-height:1.7;color:var(--text-soft);margin-bottom:var(--space-sm)}.about-data{margin-top:var(--space-lg)}.about-data h3{font-size:var(--text-lg);color:var(--text-color);margin-bottom:var(--space-sm)}.about-data p{font-size:var(--text-base);line-height:1.7;color:var(--text-soft)}.about-version{margin-top:var(--space-xl);text-align:center;font-size:var(--text-xs);color:var(--text-muted)}.caregiver-guide-container{max-width:480px;margin:0 auto;padding:var(--space-xl) var(--space-lg);text-align:center}.caregiver-guide-step h2{font-size:var(--text-2xl);margin-bottom:var(--space-md);color:var(--accent-teal)}.caregiver-guide-step p{font-size:var(--text-lg);line-height:1.7;color:var(--text-soft)}.caregiver-guide-nav{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-xl);gap:var(--space-md)}#caregiver-guide-counter{font-size:var(--text-sm);color:var(--text-muted)}.milestone-chips{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-sm)}.milestone-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .6rem;border-radius:var(--radius-pill);background:var(--accent-warm-soft);border:1px solid rgba(217,119,6,.15);font-size:var(--text-xs);font-weight:600;color:var(--accent-warm)}.milestone-chip.latest{background:linear-gradient(135deg,var(--accent-warm-soft),rgba(217,119,6,.12));border-color:var(--accent-warm)}.generalization-card{border-left:4px solid var(--accent-warm)}.generalization-choices{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-sm)}.generalization-btn{flex:1;min-width:120px}.generalization-btn.selected{border-color:var(--accent-warm);background:var(--accent-warm-soft);font-weight:700}.generalization-hint{margin-top:var(--space-sm);font-style:italic}.thematic-toggle{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);cursor:pointer;font-size:var(--text-sm);color:var(--text-soft)}.thematic-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-color)}.caregiver-hub{border-left:4px solid var(--accent-teal)}.caregiver-details{margin-top:var(--space-sm)}.caregiver-details summary{cursor:pointer;font-size:var(--text-sm);font-weight:600;color:var(--accent-teal)}.caregiver-signals{margin-top:var(--space-sm);padding:var(--space-sm);border-radius:var(--radius-sm);background:var(--accent-teal-soft)}.caregiver-actions{margin-top:var(--space-sm)}.medication-disclaimer{margin:var(--space-sm) 0;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:var(--accent-warm-soft);border:1px solid #f0dca0;color:#78590f;font-size:var(--text-sm);line-height:1.55}.dashboard-invite-strip{display:grid;gap:.9rem;margin-top:1rem}.invite-card{position:relative;overflow:hidden;padding:1.1rem 1.15rem;border-radius:22px;border:1px solid var(--border-color);box-shadow:var(--shadow-soft)}.invite-card h3{margin-top:.55rem;font-size:1.18rem}.invite-card p{margin-top:.55rem}.invite-card-primary{background:radial-gradient(circle at top right,rgba(255,255,255,.26),transparent 34%),linear-gradient(145deg,#fff6e8,#ffe7cd);border-color:#f1cfaa}.invite-card-soft{background:linear-gradient(180deg,#fffffffa,#f2f8fbfa)}.onboarding-card{margin-top:1.25rem;padding:1.25rem;border-radius:24px;background:var(--surface-strong);border:1px solid var(--border-color);box-shadow:var(--shadow-card)}.onboarding-simple{padding:1rem;max-width:600px;margin:0 auto}.onboarding-step{animation:step-enter .4s ease-out}.onboarding-header{text-align:center;margin-bottom:2rem}.onboarding-header h2{font-size:1.8rem;margin-top:.5rem;color:var(--text-color)}.onboarding-header .intro-copy{font-size:1.1rem;color:var(--text-soft);margin-top:.75rem;text-align:justify;text-wrap:pretty}.mood-grid{display:grid;gap:1rem;margin-bottom:2rem}.mood-btn{display:grid;grid-template-columns:80px 1fr;grid-template-rows:auto auto;gap:.25rem 1rem;padding:1.25rem;border:2px solid var(--border-color);border-radius:20px;background:var(--surface-strong);cursor:pointer;transition:all .2s ease;text-align:left}.mood-btn:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 8px 24px #0055aa1f}.mood-btn:focus-visible{outline:3px solid var(--primary-color);outline-offset:3px;border-color:var(--border-color);box-shadow:none}.mood-btn.selected{border-color:var(--primary-color);background:linear-gradient(135deg,#edf4fb,#f5f9ff);box-shadow:0 8px 28px #0055aa2e}.mood-emoji{grid-row:1 / 3;font-size:3rem;display:flex;align-items:center;justify-content:center}.mood-label{font-size:1.2rem;font-weight:700;color:var(--text-color)}.mood-desc{font-size:.95rem;color:var(--text-muted)}.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}.time-btn{display:flex;flex-direction:column;align-items:center;padding:1.5rem 1rem;border:2px solid var(--border-color);border-radius:20px;background:var(--surface-strong);cursor:pointer;transition:all .2s ease}.time-btn:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 8px 24px #0055aa1f}.time-btn:focus-visible{outline:3px solid var(--primary-color);outline-offset:3px;border-color:var(--border-color);box-shadow:none}.time-btn.selected{border-color:var(--primary-color);background:linear-gradient(135deg,#edf4fb,#f5f9ff);box-shadow:0 8px 28px #0055aa2e}.time-number{font-size:2.5rem;font-weight:700;color:var(--primary-color);line-height:1}.time-unit{font-size:.9rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem}.time-desc{font-size:.85rem;color:var(--text-soft);margin-top:.5rem;text-align:center}.path-grid{display:grid;gap:1rem;margin-bottom:2rem}.path-btn{display:grid;grid-template-columns:64px 1fr auto;grid-template-rows:auto auto;gap:.25rem 1rem;padding:1.25rem;border:2px solid var(--border-color);border-radius:20px;background:var(--surface-strong);cursor:pointer;transition:all .2s ease;text-align:left;align-items:center}.path-btn:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 8px 24px #0055aa1f}.path-btn:focus-visible{outline:3px solid var(--primary-color);outline-offset:3px;border-color:var(--border-color);box-shadow:none}.path-btn.selected{border-color:var(--primary-color);background:linear-gradient(135deg,#edf4fb,#f5f9ff);box-shadow:0 8px 28px #0055aa2e}.path-icon{grid-row:1 / 3;font-size:2.5rem;display:flex;align-items:center;justify-content:center}.path-title{font-size:1.15rem;font-weight:700;color:var(--text-color)}.path-desc{font-size:.9rem;color:var(--text-soft)}.path-meta{grid-row:1 / 3;grid-column:3;font-size:.8rem;color:var(--text-muted);text-align:right;white-space:nowrap}.onboarding-nav{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.onboarding-prev,.onboarding-next,.onboarding-start{min-height:56px;padding:0 2rem;font-size:1.1rem}.onboarding-start{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);font-weight:600}.onboarding-advanced{margin-top:2rem;border-top:1px solid var(--border-color);padding-top:1.5rem}.onboarding-advanced summary{cursor:pointer;color:var(--text-muted);font-size:.95rem;text-align:center;list-style:none}.onboarding-advanced summary:hover{color:var(--text-soft)}.onboarding-advanced-content{margin-top:1.5rem;padding:1.5rem;background:var(--surface-color);border-radius:16px}.onboarding-flow-strip{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1.1rem}.flow-pill{display:inline-flex;align-items:center;min-height:34px;padding:.3rem .75rem;border-radius:999px;background:#eef3f7;border:1px solid #d7e1eb;color:var(--text-soft);font-size:.9rem;font-weight:600}.flow-pill-active{background:var(--primary-soft);border-color:#bfd4e8;color:var(--primary-dark)}@keyframes step-enter{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.question-block+.question-block{margin-top:1.25rem}.question-block h3{margin-bottom:.75rem;font-size:1.08rem}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.territory-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.choice-btn{min-height:62px;border:2px solid var(--border-color);border-radius:14px;background:var(--surface-strong);color:var(--text-color);cursor:pointer;padding:.9rem;font-size:1rem;line-height:1.45;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease,background .18s ease}.choice-btn:hover,.choice-btn:focus-visible{border-color:var(--primary-color);transform:translateY(-1px);box-shadow:0 0 0 4px var(--focus-ring)}.choice-btn.selected{border-color:var(--primary-color);background:var(--primary-soft);color:var(--primary-dark);box-shadow:0 8px 24px #0055aa1f}.onboarding-summary{margin-top:1.25rem;padding:1rem;border-radius:12px;background:var(--surface-color);border:1px solid var(--border-color);color:var(--text-soft);line-height:1.65}.onboarding-action-strip{margin-top:1rem}.onboarding-action-note{margin-top:.7rem;color:var(--text-muted);font-size:.94rem}.onboarding-details{margin-top:1.25rem;border-top:1px solid rgba(148,163,184,.22);padding-top:1rem}.onboarding-details summary{cursor:pointer;color:var(--text-soft);font-weight:700;list-style:none}.onboarding-details summary::-webkit-details-marker{display:none}.onboarding-details summary:after{content:" +";color:var(--primary-color);font-weight:700}.onboarding-details[open] summary:after{content:" -"}.onboarding-details .question-block:first-of-type{margin-top:1rem}.dashboard-section{margin-top:1.5rem}.dashboard-top-grid,.rhythm-grid{display:grid;gap:1rem}.dashboard-top-grid{margin-top:1rem}.dashboard-section-head{margin-top:1.35rem}.dashboard-section-head h3{margin-top:.35rem;font-size:1.45rem}.dashboard-section-head p{margin-top:.45rem;color:var(--text-soft)}.section-kicker{display:inline-flex;align-items:center;min-height:30px;padding:.18rem .7rem;border-radius:999px;background:#fcebd8;border:1px solid #f4cfac;color:#8a4f16;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.panel-kicker{display:inline-flex;align-items:center;width:fit-content;min-height:28px;padding:.15rem .65rem;border-radius:999px;background:var(--primary-soft);color:var(--primary-dark);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.spotlight-card{background:radial-gradient(circle at top right,rgba(255,199,144,.22),transparent 32%),radial-gradient(circle at bottom left,rgba(33,113,127,.12),transparent 28%),linear-gradient(180deg,#fff,#fff8f0);border-color:#efcfb0}.spotlight-card h4,.profile-card h4{margin-top:.7rem}.profile-card{background:linear-gradient(180deg,#fffffffa,#f4f8fbfa)}.spotlight-focus{margin-top:.75rem;padding:.8rem .9rem;border-radius:14px;background:#fffc;border:1px solid #d7e4f0;color:var(--primary-dark)}.rhythm-section{margin-top:1.25rem}.rhythm-card{min-height:168px}.metric-inline{display:grid;gap:.35rem;margin-top:.8rem}.metric-inline strong{font-size:1.7rem;line-height:1.1}.metric-note{color:var(--text-soft);font-size:.95rem}.progress-track{position:relative;height:14px;margin-top:.95rem;border-radius:999px;overflow:hidden;background:#dbe6f0}.progress-fill{height:100%;width:0;border-radius:999px;transition:width .35s ease}.soft-track .progress-fill{background:linear-gradient(90deg,#1a6bb7,#60a5fa)}.accent-track .progress-fill{background:linear-gradient(90deg,#0c7a63,#57c084)}.micro-note{margin-top:.8rem;color:var(--text-muted);font-size:.94rem;line-height:1.55}.week-activity-track{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;margin-top:1rem}.week-day-dot{height:12px;border-radius:999px;background:#dbe3ec}.week-day-dot.active{background:linear-gradient(90deg,#f59e0b,#f97316)}.section-head{margin-bottom:.9rem}.section-head h3{margin-bottom:.3rem}.section-head p{color:var(--text-soft);line-height:1.65}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.stat-card{background:linear-gradient(180deg,#fff,#f7fafc);border:1px solid var(--border-color);border-radius:18px;padding:1rem;display:flex;flex-direction:column;gap:.4rem;box-shadow:var(--shadow-soft);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,#1a6bb7,#0c7a63)}.stat-label{font-size:.92rem;color:var(--text-soft)}.stat-card strong{font-size:1.45rem;color:var(--text-color)}.stat-helper{font-size:.92rem;color:var(--text-soft)}.session-card{margin-top:var(--space-md);padding:1.15rem 1.1rem;border-radius:var(--radius-md);background:var(--surface-strong);border:1px solid var(--border-color);box-shadow:var(--shadow-soft);position:relative;overflow:hidden;transition:box-shadow var(--motion-fast),transform var(--motion-fast)}.session-card:hover{box-shadow:var(--shadow-card)}.spotlight-card:before,.exercise-intro-card:before,.exercise-area:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,#1a6bb738,#0c7a6300);pointer-events:none}.session-card:after{content:"";position:absolute;inset:auto -40px -60px auto;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(26,107,183,.08),transparent 68%);pointer-events:none}.session-card h4{margin-bottom:.5rem}.session-card p{line-height:1.65;color:var(--text-soft)}.curriculum-note{margin-top:.5rem;font-size:.95rem;color:var(--text-muted);text-align:justify;text-wrap:pretty}.severity-panel{margin-top:.95rem;padding:.95rem 1rem;border-radius:16px;border:1px solid #d7e4f0;background:linear-gradient(180deg,#fffffff2,#f1f7fcf2)}.severity-overall{font-weight:700;color:var(--primary-dark)}.severity-chip-list{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.75rem}.severity-chip{display:inline-flex;align-items:center;min-height:32px;padding:.35rem .75rem;border-radius:999px;border:1px solid #d8e4ef;background:#f4f8fb;color:#1b486d;font-size:.9rem;line-height:1.25}.severity-chip[data-band=lieve]{background:#eef8f2;border-color:#c8e7d0;color:#116149}.severity-chip[data-band=medio]{background:#fff6e7;border-color:#f3dab0;color:#8b5a02}.severity-chip[data-band=elevato]{background:#fff0ed;border-color:#f1c7be;color:#9d3122}.severity-note{margin-top:.7rem;font-size:.92rem;color:var(--text-muted)}.focus-grid{display:grid;grid-template-columns:1fr;gap:.9rem;margin-top:1rem}.compact-card{margin-top:0}.support-copy{color:var(--text-muted);text-align:center;line-height:1.65;margin-bottom:.75rem}.manual-answer{width:100%;display:grid;gap:.5rem;margin-bottom:1rem}.manual-answer.augmentative-manual{margin-bottom:0}.manual-answer label{font-size:1rem;color:var(--text-soft)}.manual-answer input{width:100%;min-height:52px;padding:.85rem 1rem;border:1.5px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--text-color);background:var(--surface-strong);transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}.manual-answer input:focus{border-color:var(--primary-color)}.manual-answer input:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px;border-color:var(--primary-color)}.caa-board{width:100%;display:grid;gap:.7rem;margin-bottom:1rem;padding:1rem;border-radius:18px;border:1px solid rgba(35,99,155,.16);background:linear-gradient(180deg,#f1f8fff2,#e7f3fffa)}.caa-options-grid{grid-template-columns:1fr}.caa-option-btn{min-height:108px}.caa-option-btn .option-label{font-size:1rem;color:var(--text-color)}.quick-board{width:100%;display:grid;gap:var(--space-sm);margin-top:var(--space-xs);padding:.85rem 1rem;border-radius:var(--radius-md);border:1px solid rgba(26,107,183,.12);background:var(--primary-soft)}.quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm)}.quick-phrase-btn{min-height:64px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--surface-strong);color:var(--text-color);display:grid;place-items:center;gap:.1rem;padding:.65rem .5rem;text-align:center;cursor:pointer;transition:all var(--motion-fast)}.quick-phrase-btn:hover,.quick-phrase-btn:focus-visible{border-color:var(--primary-color);background:var(--primary-soft);box-shadow:0 0 0 3px var(--focus-ring);transform:translateY(-1px)}.quick-phrase-icon{font-size:1.2rem;line-height:1}.quick-phrase-label{font-size:.96rem;line-height:1.3}.view{display:block}.view:focus{outline:none}.view.is-active>*{animation:view-rise var(--motion-enter) both}.view.is-active>*:nth-child(2){animation-delay:40ms}.view.is-active>*:nth-child(3){animation-delay:80ms}.view.is-active>*:nth-child(4){animation-delay:.12s}.view.is-active>*:nth-child(5){animation-delay:.16s}.hidden,.view.hidden{display:none!important}.card-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1rem}.card-btn{background:var(--surface-strong);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.15rem 1.15rem 1.2rem;text-align:left;cursor:pointer;transition:border-color var(--motion-fast),transform var(--motion-fast),box-shadow var(--motion-fast);box-shadow:var(--shadow-soft);min-height:228px;position:relative;overflow:hidden;display:grid;align-content:start}.card-btn:active,.card-btn:hover{border-color:var(--primary-color);transform:translateY(-3px);box-shadow:var(--shadow-card)}.card-btn:focus-visible{border-color:var(--primary-color);box-shadow:0 0 0 4px var(--focus-ring)}.card-btn h3{font-size:1.15rem;margin-top:.55rem}.card-btn p{margin-top:.45rem;color:var(--text-soft);font-size:.98rem;line-height:1.55}.card-meta{display:inline-flex;width:fit-content;margin-top:.95rem;padding:.32rem .75rem;border-radius:999px;background:var(--surface-strong);border:1px solid var(--border-color);color:var(--text-soft);font-size:.9rem}.card-scene{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.scene-bubble{width:52px;height:52px;border-radius:var(--radius-sm);display:grid;place-items:center;font-size:1.45rem;background:var(--surface-strong);border:1px solid var(--border-color);box-shadow:var(--shadow-xs)}.scene-tag{display:inline-flex;align-items:center;min-height:34px;padding:.3rem .75rem;border-radius:999px;background:var(--surface-strong);border:1px solid var(--border-color);color:var(--text-soft);font-size:.88rem;font-weight:700}.card-action{display:inline-flex;width:fit-content;margin-top:.95rem;color:var(--primary-dark);font-size:.95rem;font-weight:700}.card-kicker{display:inline-flex;width:fit-content;margin-top:1rem;color:#6a5138;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.naming-card{background:radial-gradient(circle at top right,rgba(255,205,159,.3),transparent 34%),linear-gradient(180deg,#fff8f0,#fff1e0);border-color:#f0d2b0}.comprehension-card{background:radial-gradient(circle at top right,rgba(190,228,255,.34),transparent 36%),linear-gradient(180deg,#f5fbff,#eaf6ff);border-color:#c9deef}.reading-card{background:radial-gradient(circle at top right,rgba(213,255,226,.3),transparent 34%),linear-gradient(180deg,#f6fff8,#eaf8ee);border-color:#c7e4d0}.functional-card{background:radial-gradient(circle at top right,rgba(255,230,176,.28),transparent 34%),linear-gradient(180deg,#fffdf4,#fff5dd);border-color:#edd9a5}.card-btn.disabled{opacity:.5;pointer-events:none}.view-nav{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem}.compact-nav{margin-bottom:0}.nav-btn{min-height:48px;padding:.75rem 1rem;border-radius:999px;border:1px solid var(--border-color);background:#ffffffeb;color:var(--text-color);cursor:pointer;box-shadow:var(--shadow-soft);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease,background .18s ease}.nav-btn:hover,.nav-btn:focus-visible{border-color:var(--primary-color);transform:translateY(-1px);box-shadow:0 0 0 4px var(--focus-ring)}.home-nav-btn{background:linear-gradient(180deg,#eff7f4,#e4f1eb);border-color:#bdd7cb}.card-btn .icon{font-size:1.75rem;width:58px;height:58px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:.85rem;border-radius:var(--radius-md);background:var(--primary-soft);color:var(--primary-color)}.card-kicker{display:block;font-size:.82rem;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.card-btn:before{content:"";position:absolute;inset:0 0 auto;height:7px;background:linear-gradient(90deg,#ffffff8c,#fff0)}.naming-card{background:radial-gradient(circle at top right,rgba(244,124,94,.18),transparent 34%),linear-gradient(180deg,#fffefd,#fff6f1)}.naming-card:before{background:linear-gradient(90deg,#e07a5f,#f2cc8f)}.naming-card .icon{background:linear-gradient(180deg,#fff1eb,#ffe0d4)}.comprehension-card{background:radial-gradient(circle at top right,rgba(44,132,196,.18),transparent 34%),linear-gradient(180deg,#fbfeff,#eef7fc)}.comprehension-card:before{background:linear-gradient(90deg,#2c84c4,#7cc6e6)}.comprehension-card .icon{background:linear-gradient(180deg,#edf7fd,#d8eef9)}.reading-card{background:radial-gradient(circle at top right,rgba(45,122,100,.18),transparent 34%),linear-gradient(180deg,#fbfffd,#eef8f3)}.reading-card:before{background:linear-gradient(90deg,#2d7a64,#8dc3a7)}.reading-card .icon{background:linear-gradient(180deg,#edf8f2,#dff1e7)}.functional-card{background:radial-gradient(circle at top right,rgba(184,134,11,.18),transparent 34%),linear-gradient(180deg,#fffef9,#fbf5e8)}.functional-card:before{background:linear-gradient(90deg,#b8860b,#e5c66b)}.functional-card .icon{background:linear-gradient(180deg,#fff8e8,#f9e9bf)}.writing-card{background:radial-gradient(circle at top right,rgba(124,58,237,.15),transparent 34%),linear-gradient(180deg,#faf8ff,#f0ebfa)}.writing-card:before{background:linear-gradient(90deg,#7c3aed,#a78bfa)}.sfa-card{background:radial-gradient(circle at top right,rgba(14,124,105,.18),transparent 34%),linear-gradient(180deg,#f0fdf9,#e6f7f4)}.sfa-card:before{background:linear-gradient(90deg,#0e7c69,#3db89f)}.sfa-card .icon{background:linear-gradient(180deg,#e6f7f4,#ccefe8)}.writing-card .icon{background:linear-gradient(180deg,#f3f0ff,#e4ddf7)}.exercise-header{display:flex;align-items:center;gap:1rem}.back-btn{min-height:52px;padding:.85rem 1rem;border-radius:12px;border:2px solid var(--border-color);background:var(--surface-strong);color:var(--text-color);cursor:pointer;white-space:nowrap}.back-btn:hover,.back-btn:focus-visible{border-color:var(--primary-color);box-shadow:0 0 0 4px var(--focus-ring)}.progress-bar{height:10px;background:var(--secondary-color);border-radius:var(--radius-pill);overflow:hidden;flex:1}.progress-bar .fill{height:100%;width:0;background:linear-gradient(90deg,var(--primary-color),var(--accent-teal));border-radius:var(--radius-pill);position:relative;transition:width .4s var(--motion-soft)}.progress-bar .fill:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,255,255,.18) 10px,rgba(255,255,255,.18) 20px)}.exercise-meta{margin-top:1rem;display:flex;justify-content:space-between;gap:1rem;color:var(--text-muted);font-size:1rem}.prompt-meta{margin-top:.6rem;display:flex;justify-content:space-between;gap:1rem;color:var(--text-muted);font-size:.95rem}.exercise-intro-card{margin-top:1rem;padding:1rem 1rem 1.05rem;border-radius:22px;background:linear-gradient(180deg,#fffffffa,#f5f9fcfa);border:1px solid var(--border-color);box-shadow:var(--shadow-soft);position:relative;overflow:hidden}.exercise-meta span,.prompt-meta span{display:inline-flex;align-items:center;padding:.4rem .72rem;border-radius:999px;background:#ffffffeb;border:1px solid #d9e3ec;box-shadow:inset 0 1px #ffffff80}.exercise-guidance{margin-top:.75rem;line-height:1.65;color:var(--text-soft);padding:.95rem 1rem;background:linear-gradient(180deg,#f9fbfd,#f4f8fb);border:1px solid var(--border-color);border-radius:14px;text-align:justify;text-wrap:pretty}.curriculum-banner{margin-top:.75rem;padding:.85rem 1rem;border-radius:12px;background:var(--primary-soft);border:1px solid #c5d6ea;color:var(--primary-dark);line-height:1.6}.target-word{font-size:2rem;font-weight:700;color:var(--text-color);text-transform:uppercase;letter-spacing:.04em;text-align:center}.target-word.definition-mode{font-size:1.45rem;line-height:1.55;letter-spacing:normal;text-transform:none;max-width:100%;padding:1rem 1.15rem;text-align:center;text-wrap:pretty}.target-word.sentence-mode{font-size:1.2rem;line-height:1.7;letter-spacing:normal;text-transform:none;max-width:100%;padding:1rem 1.15rem;text-align:center;text-wrap:pretty}.target-word.assisted-mode{text-transform:none;letter-spacing:normal;font-size:1.2rem;line-height:1.9;padding:1rem 1.2rem;text-align:center;text-wrap:pretty}.reading-word{display:inline-block;margin:0 .12rem .18rem;padding:.08rem .18rem;border-radius:10px;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}.reading-word-active{background:#0055aa24;color:var(--primary-dark);box-shadow:0 0 0 2px #0055aa1f}.exercise-col{display:contents}.exercise-area{display:grid;gap:1.5rem;margin-top:1.4rem;padding:1rem;border-radius:24px;background:linear-gradient(180deg,#fffffffa,#f7fafcf5);border:1px solid var(--border-color);box-shadow:var(--shadow-card);position:relative;overflow:hidden}.stimulus-container{background:radial-gradient(circle at top right,rgba(26,107,183,.1),transparent 34%),linear-gradient(180deg,#fff,#f6f9fc);width:min(100%,360px);min-height:240px;display:flex;justify-content:center;align-items:center;border-radius:20px;border:1px solid var(--border-color);box-shadow:inset 0 2px 4px #0000000a;position:relative;overflow:hidden}.stimulus-container:before{content:"";position:absolute;inset:18px;border-radius:26px;background:radial-gradient(circle at center,rgba(26,107,183,.1),transparent 68%);transform:scale(.96);opacity:.7}.stimulus-container:after{content:"";position:absolute;width:120px;height:120px;right:-28px;bottom:-36px;border-radius:50%;background:radial-gradient(circle,rgba(12,122,99,.12),transparent 72%);pointer-events:none}.feedback-area,.controls-area{width:100%;padding:1rem;border-radius:18px;border:1px solid var(--border-color);background:linear-gradient(180deg,#fff,#f7fafc);box-shadow:var(--shadow-soft)}.assist-panel{display:grid;gap:var(--space-sm);padding:var(--space-md) 1.1rem;border-radius:var(--radius-md);border:1px solid rgba(26,107,183,.12);background:var(--primary-soft);box-shadow:var(--shadow-xs)}.assist-visual{display:flex;align-items:center;gap:.75rem}.assist-visual-emoji{font-size:2rem;line-height:1}.assist-visual-label{font-size:1rem;font-weight:700;color:var(--text-color)}.assist-copy{color:var(--text-soft);font-size:.96rem;line-height:1.6;text-align:justify;text-wrap:pretty}.assist-copy-soft{color:var(--text-muted)}.assist-steps{margin:0;padding-left:1.1rem;color:var(--text-soft);display:grid;gap:.35rem;line-height:1.55}.assist-steps li{color:var(--text-soft)}.coach-panel{display:grid;gap:var(--space-sm);padding:var(--space-md) 1.1rem;border-radius:var(--radius-md);border:1px solid rgba(14,124,105,.14);background:var(--accent-teal-soft);box-shadow:var(--shadow-xs)}.coach-title{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-teal);font-weight:700}.coach-copy{color:var(--text-soft);font-size:var(--text-sm);line-height:1.6;text-wrap:pretty}.coach-copy-soft{color:var(--text-muted);font-style:italic}.coach-steps{margin:0;padding-left:1.1rem;display:grid;gap:.35rem;color:var(--text-soft);line-height:1.55}.coach-steps li{color:var(--text-soft)}.panel-label{display:inline-flex;width:fit-content;margin-bottom:.8rem;padding:.22rem .7rem;border-radius:999px;background:var(--primary-soft);color:var(--primary-dark);font-size:.78rem;letter-spacing:.07em;text-transform:uppercase}.stimulus-image{width:min(100%,220px);height:auto;object-fit:contain;display:block;position:relative;z-index:1;filter:drop-shadow(0 10px 18px rgba(15,23,42,.12));animation:stimulus-settle var(--motion-soft) both}.stimulus-emoji{font-size:clamp(64px,22vw,100px);position:relative;z-index:1;filter:drop-shadow(0 10px 18px rgba(15,23,42,.12));animation:stimulus-settle var(--motion-soft) both}.stimulus-container img{max-width:100%;height:auto}.stimulus-meta{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-start;align-items:center;margin-top:.85rem;width:100%}.stimulus-chip{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:.45rem .8rem;border-radius:999px;background:#0a60751a;border:1px solid rgba(10,96,117,.16);color:#0f4c5c;font-size:.84rem;font-weight:700;letter-spacing:.01em}.stimulus-chip[data-variant=visual]{background:#15803d1f;border-color:#15803d2e;color:#166534}.stimulus-chip[data-variant=symbol]{background:#2563eb1f;border-color:#2563eb2e;color:#1d4ed8}.stimulus-chip-soft{background:#94a3b824;border-color:#94a3b838;color:#475569;font-weight:600}.mic-button{background-color:var(--primary-color);color:#fff;border:none;border-radius:14px;padding:1rem 1.25rem;font-size:1.08rem;cursor:pointer;width:100%;min-height:56px;box-shadow:0 6px 14px #0055aa40;margin-bottom:1rem}.mic-button:active{background-color:var(--primary-dark);transform:scale(.98)}.mic-button:hover,.mic-button:focus-visible{background-color:var(--primary-dark)}.mic-button.recording{background-color:var(--danger);animation:pulse 1.5s infinite}.secondary-btn,.primary-btn{min-height:52px;padding:.75rem 1.25rem;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;font-size:var(--text-base);transition:all var(--motion-fast);letter-spacing:.01em}.secondary-btn{background-color:var(--surface-color);color:var(--text-color);border:1.5px solid var(--border-color)}.secondary-btn:hover,.secondary-btn:focus-visible{border-color:var(--primary-color);background-color:var(--primary-soft);box-shadow:0 0 0 3px var(--focus-ring)}.secondary-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.compact-actions{align-items:center;justify-content:space-between;margin-top:.9rem;margin-bottom:0}.compact-primary{margin-left:0}.dashboard-details{margin-top:1.2rem;border-radius:20px;background:#ffffffe6;border:1px solid rgba(185,198,214,.9);box-shadow:var(--shadow-soft);padding:.95rem 1rem}.dashboard-details summary{cursor:pointer;color:var(--primary-dark);font-weight:700;list-style:none}.dashboard-details summary::-webkit-details-marker{display:none}.dashboard-details summary:after{content:" +";color:var(--primary-color);font-weight:700}.dashboard-details[open] summary:after{content:" -"}.dashboard-details-body{margin-top:1rem}.technical-export{margin-top:.9rem;border-top:1px solid rgba(148,163,184,.22);padding-top:.9rem}.technical-export summary{cursor:pointer;color:var(--text-soft);font-weight:600;list-style:none}.technical-export summary::-webkit-details-marker{display:none}.technical-export summary:after{content:" +";color:var(--primary-color);font-weight:700}.technical-export[open] summary:after{content:" -"}.caregiver-list{margin-top:.75rem;margin-left:1rem;color:#374151;line-height:1.55}.caregiver-list li+li{margin-top:.45rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:0;left:1rem;clip-path:inset(50%);transform:translateY(-120%);z-index:9999;padding:.75rem 1.25rem;background:#0b3d6e;color:#fff;text-decoration:none;font-weight:600;border-radius:0 0 8px 8px;transition:transform .2s ease}.skip-link:focus-visible{clip-path:none;transform:translateY(0);outline:3px solid #fbbf24;outline-offset:2px}.reassessment-banner{background:linear-gradient(135deg,#1a6bb714,#0e7c6914);border:1px solid rgba(26,107,183,.25);margin-bottom:1rem}.reassessment-banner .panel-kicker{color:var(--primary-color)}.reassessment-banner p{margin:.5rem 0 1rem;line-height:1.55}html[data-theme=dark] .reassessment-banner{background:linear-gradient(135deg,#93c5fd14,#34d39914);border-color:#93c5fd40}html[data-theme=dark] .reassessment-banner .panel-kicker{color:#93c5fd}.view.first-run .card-grid,.view.first-run .dashboard-section-head,.view.first-run .dashboard-details{display:none}.view.first-run{display:flex;flex-direction:column}.view.first-run #first-baseline-banner{order:1}.view.first-run .dashboard-action-zone{order:2}.view.first-run #first-baseline-banner{background:linear-gradient(135deg,#0e7c6926,#1a6bb726);border:2px solid rgba(14,124,105,.45);padding:1.5rem;margin:1.5rem 0;border-radius:16px;box-shadow:0 8px 24px #0e7c691f}.view.first-run #first-baseline-banner .panel-kicker{font-size:.85rem;color:#0e7c69}.view.first-run #first-baseline-banner p{font-size:1.05rem;line-height:1.55;margin:.5rem 0 1rem}.view.first-run #first-baseline-banner .primary-btn{font-size:1rem;padding:.85rem 1.5rem}.view.first-run .dashboard-action-zone{opacity:.85;transform:none}.view.first-run .dashboard-action-zone h2{font-size:1.05rem}.view.first-run .dashboard-action-zone:before{content:"oppure, se preferisci, parti direttamente con un esercizio";display:block;font-size:.8rem;color:var(--text-soft);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5rem;font-weight:600}html[data-theme=dark] .view.first-run #first-baseline-banner{background:linear-gradient(135deg,#34d3991f,#93c5fd1f);border-color:#34d39966}html[data-theme=dark] .view.first-run #first-baseline-banner .panel-kicker{background:#34d3992e;color:#a7f3d0}html[data-theme=dark] .panel-kicker{background:#94a3b826;color:var(--text-color)}.diary-item{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;background:#94a3b814;border-radius:8px;margin-bottom:.4rem;list-style:none}.diary-tag{flex:1;font-size:.92rem;color:var(--ink)}.diary-count{font-weight:600;color:var(--ink-soft);font-size:.9rem;min-width:1.5rem;text-align:right}.diary-trend{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:50%;font-weight:700;font-size:.95rem}.diary-trend-better{background:#16a34a26;color:#16a34a}.diary-trend-worse{background:#dc262626;color:#dc2626}.diary-trend-new{background:#3b82f626;color:#3b82f6}.diary-trend-stable{background:#94a3b826;color:#94a3b8}html[data-theme=dark] .diary-item{background:#3341554d}html[data-theme=dark] .diary-tag{color:#e2e8f0}html[data-theme=dark] .diary-count{color:#94a3b8}.module-chip-list{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.9rem}.module-chip{display:inline-flex;align-items:center;padding:.38rem .7rem;border-radius:999px;background:#f4f8fb;border:1px solid #d6e1eb;color:#30506a;font-size:.88rem}.module-chip.recommended{background:#edf7f4;border-color:#bdd7cb;color:#175a49}.options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.option-btn{min-height:108px;border:1.5px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-strong);cursor:pointer;transition:transform var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.75rem;gap:var(--space-sm)}.option-btn:hover{border-color:var(--primary-color);box-shadow:var(--shadow-soft);transform:translateY(-2px)}.text-option-btn{align-items:stretch;justify-content:center;min-height:92px}.text-option-label{display:block;width:100%;font-size:1rem;line-height:1.5;text-align:left;color:var(--text-color)}.option-visual{width:min(100%,110px);min-height:92px;padding:.7rem;border-radius:18px;display:grid;place-items:center;background:linear-gradient(180deg,#ffffffeb,#e8f1f8eb);border:1px solid rgba(148,163,184,.22);box-shadow:inset 0 1px #ffffffd9}.option-image{width:min(100%,88px);height:min(100%,88px);object-fit:contain;display:block}.option-emoji{font-size:2.55rem;line-height:1}.option-label{font-size:.92rem;line-height:1.35;color:var(--text-soft);text-transform:capitalize;text-align:center}.option-btn:hover,.option-btn:focus-visible{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 0 0 4px var(--focus-ring)}.option-btn.correct{border-color:var(--success);background:linear-gradient(180deg,#ecfdf5,#d1fae5);transform:translateY(-2px);box-shadow:0 0 0 3px #16a34a26}.option-btn.correct .option-visual{background:linear-gradient(180deg,#ecfdf5fa,#d1fae5eb);border-color:#10b98140}.option-btn.wrong{border-color:var(--danger);background:linear-gradient(180deg,#fef2f2,#fee2e2);transform:scale(.985);opacity:.7}.option-btn.wrong .option-visual{background:linear-gradient(180deg,#fff1f2fa,#ffe4e6eb);border-color:#ef444438}.functional-scenario-panel{display:flex!important;flex-direction:column!important;align-items:flex-start!important;text-align:left!important;gap:.95rem!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:1.35rem 1.45rem!important;border-radius:var(--radius-md)!important;background:var(--primary-soft)!important;border:3px solid var(--primary-color)!important;box-sizing:border-box!important}.functional-scenario-panel .target-word{color:var(--primary-dark)!important;font-size:clamp(1.55rem,2.4vw,2.05rem)!important;line-height:1.35!important;font-weight:700!important;text-align:left!important;text-transform:none!important;letter-spacing:.01em!important;display:block!important;width:100%!important;max-width:none!important;order:1!important}.functional-scenario-panel .stimulus-meta{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:.65rem!important;justify-content:flex-start!important;align-items:center!important;margin-top:0!important;width:100%!important;order:2!important}.functional-scenario-panel .stimulus-chip{margin:0!important;flex:0 0 auto!important}.functional-scenario-panel .functional-context,.functional-scenario-panel .functional-question{color:var(--primary-dark)!important;line-height:1.6!important;width:100%!important;font-size:1.1rem!important;display:block!important;text-align:justify!important;text-wrap:pretty!important}.functional-scenario-panel .functional-context{order:3!important}.functional-scenario-panel .functional-question{font-weight:700!important;color:var(--primary-dark)!important;font-size:1.15rem!important;order:4!important}.functional-options-grid{gap:.85rem}.functional-option-btn{align-items:stretch;justify-content:center;min-height:88px}.functional-option-label{font-size:1rem;color:var(--text-color);text-transform:none}body.augmentative-mode .options-grid{grid-template-columns:1fr}body.augmentative-mode .option-btn{min-height:120px;padding:1rem}body.augmentative-mode .option-visual{width:min(100%,124px);min-height:104px}body.augmentative-mode .option-image{width:min(100%,96px);height:min(100%,96px)}body.augmentative-mode .option-label{font-size:1rem;color:var(--text-color)}body.augmentative-mode .status-indicator{font-size:1rem}body.augmentative-mode .quick-actions{grid-template-columns:1fr}body.augmentative-mode .quick-phrase-btn{min-height:84px}.option-btn:disabled{cursor:default;opacity:1}.primary-btn{background:linear-gradient(180deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border:1.5px solid var(--primary-dark);margin-left:.5rem;box-shadow:var(--shadow-xs),inset 0 1px #ffffff1f}.primary-btn:hover,.primary-btn:focus-visible{background:linear-gradient(180deg,#1e74c4 0%,var(--primary-dark) 100%);box-shadow:0 0 0 3px var(--focus-ring),var(--shadow-soft)}.controls-area,.feedback-area{align-self:start}.status-indicator{font-size:.95rem;color:var(--primary-dark);width:100%;background:linear-gradient(180deg,#eef5fb,#e7f1f9);border:1px solid var(--border-color);border-radius:16px;padding:.95rem 1rem;line-height:1.6;position:relative;overflow:hidden;text-align:justify;text-wrap:pretty}.status-indicator:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,#1a6bb7,#0c7a63)}.status-indicator[data-state=warning]{background:linear-gradient(180deg,#fff9ec,#fff4df);color:#6e5410}.status-indicator[data-state=warning]:before{background:linear-gradient(180deg,#d69e2e,#f59e0b)}.status-indicator[data-state=error]{background:linear-gradient(180deg,#fff4f6,#ffe9ed);color:#7a2131}.status-indicator[data-state=error]:before{background:linear-gradient(180deg,#c41e3a,#ef4444)}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 #ef4444b3}70%{transform:scale(1.05);box-shadow:0 0 0 10px #ef444400}to{transform:scale(1);box-shadow:0 0 #ef444400}}.feedback-msg{font-size:var(--text-base);font-weight:600;min-height:2.4rem;line-height:1.5;padding:.85rem 1rem;border-radius:var(--radius-sm);background:var(--surface-color);border:1px solid var(--border-color);text-align:justify;text-wrap:pretty}.feedback-msg[data-state=success]{background:linear-gradient(180deg,#eef9f1,#e4f5ea);border-color:#bfe2ca;color:var(--success);animation:feedback-pop .26s ease-out}.feedback-msg[data-state=near]{background:linear-gradient(180deg,#eef5ff,#e5f0ff);border-color:#bfd6f5;color:var(--primary-color);animation:feedback-pop .26s ease-out}.feedback-msg[data-state=error]{background:linear-gradient(180deg,#fff4f6,#ffe9ed);border-color:#efc1ca;color:var(--danger);animation:feedback-pop .26s ease-out}.feedback-msg[data-state=info]{background:linear-gradient(180deg,#f8fafc,#f1f5f9);color:var(--text-soft);animation:feedback-pop .24s ease-out}.summary-header{margin-top:.5rem}.summary-header p{margin-top:.5rem;color:var(--text-muted);line-height:1.65}.summary-grid{margin-top:1.5rem}.summary-btn{margin-top:1.25rem;margin-left:0;width:100%}@media(max-width:640px){.navbar{padding-top:max(.9rem,env(safe-area-inset-top));padding-right:max(1rem,env(safe-area-inset-right));padding-bottom:.9rem;padding-left:max(1rem,env(safe-area-inset-left))}.brand{gap:.65rem}.logo-mark{width:48px;height:48px;border-radius:13px;background:#fffffff2;border:2px solid rgba(255,255,255,.6);box-shadow:0 4px 14px #08233d40,0 0 0 1px #ffffff26}.logo{font-size:1.22rem}.logo-subtitle{font-size:.7rem}.choice-grid{grid-template-columns:1fr}.territory-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-flow-strip{gap:.45rem}.hero-panel{grid-template-columns:1fr;padding:1.1rem}.hero-copy h2{font-size:1.6rem}.hero-orbit{grid-template-columns:1fr 1fr}.view-nav{flex-wrap:wrap}.stats-grid,.dashboard-top-grid,.rhythm-grid,.dashboard-invite-strip,.focus-grid{grid-template-columns:1fr}.install-banner{flex-direction:column;align-items:stretch;gap:.85rem}.install-banner-actions{width:100%}.install-banner .primary-btn{flex:1}.exercise-meta,.secondary-actions{flex-direction:column}.dashboard-details{padding:.9rem}.card-btn{min-height:204px}.options-grid{grid-template-columns:1fr}.prompt-meta{flex-direction:column}.hero-pills{gap:.45rem}.user-status{font-size:.82rem;text-align:right;max-width:108px}.action-zone-reason,.action-zone-meta,.card-kicker,.card-btn p,.card-meta{display:none!important}.card-btn{min-height:80px!important;padding:1rem!important}.onboarding-advanced,.path-meta,.naming-support-copy,#naming-support-copy,#naming-caa-copy,.manual-answer label,.augmentative-manual label{display:none!important}.exercise-intro-card{padding:0;margin-top:.25rem;border:none;box-shadow:none;background:transparent}#exercise-comprehension .exercise-guidance,#exercise-reading .exercise-guidance,#exercise-functional .exercise-guidance{display:block!important;margin:.25rem 0 0!important;padding:.55rem .75rem!important;background:var(--primary-soft);border:none;border-radius:var(--radius-sm);font-size:var(--text-base)!important;line-height:1.5!important;text-align:center}.exercise-meta,.prompt-meta,.exercise-guidance,.curriculum-banner,.stimulus-meta,.panel-label,.stimulus-chip,.status-indicator,.status-msg{display:none!important}.feedback-msg:empty,.feedback-msg:not([data-state]){display:none!important}.cues-container:not([data-state=active]){display:none!important}.target-word,.functional-scenario-panel .target-word{font-size:1.8rem!important;font-weight:700!important;line-height:1.3!important;padding:.5rem 0!important}.target-word.definition-mode,.target-word.sentence-mode,.target-word.assisted-mode{font-size:clamp(1.15rem,4.6vw,1.45rem)!important;line-height:1.5!important;padding:.65rem .5rem!important;text-wrap:pretty}.functional-context{font-size:var(--text-lg)!important;line-height:1.6!important;margin-top:.5rem}.functional-question{font-size:var(--text-xl)!important;font-weight:700!important;margin-top:.75rem}.option-btn,.text-option-btn{min-height:72px!important;font-size:var(--text-lg)!important;padding:1rem!important;border-width:2px!important}.text-option-label{font-size:var(--text-lg)!important}.options-grid{gap:.75rem!important}.feedback-area{margin-top:.5rem}.feedback-msg{font-size:var(--text-base)!important;padding:.65rem .75rem!important}.controls-area .secondary-actions{flex-direction:row!important;flex-wrap:wrap;gap:.75rem}.controls-area .secondary-btn{flex:1;min-width:0;font-size:var(--text-sm);padding:.6rem .75rem;min-height:48px}.coach-panel,.assist-panel{padding:.65rem .75rem;font-size:var(--text-sm)}.coach-steps li,.assist-steps li{font-size:var(--text-sm)}.cues-container{font-size:var(--text-sm);padding:.5rem .65rem}.status-indicator{font-size:var(--text-sm);padding:.5rem}.controls-area .primary-btn{width:100%!important;margin-left:0!important;margin-top:var(--space-sm);min-height:52px;font-size:var(--text-lg)!important}.exercise-area{padding:.5rem;gap:.5rem}.exercise-header .progress-bar{height:6px}}@media(min-width:641px){.dashboard-invite-strip,.dashboard-top-grid{grid-template-columns:1.2fr .8fr}.rhythm-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exercise-area{grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);align-items:start;padding:1.25rem}.exercise-col{display:flex;flex-direction:column;gap:1rem;min-width:0}.exercise-col-stimulus{position:sticky;top:1rem}#exercise-functional .exercise-area{grid-template-columns:minmax(340px,1fr) minmax(300px,1fr)}.stimulus-container{width:100%;min-height:300px}.stimulus-image{width:min(100%,320px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@keyframes view-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes stimulus-settle{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes feedback-pop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes drift-orb{0%,to{transform:translateZ(0)}50%{transform:translate3d(8px,-6px,0)}}@keyframes breathe-glow{0%,to{opacity:.72;transform:scale(.92)}50%{opacity:1;transform:scale(1)}}.cues-container{margin-top:.8rem;color:var(--text-soft);min-height:2rem;line-height:1.6;padding:.8rem .95rem;border-radius:14px;background:#fbfcfe;border:1px dashed #cfdbe7}.cues-container[data-state=active]{background:linear-gradient(180deg,#fffaf0,#fff5e6);border-style:solid;border-color:#f2d4a2;color:#6e5410;animation:feedback-pop .24s ease-out}@media(max-width:1024px){.app-container{max-width:100%;border-left:none;border-right:none;box-shadow:none}}html[data-theme=dark]{--primary-color: #5ba3db;--primary-dark: #3d8bc7;--primary-soft: #1a2e40;--accent-warm: #f0a840;--accent-warm-soft: #2d2515;--accent-teal: #3db89f;--accent-teal-soft: #142e28;--secondary-color: #1e293b;--surface-color: #1e293b;--surface-strong: #0f172a;--text-color: #e2e8f0;--text-soft: #94a3b8;--text-muted: #64748b;--bg-color: #0f172a;--border-color: #334155;--border-strong: #475569;--danger: #f87171;--success: #4ade80;--warning: #fbbf24;--focus-ring: rgba(91, 163, 219, .35);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-soft: 0 4px 16px rgba(0, 0, 0, .3);--shadow-card: 0 8px 24px rgba(0, 0, 0, .35);--shadow-elevated: 0 16px 40px rgba(0, 0, 0, .45)}html[data-theme=dark] body{background:linear-gradient(180deg,#0c1524,#111827)}html[data-theme=dark] body.focus-mode{background:linear-gradient(180deg,#0e1a2b,#131f33)}html[data-theme=dark] .app-container{background:#0f172af7;border-left-color:#3341554d;border-right-color:#3341554d}html[data-theme=dark] .navbar{background:linear-gradient(135deg,#0a2844,#113d66 45%,#0a4e42)}html[data-theme=dark] .logo-mark{background:#ffffffeb;border-color:#ffffff80;box-shadow:0 6px 20px #00000059,0 0 0 1px #ffffff1a}html[data-theme=dark] .hero-panel{background:radial-gradient(ellipse at 100% 0%,rgba(61,184,159,.2),transparent 55%),radial-gradient(ellipse at 0% 100%,rgba(91,163,219,.15),transparent 50%),linear-gradient(145deg,#0a1e33,#112d4d,#0a3b30)}html[data-theme=dark] .option-btn{background:#1e293bb3;border:2px solid var(--border-strong);color:var(--text-color)}html[data-theme=dark] .option-btn:hover{background:var(--primary-soft);border-color:var(--primary-color)}html[data-theme=dark] .option-visual{background:#1e293b80!important;border-color:var(--border-color)!important}html[data-theme=dark] .option-btn.correct{background:linear-gradient(180deg,#052e1b,#0a3d24);border-color:var(--success)}html[data-theme=dark] .option-btn.wrong{background:linear-gradient(180deg,#2d0f0f,#3b1414);border-color:var(--danger)}html[data-theme=dark] .feedback-msg{background:var(--surface-color);border-color:var(--border-color)}html[data-theme=dark] .feedback-msg[data-state=success]{background:linear-gradient(180deg,#052e1b,#0a3d24);border-color:#16a34a;color:var(--success)}html[data-theme=dark] .feedback-msg[data-state=error]{background:linear-gradient(180deg,#2d0f0f,#3b1414);border-color:#dc2626;color:var(--danger)}html[data-theme=dark] .feedback-msg[data-state=near]{background:linear-gradient(180deg,#0f2840,#14325a);border-color:var(--primary-color);color:var(--primary-color)}html[data-theme=dark] .cues-container{background:#1e293bcc;border-color:var(--border-strong);color:var(--text-color)}html[data-theme=dark] .cues-container[data-state=active]{background:linear-gradient(180deg,#2d2515,#332a10);border-color:#a67c1a;color:var(--warning)}html[data-theme=dark] .medication-disclaimer{background:var(--accent-warm-soft);border-color:#5c4a18;color:#f0a840}html[data-theme=dark] .manual-answer input,html[data-theme=dark] .quick-phrase-btn,html[data-theme=dark] .mood-btn,html[data-theme=dark] .time-btn,html[data-theme=dark] .path-btn,html[data-theme=dark] .choice-btn{background:var(--surface-color);color:var(--text-color);border-color:var(--border-color)}html[data-theme=dark] .mood-btn:hover,html[data-theme=dark] .time-btn:hover,html[data-theme=dark] .path-btn:hover,html[data-theme=dark] .choice-btn:hover{border-color:var(--primary-color);background:var(--primary-soft)}html[data-theme=dark] .mood-btn.selected,html[data-theme=dark] .time-btn.selected,html[data-theme=dark] .path-btn.selected,html[data-theme=dark] .choice-btn.selected{border-color:var(--primary-color);background:var(--primary-soft);color:var(--text-color)}html[data-theme=dark] .mood-desc,html[data-theme=dark] .time-desc,html[data-theme=dark] .path-desc,html[data-theme=dark] .path-meta{color:var(--text-soft)}html[data-theme=dark] .mood-label,html[data-theme=dark] .time-number,html[data-theme=dark] .path-title{color:var(--text-color)}html[data-theme=dark] .session-card{background:var(--surface-strong);border-color:var(--border-color)}html[data-theme=dark] .spotlight-card{background:var(--surface-color);border-color:var(--border-color)}html[data-theme=dark] .card-btn{color:var(--text-color)}html[data-theme=dark] .naming-card{background:linear-gradient(180deg,#3d2415,#2a1a0e)!important;border-color:#8c5a2e!important}html[data-theme=dark] .comprehension-card{background:linear-gradient(180deg,#152a42,#0e1e2e)!important;border-color:#3870a0!important}html[data-theme=dark] .reading-card{background:linear-gradient(180deg,#15302a,#0e2218)!important;border-color:#2e7860!important}html[data-theme=dark] .functional-card{background:linear-gradient(180deg,#3a3010,#2a2208)!important;border-color:#8c7a20!important}html[data-theme=dark] .sfa-card{background:linear-gradient(180deg,#0e2a22,#0a1e18)!important;border-color:#2e8a70!important}html[data-theme=dark] .writing-card{background:linear-gradient(180deg,#251840,#1a102e)!important;border-color:#5c38a0!important}html[data-theme=dark] .sfa-panel{background:transparent}html[data-theme=dark] .sfa-feature-card{background:var(--surface-color);border-color:var(--border-color)}html[data-theme=dark] .sfa-feature-card.revealed{background:var(--accent-teal-soft);border-color:var(--accent-teal)}html[data-theme=dark] .sfa-feature-card.active{background:var(--primary-soft);border-color:var(--primary-color)}html[data-theme=dark] .card-kicker{color:#ffffffb3!important}html[data-theme=dark] .scene-tag{background:#ffffff26!important;color:#ffffffe6!important;border-color:#fff3!important}html[data-theme=dark] .card-meta{color:#fff9!important;background:#ffffff14!important;border-color:#ffffff26!important}html[data-theme=dark] .card-action{color:#ffffffd9!important}html[data-theme=dark] .card-btn h3{color:#fff!important}html[data-theme=dark] .card-btn p{color:#ffffffbf!important}html[data-theme=dark] .scene-bubble{background:#ffffff26!important;border-color:#ffffff1f!important}html[data-theme=dark] .dashboard-action-zone{background:var(--surface-color);border-color:var(--border-color)}html[data-theme=dark] .dashboard-details{background:var(--surface-strong);border-color:var(--border-color)}html[data-theme=dark] .dashboard-details summary{color:var(--text-color)}html[data-theme=dark] .disclaimer-box{background:var(--primary-soft);border-color:#5ba3db26;color:var(--text-soft)}html[data-theme=dark] .severity-chip{background:var(--surface-color);color:var(--text-color);border-color:var(--border-color)}html[data-theme=dark] .progress-bar{background:var(--surface-color)}html[data-theme=dark] .coach-panel{background:var(--accent-teal-soft);border-color:#3db89f26}html[data-theme=dark] .assist-panel{background:var(--primary-soft);border-color:#5ba3db26}html[data-theme=dark] .caregiver-hub{border-left-color:var(--accent-teal)}html[data-theme=dark] .caregiver-signals{background:var(--accent-teal-soft)}html[data-theme=dark] .generalization-card{border-left-color:var(--accent-warm)}html[data-theme=dark] .generalization-btn.selected{background:var(--accent-warm-soft);border-color:var(--accent-warm);color:var(--text-color)}html[data-theme=dark] .milestone-chip{background:var(--accent-warm-soft);border-color:#f0a84033;color:var(--accent-warm)}html[data-theme=dark] .option-visual{background:var(--surface-color);border-color:var(--border-color)}html[data-theme=dark] .option-label,html[data-theme=dark] .text-option-label{color:var(--text-color)}html[data-theme=dark] .exercise-intro-card{background:transparent;border-color:transparent;box-shadow:none}html[data-theme=dark] .exercise-intro-card:before{display:none}html[data-theme=dark] .exercise-area{background:transparent;border:none;box-shadow:none}html[data-theme=dark] .exercise-area:before{display:none}html[data-theme=dark] .stimulus-container{background:#f0f5faf2;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md)}html[data-theme=dark] .stimulus-container .target-word{color:#0f172a}html[data-theme=dark] .stimulus-container:before{display:none}html[data-theme=dark] .functional-scenario-panel{background:#1a3c6459;border:1px solid rgba(91,163,219,.25);border-radius:var(--radius-md)}html[data-theme=dark] .functional-context,html[data-theme=dark] .functional-question,html[data-theme=dark] .target-word{color:var(--text-color)}html[data-theme=dark] .feedback-area,html[data-theme=dark] .controls-area{background:transparent;border:none;box-shadow:none}html[data-theme=dark] .status-msg,html[data-theme=dark] .status-indicator{background:#1e293b99;color:var(--text-color);border:1px solid var(--border-color);border-radius:var(--radius-sm)}html[data-theme=dark] .status-msg[data-state=warning]{background:var(--accent-warm-soft);border-color:#f0a8404d;color:var(--accent-warm)}html[data-theme=dark] .about-disclaimer{background:linear-gradient(135deg,#2d0f0f,#3b1414);border-color:#dc2626}html[data-theme=dark] .about-disclaimer h3{color:#f87171}html[data-theme=dark] .about-disclaimer p{color:#fca5a5}html[data-theme=dark] .about-feature{background:var(--surface-color);border-color:var(--border-color)}html[data-theme=dark] .about-evidence{background:var(--primary-soft);border-color:#5ba3db26}html[data-theme=dark] .caregiver-guide-step h2{color:var(--accent-teal)}html[data-theme=dark] .plan-adjust-btn{background:var(--surface-color);color:var(--primary-color);border-color:var(--border-color)}html[data-theme=dark] .plan-control-value{color:var(--primary-color)}html[data-theme=dark] .stat-card{background:var(--surface-color);border-color:var(--border-color)}html[data-theme=dark] .stat-card strong{color:var(--text-color)}html[data-theme=dark] .rhythm-card{background:var(--surface-color);border-color:var(--border-color)}html[data-theme=dark] .module-chip,html[data-theme=dark] .secondary-btn{background:var(--surface-color);color:var(--text-color);border-color:var(--border-color)}html[data-theme=dark] .secondary-btn:hover{background:var(--primary-soft);border-color:var(--primary-color)}html[data-theme=dark] .onboarding-advanced{background:var(--surface-color);border-color:var(--border-color)}html[data-theme=dark] .onboarding-advanced summary{color:var(--text-soft)}html[data-theme=dark] .nav-btn{background:var(--surface-color);color:var(--text-color);border-color:var(--border-color)}html[data-theme=dark] .nav-btn:hover,html[data-theme=dark] .nav-btn:focus-visible{background:var(--primary-soft);border-color:var(--primary-color)}html[data-theme=dark] .home-nav-btn{background:var(--accent-teal-soft);border-color:#3db89f4d;color:var(--accent-teal)}html[data-theme=dark] .menu-toggle{background:#ffffff1a;border-color:#fff3}html[data-theme=dark] .menu-dropdown{background:#1a2436;border-color:var(--border-strong)}html[data-theme=dark] img{opacity:.92}html[data-theme=dark] .paywall-card{background:var(--surface-strong);border-color:var(--border-color)}html[data-theme=dark] .theme-switch{background:var(--secondary-color)}html[data-theme=dark] .theme-opt:hover{color:var(--text-color)}html[data-theme=dark] .theme-opt.active{background:var(--primary-color);color:#fff}html[data-theme=dark] .menu-item{color:var(--text-color)}html[data-theme=dark] button.menu-item:hover{background:var(--primary-soft)}html[data-theme=dark] .menu-divider{background:var(--border-color)}html[data-theme=dark] .install-banner{background:linear-gradient(135deg,#0a2844f5,#113d66f5);border-color:#5ba3db4d}html[data-theme=dark] .install-banner .secondary-btn{background:#ffffff1f;border-color:#fff3;color:#fff}html[data-theme=dark] .install-banner .secondary-btn:hover{background:#fff3;border-color:#ffffff57}.app-loader{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--bg-color, #ffffff);color:var(--text-color, #0f172a);z-index:9999;transition:opacity .4s ease}.app-loader.hidden{opacity:0;pointer-events:none}.app-loader-spinner{width:48px;height:48px;border:4px solid var(--border-subtle, #e2e8f0);border-top-color:var(--accent-primary, #1a6bb7);border-radius:50%;animation:app-loader-spin 1s linear infinite}@keyframes app-loader-spin{to{transform:rotate(360deg)}}.app-loader-text{font-size:1.1rem;font-weight:500;margin:0}.global-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(0);padding:12px 24px;border-radius:8px;background:var(--bg-danger, #dc2626);color:#fff;font-weight:600;font-size:.95rem;z-index:10001;box-shadow:0 4px 12px #00000040;transition:opacity .3s ease,transform .3s ease}.global-toast.hidden{opacity:0;pointer-events:none;transform:translate(-50%) translateY(16px)}.global-toast.toast-info{background:var(--bg-info, #1a6bb7)}.pdf-report-overlay{position:fixed;inset:0;background:var(--surface);z-index:10000;overflow-y:auto;padding:0}.pdf-report-actions{position:sticky;top:0;display:flex;gap:.75rem;justify-content:center;padding:.75rem;background:var(--surface);border-bottom:1px solid var(--border);z-index:1}.pdf-report-content{max-width:800px;margin:0 auto;padding:1rem;background:#fff;color:#1a1a1a;color-scheme:light;border-radius:12px}.pdf-report-content,.pdf-report-content *{--ink: #1a1a1a;--ink-soft: #4a5560;--line: #d8e0e8;--surface: #f4f7fa;--surface-strong: #ffffff;--accent: #0f766e;--accent-soft: #e6f7f4;--text: #1a1a1a;--text-muted: #4a5560;--bg: #ffffff;--border: #d8e0e8}.pdf-report-content body,.pdf-report-content .page,.pdf-report-content .card,.pdf-report-content .hero,.pdf-report-content .disclaimer,.pdf-report-content .highlight{background:#fff!important;color:#1a1a1a!important}.pdf-report-content .lead,.pdf-report-content .eyebrow,.pdf-report-content .small,.pdf-report-content th,.pdf-report-content .section p,.pdf-report-content .section li{color:#4a5560!important}.pdf-report-content .stamp{background:#e6f7f4!important;color:#0f766e!important}.pdf-report-content .hero{background:linear-gradient(180deg,#fff,#f4fbfa)!important}.pdf-report-content .card{border:1px solid #d8e0e8!important}.pdf-report-content .disclaimer{background:#fbfcfe!important;border:1px solid #d8e0e8!important;color:#4a5560!important}.pdf-report-content th,.pdf-report-content td{border-bottom:1px solid #d8e0e8!important}@media print{.pdf-report-actions{display:none!important}.pdf-report-overlay{position:static;background:#fff!important;color:#000!important}body>*:not(.pdf-report-overlay){display:none!important}}.paywall-twa-notice{display:flex;flex-direction:column;gap:.75rem}.paywall-twa-notice p{margin:0 0 .25rem}.paywall-twa-cta{text-align:center}.paywall-twa-cta-secondary{opacity:.92}.paywall-twa-notice.hidden{display:none}
