/* Prof Kahier: a quiet, friendly companion beside the current activity. */
.assistant-launcher, .kahier-assistant { --prof-forest:var(--ks-264d3a); --prof-leaf:var(--ks-487254); --prof-coral:var(--ks-b9694d); --prof-cream:var(--ks-fcfaf4); --prof-line:var(--ks-e4e8dc); --prof-type:KahierNunito,Nunito,Roboto,sans-serif; }
.assistant-launcher { position:fixed; right:24px; bottom:24px; z-index:45; display:flex; align-items:center; gap:11px; padding:8px 20px 8px 8px; border:1px solid var(--ks-ffffffb3); border-radius:40px; background:var(--prof-forest); color:var(--kt-fff); box-shadow:0 3px 0 var(--ks-173b2b),0 10px 30px var(--ks-24483530),0 0 0 5px var(--ks-ffffff80); font:800 16px/1.25 var(--prof-type); cursor:pointer; text-align:left; min-height:65px; transition:transform .18s ease,box-shadow .18s ease; }
.assistant-launcher-icon { position:relative; display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:var(--ks-f8e8bf); flex:none; }
.assistant-launcher-icon img { width:62px; height:62px; max-width:none; transform:rotate(-9deg); transition:transform .2s ease; }
.assistant-launcher small { display:block; margin-top:3px; font:400 11px/1.4 Roboto,sans-serif; color:var(--kt-d8e7d4); }
.assistant-launcher-chat { position:absolute; top:-7px; right:3px; display:grid; place-items:center; width:27px; height:27px; border-radius:50%; background:var(--ks-e8b18f); border:2px solid var(--ks-fffdf4); color:var(--kt-543e2e); transform:rotate(10deg); }
.assistant-launcher-chat svg { width:15px; height:15px; }
.assistant-launcher:hover { transform:translateY(-3px); box-shadow:0 3px 0 var(--ks-173b2b),0 14px 32px var(--ks-2448353d),0 0 0 5px var(--ks-ffffff80); }
.assistant-launcher:hover .assistant-launcher-icon img { transform:rotate(0deg); }
.assistant-launcher.has-reply:after { content:''; position:absolute; top:0; left:2px; width:13px; height:13px; background:var(--ks-e6a272); border:3px solid var(--ks-fff); border-radius:50%; }
.assistant-launcher:focus-visible,.kahier-assistant :focus-visible { outline:3px solid var(--ks-c08053); outline-offset:3px; }
.has-prof-kahier .learning-main { padding-bottom:120px; }
.kahier-assistant { position:fixed; inset:auto 24px 108px auto; margin:0; padding:0; width:min(458px,calc(100vw - 32px)); max-width:none; height:min(700px,calc(100dvh - 130px)); max-height:none; border:1px solid var(--ks-ffffffc2); border-radius:27px; background:var(--prof-cream); color:var(--kt-2c4333); box-shadow:0 20px 70px var(--ks-1a392b30),0 2px 12px var(--ks-1a392b14); overflow:hidden; z-index:46; font-family:Roboto,sans-serif; }
.kahier-assistant[open] { animation:prof-reveal .22s ease-out; transform-origin:bottom right; }
.kahier-assistant .assistant-frame { height:100%; display:flex; flex-direction:column; min-height:0; }
.assistant-header { position:relative; display:flex; align-items:center; gap:11px; padding:17px 20px; background:var(--prof-forest); flex-shrink:0; color:var(--kt-ffffff); overflow:hidden; }
.assistant-header:before,.assistant-header:after { content:''; position:absolute; width:150px; height:150px; border:1px solid var(--ks-ffffff0d); border-radius:50%; right:-40px; top:-85px; pointer-events:none; }
.assistant-header:after { width:195px; height:195px; right:-63px; top:-108px; }
.assistant-emblem { position:relative; display:grid; place-items:center; width:48px; height:48px; background:var(--ks-faf0d6); box-shadow:0 0 0 4px var(--ks-ffffff0c); border-radius:17px; flex:none; transform:rotate(-4deg); }
.assistant-emblem img { width:57px; height:57px; max-width:none; }
.assistant-identity { min-width:0; }
.kahier-assistant .assistant-header h2 { display:flex; align-items:center; gap:8px; font:900 22px/1.2 var(--prof-type); letter-spacing:-.7px; margin:0; color:var(--kt-fffdf3); white-space:nowrap; }
.assistant-ai-badge { font:700 9px/1 Roboto,sans-serif; letter-spacing:.3px; color:var(--kt-f6dfb4); background:var(--ks-ffffff0c); border:1px solid var(--ks-f6dfb438); border-radius:5px; padding:4px 5px; }
.kahier-assistant .assistant-header p { font-size:11px; line-height:1.4; margin:4px 0 0; color:var(--kt-d0e0c8); }
.assistant-close,.assistant-restart { position:relative; display:grid; place-items:center; flex:none; border:1px solid var(--ks-ffffff1f); background:var(--ks-ffffff0b); color:var(--kt-f4f6ea); width:33px; height:33px; border-radius:50%; cursor:pointer; padding:0; transition:background .15s; }
.assistant-close svg,.assistant-restart svg { width:18px; height:18px; }
.assistant-restart,.assistant-close { margin-left:auto; }
.assistant-restart:not([hidden])+.assistant-close { margin-left:-5px; }
.assistant-close:hover,.assistant-restart:hover { background:var(--ks-ffffff26); }
.assistant-context { flex-shrink:0; background:var(--ks-f0f2e7); border-bottom:1px solid var(--ks-e3e6d9); font-size:11px; line-height:1.4; }
.assistant-context>summary { display:flex; align-items:center; gap:8px; padding:10px 20px; cursor:pointer; list-style:none; }
.assistant-context>summary::-webkit-details-marker { display:none; }
.assistant-context-book { display:grid; place-items:center; color:var(--kt-607752); flex:none; }
.assistant-context-book svg { width:16px; height:16px; }
.assistant-scope { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--kt-536747); }
.assistant-context-chevron { margin-left:auto; flex:none; color:var(--kt-728369); }
.assistant-context-chevron svg { width:15px; height:15px; display:block; }
.assistant-context[open] .assistant-context-chevron { transform:rotate(180deg); }
.assistant-context>div { padding:0 20px 14px; }
.assistant-context small { display:block; font-size:11px; line-height:1.5; color:var(--kt-6e7964); margin-top:8px; }
.assistant-choice-label { display:block; margin-bottom:6px; color:var(--kt-4f674e); }
.assistant-choice { width:100%; border:1px solid var(--ks-cfdbc7); border-radius:10px; background:var(--ks-fff); color:var(--kt-365239); font:inherit; padding:10px; min-height:42px; }
.kahier-assistant .assistant-context-title { font-size:11px; line-height:1.4; margin:8px 0; }
.assistant-course-link { display:block; color:var(--kt-356b4e); text-decoration:underline; text-underline-offset:3px; font-size:12px; line-height:1.6; overflow-wrap:anywhere; margin-top:5px; }
.assistant-body { padding:20px; overflow:auto; flex:1; min-height:0; overscroll-behavior:contain; scroll-padding:16px; scrollbar-width:thin; scrollbar-color:var(--ks-cbd7bf) transparent; background-image:radial-gradient(var(--ks-42624910) .65px,transparent .65px); background-size:15px 15px; }
.assistant-body:has(.assistant-message) { background-image:none; }
.assistant-welcome { position:relative; display:flex; align-items:center; gap:5px; padding:0 0 3px; }
.assistant-welcome-copy { position:relative; z-index:1; flex:1; min-width:0; }
.assistant-welcome-note { display:block; width:fit-content; font:600 10px/1.4 Roboto,sans-serif; color:var(--kt-68794f); margin-bottom:8px; }
.assistant-welcome-note:before { content:'✦'; color:var(--kt-b88956); margin-right:6px; font-size:11px; }
.assistant-welcome h3 { font:900 29px/1.1 var(--prof-type); letter-spacing:-1px; color:var(--kt-2d513b); margin:0 0 9px; }
.assistant-welcome h3 span { color:var(--prof-coral); }
.kahier-assistant .assistant-welcome p { font-size:12px; line-height:1.55; color:var(--kt-6c7963); margin:0; max-width:260px; }
.assistant-welcome-art { position:relative; display:grid; place-items:center; flex:none; width:112px; height:122px; margin:0 3px 0 0; }
.assistant-welcome-art:before { content:''; position:absolute; inset:19px 2px 7px; background:var(--ks-eaf0db); border-radius:41% 59% 61% 39%/54% 44% 56% 46%; transform:rotate(-13deg); }
.assistant-welcome-art img { position:relative; width:130px; height:130px; max-width:none; transform:rotate(-8deg); }
.assistant-art-orbit { position:absolute; inset:11px -1px 0; border:1px dashed var(--ks-c6d3b4); border-radius:50%; transform:rotate(-25deg); }
.assistant-art-spark { position:absolute; right:-3px; top:8px; color:var(--kt-a27042); font-size:28px; transform:rotate(15deg); }
.assistant-suggestions { display:grid; gap:9px; margin-top:18px; }
.assistant-prompt { --prompt-bg:var(--ks-f0f4e8); --prompt-icon:var(--ks-e2ecd4); --prompt-ink:var(--kt-527243); display:flex; align-items:center; gap:11px; width:100%; min-height:51px; border:1px solid var(--ks-dce4d2); border-bottom-width:2px; border-radius:14px; background:var(--ks-fffffff0); color:var(--kt-3e5540); padding:8px 11px; text-align:left; font:400 14px/1.5 Roboto,sans-serif; cursor:pointer; transition:transform .15s,background .15s,border-color .15s; }
.assistant-prompt-2 { --prompt-bg:var(--ks-fff8e8); --prompt-icon:var(--ks-faedc8); --prompt-ink:var(--kt-927134); }
.assistant-prompt-3 { --prompt-bg:var(--ks-fff3ec); --prompt-icon:var(--ks-f6e1d3); --prompt-ink:var(--kt-a76648); }
.assistant-prompt-icon { display:grid; place-items:center; width:33px; height:33px; border-radius:10px; background:var(--prompt-icon); color:var(--prompt-ink); flex:none; }
.assistant-prompt-icon svg { width:20px; height:20px; }
.assistant-prompt-label { flex:1; }
.assistant-prompt-arrow { display:grid; place-items:center; width:24px; height:24px; color:var(--kt-819073); flex:none; transition:transform .15s; }
.assistant-prompt-arrow svg { width:17px; height:17px; }
.assistant-prompt:hover { background:var(--prompt-bg); border-color:var(--ks-c5d0b6); transform:translateX(2px); }
.assistant-prompt:hover .assistant-prompt-arrow { transform:translateX(2px); }
.assistant-prompt:active { transform:translateY(1px); }
.assistant-messages:empty { display:none; }
.assistant-message { margin:0 20px 18px 0; padding:15px 17px; border:1px solid var(--ks-e1e6da); border-radius:20px 20px 20px 5px; background:var(--ks-fff); box-shadow:0 3px 10px var(--ks-2d4c3504); overflow-wrap:anywhere; animation:prof-message .2s ease-out; }
.assistant-message-user { background:var(--prof-forest); border-color:var(--prof-forest); margin:0 0 18px 44px; border-radius:20px 20px 5px 20px; box-shadow:0 3px 10px var(--ks-2448350b); }
.assistant-message-heading { display:flex; align-items:center; gap:7px; margin-bottom:9px; }
.assistant-message-avatar { display:grid; place-items:center; width:25px; height:25px; background:var(--ks-f6edd6); border-radius:8px; flex:none; }
.assistant-message-avatar img { width:30px; height:30px; max-width:none; }
.assistant-message .assistant-author { font:800 11px/1.3 var(--prof-type); letter-spacing:.1px; color:var(--kt-587348); }
.assistant-message-user .assistant-author { color:var(--kt-cddfc1); }
.kahier-assistant .assistant-message p { font-size:14px; line-height:1.75; white-space:pre-wrap; margin:0; color:var(--kt-364c3a); }
.kahier-assistant .assistant-message-user p { color:var(--kt-fffdf4); }
.kahier-assistant .assistant-message .assistant-next-question { margin-top:13px; padding:11px 12px; border-left:3px solid var(--ks-d4a16f); border-radius:0 10px 10px 0; background:var(--ks-faf5e9); color:var(--kt-4c5d3f); }
.assistant-answer-sources { border-top:1px dashed var(--ks-e0e6d7); margin-top:13px; padding-top:10px; font-size:10px; color:var(--kt-6c7e5f); }
.assistant-answer-sources summary { cursor:pointer; width:fit-content; }
.kahier-assistant .assistant-status { font-size:12px; line-height:1.5; color:var(--kt-6c7e5e); margin:10px 0 0; padding:0 2px; }
.assistant-status:empty { display:none; }
.is-busy .assistant-status { display:flex; align-items:center; gap:8px; }
.is-busy .assistant-status:before { content:'•••'; letter-spacing:3px; font-size:18px; color:var(--kt-9aae81); animation:prof-thinking 1.2s ease-in-out infinite; }
.assistant-footer { padding:12px 18px 11px; background:var(--ks-fffef9); border-top:1px solid var(--ks-e5e8dc); box-shadow:0 -7px 22px var(--ks-fcfaf4a6); flex-shrink:0; }
.assistant-form>label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.assistant-compose { display:flex; align-items:flex-end; gap:8px; border:1.5px solid var(--ks-ced8bf); border-radius:18px; background:var(--ks-fff); padding:8px; box-shadow:0 3px 0 var(--ks-e9ede1); transition:border-color .2s,box-shadow .2s; }
.assistant-compose:focus-within { border-color:var(--ks-789966); box-shadow:0 3px 0 var(--ks-d5e2c8),0 0 0 3px var(--ks-a8bf8818); }
.assistant-form textarea { width:100%; resize:none; min-height:48px; max-height:110px; border:0; background:transparent; color:var(--kt-2b4433); font:400 14px/1.6 Roboto,sans-serif; padding:5px 6px; box-sizing:border-box; }
.assistant-form textarea::placeholder { color:var(--kt-909884); }
.assistant-form textarea:focus-visible { outline:0; }
.assistant-compose button { display:grid; place-items:center; width:38px; height:38px; flex:none; border:0; border-radius:12px; background:var(--prof-coral); box-shadow:0 2px 0 var(--ks-945039); color:var(--kt-fff); cursor:pointer; transition:background .15s,transform .15s; }
.assistant-compose button:hover:not(:disabled) { background:var(--ks-a2553b); transform:translateY(-1px); }
.assistant-compose svg { width:21px; height:21px; }
.assistant-compose .assistant-attach { background:var(--ks-edf2e5); color:var(--kt-527047); box-shadow:none; border:1px solid var(--ks-dce5d1); width:36px; }
.assistant-compose .assistant-attach:hover:not(:disabled) { background:var(--ks-dfe9d2); }
.assistant-form textarea { min-width:0; }
.kahier-assistant .assistant-photo-hint { margin:9px 2px 0; color:var(--kt-6a795f); font-size:10px; line-height:1.5; }
.assistant-photo-draft { display:flex; align-items:center; gap:10px; padding:9px; margin-bottom:10px; border:1px solid var(--ks-dce4d1); border-radius:14px; background:var(--ks-f1f5e9); }
.assistant-photo-draft img { width:46px; height:58px; object-fit:contain; background:var(--ks-fff); border-radius:5px; flex:none; }
.assistant-photo-thumbnail { border:0; padding:0; background:transparent; flex:none; cursor:zoom-in; border-radius:5px; }
.assistant-photo-thumbnail img { display:block; }
.assistant-photo-draft>div { flex:1; min-width:0; }
.assistant-photo-draft strong { display:block; font:800 13px/1.4 var(--prof-type); color:var(--kt-3d6345); }
.assistant-photo-draft span { display:block; font-size:11px; line-height:1.45; margin-top:3px; color:var(--kt-69755d); }
.assistant-photo-remove { display:grid; place-items:center; border:0; border-radius:50%; color:var(--kt-587147); background:var(--ks-e3ebd7); width:36px; height:36px; flex:none; cursor:pointer; }
.assistant-photo-remove svg { width:17px; height:17px; }
.assistant-message-photo { display:block; max-width:100%; border:0; padding:0; border-radius:8px; margin-top:12px; background:var(--ks-fff); cursor:zoom-in; }
.assistant-message-photo img { display:block; max-width:100%; max-height:180px; width:auto; height:auto; object-fit:contain; border-radius:8px; }
.assistant-photo-viewer { padding:14px; border:1px solid var(--ks-dce4d1); border-radius:18px; background:var(--ks-fffdf7); max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); box-sizing:border-box; }
.assistant-photo-viewer::backdrop { background:var(--ks-132d24b3); }
.assistant-photo-viewer img { display:block; max-width:100%; max-height:calc(100dvh - 115px); object-fit:contain; margin:auto; }
.assistant-photo-viewer>button { display:block; margin:0 0 12px auto; border:1px solid var(--ks-d0dcc6); border-radius:10px; padding:10px 14px; background:var(--ks-edf3e5); color:var(--kt-36583e); cursor:pointer; font:600 14px/1.4 Roboto,sans-serif; }
.assistant-photo-viewer :focus-visible { outline:3px solid var(--ks-b9694d); outline-offset:3px; }
.assistant-photo-source { display:block; font-size:12px; padding-top:7px; color:var(--kt-607548); }
.assistant-photo-source:before { content:'▧'; margin-right:6px; }
.assistant-form:has(.assistant-photo-draft:not([hidden])) .assistant-compose-hint { display:none; }
.assistant-compose-hint { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-top:9px; color:var(--kt-7a886d); font-size:9px; line-height:1.4; }
.assistant-enter-hint { display:flex; align-items:center; gap:3px; color:var(--kt-929b88); }
.assistant-enter-hint svg { width:13px; height:13px; }
.assistant-about { margin-top:7px; font-size:9px; color:var(--kt-7c8672); line-height:1.5; }
.assistant-about summary { cursor:pointer; text-align:center; }
.kahier-assistant .assistant-privacy,.kahier-assistant .assistant-adult { font-size:11px; line-height:1.6; margin:9px 0 0; color:var(--kt-65725d); }
.assistant-about[open] { max-height:120px; overflow:auto; }
.kahier-assistant .assistant-error { color:var(--ktk-9a482d); background:var(--ksk-fbede5); border-radius:12px; padding:10px 12px; font-size:13px; line-height:1.6; margin:12px 0; }
.assistant-error:empty { display:none; }
.assistant-reload { font:inherit; font-size:13px; border:1px solid var(--ks-cfdbc7); border-radius:10px; padding:12px; background:var(--ks-ffffff); color:var(--kt-365239); cursor:pointer; }
.assistant-access p,.assistant-unavailable p { font-size:14px; line-height:1.65; }
.assistant-unavailable h3 { font:800 20px/1.4 var(--prof-type); margin:0 0 12px; }
.assistant-unavailable { padding:18px; border:1px solid var(--ks-dce4d1); border-radius:15px; background:var(--ks-f5f8ed); }
.kahier-assistant [hidden] { display:none!important; }
.kahier-assistant button:disabled { opacity:.5; cursor:default; }
@keyframes prof-reveal { from { opacity:0; transform:translateY(9px) scale(.985); } to { opacity:1; transform:none; } }
@keyframes prof-message { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }
@keyframes prof-thinking { 50% { opacity:.4; transform:translateY(-1px); } }
@media(max-width:900px) {
  .assistant-launcher { bottom:calc(88px + env(safe-area-inset-bottom)); right:16px; }
  .kahier-assistant { inset:auto 16px calc(169px + env(safe-area-inset-bottom)) auto; height:min(700px,calc(100dvh - 188px - env(safe-area-inset-bottom))); }
  .has-prof-kahier .learning-main { padding-bottom:185px; }
}
@media(max-width:600px) {
  .assistant-launcher { padding:7px 17px 7px 7px; gap:9px; min-height:58px; font-size:15px; }
  .assistant-launcher-icon { width:42px; height:42px; }.assistant-launcher-icon img { width:53px; height:53px; }
  .assistant-launcher small { font-size:10px; }.assistant-launcher-chat { width:24px; height:24px; }
  .assistant-launcher[aria-expanded=true] { display:none; }
  .kahier-assistant { width:calc(100vw - 24px); right:12px; bottom:calc(86px + env(safe-area-inset-bottom)); height:min(700px,calc(100dvh - 104px - env(safe-area-inset-bottom))); border-radius:24px; }
  .assistant-header { padding:14px 15px; gap:9px; }.assistant-emblem { width:43px; height:43px; border-radius:14px; }.assistant-emblem img { width:50px; height:50px; }
  .kahier-assistant .assistant-header h2 { font-size:20px; gap:6px; }.kahier-assistant .assistant-header p { font-size:10px; }
  .assistant-close,.assistant-restart { width:36px; height:40px; }.assistant-restart:not([hidden])+.assistant-close { margin-left:-6px; }
  .assistant-context>summary { padding:10px 15px; }
  .assistant-body { padding:18px 15px; }.assistant-welcome h3 { font-size:28px; }.assistant-welcome-art { width:95px; height:115px; margin-right:0; }.assistant-welcome-art img { width:117px; height:117px; }
  .assistant-welcome-note { font-size:10px; }.kahier-assistant .assistant-welcome p { font-size:12px; max-width:190px; }
  .assistant-suggestions { gap:9px; margin-top:18px; }.assistant-prompt { gap:9px; font-size:14px; padding:9px; min-height:53px; }.assistant-prompt-icon { width:31px; height:31px; }.assistant-prompt-arrow { width:20px; }
  .assistant-message { padding:13px 14px; margin-right:12px; }.assistant-message-user { margin-left:32px; margin-right:0; }
  .assistant-footer { padding:11px 13px; }.assistant-compose { padding:7px; }.assistant-form textarea { font-size:16px; min-height:48px; }.assistant-enter-hint { display:none; }
}
@media(max-height:730px) {
  .assistant-header { padding-block:12px; }.assistant-body { padding-block:14px; }.assistant-welcome h3 { font-size:26px; }.assistant-welcome-art { height:102px; }.assistant-welcome-art img { width:110px; height:110px; }.assistant-welcome-note { margin-bottom:5px; }.assistant-suggestions { margin-top:14px; gap:7px; }.assistant-prompt { min-height:48px; padding-block:7px; }.assistant-footer { padding-block:10px; }.assistant-compose-hint { display:none; }
}
@media(max-height:560px) {
  .kahier-assistant { bottom:12px; height:calc(100dvh - 24px); }.assistant-header { padding-block:9px; }.assistant-welcome-art,.assistant-welcome-note { display:none; }.assistant-welcome h3 { font-size:22px; }.assistant-welcome h3 br { display:none; }.assistant-welcome h3 span:before { content:' '; }
}
@media(prefers-reduced-motion:reduce) {
  .assistant-launcher,.assistant-launcher *,.kahier-assistant,.kahier-assistant * { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
@media print { .assistant-launcher,.kahier-assistant { display:none!important; } }
.assistant-visual{background:var(--ks-fffdf7);border:1px solid var(--ks-e1dece);border-radius:12px;padding:14px;margin-top:14px}
.assistant-visual h4{margin:0 0 12px;font:800 17px/1.4 Nunito,sans-serif}.assistant-visual p{margin-top:10px;font-size:14px}.assistant-visual small{font-size:12px;line-height:1.5}
.assistant-clock .ce2-measure-clock-panel{max-width:200px;margin:auto}.assistant-clock svg{width:100%;height:auto}.assistant-clock .ce2-time-reading{padding:8px}.assistant-clock table{width:100%;border-collapse:collapse;font-size:12px;margin-top:12px}.assistant-clock td,.assistant-clock th{padding:8px 4px;text-align:center;border-bottom:1px solid var(--ks-e1dece)}
.assistant-base-ten{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.assistant-base-ten b{display:block;font-size:12px;margin-bottom:8px}.assistant-blocks{display:flex;flex-wrap:wrap;gap:5px;align-content:start;min-height:40px}.assistant-ten{display:grid;grid-template-columns:repeat(2,6px);gap:3px;border:1px solid var(--ks-3a7855);background:var(--ks-e1edd7);border-radius:5px;padding:4px}.assistant-ten i,.assistant-unit{display:block;width:6px;height:6px;background:var(--ks-397558);border-radius:50%}.assistant-unit{width:10px;height:10px;margin:4px}.assistant-hundred{display:grid;place-items:center;width:30px;height:30px;border:2px solid var(--ks-437655);border-radius:4px;background:repeating-linear-gradient(0deg,var(--ks-e2ecd9) 0 5px,var(--ks-cbdcbc) 5px 6px);font-size:11px;color:var(--kt-183927)}
.assistant-fraction-bar{display:grid;grid-template-columns:repeat(var(--parts),minmax(0,1fr));border:2px solid var(--ks-4a7054);height:44px;margin:8px 0}.assistant-fraction-bar i{border-right:1px solid var(--ksk-4a7054);background:var(--ks-ffffff)}.assistant-fraction-bar i:last-child{border:0}.assistant-fraction-bar .filled{background:var(--ks-9abb78)}.assistant-visual math{font-size:26px;vertical-align:middle;margin-right:6px}
.assistant-number-line{display:flex;overflow-x:auto;padding:20px 8px 8px}.assistant-number-line span{flex:1;min-width:28px;text-align:center;border-top:2px solid var(--ks-537356);font-size:12px;position:relative;padding-top:12px}.assistant-number-line i{position:absolute;top:-6px;left:50%;height:10px;border-left:2px solid var(--ks-537356)}.assistant-number-line .selected{font-weight:900;color:var(--kt-933d20)}.assistant-number-line .selected i{width:12px;height:12px;background:var(--ks-c0714c);border-radius:50%;border:0;transform:translateX(-5px)}
/* Keep the course readable on a phone while retaining a labelled help button. */
@media(max-width:600px){
  .assistant-launcher{width:58px;min-width:58px;height:58px;padding:7px;gap:0;justify-content:center;right:12px}
  .assistant-launcher-copy{display:none}
}
