:root{--bg-canvas:222 47% 7%;--bg-surface:222 35% 12%;--bg-card:220 28% 17%;--bg-elevated:220 25% 24%;--bg-hover:220 25% 29%;--bg-input:224 45% 9%;--border-subtle:220 20% 22%;--border-active:38 92% 50%;--border-emerald:160 84% 39%;--border-glass:0 0% 100%;--text-primary:210 40% 98%;--text-secondary:215 20% 70%;--text-muted:215 16% 52%;--primary:38 92% 50%;--primary-hover:36 95% 44%;--primary-glow:38 92% 50%;--secondary:160 84% 39%;--secondary-hover:160 84% 32%;--secondary-glow:160 84% 39%;--accent-beaker:199 89% 48%;--accent-flour:54 90% 72%;--accent-sugar:0 0% 100%;--accent-butter:48 96% 53%;--accent-oil:84 81% 44%;--accent-honey:32 95% 44%;--accent-cacao:25 76% 28%;--accent-milk:210 20% 96%;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", Consolas, Menlo, monospace;--tracking-tight:-.035em;--tracking-snug:-.02em;--tracking-normal:0em;--text-hero:clamp(2.15rem, 4vw + 1rem, 3.5rem);--text-h1:clamp(1.85rem, 2.5vw + 1rem, 2.65rem);--text-h2:clamp(1.35rem, 1.8vw + .75rem, 1.95rem);--text-h3:clamp(1.1rem, 1.2vw + .5rem, 1.4rem);--text-body-lg:clamp(1.025rem, .4vw + .95rem, 1.15rem);--text-body:clamp(.925rem, .2vw + .875rem, 1.025rem);--text-caption:clamp(.75rem, .2vw + .7rem, .85rem);--shadow-inset-top:inset 0 1px 0 0 hsl(var(--border-glass) / .12);--shadow-card:inset 0 1px 0 0 hsl(var(--border-glass) / .1), 0 4px 12px -2px #00000059;--shadow-elevated:inset 0 1px 0 0 hsl(var(--border-glass) / .15), 0 12px 32px -4px #00000080;--shadow-btn:inset 0 1px 0 0 hsl(var(--border-glass) / .2), 0 2px 4px 0 #00000040;--ease-spring:cubic-bezier(.16, 1, .3, 1);--duration-fast:.15s;--duration-normal:.25s;--min-touch-target:48px}[data-theme=light]{--bg-canvas:210 20% 98%;--bg-surface:0 0% 100%;--bg-card:214 32% 95%;--bg-elevated:210 25% 90%;--bg-hover:214 30% 88%;--bg-input:0 0% 100%;--border-subtle:214 20% 85%;--border-active:38 92% 45%;--text-primary:222 47% 11%;--text-secondary:215 25% 35%;--text-muted:215 16% 50%;--shadow-card:0 2px 8px -1px #0f172914, 0 1px 2px 0 #0f17290a;--shadow-elevated:0 8px 24px -4px #0f17291f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);color-scheme:dark;background-color:hsl(var(--bg-canvas));color:hsl(var(--text-primary));-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100vh;line-height:1.6;font-size:var(--text-body);background-color:hsl(var(--bg-canvas));color:hsl(var(--text-primary));text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;display:flex}h1,h2,h3,h4{color:hsl(var(--text-primary));letter-spacing:var(--tracking-tight);text-wrap:balance;line-height:1.25}h1{font-size:var(--text-h1);font-weight:800}h2{font-size:var(--text-h2);margin-top:2rem;margin-bottom:.75rem;font-weight:700}h3{font-size:var(--text-h3);margin-top:1.5rem;margin-bottom:.5rem;font-weight:600}p{color:hsl(var(--text-secondary));text-wrap:pretty;margin-bottom:1rem}strong{color:hsl(var(--text-primary));font-weight:600}a{color:hsl(var(--primary));transition:color var(--duration-fast) ease;text-decoration:none}a:hover{color:hsl(var(--primary-hover))}code,kbd,samp,pre,.font-mono,.tabular-nums{font-family:var(--font-mono);font-variant-numeric:tabular-nums lining-nums}.skip-link{background:hsl(var(--primary));color:#000;border-radius:var(--radius-sm);z-index:9999;transition:top var(--duration-fast) ease;padding:.75rem 1.25rem;font-weight:700;position:absolute;top:-100px;left:1rem}.skip-link:focus{outline:3px solid hsl(var(--text-primary));outline-offset:2px;top:1rem}:focus-visible{outline:2px solid hsl(var(--border-active));outline-offset:2px;border-radius:var(--radius-xs)}.site-container{width:100%;max-width:1280px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media (width>=768px){.site-container{padding-left:1.5rem;padding-right:1.5rem}}.card-surface{background:hsl(var(--bg-surface));border:1px solid hsl(var(--border-subtle));border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:border-color var(--duration-fast) ease}.btn-tactile{min-height:var(--min-touch-target);font-family:inherit;font-weight:600;font-size:var(--text-body);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-btn);transition:transform var(--duration-fast) var(--ease-spring), background-color var(--duration-fast) ease, border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;display:inline-flex}.btn-tactile:active{transform:scale(.98)}.btn-primary{background-color:hsl(var(--primary));color:#090e1a;font-weight:700}.btn-primary:hover{background-color:hsl(var(--primary-hover))}.btn-secondary{background-color:hsl(var(--bg-card));color:hsl(var(--text-primary));border-color:hsl(var(--border-subtle))}.btn-secondary:hover{background-color:hsl(var(--bg-hover));border-color:hsl(var(--border-active))}input[type=text],input[type=number],select{background-color:hsl(var(--bg-input));color:hsl(var(--text-primary));border:1px solid hsl(var(--border-subtle));border-radius:var(--radius-md);transition:border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease;min-height:var(--min-touch-target);padding:.75rem 1rem;font-family:inherit;font-size:1.1rem}input[type=text]:focus,input[type=number]:focus,select:focus{border-color:hsl(var(--border-active));box-shadow:0 0 0 3px hsl(var(--primary-glow) / .25);outline:none}@media print{body{color:#000!important;background:#fff!important}header,footer,.nav-container,.theme-toggle,.history-panel,.btn-tactile,.no-print{display:none!important}.site-container{max-width:100%!important;margin:0!important;padding:0!important}.card-surface{page-break-inside:avoid;box-shadow:none!important;color:#000!important;background:#fff!important;border:1px solid #ccc!important}a{color:#000!important;text-decoration:underline!important}table{border-collapse:collapse!important;width:100%!important}th,td{color:#000!important;border:1px solid #ddd!important;padding:8px!important}}
