@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;600;700;800&display=swap");:root{--app-bg:#f0f2f8;--surface:#ffffff;--surface-soft:#f5f5ff;--surface-raised:#ffffff;--line:#e2e6f0;--text:#111827;--muted:#9ca3af;--muted-strong:#6b7280;--accent:#6366f1;--accent-strong:#4f46e5;--accent-soft:#eef2ff;--alert-bg:#fffbeb;--alert-line:#fde68a;--alert-text:#92400e;--red:#dc2626;--red-soft:#fff5f5;--red-line:#fecaca;--blue:#3b82f6;--blue-soft:#eff6ff;--green:#10b981;--green-soft:#ecfdf5;--purple:#8b5cf6;--purple-soft:#f5f3ff;--amber:#f59e0b;--amber-soft:#fffbeb;--teal:#14b8a6;--teal-soft:#f0fdfa;--cream:var(--app-bg);--cream-soft:var(--alert-bg);--card:var(--surface);--ink:var(--text);--brown:var(--alert-text);--orange:var(--accent);--orange-dark:var(--accent-strong);--shadow:none;color-scheme:light}html[data-theme=dark]{--app-bg:#0f1117;--surface:#1a1d27;--surface-soft:#1e2133;--surface-raised:#1a1d27;--line:#23263a;--text:#f9fafb;--muted:#6b7280;--muted-strong:#9ca3af;--accent:#6366f1;--accent-strong:#818cf8;--accent-soft:#1e2133;--alert-bg:#1c1f2e;--alert-line:#2d3148;--alert-text:#d1d5db;--red:#fca5a5;--red-soft:#2a0a0a;--red-line:#7f1d1d;--blue:#60a5fa;--blue-soft:#1e3a5f;--green:#34d399;--green-soft:#14332a;--purple:#a78bfa;--purple-soft:#2d1f5e;--amber:#fbbf24;--amber-soft:#3b2a0a;--teal:#2dd4bf;--teal-soft:#0e3330;color-scheme:dark}*{box-sizing:border-box}html{color:var(--text)}body,html{height:100%;background:var(--app-bg);overflow:hidden}body{margin:0;font-family:Plus Jakarta Sans,Arial,sans-serif;font-size:16px;line-height:1.35}button{font:inherit;cursor:pointer}button:focus-visible{outline:4px solid color-mix(in srgb,var(--accent) 34%,transparent);outline-offset:4px}button:disabled{cursor:wait;opacity:.72}.homeScreen{width:100%;height:100dvh;max-width:1180px;margin:0 auto;display:grid;grid-template-rows:clamp(104px,16dvh,136px) minmax(0,1fr);background:var(--app-bg);overflow:hidden}.topHeader{position:relative;min-height:0;min-width:0;height:auto;display:grid;grid-template-columns:clamp(88px,12vw,128px) minmax(0,1fr) clamp(88px,12vw,128px);align-items:center;gap:clamp(10px,1.5vw,18px);margin:clamp(14px,2dvh,22px) clamp(18px,2.5vw,34px) 0;padding:clamp(16px,2.5dvh,22px) clamp(18px,2.4vw,24px);border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--text)}.homeTitle{grid-column:2;justify-self:center;min-width:0;text-align:center}.topHeader h1,.topHeader p,.topHeader time{display:block;margin:0}.topHeader p{color:var(--muted);font-size:clamp(.95rem,1.5vw,1.15rem);font-weight:700}.topHeader h1{color:var(--text);font-size:clamp(2rem,4.4vw,3.1rem);line-height:1;letter-spacing:0}.topHeader time{margin-top:4px;font-size:clamp(1rem,2vw,1.35rem);font-weight:700}.profileFrame{grid-column:3;grid-row:1;justify-self:end;position:relative;width:clamp(76px,8.5vw,94px);height:clamp(76px,8.5vw,94px);margin-top:0;flex:0 0 auto;display:grid;place-items:center;border:4px solid color-mix(in srgb,#ffffff 76%,var(--accent));border-radius:999px;background:var(--accent);color:#ffffff;box-shadow:0 14px 30px color-mix(in srgb,var(--accent) 28%,transparent),0 0 0 6px color-mix(in srgb,var(--accent) 13%,transparent);touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:background .15s,box-shadow .15s,transform .15s}.profileFrameIcon{width:54%;height:54%;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4}.profileFrame:hover{background:var(--accent-strong);transform:scale(1.04)}.profileFrame.listening{background:#ec4899;box-shadow:0 14px 34px color-mix(in srgb,#ec4899 34%,transparent),0 0 0 9px color-mix(in srgb,#ec4899 18%,transparent);animation:ring .9s infinite}.settingsLink{grid-column:1;grid-row:1;justify-self:start;width:52px;height:52px;min-height:52px;align-self:center;margin-left:0;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;border:1px solid var(--line);border-radius:999px;color:var(--muted-strong);text-decoration:none}.settingsLink svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.settingsLink:hover{border-color:var(--accent);color:var(--accent);background:var(--surface-soft)}@keyframes ring{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.themeToggle{width:52px;height:52px;min-height:52px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid var(--line);border-radius:999px;padding:0;background:transparent;color:var(--muted-strong);transition:background .15s,border-color .15s,color .15s}.themeToggle svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.themeToggle:hover{border-color:var(--accent);background:var(--surface-soft);color:var(--accent)}.dashboard{min-height:0;min-width:0;display:grid;grid-template-rows:auto auto minmax(82px,1fr) auto minmax(82px,1fr) auto minmax(90px,1fr);gap:clamp(7px,1.1dvh,13px);padding:clamp(12px,1.8dvh,24px) clamp(18px,2.35vw,34px);overflow:hidden}.medicationBanner{width:100%;min-height:clamp(52px,7dvh,72px);display:flex;align-items:center;gap:12px;padding:clamp(12px,1.7dvh,16px) clamp(16px,2.4vw,22px);border:1px solid var(--alert-line);border-radius:14px;background:var(--alert-bg);color:var(--alert-text);text-align:left;box-shadow:var(--shadow)}.medicationBanner strong{font-size:clamp(1.05rem,2.1vw,1.7rem);font-weight:900}.medicationBanner.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--alert-bg));box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent)}.reminderBannerText{min-width:0;display:grid;gap:2px}.reminderBannerText span{color:var(--muted-strong);font-size:clamp(.86rem,1.4vw,1.04rem);font-weight:800;line-height:1.2}.sectionTitle{margin:0;color:var(--muted);font-size:clamp(.8rem,1.4vw,.95rem);font-weight:800;letter-spacing:1.8px;text-transform:uppercase}.tileGrid{display:grid;gap:clamp(12px,1.8vw,26px);min-height:0;min-width:0}.twoColumns{grid-template-columns:repeat(2,minmax(0,1fr))}.dayTiles{grid-template-columns:repeat(6,minmax(0,1fr))}.dayTiles .dashboardTile:last-child{grid-column:auto}.contactCard,.dashboardTile{min-width:0;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);transition:background .15s,border-color .15s,transform .15s}.contactCard:hover,.dashboardTile:hover{border-color:var(--accent);background:var(--surface-soft)}.dashboardTile.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--card));box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent)}.dashboardTile.alarmTile{border-color:var(--red-line);background:color-mix(in srgb,var(--red-soft) 72%,var(--card));color:var(--red)}.dashboardTile.alarmTile:hover{border-color:var(--red);background:var(--red-soft)}.contactCard:active,.dashboardTile:active{transform:scale(.98)}.dashboardTile{position:relative;min-height:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(7px,1.2dvh,12px);padding:clamp(12px,1.8dvh,18px) clamp(12px,1.7vw,18px);text-align:center}.dashboardTile strong{color:var(--text);font-size:clamp(1.25rem,2.5vw,1.9rem);line-height:1.05;font-weight:900}.dayTiles .dashboardTile strong{font-size:clamp(1rem,1.8vw,1.35rem)}.alarmTile strong{color:var(--red)}.tileIcon{width:clamp(64px,7.2vw,90px);height:clamp(64px,7.2vw,90px);display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;border:1px solid;border-radius:24px;background:color-mix(in srgb,currentColor 10%,transparent);color:var(--accent)}.dayTiles .dashboardTile .tileIcon{width:clamp(54px,5.8vw,74px);height:clamp(54px,5.8vw,74px);border-radius:21px}.tileIcon.compact{width:clamp(34px,3.8vw,42px);height:clamp(34px,3.8vw,42px);border-radius:13px}.tileIcon svg{width:62%;height:62%;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.tileIcon.blue{color:var(--blue)}.tileIcon.green{color:var(--green)}.tileIcon.purple{color:var(--purple)}.tileIcon.orange{color:var(--amber)}.tileIcon.teal{color:var(--teal)}.tileIcon.red{color:var(--red)}.countBadge{position:absolute;top:clamp(14px,2dvh,22px);right:clamp(14px,2vw,24px);min-width:clamp(28px,3vw,38px);height:clamp(28px,3vw,38px);display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:#ef4444;color:#ffffff;font-size:clamp(.82rem,1.5vw,1.05rem);font-weight:900}.assistantReply{position:fixed;right:clamp(14px,2vw,34px);bottom:clamp(14px,2dvh,24px);z-index:10;width:min(560px,calc(100vw - 28px));margin-top:0;padding:14px 18px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink)}.assistantReply p{margin:0 0 4px;color:var(--accent);font-size:1rem;font-weight:900;text-transform:uppercase}.assistantReply span{display:block;margin-bottom:4px;color:var(--muted-strong);font-size:1rem;font-weight:800}.assistantReply strong{display:block;font-size:1.08rem}.brainPanel{position:fixed;inset:auto clamp(14px,2vw,34px) clamp(92px,12dvh,132px) auto;z-index:12;width:min(520px,calc(100vw - 28px));display:grid;gap:12px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--text)}.brainPanel p,.brainPanel strong{margin:0}.brainPanel p{color:var(--accent);font-size:.95rem;font-weight:900;text-transform:uppercase}.brainPanel strong{font-size:clamp(1.15rem,2.6vw,1.65rem);line-height:1.15}.brainAnswerGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.brainAnswerGrid button{min-height:58px;padding:8px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);color:var(--text);font-size:clamp(1rem,2.1vw,1.25rem);font-weight:900}.callStatusPanel{position:fixed;left:clamp(14px,2vw,34px);bottom:clamp(14px,2dvh,24px);z-index:11;width:min(360px,calc(100vw - 28px));display:grid;gap:8px;padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.callStatusPanel p,.callStatusPanel strong{margin:0}.callStatusPanel p{color:var(--accent);font-size:.92rem;font-weight:900;text-transform:uppercase}.callStatusPanel strong{font-size:1rem}.hangupButton{min-height:44px;border:0;border-radius:12px;background:var(--red);color:#ffffff;font-weight:900}.contactGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,22px);min-height:0}.contactCard{min-height:0;height:100%;display:flex;flex-direction:column;gap:clamp(7px,1dvh,10px);padding:clamp(12px,1.8dvh,18px) 14px;text-align:center}.avatar,.contactCard{align-items:center;justify-content:center}.avatar{width:clamp(56px,7vw,88px);height:clamp(56px,7vw,88px);display:inline-flex;flex:0 0 auto;border-radius:999px;color:#ffffff;font-size:clamp(1.3rem,3.2vw,2.15rem);font-weight:900}.avatar.blue,.avatar.green,.avatar.orange,.avatar.purple,.callBadge{background:var(--accent)}.contactPhoneIcon svg{width:48%;height:48%;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4}.contactCard strong{color:var(--text);font-size:clamp(1.1rem,2.4vw,1.65rem);line-height:1.05;font-weight:900}.contactRelation{color:var(--muted-strong);font-size:clamp(.82rem,1.4vw,.95rem);font-weight:800}.contactAction{color:var(--accent);font-size:clamp(.74rem,1.2vw,.9rem);font-weight:900}.callBadge{min-height:clamp(32px,4dvh,42px);display:inline-flex;align-items:center;justify-content:center;padding:0 clamp(12px,1.8vw,20px);border-radius:12px;color:#ffffff;font-size:clamp(.95rem,1.8vw,1.12rem);font-weight:900}.emergencyOverlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:22px;background:rgba(15,17,23,.55)}.emergencyDialog{width:min(560px,100%);display:grid;gap:16px;padding:clamp(22px,4vw,36px);border:1px solid var(--red-line);border-radius:24px;background:var(--surface);color:var(--text);text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.22)}.emergencyDialog h2{margin:0;color:var(--red);font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.05}.emergencyDialog p{margin:0;color:var(--muted-strong);font-size:clamp(1rem,2vw,1.25rem);font-weight:800}.cancelAlarmButton,.confirmAlarmButton{min-height:58px;border-radius:16px;font-weight:900}.confirmAlarmButton{border:0;background:var(--red);color:#ffffff;font-size:clamp(1.2rem,3vw,1.65rem)}.cancelAlarmButton{border:1px solid var(--line);background:var(--surface-soft);color:var(--text);font-size:1rem}.srOnly{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media (max-width:920px){.homeScreen{grid-template-rows:clamp(104px,16dvh,128px) minmax(0,1fr)}.dashboard{padding:clamp(10px,1.5dvh,18px) 18px}.contactGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.contactCard,.dashboardTile{border-radius:24px}.dashboardTile{min-height:0;padding:clamp(14px,2.2dvh,24px) 20px clamp(12px,1.8dvh,20px)}.dayTiles .dashboardTile:last-child{grid-column:auto}}@media (max-width:560px){.homeScreen{grid-template-rows:clamp(88px,15dvh,112px) minmax(0,1fr)}.topHeader{grid-template-columns:76px minmax(0,1fr) 76px;padding:clamp(14px,2.4dvh,20px) 14px 10px;gap:6px}.settingsLink{width:42px;height:42px;min-height:42px}.settingsLink svg{width:23px;height:23px}.themeToggle{width:42px;height:42px;min-height:42px}.themeToggle svg{width:23px;height:23px}.topHeader p{font-size:clamp(.95rem,5vw,1.2rem)}.topHeader h1{font-size:clamp(2.2rem,12vw,2.9rem)}.topHeader time{max-width:190px;font-size:clamp(.9rem,4.4vw,1.08rem);line-height:1.15}.profileFrame{margin-top:0;width:clamp(66px,18vw,76px);height:clamp(66px,18vw,76px)}.dashboard{grid-template-rows:auto auto minmax(64px,.9fr) auto minmax(126px,1.25fr) auto minmax(112px,1fr);gap:clamp(5px,.85dvh,8px);padding:clamp(7px,1.1dvh,10px) 10px}.medicationBanner{min-height:clamp(48px,7dvh,58px);gap:12px;padding:9px 14px;border-left-width:7px;border-radius:0 16px 16px 0}.medicationBanner strong{font-size:clamp(.92rem,4.5vw,1.08rem);line-height:1.15}.reminderBannerText span{font-size:.76rem}.sectionTitle{font-size:clamp(.82rem,4vw,1rem)}.tileGrid{gap:8px}.contactGrid,.twoColumns{grid-template-columns:repeat(2,minmax(0,1fr))}.dayTiles{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboardTile{padding:10px 8px 9px;border-width:3px;border-radius:16px}.dashboardTile strong{font-size:clamp(1.05rem,5.6vw,1.42rem)}.tileIcon{width:clamp(46px,15vw,58px);height:clamp(46px,15vw,58px);border-radius:18px}.dayTiles .dashboardTile .tileIcon{width:clamp(40px,13vw,50px);height:clamp(40px,13vw,50px);border-radius:16px}.countBadge{min-width:30px;height:30px;top:9px;right:9px;font-size:.95rem}.contactGrid{gap:8px}.contactCard{border-width:3px;border-radius:16px;padding:8px;gap:4px}.avatar{width:clamp(38px,12vw,48px);height:clamp(38px,12vw,48px);font-size:clamp(.95rem,5vw,1.2rem)}.contactCard strong{font-size:clamp(.95rem,4.8vw,1.15rem)}.callBadge{min-height:26px;padding:0 10px;border-radius:9px;font-size:.82rem}.contactRelation{font-size:.76rem}.contactAction{font-size:.68rem}.assistantReply,.brainPanel,.callStatusPanel{right:10px;left:10px;width:auto}.callStatusPanel{bottom:10px}.brainPanel{bottom:86px;padding:14px}.brainAnswerGrid{grid-template-columns:1fr}.emergencyDialog{border-radius:20px}.cancelAlarmButton,.confirmAlarmButton{min-height:54px}}@media (max-height:720px){.homeScreen{grid-template-rows:112px minmax(0,1fr)}.dashboard{gap:6px;padding-top:7px;padding-bottom:7px}.topHeader{padding-top:12px}.topHeader p{font-size:1.05rem}.topHeader h1{font-size:2.65rem}.topHeader time{font-size:.95rem}.profileFrame{width:72px;height:72px}.medicationBanner{min-height:46px;padding-top:8px;padding-bottom:8px}.medicationBanner strong{font-size:1.18rem}.sectionTitle{font-size:.95rem}.dashboardTile{padding:8px 16px;border-width:3px;border-radius:16px}.dashboardTile strong{font-size:1.52rem}.dashboardTile .tileIcon{width:clamp(48px,5.8vw,66px);height:clamp(48px,5.8vw,66px);border-radius:19px}.dayTiles .dashboardTile .tileIcon{width:clamp(42px,5vw,56px);height:clamp(42px,5vw,56px);border-radius:17px}.countBadge{min-width:32px;height:32px;top:10px;right:12px;font-size:.98rem}.contactCard{gap:3px;padding-top:5px;padding-bottom:5px}.avatar{width:42px;height:42px;font-size:1.12rem}.contactCard strong{font-size:1rem}.callBadge{min-height:24px;font-size:.76rem}}@media (max-height:620px){body{font-size:14px}.homeScreen{grid-template-rows:80px minmax(0,1fr)}.topHeader h1{font-size:clamp(1.9rem,8vw,2.55rem)}.profileFrame{width:64px;height:64px}.medicationBanner{min-height:42px}.dashboardTile{padding-top:8px;padding-bottom:8px}}.settingsScreen{min-height:100dvh;max-height:100dvh;overflow:auto;background:var(--app-bg);color:var(--ink)}.settingsHeader{display:grid;grid-template-columns:clamp(76px,12vw,132px) minmax(0,1fr) clamp(76px,16vw,160px);align-items:center;gap:24px;margin:clamp(14px,2dvh,22px) clamp(18px,4vw,42px) 0;padding:clamp(16px,2.4dvh,22px) clamp(18px,2.4vw,24px);border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--text)}.settingsTitleBlock{grid-column:2;justify-self:center;min-width:0;text-align:center}.settingsHeader h1{margin:3px 0 0;color:var(--text);font-size:clamp(1.75rem,4vw,2.75rem);line-height:1}.settingsGreeting{display:block;color:var(--muted);font-size:clamp(1rem,2vw,1.28rem);font-weight:800}.backLink{display:inline-flex;grid-column:1;justify-self:start;margin-bottom:0;color:var(--muted-strong);font-size:.95rem;font-weight:900;text-decoration:none}.addButton,.removeButton,.saveButton{border:0;border-radius:14px;font-weight:900}.saveButton{min-width:140px;min-height:54px;background:var(--accent);color:#ffffff;font-size:1.15rem}.settingsHeaderActions{grid-column:3;justify-self:end;display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:10px}.savingPill{min-height:36px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:0 12px;color:var(--muted-strong);font-size:.86rem;font-weight:800}.settingsCard{border:1px solid var(--line);border-radius:20px;background:var(--surface)}.settingsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px clamp(18px,4vw,42px) 78px}.settingsCategoryLabel{grid-column:1/-1;margin:10px 0 -4px;color:var(--muted);font-size:.78rem;font-weight:900;letter-spacing:1.6px;text-transform:uppercase}.settingsCategoryGeneral{order:10}.settingsOrderGeneral1{order:11}.settingsOrderGeneral2{order:12}.settingsOrderGeneral3{order:13}.settingsOrderGeneral4{order:14}.settingsOrderGeneral5{order:15}.settingsOrderGeneral6{order:16}.settingsOrderGeneral7{order:17}.settingsCategoryMusic{order:20}.settingsOrderMusic1{order:21}.settingsOrderMusic2{order:22}.settingsCategoryStories{order:30}.settingsOrderStories1{order:31}.settingsOrderStories2{order:32}.settingsCategoryMessages{order:40}.settingsOrderMessages1{order:41}.settingsOrderMessages2{order:42}.settingsOrderMessages3{order:43}.settingsOrderMessages4{order:44}.settingsCard{display:grid;gap:0;align-content:start;padding:0}.compactProfileCard{width:100%}.settingsCardHeader{width:100%;min-height:68px;display:grid;grid-template-columns:minmax(0,1fr) auto;padding:clamp(16px,2.2vw,24px)}.settingsCardHeader,.settingsCardToggle{align-items:center;background:transparent;color:var(--text)}.settingsCardToggle{min-width:0;min-height:36px;display:flex;justify-content:space-between;gap:14px;border:0;padding:0;text-align:left}.settingsCardHeader h2{margin:0;color:var(--accent);font-size:clamp(1.2rem,2.3vw,1.65rem);line-height:1;text-transform:uppercase}.settingsCardHeader span{display:inline-flex;align-items:center;justify-content:center;min-height:30px;flex:0 0 auto;border-radius:999px;padding:0 12px;background:var(--surface-soft);color:var(--accent);font-size:.82rem;font-weight:900}.settingsCardBody{display:grid;gap:12px;padding:0 clamp(16px,2.2vw,24px) clamp(16px,2.2vw,24px)}.settingsHint{margin:0;color:var(--muted-strong);font-weight:800}.tileVisibilityList{display:grid;gap:8px}.tileVisibilityRow{min-height:58px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;padding:9px 10px 9px 12px;background:var(--surface-soft)}.tileVisibilityText{min-width:0;display:grid;gap:2px}.tileVisibilityText strong{color:var(--text);font-size:1rem;line-height:1.1}.tileVisibilityText span{color:var(--muted-strong);font-size:.82rem;font-weight:800;line-height:1.2}.tileVisibilityButton{width:34px;height:34px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted-strong)}.tileVisibilityButton.active{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface))}.tileVisibilityButton svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.1}.headerEyeButton{width:42px;height:42px;margin-left:12px}.headerEyeButton svg{width:21px;height:21px}.collapseList{display:grid;gap:9px}.speechLogList{display:grid;gap:8px}.speechLogRow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:var(--surface-soft)}.speechLogRow strong{min-width:0;color:var(--text);font-size:.95rem}.speechLogRow div{display:flex;flex-wrap:wrap;gap:8px}.speechLogRow a{color:var(--accent);font-weight:900;text-decoration:none}.collapseCard{display:grid;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft);overflow:hidden}.collapseHeader{min-height:66px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;width:100%;border:0;padding:10px 12px;background:transparent;color:var(--ink);text-align:left}.collapseHeaderText{display:grid;gap:2px;min-width:0}.collapseHeaderText strong{color:var(--ink);font-size:clamp(1rem,1.8vw,1.18rem);line-height:1.05}.collapseHeaderText span,.collapseHeaderText strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collapseHeaderText span{color:var(--muted-strong);font-size:.9rem;font-weight:800}.badgeRow,.connectRow{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.connectedPill,.miniBadge,.openState{display:inline-flex;align-items:center;justify-content:center;min-height:28px;border-radius:999px;padding:0 10px;font-size:.78rem;font-weight:900}.connectedPill,.miniBadge{background:var(--green-soft);color:var(--green)}.miniBadge.red{background:var(--red-soft);color:var(--red)}.spotifyTopLine{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,auto);align-items:start;gap:12px}.spotifyAccountSummary{justify-self:end;display:grid;gap:2px;max-width:min(260px,100%);text-align:right}.spotifyAccountSummary span{color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.spotifyAccountSummary strong{overflow:hidden;color:var(--accent);font-size:.9rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.spotifyActions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.spotifyButton{min-width:116px;min-height:32px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));border-radius:10px;padding:0 12px;background:color-mix(in srgb,var(--accent) 9%,var(--surface));color:var(--accent);font-size:.76rem;font-weight:900}.spotifyActions.connected .spotifyButton{width:116px;min-width:116px;min-height:32px}.openState{border:0;background:var(--surface);color:var(--accent)}.deleteStoryButton{background:var(--red-soft);color:var(--red)}.collapseBody{display:grid;gap:12px;padding:0 12px 12px}.formGrid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.specialWordBody{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;align-items:end}.inlineMicField{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:8px;align-items:center}.settingsCard label{display:grid;gap:5px;color:var(--muted-strong);font-weight:900}.settingsCard input,.settingsCard select,.settingsCard textarea{width:100%;min-height:44px;border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:var(--surface);color:var(--ink);font:inherit;font-weight:800}.settingsCard input:focus,.settingsCard select:focus,.settingsCard textarea:focus{outline:4px solid color-mix(in srgb,var(--accent) 25%,transparent);border-color:var(--accent)}.settingsCard textarea{min-height:120px;line-height:1.35;resize:vertical}.toggleGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.toggleRow{min-height:42px;display:flex!important;align-items:center;gap:9px!important;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.toggleRow input{width:22px;min-height:22px;accent-color:var(--accent)}.addButton{min-height:50px;background:var(--accent);color:#ffffff}.addButton.compact{min-height:42px;padding:0 16px}.removeButton{min-height:38px;justify-self:start;padding:0 14px;background:var(--red-soft);color:var(--red)}.removeButton.compact{min-height:32px}.connectButton{min-height:44px;border:0;border-radius:14px;padding:0 18px;background:var(--text);color:#ffffff;font-weight:900}.connectButton.secondary{background:var(--accent)}.secondaryButton{min-height:44px;border:1px solid var(--line);border-radius:14px;padding:0 18px;background:var(--surface);color:var(--text);font-weight:900}.stationList{display:grid;gap:10px}.stationRow{display:grid;gap:4px;border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--surface)}.stationRow strong{color:var(--text)}.stationRow span{color:var(--muted-strong);font-size:.92rem;font-weight:800}.storyActionRow{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.storyGenerateBar{display:grid;grid-template-columns:minmax(170px,auto) minmax(0,1fr);gap:10px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:10px;background:var(--surface-soft)}.storyGenerateButton{min-height:38px;border:1px solid var(--accent);border-radius:12px;padding:0 13px;background:var(--accent);color:#ffffff;font-size:.78rem;font-weight:900}.storyBody{gap:14px}.storyTitleField{gap:0!important}.storyTitleField input::placeholder{color:var(--muted)}.storyActionRow span{color:var(--muted-strong);font-size:.95rem;font-weight:800}.recordButton{width:48px;height:48px;min-height:48px;display:inline-grid;place-items:center;border:0;border-radius:50%;padding:0;background:var(--green);color:#ffffff}.recordButton svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.recordButton.active{background:var(--red)}.promptBox{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.storyPromptInput::placeholder{color:var(--muted)}.modalBackdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:18px;background:rgba(15,17,23,.56)}.settingsDialog{width:min(560px,100%);max-height:calc(100dvh - 36px);overflow:auto;display:grid;gap:14px;border:1px solid var(--line);border-radius:20px;padding:clamp(18px,3vw,26px);background:var(--surface);color:var(--text)}.settingsDialog h2,.settingsDialog p{margin:0}.settingsDialog h2{color:var(--accent);font-size:clamp(1.4rem,3vw,2rem)}.dialogStatus,.settingsDialog p{color:var(--muted-strong);font-weight:800}.settingsDialog label{display:grid;gap:6px;color:var(--muted-strong);font-weight:900}.settingsDialog input{width:100%;min-height:44px;border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:var(--surface);color:var(--text);font:inherit;font-weight:800}.dialogLink{color:var(--accent);font-weight:900}.dialogActions{display:flex;flex-wrap:wrap;gap:10px}.settingsFooter{position:sticky;bottom:0;padding:12px clamp(18px,4vw,42px);background:color-mix(in srgb,var(--app-bg) 92%,transparent);color:var(--muted-strong);font-weight:900}@media (max-width:900px){.settingsGrid{grid-template-columns:1fr}.settingsHeader{grid-template-columns:72px minmax(0,1fr) 72px;align-items:center;gap:12px}.formGrid,.promptBox,.specialWordBody,.storyGenerateBar,.toggleGrid{grid-template-columns:1fr}.collapseHeader{grid-template-columns:minmax(0,1fr) auto}.badgeRow{grid-column:1/-1}.spotifyTopLine{grid-template-columns:1fr}.spotifyAccountSummary{justify-self:start;text-align:left}.spotifyActions{justify-content:flex-start}.spotifyActions.connected .spotifyButton{width:116px;min-width:116px}}@media (max-width:560px){.dashboard{grid-template-rows:auto auto minmax(56px,.8fr) auto minmax(116px,1.2fr) auto auto minmax(104px,.95fr)}.dashboardTile,.medicationBanner{align-items:center}.dashboardTile{flex-direction:row;justify-content:flex-start;gap:8px;padding:8px 9px}.dashboardTile strong{font-size:clamp(.98rem,5.3vw,1.2rem);line-height:1.05}.countBadge{min-width:24px;height:24px;top:-7px;right:-5px;font-size:.78rem}.contactCard{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:1fr 1fr;column-gap:8px;row-gap:0;align-items:center;justify-items:start;padding:6px 8px;text-align:left}.contactCard .avatar{grid-row:1/3;width:32px;height:32px;font-size:.78rem}.contactCard strong{align-self:end;font-size:.86rem;line-height:1}.callBadge{min-height:18px;padding:0 7px;border-radius:7px;font-size:.68rem}}