:root{--bg:#f8f8f9;--surface:#fff;--ink:#2c2c2e;--muted:#8e8e93;--accent:#c84712;--accent-soft:#fff3ed;--line:#e5e5ea;--success:#34c759;--success-bg:#f0faf3;--warning:#ff9500;--warning-bg:#fff8ed;--danger:#ff3b30;--danger-bg:#fff0f0;--radius:16px;--shadow:0 2px 12px rgba(0,0,0,.06),0 1px 3px rgba(0,0,0,.04);--shadow-lg:0 8px 24px rgba(0,0,0,.08),0 2px 8px rgba(0,0,0,.04);--shadow-xl:0 12px 40px rgba(0,0,0,.12),0 4px 12px rgba(0,0,0,.06);--tab-bar-height:80px}*{box-sizing:border-box}html{background:var(--bg);color-scheme:light;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a,button,input,select,summary{outline-offset:3px}:focus-visible{outline:3px solid #1259a7}h1,h2,h3,p{margin-top:0}h1{font-size:1.75rem;font-weight:700;letter-spacing:-.02em}h2{font-size:1.25rem;letter-spacing:-.01em}h2,h3{font-weight:600}h3{font-size:1.02rem}p{margin-bottom:12px;line-height:1.48}.app-shell,.workout-shell{width:100%;max-width:430px;min-height:100vh;margin:auto;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,16px) calc(var(--tab-bar-height) + env(safe-area-inset-bottom,12px)) env(safe-area-inset-left,16px)}.today-header{display:flex;align-items:flex-start;justify-content:space-between;margin:12px 0 18px}.today-header h1{font-size:2.4rem;font-weight:800;letter-spacing:-.04em;margin:2px 0 0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.date-label{display:block;font-size:.86rem;color:var(--muted);font-weight:600;margin-bottom:4px}.avatar-btn{width:44px;height:44px;border-radius:50%;background:var(--accent);border:0;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.app-shell>header,.workout-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:20px 0 24px}.app-shell>header>div:first-child{flex:1 1}.app-shell>header select{max-width:160px;min-height:38px;font-size:.88rem;padding:8px 32px 8px 12px;background-position:right 10px center}.eyebrow{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);opacity:.7}header h1{margin:2px 0 0;line-height:1.2;font-size:1.65rem}input,select{width:100%;min-height:50px;border:1px solid var(--line);background:var(--surface);border-radius:11px;padding:12px 14px;color:var(--ink);font-size:.95rem}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23626b78' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}label{display:grid;grid-gap:4px;gap:4px;color:var(--muted);font-size:.84rem;font-weight:500}label b{color:var(--ink);font-weight:600}label b,small{font-size:.85rem}small{line-height:1.4}.hero-card{margin-bottom:14px;border:1px solid var(--line);border-radius:20px;background:var(--surface);padding:0;box-shadow:var(--shadow-lg);overflow:hidden}.hero-content{display:flex;gap:0;align-items:stretch}.hero-text{flex:1 1;padding:24px 22px}.hero-illustration{width:120px;background:linear-gradient(135deg,#fff3ed,#ffe5d8);position:relative}.hero-illustration,.illustration-circle{display:flex;align-items:center;justify-content:center}.illustration-circle{width:90px;height:90px;border-radius:50%;background:linear-gradient(135deg,rgba(255,243,237,.8),rgba(255,229,216,.9));box-shadow:0 6px 20px rgba(200,71,18,.15)}.pill-accent{display:inline-flex;align-items:center;gap:4px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:10px}.hero-card h2{margin:6px 0 4px;font-size:2rem;font-weight:900;letter-spacing:-.04em;line-height:1.05;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hero-subtitle{color:var(--muted);font-size:.92rem;margin:4px 0 12px;line-height:1.4}.coach-inline{color:#59463b;font-size:.88rem;line-height:1.45;margin:10px 0 18px;font-weight:500}.hero-card .primary{min-height:50px;width:auto;display:inline-flex;align-items:center;gap:4px;font-size:1rem}.card,.exercise{margin-bottom:14px;border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:20px;box-shadow:var(--shadow)}.section-header{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink);margin-bottom:2px}.section-header h3{margin:0;font-size:.82rem}.time-badge{color:var(--muted);font-weight:500}.exercise p,.muted{color:var(--muted);line-height:1.5;font-size:.94rem}.button-row,.header-actions,.hero-actions,.timer-actions,.workout-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.button-row{margin-top:12px}.chip-grid button,.choice-grid button,.danger,.ghost,.link,.primary,.quick-grid button,.swap-panel button,.toggle-grid button{min-height:52px;border-radius:13px;padding:14px 18px;font-weight:600;font-size:.95rem}.primary{border:0;background:linear-gradient(135deg,var(--accent) 0,#d95821 100%);color:#fff;box-shadow:0 3px 12px rgba(200,71,18,.25),inset 0 1px 2px rgba(255,255,255,.2)}.primary:active{opacity:.88;transform:scale(.98)}.danger{border:1px solid #efbaba;background:var(--danger-bg);color:var(--danger)}.ghost,.link{border:1px solid transparent;background:transparent;color:var(--accent)}.link{padding-left:0;padding-right:0;min-height:44px}.pill{display:inline-flex;border-radius:999px;background:var(--accent-soft);color:var(--accent);padding:5px 11px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.chip-grid,.choice-grid,.quick-grid,.toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin:14px 0 16px}.chip-grid button,.choice-grid button,.quick-grid button,.swap-panel button,.toggle-grid button{border:1px solid var(--line);background:var(--surface);color:var(--ink)}.chip-grid button.active,.quick-grid button.active,.toggle-grid button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:650}.toggle-grid button.warning,.warning{border-color:#e9b08c;background:var(--warning-bg);color:var(--warning)}.choice-grid button{display:grid;grid-gap:4px;gap:4px;text-align:left;align-content:start;padding:14px}.choice-grid button b{font-size:.95rem}.choice-grid button small,.choice-grid button span{color:var(--muted);font-weight:500;font-size:.85rem;line-height:1.38}.metrics,.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.settings-grid{margin:14px 0 16px}.metrics span{display:flex;min-height:72px;flex-direction:column;padding:12px;border-radius:12px;background:var(--bg);color:var(--muted);font-size:.9rem}.metrics b{margin-bottom:2px;color:var(--ink);font-size:1.15rem;font-weight:650}.settings-grid{margin:14px 0 18px}.connection-state{margin:0 0 12px;border:1px solid var(--line);border-radius:11px;padding:11px 14px;font-size:.88rem;color:var(--muted);background:var(--surface);line-height:1.45}.connection-state.online{border-color:#cfe8d6;background:#f2faf4}.connection-state.offline{border-color:#ebc498;background:#fff8ed;color:#72431d}.connection-state.storage-error{border-color:#efbaba;background:var(--danger-bg);color:var(--danger)}.coach-mini,.coach-note{margin:12px 0;padding:13px 15px;font-weight:500;box-shadow:0 1px 3px rgba(0,0,0,.02)}.coach-mini,.coach-note,.coach-tip{border-radius:12px;background:linear-gradient(135deg,#f8f1ec,#f5ede6);color:#59463b;line-height:1.48;font-size:.88rem;border:1px solid rgba(200,134,96,.12)}.coach-tip{display:flex;align-items:flex-start;gap:10px;margin:14px 0;padding:14px 16px;box-shadow:0 1px 4px rgba(0,0,0,.03)}.exercise-title{display:flex;justify-content:space-between;gap:16px}.exercise-tools{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end;gap:8px}.exercise-tools .link{min-width:64px}.exercise.deferred{border-style:dashed;background:#fafafa;opacity:.75}.exercise.deferred .set:not(.done){background:#f0f1f3}.exercise h2{margin:6px 0 4px;font-size:1.2rem}.set-grid{display:grid;grid-gap:8px;gap:8px;margin:12px 0}.set{display:flex;justify-content:space-between;gap:12px;border-radius:11px;background:var(--bg);padding:13px 15px;color:var(--muted);font-size:.95rem}.set.done{background:var(--success-bg);color:var(--success);font-weight:600}.set b{font-weight:650}.log-box{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;align-items:end}.log-box .primary,.log-box .wide-field{grid-column:1/-1}.log-box-compact{display:grid;grid-gap:12px;gap:12px;margin-top:14px}.log-inputs{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:10px;gap:10px}.log-box-compact label{font-size:.84rem;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.04em}.log-box-compact input,.log-box-compact select{min-height:50px;font-size:1.1rem;font-weight:700;text-align:center;border:2px solid var(--line);background:linear-gradient(135deg,var(--surface) 0,#fafbfc 100%);box-shadow:0 1px 4px rgba(0,0,0,.04);border-radius:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.log-box-compact input:focus,.log-box-compact select:focus{border-color:var(--accent);outline:none;box-shadow:0 2px 8px rgba(200,71,18,.15)}.log-box-compact .primary{min-height:54px;font-size:1rem;font-weight:700}.checkbox-row{display:flex;min-height:50px;align-items:center;gap:10px;border:1px solid var(--line);border-radius:11px;padding:11px 14px;color:var(--ink);font-size:.94rem}.checkbox-row input{width:auto;min-height:auto;width:20px;height:20px;accent-color:var(--accent)}.swap-panel{margin:14px 0;border:1px solid var(--line);border-radius:13px;background:#fafbfc;padding:15px}.swap-panel h3{font-size:1rem;margin-bottom:10px}.swap-panel button{display:grid;width:100%;height:auto;margin:6px 0;text-align:left}.swap-panel small{margin-top:4px;color:var(--muted);font-weight:500;font-size:.88rem}.skill-block{padding:16px 0;border-top:1px solid var(--line)}.skill-block b{font-size:.98rem}.history{display:grid;grid-template-columns:1fr auto;grid-gap:4px;gap:4px;padding:14px 0;border-bottom:1px solid var(--line);font-size:.94rem}.history b{font-weight:650;letter-spacing:-.01em}.history .link,.history small{grid-column:1/-1;font-size:.88rem}.history small{color:var(--muted);line-height:1.45;font-weight:500}.paused-card{text-align:center}.paused-card h2{margin-bottom:10px}.paused-card .primary{margin-top:16px;width:100%;max-width:280px}.session-view{background:var(--bg)}.session-header{justify-content:space-between;padding:12px 16px;margin:0}.session-header,.session-timer{display:flex;align-items:center}.session-timer{gap:6px;font-size:.92rem;font-weight:600;color:var(--muted)}.icon-only{min-height:36px;min-width:36px;padding:8px;font-size:1.2rem;border-radius:8px}.current-exercise-focus{text-align:center;padding:26px 22px;margin:0 16px 18px;background:linear-gradient(135deg,var(--surface) 0,#fafbfc 100%);border-radius:20px;border:1px solid var(--line);box-shadow:var(--shadow-lg)}.set-pill{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:12px;background:var(--accent-soft);padding:6px 12px;border-radius:6px}.exercise-name{font-size:2.2rem;font-weight:900;letter-spacing:-.04em;margin:10px 0 8px;line-height:1.05;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.exercise-details{font-size:.94rem;color:var(--muted);margin:0;font-weight:500}.session-progress{margin:18px 16px;padding:18px 20px;background:linear-gradient(135deg,var(--surface) 0,#fafbfc 100%);border-radius:16px;border:1px solid var(--line);box-shadow:var(--shadow)}.progress-bar{height:8px;background:var(--bg);border-radius:4px;overflow:hidden;margin-bottom:12px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent) 0,#d95821 100%);transition:width .3s;box-shadow:inset 0 1px 3px rgba(255,255,255,.3)}.progress-label{font-size:.9rem;color:var(--muted);margin:0;font-weight:600}.workout-actions{margin:18px 16px;gap:10px}.workout-actions .primary{flex:1 1;min-height:56px;font-size:1rem;font-weight:700}.rest-dock{position:fixed;z-index:30;left:50%;bottom:calc(var(--tab-bar-height) + env(safe-area-inset-bottom,0) + 8px);transform:translateX(-50%);width:calc(100% - 32px);max-width:398px;display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:16px;gap:16px;border-radius:20px;background:rgba(23,26,31,.98);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);color:#fff;padding:20px 22px;box-shadow:var(--shadow-xl),0 0 1px rgba(0,0,0,.2)}.rest-dock .timer-display{display:flex;align-items:center;gap:14px}.rest-dock .timer-circle{display:flex;align-items:center;justify-content:center;width:62px;height:62px;border-radius:50%;background:linear-gradient(135deg,rgba(255,255,255,.15),rgba(255,255,255,.08));border:2.5px solid rgba(255,255,255,.25);box-shadow:inset 0 2px 8px rgba(0,0,0,.15)}.rest-dock .timer-circle span{font-size:1.4rem;font-weight:900;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rest-dock .timer-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;opacity:.65}.rest-dock button{min-height:40px;border:0;border-radius:10px;padding:9px 14px;font-weight:650;font-size:.86rem;background:rgba(255,255,255,.18);color:#fff;box-shadow:0 1px 4px rgba(0,0,0,.1)}.rest-dock button:hover{background:rgba(255,255,255,.25)}.timer-actions{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end;margin-top:6px}.rest-dock~.bottom-nav{opacity:.4;pointer-events:none}.bottom-nav{position:fixed;z-index:20;left:50%;bottom:0;transform:translateX(-50%);width:100%;max-width:430px;display:grid;grid-template-columns:repeat(4,1fr);border-top:.5px solid rgba(0,0,0,.08);background:rgba(252,252,253,.98);padding:8px 0 calc(8px + env(safe-area-inset-bottom,0));backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);box-shadow:0 -2px 12px rgba(0,0,0,.04)}.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:56px;border:0;background:transparent;color:var(--muted);font-weight:650;font-size:.69rem;letter-spacing:.02em;padding:6px 8px;transition:color .15s}.bottom-nav button.active{color:var(--accent)}details{margin-top:10px;color:var(--muted);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:18px 20px}details[open]{padding-bottom:20px}summary{cursor:pointer;font-weight:600;color:var(--ink);font-size:.95rem;list-style:none;display:flex;align-items:center;justify-content:space-between}summary::-webkit-details-marker{display:none}summary:after{content:"";width:20px;height:20px;background:var(--muted);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;transition:transform .2s}.metrics-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:14px}.metric-card{border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,var(--surface) 0,#fafbfc 100%);padding:20px;box-shadow:var(--shadow)}.metric-header{display:flex;align-items:center;gap:8px;margin-bottom:14px}.metric-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.metric-value{font-size:2.8rem;font-weight:900;letter-spacing:-.05em;line-height:.92;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.metric-unit{font-size:1.4rem;color:var(--muted);font-weight:600}.metric-desc{font-size:.85rem;color:var(--muted);margin:8px 0 0;line-height:1.35}.sleep-ring{position:relative;width:64px;height:64px;margin:8px 0}.sleep-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.05rem;font-weight:700;color:var(--ink)}.check-in-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:82px;padding:14px 10px;font-size:.8rem;font-weight:600;border:1.5px solid var(--line);border-radius:16px;background:linear-gradient(135deg,var(--surface) 0,#fafbfc 100%);color:var(--muted);transition:all .15s;box-shadow:0 1px 4px rgba(0,0,0,.04)}.check-in-chip:active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);transform:scale(.97);box-shadow:0 2px 8px rgba(200,71,18,.15)}.week-plan-card{margin-bottom:14px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,var(--surface) 0,#fafbfc 100%);padding:18px 20px;box-shadow:var(--shadow)}.week-plan-header{display:flex;align-items:center;gap:10px;font-size:.88rem;color:var(--ink);line-height:1.45;font-weight:500}.log-hero{padding:26px 24px}.log-main-stat{margin-bottom:0}.athletic-numeral{font-size:6.2rem;font-weight:900;letter-spacing:-.08em;line-height:.8;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:linear-gradient(180deg,var(--ink) 0,#666 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-caption{font-size:.94rem;color:var(--muted);margin:8px 0 0;font-weight:600;line-height:1.4}.coach-card{padding:18px 20px}.coach-card-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.coach-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.coach-message{font-size:.92rem;color:var(--ink);line-height:1.5;margin:0;font-weight:500}.stats-rows{display:grid;grid-gap:1px;gap:1px;background:var(--line);border-radius:14px;overflow:hidden;margin:16px 0}.stat-row{gap:14px;padding:16px 18px;background:var(--surface)}.stat-icon,.stat-row{display:flex;align-items:center}.stat-icon{justify-content:center;width:40px;height:40px;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:1.1rem}.stat-content{flex:1 1}.stat-label{font-size:.82rem;color:var(--muted);font-weight:500;margin-bottom:2px}.stat-value{font-size:1.05rem;font-weight:650;color:var(--ink)}details[open] summary:after{transform:rotate(180deg)}.session-exercise{margin:0 16px 16px!important;padding:18px 20px!important;background:linear-gradient(135deg,var(--surface) 0,#fafbfc 100%)!important;box-shadow:var(--shadow)!important}@media(min-width:500px){.app-shell,.workout-shell{padding-top:28px}.hero{padding:28px}}@media(max-width:560px){.metrics,.settings-grid{grid-template-columns:1fr}.log-box{grid-template-columns:1fr 1fr}.log-box .primary,.log-box .wide-field{grid-column:1/-1}.workout-head{flex-direction:column}.header-actions{width:100%}.header-actions button{flex:1 1}.exercise-tools{max-width:48%}.rest-dock{grid-template-columns:auto 1fr}.timer-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr)}.timer-actions button{padding:9px 6px;font-size:.85rem}.choice-grid{grid-template-columns:1fr}}@media(max-width:380px){.chip-grid,.quick-grid,.toggle-grid{grid-template-columns:1fr}.bottom-nav button{font-size:.65rem;padding:6px 4px}.exercise-title{display:grid}.exercise-tools{max-width:none;justify-content:flex-start}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.route-back{display:inline-flex;align-items:center;min-height:48px;padding:11px 15px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--accent);font-weight:600;text-decoration:none;font-size:.94rem}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.coaching-hero,.health-hero{background:linear-gradient(145deg,#fff,#fff7f2)}.coach-action-grid,.goal-grid,.habit-grid,.import-grid,.metric-card-grid,.source-card-grid,.trend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.coach-action,.habit-card,.metric-card,.source-card,.trend-card{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:15px}.coach-action strong,.metric-card strong,.trend-card strong{display:block;margin:6px 0;font-size:1.25rem;font-weight:650}.coach-action p,.metric-card p,.source-card p,.trend-card p{color:var(--muted);line-height:1.45;font-size:.92rem}.workout-heart-rate-card{margin-top:12px;background:var(--bg)}.status-badge{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:5px 10px;background:var(--bg);color:var(--muted);font-size:.7rem;font-weight:700;text-transform:capitalize}.status-current{background:var(--success-bg);color:var(--success)}.status-partial,.status-permission-required,.status-stale{background:var(--warning-bg);color:var(--warning)}.status-failed,.status-unavailable{background:var(--danger-bg);color:var(--danger)}.source-card{margin-top:10px}.source-card .button-row{margin-top:14px}.permission-scope{margin:12px 0}.permission-scope summary{min-height:44px;display:flex;align-items:center}.permission-scope fieldset{margin:8px 0 0;padding:0;border:0}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px;gap:6px}.permission-grid label{display:flex;align-items:center;gap:8px;min-height:42px;border:1px solid var(--line);border-radius:12px;background:var(--bg);padding:8px}.permission-grid input{width:20px;height:20px;flex:0 0 auto}.file-button{position:relative;min-height:82px;align-content:center;border:1px dashed #b9c0c9;border-radius:13px;background:#fafbfc;padding:15px;cursor:pointer}.file-button span{color:var(--muted);font-size:.92rem}.file-button input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.habit-card{display:grid;grid-gap:10px;gap:10px}.habit-toggle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin:12px 0 16px}.habit-toggle-grid button{min-height:48px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted);padding:10px;font-weight:650;font-size:.92rem}.habit-toggle-grid button.active{border-color:var(--accent);background:var(--accent-soft,#fff1ea);color:var(--accent);font-weight:650}.observation-detail{border-bottom:1px solid var(--line);padding:12px 0}.observation-detail summary{display:grid;grid-template-columns:1fr auto;grid-gap:4px;gap:4px;list-style-position:outside;font-size:.94rem}.observation-detail summary small{grid-column:1/-1;color:var(--muted);font-size:.88rem}.observation-detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin:14px 0}.observation-detail dl div{min-width:0;border-radius:11px;background:var(--bg);padding:11px}.observation-detail dt{font-size:.78rem;font-weight:650;color:var(--muted)}.observation-detail dd{margin:4px 0 0;overflow-wrap:anywhere;font-size:.92rem}.coaching-page,.health-page{padding-bottom:48px}.coach-action{background:var(--bg)}.coach-action h3{margin:8px 0}.conversation-result{margin-top:14px;border:1px solid var(--line);border-radius:16px;background:var(--bg);padding:14px}.conversation-result dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.conversation-result dl div{border-radius:12px;background:#fff;padding:10px}.conversation-result dt{font-size:.75rem;color:var(--muted);font-weight:750}.conversation-result dd{margin:4px 0 0}.coach-explanation{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--line);border-radius:12px;background:var(--bg);padding:14px;font:inherit;line-height:1.48;font-size:.92rem}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(min-width:800px){.coach-action-grid,.goal-grid,.metric-card-grid,.trend-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:620px){.coach-action-grid,.goal-grid,.habit-grid,.import-grid,.metric-card-grid,.permission-grid,.source-card-grid,.trend-grid{grid-template-columns:1fr}.habit-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{align-items:flex-start}.coaching-page>header,.health-page>header{align-items:center}.conversation-result dl,.observation-detail dl{grid-template-columns:1fr}}@media(max-width:380px){.route-back{padding:8px 10px;font-size:.85rem}.habit-toggle-grid{grid-template-columns:1fr}}