:root{--bg:#f9fafb;--text-color:#111827;--text-muted:#6b7280;--border-color:#e5e7eb;--card-bg:#fff;--input-bg:#fff;--hover-bg:#f3f4f6;--primary:#3b82f6;--primary-hover:#2563eb;--primary-light:#dbeafe;--primary-dark:#1e40af;--cta:#16a34a;--cta-hover:#15803d;--brand-accent:#f59e0b;--brand-accent-hover:#d97706;--accent:var(--primary);--breadcrumb-color:#6b7280;--header-bg:var(--primary);--header-text:#fff;--footer-bg:#1e3a5f;--footer-text:#e2e8f0;--footer-muted:#94a3b8;--footer-link:#cbd5e1;--footer-link-hover:#fff;--matrix-row-bg:color-mix(in srgb,var(--primary) 12%,var(--card-bg));--matrix-cross-bg:color-mix(in srgb,var(--primary) 26%,var(--card-bg))}.dark{--bg:#111827;--text-color:#f9fafb;--text-muted:#9ca3af;--border-color:#374151;--card-bg:#1f2937;--input-bg:#1f2937;--hover-bg:#374151;--primary:#3b82f6;--primary-hover:#60a5fa;--primary-dark:#1e40af;--primary-light:color-mix(in srgb,var(--primary) 22%,transparent);--cta:#22c55e;--cta-hover:#16a34a;--accent:var(--primary);--breadcrumb-color:#9ca3af;--footer-bg:#0f172a;--footer-text:#cbd5e1;--footer-muted:#64748b;--footer-link:#94a3b8;--footer-link-hover:#f1f5f9;--header-bg:#1e3a5f;--header-text:#f1f5f9;--matrix-row-bg:color-mix(in srgb,var(--primary) 16%,var(--card-bg));--matrix-cross-bg:color-mix(in srgb,var(--primary) 32%,var(--card-bg))}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0;padding:0;min-height:100dvh;background:var(--bg);color:var(--text-color);line-height:1.5;font-size:16px}.site-main{max-width:900px;width:100%;min-width:0;margin-inline:auto;padding:1rem max(.75rem,env(safe-area-inset-right)) 2rem max(.75rem,env(safe-area-inset-left));box-sizing:border-box}@media (min-width:640px){.site-main{padding:1.25rem 1.5rem 2rem;padding-inline:max(1.5rem,env(safe-area-inset-left)) max(1.5rem,env(safe-area-inset-right))}}@media (min-width:1024px){.site-main{max-width:1280px;padding-inline:max(2.5rem,env(safe-area-inset-left)) max(2.5rem,env(safe-area-inset-right))}}.breadcrumb-nav{display:flex;flex-wrap:wrap;align-items:baseline;row-gap:.2rem;column-gap:0;max-width:100%}.breadcrumb-nav a{word-break:break-word}.legal-page{max-width:42rem;margin-inline:auto;padding-bottom:.5rem}.legal-page h1{font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:700;line-height:1.25;margin:0 0 .5rem;color:var(--text-color)}.legal-page h2{font-size:1.1rem;font-weight:600;margin:1.5rem 0 .5rem;color:var(--text-color)}.legal-page li,.legal-page p{margin:0 0 .65rem;color:var(--text-color)}.legal-page ul{margin:0 0 .75rem;padding-left:1.25rem}.legal-page li{margin-bottom:.4rem}.legal-page a{color:var(--link-color,#2563eb);text-decoration:underline;text-underline-offset:2px}.dark .legal-page a{color:#93c5fd}.legal-page a:hover{text-decoration-thickness:2px}.legal-page__updated{font-size:.9rem;color:var(--text-muted);margin-bottom:1rem!important}.legal-page__nav{margin-top:1.75rem;padding-top:1rem;border-top:1px solid var(--border-subtle,rgba(0,0,0,.08))}.dark .legal-page__nav{border-top-color:hsla(0,0%,100%,.1)}body.chat-route .site-main{max-width:min(1280px,100%)}body.ai-test-route .site-main{max-width:100%;padding-inline:0}body.lesson-call-route .site-main{max-width:100%;width:100%;margin-inline:0;padding:0;flex:1 1;min-height:0;box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:100;width:100%;border-bottom:none;background:var(--header-bg);color:var(--header-text);box-shadow:0 2px 8px rgba(0,0,0,.12)}.dark .site-header{box-shadow:0 2px 8px rgba(0,0,0,.4)}.site-header__inner{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;width:100%;min-height:4rem;padding:.5rem max(clamp(.75rem,2.5vw,1.5rem),env(safe-area-inset-right)) .65rem max(clamp(.75rem,2.5vw,1.5rem),env(safe-area-inset-left))}@media (min-width:640px){.site-header__inner{flex-wrap:wrap}}.site-header__logo{display:flex;align-items:center;flex-shrink:0;line-height:0;text-decoration:none;color:var(--header-text)}.site-header__logo:hover{opacity:.92}.site-header__logo-img{height:clamp(52px,12vw,72px);width:auto}.site-header__nav--desktop{display:none;flex-wrap:wrap;align-items:center;justify-content:center;flex:1 1 auto;gap:.15rem .25rem;min-width:0}@media (min-width:640px){.site-header__nav--desktop{display:flex}}.site-header__nav-link{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:.35rem .75rem;font-size:.9375rem;font-weight:500;color:var(--header-text);text-decoration:none;border-radius:8px;transition:background .15s ease,color .15s ease}.site-header__nav-link:hover{background:hsla(0,0%,100%,.15);color:#fff;text-decoration:none}.site-header__nav-link:focus-visible{outline:2px solid #fff;outline-offset:2px}.site-header__nav-link-icon{display:inline-flex;flex-shrink:0;opacity:.92}.site-header__nav-link-icon svg{display:block}.site-header__actions{display:flex;align-items:center;flex-shrink:0;gap:.5rem}@media (max-width:639px){.site-header__actions{margin-left:auto}}.site-header__menu-btn{display:none;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:1px solid hsla(0,0%,100%,.25);border-radius:10px;background:hsla(0,0%,100%,.12);color:var(--header-text);cursor:pointer;transition:background .15s ease,border-color .15s ease}.site-header__menu-btn:hover{background:hsla(0,0%,100%,.22);border-color:hsla(0,0%,100%,.4)}.site-header__menu-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}@media (max-width:639px){.site-header__menu-btn{display:inline-flex}}.site-header__backdrop{position:fixed;inset:0;z-index:199;margin:0;padding:0;border:none;background:rgba(15,23,42,.45);cursor:pointer;-webkit-tap-highlight-color:transparent}.site-header__drawer{position:fixed;top:0;right:0;bottom:0;z-index:200;display:flex;flex-direction:column;width:min(20rem,calc(100vw - 1.25rem));max-width:100%;background:var(--card-bg);color:var(--text-color);box-shadow:-8px 0 32px rgba(0,0,0,.18);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.dark .site-header__backdrop{background:rgba(0,0,0,.55)}.site-header__drawer-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-shrink:0;padding:.65rem 1rem;border-bottom:1px solid var(--border-color)}.site-header__drawer-title{font-size:1.05rem;font-weight:700}.site-header__drawer-close{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:-.25rem;padding:0;border:none;border-radius:10px;background:transparent;color:var(--text-muted);cursor:pointer}.site-header__drawer-close:hover{background:var(--hover-bg);color:var(--text-color)}.site-header__drawer-body{flex:1 1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.75rem 1rem 1.25rem}.site-header__drawer-nav{display:flex;flex-direction:column;gap:.15rem;margin-bottom:1rem}.site-header__drawer-link{display:flex;align-items:center;gap:.5rem;min-height:44px;padding:.45rem .5rem;border-radius:10px;text-decoration:none;color:var(--text-color);font-weight:500;font-size:.98rem}.site-header__drawer-link:hover{background:var(--hover-bg);text-decoration:none}.site-header__drawer-section-label{margin:0 0 .45rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.site-header__drawer-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.4rem;gap:.4rem;margin-bottom:1.1rem}.site-header__drawer-chip{display:flex;align-items:center;justify-content:center;min-height:40px;padding:.35rem;border-radius:10px;border:1px solid var(--border-color);background:var(--hover-bg);text-decoration:none;color:var(--text-color);font-weight:600;font-size:.9rem}.site-header__drawer-chip:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary-light) 40%,var(--card-bg));text-decoration:none}.site-header__drawer-subjects{list-style:none;margin:0;padding:0}.site-header__drawer-subjects li+li{margin-top:.15rem}.site-header__drawer-subject-link{display:flex;align-items:center;gap:.5rem;min-height:44px;padding:.35rem .5rem;border-radius:10px;text-decoration:none;color:var(--text-color);font-size:.95rem}.site-header__drawer-subject-link:hover{background:var(--hover-bg);text-decoration:none}.site-header__drawer-subject-emoji{flex-shrink:0;font-size:1.15rem;line-height:1}.site-header__drawer-subject-name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-header__theme{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:1px solid hsla(0,0%,100%,.25);border-radius:10px;background:hsla(0,0%,100%,.12);color:var(--header-text);cursor:pointer;font-size:1.2rem;line-height:1;transition:background .15s ease,border-color .15s ease}.site-header__theme:hover{background:hsla(0,0%,100%,.22);border-color:hsla(0,0%,100%,.4)}.subject-matrix-wrap{position:relative;width:100%;max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.subject-matrix{border-collapse:separate;border-spacing:0;width:100%;min-width:400px}@media (max-width:639px){.subject-matrix{min-width:360px;font-size:.8125rem}.subject-matrix__cell{padding:.35rem .45rem}.subject-matrix__link{padding:.25rem .45rem;font-size:.8rem}.subject-matrix__subject-cell{max-width:9.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}}.subject-matrix__cell{padding:.5rem .75rem;border-bottom:1px solid var(--border-color);transition:background-color .12s ease}.subject-matrix thead th{position:relative;z-index:1;box-shadow:0 1px 0 var(--border-color)}.subject-matrix-thead--placeholder{visibility:hidden}.subject-matrix-float-thead{position:fixed;z-index:90;pointer-events:none;box-sizing:border-box;background:var(--card-bg)}.subject-matrix-float-thead__inner{overflow:hidden;width:100%;pointer-events:none}.subject-matrix-float-thead__inner>div{pointer-events:auto}.subject-matrix-float-thead .subject-matrix thead th{box-shadow:0 1px 0 var(--border-color)}.subject-matrix tbody td.subject-matrix__subject-cell{position:-webkit-sticky;position:sticky;left:0;z-index:45;box-shadow:1px 0 0 var(--border-color)}.subject-matrix__head-cell{background:var(--card-bg);color:var(--text-color);font-weight:600}.subject-matrix__corner{text-align:left}.subject-matrix__head-num{text-align:center}.subject-matrix__subject-cell{text-align:left;font-weight:500;color:var(--text-color);background:var(--card-bg)}.subject-matrix__data-cell{text-align:center;background:var(--card-bg)}.subject-matrix__col-hover,.subject-matrix__row-hover{background:var(--matrix-row-bg)}.subject-matrix__row-hover.subject-matrix__col-hover{background:var(--matrix-cross-bg)}.subject-matrix__link{display:inline-block;padding:.35rem .6rem;background:var(--hover-bg);border-radius:6px;text-decoration:none;color:var(--accent);font-size:.9rem}.subject-matrix__link:hover{text-decoration:none}.subject-matrix__empty{color:var(--text-muted)}.textbook-list-search{margin-top:.25rem}.textbook-list-search__label{display:block;font-size:.9rem;font-weight:600;color:var(--text-color);margin-bottom:.4rem}.textbook-list-search__input{width:100%;max-width:min(28rem,100%);box-sizing:border-box;padding:.55rem .85rem;font-size:1rem;line-height:1.4;color:var(--text-color);background:var(--input-bg);border:1px solid var(--border-color);border-radius:10px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.textbook-list-search__input::placeholder{color:var(--text-muted)}.textbook-list-search__input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 28%,transparent)}.textbook-list-search__status{margin:.5rem 0 .85rem;font-size:.875rem;color:var(--text-muted)}.textbook-list-search__list{list-style:none;padding:0;margin:0}.textbook-list-search__item{margin-bottom:1rem}.textbook-list-search__item:last-child{margin-bottom:0}.textbook-list-search__card{display:flex;gap:1rem;padding:1rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;text-decoration:none;color:var(--text-color);transition:background .12s ease,border-color .12s ease}.textbook-list-search__card:hover{background:var(--hover-bg);border-color:color-mix(in srgb,var(--primary) 35%,var(--border-color));text-decoration:none}.textbook-list-search__cover{position:relative;width:80px;height:110px;flex-shrink:0;border-radius:6px;overflow:hidden;background:var(--hover-bg)}.textbook-list-search__cover-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--text-muted)}.textbook-list-search__meta{min-width:0}.textbook-list-search__title{font-weight:600}.textbook-list-search__authors{color:var(--text-muted);font-size:.9rem;margin-top:.2rem}.textbook-list-search__year{display:inline-block;color:var(--text-muted);font-size:.85rem;margin-top:.25rem}.textbook-list-search__empty{margin:.75rem 0 0;font-size:.9rem;color:var(--text-muted)}.header-dropdown{position:relative}.header-dropdown__trigger{gap:.3rem;cursor:pointer;background:transparent;border:none;color:var(--header-text);font:inherit;line-height:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}.header-dropdown__chevron{display:inline-flex;transition:transform .2s ease}.header-dropdown__chevron--open{transform:rotate(180deg)}.header-dropdown__menu{position:absolute;top:calc(100% + .35rem);left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.2rem;gap:.2rem;min-width:210px;padding:.5rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.14);z-index:200;animation:dropdown-appear .15s ease}@keyframes dropdown-appear{0%{opacity:0;transform:translateX(-50%) translateY(-4px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.header-dropdown__item{display:flex;align-items:center;justify-content:center;padding:.45rem .6rem;font-size:.88rem;font-weight:500;color:var(--text-color);text-decoration:none;border-radius:6px;transition:background .12s ease;white-space:nowrap}.header-dropdown__item:hover{background:var(--primary-light);color:var(--primary);text-decoration:none}.header-dropdown__menu.header-dropdown__menu--subjects{display:flex;flex-direction:column;gap:.2rem;padding:.45rem .4rem;min-width:min(280px,calc(100vw - 2rem));max-width:min(320px,calc(100vw - 2rem));max-height:min(70vh,420px);overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.header-dropdown__menu.header-dropdown__menu--subjects::-webkit-scrollbar{display:none;width:0;height:0}.header-dropdown__subjects-li{margin:0;padding:0;list-style:none}.header-dropdown__item--subject{justify-content:flex-start;text-align:left;gap:.45rem;width:100%;box-sizing:border-box;white-space:nowrap}.header-dropdown__subject-emoji{flex-shrink:0;font-size:1.1rem;line-height:1}.header-dropdown__subject-label{min-width:0;overflow:hidden;text-overflow:ellipsis}@media (max-width:639px){.header-dropdown__menu{left:0;transform:none;min-width:180px}.header-dropdown__menu.header-dropdown__menu--subjects{min-width:min(280px,calc(100vw - 2rem))}@keyframes dropdown-appear{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}}.search-bar,.search-bar__shell{position:relative;width:100%}.search-bar__shell{padding-right:clamp(88px,20vw,220px)}.search-bar__row{display:flex;gap:.5rem;align-items:stretch;width:100%}.search-bar__input{flex:1 1;min-width:0;padding:.75rem 1rem;font-size:1rem;line-height:1.4;border:1px solid var(--border-color,#d1d5db);border-radius:12px;background:var(--input-bg,#fff);color:var(--text-color,#111);-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-bar__input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 28%,transparent)}.search-bar__submit{padding:.75rem 1.25rem;font-size:1rem;font-weight:600;background:var(--cta,#16a34a);color:#fff;border:none;border-radius:12px;cursor:pointer;flex-shrink:0;min-height:44px}.search-bar__submit:hover{filter:brightness(1.05)}.search-bar__mascot{position:absolute;right:0;top:50%;transform:translateY(-50%);line-height:0;pointer-events:none}.search-bar__mascot-img{height:clamp(110px,24vw,170px);width:auto;max-width:min(200px,38vw);object-fit:contain}@media (max-width:639px){.search-bar__shell{padding-right:0;display:flex;flex-direction:column;align-items:center;gap:.65rem}.search-bar__row{flex-direction:column;gap:.5rem}.search-bar__submit{width:100%}.search-bar__mascot{position:relative;top:auto;right:auto;transform:none}.search-bar__mascot-img{height:clamp(72px,22vw,120px);max-width:160px}}.search-bar__dropdown{position:absolute;top:100%;left:0;right:0;margin:4px 0 0;padding:.5rem 0;list-style:none;background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:8px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);z-index:50;max-height:min(360px,55vh);overflow-y:auto;-webkit-overflow-scrolling:touch}.search-bar__dropdown-hint{padding:.5rem 1rem;font-size:.9rem;color:var(--text-muted,#6b7280)}.search-bar__dropdown-section{padding:.35rem 1rem .25rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted,#6b7280);list-style:none}.search-bar__dropdown-section--spaced{margin-top:.25rem}.search-bar__option{width:100%;padding:.55rem 1rem;text-align:left;border:none;background:transparent;cursor:pointer;font-size:.95rem;color:var(--text-color,#333);font-family:inherit}.search-bar__option--active{background:var(--hover-bg,#f3f4f6)}.search-bar__option--simple{padding:.6rem 1rem}.search-bar__option-title{font-weight:600;margin-bottom:2px}.search-bar__option-title-muted{font-weight:400;color:var(--text-muted,#4b5563)}.search-bar__option-task{font-size:.88rem;color:var(--text-color,#374151);margin-bottom:4px}.search-bar__option-snippet{font-size:.82rem;color:var(--text-muted,#6b7280);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.search-bar__option-emoji{margin-right:.35rem}.home-hero{margin-bottom:2rem}.home-hero__title{font-size:clamp(1.35rem,5vw + .5rem,1.75rem);margin:0 0 .4rem;line-height:1.25;-webkit-hyphens:auto;hyphens:auto}.home-hero__subtitle,.home-hero__title{word-wrap:break-word;overflow-wrap:break-word}.home-hero__subtitle{color:var(--text-muted);margin:0 0 1.25rem;line-height:1.5;font-size:clamp(.94rem,1.2vw,1.05rem)}.home-hero__search{width:100%}.home-section{margin-bottom:2.5rem}@media (max-width:639px){.home-section{margin-bottom:2rem}}.home-section__title{font-size:clamp(1.05rem,2vw,1.15rem);margin:0 0 1rem;line-height:1.3}.home-popular{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem}.home-popular__link{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .85rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;text-decoration:none;color:var(--text-color);font-size:.95rem;transition:border-color .15s ease,box-shadow .15s ease}.home-popular__link:hover{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light);text-decoration:none;color:var(--text-color)}@media (max-width:639px){.home-popular{gap:.4rem}.home-popular__link{padding:.45rem .6rem;font-size:.9rem;max-width:100%}}.home-seo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));grid-gap:1.25rem;gap:1.25rem}.home-seo__card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem 1.35rem;min-width:0}@media (max-width:639px){.home-seo__card{padding:1rem 1.1rem}}.home-seo__heading{font-size:1rem;font-weight:600;margin:0 0 .6rem;color:var(--text-color)}.home-seo__text{line-height:1.6}.home-seo__list,.home-seo__text{margin:0;font-size:.92rem;color:var(--text-muted)}.home-seo__list{padding-left:1.15rem;line-height:1.65}.home-seo__list li+li{margin-top:.25rem}.home-testimonials__intro{margin:-.35rem 0 1.15rem;font-size:.92rem;line-height:1.55;color:var(--text-muted);max-width:52rem}.home-testimonials__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));grid-gap:1rem;gap:1rem}.home-testimonials__card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1.1rem 1.2rem;min-width:0;display:flex;flex-direction:column;gap:.65rem}.home-testimonials__stars{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;font-size:.95rem;letter-spacing:.06em;color:#e6a000}.home-testimonials__score{font-size:.8rem;letter-spacing:normal;color:var(--text-muted);font-weight:500}.home-testimonials__text{margin:0;flex:1 1;font-size:.92rem;line-height:1.6;color:var(--text-muted)}.home-testimonials__footer{display:flex;flex-direction:column;gap:.15rem;padding-top:.35rem;border-top:1px solid var(--border-color)}.home-testimonials__name{font-size:.9rem;font-weight:600;color:var(--text-color)}.home-testimonials__class{font-size:.82rem;color:var(--text-muted)}.faq-accordion{margin:0;display:flex;flex-direction:column;gap:0}.faq-accordion__item{border-bottom:1px solid var(--border-color)}.faq-accordion__item:first-child{border-top:1px solid var(--border-color)}.faq-accordion__trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.9rem .25rem;background:none;border:none;cursor:pointer;text-align:left;gap:1rem;font:inherit;color:var(--text-color)}.faq-accordion__trigger:hover{color:var(--primary)}.faq-accordion__trigger:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;border-radius:4px}.faq-accordion__question{font-weight:600;font-size:.97rem;line-height:1.35}@media (max-width:639px){.faq-accordion__trigger{padding:.85rem .15rem;gap:.65rem}.faq-accordion__question{font-size:.93rem}.faq-accordion__answer{font-size:.9rem;margin-left:.1rem}}.faq-accordion__icon{display:inline-flex;flex-shrink:0;transition:transform .2s ease;color:var(--text-muted)}.faq-accordion__icon--open{transform:rotate(180deg)}.faq-accordion__answer{margin:0 0 .9rem .25rem;padding:0;color:var(--text-muted);font-size:.93rem;line-height:1.6}.site-footer{background:var(--footer-bg);color:var(--footer-text);margin-top:3rem}.site-footer__inner{max-width:1280px;margin-inline:auto;padding:2.5rem max(clamp(1rem,3vw,2.5rem),env(safe-area-inset-right)) max(1.5rem,env(safe-area-inset-bottom)) max(clamp(1rem,3vw,2.5rem),env(safe-area-inset-left))}.site-footer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:2rem 1.5rem;gap:2rem 1.5rem;margin-bottom:2rem}.site-footer__col{min-width:0}.site-footer__heading{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--footer-text);margin:0 0 .75rem}.site-footer__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.site-footer__list--inline{flex-direction:row;flex-wrap:wrap;gap:.35rem .65rem}.site-footer__list a{color:var(--footer-link);text-decoration:none;font-size:.9rem;transition:color .15s ease}.site-footer__list a:hover{color:var(--footer-link-hover);text-decoration:none}.site-footer__bottom{padding-top:1.5rem;border-top:1px solid hsla(0,0%,100%,.1)}.site-footer__copy{font-size:.88rem;font-weight:600;color:var(--footer-text);margin:0 0 .35rem}.site-footer__disclaimer{font-size:.82rem;color:var(--footer-muted);margin:0;line-height:1.5}a{color:var(--accent)}a:hover{text-decoration:underline}.chat-message-content{word-wrap:break-word;overflow-wrap:break-word}.chat-message-content .katex-display{overflow-x:auto;overflow-y:hidden}.chat-message-content--user-plain{white-space:pre-wrap;word-break:break-word;margin:0;font-size:.95rem;line-height:1.5}.task-chat-messages-scroll{min-height:0}.chat-input-composer{position:relative;display:flex;align-items:center;gap:2px;min-height:48px;padding:4px 5px 4px 6px;border-radius:9999px;border:1px solid var(--border-color);background:color-mix(in srgb,var(--input-bg) 92%,var(--hover-bg));box-shadow:0 1px 2px rgba(0,0,0,.04),inset 0 1px 0 hsla(0,0%,100%,.06);transition:border-color .18s ease,box-shadow .18s ease}.dark .chat-input-composer{box-shadow:0 1px 3px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.04)}.chat-input-composer:focus-within{border-color:color-mix(in srgb,var(--accent) 55%,var(--border-color));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent),0 1px 2px rgba(0,0,0,.05)}.chat-input-composer__file{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.chat-input-composer__icon-btn{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:none;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:background .15s ease,color .15s ease,transform .12s ease}.chat-input-composer__icon-btn:hover:not(:disabled){background:var(--hover-bg);color:var(--text-color)}.chat-input-composer__icon-btn:active:not(:disabled){transform:scale(.94)}.chat-input-composer__icon-btn:disabled{opacity:.38;cursor:not-allowed}.chat-input-composer__field{flex:1 1;min-width:0;border:none;background:transparent;font-size:.95rem;line-height:1.45;color:var(--text-color);padding:8px 6px;outline:none}.chat-input-composer__field::placeholder{color:var(--text-muted);opacity:.88}.chat-input-composer__field:disabled{opacity:.65;cursor:not-allowed}.chat-input-composer__send{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:none;border-radius:50%;flex-shrink:0;cursor:pointer;background:var(--accent);color:#fff;transition:transform .14s ease,opacity .15s ease,filter .15s ease,background .15s ease}.chat-input-composer__send:not(:disabled):hover{filter:brightness(1.08);transform:scale(1.05)}.chat-input-composer__send:not(:disabled):active{transform:scale(.94)}.chat-input-composer__send:disabled{background:var(--hover-bg);color:var(--text-muted);cursor:not-allowed;filter:none;transform:none;opacity:.85}.dark .chat-input-composer__send:not(:disabled){color:#fff}.chat-input-composer--large{flex-direction:column;align-items:stretch;align-self:stretch;min-height:168px;border-radius:22px;padding:10px 12px 10px 14px;gap:8px}.chat-input-composer__textarea{flex:1 1 auto;min-height:112px;max-height:40vh;resize:none;width:100%;box-sizing:border-box;padding:10px 4px;font-size:1.05rem;line-height:1.5}.chat-input-composer__toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;padding-top:2px}.chat-input-composer__send--toolbar{width:46px;height:46px}.assistant-mascot-bubble{position:relative;margin-bottom:14px;padding:14px 18px;max-width:min(280px,78vw);font-size:1rem;line-height:1.45;font-weight:500;text-align:center;color:var(--text-color);background:color-mix(in srgb,var(--hover-bg) 88%,var(--card-bg));border:1px solid var(--border-color);border-radius:18px;box-shadow:0 2px 8px rgba(0,0,0,.06)}.dark .assistant-mascot-bubble{box-shadow:0 2px 12px rgba(0,0,0,.25)}.assistant-mascot-bubble:after{bottom:-9px;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid color-mix(in srgb,var(--hover-bg) 88%,var(--card-bg))}.assistant-mascot-bubble:after,.assistant-mascot-bubble:before{content:"";position:absolute;left:50%;transform:translateX(-50%);width:0;height:0}.assistant-mascot-bubble:before{bottom:-11px;border-left:11px solid transparent;border-right:11px solid transparent;border-top:11px solid var(--border-color);z-index:-1}.textbook-page{padding-inline:.5rem}@media (min-width:768px){.textbook-page{padding-inline:1rem}}.textbook-page--full{position:fixed;inset:0;top:125px;padding:0;margin:0;width:100%;height:calc(100vh - 125px);z-index:2}.textbook-page--full .textbook-layout{display:grid;grid-template-columns:5% 1fr 1rem 1fr 5%;grid-gap:0;gap:0;height:100%;align-items:stretch;overflow:hidden}.textbook-page--full .textbook-layout .textbook-card{position:relative;top:auto;grid-column:2;overflow-y:auto;border-radius:12px;border:1px solid var(--border-color);scrollbar-width:none;-ms-overflow-style:none}.textbook-page--full .textbook-layout .textbook-card::-webkit-scrollbar{display:none}.textbook-page--full .textbook-layout .textbook-assignments-column,.textbook-page--full .textbook-layout .textbook-chat-column{grid-column:4;overflow-x:hidden;display:flex;flex-direction:column;min-height:0;border-radius:12px;background:var(--card-bg);border:1px solid var(--border-color)}.textbook-page--full .textbook-layout .textbook-chat-column{overflow:hidden}.textbook-page--full .textbook-layout .textbook-assignments-column{overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.textbook-page--full .textbook-layout .textbook-assignments-column::-webkit-scrollbar{display:none}.task-page--full{position:fixed;inset:0;top:125px;padding:0;margin:0;width:100%;height:calc(100vh - 125px);z-index:2}.task-page--full .task-page-layout{display:grid;grid-template-columns:5% 1fr 1rem 1fr 5%;grid-gap:0;gap:0;height:100%;align-items:stretch;overflow:hidden}.task-page--full .task-page-left{grid-column:2;overflow-y:auto;border-radius:12px;border:1px solid var(--border-color);background:var(--card-bg);scrollbar-width:none;-ms-overflow-style:none}.task-page--full .task-page-left::-webkit-scrollbar{display:none}.task-page--full .task-page-chat{grid-column:4;overflow:hidden;display:flex;flex-direction:column;min-height:0;border-radius:12px;background:var(--card-bg);border:1px solid var(--border-color)}.task-page-task-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-bottom:.5rem}.task-page-task-top__crumb{flex:1 1;min-width:0}.task-page-task-top__crumb .breadcrumb-nav{align-items:center}.task-page-task-top__solve{flex-shrink:0;display:flex;align-items:center}.task-page-task-top--with-solve{position:-webkit-sticky;position:sticky;top:0;z-index:4;margin:-1.25rem -1.25rem .75rem;padding:1.25rem 1.25rem .75rem;background:var(--card-bg);border-bottom:1px solid var(--border-color);box-shadow:0 4px 12px rgba(0,0,0,.06)}.task-page-solve-btn{min-height:44px;padding:.55rem 1.15rem;font-size:.9375rem;font-weight:600;font-family:inherit;background:var(--cta);color:#fff;border:none;border-radius:12px;cursor:pointer;box-shadow:0 2px 8px rgba(22,163,74,.35);transition:filter .15s ease,transform .1s ease;white-space:nowrap}.task-page-solve-btn:hover{filter:brightness(1.06)}.task-page-solve-btn:active{transform:scale(.98)}@media (max-width:768px){.task-page--full{position:static;height:auto;top:auto}.task-page--full .task-page-layout.task-page-layout--mobile-cta{grid-template-columns:1fr;height:calc(100dvh - 5.25rem);min-height:calc(100dvh - 5.25rem);max-height:calc(100dvh - 5.25rem);grid-template-rows:minmax(0,9fr) minmax(max(3.25rem,9dvh),1fr);gap:.5rem;align-content:stretch;box-sizing:border-box}.task-page--full .task-page-layout.task-page-layout--mobile-cta .task-page-left{grid-column:1;grid-row:1;max-height:none;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;align-self:stretch}.task-page-task-top__solve{display:none}.task-page-task-top--with-solve{position:static;z-index:auto;margin:0 0 .5rem;padding:0;border-bottom:none;box-shadow:none}.task-page--full .task-page-layout.task-page-layout--mobile-cta .task-page-chat{grid-column:1;grid-row:2;min-height:max(3.25rem,9dvh);display:flex;flex-direction:column;align-items:stretch;justify-content:center;border:none;background:transparent;border-radius:0;box-shadow:none;padding:0 clamp(.75rem,4vw,1rem) max(.35rem,env(safe-area-inset-bottom))}.task-page--full .task-page-layout.task-page-layout--mobile-cta .task-page-chat .task-chat-mobile-cta{flex-shrink:0;border-radius:12px}}.task-chat-mobile-cta{display:block;box-sizing:border-box;width:100%;max-width:100%;margin:0;min-height:48px;padding:.85rem 1.25rem;font-size:1rem;font-weight:600;font-family:inherit;background:var(--cta);color:#fff;border:none;border-radius:12px;cursor:pointer;box-shadow:0 2px 8px rgba(22,163,74,.35);transition:filter .15s ease,transform .1s ease}.task-chat-mobile-cta:hover:not(:disabled){filter:brightness(1.06)}.task-chat-mobile-cta:active:not(:disabled){transform:scale(.98)}.task-chat-mobile-cta:disabled{opacity:.7;cursor:not-allowed}.textbook-layout{display:grid;grid-template-columns:1fr 1fr;grid-gap:2rem;gap:2rem;align-items:start}.textbook-layout .textbook-card{position:-webkit-sticky;position:sticky;top:1rem;display:flex;flex-direction:column;align-items:stretch;gap:1.25rem;min-width:0}.textbook-layout .textbook-card__crumb{min-width:0}.textbook-layout .textbook-card__body{display:grid;grid-template-columns:auto 1fr;grid-gap:1.25rem;gap:1.25rem;align-items:start;min-width:0}.textbook-layout .textbook-card .textbook-cover{flex-shrink:0;width:140px;max-width:100%;box-sizing:border-box}.textbook-layout .textbook-card .textbook-info{min-width:0;position:relative;z-index:1}@media (min-width:768px){.textbook-layout .textbook-card .textbook-cover{width:180px}}@media (max-width:768px){.textbook-page--full{position:static;height:auto;top:auto}.textbook-page--full .textbook-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:1rem 0}.textbook-page--full .textbook-layout.textbook-layout--chat-only{height:calc(100dvh - 5.25rem);min-height:calc(100dvh - 5.25rem);max-height:calc(100dvh - 5.25rem);grid-template-rows:minmax(0,9fr) minmax(max(3.25rem,9dvh),1fr);gap:.5rem;align-content:stretch;box-sizing:border-box}.textbook-page--full .textbook-layout .textbook-card{grid-column:1;grid-row:1;max-height:40vh}.textbook-page--full .textbook-layout.textbook-layout--chat-only .textbook-card{max-height:none;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;align-self:stretch}.textbook-page--full .textbook-layout .textbook-assignments-column,.textbook-page--full .textbook-layout .textbook-chat-column{grid-column:1;grid-row:2;min-height:50vh}.textbook-page--full .textbook-layout.textbook-layout--chat-only .textbook-chat-column{grid-row:2;min-height:max(3.25rem,9dvh);align-self:stretch;border:none;background:transparent;border-radius:0;box-shadow:none;padding:0 clamp(.75rem,4vw,1rem) max(.35rem,env(safe-area-inset-bottom));justify-content:center}.textbook-page--full .textbook-layout.textbook-layout--chat-only .textbook-chat-column .task-chat-mobile-cta{flex-shrink:0}.textbook-layout{grid-template-columns:1fr}.textbook-layout .textbook-card{position:static}.textbook-layout .textbook-card__body{grid-template-columns:1fr;gap:1rem}.textbook-layout .textbook-card .textbook-cover{justify-self:center;width:min(160px,55vw)}}.ai-test-stage{min-height:calc(100dvh - 5.25rem);display:flex;align-items:center;padding:clamp(1rem,2vw,1.75rem) clamp(1rem,3vw,2.5rem) clamp(1.5rem,3vw,2.75rem)}@media (min-width:1400px){.ai-test-page--quiz,.ai-test-stage__inner{max-width:1400px;margin-inline:auto}}.ai-test-stage__inner{width:100%;max-width:1400px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,430px);align-items:center;justify-content:space-between;grid-gap:clamp(1rem,2.2vw,2rem);gap:clamp(1rem,2.2vw,2rem)}.ai-test-stage__content--intro{position:relative;z-index:1;min-width:0;max-width:820px}.ai-test-page--quiz{width:100%;max-width:none;padding:.75rem clamp(1rem,3vw,2.5rem) 2rem}.ai-test-quiz-wrap{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:clamp(1.25rem,4vw,2.75rem);width:100%}.ai-test-mascot{position:relative;z-index:0;display:flex;flex-direction:column;align-items:center;justify-self:center;flex-shrink:0;width:min(100%,27rem)}.ai-test-mascot .assistant-mascot-bubble{max-width:min(20rem,92vw);margin-bottom:.85rem;padding:.9rem 1rem;font-size:1rem;text-align:center}.ai-test-mascot .assistant-mascot-bubble:after,.ai-test-mascot .assistant-mascot-bubble:before{left:50%;transform:translateX(-50%)}.ai-test-mascot__detail{max-width:22rem;margin:.75rem 0 0;font-size:.95rem;line-height:1.45;text-align:center;color:var(--text-muted)}.ai-test-mascot--hero img{width:auto!important;height:clamp(280px,28vw,430px)!important;max-width:100%;object-fit:contain}.ai-test-mascot--generating img{width:auto!important;height:clamp(260px,25vw,360px)!important;max-width:100%;object-fit:contain}.ai-test-mascot--quiz img{width:auto!important;height:clamp(250px,22vw,360px)!important;max-width:100%;object-fit:contain}.ai-test-intro__eyebrow{display:inline-flex;align-items:center;padding:.28rem .65rem;margin-bottom:.75rem;border-radius:999px;background:color-mix(in srgb,var(--primary) 12%,var(--card-bg));color:var(--primary);font-size:.8rem;font-weight:700;letter-spacing:.02em}.ai-test-intro__title{margin:0 0 .55rem;font-size:clamp(1.9rem,2.6vw,2.7rem);font-weight:700;line-height:1.08}.ai-test-intro__subtitle{margin:0 0 1rem;max-width:44rem;font-size:1.05rem;line-height:1.55;color:var(--text-muted)}.ai-test-intro__stats{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.2rem}.ai-test-intro__stat{display:inline-flex;align-items:center;min-height:2.3rem;padding:.45rem .85rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--border-color) 85%,transparent);background:color-mix(in srgb,var(--card-bg) 74%,var(--hover-bg));font-size:.9rem;font-weight:600;color:var(--text-color)}.ai-test-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;grid-gap:1.15rem;gap:1.15rem;margin-bottom:1.2rem;padding:0}.ai-test-flow__card{min-width:0;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:.45rem;padding:0}.ai-test-flow__n{width:2.2rem;height:2.2rem;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;font-weight:700;font-size:.95rem;line-height:1;margin-bottom:.35rem}.ai-test-flow__title{font-weight:700;font-size:1.04rem;line-height:1.3;color:var(--text-color)}.ai-test-flow__hint{font-size:.9rem;line-height:1.45;color:var(--text-muted)}.ai-test-flow__arrow{display:none}.ai-test-intro__form{position:relative;z-index:1;display:flex;flex-direction:column;gap:.65rem;pointer-events:auto}.ai-test-intro__panel{padding:0}.ai-test-intro__panel .chat-input-composer--large{min-height:190px;border-radius:24px;border-color:var(--border-color);background:var(--card-bg)}.ai-test-intro__panel .chat-input-composer__textarea{min-height:124px}.ai-test-intro__helper{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.35rem 1rem;padding:0 .15rem;font-size:.84rem;color:var(--text-muted)}.ai-test-intro__error{color:#dc2626;font-size:.9rem;margin:0}.ai-test-intro__cta-row{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:.35rem}.ai-test-intro__btn{padding:.55rem 1rem;font-size:.92rem;font-weight:600;border-radius:12px;cursor:pointer;border:1px solid var(--border-color,#e5e7eb);transition:background .15s ease,border-color .15s ease;pointer-events:auto}.ai-test-intro__btn:disabled{opacity:.45;cursor:not-allowed}.ai-test-intro__btn--primary{background:var(--brand-accent,#4f46e5);color:#fff;border-color:transparent}.ai-test-intro__btn--primary:not(:disabled):hover{background:var(--brand-accent-hover,#4338ca)}.ai-test-intro__btn--secondary{background:var(--card-bg,#fff);color:var(--text-color)}.ai-test-intro__btn--secondary:not(:disabled):hover{background:var(--hover-bg,#f3f4f6)}.ai-test-lesson-cta{padding:.35rem .65rem;font-size:.8rem;font-weight:600;color:#fff;background:#16a34a;border:1px solid #15803d;border-radius:8px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.ai-test-lesson-cta:hover:not(:disabled){background:#15803d;border-color:#166534}.ai-test-quiz{flex:1 1 640px;min-width:0;max-width:920px;padding:0}.ai-test-quiz__top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.8rem;margin-bottom:.9rem}.ai-test-quiz__meta{min-width:0}.ai-test-quiz__badge{display:inline-flex;align-items:center;padding:.28rem .65rem;margin-bottom:.55rem;border-radius:999px;background:color-mix(in srgb,var(--brand-accent) 18%,var(--card-bg));color:var(--brand-accent-hover);font-size:.78rem;font-weight:700}.ai-test-quiz__topic{margin:0;font-size:1rem;line-height:1.45;color:var(--text-color)}.ai-test-quiz__stats{display:flex;flex-wrap:wrap;gap:.5rem}.ai-test-quiz__stat{display:inline-flex;align-items:center;min-height:2rem;padding:.3rem .7rem;border-radius:999px;border:1px solid var(--border-color);background:color-mix(in srgb,var(--card-bg) 60%,var(--hover-bg));font-size:.83rem;font-weight:600;color:var(--text-muted)}.ai-test-quiz__progressbar{width:100%;height:.55rem;margin-bottom:.85rem;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--hover-bg) 80%,var(--card-bg))}.ai-test-quiz__progressfill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),color-mix(in srgb,var(--brand-accent) 80%,#fff));transition:width .2s ease}.ai-test-quiz__progress{margin:0 0 1rem;font-size:.92rem;line-height:1.45;color:var(--text-muted)}.ai-test-quiz__q{margin:0 0 1.15rem;font-size:clamp(1.15rem,1.2vw,1.35rem);font-weight:600;line-height:1.45}.ai-test-quiz__q .chat-message-content>:last-child{margin-bottom:0}.ai-test-quiz__options{display:flex;flex-direction:column;gap:.65rem}.ai-test-quiz__opt{display:flex;align-items:flex-start;gap:.75rem;width:100%;padding:.95rem 1rem;text-align:left;border-radius:16px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-color);font:inherit;cursor:pointer;box-shadow:0 1px 2px rgba(17,24,39,.03);transition:border-color .15s,background .15s,transform .15s,box-shadow .15s}.ai-test-quiz__opt:hover{border-color:var(--primary);background:color-mix(in srgb,var(--hover-bg) 85%,var(--card-bg));transform:translateY(-1px);box-shadow:0 8px 18px rgba(59,130,246,.08)}.ai-test-quiz__opt:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.ai-test-quiz__opt--selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary-light) 60%,var(--card-bg));box-shadow:0 10px 20px rgba(59,130,246,.1)}.ai-test-quiz__opt-letter{flex-shrink:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:10px;background:color-mix(in srgb,var(--hover-bg) 88%,var(--card-bg));font-weight:700;font-size:.85rem}.ai-test-quiz__opt-text{flex:1 1;min-width:0;line-height:1.45}.ai-test-quiz__back{display:inline-flex;align-items:center;justify-content:center;min-height:2.4rem;padding:.5rem .9rem;border:1px solid var(--border-color);border-radius:999px;background:var(--card-bg);color:var(--text-color);font:inherit;font-weight:600;cursor:pointer}.ai-test-quiz__back:hover{border-color:var(--primary);color:var(--primary-hover)}.ai-test-quiz__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-top:1.25rem}.ai-test-quiz__hint{font-size:.88rem;line-height:1.45;color:var(--text-muted)}.ai-test-generating{max-width:48rem;padding:0}.ai-test-generating__eyebrow{display:inline-flex;align-items:center;padding:.3rem .7rem;margin-bottom:.9rem;border-radius:999px;background:color-mix(in srgb,var(--primary) 12%,var(--card-bg));color:var(--primary);font-size:.82rem;font-weight:700}.ai-test-generating__title{margin:0 0 .6rem;font-size:clamp(1.5rem,2vw,2rem);line-height:1.15}.ai-test-generating__text{margin:0;max-width:34rem;font-size:1rem;line-height:1.6;color:var(--text-muted)}.ai-test-generating__steps{display:flex;gap:.65rem;margin-top:1.2rem}.ai-test-generating__steps span{width:.8rem;height:.8rem;border-radius:50%;background:color-mix(in srgb,var(--primary) 55%,var(--card-bg));animation:ai-test-pulse 1.2s ease-in-out infinite}.ai-test-generating__steps span:nth-child(2){animation-delay:.15s}.ai-test-generating__steps span:nth-child(3){animation-delay:.3s}@keyframes ai-test-pulse{0%,80%,to{transform:scale(.85);opacity:.45}40%{transform:scale(1);opacity:1}}@media (max-width:768px){.ai-test-stage{min-height:auto;display:block;padding-top:1rem;padding-bottom:1.5rem}.ai-test-stage__inner{gap:1.25rem}.ai-test-flow,.ai-test-stage__inner{grid-template-columns:1fr}.ai-test-mascot{justify-self:stretch;align-items:center;width:100%}.ai-test-mascot .assistant-mascot-bubble,.ai-test-mascot__detail{text-align:center}.ai-test-mascot .assistant-mascot-bubble:after,.ai-test-mascot .assistant-mascot-bubble:before{left:50%;transform:translateX(-50%)}.ai-test-quiz{padding:.9rem .85rem 1rem}.ai-test-mascot__detail{max-width:16rem}}@media (max-width:520px){.ai-test-flow{gap:.6rem}.ai-test-flow__card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;grid-column-gap:.65rem;column-gap:.65rem;grid-row-gap:.15rem;row-gap:.15rem;align-items:start}.ai-test-flow__n{grid-row:1/-1;margin-bottom:0;align-self:center}.ai-test-flow__hint,.ai-test-flow__title{grid-column:2}.ai-test-intro__panel{padding:.75rem;border-radius:18px}.ai-test-intro__helper{flex-direction:column;gap:.15rem}.ai-test-intro__stats,.ai-test-quiz__actions,.ai-test-quiz__top{flex-direction:column;align-items:stretch}.ai-test-quiz__stats{gap:.4rem}}body.lesson-call-route{display:flex;flex-direction:column;min-height:100dvh;height:100dvh;max-height:100dvh;overflow:hidden}body.lesson-call-route .site-header{flex-shrink:0}.lesson-call{--lesson-call-block-inset:clamp(0.5rem,1.25vw,1rem);--lesson-board-toolbar-inset:18px;--lesson-board-toolbar-size:2.75rem;display:flex;flex-direction:column;gap:.5rem;width:100%;flex:1 1;min-height:0;height:100%;max-height:100%;padding:var(--lesson-call-block-inset) clamp(.35rem,1vw,.65rem) var(--lesson-call-block-inset);box-sizing:border-box;overflow:hidden}.lesson-call__audio-hint{flex-shrink:0;padding:.45rem .75rem;border-radius:10px;border:1px solid #f59e0b;background:#fffbeb;color:#92400e;font-size:.82rem;line-height:1.35}.lesson-call__main{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,min(400px,28vw));grid-gap:12px;gap:12px;flex:1 1;min-height:0;align-items:stretch;overflow:hidden}.lesson-call__main--chat-hidden{grid-template-columns:1fr;grid-template-rows:1fr}.lesson-call__board-column{min-width:0}.lesson-call__board-column,.lesson-call__board-wrap{display:flex;flex-direction:column;min-height:0;flex:1 1;overflow:hidden}.lesson-call__board-wrap{position:relative}.lesson-call__board-zoom{flex:1 1;min-height:0;min-width:0;overflow:auto;position:relative;display:flex;flex-direction:column;scrollbar-width:none;-ms-overflow-style:none}.lesson-call__board-zoom::-webkit-scrollbar{display:none}.lesson-call__board-zoom-inner{flex:1 1;min-height:0;min-width:0;width:100%;box-sizing:border-box;display:flex;flex-direction:column}.lesson-call__board-chat-toggle{position:absolute;bottom:var(--lesson-board-toolbar-inset);right:var(--lesson-board-toolbar-inset);left:auto;transform:none;z-index:11}.lesson-call__board-toolbar{position:absolute;bottom:var(--lesson-board-toolbar-inset);left:50%;transform:translateX(-50%);z-index:10;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.45rem;pointer-events:none}.lesson-call__board-toolbar>*{pointer-events:auto}.lesson-call__board-tool-btn{width:var(--lesson-board-toolbar-size);height:var(--lesson-board-toolbar-size);padding:0;border-radius:50%;border:1px solid var(--border-color,#e5e7eb);background:color-mix(in srgb,var(--card-bg,#fff) 92%,transparent);color:var(--text-color,#111);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 10px rgba(0,0,0,.08);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,transform .1s}.lesson-call__board-tool-btn:hover:not(:disabled){transform:scale(1.05)}.lesson-call__board-tool-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.lesson-call__board-tool-btn--on{border-color:#22c55e;background:color-mix(in srgb,#ecfdf5 95%,transparent);color:#15803d}.lesson-call__board-tool-btn--warn{border-color:#f59e0b;color:#b45309}.lesson-call__board-tool-btn--danger{border-color:#ef4444;color:#b91c1c}.lesson-call__board-menu-anchor{position:relative}.lesson-call__board-popover{position:absolute;bottom:calc(100% + .35rem);top:auto;right:0;left:auto;transform:none;min-width:min(17.5rem,calc(100vw - 2rem));max-width:calc(100vw - 2rem);padding:.5rem 0;border-radius:10px;border:1px solid var(--border-color,#e5e7eb);background:var(--card-bg,#fff);box-shadow:0 -4px 24px rgba(0,0,0,.12);z-index:8}.lesson-call__board-menu-section{padding:.35rem .65rem .5rem;border-bottom:1px solid var(--border-color,#e5e7eb)}.lesson-call__board-menu-section--last{border-bottom:none;padding-bottom:.35rem}.lesson-call__board-menu-section-head{display:flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted,#6b7280);margin-bottom:.4rem}.lesson-call__board-menu-section-icon{width:16px;height:16px;flex-shrink:0;opacity:.85}.lesson-call__board-menu-chips{display:flex;flex-wrap:nowrap;gap:.35rem;justify-content:flex-start}.lesson-call__board-menu-chips--wrap{flex-wrap:wrap}.lesson-call__board-menu-chip{flex:1 1 auto;min-width:0;padding:.35rem .4rem;border-radius:8px;border:1px solid var(--border-color,#e5e7eb);background:var(--hover-bg,#f9fafb);font-size:.8rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-color,#111);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.lesson-call__board-menu-chip--text{flex-grow:1;flex-shrink:1;flex-basis:calc(33.333% - 0.35rem);font-weight:500;font-size:.78rem}.lesson-call__board-menu-chip:hover{background:var(--hover-bg,#f3f4f6)}.lesson-call__board-menu-chip--active{border-color:var(--link-color,#2563eb);background:color-mix(in srgb,var(--link-color,#2563eb) 12%,transparent);color:var(--link-color,#2563eb)}.lesson-call__board{flex:1 1;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;padding:0;box-sizing:border-box}.lesson-call__board .lesson-whiteboard{flex:1 1;min-height:0;width:100%;box-sizing:border-box;align-self:stretch;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none;border-radius:12px;border:1px solid var(--border-color,#e5e7eb);background-color:#f3f4f6;background-image:linear-gradient(rgba(229,231,235,.45) 1px,transparent 0),linear-gradient(90deg,rgba(229,231,235,.45) 1px,transparent 0),linear-gradient(180deg,#fafafa,#f3f4f6);background-size:24px 24px,24px 24px,100% 100%;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,no-repeat;padding-bottom:calc(var(--lesson-board-toolbar-inset) + var(--lesson-board-toolbar-size) + 10px)}.lesson-call__board .lesson-whiteboard::-webkit-scrollbar{display:none}.lesson-call__board .lesson-whiteboard .katex{font-size:1em}.lesson-call__board .lesson-whiteboard .lesson-board-item{box-sizing:border-box}@media (max-width:960px){.lesson-call__board .lesson-whiteboard .lesson-board-item{padding:8px 8px 14px}.lesson-call__board .lesson-whiteboard .lesson-board-item--text{padding-bottom:16px}.lesson-call__board .lesson-whiteboard .lesson-board-item--formula .katex-display{margin:.4em 0}}@media (max-width:768px){.lesson-call__board-toolbar{flex-wrap:nowrap;justify-content:center;left:50%;right:auto;transform:translateX(-50%);max-width:calc(100% - 2 * var(--lesson-board-toolbar-inset));overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.3rem}.lesson-call__board-toolbar::-webkit-scrollbar{display:none}.lesson-call{--lesson-board-toolbar-size:2.4rem;--lesson-board-toolbar-inset:10px}}.lesson-call__mobile-chat-cta-wrap{display:flex;flex-direction:column;align-items:stretch;justify-content:center;min-width:0;box-sizing:border-box}.lesson-call.lesson-call--mobile-chat-cta{flex:1 1;min-height:0;height:100%;max-height:100%}.lesson-call.lesson-call--mobile-chat-cta .lesson-call__main.lesson-call__main--mobile-chat-cta{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;gap:.5rem}.lesson-call.lesson-call--mobile-chat-cta .lesson-call__board-column{flex:1 1;min-height:0;overflow:hidden}.lesson-call.lesson-call--mobile-chat-cta .lesson-call__mobile-chat-cta-wrap{flex-shrink:0;padding:0 clamp(.75rem,4vw,1rem) max(.35rem,env(safe-area-inset-bottom))}.lesson-call.lesson-call--mobile-chat-cta .lesson-call__mobile-chat-cta-wrap .task-chat-mobile-cta{flex-shrink:0;border-radius:12px}.lesson-call__chat{max-height:100%;border:1px solid var(--border-color,#e5e7eb);border-radius:12px;background:var(--card-bg,#fff)}.lesson-call__chat,.lesson-call__chat-surface{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.lesson-call__chat-surface{flex:1 1}.lesson-call__chat-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;padding:.6rem .85rem;font-size:.88rem;font-weight:600;border-bottom:1px solid var(--border-color,#e5e7eb);background:var(--hover-bg,#f9fafb)}.lesson-call__chat-header-actions{display:flex;align-items:center;gap:.45rem;flex-shrink:0;margin-left:auto}.lesson-call__chat-collapse{padding:.35rem .65rem;font-size:.8rem;font-weight:500;font-family:inherit;background:var(--card-bg,#fff);color:var(--text-color,#111);border:1px solid var(--border-color,#e5e7eb);border-radius:8px;cursor:pointer}.lesson-call__chat-collapse:hover{background:var(--hover-bg,#f3f4f6)}.lesson-call__chat-fs{position:fixed;inset:0;z-index:99999;display:flex;flex-direction:column;box-sizing:border-box;width:100vw;height:100dvh;max-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--card-bg,#fff);overflow:hidden}.lesson-call__chat--fullscreen{flex:1 1;min-height:0;min-width:0;width:100%;max-height:100%;border:none;border-radius:0;display:flex;flex-direction:column;overflow:hidden}.lesson-call__ws{font-size:.75rem;font-weight:500;color:var(--text-muted);text-transform:uppercase}.lesson-call__err{font-size:.78rem;color:#dc2626;font-weight:500}.lesson-call__messages{flex:1 1;overflow:auto;padding:.75rem;min-height:0;scrollbar-width:none;-ms-overflow-style:none}.lesson-call__messages::-webkit-scrollbar{display:none}.lesson-call__composer{flex-shrink:0;display:flex;flex-direction:column;gap:.5rem;padding:.6rem .65rem .75rem;border-top:1px solid var(--border-color,#e5e7eb);background:var(--card-bg,#fff)}.lesson-call__composer .chat-input-composer{width:100%}.lesson-call__pending-imgs{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.lesson-call__pending-img-wrap{position:relative}.lesson-call__pending-img{width:72px;height:72px;object-fit:cover;border-radius:8px;border:1px solid var(--border-color,#e5e7eb)}.lesson-call__pending-img-remove{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:none;background:#dc2626;color:#fff;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.lesson-call__attach-err{margin:0;font-size:.82rem;color:#dc2626}.lesson-call__user-images{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.35rem}.lesson-call__user-image-thumb{max-width:min(100%,220px);max-height:200px;border-radius:8px;border:1px solid var(--border-color,#e5e7eb);object-fit:contain}.lesson-call__photo-only{margin:0;font-size:.85rem;color:var(--text-muted)}.lesson-call__msg{margin-bottom:.85rem}.lesson-call__msg--bot{display:flex;gap:.5rem;align-items:flex-start}.lesson-call__avatar{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.lesson-call__avatar img{object-fit:contain;width:100%;height:100%}.lesson-call__bubble{flex:1 1;min-width:0;padding:.5rem .65rem;background:var(--hover-bg,#f3f4f6);border-radius:8px}.lesson-call__you{font-size:.75rem;color:var(--text-muted);display:block;margin-bottom:.25rem}.lesson-call__cancelled{margin:0 0 .35rem;font-size:.8rem;color:var(--text-muted)}.lesson-call--empty{padding:2rem;max-width:36rem}.lesson-call--empty a{color:var(--link-color,#2563eb)}@media (max-width:960px){.lesson-call__main:not(.lesson-call__main--mobile-chat-cta){grid-template-columns:1fr;grid-template-rows:minmax(42dvh,1fr) minmax(240px,min(42dvh,1fr));gap:12px}.lesson-call__main.lesson-call__main--chat-hidden{grid-template-rows:1fr}.lesson-call__main:not(.lesson-call__main--mobile-chat-cta) .lesson-call__chat{max-height:none;min-height:0}}