:root{--smirk-ink: #171a1f;--smirk-ink-deep: #111318;--smirk-ivory: #f4e2bf;--smirk-cream: #fff0d2;--smirk-teal: #2f7775;--smirk-amber: #dfa431;--smirk-sand: #cdb890;color-scheme:dark;--font-sans: "IBM Plex Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--bg: var(--smirk-ink);--bg-accent: var(--smirk-ink-deep);--surface: #1e2229;--surface-raised: #252a33;--border: color-mix(in srgb, var(--smirk-sand) 35%, transparent);--border-subtle: color-mix(in srgb, var(--smirk-sand) 20%, transparent);--text: var(--smirk-cream);--text-muted: var(--smirk-ivory);--text-faint: var(--smirk-sand);--accent: var(--smirk-teal);--accent-hover: color-mix(in srgb, var(--smirk-teal) 75%, var(--smirk-cream));--accent-soft: color-mix(in srgb, var(--smirk-teal) 16%, transparent);--accent-text: var(--smirk-cream);--highlight: var(--smirk-amber);--shadow-sm: 0 1px 2px rgb(0 0 0 / .35);--shadow-md: 0 12px 32px rgb(0 0 0 / .45);--radius-sm: .5rem;--radius-md: .875rem;--radius-lg: 1.25rem;--page-width: 44rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem}*,*:before,*:after{box-sizing:border-box}html{font-family:var(--font-sans);line-height:1.55;-webkit-font-smoothing:antialiased}body{margin:0;min-height:100dvh;color:var(--text);background:radial-gradient(ellipse 70% 45% at 15% -5%,color-mix(in srgb,var(--smirk-teal) 22%,transparent),transparent 55%),radial-gradient(ellipse 50% 35% at 90% 0%,color-mix(in srgb,var(--smirk-amber) 12%,transparent),transparent 50%),linear-gradient(180deg,var(--bg-accent) 0%,var(--bg) 32%)}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.15em}a:hover{color:var(--accent-hover)}.page{width:min(100% - 2rem,var(--page-width));margin:0 auto;padding:var(--space-6) 0 var(--space-8)}.site-header{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-8);padding-top:var(--space-8)}.site-header .breadcrumb{position:absolute;top:var(--space-8);right:0;font-size:.875rem;color:var(--text-muted)}.site-header .breadcrumb a{text-decoration:none}.site-header .breadcrumb a:hover{text-decoration:underline}.brand{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}.brand-mark{display:grid;place-items:center;width:4.5rem;height:4.5rem;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0}.brand-mark img{width:100%;height:100%;object-fit:contain}.brand-text{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.brand-title{margin:0;font-size:1.5rem;font-weight:600;letter-spacing:-.02em}.brand-subtitle{margin:0;font-size:.9375rem;color:var(--text-muted)}.hero{margin-bottom:var(--space-6)}.hero h1{margin:0 0 var(--space-3);font-size:clamp(1.75rem,4vw,2.25rem);font-weight:600;letter-spacing:-.03em;line-height:1.15}.hero p{margin:0;max-width:75%;font-size:1.0625rem;color:var(--text-muted)}.section-label{margin:0 0 var(--space-4);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.section-label--spaced{margin-top:var(--space-8)}.app-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin:0;padding:0;list-style:none}.app-grid>li{min-width:0}.app-card{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:var(--space-2);aspect-ratio:1;height:100%;padding:var(--space-4);padding-top:14%;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);text-align:center;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.app-card:is(a,:has(a)){text-decoration:none;color:inherit}a.app-card:hover,.app-card:has(a:hover){border-color:color-mix(in srgb,var(--smirk-teal) 45%,var(--border));box-shadow:var(--shadow-md);transform:translateY(-1px)}.app-card h2{margin:0;font-size:clamp(1.25rem,3.8vw,1.75rem);font-weight:600;letter-spacing:-.02em;line-height:1.2}.app-card__tag{margin:0;max-width:92%;font-family:var(--font-mono);font-size:clamp(.75rem,1.8vw,.875rem);font-weight:500;color:var(--highlight);line-height:1.3}.app-card p{margin:0;flex:0;max-width:90%;font-size:clamp(.875rem,2vw,1rem);color:var(--text-muted);line-height:1.45}.app-card p.app-card__tag{color:var(--highlight)}.app-card--placeholder{border-style:dashed;background:color-mix(in srgb,var(--surface) 72%,transparent);box-shadow:none}.app-card--placeholder p{font-style:italic}.app-card--wip{border-style:dashed}.app-card__badge{display:inline-block;padding:.2em .55em;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface) 88%,var(--bg))}.site-footer{margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--border-subtle);font-size:.875rem;color:var(--text-faint)}.site-footer p{margin:0}.page--wide{--page-width: 64rem}.card{margin-top:var(--space-5);padding:var(--space-5);background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.card-heading{margin:0 0 var(--space-4);font-size:1.0625rem;font-weight:600;letter-spacing:-.02em}.footnote{margin:var(--space-3) 0 0;font-size:.8125rem;color:var(--text-muted);line-height:1.45}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px}.stat-card{background:var(--surface-elevated, #1a1d24);border:1px solid var(--border-subtle, #2a2f3a);border-radius:8px;padding:12px 14px}.stat-card--warn .stat-value{color:var(--accent-warn, #e8a838)}.stat-card--ok .stat-value{color:var(--accent-ok, #5cb85c)}.stat-value{font-family:IBM Plex Mono,monospace;font-size:1.35rem;font-weight:500;margin:0 0 4px}.stat-label{margin:0;font-size:.85rem;color:var(--text-secondary, #9aa3b2)}.card-meta{margin:-8px 0 16px;font-size:.875rem;color:var(--text-secondary, #9aa3b2)}.ytm-chart{display:block;max-width:100%}.chart-plot-bg{fill:var(--surface-inset, #12151a);stroke:var(--border-subtle, #2a2f3a)}.chart-grid{stroke:var(--border-subtle, #2a2f3a);stroke-opacity:.6}.chart-tick,.chart-axis-label{fill:var(--text-secondary, #9aa3b2);font-size:11px;font-family:IBM Plex Sans,system-ui,sans-serif}.chart-axis-label{font-size:12px}.chart-dot{fill:var(--accent-primary, #6eb5ff);stroke:var(--surface-base, #0d0f12);stroke-width:1;cursor:pointer}.chart-dot--active{fill:var(--accent-primary, #6eb5ff);stroke-width:1.5}.chart-tooltip-bg{fill:var(--surface-elevated, #1a1d24);stroke:var(--border-subtle, #2a2f3a)}.chart-tooltip{fill:var(--text-primary, #e8ecf1);font-size:11px;font-family:IBM Plex Sans,system-ui,sans-serif}.chart-tooltip-sub{fill:var(--text-secondary, #9aa3b2);font-size:11px;font-family:IBM Plex Sans,system-ui,sans-serif}.loading,.error{padding:24px;text-align:center}.error{color:var(--accent-warn, #e8a838)}.table-wrap{overflow-x:auto;margin:var(--space-4) 0 0}.projection-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.9375rem;font-variant-numeric:tabular-nums}.projection-table th,.projection-table td{padding:.7rem 1rem;border:1px solid var(--border-subtle);text-align:left}.projection-table td,.projection-table th[scope=row]{white-space:nowrap}.projection-table td.num,.projection-table th.num{text-align:right;font-variant-numeric:tabular-nums}.projection-table td.num{font-family:var(--font-mono);font-size:.9rem}.projection-table thead th{background:var(--bg-accent);color:var(--text-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.02em}.projection-table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--surface) 70%,var(--bg))}.projection-table th.sortable{padding:0}.projection-table th.sortable button{display:flex;align-items:center;gap:.4rem;width:100%;margin:0;padding:.7rem 1rem;border:0;background:transparent;color:inherit;font:inherit;font-weight:600;letter-spacing:inherit;text-transform:inherit;text-align:inherit;cursor:pointer}.projection-table th.num.sortable button{justify-content:flex-end}.projection-table th.sortable button:hover,.projection-table th.sortable button:focus-visible{color:var(--text)}.sort-indicator{opacity:.4;font-size:.85em}.projection-table th[aria-sort=ascending] .sort-indicator,.projection-table th[aria-sort=descending] .sort-indicator{opacity:1;color:var(--highlight)}
