:root{color-scheme:light;--ink:#102235;--muted:#506071;--paper:#f6f9fc;--blue:#254cdb;--line:#d7e0e9;--lime:#d3ed80}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:#fff;color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;font-size:1rem;line-height:1.65}button,input,textarea,select{font:inherit}a{color:inherit}button,a,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #254cdb;outline-offset:4px}.wrap{max-width:1200px;margin:0 auto;padding-left:2.5rem;padding-right:2.5rem}.skip{position:absolute;left:1rem;top:-100px;z-index:10;background:white;padding:.6rem}.skip:focus{top:1rem}.header{max-width:1280px;margin:auto;padding:1.7rem 2.5rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:1.5rem}.brand{display:inline-flex;align-items:center;gap:.45rem;font-size:1.45rem;font-weight:750;text-decoration:none;letter-spacing:-.05em}.brand-light{font-weight:400}.mark{display:inline-grid;place-items:center;background:var(--ink);color:var(--lime);width:2rem;height:2rem;border-radius:.5rem;font-size:1.7rem;margin-right:.2rem;font-weight:700;line-height:1}.header nav{display:flex;gap:2rem}.header nav a,.contact-top{text-decoration:none;font-size:.9rem}.contact-top{border:1px solid var(--line);padding:.5rem 1rem;border-radius:2rem}.hero{padding-top:6rem;padding-bottom:6rem;display:grid;grid-template-columns:1.15fr 1fr;gap:4rem;align-items:center}.eyebrow,.section-label{font-size:.8rem;letter-spacing:.12em;font-weight:700;line-height:1.6}.eyebrow{color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.7rem,4.7vw,4.5rem);letter-spacing:-.06em;line-height:1.07;margin-bottom:1.6rem}h1 span{color:var(--blue)}.lead{font-size:1.18rem;line-height:1.65;max-width:35rem}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.3rem;margin:2rem 0 1.25rem}.button{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.15rem;border-radius:.55rem;text-decoration:none;border:1px solid transparent;font-weight:600;font-size:.95rem;cursor:pointer;line-height:1.4}.primary{background:var(--blue);color:white}.primary:hover{background:#1c3cb6}.secondary{border-color:var(--line);background:white;color:var(--ink)}.secondary:hover{background:#edf2f8}.text-link{font-size:.95rem;font-weight:600;text-underline-offset:5px;cursor:pointer}.small{font-size:.875rem;color:var(--muted)}.dialogue{border:1px solid #263c52;border-radius:1.25rem;background:var(--ink);padding:1.5rem;color:white;box-shadow:0 24px 60px #13243816}.dialogue-top,.exercise-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.8rem;flex-wrap:wrap}.dialogue-top{color:#c7d4e1;margin-bottom:1.8rem;letter-spacing:.08em}.pill{font-size:.75rem;letter-spacing:0;border:1px solid #7290ac;padding:.25rem .6rem;border-radius:2rem;line-height:1.5}.bubble{padding:1rem 1.15rem;border-radius:.7rem;margin-bottom:.85rem;background:#20364b}.bubble p{margin:.3rem 0 0;line-height:1.5}.speaker{font-size:.75rem;color:#bacbda;font-weight:600}.learner{background:var(--lime);color:var(--ink);margin-left:2.25rem}.learner .speaker{color:#3d4d31}.loop-caption{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-top:1.6rem;font-size:.875rem;color:#cbd9e6}.loop-caption span{border-bottom:2px solid var(--lime);padding:.2rem .75rem}.section{padding-top:5rem;padding-bottom:5rem;border-top:1px solid var(--line)}.section-label{color:var(--blue);margin-bottom:2rem}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end;margin-bottom:2.7rem}.section-heading p{color:var(--muted);max-width:30rem;margin:0}h2{font-size:clamp(2rem,3vw,2.9rem);line-height:1.16;letter-spacing:-.045em;margin-bottom:0}h3{font-size:1.2rem;letter-spacing:-.02em;line-height:1.4}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}.steps article{border-top:1px solid var(--line);padding-top:1.5rem}.step-number{font-size:.95rem;color:var(--blue);display:block;margin-bottom:1.2rem}.steps p{color:var(--muted);margin:0}.demo-section{padding:5rem 0;background:var(--paper)}.demo-grid{display:grid;grid-template-columns:.8fr 1.3fr;gap:1.5rem}.source-panel,.exercise{border:1px solid var(--line);border-radius:.85rem;padding:1.6rem}.source-panel{background:#e8eef5}.source-panel label,.exercise label,.live-details label{display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}select,textarea{width:100%;border:1px solid #9cabbc;border-radius:.45rem;background:#fff;color:var(--ink);padding:.75rem}select{margin-bottom:2rem}textarea{resize:vertical;min-height:7rem}.demo-note{font-size:.875rem;color:var(--muted);margin-top:2rem}.exercise{background:#fff}.exercise-top{color:var(--muted);margin-bottom:1.5rem}.exercise h3{font-size:1.4rem}.exercise-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.feedback{background:#edf3fa;border-left:3px solid var(--blue);margin-top:1.3rem;padding:1rem;white-space:pre-wrap}.next{border:0;background:transparent;padding:.25rem 0;margin-top:1rem;color:var(--blue)}.live-details{margin-top:1.5rem;border-top:1px solid var(--line);padding-top:1.3rem}.live-details summary{cursor:pointer;font-weight:600}.live-details p{max-width:55rem;color:var(--muted)}.live-details .button{margin-top:1rem}.project-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:4rem}.project-grid h2{margin-bottom:1.6rem}.project-grid p{color:var(--muted)}.status-card{border:1px solid var(--line);padding:1.75rem;border-radius:.9rem;background:var(--paper)}dl{margin:0 0 1rem}dl div{padding:1rem 0;border-bottom:1px solid var(--line)}dt{font-size:.8rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}dd{margin:.25rem 0 0}.closing{padding:4rem 2.5rem;background:var(--ink);color:white;border-radius:1rem;text-align:center;margin-bottom:4rem}.closing .eyebrow{color:#cad7e3}.closing h2{margin-bottom:1.8rem}.closing .button{background:var(--lime);color:var(--ink)}footer{padding-top:2rem;padding-bottom:2rem;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;font-size:.875rem}footer p{margin:0;color:var(--muted)}footer details{flex-basis:100%;font-size:.875rem}footer details p{max-width:60rem;margin-top:.7rem}summary{cursor:pointer}@media(max-width:850px){.hero{gap:2rem;grid-template-columns:1fr;padding-top:3.5rem;padding-bottom:3.5rem}.dialogue{max-width:600px}.header nav{gap:1rem}.steps{gap:1.25rem}.project-grid{gap:2rem}.section-heading{gap:2rem}}@media(max-width:600px){.wrap,.header{padding-left:1.25rem;padding-right:1.25rem}.header{flex-wrap:wrap;padding-top:1rem;padding-bottom:1rem;gap:.8rem}.header nav{order:3;flex-basis:100%;justify-content:space-between}.hero{gap:2rem}.section,.demo-section{padding-top:3rem;padding-bottom:3rem}.section-heading,.steps,.demo-grid,.project-grid{grid-template-columns:1fr;gap:1.5rem}.section-heading{margin-bottom:2rem}.section-label{margin-bottom:1.5rem}.closing{margin:0 1.25rem 3rem;padding:3rem 1.25rem}.source-panel,.exercise{padding:1.25rem}.exercise-actions .button{width:100%}footer a{overflow-wrap:anywhere}h1{font-size:2.8rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.local-badge{font-size:.8rem;border:1px solid var(--line);padding:.3rem .7rem;border-radius:2rem}.workspace{padding-top:2.7rem;padding-bottom:3rem}.workspace-heading{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:2rem}.workspace-heading h1{font-size:clamp(2.3rem,4vw,3.5rem);margin:0}.workspace-heading>p{max-width:29rem;margin:0;color:var(--muted)}.study-grid{display:grid;grid-template-columns:370px minmax(0,1fr);gap:1.25rem}.notes-panel,.chat-panel{border:1px solid var(--line);border-radius:.9rem;padding:1.25rem}.notes-panel{background:var(--paper)}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:1.1rem;flex-wrap:wrap}.panel-title h2{font-size:1.2rem;letter-spacing:-.02em}.notes-panel label,#chat-form label{font-size:.9rem;font-weight:600;display:block;margin-bottom:.4rem}.notes-panel select{margin-bottom:1rem}.notes-panel textarea{min-height:12rem;font-size:.95rem}.notes-panel .button{width:100%}.model-status{font-size:.875rem;overflow-wrap:anywhere;margin:.65rem 0}progress{width:100%;margin-top:1rem;accent-color:var(--blue)}.chat-panel{display:flex;flex-direction:column;min-height:660px}.chat-log{height:400px;overflow:auto;flex:1;min-height:260px;padding:.5rem .1rem;overscroll-behavior:contain}.empty-chat{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:350px;padding:1.5rem}.empty-chat h3{font-size:1.65rem;line-height:1.2;letter-spacing:-.03em}.empty-chat p{color:var(--muted);max-width:24rem}.empty-mark{font-size:2rem;line-height:1;display:grid;place-items:center;width:3.2rem;height:3.2rem;border-radius:50%;background:var(--lime);margin-bottom:1.5rem}.chat-message{padding:.85rem 1rem;border-radius:.65rem;margin-bottom:1rem;background:#eaf0f8}.chat-message .speaker{color:var(--muted)}.chat-message p{margin:.4rem 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.chat-message.user{background:var(--ink);color:white;margin-left:2rem}.chat-message.user .speaker{color:#c5d5e5}.chat-toolbar{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;padding:1rem 0;border-top:1px solid var(--line)}.chat-toolbar .button{font-size:.875rem;padding:.6rem .8rem}.chat-toolbar .text-link{background:none;border:0;font-size:.8rem;color:var(--muted);margin-left:auto}.compose{display:flex;gap:.5rem;align-items:stretch}.compose textarea{min-height:4.4rem}.compose .button{min-width:5rem}.generation-status{display:flex;gap:.5rem;align-items:center}.generation-status p{margin:.7rem 0 0;flex:1}.generation-status button{border:0;background:none;font-size:.8rem}.privacy-line{font-size:.875rem;color:var(--muted);margin:1rem 0 0;max-width:70rem}button:disabled{cursor:not-allowed;opacity:.5}#error-details{font-size:.875rem;overflow-wrap:anywhere;color:#9b263c}#error-message{margin:.5rem 0}@media(max-width:950px){.study-grid{grid-template-columns:320px minmax(0,1fr)}.workspace-heading{gap:1.5rem}}@media(max-width:750px){.study-grid{grid-template-columns:1fr}.workspace-heading{display:block}.workspace-heading>p{margin-top:1.2rem}.chat-panel{min-height:550px}.chat-log{height:350px}.empty-chat{min-height:280px}.notes-panel textarea{min-height:9rem}.local-badge{font-size:.75rem}.compose{flex-wrap:wrap}.compose .button{width:100%}}
