:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#233e36;background:#f6f6f0;font-synthesis:none;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid #174b3d;background:#174b3d;color:#fff;border-radius:8px;padding:.75rem 1.25rem;font-weight:600;line-height:1.5}button:hover:not(:disabled){background:#23614e}button:disabled{cursor:default;opacity:.5}:focus-visible{outline:3px solid #ae7117;outline-offset:4px}a{color:#174b3d}.site-header{max-width:1240px;margin:auto;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.brand{font-weight:750;font-size:1.25rem;text-decoration:none;letter-spacing:-.04em}.brand-mark{display:inline-grid;place-items:center;width:36px;height:36px;background:#174b3d;color:#fff;border-radius:50%;margin-right:.4rem}.prototype-badge{font-size:.75rem;letter-spacing:.04em;border:1px solid #d2ded2;border-radius:20px;padding:.3rem .8rem}.intro{max-width:840px;margin:2rem auto 2.5rem;text-align:center;padding:0 1.5rem}.eyebrow{color:#5d7864;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.13em}h1,h2{font-family:Georgia,Times New Roman,serif;font-weight:400;line-height:1.2;letter-spacing:-.025em}h1{font-size:clamp(2rem,5vw,3.1rem);margin:.75rem 0}h2{font-size:2rem;margin:.5rem 0 1rem}h2:focus{outline:none}h3{margin:0;font-size:1.05rem}h4{margin-bottom:.75rem}.intro>p:not(.eyebrow){max-width:650px;margin:1rem auto}.intro .session-note{font-size:.8rem;color:#58685d}.workspace{display:grid;grid-template-columns:270px minmax(0,1fr);gap:2rem;max-width:1130px;margin:auto;padding:0 1.5rem;align-items:start}aside{padding:1.25rem 0}.progress-heading{display:flex;justify-content:space-between;font-size:.85rem}progress{width:100%;height:6px;display:block;margin:.75rem 0;border:0;border-radius:6px;background:#e0e6dc;accent-color:#427655}progress::-webkit-progress-bar{background:#e0e6dc;border-radius:6px}progress::-webkit-progress-value{background:#427655;border-radius:6px}progress::-moz-progress-bar{background:#427655;border-radius:6px}.steps{list-style:none;padding:0;margin:1.25rem 0}.steps button{border:none;background:transparent;color:#5a695e;display:flex;align-items:center;gap:.65rem;text-align:left;font-size:.82rem;width:100%;padding:.55rem .65rem;font-weight:450}.steps button.active,.steps button:hover:not(:disabled){background:#e4ece1;color:#174b3d}.steps button.active{font-weight:700}.step-number{border:1px solid #bacabc;border-radius:50%;min-width:24px;height:24px;display:inline-grid;place-items:center;font-size:.7rem}.active .step-number{color:#fff;background:#174b3d;border-color:#174b3d}.form-card,.loading-card{background:#fff;border:1px solid #e1e6dc;border-radius:16px;padding:2.25rem 2.5rem;box-shadow:0 8px 30px #22352205}.loading-card{max-width:700px;margin:auto}.section-intro,.hint{color:#667068;font-size:.85rem}.section-intro{margin-bottom:2rem}.question{padding:0;border:none;margin:0 0 2rem;min-width:0}.question legend{font-size:.95rem;font-weight:650;margin-bottom:.65rem;padding:0}.question .hint{margin-top:0}.optional{color:#6e776f;font-weight:400;font-size:.8rem}.choices{display:grid;gap:.6rem}.choice{border:1px solid #d7dfd7;border-radius:8px;display:flex;align-items:center;padding:.8rem 1rem;gap:.75rem;font-size:.9rem;cursor:pointer}.choice:has(input:checked){background:#f0f6ef;border-color:#5d8267}.choice:hover{border-color:#5d8267}input[type=radio],input[type=checkbox]{accent-color:#174b3d;width:18px;height:18px;margin:0;flex-shrink:0}input:not([type=radio]):not([type=checkbox]),textarea{width:100%;padding:.75rem .9rem;border:1px solid #bdccbf;border-radius:7px;background:#fff;color:#233e36;min-height:46px}textarea{resize:vertical}.parts{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.parts label{font-size:.8rem;color:#57665c;display:grid;gap:.4rem}.parts label:first-child{grid-column:1 / -1}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid #e4e9e1;padding-top:1.5rem;margin-top:2rem}.secondary{background:#fff;color:#174b3d;border-color:#cbd7ca}.secondary:hover:not(:disabled){background:#eef3eb}.text-button{background:none;border:0;padding:.25rem 0;color:#215f4c;text-decoration:underline;text-underline-offset:3px;font-size:.85rem}.text-button:hover:not(:disabled){color:#123f31;background:transparent}.restart{font-size:.75rem}.repeat-card{background:#fafbf8;border:1px solid #e1e7dc;border-radius:10px;padding:1.25rem;margin-bottom:1.5rem}.repeat-card .question:last-child{margin-bottom:0}.repeat-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.field-error{color:#9a3828;font-size:.85rem}.invalid input,.invalid textarea{border-color:#b95a42!important}.notice{background:#f2f5ed;padding:1rem 1.25rem;border-radius:8px;font-size:.85rem;margin:1.5rem 0}.notice p:first-child{margin-top:0}.notice p:last-child{margin-bottom:0}.notice.error{background:#fff3ed;border-left:3px solid #af5234;color:#793b2c}.notice.success{background:#eaf5eb;border-left:3px solid #427655}.error-dot{background:#a94430;color:#fff;border-radius:50%;min-width:18px;text-align:center;margin-left:auto}.review-section{padding:1.5rem 0;border-bottom:1px solid #e1e7dc}dl{margin:0}dt{font-size:.8rem;color:#687369;margin-top:1rem}dd{margin:.2rem 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.review-entry+.review-entry{border-top:1px dashed #dce5d9;margin-top:1.5rem}footer{text-align:center;color:#667068;font-size:.75rem;padding:3rem 1rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:absolute;top:-100px;padding:1rem;background:#fff;z-index:10}.skip-link:focus{top:0}@media(max-width:760px){.site-header{padding:1rem}.brand{font-size:1rem}.prototype-badge{font-size:.65rem;padding:.25rem .5rem}.intro{margin:1.5rem auto}.workspace{display:block;padding:0 1rem}aside{padding:.5rem 0 1rem}.steps{display:flex;overflow-x:auto;margin:.75rem 0;padding-bottom:.5rem;gap:.25rem}.steps li{flex:0 0 auto}.steps button{white-space:nowrap}.restart{display:block;margin-left:auto}.form-card{padding:1.5rem 1.25rem}.parts{grid-template-columns:1fr}h2{font-size:1.75rem}.form-actions{flex-wrap:wrap}.form-actions button{flex:1 1 auto}}
