:root{--neutral-0:#fff;--neutral-25:#fbfbfc;--neutral-50:#f6f7f9;--neutral-100:#eef0f3;--neutral-150:#e6e8ec;--neutral-200:#dde0e6;--neutral-300:#c8ccd4;--neutral-400:#a4aab5;--neutral-500:#828a97;--neutral-600:#5f6775;--neutral-700:#454c58;--neutral-800:#2a3038;--neutral-900:#181c22;--neutral-950:#0f1216;--ink:#14171c;--ink-hover:#23272f;--ink-press:#0c0e12;--blue-50:#eef3ff;--blue-100:#d9e4ff;--blue-200:#b3c8ff;--blue-400:#5b85f5;--blue-500:#2f62e8;--blue-600:#1f4fd1;--blue-700:#1a40a8;--green-50:#e8f6ee;--green-500:#1f8a5b;--green-600:#15724a;--amber-50:#fbf1e2;--amber-500:#b5710e;--amber-600:#8f5709;--red-50:#fbecec;--red-500:#cf4b41;--red-600:#ab392f;--violet-50:#f0edfb;--violet-500:#6a4fd0;--violet-600:#5639b8;--tool-verein:#1f8a5b;--tool-sailing:#2f62e8;--tool-kit:#c2410c;--tool-finance:#6a4fd0;--tool-calendar:#b5710e;--tool-teal:#0e8a8a;--bg-app:var(--neutral-25);--bg-surface:var(--neutral-0);--bg-subtle:var(--neutral-50);--bg-muted:var(--neutral-100);--bg-inset:var(--neutral-150);--bg-ink:var(--ink);--bg-hover:#14171c0a;--bg-active:#14171c12;--bg-selected:var(--blue-50);--fg-primary:var(--neutral-900);--fg-secondary:var(--neutral-600);--fg-muted:var(--neutral-500);--fg-faint:var(--neutral-400);--fg-on-ink:#f4f5f7;--fg-on-ink-dim:#9aa1ad;--fg-link:var(--blue-600);--border-subtle:var(--neutral-150);--border-default:var(--neutral-200);--border-strong:var(--neutral-300);--border-ink:var(--ink);--ring:#2f62e859;--success:var(--green-500);--success-bg:var(--green-50);--warning:var(--amber-500);--warning-bg:var(--amber-50);--danger:var(--red-500);--danger-bg:var(--red-50);--info:var(--blue-500);--info-bg:var(--blue-50);--font-sans:"Schibsted Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:16px;--text-xl:19px;--text-2xl:23px;--text-3xl:28px;--text-4xl:36px;--text-5xl:48px;--text-6xl:64px;--text-7xl:84px;--leading-tight:1.12;--leading-snug:1.28;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-tighter:-.03em;--tracking-tight:-.015em;--tracking-normal:0em;--tracking-wide:.02em;--tracking-caps:.06em;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--space-0:0px;--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:96px;--space-15:128px;--radius-xs:3px;--radius-sm:5px;--radius-md:7px;--radius-lg:10px;--radius-xl:14px;--radius-2xl:20px;--radius-full:9999px;--shadow-xs:0 1px 0 #1012160a;--shadow-sm:0 1px 2px #1012160f, 0 1px 1px #1012160a;--shadow-md:0 2px 4px #1012160f, 0 4px 12px #10121614;--shadow-lg:0 8px 28px #1012161f, 0 2px 6px #1012160f;--shadow-xl:0 18px 50px #1012162e, 0 4px 12px #10121614;--shadow-ring:0 0 0 1px var(--border-default);--shadow-focus:0 0 0 3px var(--ring);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.12s;--dur-base:.18s;--dur-slow:.28s;--z-base:0;--z-sticky:50;--z-overlay:100;--z-modal:200;--z-toast:300}button:focus-visible,a:focus-visible,[role=menuitem]:focus-visible,[role=button]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline-offset:2px;box-shadow:var(--shadow-focus,0 0 0 3px var(--ring,#2f62e859));outline:2px solid #0000}.skip-link{left:var(--space-4,8px);z-index:var(--z-toast,300);padding:var(--space-4,8px) var(--space-6,16px);background:var(--color-surface,#fff);color:var(--color-text,#181c22);border:1px solid var(--color-border,#dde0e6);border-radius:var(--radius-md,7px);box-shadow:var(--shadow-lg);font-family:var(--font-sans);font-size:var(--text-md,14px);font-weight:var(--weight-semibold,600);transition:top var(--dur-fast,.12s) var(--ease-out);text-decoration:none;position:absolute;top:-80px}.skip-link:focus{top:var(--space-4,8px)}.t-display{font-family:var(--font-sans);font-size:var(--text-6xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-tighter);font-weight:var(--weight-bold);color:var(--fg-primary)}.t-h1{font-family:var(--font-sans);font-size:var(--text-4xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);font-weight:var(--weight-bold);color:var(--fg-primary)}.t-h2{font-family:var(--font-sans);font-size:var(--text-2xl);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);font-weight:var(--weight-semibold);color:var(--fg-primary)}.t-h3{font-family:var(--font-sans);font-size:var(--text-xl);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);font-weight:var(--weight-semibold);color:var(--fg-primary)}.t-h4{font-family:var(--font-sans);font-size:var(--text-lg);line-height:var(--leading-snug);font-weight:var(--weight-semibold);color:var(--fg-primary)}.t-body{font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);font-weight:var(--weight-regular);color:var(--fg-primary)}.t-body-sm{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--fg-secondary)}.t-label{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-snug);font-weight:var(--weight-medium);color:var(--fg-primary)}.t-caption{font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--fg-muted)}.t-eyebrow{font-family:var(--font-sans);font-size:var(--text-xs);line-height:1;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--fg-muted)}.t-mono{font-family:var(--font-mono);font-size:var(--text-base);font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--fg-primary)}.t-num{font-family:var(--font-sans);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}@keyframes sheet-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes sheet-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){@keyframes sheet-up{0%{opacity:1}to{opacity:1}}@keyframes sheet-in{0%{opacity:1}to{opacity:1}}}dialog.x-sheet{padding:var(--space-lg,24px);background:var(--color-bg);color:var(--color-text);border-radius:var(--radius-lg,12px);overscroll-behavior:contain;border:none;outline:none;width:100%;max-width:460px;max-height:85vh;margin:auto;animation:.16s ease-out sheet-in;overflow-y:auto;box-shadow:0 18px 50px #1012162e,0 4px 12px #10121614}dialog.x-sheet::backdrop{background:#00000073}dialog.x-sheet .x-sheet-grab{display:none}dialog.x-sheet .x-sheet-head{margin-bottom:var(--space-md,16px);justify-content:space-between;align-items:center;display:flex}dialog.x-sheet .x-sheet-title{color:var(--color-text);margin:0;font-size:18px;font-weight:700}dialog.x-sheet .x-sheet-close{min-width:44px;min-height:44px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}@media (width<=768px){dialog.x-sheet{border-radius:var(--radius-lg,12px) var(--radius-lg,12px) 0 0;touch-action:pan-y;max-width:100%;margin:0 auto auto;animation-name:sheet-up;position:fixed;inset:auto 0 0}dialog.x-sheet .x-sheet-grab{min-height:28px;margin:calc(-1 * var(--space-lg,24px)) calc(-1 * var(--space-lg,24px)) 0;padding:10px var(--space-lg,24px) 6px;justify-content:center;align-items:center;display:flex}dialog.x-sheet .x-sheet-grab:after{content:"";background:var(--color-border);border-radius:9999px;width:36px;height:4px}}@media (prefers-reduced-motion:reduce){dialog.x-sheet{animation:none}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(0)}}}@keyframes progress-pulse{0%{width:60%;left:-60%}60%{width:60%;left:100%}to{width:60%;left:100%}}@media (prefers-reduced-motion:reduce){@keyframes progress-pulse{0%{width:50%;left:25%}to{width:50%;left:25%}}}@keyframes techtree-ready-pulse{0%,to{box-shadow:0 0 0 0 var(--tt-glow,transparent)}50%{box-shadow:0 0 0 5px var(--tt-glow,transparent)}}@keyframes techtree-active-glow{0%,to{box-shadow:0 0 0 2px var(--tt-glow,transparent), 0 0 14px var(--tt-glow,transparent)}50%{box-shadow:0 0 0 2px var(--tt-glow,transparent), 0 0 22px var(--tt-glow,transparent)}}.techtree-node--ready{animation:2.2s ease-in-out infinite techtree-ready-pulse}.techtree-node--active{animation:3s ease-in-out infinite techtree-active-glow}@media (prefers-reduced-motion:reduce){.techtree-node--ready{box-shadow:0 0 0 2px var(--tt-glow,transparent);animation:none}.techtree-node--active{animation:none}}.techtree-canvas--static .react-flow__node{transition:transform .36s cubic-bezier(.22,1,.36,1)}.techtree-canvas--static .react-flow__node.dragging{transition:none}@media (prefers-reduced-motion:reduce){.techtree-canvas--static .react-flow__node{transition:none}}@media (prefers-reduced-motion:no-preference){::view-transition-old(root){animation-duration:.16s;animation-timing-function:ease}::view-transition-new(root){animation-duration:.16s;animation-timing-function:ease}::view-transition-old(root){animation-name:vt-fade-out}::view-transition-new(root){animation-name:vt-fade-in}::view-transition-old(main){animation-duration:.16s;animation-timing-function:ease}::view-transition-new(main){animation-duration:.16s;animation-timing-function:ease}::view-transition-old(main){animation-name:vt-fade-out}::view-transition-new(main){animation-name:vt-fade-in}@keyframes vt-fade-out{0%{opacity:1}to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}to{opacity:1}}}
