:root{--color-canvas:#f7f7f3;--color-surface:#fff;--color-hover:#f0eeeb;--color-ink:#1c1917;--color-secondary:#57534e;--color-muted:#a8a29e;--color-border:#e7e5e4;--color-border-strong:#d6d3d1;--color-sage-cta:#4d7c0f;--color-sage-cta-hover:#3f6212;--color-sage-accent:#65a30d;--color-sage-tint:#ecfccb;--color-sage-border:#84cc16;--color-terra:#c2410c;--color-terra-tint:#fff7ed;--color-terra-border:#ea580c;--color-link:#006fd6;--color-error:#dc2626;--color-success:#16a34a;--color-disabled-bg:#f0eeeb;--color-disabled-text:#a8a29e;--color-skeleton:#e7e5e4;--color-skeleton-shine:#f0eeeb;--font-display:"Playfair Display", Georgia, "Times New Roman", serif;--font-ui:"DM Sans", system-ui, -apple-system, sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-24:96px;--page-max-width:1200px;--section-gap:64px;--card-padding:24px;--card-padding-compact:16px;--element-gap:16px;--radius-card:12px;--radius-input:8px;--radius-pill:9999px;--radius-button:8px;--radius-badge:9999px;--radius-tooltip:4px;--radius-thumb:8px;--radius-node-lg:16px;--radius-node:12px;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 12px #0000000f;--shadow-lg:0 8px 32px #00000014;--shadow-nav:0 0 24px #00000008}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-ui);letter-spacing:.01em;color:var(--color-ink);background-color:var(--color-canvas);font-size:15px;font-weight:400;line-height:1.5}h1,h2,h3{font-family:var(--font-display);font-weight:400}h1{letter-spacing:-.02em;font-size:56px;line-height:1.05}h2{letter-spacing:-.015em;font-size:36px;line-height:1.2}h3{letter-spacing:-.01em;font-size:24px;line-height:1.3}p,span,a,button,input,select,textarea,label,li{font-family:var(--font-ui);letter-spacing:.01em}a{color:var(--color-link);text-decoration:none}a:hover{text-decoration:underline}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-ui);cursor:pointer;border:none;font-weight:500;transition:background-color .15s,box-shadow .15s;display:inline-flex}.btn:focus-visible{outline:2px solid var(--color-sage-border);outline-offset:2px}.btn-primary{background-color:var(--color-sage-cta);color:#fff;border-radius:var(--radius-pill);padding:10px 24px;font-size:15px}.btn-primary:hover{background-color:var(--color-sage-cta-hover)}.btn-primary:disabled{background-color:var(--color-disabled-bg);color:var(--color-disabled-text);cursor:not-allowed}.btn-secondary{background-color:var(--color-surface);color:var(--color-ink);border-radius:var(--radius-pill);border:1px solid var(--color-border-strong);padding:8px 20px;font-size:14px;font-weight:400}.btn-secondary:hover{background-color:var(--color-hover)}.btn-ghost{color:var(--color-link);border-radius:var(--radius-pill);background:0 0;padding:4px 8px;font-size:14px;font-weight:400}.btn-ghost:hover{text-decoration:underline}.input{font-family:var(--font-ui);color:var(--color-ink);background-color:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-input);letter-spacing:.01em;width:100%;padding:12px 16px;font-size:15px;font-weight:400;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--color-muted)}.input:focus{border-color:var(--color-sage-border);outline:none;box-shadow:0 0 0 3px #84cc1626}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--card-padding);box-shadow:var(--shadow-sm);transition:box-shadow .15s}.card:hover{box-shadow:var(--shadow-md)}.badge{align-items:center;gap:var(--space-1);font-family:var(--font-ui);letter-spacing:.01em;border-radius:var(--radius-badge);padding:4px 12px;font-size:13px;font-weight:500;display:inline-flex}.badge-sage{background-color:var(--color-sage-tint);color:var(--color-sage-cta)}.badge-terra{background-color:var(--color-terra-tint);color:var(--color-terra)}.toast{background-color:var(--color-ink);color:#fff;font-family:var(--font-ui);border-radius:var(--radius-input);box-shadow:var(--shadow-lg);z-index:1000;padding:12px 20px;font-size:14px;font-weight:400;animation:.2s ease-out toast-slide-up;position:fixed;bottom:32px;left:50%;transform:translate(-50%)}@keyframes toast-slide-up{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.skeleton{background-color:var(--color-skeleton);border-radius:var(--radius-input);animation:1.5s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{0%,to{background-color:var(--color-skeleton)}50%{background-color:var(--color-skeleton-shine)}}.container{max-width:var(--page-max-width);padding:0 var(--space-6);margin:0 auto}.section{padding:var(--section-gap) 0}.react-flow__minimap{border-radius:var(--radius-card)!important;border:1px solid var(--color-border)!important;box-shadow:var(--shadow-sm)!important}.react-flow__controls{border-radius:var(--radius-input)!important;border:1px solid var(--color-border)!important;box-shadow:var(--shadow-sm)!important}.react-flow__controls-button{border-bottom:1px solid var(--color-border)!important;background:var(--color-surface)!important}.react-flow__controls-button:hover{background:var(--color-hover)!important}@media (max-width:1024px){h1{font-size:42px}h2{font-size:28px}}@media (max-width:768px){h1{font-size:36px}h2{font-size:24px}.container{padding:0 var(--space-4)}.section{padding:var(--space-12) 0}}@media (max-width:375px){h1{font-size:28px}}@keyframes spin{to{transform:rotate(360deg)}}
