.brand-mark,.welcome-mark,.onboarding-mark{color:#f8faf6;background:#183d2b;border-radius:.8rem;flex:none;place-items:center;width:2.55rem;height:2.55rem;font-family:Georgia,Times New Roman,serif;font-size:1.3rem;font-weight:700;display:grid;box-shadow:inset 0 0 0 1px #ffffff1f}.eyebrow{color:#2d7651;letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.primary-button{color:#fff;cursor:pointer;background:#1c5a3a;border:0;border-radius:.75rem;width:100%;min-height:3rem;font-weight:750;transition:background .16s,transform .16s,box-shadow .16s}.primary-button:hover:not(:disabled){background:#14472e;transform:translateY(-1px);box-shadow:0 .55rem 1.25rem #183d2b2e}.primary-button:disabled{cursor:wait;opacity:.65}.text-button{color:#2b6a4b;cursor:pointer;background:0 0;border:0;padding:0;font-size:.78rem;font-weight:700}.text-button:hover{text-decoration:underline}.icon-button{color:#65736b;cursor:pointer;background:0 0;border:0;border-radius:.65rem;flex:none;place-items:center;width:2.35rem;height:2.35rem;display:grid}.icon-button:hover{color:#173c29;background:#edf2ed}.icon-button svg,.new-chat-button svg,.mobile-menu-button svg,.send-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.25rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.global-alert{z-index:100;color:#6f421c;background:#fff8ef;border:1px solid #e7c49d;border-radius:.7rem;max-width:min(90vw,36rem);padding:.8rem 1rem;font-size:.88rem;position:fixed;top:.75rem;left:50%;transform:translate(-50%);box-shadow:0 .6rem 1.8rem #46342326}.app-loader{place-content:center;justify-items:center;gap:1.4rem;min-height:100dvh;display:grid}.auth-page{background:radial-gradient(circle at 18% 18%,#e4efe3e6,#0000 32rem),#edf3ec;grid-template-columns:minmax(0,1.08fr) minmax(25rem,.92fr);min-height:100dvh;display:grid}.auth-intro{flex-direction:column;justify-content:center;max-width:50rem;min-height:100dvh;padding:clamp(3rem,7vw,7rem);display:flex}.brand-lockup{color:#183d2b;letter-spacing:.12em;align-items:center;gap:.8rem;margin-bottom:clamp(4rem,10vh,7rem);font-size:.88rem;font-weight:850;display:flex}.auth-intro>.eyebrow{margin-bottom:1.1rem}.auth-intro h1{color:#173929;letter-spacing:-.045em;max-width:43rem;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.7rem,5.5vw,5.35rem);font-weight:500;line-height:.98}.auth-intro-copy{color:#52645a;max-width:37rem;margin:1.7rem 0 0;font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.75}.scope-note{align-items:flex-start;gap:.75rem;max-width:34rem;margin-top:2.3rem;display:flex}.scope-note p{color:#65736b;margin:.05rem 0 0;font-size:.88rem;line-height:1.55}.scope-icon{color:#23603f;background:#d9eadc;border-radius:50%;flex:none;place-items:center;width:1.45rem;height:1.45rem;font-size:.75rem;font-weight:900;display:grid}.auth-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fafbf8d6;border-left:1px solid #dbe4da;place-items:center;min-height:100dvh;padding:clamp(1.5rem,5vw,5rem);display:grid}.auth-card{background:#fff;border:1px solid #dfe5dd;border-radius:1.15rem;width:min(100%,27rem);padding:2rem;box-shadow:0 1.5rem 4.5rem #203f2d1a}.auth-tabs{background:#f0f3ee;border-radius:.75rem;grid-template-columns:1fr 1fr;padding:.28rem;display:grid}.auth-tabs button{color:#6a746d;cursor:pointer;background:0 0;border:0;border-radius:.55rem;min-height:2.45rem;font-size:.83rem;font-weight:750}.auth-tabs button.active{color:#173c29;background:#fff;box-shadow:0 .15rem .55rem #183d2b1a}.auth-card-heading{margin:2rem 0 1.6rem}.auth-card-heading h2{color:#173929;letter-spacing:-.025em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.8rem;font-weight:500}.auth-card-heading p{color:#758078;margin:.45rem 0 0;font-size:.88rem}.auth-form{flex-direction:column;display:flex}.auth-form label,.password-label{color:#3b4b42;font-size:.8rem;font-weight:750}.password-label{justify-content:space-between;align-items:center;margin-top:1.05rem;display:flex}.auth-form>label:not(:first-child){margin-top:1.05rem}.auth-form input{color:#1f3328;background:#fbfcfa;border:1px solid #cfd8d0;border-radius:.7rem;outline:none;width:100%;height:3rem;margin-top:.45rem;padding:0 .85rem;transition:border .15s,box-shadow .15s,background .15s}.auth-form input:focus{background:#fff;border-color:#478366;box-shadow:0 0 0 3px #47836621}.auth-form .primary-button{margin-top:1.3rem}.form-message{border-radius:.55rem;margin:.85rem 0 -.35rem;padding:.7rem .8rem;font-size:.8rem;line-height:1.45}.form-message.error{color:#7a312b;background:#fff0ee}.form-message.success{color:#245d3d;background:#edf8f0}.privacy-copy{color:#8a928c;text-align:center;margin:1.25rem 0 0;font-size:.72rem;line-height:1.5}.chat-app{background:#f8faf7;grid-template-columns:18.5rem minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.chat-sidebar{z-index:20;background:#f0f4ef;border-right:1px solid #dce4dc;flex-direction:column;min-height:0;padding:1.2rem .9rem .85rem;display:flex;position:relative}.sidebar-brand{align-items:center;gap:.75rem;padding:.25rem .35rem 1.35rem;display:flex}.sidebar-brand .brand-mark{border-radius:.65rem;width:2.3rem;height:2.3rem;font-size:1.15rem}.sidebar-brand div{flex-direction:column;gap:.12rem;min-width:0;display:flex}.sidebar-brand strong{color:#183d2b;letter-spacing:.1em;font-size:.78rem}.sidebar-brand span:not(.brand-mark){color:#778079;font-size:.72rem}.new-chat-button{color:#1d5136;cursor:pointer;background:#fff;border:1px solid #cbd8ce;border-radius:.72rem;align-items:center;gap:.65rem;width:100%;min-height:2.75rem;padding:0 .85rem;font-size:.82rem;font-weight:750;display:flex;box-shadow:0 .1rem .35rem #1e412a0d}.new-chat-button:hover{background:#fbfdfb;border-color:#9db8a6}.conversation-section{flex:1;min-height:0;margin-top:1.5rem}.sidebar-label{color:#8a938c;letter-spacing:.09em;text-transform:uppercase;margin:0 0 .6rem;padding:0 .55rem;font-size:.66rem;font-weight:800}.conversation-list{flex-direction:column;gap:.16rem;max-height:100%;display:flex;overflow-y:auto}.conversation-list button{color:#536159;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:.6rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.55rem;width:100%;padding:.7rem .6rem;display:grid}.conversation-list button:hover:not(:disabled),.conversation-list button.active{color:#193c2a;background:#e1eae1}.conversation-list button:disabled{cursor:default}.conversation-list button>span{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:650;overflow:hidden}.conversation-list time{color:#929a94;font-size:.63rem}.empty-history{color:#89928c;margin:.8rem .55rem;font-size:.76rem;line-height:1.5}.sidebar-account{border-top:1px solid #dce4dc;align-items:center;gap:.65rem;padding:.85rem .25rem 0;display:flex}.account-avatar{color:#28563d;background:#d5e5d8;border-radius:50%;flex:none;place-items:center;width:2.1rem;height:2.1rem;font-size:.78rem;font-weight:800;display:grid}.account-copy{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.account-copy strong{color:#3d4c43;font-size:.72rem}.account-copy span{color:#8a938d;text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;overflow:hidden}.chat-workspace{background:linear-gradient(#f8faf7f2,#f8faf7f2),radial-gradient(circle at 50% 25%,#d9e8d9,#0000 28rem);grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.chat-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fcfdfbe0;border-bottom:1px solid #e2e8e1;align-items:center;gap:.85rem;min-height:4.65rem;padding:.75rem clamp(1rem,3vw,2rem);display:flex}.chat-header>div{flex:1;min-width:0}.chat-header-label{color:#8b958e;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .2rem;font-size:.63rem;font-weight:800}.chat-header h1{color:#263b2f;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.93rem;font-weight:750;overflow:hidden}.course-grounded-badge{color:#45705a;background:#f5faf5;border:1px solid #d4e2d6;border-radius:999px;align-items:center;gap:.42rem;padding:.38rem .65rem;font-size:.65rem;font-weight:750;display:flex}.course-grounded-badge i{background:#48a26d;border-radius:50%;width:.42rem;height:.42rem;box-shadow:0 0 0 3px #48a26d1f}.mobile-menu-button{color:#42564a;background:0 0;border:0;border-radius:.6rem;flex:none;place-items:center;width:2.4rem;height:2.4rem;display:none}.messages-region{scroll-behavior:smooth;min-height:0;overflow-y:auto}.messages-inner{width:min(100%,52rem);min-height:100%;margin:0 auto;padding:clamp(1.5rem,4vw,3.2rem) clamp(1rem,4vw,2.4rem)}.chat-welcome{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100%;padding:1rem 0 3rem;display:flex}.welcome-mark{border-radius:1.15rem;width:3.8rem;height:3.8rem;margin-bottom:1.4rem;font-size:1.8rem;box-shadow:0 1rem 2.4rem #183d2b29,inset 0 0 0 1px #ffffff1f}.chat-welcome h2{color:#1d3c2b;letter-spacing:-.035em;margin:.75rem 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,4vw,2.65rem);font-weight:500}.chat-welcome>p:not(.eyebrow,.welcome-limit){color:#69776f;max-width:35rem;margin:.8rem 0 0;font-size:.9rem;line-height:1.65}.suggestion-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;width:100%;margin-top:2.1rem;display:grid}.suggestion-grid button{color:#46584d;text-align:left;cursor:pointer;background:#ffffffb8;border:1px solid #dce5dc;border-radius:.85rem;justify-content:space-between;align-items:flex-start;gap:.65rem;min-height:6.3rem;padding:.95rem;font-size:.77rem;line-height:1.45;transition:border .15s,transform .15s,background .15s;display:flex}.suggestion-grid button:hover{background:#fff;border-color:#a9c2af;transform:translateY(-2px)}.suggestion-grid button span:last-child{color:#609173;font-size:.9rem}.welcome-limit{color:#949d96;margin:1.15rem 0 0;font-size:.7rem}.message-list{flex-direction:column;gap:1.45rem;display:flex}.message-row{align-items:flex-start;gap:.75rem;display:flex}.message-row.user{justify-content:flex-end;padding-left:min(14vw,8rem)}.message-row.assistant{padding-right:min(9vw,5rem)}.message-avatar{color:#f6faf6;background:#1c4d33;border-radius:.6rem;flex:none;place-items:center;width:2rem;height:2rem;font-family:Georgia,Times New Roman,serif;font-size:.92rem;font-weight:700;display:grid}.message-content{min-width:0}.message-bubble{color:#32453a;white-space:pre-wrap;font-size:.9rem;line-height:1.7}.message-row.user .message-content{max-width:39rem}.message-row.user .message-bubble{color:#eef5ef;background:#315f45;border-radius:1rem 1rem .25rem;padding:.7rem .95rem;line-height:1.55}.message-row.guardrail .message-bubble{background:#fffaf0;border:1px solid #e4d8bd;border-radius:.75rem;padding:.85rem 1rem}.message-row.message-error .message-bubble{color:#7a312b}.message-status{color:#929c95;text-align:right;margin-top:.35rem;font-size:.65rem;display:block}.source-list{flex-wrap:wrap;gap:.35rem;margin-top:.7rem;display:flex}.source-list span{color:#5d7667;background:#f6f9f5;border:1px solid #d8e2d9;border-radius:999px;padding:.3rem .55rem;font-size:.62rem;font-weight:750}.typing-indicator{align-items:center;gap:.25rem;padding:.75rem .9rem;display:flex}.typing-indicator span,.history-loader>span:not(.sr-only){background:#71917d;border-radius:50%;width:.34rem;height:.34rem;animation:1.15s ease-in-out infinite typing}.typing-indicator span:nth-child(2),.history-loader>span:nth-child(2){animation-delay:.15s}.typing-indicator span:nth-child(3),.history-loader>span:nth-child(3){animation-delay:.3s}.history-loader{justify-content:center;align-items:center;gap:.3rem;min-height:8rem;display:flex}.history-error{color:#7a312b;background:#fff0ee;border-radius:.65rem;margin:0 0 1rem;padding:.75rem .9rem;font-size:.8rem}@keyframes typing{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.composer-region{background:#fafcf9f0;border-top:1px solid #e5eae4;padding:.8rem clamp(1rem,4vw,2.4rem) .7rem}.composer{background:#fff;border:1px solid #cfdad0;border-radius:.95rem;align-items:flex-end;gap:.55rem;width:min(100%,47rem);min-height:3.35rem;margin:0 auto;padding:.45rem .45rem .45rem .85rem;transition:border .15s,box-shadow .15s;display:flex;box-shadow:0 .4rem 1.4rem #21452d12}.composer:focus-within{border-color:#79a087;box-shadow:0 0 0 3px #4783661a,0 .4rem 1.4rem #21452d12}.composer textarea{resize:none;color:#2b3e33;background:0 0;border:0;outline:0;flex:1;width:100%;min-height:2.35rem;max-height:8rem;padding:.52rem 0;font-size:.88rem;line-height:1.35}.composer textarea::placeholder{color:#9aa29c}.send-button{color:#fff;cursor:pointer;background:#1d5b3a;border:0;border-radius:.72rem;flex:none;place-items:center;width:2.45rem;height:2.45rem;display:grid}.send-button:hover:not(:disabled){background:#15472e}.send-button:disabled{color:#aeb9b1;cursor:default;background:#edf1ed}.composer-note{color:#9aa29c;text-align:center;margin:.48rem auto 0;font-size:.61rem}.modal-backdrop{z-index:90;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#11271b8a;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.onboarding-dialog{background:#fff;border:1px solid #fff6;border-radius:1.25rem;width:min(100%,38rem);max-height:calc(100dvh - 2rem);padding:clamp(1.6rem,5vw,2.5rem);overflow-y:auto;box-shadow:0 2rem 6rem #08180f47}.onboarding-mark{margin-bottom:1.4rem}.onboarding-dialog>.eyebrow{margin-bottom:.7rem}.onboarding-dialog h2{color:#1a3b29;letter-spacing:-.035em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.75rem,4vw,2.35rem);font-weight:500}.onboarding-intro{color:#66746b;margin:.9rem 0 0;font-size:.88rem;line-height:1.65}.onboarding-columns{grid-template-columns:1fr 1fr;gap:.8rem;margin:1.6rem 0;display:grid}.onboarding-columns>div{background:#f5faf5;border:1px solid #dce7dd;border-radius:.8rem;padding:1rem}.onboarding-columns>.limits-column{background:#fcfaf5;border-color:#e8e0d2}.onboarding-columns h3{color:#28543b;align-items:center;gap:.45rem;margin:0;font-size:.76rem;display:flex}.limits-column h3{color:#745f3b}.onboarding-columns ul{color:#68766d;margin:.7rem 0 0;padding-left:1rem;font-size:.72rem;line-height:1.6}.onboarding-dialog>.primary-button{width:auto;min-width:15rem;padding:0 1.25rem}.sidebar-scrim{display:none}@media (width<=860px){.auth-page{grid-template-columns:1fr}.auth-intro{min-height:auto;padding:3rem 1.5rem 2.5rem}.brand-lockup{margin-bottom:3.5rem}.auth-panel{background:#f8faf7;border-top:1px solid #dbe4da;border-left:0;min-height:auto;padding:1.5rem 1rem 3rem}.chat-app{grid-template-columns:1fr}.chat-sidebar{width:min(88vw,19rem);height:100dvh;transition:transform .18s;position:fixed;inset:0 auto 0 0;transform:translate(-105%);box-shadow:1rem 0 3rem #12291b29}.chat-sidebar.open{transform:translate(0)}.sidebar-scrim{z-index:15;background:#12261a59;border:0;padding:0;display:block;position:fixed;inset:0}.mobile-menu-button{display:grid}.suggestion-grid{grid-template-columns:1fr}.suggestion-grid button{min-height:auto}}@media (width<=540px){.auth-intro h1{font-size:2.65rem}.auth-card{padding:1.35rem}.chat-header{min-height:4.2rem;padding:.65rem .8rem}.course-grounded-badge{padding:.35rem;font-size:0}.messages-inner{padding:1.4rem .85rem}.chat-welcome{justify-content:flex-start;padding-top:1rem}.message-row.user{padding-left:2rem}.message-row.assistant{padding-right:0}.message-bubble{font-size:.85rem}.composer-region{padding:.6rem .7rem}.composer-note{display:none}.onboarding-columns{grid-template-columns:1fr}.onboarding-dialog>.primary-button{width:100%;min-width:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{color:#173c29;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;background:#f8faf7;font-family:Inter,Aptos,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #3e7c5947}button{-webkit-tap-highlight-color:transparent}::selection{color:#173c29;background:#cce2d1}
