:root{--cream: #F5EFE0;--cream-dark: #E8DFC8;--cream-border: #D4C9B0;--terracotta: #B85C38;--terracotta-light: #CC7755;--terracotta-hover: #A34F2F;--olive: #5C6B2E;--olive-light: #7A8F3E;--olive-hover: #4D5A25;--amber: #C49A2D;--brown: #3D2B1F;--brown-mid: #6B4F3A;--brown-light: #9A7B66;--white: #FDFAF4;--font-heading: "Playfair Display", Georgia, serif;--font-body: "Outfit", system-ui, sans-serif;--font-mono: "DM Mono", monospace;--radius: 6px;--radius-lg: 10px;--shadow: 0 1px 3px rgba(61, 43, 31, .08), 0 1px 2px rgba(61, 43, 31, .04);--shadow-md: 0 4px 12px rgba(61, 43, 31, .1), 0 2px 4px rgba(61, 43, 31, .06);--shadow-lg: 0 8px 24px rgba(61, 43, 31, .12), 0 4px 8px rgba(61, 43, 31, .06);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--cream);color:var(--brown);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:var(--font-body)}input,textarea,select{font-family:var(--font-body)}h1,h2,h3,h4{text-wrap:balance}.skip-link{position:absolute;top:-100%;left:1rem;padding:.5rem 1rem;background:var(--brown);color:var(--white);border-radius:var(--radius);font-size:.875rem;font-weight:500;z-index:100;transition:top .2s}.skip-link:focus{top:.5rem}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;border-color:var(--terracotta)!important;box-shadow:0 0 0 3px #b85c3826}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:none;font-weight:600;transition:all .15s ease}.btn:active{transform:scale(.97) translateY(1px)}.btn-primary{background:var(--terracotta);color:var(--white);border-radius:var(--radius)}.btn-primary:hover{background:var(--terracotta-hover);box-shadow:var(--shadow-md)}.btn-olive{background:var(--olive);color:var(--white);border-radius:var(--radius)}.btn-olive:hover{background:var(--olive-hover);box-shadow:var(--shadow-md)}.btn-ghost{background:var(--white);color:var(--terracotta);border:1.5px solid var(--terracotta);border-radius:var(--radius)}.btn-ghost:hover{background:#b85c380f}.btn-muted{background:var(--cream-dark);color:var(--brown);border-radius:var(--radius)}.btn-muted:hover{background:var(--cream-border)}.btn-text{background:none;border:none;color:var(--brown-light)}.btn-text:hover{color:var(--brown)}.card{background:var(--white);border:1px solid var(--cream-border);border-radius:var(--radius-lg);box-shadow:var(--shadow);transition:box-shadow .2s ease,transform .2s ease}.card-interactive:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.pill{padding:.35rem 1rem;border-radius:999px;border:1.5px solid var(--cream-border);background:var(--white);color:var(--brown-mid);font-size:.82rem;font-weight:400;transition:all .15s ease;cursor:pointer}.pill:hover{border-color:var(--brown-light);color:var(--brown)}.pill[data-active=true]{border-color:var(--terracotta);background:var(--terracotta);color:var(--white);font-weight:600}.nav-link{font-size:.875rem;font-weight:400;color:var(--brown-light);border-bottom:2px solid transparent;padding-bottom:2px;transition:color .15s,border-color .15s;white-space:nowrap}.nav-link:hover{color:var(--brown-mid)}.nav-link[data-active=true]{font-weight:600;color:var(--terracotta);border-bottom-color:var(--terracotta)}.header-logo{white-space:nowrap;flex-shrink:0}.header-nav{display:flex;gap:1.5rem;margin-left:auto;align-items:center}.nav-submit-short{display:none}@media (max-width: 500px){.header-logo{font-size:1.1rem!important}.header-nav{gap:.75rem}.nav-submit-full{display:none}.nav-submit-short{display:inline}}.tab-btn{padding:.5rem 1rem;font-size:.85rem;font-weight:400;color:var(--brown-light);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px;transition:color .15s,border-color .15s}.tab-btn:hover{color:var(--brown-mid)}.tab-btn[data-active=true]{font-weight:600;color:var(--terracotta);border-bottom-color:var(--terracotta)}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.stagger-in{animation:fadeSlideIn .4s var(--ease-out-quart) both}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--cream-dark) 25%,var(--cream) 50%,var(--cream-dark) 75%);background-size:200% 100%;animation:shimmer 1.8s ease-in-out infinite;border-radius:var(--radius)}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.error-inline{background:#b85c3814;border:1px solid rgba(184,92,56,.2);border-radius:var(--radius);color:var(--terracotta);font-size:.82rem;font-weight:500;padding:.5rem .75rem;animation:slideUp .25s ease-out}@keyframes pulse{0%,to{opacity:.3;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.tabular-nums{font-variant-numeric:tabular-nums}.site-footer{border-top:1px solid var(--cream-border);padding:2rem 1.5rem;margin-top:auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.site-footer a{color:var(--brown-light);font-size:.78rem;transition:color .15s}.site-footer a:hover{color:var(--brown)}@keyframes bubbleFromRight{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@keyframes bubbleFromLeft{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.bubble-user{animation:bubbleFromRight .25s var(--ease-out-quart) both}.bubble-assistant{animation:bubbleFromLeft .25s var(--ease-out-quart) both}@keyframes circleIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes checkDraw{to{stroke-dashoffset:0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.success-circle{animation:circleIn .5s var(--ease-out-expo) both}.success-check{stroke-dasharray:25;stroke-dashoffset:25;animation:checkDraw .4s var(--ease-out-quart) .2s both}.success-title{animation:fadeUp .4s var(--ease-out-quart) .35s both}.success-body{animation:fadeUp .35s var(--ease-out-quart) .5s both}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.freshness-fill{transition:width .6s ease-out}
