:root{--navy:#193142;--orange:#ea5d0b;--action:#b94300;--action-hover:#963700;--white:#ffffff;--surface:#f3f6f8;--ink:#233847;--muted:#536675;--line:#d6dfe5;--radius:8px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--white)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:var(--action)}.messages:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:4px}p{line-height:1.6}h1,h2{line-height:1.15;letter-spacing:-.035em}.wrap{width:min(1180px,100%);margin:0 auto;padding-inline:40px}.eyebrow{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.13em;margin:0 0 20px}.brand{display:inline-flex;align-items:center;flex-shrink:0;text-decoration:none}.brand img{display:block;width:230px;max-width:100%;height:auto;object-fit:contain}.site-header,.tutor-header{background:var(--navy);color:var(--white)}.nav{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}.button,.outline{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:48px;border-radius:var(--radius);padding:14px 22px;font-size:14px;font-weight:700;line-height:1.3;text-decoration:none;text-align:center}.button{border:1px solid var(--action);background:var(--action);color:var(--white)}.button:hover:not(:disabled),.send:hover:not(:disabled){background:var(--action-hover)}.button span{font-size:22px;line-height:1}.outline{border:1px solid var(--line);background:var(--white);color:var(--ink)}.outline:hover:not(:disabled){border-color:var(--ink);background:var(--surface)}.text-button{border:0;padding:10px 6px;background:transparent;color:var(--ink);font-size:14px;text-decoration:underline;text-underline-offset:4px}.site-header .text-button,.tutor-header .text-button{color:var(--white)}.logout-control p{margin:0;max-width:230px;font-size:12px}.hero{padding-block:84px}.hero h1{max-width:960px;margin:0;font-size:clamp(40px,5.7vw,70px);font-weight:750}.hero h1 em{color:var(--action);font-style:normal}.lead{max-width:650px;margin:30px 0;color:var(--muted);font-size:19px}.hero-actions{display:flex;flex-wrap:wrap;gap:14px}.feature{display:grid;grid-template-columns:70px 1fr auto;align-items:start;grid-gap:30px;gap:30px;padding-block:50px;background:var(--navy);color:var(--white)}.feature-number{color:#ff9a5d;font-size:18px;font-weight:700}.feature .eyebrow{color:#c6d5df}.feature h2{margin:0 0 20px;font-size:36px}.feature p:not(.eyebrow){max-width:460px;color:#d9e3e9}.arrow-link{align-self:end;padding-bottom:8px;border-bottom:2px solid var(--orange);color:var(--white);font-size:14px;text-decoration:none}.arrow-link span{margin-left:12px}.principles{display:flex;flex-wrap:wrap;gap:24px;padding-block:34px;color:var(--muted);font-size:14px}.principles p{margin:0}footer{border-top:1px solid var(--line);padding-block:26px;color:var(--muted);font-size:12px}.auth-page{display:grid;grid-template-columns:minmax(340px,43%) 1fr;min-height:100vh;background:var(--surface)}.auth-institution{display:flex;flex-direction:column;justify-content:space-between;gap:80px;padding:55px clamp(32px,5vw,85px) 85px;background:var(--navy);color:var(--white)}.auth-institution .brand img{width:280px}.auth-introduction{border-left:4px solid var(--orange);padding-left:26px}.auth-introduction .eyebrow{color:#c6d5df}.auth-introduction h2{margin:0 0 18px;font-size:clamp(38px,4vw,58px)}.auth-introduction p:last-child{margin-bottom:0;color:#d9e3e9;font-size:20px}.auth-form-panel{display:grid;align-items:center;padding:60px 36px}.auth-card{width:min(480px,100%);margin:0 auto;padding:42px;border:1px solid var(--line);border-radius:12px;background:var(--white)}.auth-card h1{margin:0;font-size:38px}.auth-card>p:not(.eyebrow){margin:22px 0 28px;color:var(--muted);font-size:15px}.login-form{display:grid;grid-gap:10px;gap:10px}.login-form label{font-size:14px;font-weight:700}.login-form input{min-width:0;width:100%;padding:15px;border:1px solid #aab9c3;border-radius:var(--radius);background:var(--white);color:var(--ink)}.login-form .button{justify-content:space-between;margin-top:10px}.login-form .form-message{margin:5px 0 0;color:var(--muted);font-size:13px}.tutor-page{min-height:100vh;background:var(--white)}.tutor-header{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 40px}.tutor-header .brand img{width:210px}.chat-toolbar,.header-actions{display:flex;align-items:center;justify-content:space-between;gap:22px}.tutor-name{font-size:13px}.tutor-layout{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:calc(100vh - 88px)}.tutor-layout aside{padding:45px 32px;border-right:1px solid var(--line);background:var(--surface)}.tutor-layout aside h2{margin:0 0 24px;font-size:30px}.tutor-layout aside>p:not(.eyebrow){color:var(--muted);font-size:14px}.tutor-layout .aside-note{margin-top:34px;padding-top:24px;border-top:1px solid var(--line);font-size:12px}.chat{display:flex;flex-direction:column;width:min(900px,100%);min-width:0;min-height:calc(100vh - 88px);margin:0 auto;padding:34px 50px 50px}.chat-toolbar{padding-bottom:18px;border-bottom:1px solid var(--line)}.chat-label{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.08em}.onboarding h1{max-width:600px;margin:36px 0 22px;font-size:36px}.feedback p,.mode-choice p,.onboarding>p{color:var(--muted);font-size:15px}.onboarding fieldset{margin:32px 0;padding:0;border:0}.onboarding legend{margin-bottom:14px;font-size:15px;font-weight:700}.choices{display:flex;flex-wrap:wrap;gap:10px}.choices button{min-height:48px;padding:12px 16px;border:1px solid #aab9c3;border-radius:var(--radius);background:var(--white);color:var(--ink);font-size:14px;text-align:left}.choices button:hover{border-color:var(--action)}.choices button[aria-pressed=true]{border-color:var(--navy);background:var(--navy);color:var(--white)}.mode-choice{border-top:1px solid var(--line);padding-top:22px}.feedback h2,.mode-choice h2{margin:0 0 18px;font-size:24px}.mode-choice .outline{margin:12px 0 0 8px}.mode-choice .availability-note,.session-context{font-size:13px;color:var(--muted)}.session-context{margin-top:20px;line-height:1.6}.messages{flex:none;min-height:160px;max-height:min(55vh,560px);overflow-y:auto;padding:26px 12px 8px 0;overscroll-behavior:contain;scrollbar-gutter:stable}.message{display:flex;gap:12px;max-width:680px;margin-bottom:22px}.message>span{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;font-size:11px;font-weight:700}.assistant>span{background:var(--navy);color:var(--white)}.message p{min-width:0;margin:0;padding:14px 16px;border-radius:2px 12px 12px;background:var(--surface);font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere}.user{flex-direction:row-reverse;margin-left:auto}.user>span{background:#dce7ed}.user p{border-radius:12px 2px 12px 12px;background:#e9f0f4}.latest-reply{align-self:center}.composer{display:flex;align-items:flex-end;gap:8px;padding:7px;border:1px solid #aab9c3;border-radius:10px;background:var(--white)}.composer textarea{flex:1 1;min-width:0;min-height:62px;max-height:180px;padding:11px;resize:vertical;border:0;border-radius:4px;background:transparent;color:var(--ink);font-size:16px;line-height:1.5}.send{flex-shrink:0;width:44px;min-height:44px;border:0;border-radius:7px;background:var(--action);color:var(--white);font-size:24px}.composer-hint{margin:8px 0 0;color:var(--muted);font-size:12px}.feedback{margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}.feedback label{display:grid;grid-gap:10px;gap:10px;margin:20px 0;font-size:14px;font-weight:700}.feedback select,.feedback textarea{min-width:0;max-width:100%;padding:13px;border:1px solid #aab9c3;border-radius:var(--radius);background:var(--white);color:var(--ink);font-size:15px;font-weight:400}.feedback textarea{min-height:90px;resize:vertical}.feedback button,.reset-confirm button{margin:4px 8px 4px 0}.reset-confirm{margin:20px 0;padding:22px;border:1px solid #aab9c3;border-radius:var(--radius);background:var(--surface)}.reset-confirm h2{margin:0 0 12px;font-size:24px}.reset-confirm p{color:var(--muted);font-size:15px}.message-content{min-width:0;flex:1 1}.response-review{margin-top:8px;border:1px solid var(--line);border-radius:var(--radius);padding:12px;font-size:13px}.response-review summary,.session-measurement summary{cursor:pointer;color:var(--ink)}.response-review p{padding:0;background:transparent;font-size:13px}.lesson-choice label,.lesson-finish label,.response-review label,.session-measurement label{display:grid;grid-gap:8px;gap:8px;margin:14px 0;font-size:14px}.lesson-choice select,.lesson-finish textarea,.response-review input,.response-review select,.response-review textarea,.session-measurement input{min-width:0;width:100%;padding:10px;border:1px solid #aab9c3;border-radius:var(--radius);background:var(--white);color:var(--ink);font-size:16px}.lesson-finish textarea,.response-review textarea{min-height:80px;resize:vertical}.lesson-finish,.session-measurement{margin-top:26px;border-top:1px solid var(--line);padding-top:20px}.lesson-finish h2,.session-measurement h2{font-size:22px}.lesson-choice p,.lesson-finish p,.session-measurement p{color:var(--muted);font-size:14px;overflow-wrap:anywhere}@media (max-width:900px){.tutor-layout{grid-template-columns:230px minmax(0,1fr)}.tutor-layout aside{padding:35px 24px}.chat{padding-inline:30px}.feature{grid-template-columns:50px 1fr}.arrow-link{grid-column:2;justify-self:start}.auth-page{grid-template-columns:36% 1fr}.auth-institution{padding-inline:28px}.auth-card{padding:30px}}@media (max-width:700px){.wrap{padding-inline:24px}.nav{min-height:84px}.brand img{width:205px}.hero{padding-block:52px}.hero h1{font-size:40px}.lead{font-size:17px}.hero-actions{align-items:stretch;flex-direction:column}.feature{grid-template-columns:1fr;gap:18px;padding-block:35px}.feature h2{font-size:30px}.arrow-link{grid-column:auto}.principles{gap:14px;font-size:12px}.auth-page{display:block}.auth-institution{gap:34px;padding:26px 28px 32px}.auth-institution .brand img{width:215px}.auth-introduction{padding-left:18px}.auth-introduction .eyebrow{margin-bottom:12px}.auth-introduction h2{margin-bottom:8px;font-size:32px}.auth-introduction p:last-child{font-size:16px}.auth-form-panel{padding:28px 20px 40px}.auth-card{padding:28px 24px}.auth-card h1{font-size:32px}.tutor-header{flex-wrap:wrap;gap:16px;padding:18px 22px}.tutor-header .brand img{width:190px}.header-actions{width:100%;gap:12px}.tutor-layout{grid-template-columns:minmax(0,1fr)}.tutor-layout aside{display:none}.chat{padding:25px 22px 36px}.chat-toolbar{gap:10px}.chat-label{font-size:10px}.onboarding h1{margin-top:28px;font-size:30px}.choices{flex-direction:column}.choices button{width:100%}.mode-choice .outline{margin-left:0}.messages{max-height:48vh}.message{gap:8px}.message p{padding:12px;font-size:14px}.reset-confirm button{width:100%}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation:none!important;transition:none!important}}