:root{--color-text: #183D26;--color-text-muted: #4A5563;--color-bg: #FBFAF6;--color-surface: #FFFFFF;--color-surface-edge: #CFE0D4;--color-border: #6B6B6B;--color-heading: #245536;--color-primary: #245536;--color-primary-hover: #183D26;--color-on-primary: #FFFFFF;--color-selected: #E3EEE6;--color-link: #245536;--color-focus: #D9651B;--color-error: #8A1C1C;--color-error-hover: #6E1515;--color-success: #18502A;--color-warning: #8A2E0F;--color-warning-bg: #FFF3E0;--color-disabled-bg: #E3EEE6;--color-overlay: rgba(24, 61, 38, .6);--font-body: "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--text-base: 1.125rem;--text-lg: 1.25rem;--text-h2: 1.5rem;--text-h1: 2rem;--text-xl: 1.75rem;--text-display: 2.25rem;--text-icon: 2.5rem;--line-height: 1.5;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2rem;--target-min: 3rem;--radius: .5rem;--radius-lg: .875rem;--content-width: 40rem;--live-width: 34rem}@font-face{font-family:Atkinson Hyperlegible;src:url(/fonts/atkinson-hyperlegible-regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Atkinson Hyperlegible;src:url(/fonts/atkinson-hyperlegible-bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--line-height);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;overflow-wrap:break-word}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-shell>main{flex:1}.site-header,.site-footer,.page{width:100%;margin-inline:auto;padding-inline:var(--space-2)}.app-shell--reading .site-header,.app-shell--reading .site-footer,.app-shell--reading .page{max-width:var(--content-width)}.app-shell--live .site-header,.app-shell--live .site-footer,.app-shell--live .page{max-width:var(--live-width)}.site-header{display:flex;align-items:center;gap:var(--space-2);padding-block:var(--space-2) var(--space-1);border-bottom:4px solid var(--color-heading)}.brand-logo{display:block;height:2.5rem;width:auto}.page{padding-block:var(--space-3) var(--space-4)}.site-footer{padding-block:var(--space-3);border-top:1px solid var(--color-border);color:var(--color-text-muted)}.site-footer a{display:inline-flex;align-items:center;min-height:var(--target-min)}h1,h2,h3{line-height:1.25;color:var(--color-heading)}h1{font-size:var(--text-h1);font-weight:700}h2{font-size:var(--text-h2);font-weight:700}a{color:var(--color-link);text-decoration-thickness:.1em;text-underline-offset:.15em}.muted{color:var(--color-text-muted)}:focus-visible{outline:3px solid var(--color-text);outline-offset:2px;box-shadow:0 0 0 6px var(--color-focus)}button{min-height:var(--target-min);min-width:var(--target-min);font:inherit;font-size:var(--text-base);font-weight:700;cursor:pointer;border:2px solid transparent;border-radius:var(--radius);padding:.625rem 1.25rem;line-height:1.25;transition:background-color .15s,transform .1s}button:active{transform:scale(.97)}.btn{width:100%}.btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn--danger{background:var(--color-error);border-color:var(--color-error);color:var(--color-on-primary)}.btn--danger:hover:not(:disabled){background:var(--color-error-hover);border-color:var(--color-error-hover)}.btn--secondary{background:var(--color-bg);border-color:var(--color-primary);color:var(--color-primary)}.btn--secondary:hover:not(:disabled){background:var(--color-selected)}.btn--auto{width:auto}button:disabled,button:disabled:hover{background:var(--color-disabled-bg);border:2px dashed var(--color-text-muted);color:var(--color-text-muted);cursor:not-allowed;transform:none}.link-button{display:inline-flex;align-items:center;min-height:var(--target-min);padding:0 var(--space-1);background:none;border:0;color:var(--color-link);font-weight:700;text-decoration:underline;text-underline-offset:.15em}.choice-button{width:100%;text-align:left;padding:.875rem 1.25rem;font-size:var(--text-base);background:var(--color-surface);border:2px solid var(--color-primary);color:var(--color-text)}.choice-button[aria-pressed=true]{background:var(--color-selected);box-shadow:inset 0 0 0 2px var(--color-primary)}.choice-button[aria-pressed=true]:after{content:" ✓"}input,select,textarea{min-height:var(--target-min);font:inherit;font-size:var(--text-base);font-weight:400;padding:.5rem .75rem;border:2px solid var(--color-border);border-radius:var(--radius);width:100%;background:var(--color-surface);color:var(--color-text)}input:focus,select:focus,textarea:focus{border-color:var(--color-primary)}input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:1}textarea{resize:vertical}label{font-size:var(--text-base);font-weight:700;display:block;margin-bottom:.375rem}.optional{font-weight:400;color:var(--color-text-muted)}.hint{color:var(--color-text-muted)}.card{background:var(--color-surface);border:1px solid var(--color-surface-edge);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:.875rem}.card--accent{border-top:4px solid var(--color-primary)}.card--danger{border-top:4px solid var(--color-error)}.divider{border-bottom:1px solid var(--color-surface-edge)}.stat{background:var(--color-bg);border:1px solid var(--color-surface-edge);border-radius:var(--radius);padding:.75rem .875rem}.stat__label{color:var(--color-text-muted);line-height:1.3;margin-bottom:.125rem}.stat__value{font-size:var(--text-display);font-weight:700;line-height:1.1;color:var(--color-text)}.stat__sub{color:var(--color-text-muted);line-height:1.3;margin-top:.25rem}.badge{display:inline-block;font-size:var(--text-base);font-weight:700;line-height:1.3;padding:.125rem .625rem;border-radius:1.25rem;border:2px solid currentColor}.badge--success{background:var(--color-selected);color:var(--color-success)}.badge--warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge--neutral{background:var(--color-bg);color:var(--color-text-muted)}.notice{padding:var(--space-2);border-left:6px solid var(--color-primary);background:var(--color-surface);margin-bottom:var(--space-2);font-weight:700}.error{color:var(--color-error);font-weight:700;padding:var(--space-1) 0}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);display:flex;align-items:center;justify-content:center;padding:1.25rem;overflow-y:auto}.overlay__panel{background:var(--color-surface);color:var(--color-text);border-radius:1rem;padding:1.75rem;width:100%;max-width:25rem;margin:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.375rem .5rem}.table thead tr{border-bottom:2px solid var(--color-surface-edge)}.table tbody tr{border-bottom:1px solid var(--color-surface-edge)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
