/* Shared foundation: theme, controls, navigation and accessibility. */
:root{--color-ink:#654737;--color-muted:#5c7065;--color-canvas:#e7eff5;--color-sage:#9bb5a1;--color-sage-soft:#fff8ef;--color-sage-action:#654737;--color-peach:#f1c4ae;--color-peach-soft:#fff0e7;--color-peach-action:#a5533a;--color-border:#cbd8c5;--color-focus:#8c4b32;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-control:12px;--radius-card:24px;--radius-pill:999px;--content-width:1140px;--ink:var(--color-ink);--muted:var(--color-muted);--cream:var(--color-canvas);--sage:var(--color-sage);--sage-pale:var(--color-sage-soft);--sage-dark:var(--color-sage-action);--peach:var(--color-peach);--peach-pale:var(--color-peach-soft);--terracotta:var(--color-peach-action)}
body{overflow-wrap:break-word}img,svg{max-width:100%}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}button:disabled{cursor:not-allowed;opacity:.55;transform:none}.wrap{width:100%;max-width:var(--content-width)}
.site-header{display:flex;flex-wrap:wrap;gap:var(--space-5);align-items:center}.site-header .brand{font-size:23px;letter-spacing:-.8px}.site-header .brand svg,.site-header .brand img{width:48px;height:48px;flex-shrink:0}.site-header .language-switch{margin-left:auto;flex-shrink:0}.site-header nav{display:flex;align-items:center;gap:var(--space-5)}.site-header .menu-toggle{display:none}.language-switch button{min-width:40px;min-height:40px}.site-header .login{min-height:44px}.site-footer{border-top:1px solid var(--color-border);margin-top:var(--space-7);padding-top:var(--space-5);padding-bottom:var(--space-5)}.site-footer .brand{font-size:18px}.site-footer nav{flex-wrap:wrap}.site-footer button,.site-footer a:not(.brand){min-height:44px;display:inline-flex;align-items:center}.dialog-close{min-width:44px;min-height:44px}.button,.login,.menu-toggle{min-height:44px}.button{transition:background .15s ease}.button:hover{transform:none}.skip-link{border:1px solid var(--color-focus)}
.ui-stack{display:flex;flex-direction:column;gap:var(--space-4)}.ui-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.ui-card{background:#ffffff;border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-5);min-width:0}.ui-card--sage{background:var(--color-sage-soft)}.ui-card--peach{background:var(--color-peach-soft)}.ui-card h2{font-size:25px;line-height:1.3;letter-spacing:-.6px;margin:0 0 14px}.ui-card p{color:var(--color-muted);margin:0 0 14px}.ui-actions{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--color-sage-action);color:white;border:1px solid transparent;border-radius:var(--radius-pill);min-height:46px;padding:10px 21px;font-size:15px;font-weight:700;text-align:center}.ui-button:hover{background:#345642}.ui-button--peach{background:var(--color-peach-action)}.ui-button--peach:hover{background:#8e452f}.ui-button--secondary{background:transparent;color:var(--color-ink);border-color:#8fa68c}.ui-button--secondary:hover{background:#e4eddd}.ui-field{display:flex;flex-direction:column;gap:8px;font-size:15px;font-weight:700}.ui-input,.ui-select,.ui-textarea{width:100%;min-width:0;min-height:46px;background:#ffffff;color:var(--color-ink);border:1px solid #8fa68c;border-radius:var(--radius-control);padding:11px 13px;font-size:16px;font-weight:400}.ui-field small{font-size:14px;font-weight:400;color:var(--color-muted)}.ui-badge{display:inline-block;border-radius:var(--radius-pill);padding:6px 12px;background:#dce8d6;color:#345642;font-size:13px;font-weight:700}.ui-badge--planned{background:#f9dcca;color:#793c28}.ui-empty{border:1px dashed #94aa90;border-radius:var(--radius-card);padding:var(--space-6);background:#f4f6ed;text-align:center;color:var(--color-muted)}.ui-empty h3{color:var(--color-ink);margin:0 0 9px}.ui-help{font-size:14px;color:var(--color-muted)}.foundation-intro{padding-top:32px;padding-bottom:30px}.foundation-intro h1{font-size:clamp(34px,4.8vw,53px);letter-spacing:-1.4px;line-height:1.12;margin:15px 0}.foundation-section{margin-bottom:26px}.foundation-section>h2{font-size:23px;margin:0 0 17px}.swatches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.swatch{border:1px solid var(--color-border);border-radius:16px;overflow:hidden;background:#ffffff}.swatch-color{height:75px}.swatch span{display:block;padding:10px 12px;font-size:14px}.site-header a[aria-current=page]{font-weight:700;text-decoration:underline;text-underline-offset:5px}dialog{max-height:calc(100dvh - 40px);overflow:auto}.ui-control-row{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}
@media(max-width:760px){.site-header{gap:12px}.site-header .brand{font-size:18px;gap:8px}.site-header .brand img,.site-header .brand svg{width:40px;height:40px}.site-header .menu-toggle{display:block;min-height:44px}.site-header nav{display:none;width:100%;border-top:1px solid var(--color-border);padding-top:12px;flex-direction:column;align-items:stretch;gap:4px}.site-header nav.is-open{display:flex}.site-header nav a{padding:10px 0;min-height:44px}.site-header nav button{align-self:flex-start}.site-header .language-switch button{padding:5px 8px;min-width:35px}.site-footer{gap:12px}.site-footer nav{width:100%;border:0;padding:0;gap:18px}.site-footer .sprout{display:none}.ui-grid,.ui-control-row{grid-template-columns:1fr}.swatches{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:380px){.site-header .brand{font-size:16px}.site-header .brand svg,.site-header .brand img{width:34px;height:34px}.site-header .menu-toggle{font-size:12px;padding:8px}.site-header .language-switch button{min-width:32px}.site-header{gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.report-format-dialog{width:min(620px,calc(100vw - 32px));margin:auto;padding:28px}.report-format-dialog::backdrop{background:rgba(28,47,35,.45)}.report-format-dialog button{margin:6px 8px 6px 0;min-height:44px}.report-format-dialog h2{margin-top:0}#quant-project{margin-bottom:24px}

.simple-start{margin:0 0 24px}.simple-start li{margin:10px 0;line-height:1.65}.simple-start summary{cursor:pointer;font-weight:650}.simple-start dt{font-weight:700;margin-top:16px}.simple-start dd{margin:4px 0 0;line-height:1.65}.ui-field small.ui-help{display:block;font-weight:400;line-height:1.6}
