:root{--brand: #0e9f6e;--brand-vivid: #0c8a60;--brand-deep: #0a7a55;--brand-strong: #047857;--brand-weak: #0e9f6e1a;--brand-glow: rgba(14, 159, 110, .22);--brand-ink: #ffffff;--bg: #f2f6f3;--surface: #ffffff;--surface-2: #eef4f0;--border: rgba(10, 40, 25, .09);--border-strong: rgba(10, 40, 25, .18);--tint-hero: #e9f5ee;--tint-coach: #e7f5ee;--tint-water: #e4f1fb;--tint-ember-a: #fdeeda;--tint-ember-b: #fce4d6;--ember-a: #d97e14;--ember-b: #e05c37;--macro-p: #7c5cf0;--macro-c: #0f9d90;--macro-g: #c08a12;--water: #1d8fdd;--water-deep: #2e8fd4;--text: #14201a;--text-muted: #56655d;--text-faint: #7d8b84;--btn-primary-bg: #0e9f6e;--btn-primary-fg: #ffffff;--success: #0f9d58;--success-bg: #0f9d581f;--warning: #b45309;--warning-bg: #b453091f;--danger: #c0392b;--danger-bg: #c0392b1f;--info: #1d8fdd;--info-bg: #1d8fdd1f;--amber: #c98a1d;--teal: #0f9d90;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--r-sm: 10px;--r-md: 15px;--r-lg: 26px;--r-inner: 18px;--r-btn: 15px;--r-pill: 999px;--shadow: 0 1px 2px rgba(0,0,0,.04), 0 2px 8px rgba(0,0,0,.05);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.55;color:var(--text);background:var(--bg)}@media (prefers-color-scheme: dark){:root{--bg: #0b110e;--surface: #131a16;--surface-2: #1b241f;--border: rgba(233, 255, 244, .07);--border-strong: rgba(233, 255, 244, .14);--tint-hero: #152219;--tint-coach: #12211a;--tint-water: #10202b;--tint-ember-a: #2a1d10;--tint-ember-b: #241510;--brand-vivid: #1fce8b;--brand-strong: #1fce8b;--brand-weak: rgba(31, 206, 139, .13);--brand-glow: rgba(31, 206, 139, .3);--brand-ink: #04291b;--ember-a: #f6a93b;--ember-b: #ff7a59;--macro-p: #a98bfa;--macro-c: #33cfc0;--macro-g: #efb64a;--water: #47b7f8;--water-deep: #2e8fd4;--text: #eff5f1;--text-muted: #a9b6ae;--text-faint: #7c8a82;--btn-primary-bg: #14b47c;--btn-primary-fg: #04291b;--success: #3ddc97;--success-bg: rgba(61,220,151,.14);--info: #47b7f8;--info-bg: rgba(71,183,248,.13);--amber: #f6a93b;--teal: #33cfc0}}.section{color:var(--text);font-size:16px;font-weight:750;letter-spacing:-.02em;margin:20px 0 8px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-inner);padding:14px}.stat-label{font-size:12px;color:var(--text-muted)}.stat-value{font-size:26px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.1;margin-top:2px}.stat-sub{font-size:12px;color:var(--text-muted);margin-top:2px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg);background-image:radial-gradient(900px 500px at 50% -10%,var(--brand-glow),transparent 70%);background-repeat:no-repeat;font-size:15px}input,select,textarea{font:inherit;font-size:16px;min-height:42px;padding:8px 14px;color:var(--text);-webkit-text-fill-color:var(--text);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-btn)}input::placeholder,textarea::placeholder{color:var(--text-faint);-webkit-text-fill-color:var(--text-faint)}input[type=date]::-webkit-date-and-time-value{text-align:center}textarea{min-height:60px;border-radius:var(--r-inner)}input,select,textarea{transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--brand) 45%,var(--border-strong))}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-weak)}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%2384938b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;cursor:pointer}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:20px;height:20px;min-height:20px;padding:0;border:1.5px solid var(--border-strong);border-radius:7px;background:var(--surface-2);cursor:pointer;flex:none;transition:background-color .12s ease,border-color .12s ease}input[type=checkbox]:checked{background-color:var(--brand);border-color:var(--brand);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10'%3E%3Cpath d='M1.5 5.2l3.2 3.2L10.5 1.6' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}button{font:inherit;font-weight:700;letter-spacing:-.01em;min-height:44px;padding:0 15px;color:var(--text);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-btn);cursor:pointer}button,button *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button:hover{border-color:var(--brand)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible{outline:2px solid var(--brand-vivid);outline-offset:2px}.btn-primary{background:linear-gradient(160deg,var(--brand-vivid),var(--brand));border:1px solid transparent;color:var(--brand-ink);font-weight:750;box-shadow:0 4px 14px var(--brand-glow)}.btn-primary:hover{filter:brightness(1.06);border-color:transparent}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-muted);font-weight:600}.btn-ghost:hover{color:var(--text);border-color:transparent;background:var(--surface-2)}a{color:var(--brand-strong)}.pulse{animation:tkpulse 1.2s ease-in-out infinite}@keyframes tkpulse{0%,to{opacity:.5;transform:scale(.95)}50%{opacity:1;transform:scale(1)}}.skel{position:relative;overflow:hidden;background:var(--surface-2);border:1px solid var(--border)}.skel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(127,148,138,.1),transparent);animation:tkskel 1.3s infinite}@keyframes tkskel{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.skel:after,.pulse{animation:none}}
