:root{color-scheme:light;--bg: #f2f2f7;--card: #ffffff;--label: #000000;--secondary: rgba(60, 60, 67, .6);--tertiary: rgba(60, 60, 67, .3);--fill: rgba(120, 120, 128, .16);--separator: rgba(60, 60, 67, .12);--accent: #248a3d;--accent-ink: #ffffff;--good: #248a3d;--warn: #b25000;--bad: #d70015;--muted: rgba(60, 60, 67, .6);--pressed: rgba(0, 0, 0, .06);--shadow: 0 12px 40px rgba(0, 0, 0, .18);--bar: rgba(249, 249, 249, .9);--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;--display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;font-family:var(--font);background:var(--bg);color:var(--label)}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg: #000000;--card: #1c1c1e;--label: #ffffff;--secondary: rgba(235, 235, 245, .6);--tertiary: rgba(235, 235, 245, .3);--fill: rgba(120, 120, 128, .32);--separator: rgba(84, 84, 88, .65);--accent: #30d158;--good: #30d158;--warn: #ff9f0a;--bad: #ff453a;--muted: rgba(235, 235, 245, .6);--pressed: rgba(255, 255, 255, .08);--bar: rgba(28, 28, 30, .9);--shadow: 0 12px 40px rgba(0, 0, 0, .45)}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}.shell{height:100%;overflow:hidden}.canvas{height:100%;overflow:auto;padding-bottom:calc(64px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}.titlebar{position:sticky;top:0;z-index:3;padding:calc(env(safe-area-inset-top) + 18px) 20px 10px;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.titlebar h1{font-family:var(--display);font-size:34px;line-height:1.1;font-weight:700;letter-spacing:-.022em;margin:0}.titlebar.compact{padding-top:calc(env(safe-area-inset-top) + 10px)}.titlebar.compact h1{font-size:17px;font-weight:600;letter-spacing:-.01em}.eyebrow,.subtitle{margin:0 0 2px;color:var(--secondary);font-size:13px}.title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.text-button,.back{border:0;background:transparent;color:var(--accent);min-height:44px;padding:0;font-weight:400;font-size:17px}.back{margin-left:-6px}.section{display:flex;justify-content:space-between;margin:22px 32px 6px;color:var(--secondary);font-size:13px;font-weight:400}.group{margin:0 16px 8px;background:var(--card);border-radius:12px;overflow:hidden}.row{width:100%;display:flex;align-items:center;gap:12px;min-height:60px;padding:10px 16px;border:0;border-bottom:1px solid var(--separator);background:transparent;text-align:left}.group .row:last-child{border-bottom:0}.row:active,.action:active{background:var(--pressed)}.row.selected{background:color-mix(in srgb,var(--accent) 12%,transparent)}.row-main{flex:1;min-width:0}.row-title{display:block;font-size:17px}.row-sub{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px;font-size:13px;color:var(--secondary)}.row-figure{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;letter-spacing:-.03em}.tip-good{color:var(--good)}.tip-warn{color:var(--warn)}.tip-bad{color:var(--bad)}.tip-muted{color:var(--muted)}.hero{padding:8px 20px 4px}.hero h2{margin:0;font-family:var(--display);font-size:28px;font-weight:700;letter-spacing:-.02em}.hero-figures{display:flex;gap:22px;margin-top:14px}.hero-figures span{display:block;color:var(--secondary);font-size:13px}.hero-figures strong{display:block;margin-top:2px;font-family:var(--display);font-size:22px;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.03em}.sentence{margin:8px 20px 0;font-size:17px;line-height:1.35}.reasons{margin:8px 20px 0;padding:0;list-style:none}.reasons li{color:var(--secondary);font-size:15px;line-height:1.35;margin:4px 0}.confidence{margin:8px 20px 0;color:var(--tertiary);font-size:13px}.chart-card{margin:16px;background:var(--card);border-radius:12px;padding:12px 8px 8px}.chart-card svg{width:100%;height:auto;display:block}.chart-band{fill:var(--accent);opacity:.18}.chart-line{fill:none;stroke:var(--accent);stroke-width:1.75}.chart-dot{fill:var(--label)}.chart-mark{fill:var(--accent)}.chart-labels{display:flex;justify-content:space-between;color:var(--secondary);font-size:11px;padding:0 8px 4px}.action{width:100%;min-height:44px;padding:12px 16px;border:0;border-bottom:1px solid var(--separator);background:transparent;text-align:left;font-size:17px;color:var(--accent)}.group .action:last-child{border-bottom:0}.action.bad{color:var(--bad)}.primary,.secondary-btn{display:block;width:calc(100% - 32px);margin:8px 16px 16px;min-height:50px;border:0;border-radius:12px;font-size:17px;font-weight:600}.primary{background:var(--accent);color:var(--accent-ink)}.primary:active{opacity:.85}.secondary-btn{background:var(--fill);color:var(--label)}.tabbar{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);padding:4px 4px calc(4px + env(safe-area-inset-bottom));background:var(--bar);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:1px solid var(--separator);z-index:5}.tabbar button{border:0;background:transparent;min-height:48px;color:var(--secondary);font-size:10px;letter-spacing:.01em}.tabbar button[aria-current=page]{color:var(--accent)}.tab-icon{display:block;font-size:18px;line-height:1.1}.sheet-backdrop{position:fixed;inset:0;background:#0006;z-index:20;display:flex;align-items:flex-end}.sheet{width:100%;max-height:min(92vh,100%);overflow:auto;background:var(--bg);border-radius:12px 12px 0 0;padding-bottom:calc(12px + env(safe-area-inset-bottom));animation:rise .28s ease}.grabber{width:36px;height:5px;border-radius:3px;background:var(--tertiary);margin:8px auto 4px}.sheet h2{margin:4px 20px 8px;font-family:var(--display);font-size:28px;letter-spacing:-.02em}.field{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 16px;border-bottom:1px solid var(--separator)}.group .field:last-child{border-bottom:0}.field>span{width:112px;flex:none;color:var(--label);font-size:17px}.field input,.field select,.field textarea{flex:1;min-width:0;border:0;background:transparent;font-size:17px;padding:8px 0;outline:none;text-align:right}.field textarea{text-align:left;min-height:72px;resize:vertical}.hint{margin:6px 32px 0;color:var(--secondary);font-size:13px;line-height:1.35}.more{border:0;background:transparent;color:var(--accent);min-height:44px;padding:0 16px;font-size:15px}.segmented{display:flex;margin:8px 16px;padding:2px;background:var(--fill);border-radius:9px}.segmented button{flex:1;min-height:32px;border:0;border-radius:7px;background:transparent;color:var(--label);font-size:13px;font-weight:500}.segmented button[aria-pressed=true]{background:var(--card);box-shadow:0 1px 4px #0000001f}.chips{display:flex;gap:8px;padding:8px 16px 12px}.chips button{border:0;background:var(--fill);border-radius:999px;min-height:32px;padding:0 12px;font-size:13px}.chips button[aria-pressed=true]{background:var(--label);color:var(--bg)}.switch{width:51px;height:31px;border-radius:16px;border:0;background:var(--fill);position:relative;flex:none}.switch i{position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;transition:transform .2s ease;box-shadow:0 1px 3px #00000040}.switch.on{background:var(--accent)}.switch.on i{transform:translate(20px)}.milestone{display:flex;justify-content:space-between;min-height:44px;align-items:center;padding:8px 16px;border-bottom:1px solid var(--separator)}.group .milestone:last-child{border-bottom:0}.milestone.done strong{font-weight:600}.milestone:not(.done){color:var(--secondary)}.empty{padding:48px 28px;text-align:center}.empty h2{margin:0 0 8px;font-size:22px;letter-spacing:-.02em}.empty p{margin:0 auto 16px;max-width:320px;color:var(--secondary);line-height:1.4}.compare{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(140px,1fr);gap:8px;padding:0 16px 16px;overflow:auto}.compare article{background:var(--card);border-radius:12px;padding:12px}.compare h3{margin:0 0 8px;font-size:15px}.compare p{margin:6px 0;font-size:13px;color:var(--secondary)}.compare strong{color:var(--label);font-variant-numeric:tabular-nums}.banner{margin:8px 16px 0;padding:10px 12px;border-radius:10px;background:var(--fill);color:var(--secondary);font-size:13px}.welcome{max-width:420px;margin:0 auto;min-height:100%;overflow:auto;padding-top:12vh;padding-bottom:32px}.sidebar{display:none}.split{min-height:100%}@media(min-width:900px){.shell{display:grid;grid-template-columns:240px minmax(0,1fr);height:100%}.sidebar{display:flex;flex-direction:column;height:100%;padding:20px 12px;background:color-mix(in srgb,var(--bg) 88%,var(--card));border-right:1px solid var(--separator)}.brand{margin:8px 10px 16px;font-size:22px;font-weight:700;letter-spacing:-.02em}.side-nav{display:flex;flex-direction:column;gap:2px}.side-nav button{text-align:left;border:0;background:transparent;min-height:40px;border-radius:8px;padding:0 10px;color:var(--label)}.side-nav button[aria-current=page]{background:var(--fill)}.canvas{height:100%;padding-bottom:32px}.tabbar{display:none}.split{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);height:100%}.detail{height:100%;overflow:auto;border-left:1px solid var(--separator)}.sheet-backdrop{align-items:center;justify-content:center}.sheet{width:min(560px,calc(100% - 48px));max-height:84vh;border-radius:14px;box-shadow:var(--shadow);animation:fade .2s ease}}@media(prefers-reduced-motion:reduce){.sheet,.titlebar h1,.switch i{animation:none;transition:none}}@keyframes rise{0%{transform:translateY(16px)}}@keyframes fade{0%{opacity:0}}
