*{box-sizing:border-box}:root{--color-bg-app:#f5f5f7;--color-bg-dark:#000;--color-surface:#fff;--color-surface-muted:#f5f5f7;--color-surface-dark-1:#272729;--color-surface-dark-2:#262628;--color-text-primary:#1d1d1f;--color-text-secondary:#000c;--color-text-tertiary:#0000007a;--color-text-on-dark:#fff;--color-primary:#0071e3;--color-primary-dark:#1d1d1f;--color-link:#06c;--color-link-on-dark:#2997ff;--color-border:#00000014;--color-border-strong:#00000029;--color-border-tag:#0071e347;--color-info-soft:#f5f5f7;--color-danger:#d32353;--color-danger-dark:#8a1030;--color-danger-soft:#fff5f7;--color-danger-border:#ffd5dd;--shadow-header:none;--shadow-card:#00000038 3px 5px 30px 0;--radius-sm:8px;--radius-md:8px;--radius-lg:12px;--radius-xl:12px;--radius-pill:980px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:18px;--space-6:20px}body{background:var(--color-bg-app);color:var(--color-text-primary);letter-spacing:-.374px;margin:0;font-family:SF Pro Text,SF Pro Icons,Helvetica Neue,Helvetica,Arial,sans-serif}#root{min-height:100vh;padding:0}.shell{max-width:920px;padding:var(--space-6);gap:var(--space-4);margin:0 auto;padding-bottom:96px;font-family:SF Pro Text,SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;display:grid}.shell.ios-portrait{background:linear-gradient(#f3f6fd 0%,#f8fbff 50%,#f5f9ff 100%);border:1px solid #d9e2f6;border-radius:32px;max-width:430px;min-height:880px;box-shadow:0 22px 72px #1118271f}.app-header{color:#0f172a;border-radius:var(--radius-xl);padding:var(--space-5);-webkit-backdrop-filter:blur(18px)saturate(160%);backdrop-filter:blur(18px)saturate(160%);background:#fff9;border:1px solid #ffffffa8;box-shadow:0 8px 24px #0f172a14}.app-header h1{margin:0 0 var(--space-1);font-size:1.5rem}.app-header p{color:#41526f;opacity:1;margin:0}.nav{display:none}button{padding:var(--space-2) var(--space-3);cursor:pointer;color:#fff;background:#2f66df;border:1px solid #0000;border-radius:12px;font-weight:600;transition:all .2s}button:disabled{cursor:not-allowed;background:#b8c8ea}.nav button{background:#ffffff1a;border-color:#fff3}.nav button.active{background:var(--color-surface);color:var(--color-primary-dark);border-color:var(--color-surface);font-weight:600}.subnav-card{-webkit-backdrop-filter:blur(14px)saturate(160%);backdrop-filter:blur(14px)saturate(160%);background:#ffffff9e;padding:10px 12px}.subnav{gap:var(--space-2);flex-wrap:wrap;display:flex}.subnav button{color:#2f4c86;background:#e9f1ffe0}.subnav button.active{color:#fff;background:#2f65d9}.bottom-tabs{-webkit-backdrop-filter:blur(20px)saturate(170%);backdrop-filter:blur(20px)saturate(170%);z-index:20;background:#fbfdffc2;border:1px solid #ffffffb8;border-radius:20px;grid-template-columns:repeat(3,1fr);gap:8px;width:min(920px,100% - 24px);padding:8px;display:grid;position:fixed;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 10px 32px #11182724}.bottom-tabs button{color:#39598f;background:0 0}.bottom-tabs button.active{color:#fff;background:#2f65d9}.card{border-radius:var(--radius-xl);padding:var(--space-5);-webkit-backdrop-filter:blur(18px)saturate(150%);backdrop-filter:blur(18px)saturate(150%);background:#ffffffc7;border:1px solid #ffffffbd;box-shadow:0 10px 26px #0f172a14}.card h2{margin-top:0}.grid.two{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.row{gap:var(--space-3);flex-wrap:wrap;display:flex}.field{margin-bottom:var(--space-3)}.field input[type=number]{width:100px;padding:var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);margin-top:6px}select{padding:var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface)}input[type=range]{width:100%}.field.row label{align-items:center;gap:var(--space-2);display:flex}.helper{margin-top:var(--space-3);color:var(--color-text-secondary);font-size:.92rem;line-height:1.5}.status-list{margin:var(--space-2) 0 var(--space-3)}.status-icon{width:1.3em;display:inline-block}.diagnosis-card{margin:var(--space-2) 0 var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:#fff9f2;border:1px solid #f3d6b8}.diagnosis-card h3{margin-top:0;margin-bottom:var(--space-2)}.diagnosis-card ul{margin-top:0}.viz-grid{gap:var(--space-3);margin:var(--space-3) 0;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.viz-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background:#fbfdff}.viz-card h4{margin-top:0;margin-bottom:var(--space-2)}.trend-svg{background:linear-gradient(#f4f8ff 0%,#f9fbff 100%);border-radius:10px;width:100%;height:140px}.reason-ring{width:130px;height:130px;margin:0 auto var(--space-2);border:6px solid #fff;border-radius:50%;box-shadow:inset 0 0 0 1px #dbe5ff}.reason-legend .helper{margin-top:6px}.dot{border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.score{font-size:1.5rem;font-weight:700}.summary-grid{gap:var(--space-2);margin-bottom:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.summary-item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-info-soft);padding:var(--space-2);gap:var(--space-1);flex-direction:column;display:flex}.summary-item span{color:var(--color-text-secondary);font-size:.8rem}.metric-label{align-items:center;gap:6px;display:inline-flex}.metric-help-trigger{color:#2f66df;cursor:help;background:#eaf1ff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;display:inline-flex;position:relative}.metric-tooltip{color:#1f2a44;opacity:0;pointer-events:none;z-index:30;background:#fffffff5;border:1px solid #d6e4ff;border-radius:10px;min-width:220px;max-width:300px;padding:10px 12px;font-size:12px;line-height:1.45;transition:opacity .15s,transform .15s;position:absolute;top:-10px;left:22px;transform:translateY(4px);box-shadow:0 10px 24px #0f172a1f}.metric-tooltip strong{margin-bottom:4px;display:block}.metric-tooltip-line{margin-top:6px;display:block}.metric-tooltip-line b{color:#36507f;margin-bottom:2px;display:block}.metric-tooltip-line span{display:block}.metric-help-trigger:hover .metric-tooltip,.metric-help-trigger:focus .metric-tooltip{opacity:1;transform:translateY(0)}.metric-mode-row{align-items:center}.metric-categories{gap:var(--space-3);margin-bottom:var(--space-2);display:grid}.metric-category{border-radius:var(--radius-md);padding:var(--space-3);background:#ffffffa8;border:1px solid #d9e7ff}.metric-category h3{margin:0 0 var(--space-2);font-size:1rem}.summary-item strong{font-size:1rem}.report-cards{gap:var(--space-3);margin-bottom:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.report-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-surface)}.report-card.partner{background:#f7faff}.report-card.doctor{background:#f8f8ff}.report-card h3{margin-top:0;margin-bottom:var(--space-1)}.table-wrap{margin-top:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.filter-row{padding:var(--space-2);border-bottom:1px solid var(--color-border);align-items:center}.filter-row .helper{margin-top:0}.benchmark-table{border-collapse:collapse;width:100%;font-size:.88rem}.benchmark-table th,.benchmark-table td{border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap;padding:8px}.benchmark-table td:nth-child(8),.benchmark-table td:nth-child(9),.benchmark-table td:nth-child(10),.benchmark-table td:nth-child(11){white-space:normal;min-width:120px}.benchmark-table audio{width:180px;height:28px}.benchmark-table thead th{background:var(--color-info-soft);font-weight:600}.inline-status{align-items:center;font-size:.88rem;display:inline-flex}.inline-status.ok{color:#1d7c35}.inline-status.fail{color:var(--color-danger-dark)}.heatmap{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-info-soft);align-items:flex-end;gap:6px;display:flex}.bar{background:linear-gradient(#6fb2ff,#357cff);border-radius:6px 6px 0 0;width:16px}.line-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(90px,1fr));display:grid}.day{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2);flex-direction:column;gap:2px;display:flex}.day strong{font-size:1.1rem}.tag-row{gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.tag{border:1px solid var(--color-border-tag);background:var(--color-bg-app);color:var(--color-primary-dark);padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);font-size:.82rem;display:inline-flex}.danger-zone{margin-top:var(--space-4);border:1px solid var(--color-danger-border);background:var(--color-danger-soft);border-radius:var(--radius-lg);padding:var(--space-3)}.danger-zone h3{margin-top:0;margin-bottom:var(--space-2);color:var(--color-danger-dark)}.danger-zone p{margin:0 0 10px}button.danger{background:var(--color-danger);border-color:var(--color-danger)}button.ghost{color:var(--color-text-secondary);border:1px solid var(--color-border);background:0 0}.debug-zone{margin-top:var(--space-4);border:1px solid var(--color-border);background:var(--color-info-soft);border-radius:var(--radius-lg);padding:var(--space-3)}.debug-zone h3{margin-top:0;margin-bottom:var(--space-2)}.debug-log-view{width:100%;margin-top:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2);color:#0f172a;resize:vertical;background:#fffc;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5}.clip-session{margin-bottom:var(--space-3);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff9}.clip-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.clip-list li{align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:.85rem;display:flex}.clip-list audio{max-width:240px;height:32px}.shell{width:100%;max-width:980px;color:var(--color-text-primary);gap:24px;padding:72px 20px 104px;font-family:SF Pro Text,SF Pro Icons,Helvetica Neue,Helvetica,Arial,sans-serif}.shell.ios-portrait{background:var(--color-bg-app);max-width:430px;min-height:880px;box-shadow:none;border:none;border-radius:0}.app-header{z-index:30;color:var(--color-text-primary);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);background:#f5f5f7e0;border:none;border-radius:0 0 28px 28px;margin:-72px -20px 0;padding:18px max(20px,50vw - 470px);position:sticky;top:0;box-shadow:0 1px #0000000f}.app-header h1{letter-spacing:-.28px;margin:0;font-family:SF Pro Display,SF Pro Icons,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:600;line-height:1.1}.app-header p{max-width:620px;color:var(--color-text-secondary);letter-spacing:-.224px;margin-top:6px;font-size:1rem;line-height:1.35}.app-header .row{margin-top:18px}.card{background:var(--color-surface);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:none;border-radius:12px;padding:clamp(24px,5vw,48px)}.card:nth-of-type(2n){background:var(--color-surface-muted)}.card h2{letter-spacing:-.28px;color:var(--color-text-primary);font-family:SF Pro Display,SF Pro Icons,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:clamp(2rem,5vw,2.5rem);font-weight:600;line-height:1.1}.card h3{letter-spacing:.231px;font-family:SF Pro Display,SF Pro Icons,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1.3125rem;line-height:1.19}.card p,.card li,.field label{letter-spacing:-.374px;font-size:1.0625rem;line-height:1.47}button{background:var(--color-primary);color:#fff;letter-spacing:-.374px;min-height:44px;box-shadow:none;border-radius:8px;font-size:1.0625rem;font-weight:400}button:hover:not(:disabled){filter:brightness(1.06)}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:disabled{color:#0000007a;background:#0000002e}button.ghost,.subnav button,.bottom-tabs button{border:1px solid var(--color-link);border-radius:var(--radius-pill);color:var(--color-link);background:0 0}button.ghost:hover,.subnav button:hover,.bottom-tabs button:hover{filter:none;text-decoration:underline}.subnav-card{background:0 0;border:none;padding:0}.subnav{gap:10px}.subnav button.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.bottom-tabs{width:min(980px,100% - 24px);box-shadow:none;-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);background:#000c;border:none;border-radius:980px}.bottom-tabs button{color:#ffffffd1;border-color:#0000}.bottom-tabs button.active{background:var(--color-primary);color:#fff}.bottom-tabs .record-tab{background:var(--color-primary);color:#fff;border-radius:999px;min-height:54px;transform:translateY(-10px);box-shadow:0 10px 24px #0071e34d}.bottom-tabs .record-tab.active{transform:translateY(-12px)scale(1.02)}.today-dashboard{background:#f5f5f7}.today-hero{background:#fff;border-radius:28px;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:28px;padding:28px;display:grid}.eyebrow{color:var(--color-link);letter-spacing:-.224px;margin-bottom:10px;font-size:.875rem;font-weight:600;display:inline-flex}.today-hero h2,.record-hero h2{margin:0 0 10px}.today-hero p,.record-hero p{max-width:560px;color:var(--color-text-secondary)}.primary-cta{border-radius:999px;padding:8px 18px}.progress-orb{place-items:center;width:180px;height:180px;display:grid;position:relative}.progress-orb svg{position:absolute;inset:0;transform:rotate(-90deg)}.progress-track,.progress-value{fill:none;stroke-width:12px}.progress-track{stroke:#e5e5ea}.progress-value{stroke:var(--color-primary);stroke-linecap:round}.progress-orb div{text-align:center;display:grid}.progress-orb strong{letter-spacing:-.28px;font-size:2.1rem;line-height:1}.progress-orb span{color:var(--color-text-secondary);margin-top:6px;font-size:.875rem}.health-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:16px;display:grid}.health-card{background:#fff;border-radius:22px;padding:20px}.health-card h3{margin:8px 0 6px}.health-card p{color:var(--color-text-secondary);margin:0}.health-icon{width:34px;height:34px;color:var(--color-primary);background:#0071e31a;border-radius:50%;place-items:center;font-size:1.35rem;display:inline-grid}.record-studio{background:#fff}.record-hero{text-align:center;justify-items:center;padding:28px 16px;display:grid}.record-main-button{border-radius:50%;width:min(220px,70vw);height:min(220px,70vw);margin-top:20px;font-family:SF Pro Display,SF Pro Icons,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:clamp(1.8rem,8vw,2.8rem);font-weight:600;line-height:1.05;box-shadow:0 18px 42px #0071e34d}.record-live{text-align:center;color:var(--color-primary);font-weight:600}.record-options{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:16px;display:grid}.record-options label,.sleep-options{background:var(--color-surface-muted);border-radius:16px;padding:14px}.record-options label{gap:8px;display:grid}.switch-row{grid-template-columns:auto 1fr;align-items:center}.record-actions{justify-content:center;margin-top:14px}.sleep-options{margin-top:16px}.sleep-options summary{cursor:pointer;color:var(--color-link);font-weight:600}.helper{color:var(--color-text-secondary);letter-spacing:-.224px;font-size:.875rem;line-height:1.43}.score{letter-spacing:-.28px;font-family:SF Pro Display,SF Pro Icons,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:clamp(2.5rem,8vw,3.5rem);font-weight:600;line-height:1.07}.summary-item,.metric-category,.report-card,.viz-card,.day,.clip-session,.debug-zone{background:var(--color-surface-muted);box-shadow:none;border:none;border-radius:12px}.report-card.partner,.report-card.doctor{background:var(--color-surface-muted)}.summary-item strong,.day strong{color:var(--color-text-primary)}.summary-item span,.tag,.inline-status{color:var(--color-text-secondary)}.tag{border:1px solid var(--color-border-tag);color:var(--color-link);background:0 0}select,.field input[type=number],.debug-log-view{border:1px solid var(--color-border);min-height:44px;color:var(--color-text-primary);background:#fafafc;border-radius:11px}.metric-help-trigger{color:var(--color-primary);background:#0071e31a}.metric-tooltip{color:var(--color-text-primary);box-shadow:var(--shadow-card);background:#fffffffa;border:none;border-radius:12px}.metric-tooltip-line b{color:var(--color-text-primary)}.benchmark-table thead th,.heatmap,.trend-svg{background:var(--color-surface-muted)}.bar{background:var(--color-primary)}.reason-ring{border-color:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-border)}.table-wrap,.benchmark-table th,.benchmark-table td,.filter-row{border-color:var(--color-border)}.danger-zone{background:#fff5f7;border:1px solid #d323532e}button.danger{background:var(--color-danger)}a{color:var(--color-link)}@media (width<=640px){.shell{padding:64px 12px 96px}.app-header{margin:-64px -12px 0;padding:18px 16px}.app-header h1{font-size:2.25rem}.app-header p{font-size:1.0625rem}.card{padding:24px 18px}}
