:root{font:17px/1.6 system-ui,sans-serif;color:#183650;background:#f4f7fb;--navy:#092b4c;--amber:#8c4b00}*{box-sizing:border-box}body{margin:0}header{background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem max(4vw,20px)}header a{color:white;text-decoration:none}.brand{font-size:1.5rem;font-weight:800;white-space:nowrap}.brand span{font-weight:400}nav{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}main{max-width:1240px;margin:auto;padding:2rem max(3vw,18px);min-height:70vh}footer{padding:2rem 5%;font-size:.85rem;background:#e9eff6}h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.15;max-width:900px;margin:.5rem 0 1rem}h2{font-size:1.6rem;line-height:1.3}h3{font-size:1.15rem}p{max-width:75ch}a{color:#115b90}button,.button{background:var(--navy);color:white;border:0;border-radius:9px;padding:.65rem 1rem;font:inherit;cursor:pointer;text-decoration:none;display:inline-block}button:disabled{opacity:.5;cursor:not-allowed}button.secondary,.button.secondary{background:#e5edf6;color:var(--navy)}button.helped,.helped{background:#fff0d6;color:var(--amber);border:1px solid #d99d41}button.helped{background:#a45a00;color:white}button.original{background:var(--navy);color:white}.badge{display:inline-block;font-size:.8rem;padding:.2rem .6rem;border-radius:20px;background:#e5edf6}.badge.independent{background:#dfefe6;color:#206347}.badge.helped{background:#fff0d6;color:var(--amber)}.eyebrow{font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#3a658c}.hero{padding:2rem 0 3rem}.lead{font-size:1.25rem}.cards,.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:1.2rem}.card,article,.panel{background:white;border:1px solid #d9e2ed;border-radius:16px;padding:1.5rem;box-shadow:0 6px 20px #092b4c06;margin-bottom:1rem}.card h2{margin:.5rem 0}.actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin:1rem 0}.note{padding:1rem;background:#eaf1f9;border-left:4px solid #3a658c;border-radius:5px}.error{color:#8a2222;background:#fff0f0;padding:1rem;border-radius:8px}.success{color:#206347}label{display:block;font-weight:600;margin:.8rem 0 .3rem}input,select,textarea{font:inherit;width:100%;padding:.65rem;border:1px solid #91a7bd;border-radius:8px;background:white;color:inherit}input[type=checkbox]{width:auto;margin-right:.6rem}textarea{min-height:150px;resize:vertical}.auth{max-width:530px;margin:1rem auto}.muted,small{color:#567086}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,340px);gap:1.3rem;align-items:start}.rough{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}.rough canvas{width:100%;height:220px;border:1px solid #91a7bd;border-radius:6px;touch-action:none;background:white}.rough label{font-size:.9rem}.rough button{font-size:.85rem}.topic-select{max-width:650px}.question{border-top:1px solid #d9e2ed;padding-top:1rem}.question h3{font-size:1.35rem}.question input{margin:.7rem 0}.feedback{min-height:1.6em}.question-choice{display:block;font-weight:400}.question-choice input{width:auto;margin-right:.5rem}details{margin:.8rem 0;border-top:1px solid #e2e8ef;padding-top:.8rem}summary{cursor:pointer;font-weight:650}ol,ul{padding-left:1.4rem}li{margin:.35rem 0}.progress-nav{display:flex;flex-wrap:wrap;gap:.4rem}.progress-nav button{font-size:.85rem;min-width:42px;padding:.3rem}.progress-nav button[aria-current=true]{outline:3px solid #2c789c;outline-offset:2px}.graph svg{max-width:100%;width:420px;background:#f6f9fc}table{width:100%;border-collapse:collapse;font-size:.85rem}td,th{text-align:left;border-bottom:1px solid #d9e2ed;padding:.6rem;overflow-wrap:anywhere}.table-wrap{overflow:auto}.skip{position:absolute;top:-100px;background:white;padding:.5rem}.skip:focus{top:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #248bba;outline-offset:3px}.session-list{max-height:400px;overflow:auto}.small{font-size:.85rem}.mobile-rough{display:none}@media(max-width:800px){header{align-items:flex-start;flex-direction:column}nav{font-size:.9rem;gap:.8rem}main{padding-top:1rem}.workspace{grid-template-columns:1fr}.rough{position:static;max-height:none;scroll-margin-top:12px}.mobile-rough{display:inline-block;position:sticky;top:10px;z-index:2;float:right}h1{font-size:2.2rem}.hero{padding-top:1rem}.card,article,.panel{padding:1.1rem}}
