:root{--color-bg: #f3f4f7;--color-surface: #ffffff;--color-surface-2: #e9ebf0;--color-border: #d6d9e1;--color-border-strong: #b9bec9;--color-text: #15171c;--color-text-muted: #5e6472;--color-text-faint: #9aa0ad;--color-placeholder: #a5a9b4;--color-accent: #d9741b;--color-accent-strong: #b85f12;--color-accent-text: #ffffff;--color-danger: #b84a7a;--color-backdrop: rgba(16, 18, 24, .5);--split-push: #e0792a;--split-pull: #2c8f8c;--split-legs: #b84a7a;--split-other: #7b8293;--shadow-raised: 0 10px 30px rgba(21, 23, 28, .12);--font-display: "Barlow Condensed", "Arial Narrow", Impact, sans-serif;--font-body: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--text-xs: 11px;--text-sm: 12px;--text-base: 15px;--text-md: 17px;--text-lg: 22px;--text-xl: 34px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-pill: 999px;--column-max: 520px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg: #121419;--color-surface: #1b1e25;--color-surface-2: #242831;--color-border: #2f343f;--color-border-strong: #454b58;--color-text: #eef0f4;--color-text-muted: #a4abb8;--color-text-faint: #6b7281;--color-placeholder: #6b7281;--color-accent: #f2a04a;--color-accent-strong: #f7b56f;--color-accent-text: #15171c;--color-danger: #d67aa4;--color-backdrop: rgba(0, 0, 0, .6);--split-push: #f09a52;--split-pull: #4fb7b3;--split-legs: #d67aa4;--split-other: #8d94a3;--shadow-raised: 0 10px 30px rgba(0, 0, 0, .5);color-scheme:dark}}:root[data-theme=dark]{--color-bg: #121419;--color-surface: #1b1e25;--color-surface-2: #242831;--color-border: #2f343f;--color-border-strong: #454b58;--color-text: #eef0f4;--color-text-muted: #a4abb8;--color-text-faint: #6b7281;--color-placeholder: #6b7281;--color-accent: #f2a04a;--color-accent-strong: #f7b56f;--color-accent-text: #15171c;--color-danger: #d67aa4;--color-backdrop: rgba(0, 0, 0, .6);--split-push: #f09a52;--split-pull: #4fb7b3;--split-legs: #d67aa4;--split-other: #8d94a3;--shadow-raised: 0 10px 30px rgba(0, 0, 0, .5);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base);line-height:1.45;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}[hidden]{display:none!important}.app-shell{max-width:var(--column-max);margin:0 auto;padding-inline:var(--space-4);padding-block:calc(var(--space-4) + env(safe-area-inset-top,0px)) calc(var(--space-6) + env(safe-area-inset-bottom,0px))}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:.01em;margin:0;text-wrap:balance}h1{font-size:var(--text-xl);line-height:1}h2{font-size:var(--text-lg);line-height:1.1}.eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.num{font-variant-numeric:tabular-nums}.muted{color:var(--color-text-muted)}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.topbar .sub{color:var(--color-text-muted);font-size:13px;margin-top:var(--space-1)}.btn-text{background:none;border:0;color:var(--color-text-muted);padding:var(--space-2);font-size:var(--text-sm);white-space:nowrap}.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:var(--space-5)}.tile{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 12px 10px;min-width:0}.tile .big{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;line-height:1;margin-top:2px}.tile .big small{font-size:16px;font-weight:600;color:var(--color-text-muted);margin-left:2px}.tile .note{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-1)}.since{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:var(--space-6)}.since .chip{border-radius:var(--radius-md);padding:10px 12px;color:#fff;display:flex;justify-content:space-between;align-items:baseline;min-width:0}.since .chip.push{background:var(--split-push)}.since .chip.pull{background:var(--split-pull)}.since .chip.legs{background:var(--split-legs)}.since .chip b{font-family:var(--font-display);font-size:20px;font-weight:700}.since .chip span{font-family:var(--font-display);font-size:22px;font-weight:700;white-space:nowrap}.since .chip small{font-size:var(--text-sm);opacity:.9}.since .chip.stale{outline:2px solid var(--color-text);outline-offset:2px}section{margin-bottom:30px}section>.head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 10px;margin-bottom:10px}section>.head h2{white-space:nowrap}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:14px}.readout{font-size:14px;color:var(--color-text-muted);margin-top:var(--space-2)}.readout b{color:var(--color-text);font-weight:600}svg.chart{display:block;width:100%;height:auto}svg.chart text{font-family:var(--font-mono);font-size:10px;fill:var(--color-text-muted)}svg.chart .grid{stroke:var(--color-border)}svg.chart .line{stroke:var(--color-text)}svg.chart .label{fill:var(--color-text)}.fill-push{fill:var(--split-push)}.fill-pull{fill:var(--split-pull)}.fill-legs{fill:var(--split-legs)}.fill-other{fill:var(--split-other)}.fill-accent{fill:var(--color-accent)}.legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-2)}.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}.bg-push{background:var(--split-push)}.bg-pull{background:var(--split-pull)}.bg-legs{background:var(--split-legs)}.bg-other{background:var(--split-other)}.share{display:grid;gap:10px}.share .row{display:grid;grid-template-columns:54px 1fr 64px;align-items:center;gap:10px;font-size:13px}.share .bar{height:14px;border-radius:3px;background:var(--color-surface-2);overflow:hidden;position:relative}.share .bar i{position:absolute;inset:0 auto 0 0;border-radius:3px}.share .bar em{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--color-text);opacity:.6}.share .pct{text-align:right;color:var(--color-text-muted)}.share .pct b{color:var(--color-text)}.mix{display:grid;gap:12px}.mix .grp{display:grid;gap:var(--space-1)}.mix .lab{font-family:var(--font-display);font-size:var(--text-md);font-weight:600}.mix .lab.push{color:var(--split-push)}.mix .lab.pull{color:var(--split-pull)}.mix .lab.legs{color:var(--split-legs)}.mix .stack{display:flex;height:18px;border-radius:var(--radius-sm);overflow:hidden;background:var(--color-surface-2)}.mix .stack i{display:block;height:100%}.mix .keys{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:var(--text-sm);color:var(--color-text-muted)}.mix .keys b{color:var(--color-text)}.months{display:grid;grid-template-columns:repeat(12,1fr);gap:3px}.months .yr{grid-column:1 / -1;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);margin-top:6px}.months .m{aspect-ratio:1;border-radius:3px;background:var(--color-surface-2);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:10px;color:var(--color-text)}.months .m.l1{background:color-mix(in srgb,var(--color-accent) 25%,var(--color-surface-2))}.months .m.l2{background:color-mix(in srgb,var(--color-accent) 50%,var(--color-surface-2))}.months .m.l3{background:color-mix(in srgb,var(--color-accent) 75%,var(--color-surface-2));color:var(--color-accent-text)}.months .m.l4{background:var(--color-accent);color:var(--color-accent-text)}.months .m.future{opacity:.35}.list{display:grid;gap:6px}.item{display:grid;grid-template-columns:6px 1fr auto;gap:10px;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 12px}.item .stripe{width:6px;height:36px;border-radius:3px}.item .t{font-weight:600}.item .t small{font-weight:400;color:var(--color-text-muted)}.item .d{font-size:var(--text-sm);color:var(--color-text-muted)}.item .r{text-align:right;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-muted);white-space:nowrap}.item .r b{color:var(--color-text);font-weight:500}.btn-ghost{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 14px;margin-top:10px}.empty{color:var(--color-text-muted);font-size:14px;padding:18px 4px}.btn-primary{background:var(--color-accent);color:var(--color-accent-text);border:0;border-radius:var(--radius-md);font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:.02em;padding:12px 16px}.btn-primary:disabled{opacity:.5;cursor:default}.field-input{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:9px 10px;width:100%;min-width:0}.field-input::placeholder{color:var(--color-placeholder)}.error-line{color:var(--color-danger);font-size:13px;min-height:18px}.signin-screen{display:grid;place-content:center;min-height:80vh;gap:var(--space-4);text-align:center}.signin-form{display:grid;gap:10px;width:min(320px,90vw)}.signin-form .btn-primary{font-size:18px;box-shadow:none}@media(min-width:960px){.app-shell{max-width:1200px;padding-inline:var(--space-5)}.topbar{margin-bottom:var(--space-5)}.layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--space-6);align-items:start}.main{min-width:0}.hero-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:var(--space-5)}.strip,.since{margin-bottom:0}.since .chip{align-items:center}.panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5) var(--space-4)}.panels section{margin-bottom:0;min-width:0}.panels section.wide{grid-column:1 / -1}.aside{position:sticky;top:var(--space-4);max-height:calc(100vh - var(--space-6));overflow:auto;min-width:0;padding-right:2px}.aside section{margin-bottom:0}}@media(max-width:420px){h1{font-size:30px}.tile .big{font-size:28px}.since .chip span{font-size:18px}.share .row{grid-template-columns:46px 1fr 60px}}
