/* Student support uses the academy's ink, paper and brass palette. */
.academy-help-launcher{position:fixed;right:22px;bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:80;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:12px 18px;border:1px solid #e6d0a8;border-radius:999px;background:#173d3e;color:#fffdf7;font:600 13px/1.4 var(--sans,Arial,sans-serif);box-shadow:0 5px 20px #102d2e30;cursor:pointer}
.academy-help-launcher svg,.academy-help-launcher .icon{width:23px;height:23px;flex-shrink:0}.academy-help-launcher:hover{background:#244f4d}.academy-help-launcher:focus-visible,.academy-assistant button:focus-visible,.academy-assistant a:focus-visible{outline:3px solid #b28d4d;outline-offset:3px}
.academy-teacher-card{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-block:26px;padding:25px;border:1px solid #d9d9cb;border-radius:12px;background:linear-gradient(130deg,#f5f0e2,#fffdf8);color:#173d3e}.academy-assistant-card-icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border:1px solid #c9b894;border-radius:13px;background:#fffdf8;color:#94713b}.academy-assistant-card-icon .icon,.academy-assistant-card-icon svg{width:26px;height:26px}.academy-assistant-card-copy{flex:1 1 260px;min-width:0}.academy-assistant-card-copy h2,.academy-assistant-card-copy h3{font-family:var(--serif,Georgia,serif);font-size:27px;line-height:1.2;letter-spacing:-.4px;margin:0 0 8px}.academy-assistant-card-copy p{max-width:68ch;font-size:14px;line-height:1.75;margin:0;color:#52625c}.academy-teacher-card>.button{flex-shrink:0;min-height:46px;padding:12px 18px;font-size:13px;line-height:1.5}.academy-certificate-card{background:#f0efe4}.mentor-copy .academy-teacher-card{gap:14px;padding:20px}.mentor-copy .academy-assistant-card-copy{flex-basis:200px}.mentor-copy .academy-teacher-card>.button{margin-left:60px}.course-prose [data-academy-certificate]{margin-top:20px;text-decoration:none;background:#dfc492;color:#173d3e}.course-prose [data-academy-certificate]:hover{background:#e8d4af}
.academy-assistant{box-sizing:border-box;position:fixed;inset:0;width:min(520px,calc(100vw - 32px));max-width:none;height:min(740px,calc(100dvh - 40px));max-height:calc(100dvh - 40px);margin:auto 24px 20px auto;padding:0;overflow:hidden;border:1px solid #e2ded1;border-radius:18px;background:#faf8f1;color:#173d3e;box-shadow:0 24px 80px #102d2e50;font:14px/1.6 var(--sans,Arial,sans-serif);text-align:left}
.academy-assistant[open]{display:flex;flex-direction:column}.academy-assistant::backdrop{background:#122a2b66;backdrop-filter:blur(2px)}.academy-assistant *,.academy-assistant *::before,.academy-assistant *::after{box-sizing:border-box}.academy-assistant [hidden]{display:none!important}.academy-assistant button,.academy-assistant input,.academy-assistant textarea,.academy-assistant select{font:inherit}.academy-assistant button,.academy-assistant a{-webkit-tap-highlight-color:transparent}.academy-assistant p,.academy-assistant h2,.academy-assistant h3{margin:0}.academy-assistant a{text-underline-offset:3px}.academy-assistant svg{width:21px;height:21px;flex-shrink:0}.academy-assistant button{cursor:pointer}.academy-assistant button:disabled{cursor:wait;opacity:.6}.academy-assistant button:disabled:hover{transform:none}.academy-assistant input,.academy-assistant textarea,.academy-assistant select{color:#173d3e}.academy-assistant textarea:focus,.academy-assistant input:focus,.academy-assistant select:focus{outline:2px solid #a88442;outline-offset:2px}
.aa-header{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:19px 20px;background:#173d3e;color:#fffdf7}.aa-brand-mark{display:grid;place-items:center;width:39px;height:39px;flex:0 0 39px;border:1px solid #d5b77c66;border-radius:50%;color:#dfc492}.aa-heading{min-width:0;flex:1}.academy-assistant .aa-heading h2{font-size:18px;font-weight:700;line-height:1.35;letter-spacing:-.3px;color:#fffdf7}.academy-assistant .aa-heading p{margin-top:3px;font-size:10px;line-height:1.6;color:#e0e5d9}.aa-close{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;padding:8px;border:1px solid #ffffff33;border-radius:50%;background:transparent;color:#fffdf7}.aa-close:hover{background:#ffffff14}.aa-content{display:flex;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.aa-panel{width:100%;padding:32px 27px;align-self:flex-start;display:flex;flex-direction:column;align-items:flex-start;gap:17px}.aa-panel-symbol{display:grid;place-items:center;width:58px;height:58px;background:#eee8d8;border:1px solid #dacbaa;border-radius:17px;color:#9b773c}.aa-panel-symbol svg{width:29px;height:29px}.academy-assistant .aa-panel h3{font-family:var(--serif,Georgia,serif);font-size:29px;font-weight:600;line-height:1.15;letter-spacing:-.5px}.academy-assistant .aa-panel p{font-size:14px;line-height:1.8;color:#52625c}.aa-panel-actions{display:flex;align-items:flex-start;flex-direction:column;gap:16px;margin-top:4px;width:100%}.aa-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:11px 18px;border:1px solid #173d3e;border-radius:8px;background:#173d3e;color:#fffdf7!important;font-weight:650!important;font-size:13px!important;line-height:1.4;text-decoration:none;text-align:center}.aa-primary:hover{background:#254e4b}.aa-text-link{font-size:13px;font-weight:600;color:#173d3e;text-decoration:underline}.aa-text-button{padding:6px 0;border:0;background:none;font-size:12px!important;color:#315956;text-decoration:underline;text-underline-offset:3px;text-align:left}.aa-label{display:block;font-size:12px;line-height:1.6;font-weight:700;color:#173d3e;margin-bottom:7px}.aa-input{display:block;width:100%;min-height:47px;padding:10px 12px;border:1px solid #c8cec5;border-radius:7px;background:#fffdf8;font-size:16px!important;line-height:1.5}.aa-certificate-form{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:10px}.aa-certificate-form .aa-label{margin:0}.academy-assistant .aa-small{font-size:10px;line-height:1.65;color:#52625c}.academy-assistant .aa-status{font-size:12px;line-height:1.7;color:#315651;overflow-wrap:anywhere}.aa-status:empty{display:none}.aa-status a{font-size:inherit}.aa-receipt{width:100%;padding:16px;background:#edf1e4;border:1px solid #ced7bf;border-radius:8px}.aa-receipt strong{font-size:13px;line-height:1.6}.academy-assistant .aa-receipt p{font-size:12px;line-height:1.65;margin-top:5px;overflow-wrap:anywhere}.aa-course-name{padding:8px 11px;background:#eee9dc;border-radius:6px;font-weight:600;width:100%}
.aa-chat{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;width:100%;overflow:hidden}.aa-course-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 20px;background:#edeadf;flex-shrink:0;font-size:11px;font-weight:650;line-height:1.5}.aa-course-bar span{min-width:0}.aa-course-bar button{flex-shrink:0}.academy-assistant .aa-disclosure{padding:11px 20px;border-bottom:1px solid #e2ded1;color:#586860;font-size:10px;line-height:1.6;flex-shrink:0}.aa-messages{flex:1;min-height:130px;overflow-y:auto;overscroll-behavior:contain;padding:20px;display:flex;flex-direction:column;gap:17px;scrollbar-width:thin;scrollbar-color:#c4cec3 transparent}.aa-message{max-width:93%;align-self:flex-start;border:1px solid #e0dfd3;border-radius:3px 13px 13px 13px;padding:11px 14px;background:#fffdf8;color:#173d3e;overflow-wrap:anywhere;flex-shrink:0}.aa-message-user{align-self:flex-end;background:#e8eedf;border-color:#d7dfcc;border-radius:13px 3px 13px 13px}.aa-message-author{display:block;font-size:9px;line-height:1.5;letter-spacing:.45px;font-weight:700;text-transform:uppercase;color:#63735f;margin-bottom:7px}.academy-assistant .aa-message p{font-size:13px;line-height:1.8;white-space:pre-wrap;margin:0}.aa-sent-artwork{display:block;width:auto;max-width:100%;max-height:140px;object-fit:contain;border-radius:6px;margin-bottom:8px}.aa-prompts{display:flex;gap:7px;overflow-x:auto;overscroll-behavior-x:contain;padding:4px 20px 12px;scrollbar-width:thin;flex-shrink:0}.aa-prompt{max-width:250px;flex-shrink:0;min-height:35px;border:1px solid #cdd5c9;padding:7px 11px;border-radius:999px;background:#faf9f4;font-size:10px!important;line-height:1.5;color:#315751;white-space:normal;text-align:left}.aa-prompt:hover{background:#edf0e5}.aa-composer{padding:13px 20px 15px;background:#fffdf8;border-top:1px solid #e1dfd2;display:flex;flex-direction:column;gap:8px;flex-shrink:0}.aa-message-input{display:block;width:100%;min-height:67px;max-height:145px;resize:vertical;border:1px solid #c8cfc3;border-radius:8px;background:#fffdf8;padding:10px 12px;font-size:16px!important;line-height:1.5}.aa-message-input::placeholder{color:#75816f;font-size:13px}.aa-composer-toolbar{display:flex;align-items:center;gap:10px}.aa-send{min-height:40px;min-width:85px;padding:9px 12px}.aa-send svg{width:16px;height:16px}.aa-character-count{font-size:9px;color:#65725e;margin-left:auto}.aa-attach{display:inline-flex;align-items:center;gap:7px;padding:8px 0;border:0;background:none;color:#315951;font-size:11px!important;line-height:1.5}.aa-attach svg{width:18px;height:18px}.aa-image-preview{display:flex;align-items:center;gap:9px;padding:8px;border:1px solid #d9dece;border-radius:7px;background:#f0f1e8}.aa-image-preview img{width:44px;height:44px;object-fit:contain;background:#fffdf8;border-radius:3px;flex-shrink:0}.aa-image-preview>span{font-size:10px;line-height:1.5;overflow-wrap:anywhere;min-width:0;flex:1}.aa-image-preview button{font-size:10px!important;flex-shrink:0}.aa-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
html:has(.academy-assistant[open]){overflow:hidden}
@media(max-width:760px){.academy-help-launcher{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));min-height:46px;padding:10px 14px;gap:7px;font-size:11px}.academy-help-launcher svg,.academy-help-launcher .icon{width:21px;height:21px}.academy-teacher-card{gap:13px;padding:20px;margin-block:21px}.academy-assistant-card-icon{flex-basis:40px;width:40px;height:40px;border-radius:11px}.academy-assistant-card-copy{flex-basis:calc(100% - 54px)}.academy-assistant-card-copy h2,.academy-assistant-card-copy h3{font-size:25px}.academy-assistant-card-copy p{font-size:12px;line-height:1.75}.academy-teacher-card>.button{width:100%;margin:0!important}.academy-assistant{width:min(520px,calc(100vw - 20px));height:min(740px,calc(100dvh - 20px - env(safe-area-inset-bottom,0px)));max-height:calc(100dvh - 20px - env(safe-area-inset-bottom,0px));margin:auto auto calc(10px + env(safe-area-inset-bottom,0px));border-radius:15px}.aa-header{padding:15px;gap:10px}.aa-brand-mark{width:34px;height:34px;flex-basis:34px}.academy-assistant .aa-heading h2{font-size:17px}.academy-assistant .aa-heading p{font-size:9px}.aa-panel{padding:25px 21px}.aa-messages{padding:16px;gap:14px}.aa-prompts{padding-inline:16px}.aa-composer{padding:12px 16px 14px}.academy-assistant .aa-disclosure{padding:10px 16px;font-size:9px}.aa-course-bar{padding-inline:16px}.aa-message{max-width:95%;padding:10px 12px}.aa-message-input{min-height:66px;max-height:100px}.academy-assistant .aa-small{font-size:9px}}
@media(max-height:600px){.academy-assistant{height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);margin-block:6px}.aa-header{padding-block:10px}.aa-brand-mark{display:none}.aa-prompts{display:none}.aa-messages{min-height:70px;padding-block:12px}.aa-composer{padding-block:10px;gap:6px}.aa-message-input{min-height:47px;height:47px;max-height:70px}.academy-assistant .aa-disclosure{padding-block:7px}.aa-course-bar{padding-block:5px}}
@media(prefers-reduced-motion:no-preference){.academy-help-launcher{transition:background .18s ease,box-shadow .18s ease}.academy-help-launcher:hover{box-shadow:0 6px 22px #102d2e45}.academy-assistant[open]{animation:aa-appear .18s ease-out}@keyframes aa-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}

.aa-session-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px 12px;flex-shrink:0;max-width:48%}.aa-session-actions .aa-text-button{font-size:10px!important;line-height:1.4;padding-block:4px}

/* Larger close/submit targets remain reachable on touch screens. */
@media(max-width:760px){.aa-close{width:44px;height:44px}.aa-send{min-height:44px}.aa-attach,.aa-text-button{min-height:44px;display:inline-flex;align-items:center}.aa-course-bar{flex-wrap:wrap}.aa-session-actions{max-width:100%}}
