/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
@layer isp.theme-base,isp.tokens,isp.components;@layer isp.tokens{:root{--isp-bg:#ffffff;--isp-bg-sunken:#f4f4f5;--isp-bg-raised:#ffffff;--isp-fg:#18181b;--isp-fg-muted:#52525b;--isp-fg-subtle:#71717a;--isp-border:#e4e4e7;--isp-border-strong:#d4d4d8;--isp-border-focus:#2563eb;--isp-focus-ring:#dbeafe;--isp-primary:#2563eb;--isp-primary-hover:#1d4ed8;--isp-primary-soft:#dbeafe;--isp-primary-strong:#1e40af;--isp-secondary:#1d4ed8;--isp-primary-50:#eff6ff;--isp-primary-300:#93c5fd;--isp-primary-400:#60a5fa;--isp-secondary-50:#eef2ff;--isp-accent-teal:#0d9488;--isp-danger:#dc2626;--isp-success:#059669;--isp-font-body:system-ui,-apple-system,"Segoe UI",sans-serif;--isp-text-xs:12px;--isp-text-sm:14px;--isp-text-base:16px;--isp-text-md:18px;--isp-text-lg:20px;--isp-text-xl:24px;--isp-text-2xl:30px;--isp-sp-1:4px;--isp-sp-2:8px;--isp-sp-3:12px;--isp-sp-4:16px;--isp-sp-5:24px;--isp-sp-6:32px;--isp-radius-sm:6px;--isp-radius-md:10px;--isp-shadow-lg:0 12px 28px rgb(0 0 0 / 0.15);--isp-dur-2:200ms;--isp-warn:#d97706;--isp-on-primary:#ffffff;--isp-radius-lg:16px;--isp-radius-pill:999px;--isp-shadow-xs:0 1px 2px rgb(0 0 0 / 0.06);--isp-shadow-md:0 4px 12px rgb(0 0 0 / 0.1);--isp-shadow-card:0 1px 2px rgb(0 0 0 / 0.05),0 4px 12px -4px rgb(0 0 0 / 0.08);--isp-shadow-card-hover:0 2px 4px rgb(0 0 0 / 0.04),0 18px 36px -14px rgb(0 0 0 / 0.2);--isp-border-soft:rgb(0 0 0 / 0.08);--isp-surface-card:#fff;--isp-gradient-accent:linear-gradient(90deg,#2563eb,#1e40af);--isp-gradient-secondary:#1e40af;--isp-glow-secondary:none;--isp-font-mono:ui-monospace,"SF Mono",Menlo,monospace;--isp-dur-1:120ms;--isp-container-narrow:840px;}}
.text-align-left{text-align:left;}.text-align-right{text-align:right;}.text-align-center{text-align:center;}.text-align-justify{text-align:justify;}.align-left{float:left;}.align-right{float:right;}.align-center{display:block;margin-right:auto;margin-left:auto;}
.container-inline div,.container-inline label{display:inline-block;}.container-inline .details-wrapper{display:block;}
.clearfix::after{display:table;clear:both;content:"";}.nowrap{white-space:nowrap;}
.hidden{display:none;}.visually-hidden{position:absolute !important;overflow:hidden;clip:rect(1px,1px,1px,1px);width:1px;height:1px;word-wrap:normal;}.visually-hidden.focusable:active,.visually-hidden.focusable:focus-within{position:static !important;overflow:visible;clip:auto;width:auto;height:auto;}.invisible{visibility:hidden;}
.js .js-hide{display:none;}.js-show{display:none;}.js .js-show{display:block;}
:root{--ai-font-size-base:var(--font-size-base);--ai-font-size-s:var(--font-size-s);--ai-font-size-xs:var(--font-size-xs);--ai-font-size-xxs:var(--font-size-xxs);--ai-font-size-h1:var(--font-size-h1);--ai-font-size-h2:var(--font-size-h2);--ai-font-size-h3:var(--font-size-h3);--ai-font-size-h4:var(--font-size-h4);--ai-font-size-h5:var(--font-size-h5);--ai-font-size-h6:var(--font-size-h6);--ai-text-color-muted:var(--color-text-light);--ai-icon-size:1.25rem;--ai-icon-size-lg:2rem;}.ai-font-size-base{font-size:var(--ai-font-size-base);}.ai-font-size-s{font-size:var(--ai-font-size-s);}.ai-font-size-xs{font-size:var(--ai-font-size-xs);}.ai-font-size-xxs{font-size:var(--ai-font-size-xxs);}.ai-text-muted{color:var(--ai-text-color-muted);}.ai-description{font-size:var(--ai-font-size-xs);line-height:1.25;color:var(--ai-text-color-muted);hyphens:none;text-wrap:balance;}.ai-heading-h1{font-size:var(--ai-font-size-h1);}.ai-heading-h2{font-size:var(--ai-font-size-h2);}.ai-heading-h3{font-size:var(--ai-font-size-h3);}.ai-heading-h4{font-size:var(--ai-font-size-h4);}.ai-heading-h5{font-size:var(--ai-font-size-h5);}.ai-heading-h6{font-size:var(--ai-font-size-h6);}select.ai-select,select.ai-select--narrow,select.ai-select--wide{max-width:200px;}select.ai-select--narrow{max-width:150px;}select.ai-select--wide{max-width:300px;}.ai-icon-button{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:calc(var(--ai-icon-size) + 0.5rem);height:calc(var(--ai-icon-size) + 0.5rem);padding:0.25rem;color:var(--gin-icon-color,var(--ai-text-color-muted));text-decoration:none;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:var(--ai-icon-size) var(--ai-icon-size);border:1px solid var(--color-gray-200,rgba(0,0,0,0.08));border-radius:var(--gin-border-m,0.5rem);transition:background-color 0.15s var(--gin-easing,cubic-bezier(0.19,1,0.22,1)),border-color 0.15s var(--gin-easing,cubic-bezier(0.19,1,0.22,1));cursor:pointer;}.ai-icon-button:hover{background-color:var(--color-gray-100,rgba(0,0,0,0.06));border-color:var(--color-gray-200,rgba(0,0,0,0.08));}.ai-icon-button:focus{outline:none;}.ai-icon-button:focus-visible{background-color:var(--color-gray-100,rgba(0,0,0,0.06));outline:2px solid var(--gin-color-focus,var(--color-focus,#007dfacc));outline-offset:2px;}.ai-icon-button:active{background-color:var(--color-gray-200,rgba(0,0,0,0.12));border-color:var(--color-gray-300,rgba(0,0,0,0.15));}.ai-icon-button--lg{--ai-icon-size:var(--ai-icon-size-lg);}.ai-icon{display:inline-block;flex-shrink:0;width:var(--ai-icon-size);height:var(--ai-icon-size);background-repeat:no-repeat;background-position:center;background-size:100%;}.ai-icon--lg{--ai-icon-size:var(--ai-icon-size-lg);}.ai-icon--provider{background-image:url(/modules/contrib/ai/assets/icons/plugs.svg);}.ai-icon--model{background-image:url(/modules/contrib/ai/assets/icons/cube.svg);}.ai-icon--external{background-image:url(/modules/contrib/ai/assets/icons/external.svg);}.ai-icon--settings{background-image:url(/modules/contrib/ai/assets/icons/gear.svg);}.ai-icon--supported{background-image:url(/modules/contrib/ai/assets/icons/checkmark-circle.svg);}.ai-icon--not-supported{background-image:url(/modules/contrib/ai/assets/icons/x-circle.svg);}.ai-icon--warning{background-image:url(/modules/contrib/ai/assets/icons/warning.svg);}.ai-icon--option{background-image:url(/modules/contrib/ai/assets/icons/option.svg);}.ai-icon--arrow-left-up{background-image:url(/modules/contrib/ai/assets/icons/arrow-left-up.svg);}.ai-icon--cloud-arrow-down{background-image:url(/modules/contrib/ai/assets/icons/cloud-arrow-down.svg);}.ai-icon--file{background-image:url(/modules/contrib/ai/assets/icons/file.svg);}.ai-icon--trash{background-image:url(/modules/contrib/ai/assets/icons/trash.svg);}.ai-icon--thumbs-up{background-image:url(/modules/contrib/ai/assets/icons/thumbs-up.svg);}.ai-icon--thumbs-down{background-image:url(/modules/contrib/ai/assets/icons/thumbs-down.svg);}.ai-pill{font-size:var(--gin-font-size-xxs,.75rem);font-weight:var(--gin-font-weight-semibold,600);display:inline-block;padding:.125em .75em;vertical-align:.125em;border:1px solid transparent;border-radius:var(--gin-border-l,.75rem);color:var(--messages-fg-color);background:var(--messages-bg-color);text-transform:capitalize;}.ai-pill.light{color:var(--gin-status-text,white);background:var(--gin-status-bg,var(--color-gray-400));}.ai-pill.success{color:var(--gin-status-success-text,var(--messages-fg-color));background-color:var(--gin-status-success-bg,var(--messages--status-color));}.ai-pill.danger{color:var(--gin-status-danger-text,var(--messages-fg-color));background:var(--gin-status-danger-bg,var(--messages--error-color));}.ai-pill.warning{color:var(--gin-status-warning-text,var(--messages-fg-color));background:var(--gin-status-warning-bg,var(--messages--warning-color));}.ai-tooltip{margin:0px;inset:auto;position-area:bottom right;position-try-fallbacks:flip-inline;border:1px solid var(--gin-border-color,var(--color-gray-100,#dbdbdb));padding:var(--gin-spacing-xxs,4px) var(--gin-spacing-xs,8px);color:var(--gin-color-text-light,var(--color-gray-800,#55565b));font-size:var(--font-size-xs);border-radius:var(--gin-border-s,6px);box-shadow:2px 4px 8px var(--gin-color-primary-light,rgba(0,0,0,0.15));max-width:16rem;}
@layer isp.theme-base,isp.tokens,isp.components;@layer isp.components{.isp-course{margin-block:1.5rem;}.isp-course__summary p{margin-block:.25rem 0;color:var(--isp-fg-muted);}.isp-course__bar{height:.5rem;border-radius:999px;background:var(--isp-bg-sunken);overflow:hidden;}.isp-course__bar span{display:block;height:100%;background:var(--isp-primary);}.isp-course__lessons{list-style:none;counter-reset:lesson;padding:0;display:grid;gap:.5rem;}.isp-course__action{margin-block-end:.75rem;}.isp-course__lesson{counter-increment:lesson;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:1px solid var(--isp-border);border-radius:var(--isp-radius-md);background:var(--isp-bg-raised);}.isp-course__lesson::before{content:counter(lesson);min-width:1.75rem;height:1.75rem;display:grid;place-items:center;border-radius:50%;background:var(--isp-bg-sunken);font-weight:600;}.isp-course__lesson.is-done::before{content:"✓";background:var(--isp-success);color:var(--isp-on-primary);}.isp-course__lesson.is-started::before{background:var(--isp-primary);color:var(--isp-on-primary);}.isp-course__lesson a{flex:1;text-decoration:none;}.isp-course__state{color:var(--isp-fg-muted);font-size:var(--isp-text-sm);}.isp-course-nav{padding:14px 10px;display:grid;gap:10px;}.isp-course-nav__course{display:block;padding:10px 12px;font-weight:600;color:var(--isp-fg);text-decoration:none;border-radius:var(--isp-radius-sm);}.isp-course-nav__course:hover{background:var(--isp-bg-sunken);}.isp-course-nav__course.is-current{background:var(--isp-primary-soft);color:var(--isp-primary-strong);}.isp-course-nav .isp-course__bar{margin-inline:12px;}.isp-course-nav ol{list-style:none;margin:0;padding:0;}.isp-course-nav__lessons{display:grid;gap:4px;counter-reset:lesson;}.isp-course-nav__lesson{counter-increment:lesson;}.isp-course-nav__lesson summary{display:flex;align-items:center;gap:10px;padding:10px 12px;min-height:44px;border-radius:var(--isp-radius-sm);cursor:pointer;list-style:none;font-weight:500;}.isp-course-nav__lesson summary::-webkit-details-marker{display:none;}.isp-course-nav__lesson summary::before{content:counter(lesson);flex-shrink:0;width:1.5rem;height:1.5rem;display:grid;place-items:center;border-radius:50%;background:var(--isp-bg-sunken);font-size:var(--isp-text-xs);font-weight:600;}.isp-course-nav__lesson.is-done summary::before{content:"✓";background:var(--isp-success);color:var(--isp-on-primary);}.isp-course-nav__lesson.is-started summary::before{background:var(--isp-primary);color:var(--isp-on-primary);}.isp-course-nav__lesson summary:hover{background:var(--isp-bg-sunken);}.isp-course-nav__lesson.is-current > details > summary{background:var(--isp-primary-soft);color:var(--isp-primary-strong);font-weight:600;}.isp-course-nav__title{flex:1;}.isp-course-nav__count{color:var(--isp-fg-muted);font-size:var(--isp-text-xs);}.isp-course-nav__parts{display:grid;gap:2px;padding:4px 0 6px 2.25rem !important;}.isp-course-nav__parts a{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--isp-radius-sm);color:var(--isp-fg);text-decoration:none;font-size:var(--isp-text-sm);}.isp-course-nav__parts a::before{content:"";width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--isp-border);}.isp-course-nav__parts .is-done a::before{content:"✓";width:auto;height:auto;background:none;color:var(--isp-success);font-size:var(--isp-text-xs);}.isp-course-nav__parts a:hover{background:var(--isp-bg-sunken);}.isp-course-nav__parts .is-current a{background:var(--isp-primary-soft);color:var(--isp-primary-strong);font-weight:600;}.dashboard-course-card__progress{display:grid;gap:.35rem;}.dashboard-course-card__progress p{margin:0;color:var(--isp-fg-muted);font-size:var(--isp-text-sm);}}
@layer isp.theme-base,isp.tokens,isp.components;@layer isp.components{.lesson-content-scroller:has(#lesson-part){overflow:hidden;display:flex;flex-direction:column;padding-bottom:0;}.lesson-content-scroller:has(#lesson-part) :is(.lesson-panel--text.is-active,.course-content,.content-reading-area,.content-reading-area > div,.content-reading-area > div > div:has(#lesson-part)){display:flex;flex-direction:column;flex:1;min-height:0;}.lesson-part{flex:1;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:1rem;}.lesson-part--done{grid-template-rows:minmax(0,1fr) auto;}.lesson-part__body{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:.25rem;view-transition-name:lesson-part-body;}.lesson-part__title{margin:0;font-size:calc(1.6rem * var(--isp-text-scale,1));}.lesson-part__body{font-size:calc(1.2rem * var(--isp-text-scale,1));}.lesson-part__body .explanation-content{font-size:1em;}.lesson-part__title:focus{outline:none;}.lesson-part__title:focus-visible{outline:2px solid var(--isp-primary);outline-offset:4px;}.lesson-part__video{display:none;min-height:0;overflow-y:auto;align-content:start;gap:1rem;}.lesson-part__video video{width:100%;height:auto;max-height:max(12rem,calc(100dvh - 25rem));aspect-ratio:16 / 9;background:#000;border-radius:var(--isp-radius-md);}.lesson-part__video-done{justify-self:end;padding:.6rem 1.25rem;border:0;border-radius:var(--isp-radius-pill);background:var(--isp-primary);color:var(--isp-on-primary);font-weight:600;cursor:pointer;}.lesson-part__video-done:hover{filter:brightness(.95);}:root[data-lesson-mode="video"] .lesson-part[data-has-video] .lesson-part__body{display:none;}:root[data-lesson-mode="video"] .lesson-part[data-has-video] .lesson-part__video{display:grid;}.lesson-part__nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0 calc(.75rem + env(safe-area-inset-bottom));border-top:1px solid var(--isp-border);background:var(--isp-bg);}.lesson-part__position{color:var(--isp-fg-muted);font-size:var(--isp-text-sm);}.lesson-part__step{display:grid;place-items:center;width:3rem;height:3rem;border-radius:var(--isp-radius-pill);border:1px solid var(--isp-border);background:var(--isp-bg-raised);color:var(--isp-fg);font-size:calc(1.5rem * var(--isp-text-scale,1));line-height:1;text-decoration:none;transition:background var(--isp-dur-1),transform var(--isp-dur-1);}.lesson-part__step:hover{background:var(--isp-bg-sunken);}.lesson-part__step:active{transform:scale(.94);}.lesson-part__step.is-primary{background:var(--isp-primary);border-color:var(--isp-primary);color:var(--isp-on-primary);}.lesson-part__step.is-disabled{opacity:.35;}.lesson-part__step.htmx-request{opacity:.6;}@media (max-width:48rem){.lesson-part__title{font-size:calc(1.3rem * var(--isp-text-scale,1));}.lesson-part__body{font-size:calc(1rem * var(--isp-text-scale,1));}}.lesson-part.htmx-request .lesson-part__body,.htmx-request .lesson-part__body{opacity:.7;transition:opacity var(--isp-dur-1);}.lesson-done{display:grid;justify-items:center;gap:1rem;padding:2rem 1rem;text-align:center;}.lesson-done__badge{display:grid;place-items:center;width:5rem;height:5rem;border-radius:50%;background:var(--isp-bg-sunken);font-size:calc(1.75rem * var(--isp-text-scale,1));font-weight:600;}.lesson-done.is-finished .lesson-done__badge{background:var(--isp-success);color:var(--isp-on-primary);animation:isp-pop .5s cubic-bezier(.2,1.4,.4,1) both;}.lesson-done__course{margin:0;color:var(--isp-fg-muted);}.lesson-done__bar{width:min(24rem,100%);}.lesson-done__bar span{width:var(--to);animation:isp-fill 1s .3s ease-out both;}.lesson-done__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;}@keyframes isp-fill{from{width:var(--from);}to{width:var(--to);}}@keyframes isp-pop{from{transform:scale(.4);opacity:0;}to{transform:scale(1);opacity:1;}}::view-transition-old(lesson-part-body){animation:isp-part-out .18s ease-in both;}::view-transition-new(lesson-part-body){animation:isp-part-in .24s ease-out both;}@keyframes isp-part-out{to{opacity:0;transform:translateX(-1.5rem);}}@keyframes isp-part-in{from{opacity:0;transform:translateX(1.5rem);}}@media (prefers-reduced-motion:reduce){::view-transition-old(lesson-part-body),::view-transition-new(lesson-part-body),.lesson-done__bar span,.lesson-done.is-finished .lesson-done__badge{animation:none;}}}
