/* Talaan design system — fonts, typography, spacing, effects, base (copied from Claude Design, v4 "Mono Print"). Colours live in colors.css. */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Jost:wght@500;600;700;800&family=Big+Shoulders+Display:wght@800;900&display=swap');
:root{
--font-display:'Jost','IBM Plex Sans',system-ui,sans-serif;
--font-sans:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
--font-mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
--font-numeral:'Big Shoulders Display','Jost',sans-serif;
--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-black:800;
--fs-11:11px;--fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-16:16px;--fs-18:18px;--fs-20:20px;--fs-24:24px;--fs-30:30px;--fs-36:36px;--fs-48:48px;--fs-60:60px;
--lh-tight:1.05;--lh-snug:1.25;--lh-normal:1.45;--lh-relaxed:1.6;
--ls-display:-0.025em;--ls-heading:-0.01em;--ls-normal:0;--ls-caps:0.08em;--ls-mono-caps:0.14em;--ls-spaced:0.42em;--ls-wordmark:0.3em;
--type-display:var(--fw-black) var(--fs-60)/var(--lh-tight) var(--font-display);
--type-h1:var(--fw-bold) var(--fs-36)/var(--lh-snug) var(--font-display);
--type-h2:var(--fw-semibold) var(--fs-24)/var(--lh-snug) var(--font-display);
--type-h3:var(--fw-semibold) var(--fs-18)/var(--lh-snug) var(--font-sans);
--type-spaced:var(--fw-semibold) var(--fs-18)/1.1 var(--font-display);
--type-section:var(--fw-semibold) var(--fs-13)/1.2 var(--font-display);
--type-title:var(--fw-semibold) var(--fs-16)/var(--lh-snug) var(--font-sans);
--type-body-lg:var(--fw-regular) var(--fs-16)/var(--lh-relaxed) var(--font-sans);
--type-body:var(--fw-regular) var(--fs-14)/var(--lh-normal) var(--font-sans);
--type-ui:var(--fw-regular) var(--fs-13)/var(--lh-normal) var(--font-sans);
--type-label:var(--fw-medium) var(--fs-13)/var(--lh-snug) var(--font-sans);
--type-caption:var(--fw-regular) var(--fs-12)/var(--lh-normal) var(--font-sans);
--type-overline:var(--fw-medium) var(--fs-11)/var(--lh-snug) var(--font-mono);
--type-mono:var(--fw-regular) var(--fs-13)/var(--lh-normal) var(--font-mono);
--type-label-caps:var(--fw-medium) var(--fs-11)/1.2 var(--font-mono);
--type-numeral:900 var(--fs-60)/1 var(--font-numeral);
--numeric-amount:tabular-nums lining-nums;
--space-0:0;--space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:12px;--space-6:16px;--space-7:20px;--space-8:24px;--space-9:32px;--space-10:40px;--space-11:48px;--space-12:64px;--space-13:80px;--space-14:120px;
--control-h-sm:28px;--control-h-md:32px;--control-h-lg:40px;--row-h-dense:32px;--row-h:40px;
--sidebar-w:232px;--topbar-h:52px;--content-max:1280px;--prose-max:640px;
--radius-xs:2px;--radius-sm:3px;--radius-md:2px;--radius-lg:2px;--radius-xl:4px;--radius-2xl:8px;--radius-tile:14px;--radius-pill:999px;
--border-w:1px;--border-w-strong:1.5px;--rule-w:5px;
--shadow-xs:none;--shadow-sm:0 1px 2px rgba(30,27,24,.06);--shadow-md:0 2px 4px rgba(30,27,24,.06),0 8px 20px rgba(30,27,24,.10);--shadow-lg:0 4px 8px rgba(30,27,24,.08),0 18px 44px rgba(30,27,24,.18);
--ease-standard:cubic-bezier(.2,0,0,1);--ease-exit:cubic-bezier(.4,0,1,1);
--dur-fast:120ms;--dur-base:180ms;--dur-slow:260ms;
--z-sticky:10;--z-dropdown:40;--z-overlay:80;--z-modal:90;--z-toast:100;
}
[data-theme="dark"]{--shadow-sm:0 1px 3px rgba(0,0,0,.35);--shadow-md:0 6px 16px rgba(0,0,0,.45);--shadow-lg:0 16px 40px rgba(0,0,0,.55);}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:var(--type-body);color:var(--text-primary);background:var(--surface-page);-webkit-font-smoothing:antialiased}
a{color:var(--text-link);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
a:hover{color:var(--text-link-hover)}
:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}
.tl-amount,[data-amount]{font-variant-numeric:tabular-nums lining-nums}
