@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";html,body,#root{min-height:100%;margin:0;font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}:root{--bg:#fff;--bg-muted:#f5f5f5;--text:#111827;--text-muted:#6b7280;--border:#e5e7eb;--accent:#2563eb;--accent-hover:#1d4ed8;--radius:8px;--shadow:0 1px 2px #0000000f;--max-width:1100px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body{color:var(--text);background:var(--bg);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;overflow-x:hidden}.page{background:var(--bg);min-height:100dvh;color:var(--text);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px);overflow-x:hidden}.navbar{width:min(var(--max-width), 95%);z-index:120;max-width:100%;padding-left:max(0px, env(safe-area-inset-left));padding-right:max(0px, env(safe-area-inset-right));grid-template-columns:auto minmax(0,1fr);align-items:center;gap:22px;margin:12px auto 0;display:grid;position:relative}.brand{grid-column:1;justify-content:flex-start;align-items:center;gap:12px;min-width:210px;padding:8px 0;display:flex}.brand-wordmark{display:none}.brand-logo{object-fit:contain;border-radius:50%;width:56px;height:56px;display:block}.brand-text{gap:2px;line-height:1.1;display:grid}.brand-text strong{color:#1f2937;font-size:32px;font-weight:700}.brand-text span{color:#6b7280;font-size:22px;font-weight:600}.navbar-nav{z-index:121;grid-column:2;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;width:100%;min-width:0;display:grid;position:relative}@media (width<=1180px) and (width>=901px){.nav-main{scrollbar-width:thin;-webkit-overflow-scrolling:touch;max-width:100%;overflow:auto hidden}}.nav-burger{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);cursor:pointer;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;padding:0;display:none}.nav-burger:hover{background:var(--bg-muted)}.nav-burger span{background:var(--text);border-radius:1px;width:18px;height:2px;transition:transform .2s,opacity .2s;display:block}.nav-burger[aria-expanded=true] span:first-child{transform:translateY(7px)rotate(45deg)}.nav-burger[aria-expanded=true] span:nth-child(2){opacity:0}.nav-burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-main,.nav-auth{gap:8px;display:flex}.nav-auth{justify-content:flex-end;align-items:center;margin-left:auto}.nav-lang-select-wrap{align-items:center;display:inline-flex}.nav-lang-select{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);width:auto;min-width:72px;color:var(--text);cursor:pointer;padding:6px 28px 6px 10px;font-size:13px;font-weight:600;line-height:1.2}.lang-switch{background:#fff;border:1px solid #cdbef0;border-radius:999px;align-items:center;gap:4px;padding:4px;display:inline-flex}.lang-switch button{cursor:pointer;border-radius:999px;min-width:36px;padding:6px 8px;font-size:12px;font-weight:700}.profile-card--language .lang-switch{z-index:2;position:relative}.lang-switch button.active{color:#fff;background:#4b1d88}.nav-main{width:max-content;min-width:0;max-width:100%;box-shadow:none;background:0 0;border:none;border-radius:0;align-items:center;gap:4px;margin-left:0;padding:0;display:flex;position:relative}.nav-main__pill{display:none}.nav-main-link{z-index:1;border-radius:var(--radius);color:var(--text-muted);white-space:nowrap;justify-content:center;align-items:center;padding:8px 12px;font-size:14px;font-weight:500;display:inline-flex;position:relative;background:0 0!important}.nav-main>.nav-main-link:first-of-type{padding-left:14px}.nav-main>.dropdown{z-index:1;align-self:stretch;align-items:stretch;display:flex;position:relative}.nav-main>.dropdown>.nav-main-link{box-sizing:border-box;border-radius:0;justify-content:center;align-items:center;height:100%;min-height:100%;padding:8px 12px;display:inline-flex}.nav-main>.dropdown:last-child>.nav-main-link{padding-right:14px}.nav-main-link.active{font-weight:600;color:var(--accent)!important;background:#eff6ff!important}button{border-radius:var(--radius);color:var(--text);cursor:pointer;background:0 0;border:0;padding:8px 14px;font-size:14px;font-weight:500}button.active{background:var(--accent);color:#fff}button:hover{opacity:.9}.nav-main .nav-main-link:hover{transform:none}.nav-auth button{border:1px solid var(--border);background:var(--bg);min-width:auto}.profile-btn{justify-content:center;align-items:center;gap:8px;font-weight:700;display:inline-flex;min-width:170px!important;font-size:18px!important}.profile-btn-icon{line-height:0}.profile-nav-svg{fill:currentColor;width:16px;height:16px}.profile-btn-label{display:inline}.dropdown{position:relative}.menu{z-index:240;background:#fff;border:1px solid #decff8;border-radius:14px;grid-template-columns:1fr;gap:8px;min-width:330px;padding:10px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 12px 24px #40246d33}.menu-card{text-align:left;background:#f4edff;border-radius:12px;padding:12px}.menu-card span{font-weight:700;display:block}.menu-card small{color:#544c68}.hero,.stats,.cards,.content,.auth,.admin{width:min(var(--max-width), 95%);max-width:100%;padding-left:max(0px, env(safe-area-inset-left));padding-right:max(0px, env(safe-area-inset-right));margin:18px auto}.ad-surface{gap:10px;width:min(65%,1290px);max-width:100%;margin:12px auto 4px;display:grid}.ad-banner-card{max-width:860px;color:inherit;background:#fff;border:1px solid #d9cafd;border-radius:14px;grid-template-columns:1fr;align-items:stretch;gap:8px;margin:0 auto;padding:8px;text-decoration:none;display:grid;overflow:hidden}.ad-banner-card img,.ad-banner-video{aspect-ratio:16/9;object-fit:cover;object-position:center;border-radius:10px;width:100%;height:auto;display:block}.ad-copy strong{color:#2b155a}.ad-copy p{color:#5a4f7f;margin:4px 0 0;font-size:14px}.ad-carousel{--ad-side-width:220px;width:min(46%,520px);min-width:300px;margin:0 auto;padding:0 26px 26px;position:relative}.ad-carousel-side{width:var(--ad-side-width);opacity:.5;filter:saturate(.84)blur(.15px);z-index:0;background:#fff;border:1px solid #8e6ed63d;border-radius:12px;height:calc(100% - 74px);transition:opacity .35s,filter .35s,transform .35s;position:absolute;top:10px;overflow:hidden;box-shadow:0 10px 24px #1e123c24}.ad-carousel-side:hover{opacity:.72;filter:saturate(.95)}.ad-carousel-side--prev{right:calc(100% - 28px)}.ad-carousel-side--next{left:calc(100% - 28px)}.ad-carousel-side.swap-next.ad-carousel-side--prev{animation:.55s sideSwapPrevNext}.ad-carousel-side.swap-next.ad-carousel-side--next{animation:.55s sideSwapNextNext}.ad-carousel-side.swap-prev.ad-carousel-side--prev{animation:.55s sideSwapPrevPrev}.ad-carousel-side.swap-prev.ad-carousel-side--next{animation:.55s sideSwapNextPrev}.ad-carousel-side img,.ad-carousel-side-video{object-fit:cover;background:#000;width:100%;height:100%;display:block}.ad-carousel-viewport:before,.ad-carousel-viewport:after{content:"";z-index:2;pointer-events:none;width:26px;position:absolute;top:0;bottom:0}.ad-carousel-viewport:before{background:linear-gradient(90deg,#ffffffe6,#0000);left:0}.ad-carousel-viewport:after{background:linear-gradient(270deg,#ffffffe6,#0000);right:0}.ad-carousel-viewport{z-index:1;border-radius:14px;position:relative;overflow:hidden}.ad-carousel-track{cursor:grab;touch-action:pan-y;transition:transform .55s cubic-bezier(.22,.7,.2,1);display:flex}.ad-carousel-track:active{cursor:grabbing}.ad-carousel-track--no-anim{transition:none}.ad-carousel-item{color:inherit;background:#fff;border:1px solid #e6dbff;border-radius:14px;flex:0 0 100%;gap:8px;padding:10px;text-decoration:none;display:grid;box-shadow:0 12px 28px #371a6c24}.ad-carousel--single .ad-carousel-item{animation:2.8s ease-in-out infinite ad-single-flow}.ad-carousel-item img{aspect-ratio:16/10.5;object-fit:cover;border-radius:8px;width:100%;height:auto}.ad-carousel-video{aspect-ratio:16/10.5;object-fit:cover;background:#000;border-radius:8px;width:100%;height:auto;display:block}.ad-carousel-copy{gap:4px;min-height:46px;max-height:46px;padding-right:2px;display:grid;overflow-y:auto}.ad-carousel-item span{color:#2a1f45;font-size:15px;font-weight:700}.ad-carousel-item p{color:#574d78;margin:0;font-size:13px;line-height:1.35}.ad-carousel-nav{color:#4b1d88;z-index:2;background:#fff;border:1px solid #c8b5f1;border-radius:999px;justify-content:center;align-items:center;width:34px;height:86px;font-size:22px;line-height:1;display:inline-flex;position:absolute;top:42%;transform:translateY(-50%)}.ad-carousel-nav--prev{left:calc((var(--ad-side-width) + 20px) * -1)}.ad-carousel-nav--next{right:calc((var(--ad-side-width) + 20px) * -1)}.ad-carousel-dots{justify-content:center;align-items:center;gap:12px;display:flex}.ad-carousel-controls{justify-content:center;margin-top:12px;display:flex}.ad-carousel-dot{background:#b7b7b7;border:0;border-radius:50%;width:10px;height:10px;padding:0}.ad-carousel-dot.active{background:#d9fff4;border:2px solid #06c183;width:12px;height:12px}@keyframes sideSwapPrevNext{0%{opacity:.92;transform:translate(88px)scale(1.06)}to{opacity:.5;transform:translate(0)scale(1)}}@keyframes sideSwapNextNext{0%{opacity:.96;transform:translate(-88px)scale(1.08)}to{opacity:.5;transform:translate(0)scale(1)}}@keyframes sideSwapPrevPrev{0%{opacity:.96;transform:translate(88px)scale(1.08)}to{opacity:.5;transform:translate(0)scale(1)}}@keyframes sideSwapNextPrev{0%{opacity:.92;transform:translate(-88px)scale(1.06)}to{opacity:.5;transform:translate(0)scale(1)}}@keyframes ad-single-flow{0%,to{transform:translate(0)}50%{transform:translate(8px)}}.ad-popup-modal{width:min(100%,520px)}.ad-popup-image{object-fit:cover;border-radius:10px;width:100%;max-height:220px}.ad-popup-link{color:#fff;background:#4b1d88;border-radius:10px;margin-top:10px;padding:8px 12px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.hero{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:1fr 380px;align-items:center;gap:32px;padding:32px 0;display:grid}.hero h4{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px;font-size:14px;font-weight:600;line-height:1.4}.hero h1{color:var(--text);margin:0;font-size:clamp(28px,4vw,40px);font-weight:700;line-height:1.15}.hero p{max-width:560px;color:var(--text-muted);margin:0 0 16px;font-size:16px;line-height:1.5}.hero-media{box-sizing:border-box;border-radius:var(--radius);border:1px solid var(--border);width:100%;max-width:100%;height:280px;box-shadow:var(--shadow);align-self:stretch;line-height:0;overflow:hidden}.hero-media img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.row{gap:10px;display:flex}.row button:first-child{background:var(--accent);color:#fff;border:1px solid var(--accent)}.ghost{border:1px solid var(--border);background:var(--bg);color:var(--text)}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin-top:24px;display:grid}.stats article,.cards article,.content,.auth-shell,.admin{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.admin-panel{width:min(1290px,95%);margin:18px auto;padding:16px}.admin-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.admin-head h2{margin:0}.admin-head p{color:#5b5672;margin:6px 0 0}.admin-tabs{flex-wrap:wrap;gap:8px;display:flex}.admin-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.admin-card{padding:16px}.admin-card h3{margin:0 0 10px}.admin-row{border-bottom:1px solid #eee7ff;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.admin-row.admin-row-valign-top{align-items:flex-start}.admin-row:last-child{border-bottom:0}.admin-row-lines{flex-direction:column;flex:1;align-items:stretch;min-width:0;display:flex}.admin-row>.admin-row-lines{flex:1;min-width:0}.admin-row-line{font-size:inherit;border-bottom:1px solid #4b1d8824;padding:.4rem 0;line-height:1.35}.admin-row-line:last-child{border-bottom:none}.admin-stat-detail{max-width:min(480px,58%)}.admin-stat-detail.admin-row-lines{text-align:right;align-items:flex-end}.admin-participant-names{color:#5a5280;font-size:15px;line-height:1.4}.admin-stat-stack{flex-direction:column;gap:14px;display:flex}.admin-stat-card{background:linear-gradient(160deg,#fff 0%,#faf8ff 55%,#f3edff 100%);border:1px solid #dfd5f5;border-left:4px solid #4b1d88;border-radius:18px;padding:16px 18px;box-shadow:0 4px 18px #4b1d8817,0 1px 2px #1e18300f}.admin-stat-card-title{color:#2a1f45;letter-spacing:-.02em;border-bottom:1px solid #4b1d8824;margin:0 0 2px;padding-bottom:14px;font-size:1.08rem;font-weight:800;line-height:1.35}.admin-stat-kv{border-bottom:1px solid #4b1d881a;justify-content:space-between;align-items:flex-start;gap:14px;padding:11px 0;display:flex}.admin-stat-kv:last-child{border-bottom:none;padding-bottom:2px}.admin-stat-k{color:#6b5a8f;text-transform:uppercase;letter-spacing:.06em;flex:0 auto;padding-top:3px;font-size:.75rem;font-weight:700;line-height:1.35}.admin-stat-v{color:#4b1d88;text-align:right;font-size:1rem;font-weight:700;line-height:1.35}.admin-stat-v--multiline{white-space:normal;color:#3d2d63;max-width:72%;font-size:.95rem;font-weight:600}.admin-stat-v--muted{color:#5a5280;font-weight:600}.admin-stat-card--muted{background:linear-gradient(160deg,#fdfcfe 0%,#f8f6fc 100%);border-left-color:#b8a8d4;box-shadow:0 2px 10px #4b1d880d}.teacher-tests-page .teacher-tests-head{flex-wrap:wrap;align-items:flex-start;gap:12px 16px;margin-bottom:1.25rem;display:flex}.teacher-tests-head-text{flex:1;min-width:200px}.teacher-tests-head-text h2{margin:0 0 4px}.teacher-back-btn{font:inherit;color:#4b1d88;cursor:pointer;background:#f3edff;border:1px solid #dfd5f5;border-radius:12px;align-self:center;padding:10px 14px;font-weight:700}.teacher-back-btn:hover{background:#ebe4fb}.teacher-grade-accordion{flex-direction:column;gap:14px;display:flex}.teacher-grade-panel{background:#fff;border:1px solid #e6dbff;border-radius:16px;overflow:hidden;box-shadow:0 4px 16px #4b1d880f}.teacher-grade-toggle{width:100%;font:inherit;text-align:left;cursor:pointer;color:inherit;background:linear-gradient(90deg,#faf8ff 0%,#fff 100%);border:none;border-bottom:1px solid #4b1d881a;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.teacher-grade-title{flex-direction:column;gap:2px;display:flex}.teacher-grade-chevron{color:#6b5a8f;flex-shrink:0;font-size:.75rem}.teacher-grade-body{padding:14px 16px 18px}.teacher-grade-stats-title{color:#2a1f45;margin:1.25rem 0 .75rem;font-size:1rem}.teacher-tests-in-grade{margin-bottom:0}.admin-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-user-name-input{color:#1e1830;background:#fff;border:2px solid #4a2388;border-radius:10px;width:100%;max-width:min(100%,320px);padding:8px 12px;font-size:16px}.admin-card--users-full{width:100%;max-width:100%}.admin-user-manage-list{gap:12px;margin-top:4px;display:grid}.admin-user--manage{cursor:default;align-items:flex-start}.admin-user-manage-content{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.admin-list{gap:8px;display:grid}.admin-user{background:#faf8ff;border:1px solid #e6dbff;border-radius:14px;align-items:center;gap:10px;padding:10px;display:flex}.admin-user.active{border-color:#4b1d88;box-shadow:0 8px 18px #4b1d8822}.admin-avatar{color:#fff;background:#4b1d88;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.admin-user-text{text-align:left;gap:2px;display:grid}.admin-chat{gap:10px;display:grid}.admin-chat-box{background:#f7f2ff;border:1px solid #e6dbff;border-radius:16px;gap:10px;min-height:320px;max-height:420px;padding:12px;display:grid;overflow:auto}.admin-bubble{border-radius:14px;max-width:85%;padding:10px 12px}.admin-bubble.from-admin{color:#fff;background:#4b1d88;margin-left:auto}.admin-bubble.from-user{color:#1e1830;background:#fff;border:1px solid #e6dbff}.admin-chat-send{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.admin-chat-send input{background:#fff;font-size:16px}.admin-form{gap:10px;display:grid}.admin-form textarea{min-height:110px}.admin-form-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.admin-table{gap:6px;display:grid}.muted{color:#6b7280}@media (width<=900px){.admin-grid,.admin-chat-send,.admin-form-row{grid-template-columns:1fr}}.admin-dashboard{background:linear-gradient(135deg,#eef2ff 0%,#f6f3ff 100%);grid-template-columns:260px 1fr;min-height:100vh;display:grid}.admin-sidebar{color:#fff;background:linear-gradient(#4b1d88 0%,#6e42c2 100%);flex-direction:column;gap:18px;min-height:100vh;padding:24px 16px;display:flex}.admin-sidebar-top{flex-direction:row;align-items:center;gap:8px;display:flex}.admin-burger{cursor:pointer;background:#ffffff29;border:1px solid #ffffff47;border-radius:10px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:4px;width:38px;height:38px;padding:0;display:none}.admin-burger span{background:#fff;border-radius:2px;width:16px;height:2px;display:block}.admin-burger[aria-expanded=true]{background:#ffffff47}.admin-logout-btn{color:#4b1d88;background:#fff;border:0;border-radius:10px;flex:1;min-width:0;padding:8px 10px;font-size:13px;font-weight:800;box-shadow:0 4px 12px #0000001a}.admin-logout-btn:hover{filter:brightness(1.03)}.admin-brand{gap:4px;display:grid}.admin-brand strong{font-size:24px}.admin-brand span{opacity:.85;font-size:14px}.admin-nav{gap:8px;display:grid}.admin-nav button{text-align:left;color:#fff;background:#ffffff24;border:1px solid #fff3;border-radius:12px}.admin-nav button.active{color:#4b1d88;background:#fff}.admin-main{align-content:start;gap:14px;padding:20px;display:grid}.admin-topbar h2{color:#2b155a;margin:0;font-size:32px}.admin-topbar p{color:#6a6382;margin:6px 0 0}.admin-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.admin-metric-card{background:#fff;border:1px solid #e7defb;border-radius:14px;gap:4px;padding:14px;display:grid}.admin-metric-card small{color:#7f759f}.admin-metric-card strong{color:#2b155a;font-size:26px}.stats article{text-align:center;padding:16px}.stats h3{color:#4c1f88;margin:0;font-size:30px}.stats p{color:#48405f;margin:6px 0 0}.home-cards,.news-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.home-cards article,.news-cards article{border-radius:14px;flex-direction:column;justify-content:flex-end;min-height:188px;padding:14px;display:flex;position:relative;overflow:hidden}.home-cards article:before,.news-cards article:before{content:"";background:var(--bg-muted);position:absolute;inset:0 0 78px}.home-cards article>*,.news-cards article>*{position:relative}.card-content{background:#fff;margin:auto -18px -18px;padding:10px 16px 12px}.cards article h3{color:#1f1637;margin:2px 0 6px;font-size:34px}.cards article p{color:#39314f;margin:0;font-size:16px}.news-cards article small{color:#6f6885;font-size:14px}.news-more-btn{border-radius:10px;width:max-content;margin-top:10px;color:#4b1d88!important;background:#fff!important;border:1px solid #4b1d88!important;padding:8px 14px!important;font-size:14px!important}.news-more-btn:hover{color:#fff!important;background:#4b1d88!important}.showcase-page h2{color:#201245;margin:0 0 12px}.showcase-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;padding:16px}.showcase-cover{border-radius:var(--radius);object-fit:cover;width:100%;height:220px}.achievements-page .showcase-card{width:min(100%,420px);margin:0 auto}.achievements-page .showcase-cover{aspect-ratio:1;width:min(100%,320px);height:auto;margin:0 auto}.teachers-page .showcase-card{width:min(100%,420px);margin:0 auto}.teachers-page .showcase-cover{aspect-ratio:1;width:min(100%,320px);height:auto;margin:0 auto}.showcase-avatar-wrap{justify-content:center;margin-top:-30px;display:flex}.showcase-avatar{object-fit:cover;background:#f7f2ff;border:5px solid #f7f2ff;border-radius:50%;width:76px;height:76px;box-shadow:0 8px 16px #4c26c92e}.showcase-body h3{color:var(--text);margin:10px 0 4px;font-size:20px;font-weight:600;line-height:1.3}.showcase-body small{color:var(--text-muted);font-size:14px;display:block}.showcase-body p{color:var(--text-muted);margin:8px 0 0;font-size:15px;line-height:1.5}.showcase-btn{border-radius:var(--radius);box-shadow:none;border:0;margin-top:14px;font-weight:600;background:var(--accent)!important;color:#fff!important;padding:10px 20px!important;font-size:15px!important}.content{max-width:980px;padding:22px 26px}.content iframe{border:0;border-radius:14px;width:100%;max-width:100%;min-height:220px;margin-top:12px}.content h2{color:var(--text);margin:0 0 16px;font-size:24px;font-weight:600}.content label{color:var(--text);margin-bottom:6px;font-size:14px;font-weight:500;display:block}.contact-page-wrap{width:min(1290px,95%);max-width:100%;padding-left:max(0px, env(safe-area-inset-left));padding-right:max(0px, env(safe-area-inset-right));margin:18px auto}.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:18px 24px;display:grid}.contact-card,.contact-map-card{background:#fff;border:1px solid #d7c7f3;border-radius:14px;padding:18px;box-shadow:0 8px 20px #25174a14}.contact-card h2,.contact-card h3{color:#1d1b3e;margin:0 0 12px;font-size:clamp(24px,2.5vw,34px)}.contact-list{gap:12px;display:grid}.contact-item strong{color:#6a6184;margin-bottom:4px;font-size:14px;display:block}.contact-item{min-height:40px;padding-left:50px;position:relative}.contact-item-icon{background:#f2ebff;border:1px solid #dfd1fc;border-radius:10px;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:2px;left:0}.contact-item-icon svg{fill:none;stroke:#5a2db6;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.contact-item p{color:#1e1830;margin:0;font-size:20px;line-height:1.35}.contact-map-card iframe{border:0;border-radius:10px;width:100%;height:100%;min-height:390px}.contact-social-links{flex-wrap:wrap;gap:10px;display:flex}.contact-social-links a{color:#2f1570;background:#f6f1ff;border:1px solid #d4c2f8;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:10px 14px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.contact-social-links a:hover{color:#fff;background:#4b1d88}.contact-social-icon{line-height:0}.contact-social-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.detail-back-btn{justify-content:center;align-items:center;margin-top:14px;font-weight:700;display:inline-flex;box-shadow:0 8px 18px #4b1d8833;color:#fff!important;background:#4b1d88!important;border:1px solid #4b1d88!important;border-radius:12px!important;padding:10px 16px!important;font-size:15px!important}.detail-back-btn:hover{filter:brightness(1.05);transform:translateY(-1px)}.detail-back-btn:active{transform:translateY(0)}.news-detail-layout{grid-template-columns:360px 1fr;align-items:start;gap:18px;margin-top:12px;display:grid}.news-detail-image{object-fit:cover;border:1px solid #dccbf8;border-radius:18px;width:100%;height:250px}.news-detail-image.teacher-detail-photo,.news-detail-image.achievement-detail-photo{aspect-ratio:auto;object-fit:contain;background:#f5f1ff;height:auto;max-height:none}.teacher-detail-text p{color:#4b4264;margin:0 0 12px;font-size:19px}.chat{min-height:40px;margin-bottom:10px}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius);width:100%;font:inherit;background:var(--bg);color:var(--text);padding:10px 12px;font-size:15px}textarea{resize:vertical;min-height:120px}form button{background:var(--accent);color:#fff;margin-top:8px;padding:10px 20px;font-weight:600}.test-cards{gap:10px;display:grid}.test-cards h2{color:#2b1b4a;margin:0;font-size:56px}.test-cards>p{color:#5b5672;margin:0 0 6px;font-size:24px}.test-leaderboard{background:linear-gradient(145deg,#fff 0%,#faf6ff 100%);border:1px solid #d8c8fb;border-radius:18px;margin:4px 0 18px;padding:16px 18px;box-shadow:0 6px 18px #4b1d8814}.test-leaderboard-title{color:#2a1f45;margin:0 0 6px;font-size:1.35rem}.test-leaderboard-hint{margin:0 0 12px;font-size:.95rem;line-height:1.35}.test-leaderboard-empty{margin:0;font-size:1rem}.test-leaderboard-row{background:#fff;border:1px solid #e8defa;border-radius:14px;grid-template-columns:auto auto 1fr auto;align-items:center;gap:10px 14px;padding:12px 14px;display:grid}.test-leaderboard-row.rank-1{border-color:#c9a227;box-shadow:0 4px 12px #c9a22733}.test-lb-medal{font-size:1.25rem;line-height:1}.test-lb-rank{color:#4b1d88;min-width:1.5rem;font-size:1.1rem;font-weight:800}.test-lb-name{color:#1e1830;font-size:1.05rem;font-weight:700}.test-lb-score{color:#4b1d88;white-space:nowrap;font-size:1.05rem;font-weight:800}.class-card{border-radius:12px;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;min-height:82px;padding:16px;display:flex;background:#aa8df0!important}.class-card.selected{outline:3px solid #4b1d88;box-shadow:0 10px 20px #3c157847}.class-card h3,.class-card-title{color:#2a1a4b;margin:0;font-size:36px;line-height:1.05}.class-card-subtitle{color:#3c2d63;margin:0;font-size:20px;line-height:1.2}.test-browser{background:#fff;border:1px solid #ccb6f7;border-radius:16px;margin-top:14px;padding:14px}.test-browser h3{color:#2b1b4a;margin:0 0 10px;font-size:32px}.test-subject-grid{gap:10px;display:grid}.test-subject-card{background:#f7f2ff;border:1px solid #d8c8fb;border-radius:14px;overflow:hidden}.test-subject-card.active{border-color:#6730c2;box-shadow:0 8px 16px #421d882e}.test-subject-head{color:#2b1b4a;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:12px 14px;display:flex}.test-subject-head b{font-size:24px}.test-subject-head span{color:#5f5481;font-size:16px}.test-title-list{gap:8px;padding:0 12px 12px;display:grid}.test-title-card{background:#fff;border:1px solid #e6dbff;border-radius:12px;padding:10px}.test-title-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.test-title-head strong{color:#2b1b4a;font-size:20px}.test-title-head small{color:#5f5481;font-size:14px}.test-run-modal{border-radius:22px;width:min(100%,980px);overflow:hidden}.test-run-head{margin-bottom:0;padding:8px 8px 8px 0}.test-run-title-wrap{align-items:center;gap:14px;padding-left:6px;display:flex}.test-run-icon{background:linear-gradient(135deg,#7f55e9,#4c26c9);border-radius:14px;place-items:center;width:58px;height:58px;display:grid;box-shadow:0 10px 20px #4c26c947}.test-run-icon svg{fill:none;stroke:#fff;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:30px;height:30px}.test-run-head h4{font-size:24px}.test-run-body{border-top:1px solid #e5ddf7;padding-top:14px}.test-question-card{gap:10px;display:grid}.test-question-headline{align-items:center;gap:12px;margin-bottom:2px;display:flex}.test-question-headline p{color:#20153a;margin:0;font-size:20px}.test-question-badge{color:#4a2a8f;background:#ece7f8;border-radius:14px;place-items:center;min-width:46px;height:46px;font-size:22px;font-weight:700;display:grid}.test-answer-option{color:#726b80;background:#fff;border:1px solid #ddd5ee;border-radius:14px;align-items:center;gap:12px;padding:10px 12px;font-size:18px;display:flex}.test-answer-option.selected{color:#2f1f56;background:#f2eefb;border-color:#6b35d0}.test-answer-option input{width:20px;height:20px}.test-run-actions{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.test-prev-btn,.test-next-btn{border-radius:14px;padding:10px 18px!important;font-size:18px!important}.test-prev-btn{color:#4f2e95!important;background:#ece7f8!important;border:1px solid #e0d6f6!important}.test-next-btn{box-shadow:0 10px 20px #4c26c93d;color:#fff!important;background:linear-gradient(135deg,#7f55e9,#4c26c9)!important;border:1px solid #6b35d0!important}.test-result-text{color:#2f1f56;font-size:18px}.test-result-box{align-items:center;gap:10px;margin-top:4px;display:flex}.test-summary-card{background:#fff;border:1px solid #e4dcf7;border-radius:14px;gap:10px;padding:14px;display:grid}.test-summary-card h5{color:#2f1f56;margin:0;font-size:20px}.test-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.test-summary-grid div{background:#f7f3ff;border:1px solid #ece4ff;border-radius:10px;gap:2px;padding:8px;display:grid}.test-summary-grid span{color:#6b5f8b;font-size:12px}.test-summary-grid strong{color:#2f1f56;font-size:16px}.test-result-percent{color:#4a26ab;background:#f2eefb;border:1px solid #6b35d0;border-radius:10px;justify-content:center;align-items:center;min-width:86px;padding:6px 10px;font-size:20px;font-weight:800;display:inline-flex}@media (width<=700px){.test-summary-grid{grid-template-columns:1fr}}.about-page{width:min(1290px,95%);max-width:100%;padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right));gap:16px;margin:20px auto;display:grid}.about-hero-card,.about-card{background:#fff;border:1px solid #ccb6f7;border-radius:16px;padding:18px}.about-hero-card{grid-template-columns:430px 1fr;gap:20px;display:grid}.about-hero-card img{object-fit:cover;border-radius:14px;width:100%;height:300px}.about-hero-card h2,.about-card h3{color:#261943;margin:0 0 10px}.about-card p,.about-hero-card p{color:#4b4264;font-size:19px}.timeline-list{gap:8px;display:grid}.timeline-item{background:#f4eefc;border-radius:10px;gap:4px;padding:10px;display:grid}.about-teacher-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.about-teacher-item{background:#faf7ff;border:1px solid #dfcffd;border-radius:12px;grid-template-columns:64px 1fr;align-items:center;gap:10px;padding:10px;display:grid}.about-teacher-item img{object-fit:cover;border:2px solid #c8b0f6;border-radius:50%;width:64px;height:64px}.about-teacher-item b{color:#2a1b4a}.about-teacher-item p{margin:2px 0 0;font-size:14px}.auth-shell{padding:14px}.auth-aside{color:#fff;background:#4b1d88;border-radius:12px;margin-bottom:10px;padding:18px}.auth-page{background:radial-gradient(circle at top left, #2563eb14, transparent 42%), radial-gradient(circle at bottom right, #4f46e50f, transparent 38%), var(--bg-muted);place-items:center;min-height:100dvh;padding:32px 16px;display:grid}.auth-card{border:1px solid var(--border);background:var(--bg);border-radius:16px;width:min(440px,100%);padding:32px 28px 24px;box-shadow:0 18px 40px #0f172a14}.auth-header{margin-bottom:24px}.auth-header h2{letter-spacing:-.02em;color:var(--text);margin:0 0 8px;font-size:28px;font-weight:700}.auth-header p{color:var(--text-muted);margin:0;font-size:15px;line-height:1.5}.auth-form{gap:16px;display:grid}.auth-field{gap:6px;display:grid}.auth-field>span{color:#374151;font-size:13px;font-weight:600}.auth-field-row{gap:16px;display:grid}.auth-form input,.auth-form select{width:100%;height:44px;color:var(--text);box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:10px;transition:border-color .15s,box-shadow .15s;padding:0 14px!important;font-size:15px!important}.auth-form input::placeholder{color:#9ca3af}.auth-form input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #2563eb1f}.auth-form input:-webkit-autofill{-webkit-text-fill-color:var(--text);transition:background-color 5000s ease-in-out;box-shadow:inset 0 0 0 1000px #fff}.auth-form input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);transition:background-color 5000s ease-in-out;box-shadow:inset 0 0 0 1000px #fff}.auth-form input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);transition:background-color 5000s ease-in-out;box-shadow:inset 0 0 0 1000px #fff}.auth-submit{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;height:46px;margin-top:4px;font-size:15px;font-weight:600;transition:background .15s,transform .15s}.auth-submit:hover{background:var(--accent-hover)}.auth-submit:active{transform:translateY(1px)}.password-wrap{position:relative}.password-wrap input{height:44px;padding-right:44px!important}.eye-btn{width:32px;min-width:auto;height:32px;color:var(--text-muted);background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.eye-btn:hover{opacity:1;color:var(--text)}.eye-icon{stroke:currentColor;fill:none;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.google-auth{margin-top:20px}.google-sep{place-items:center;margin:0 0 16px;display:grid;position:relative}.google-sep:before{content:"";border-top:1px solid var(--border);position:absolute;top:50%;left:0;right:0}.google-sep span{z-index:1;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;background:var(--bg);padding:0 12px;font-size:12px;font-weight:600;position:relative}.google-btn-wrap{width:100%;min-height:44px;display:grid}.google-btn-wrap>div,.google-btn-wrap iframe{width:100%!important}.auth-footer{border-top:1px solid var(--border);text-align:center;margin-top:24px;padding-top:20px}.auth-switch{color:var(--text-muted);margin:0;font-size:14px}.auth-link{color:var(--accent);font-weight:600;text-decoration:none}.auth-link:hover{color:var(--accent-hover);text-decoration:underline}.form-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin-bottom:16px;padding:12px 14px;font-size:14px;line-height:1.45}.teacher-page{width:min(1200px,95%);margin:20px auto}.teacher-head h2{color:#2b155a;margin:0;font-size:44px}.teacher-head p{color:#605a74;margin:8px 0 18px}.teacher-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.teacher-card{background:#fff;border:1px solid #ccb6f7;border-radius:16px;overflow:hidden;box-shadow:0 10px 20px #2a114a18}.teacher-card-top{background:linear-gradient(130deg,#ab8ef1,#8f6de8);height:120px}.teacher-card-body{gap:6px;padding:14px;display:grid}.teacher-photo{object-fit:cover;background:#fff;border:3px solid #d7c6ff;border-radius:50%;width:78px;height:78px;margin-top:-54px}.teacher-card-body h3{color:#1f1637;margin:0;font-size:22px}.teacher-card-body small{color:#6f6890}.teacher-card-body p{color:#4b4363;margin:0;font-size:15px}.footer{background:var(--bg-muted);color:var(--text);border-top:1px solid var(--border);padding:32px min(24px, 5vw) max(18px, env(safe-area-inset-bottom));padding-left:max(min(24px, 5vw), env(safe-area-inset-left));padding-right:max(min(24px, 5vw), env(safe-area-inset-right));grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:48px;display:grid}.profile-page{width:min(1280px,96%);max-width:100%;padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right));padding-bottom:max(24px, env(safe-area-inset-bottom));flex-direction:column;gap:clamp(22px,3vw,36px);margin:30px auto 64px;display:flex}.profile-page h2{color:#111827;margin:0;font-size:clamp(34px,3.2vw,48px);font-weight:800;line-height:1.1}.profile-card{box-sizing:border-box;background:#fff;border:1px solid #e5ddf8;border-radius:18px;align-items:center;gap:24px;width:100%;padding:clamp(22px,2.5vw,32px) clamp(24px,3vw,40px);display:flex;box-shadow:0 10px 28px #1d14361f}.profile-card--teacher{background:linear-gradient(165deg,#fff 0%,#faf7ff 45%,#f3ecff 100%);border-color:#dfd5f5;flex-direction:column;align-items:stretch}.profile-card--language{flex-direction:column;align-items:stretch;gap:0;padding:clamp(18px,2vw,26px) clamp(22px,2.8vw,36px)}.profile-language-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.profile-language-title{color:#2a1f45;margin:0 0 4px;font-size:clamp(1rem,1.1vw,1.15rem);font-weight:800}.profile-language-hint{max-width:36rem;margin:0;font-size:.92rem;line-height:1.45}.lang-switch--profile{flex-shrink:0}@media (width<=520px){.profile-language-row{flex-direction:column;align-items:stretch}.lang-switch--profile{align-self:center}}.profile-teacher-inner{flex-direction:column;gap:clamp(18px,2.5vw,26px);width:100%;display:flex}.profile-teacher-copy h3{color:#482185;margin:0 0 10px;font-size:clamp(22px,2.2vw,30px);font-weight:800;line-height:1.15}.profile-teacher-lead{color:#5d5a6d;max-width:52rem;margin:0;font-size:clamp(15px,1.25vw,18px);line-height:1.55}.profile-teacher-cta{letter-spacing:.01em;color:#fff;cursor:pointer;background:linear-gradient(135deg,#5c2eb0 0%,#4b1d88 55%,#3d1770 100%);border:none;border-radius:14px;align-self:flex-start;width:100%;max-width:min(100%,420px);margin-top:4px;padding:14px 22px;font-size:16px;font-weight:800;transition:transform .18s,box-shadow .2s;box-shadow:0 4px 16px #4b1d8859,inset 0 1px #ffffff1f}.profile-teacher-cta:hover{transform:translateY(-1px);box-shadow:0 8px 24px #4b1d8866,inset 0 1px #ffffff26}.profile-teacher-cta:active{transform:translateY(0)}.profile-avatar{aspect-ratio:1;color:#5f35a4;background:#f9f5ff;border:3px solid #aa8de6;border-radius:50%;flex:none;place-items:center;width:86px;min-width:86px;height:86px;min-height:86px;display:grid;position:relative;overflow:hidden}.profile-avatar-svg{fill:none;stroke:#9a7ddb;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:50px;height:50px}.profile-avatar-image{object-fit:cover;object-position:center 35%;border-radius:50%;width:100%;height:100%;display:block}.profile-avatar-badge{background:#6e4ab4;border:2px solid #fff;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:absolute;bottom:-4px;right:-4px}.profile-avatar-badge svg{fill:none;stroke:#fff;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}.profile-info h3{color:#482185;margin:0;font-size:clamp(26px,2.6vw,42px);font-weight:700;line-height:1.08}.profile-head-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.profile-actions{align-items:center;gap:8px;display:flex}.profile-settings-btn,.profile-logout-btn{color:#482185;background:#fff;border:1px solid #d8c8fb;border-radius:10px;padding:8px 10px;font-size:14px;font-weight:700}.profile-settings-btn{place-items:center;width:38px;height:38px;padding:0;display:grid;min-width:38px!important}.profile-logout-btn{min-width:92px!important}.profile-settings-panel{gap:8px;max-width:100%;display:grid}.profile-settings-panel input,.profile-settings-panel select{background:#fff;border:1px solid #d8c8fb;border-radius:10px;padding:8px 10px;font-size:15px}.profile-file-hidden{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.profile-file-picker{cursor:pointer;background:linear-gradient(#fff 0%,#f4ecff 100%);border:1px solid #d8c8fb;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;transition:transform .2s,box-shadow .25s,border-color .2s;display:flex}.profile-file-picker:hover{border-color:#9d7ae8;transform:translateY(-1px);box-shadow:0 10px 24px #4c259529}.profile-file-icon{background:radial-gradient(circle at 30% 30%,#fff,#ddd0ff 75%);border:1px solid #cab3fa;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid}.profile-file-icon svg{fill:none;stroke:#5b2ea6;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.profile-file-picker:hover .profile-file-icon svg{animation:1.05s linear infinite profileSpinIcon}.profile-file-text{gap:1px;display:grid}.profile-file-text strong{color:#3d1d7a;font-size:15px;line-height:1.1}.profile-file-text small{color:#6a5a88;font-size:12px;line-height:1.1}.profile-settings-panel button{width:max-content}@keyframes profileSpinIcon{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.profile-modal-backdrop{z-index:1000;background:#150d2873;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.profile-modal{background:#f8f4ff;border:1px solid #d6c5fb;border-radius:16px;width:min(100%,460px);padding:16px;box-shadow:0 22px 60px #27104e4d}.teacher-test-modal{flex-direction:column;width:min(100%,980px);max-height:90vh;padding:0;display:flex;overflow:hidden}.teacher-test-modal .profile-modal-head{background:linear-gradient(#f6f0ff 0%,#f2ebff 100%);border-bottom:1px solid #e6dbff;margin-bottom:0;padding:18px 20px 14px}.teacher-test-modal .profile-settings-panel{background:#f7f3ff;padding:16px 20px 18px}.teacher-test-modal .profile-settings-panel>input,.teacher-test-modal .profile-settings-panel>textarea,.teacher-test-modal .profile-settings-panel>.admin-form-row select{background:#fff;border:1px solid #d8cafb;border-radius:12px}.teacher-test-modal .profile-settings-panel>input:focus,.teacher-test-modal .profile-settings-panel>textarea:focus,.teacher-test-modal .profile-settings-panel>.admin-form-row select:focus{border-color:#8451db;outline:none;box-shadow:0 0 0 3px #8451db29}.teacher-test-scroll{gap:10px;padding-right:4px;display:grid;overflow:hidden auto}.profile-modal-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.profile-modal-head h4{color:#482185;margin:0;font-size:21px}.profile-modal-close{color:#482185;background:#fff;border:1px solid #d6c5fb;border-radius:8px;width:34px;height:34px;padding:0;font-weight:700;min-width:34px!important}.nick-row{align-items:center;gap:10px;display:flex}.nick-input{color:#482185;background:#fff;border:1px solid #d8c8fb;border-radius:10px;max-width:340px;font-weight:700;padding:8px 12px!important;font-size:clamp(20px,2.2vw,30px)!important}.nick-edit-error{color:#c92a2a;margin:6px 0 0;font-size:14px!important}.profile-info p{color:#5d5a6d;margin:4px 0 0;font-size:clamp(14px,1.2vw,19px)}.profile-id{letter-spacing:.02em;font-weight:700;color:#8b74d8!important}.phone-row{align-items:center;gap:8px;display:flex}.phone-edit-btn{color:#6232ad;background:0 0;border:0;border-radius:0;place-items:center;width:24px;height:24px;padding:0;display:grid;min-width:24px!important}.phone-edit-btn:hover{opacity:.85;transform:translateY(-1px)scale(1.05)}.phone-edit-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.phone-edit-panel{align-items:center;gap:8px;margin-top:10px;display:flex}.phone-edit-panel input{letter-spacing:.02em;background:#fff;border:1px solid #d8c8fb;border-radius:10px;max-width:100%;padding:8px 10px;font-size:16px}.teacher-answer-row{grid-template-columns:auto 1fr;align-items:center;gap:8px;display:grid}.teacher-correct-only{align-items:center;width:fit-content;display:inline-flex}.teacher-question-card{background:#fff;border:1px solid #d9c8fb;border-radius:14px;gap:10px;padding:12px;display:grid;box-shadow:0 8px 20px #4a238f14}.teacher-question-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid;overflow:hidden}.teacher-question-index{color:#44207f;font-size:20px;font-weight:700}.teacher-question-text-input{width:100%;min-width:0}.teacher-small-input{text-align:center;width:92px;min-width:0}.teacher-points-row{align-items:center;gap:10px;display:flex}.teacher-question-head .ghost{white-space:nowrap;justify-self:start;margin-right:2px}.teacher-answer-row input[type=text],.teacher-answer-row input:not([type]){border-radius:10px}.teacher-test-modal .admin-actions{flex-wrap:wrap;gap:10px}.teacher-test-modal .admin-actions button{border-radius:999px;min-height:40px;padding:9px 16px}@media (width<=900px){.teacher-test-modal .profile-modal-head{padding:14px 14px 10px}.teacher-test-modal .profile-settings-panel{padding:12px 14px 14px}.teacher-question-head{grid-template-columns:1fr}}.phone-edit-error{color:#c92a2a;margin:8px 0 0;font-size:14px!important}.profile-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.8vw,32px);width:100%;margin:0;display:grid}.profile-stats article{text-align:center;background:#fff;border:1px solid #e5ddf8;border-radius:16px;align-content:center;justify-items:center;min-height:clamp(158px,18vw,178px);padding:clamp(20px,2.5vw,28px) clamp(16px,2vw,24px);display:grid;box-shadow:0 8px 22px #1d14361f}.metric-icon{margin-bottom:4px;line-height:0;display:block}.metric-icon svg{fill:none;stroke:#5d2ca6;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:40px;height:40px}.profile-stats strong{color:#4e258f;font-size:clamp(44px,3.2vw,58px);line-height:1}.profile-stats p{color:#272037;margin:2px 0 0;font-size:clamp(14px,1.2vw,19px);font-weight:700}.footer h3{color:var(--text);margin:0 0 8px;font-size:16px;font-weight:600}.footer p,.footer li{color:var(--text-muted);margin:0 0 5px;font-size:14px;line-height:1.5}.footer ul{margin:0;padding:0;list-style:none}.footer a{color:var(--text-muted);text-decoration:none}.footer-social-links a{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);padding:6px 10px;font-size:13px}.footer small{text-align:center;border-top:1px solid var(--border);color:var(--text-muted);grid-column:1/-1;padding-top:16px;font-size:13px}.toast,.loader{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));z-index:120;background:var(--text);color:#fff;border-radius:var(--radius);max-width:calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));word-break:break-word;padding:8px 12px;font-size:14px;position:fixed}.loader{right:auto;left:max(12px, env(safe-area-inset-left))}@media (width<=1200px){.hero{grid-template-columns:1fr}.home-cards,.news-cards{grid-template-columns:1fr 1fr}.class-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero h4{font-size:44px}.hero h1{font-size:60px}.hero h3{font-size:36px}.hero-media{height:clamp(320px,52vw,500px)}}@media (width<=900px){.admin-dashboard{grid-template-columns:1fr}.admin-sidebar{gap:14px;min-height:0;padding:16px 14px}.admin-burger{display:flex}.admin-nav.admin-nav--mobile-closed{display:none}.admin-brand strong{font-size:22px}.admin-nav button{padding:11px 12px;font-size:15px}.admin-sidebar-top{gap:6px}.admin-logout-btn{padding:8px 10px;font-size:13px}.admin-burger{width:36px;height:36px}.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-row{flex-direction:column;align-items:stretch;gap:12px;padding:14px 0}.admin-row.admin-row-valign-top{align-items:stretch}.admin-row>.admin-row-lines{flex:none;width:100%;max-width:100%}.admin-actions{flex-direction:column;align-items:stretch;gap:10px;width:100%}.admin-actions button{box-sizing:border-box;width:100%;margin:0}.admin-user-name-input,.admin-stat-detail{max-width:100%}.admin-stat-detail.admin-row-lines{text-align:left;align-items:stretch}.admin-row .admin-row-line{word-break:break-word;overflow-wrap:anywhere}.navbar{width:100%;max-width:100%;padding-left:max(10px, env(safe-area-inset-left));padding-right:max(10px, env(safe-area-inset-right));grid-template-rows:auto auto;grid-template-columns:auto 1fr auto;align-items:center;gap:10px 12px;margin-left:0;margin-right:0;display:grid}.about-hero-card{grid-template-columns:1fr}.about-hero-card img{height:min(240px,50vw)}.admin-panel{width:100%;padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right))}.brand-wordmark{color:#2a1f45;letter-spacing:-.02em;white-space:nowrap;font-size:clamp(.82rem,3.4vw,1rem);font-weight:800;display:inline}.brand{grid-area:1/2;place-self:center;gap:8px;min-width:0;max-width:100%;padding:0}.brand-logo{width:36px;height:36px}.brand-text strong{font-size:24px}.brand-text span{font-size:16px}.navbar-nav{display:contents}.nav-burger{grid-area:1/1;place-self:center start;display:inline-flex}.nav-auth{flex-wrap:wrap;grid-area:1/3;justify-content:flex-end;place-self:center end;gap:8px;width:auto;margin-left:0;display:flex}.nav-auth>button:not(.profile-btn){display:none}.nav-auth button{width:auto;min-width:0;padding:8px 12px}.nav-lang-select{min-width:66px;padding:6px 24px 6px 8px;font-size:12px}.profile-btn{min-width:auto!important;padding:7px 12px!important;font-size:14px!important;font-weight:700!important}.nav-main{background:0 0;border:none;border-radius:0;grid-area:2/1/auto/-1;justify-self:stretch;width:100%;margin-left:0;padding:0;display:none}.nav-main.nav-main--open{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:4px;margin-top:2px;padding:12px;display:flex}.nav-main__pill{display:none}.nav-main.nav-main--open .nav-main-link{text-align:center;color:#3b1e7b;border-radius:12px;justify-content:center;width:100%;font-size:15px}.nav-main.nav-main--open>.nav-main-link:first-of-type{border-radius:12px 12px 0 0;padding-left:12px}.nav-main.nav-main--open>.nav-main-link:not(:first-of-type),.nav-main.nav-main--open>.dropdown>.nav-main-link{border-radius:0}.nav-main.nav-main--open>.dropdown:last-child>.nav-main-link{border-radius:0 0 12px 12px;padding-right:12px}.nav-main.nav-main--open .nav-main-link--mobile-end{border-radius:0 0 12px 12px}.nav-main.nav-main--open .nav-main-link.active{color:var(--accent)!important;background:#eff6ff!important}.dropdown{width:100%}.menu{width:100%;min-width:0;box-shadow:none;border:1px solid #e6dbff;margin-top:8px;position:static;left:auto;right:auto}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.home-cards,.news-cards,.showcase-grid{grid-template-columns:1fr}.class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer{grid-template-columns:1fr}.ad-banner-card img,.ad-banner-video{aspect-ratio:16/9}.ad-carousel{--ad-side-width:170px;width:min(78%,620px);min-width:0;padding-left:24px;padding-right:24px}.ad-carousel-nav--prev{left:calc((var(--ad-side-width) + 20px) * -1)}.ad-carousel-nav--next{right:calc((var(--ad-side-width) + 20px) * -1)}.ad-carousel-side{width:var(--ad-side-width);opacity:.32;height:calc(100% - 86px)}.contact-grid{grid-template-columns:1fr}.contact-social-card{grid-column:auto}.contact-map-card iframe{min-height:320px}.hero{gap:18px;padding:18px 8px}.hero h4{font-size:42px}.hero h1{font-size:56px}.hero h3{font-size:34px}.hero p{font-size:22px}.hero-media{border-radius:22px;height:clamp(330px,58vw,500px)}.teacher-grid,.about-teacher-grid{grid-template-columns:1fr 1fr}.profile-page h2{font-size:34px}.profile-info h3{font-size:30px}.profile-info p{font-size:21px}.profile-stats{grid-template-columns:1fr;gap:22px}.profile-stats strong{font-size:36px}.profile-stats p{font-size:22px}}@media (width<=640px){.hero,.stats,.cards,.content,.auth,.admin{width:100%;padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right))}.content{padding:16px 14px}.ad-surface,.contact-page-wrap{width:100%;padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right))}.contact-card,.contact-map-card{padding:14px}.contact-item p,.content label{font-size:18px}.content h2{font-size:clamp(26px,7vw,34px)}.profile-card:not(.profile-card--teacher):not(.profile-card--language){text-align:center;flex-direction:column;align-items:center}.profile-card:not(.profile-card--teacher):not(.profile-card--language) .profile-info{text-align:center;width:100%}.profile-card:not(.profile-card--teacher):not(.profile-card--language) .profile-head-row{flex-direction:column;align-items:center;gap:12px}.profile-card:not(.profile-card--teacher):not(.profile-card--language) .profile-actions{flex-wrap:wrap;justify-content:center}.profile-teacher-cta{align-self:stretch;max-width:100%}.teacher-tests-page .teacher-tests-head{flex-direction:column;align-items:stretch}.teacher-tests-page .teacher-tests-head .profile-logout-btn{box-sizing:border-box;justify-content:center;align-items:center;width:100%;display:inline-flex}.teacher-back-btn{text-align:center;width:100%}.test-leaderboard-row{grid-template-columns:1fr;justify-items:start;gap:6px;display:grid}.admin-main{padding:14px}.admin-metrics,.stats,.class-grid{grid-template-columns:1fr}.navbar{margin-top:8px}.brand-logo{width:32px;height:32px}.brand-text strong{font-size:20px}.brand-text span{font-size:14px}.nav-burger{width:40px;height:40px}.profile-btn-label{display:none}.profile-btn{gap:0!important;padding:8px 10px!important}.content h2,.test-cards h2{font-size:28px}.detail-back-btn{width:100%;max-width:260px}.news-detail-layout{grid-template-columns:1fr}.news-detail-image{height:210px}.news-detail-image.teacher-detail-photo,.news-detail-image.achievement-detail-photo{aspect-ratio:auto;object-fit:contain;height:auto}.showcase-cover{height:190px}.achievements-page .showcase-cover,.teachers-page .showcase-cover{aspect-ratio:1;height:auto}.showcase-body h3{font-size:30px}.showcase-body small{font-size:18px}.showcase-body p{font-size:16px}.showcase-btn{padding:9px 18px!important;font-size:18px!important}.hero h1{letter-spacing:0;font-size:52px}.hero h4{font-size:32px}.hero h3{margin-top:4px;font-size:24px}.hero p{margin-bottom:12px;font-size:16px}.hero .row{flex-flow:wrap}.hero .row button{padding:8px 12px;font-size:15px}.hero-media{border-radius:18px;height:clamp(290px,66vw,460px)}.cards article p,.footer p,.footer li{font-size:16px}.cards article h3,.class-card h3,.class-card-title,.footer h3{font-size:24px}.class-card-subtitle{font-size:16px}.footer{gap:20px;padding:28px 18px 16px}.footer small{font-size:15px}.auth-page{min-height:100dvh;padding:20px 14px}.auth-card{width:min(440px, calc(100vw - 28px - env(safe-area-inset-left) - env(safe-area-inset-right)));border-radius:14px;padding:24px 18px 20px}.auth-header h2{font-size:24px}.auth-header p{font-size:14px}.teacher-head h2{font-size:30px}.teacher-grid,.about-teacher-grid{grid-template-columns:1fr}}@media (width<=480px){.hero h4{font-size:clamp(26px,8vw,34px)}.hero h1{font-size:clamp(32px,10vw,44px)}.hero h3{font-size:clamp(20px,6vw,28px)}.hero p{font-size:15px;line-height:1.45}.hero-media{border-radius:16px;height:clamp(260px,72vw,440px)}.hero{gap:14px;padding:14px 10px}.stats h3{font-size:22px}.stats p{font-size:14px}.footer h3{font-size:clamp(22px,6vw,28px)}.footer p,.footer li{font-size:15px;line-height:1.45}.footer{padding:28px 16px max(20px, env(safe-area-inset-bottom));gap:24px}.footer small{font-size:13px}.ad-carousel{width:100%;padding-bottom:24px;padding-left:32px;padding-right:32px}.ad-carousel-side{display:none}.ad-carousel-nav{width:30px;height:72px;font-size:20px}.ad-carousel-nav--prev{left:0}.ad-carousel-nav--next{right:0}.contact-map-card iframe{min-height:260px}.test-cards>p{font-size:16px}.test-subject-head b{font-size:18px}.test-title-head{flex-direction:column;align-items:flex-start;gap:6px}.test-title-head strong{font-size:17px}.class-card h3,.class-card-title{font-size:clamp(22px,7vw,30px)}.class-card-subtitle{font-size:15px}.test-question-headline p{font-size:16px}.test-answer-option{padding:12px;font-size:16px}.test-run-actions{flex-direction:column;align-items:stretch;gap:10px}.test-prev-btn,.test-next-btn{width:100%}.test-leaderboard-row{padding:10px 12px}.teachers-page .showcase-card{border-radius:18px;width:100%;max-width:100%;padding:14px 12px 16px}.teachers-page .showcase-cover{aspect-ratio:3/4;object-fit:cover;border-radius:14px;width:100%;max-width:100%}.teachers-page .showcase-avatar-wrap{margin-top:-24px}.teachers-page .showcase-avatar{border-width:4px;width:66px;height:66px}.teachers-page .showcase-body h3{word-break:break-word;overflow-wrap:anywhere;font-size:clamp(24px,7vw,30px);line-height:1.15}.teachers-page .showcase-body small{word-break:break-word;overflow-wrap:anywhere;font-size:16px;line-height:1.3}.teachers-page .showcase-body p{word-break:break-word;overflow-wrap:anywhere;font-size:15px;line-height:1.4}.teachers-page .showcase-btn{width:100%;max-width:100%;font-size:16px!important}.test-lb-medal{font-size:1.1rem}.admin-stat-kv{flex-direction:column;align-items:flex-start;gap:4px;padding:10px 0}.admin-stat-v{text-align:left;max-width:100%}.admin-stat-v--multiline{max-width:100%}.profile-page h2{font-size:clamp(28px,8vw,34px)}.profile-stats strong{font-size:clamp(32px,12vw,40px)}.profile-stats p{font-size:14px}.profile-stats article{min-height:auto;padding:18px 14px}.auth-card{width:min(440px, calc(100vw - 28px - env(safe-area-inset-left) - env(safe-area-inset-right)));padding:24px 18px 20px}input,select,textarea{font-size:16px}form button{box-sizing:border-box;width:100%;max-width:100%}.nav-auth{gap:6px}.nav-auth button{padding:8px 10px;font-size:14px}.nav-lang-select{min-width:62px;padding:6px 22px 6px 8px;font-size:12px}.teacher-grade-toggle{padding:12px;font-size:15px}.teacher-grade-body{padding:12px 12px 14px}.profile-modal{width:min(100%, calc(100vw - 20px - env(safe-area-inset-left) - env(safe-area-inset-right)));max-height:min(90vh,100dvh - 24px);overflow-y:auto}}@media (width<=360px){.brand-wordmark{text-overflow:ellipsis;max-width:42vw;font-size:.72rem;overflow:hidden}.nav-auth button{padding:7px 8px;font-size:13px}.hero .row{flex-direction:column;width:100%}.hero .row button{width:100%}}:root{--color-bg:#f7f8fc;--color-surface:#fff;--color-surface-soft:#f1eeff;--color-navy:#11123f;--color-navy-deep:#090b2d;--color-primary:#2563eb;--color-primary-dark:#1d4ed8;--color-violet:#6d28d9;--color-violet-light:#a78bfa;--color-orange:#f97316;--color-red:#e5484d;--color-text:#111827;--color-muted:#667085;--color-border:#11123f1a;--gradient-brand:linear-gradient(135deg, #2563eb 0%, #6d28d9 100%);--shadow-sm:0 1px 2px #11123f0f;--shadow-md:0 10px 30px #11123f14;--shadow-lg:0 20px 50px #11123f1f;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--container:min(1180px, calc(100% - 32px));--header-height:76px;--transition:.18s cubic-bezier(.4, 0, .2, 1);--bg:var(--color-surface);--bg-muted:var(--color-bg);--text:var(--color-text);--text-muted:var(--color-muted);--border:var(--color-border);--accent:var(--color-primary);--accent-hover:var(--color-primary-dark);--radius:var(--radius-sm);--shadow:var(--shadow-sm);--max-width:1180px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html,body,#root{background:var(--color-bg);color:var(--color-text);font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,sans-serif}.page{background:var(--color-bg);flex-direction:column;min-height:100dvh;display:flex}.page>main,.page>section:not(.site-header):not(.site-footer),.page>.hero,.page>.stats,.page>.cards,.page>.content,.page>.ad-surface,.page>.profile-page,.page>.auth-page{flex:none}.page>.site-footer{margin-top:auto}.container{width:var(--container);max-width:100%;padding-inline:max(16px, env(safe-area-inset-left)) max(16px, env(safe-area-inset-right));margin-inline:auto}.media-frame{border-radius:var(--radius-md);background:var(--color-surface-soft);justify-content:center;align-items:center;display:flex;overflow:hidden}.media-image{object-fit:contain;object-position:center;width:100%;max-width:100%;height:auto;display:block}.media-placeholder{aspect-ratio:16/10;background:linear-gradient(135deg,#2563eb14,#6d28d914);width:100%}.btn{cursor:pointer;min-height:44px;transition:transform var(--transition), box-shadow var(--transition), background var(--transition), border-color var(--transition);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:600;display:inline-flex}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn--primary{background:var(--gradient-brand);color:#fff;box-shadow:0 8px 24px #2563eb38}.btn--primary:hover{transform:translateY(-1px);box-shadow:0 12px 28px #2563eb47}.btn--ghost{border-color:var(--color-border);color:var(--color-navy);background:#ffffffd9}.btn--ghost:hover{background:#fff;border-color:#2563eb40}.page-hero{width:var(--container);border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-md);margin:24px auto 28px;padding:clamp(28px,5vw,48px);position:relative;overflow:hidden}.page-hero__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary);margin:0 0 10px;font-size:13px;font-weight:700}.page-hero h1{letter-spacing:-.03em;color:var(--color-navy);margin:0;font-size:clamp(28px,4vw,44px);line-height:1.1}.page-hero__desc{max-width:62ch;color:var(--color-muted);margin:12px 0 0;font-size:clamp(15px,2vw,17px);line-height:1.65}.page-hero__decor{aspect-ratio:1;pointer-events:none;background:radial-gradient(circle,#6d28d91f,#0000 68%);border-radius:50%;width:min(320px,45%);position:absolute;inset:auto -10% -40% auto}.empty-state{border-radius:var(--radius-lg);text-align:center;background:#ffffffb3;border:1px dashed #11123f24;padding:36px 24px}.empty-state__icon{width:48px;height:48px;color:var(--color-violet);margin:0 auto 14px}.empty-state h3{color:var(--color-navy);margin:0 0 8px}.empty-state p{color:var(--color-muted);margin:0}.animated-counter{font-variant-numeric:tabular-nums}.site-header{z-index:200;-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--color-border);transition:box-shadow var(--transition), background var(--transition);background:#ffffffd1;position:sticky;top:0}.site-header.is-scrolled{box-shadow:var(--shadow-md);background:#fffffff0}.site-header .navbar{width:var(--container);min-height:var(--header-height);margin:0 auto;padding-block:10px}.brand-logo{width:52px;height:52px;box-shadow:var(--shadow-sm);border-radius:14px}.nav-main{background:#f1eeffa6;border:1px solid #11123f0f;border-radius:999px;gap:2px;padding:4px}.nav-main__pill{transition:transform .22s cubic-bezier(.4, 0, .2, 1), width .22s cubic-bezier(.4, 0, .2, 1), opacity var(--transition);pointer-events:none;background:#fff;border-radius:999px;position:absolute;top:4px;bottom:4px;left:0;box-shadow:0 4px 14px #11123f14;display:block!important}.nav-main-link{color:var(--color-muted)!important;transition:color var(--transition)!important;border-radius:999px!important;padding:10px 14px!important;font-weight:600!important}.nav-main-link.active{color:var(--color-navy)!important;background:0 0!important}.nav-main-link:hover{color:var(--color-primary)!important}.nav-auth button,.nav-lang-select{min-height:44px;border-radius:999px!important}.nav-auth button.active{background:var(--gradient-brand)!important;color:#fff!important;border-color:#0000!important}.menu{border:1px solid var(--color-border)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-lg)!important;background:var(--color-surface)!important}.menu-card{transition:border-color var(--transition), transform var(--transition);border:1px solid #0000;background:var(--color-surface-soft)!important}.menu-card:hover{border-color:#2563eb2e;transform:translateY(-1px)}.hero{width:var(--container);border-radius:var(--radius-xl);background:radial-gradient(circle at 10% 10%, #2563eb1a, transparent 42%), radial-gradient(circle at 90% 80%, #6d28d914, transparent 38%), var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-md);grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(20px,4vw,40px);margin:28px auto;padding:clamp(24px,4vw,40px);display:grid;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background-image:linear-gradient(#11123f08 1px,#0000 1px),linear-gradient(90deg,#11123f08 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#00000059,#0000 80%);mask-image:linear-gradient(#00000059,#0000 80%)}.hero>div:first-child{z-index:1;position:relative}.hero h4{letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary);margin:0 0 8px;font-size:13px;font-weight:700}.hero h1{letter-spacing:-.03em;color:var(--color-navy);margin:0;font-size:clamp(32px,5vw,52px);line-height:1.05}.hero h3{color:var(--color-violet);margin:10px 0 0;font-size:clamp(18px,2.5vw,24px);font-weight:700}.hero p{max-width:52ch;color:var(--color-muted);margin:14px 0 0;line-height:1.65}.hero .row{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.hero .row button:first-child{background:var(--gradient-brand);color:#fff;border-radius:999px;min-height:46px;padding:0 22px;font-weight:700;box-shadow:0 10px 24px #2563eb38}.hero .row button.ghost{border:1px solid var(--color-border);min-height:46px;color:var(--color-navy);background:#ffffffe6;border-radius:999px;padding:0 22px;font-weight:700}.hero-media{z-index:1;border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);background:var(--color-surface-soft);position:relative;overflow:hidden}.hero-media .media-frame,.hero-media img{object-fit:contain;width:100%;height:auto;display:block}.stats{width:var(--container);grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:8px auto 28px;display:grid}.stats article{border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:transform var(--transition), box-shadow var(--transition);padding:22px 20px;position:relative;overflow:hidden}.stats article:before{content:"";background:var(--gradient-brand);width:100%;height:3px;position:absolute;inset:0 auto auto 0}.stats article:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stats article h3{color:var(--color-navy);margin:0;font-size:clamp(28px,4vw,38px);line-height:1}.stats article p{color:var(--color-muted);margin:8px 0 0;font-weight:600}.cards{width:var(--container);margin:0 auto 36px}.cards h2,.showcase-page h2{letter-spacing:-.02em;color:var(--color-navy);margin:0 0 18px;font-size:clamp(24px,3vw,34px)}.showcase-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;display:grid}.showcase-card{border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:transform var(--transition), box-shadow var(--transition);grid-column:span 6;grid-template-rows:auto 1fr;display:grid;overflow:hidden}.showcase-card:first-child{grid-column:span 12;grid-template-rows:none;grid-template-columns:1.1fr 1fr;align-items:stretch}.showcase-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.showcase-cover,.showcase-avatar-wrap,.showcase-avatar{display:none}.showcase-card .media-frame{background:var(--color-surface-soft);border-radius:0;min-height:180px}.showcase-card:first-child .media-frame{min-height:280px}.showcase-body{flex-direction:column;gap:8px;padding:18px 20px 20px;display:flex}.showcase-body h3{color:var(--color-navy);margin:0;font-size:clamp(18px,2vw,22px)}.showcase-body small{color:var(--color-primary);letter-spacing:.04em;font-size:12px;font-weight:700}.showcase-body p{color:var(--color-muted);flex:1;margin:0;line-height:1.6}.showcase-btn{min-height:42px;color:var(--color-primary);background:#2563eb14;border:1px solid #2563eb24;border-radius:999px;align-self:flex-start;margin-top:8px;padding:0 16px;font-weight:700}.showcase-btn:hover{background:var(--gradient-brand);color:#fff}.site-footer.footer,.footer{width:100%;padding:clamp(36px, 5vw, 56px) max(16px, env(safe-area-inset-left)) clamp(24px, 4vw, 32px) max(16px, env(safe-area-inset-right));background:linear-gradient(180deg, #2563eb14, transparent 120px), linear-gradient(135deg, var(--color-navy-deep), var(--color-navy));color:#ffffffe0;border-top:1px solid #ffffff14;grid-template-columns:1.2fr 1fr 1fr;gap:28px;margin:0;display:grid}.footer h3{color:#fff;margin:0 0 12px;font-size:16px}.footer p,.footer li,.footer small{color:#ffffffb8;line-height:1.65}.footer ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.footer a{color:#ffffffd1;transition:color var(--transition);text-decoration:none}.footer a:hover{color:#fff}.footer-social-links{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.footer-social-links a{background:#ffffff0f;border:1px solid #ffffff24;border-radius:999px;align-items:center;min-height:40px;padding:0 14px;display:inline-flex}.footer>small{border-top:1px solid #ffffff14;grid-column:1/-1;padding-top:18px}.test-cards{width:var(--container)}.test-cards>h2{color:var(--color-navy);letter-spacing:-.03em;font-size:clamp(28px,4vw,42px)}.test-leaderboard{border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-md);margin-bottom:24px;padding:22px}.test-leaderboard-list{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.test-leaderboard-row{border-radius:var(--radius-md);background:var(--color-bg);border:1px solid var(--color-border);grid-template-columns:auto auto 1fr auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.test-leaderboard-row.rank-1{background:linear-gradient(90deg,#f9731614,#0000);border-color:#f9731659}.test-leaderboard-row.rank-2{border-color:#a78bfa59}.test-leaderboard-row.rank-3{border-color:#2563eb40}.class-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;display:grid}.class-card{border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);padding:18px 16px}.class-card:hover,.class-card.selected{box-shadow:var(--shadow-md);border-color:#2563eb47;transform:translateY(-2px)}.class-card-title{color:var(--color-navy);margin:0;font-size:22px}.class-card-subtitle{color:var(--color-muted);margin:6px 0 0;font-weight:600}.profile-page{width:var(--container);margin:24px auto 40px}.profile-page h2{color:var(--color-navy);font-size:clamp(28px,4vw,40px)}.profile-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.profile-stats article{border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);padding:18px}.admin-dashboard{background:var(--color-bg);min-height:100vh}.admin-sidebar{box-shadow:var(--shadow-lg);background:linear-gradient(180deg, var(--color-navy-deep), var(--color-navy))!important;border-right:1px solid #ffffff14!important}.admin-sidebar .admin-brand,.admin-sidebar button,.admin-sidebar .admin-nav-btn{color:#ffffffdb!important}.admin-nav-btn.active{color:#fff!important;background:#ffffff1f!important;border-color:#a78bfa59!important}.admin-topbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.admin-purge-btn,.admin-delete-btn{min-height:44px;color:var(--color-red);cursor:pointer;background:#e5484d14;border:1px solid #e5484d59;border-radius:999px;padding:0 16px;font-weight:700}.admin-purge-btn:hover,.admin-delete-btn:hover{background:#e5484d24}.admin-offline-note{border-radius:var(--radius-md);color:#92400e;background:#f59e0b1f;margin-top:8px;padding:8px 12px;font-size:14px}.admin-metrics article,.admin-panel,.admin-card{border-radius:var(--radius-lg)!important;border:1px solid var(--color-border)!important;box-shadow:var(--shadow-sm)!important;background:var(--color-surface)!important}.admin-metrics article strong{color:var(--color-navy);font-size:clamp(24px,3vw,32px)}@media (width<=1024px){.hero{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.showcase-card,.showcase-card:first-child{grid-column:span 12;grid-template-columns:1fr}.footer{grid-template-columns:1fr 1fr}}@media (width<=900px){.site-header .navbar{grid-template-columns:auto 1fr;gap:12px}.nav-burger{display:flex!important}.nav-main{border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transition:opacity var(--transition), transform var(--transition), visibility var(--transition);background:#fffffff5;flex-direction:column;align-items:stretch;padding:10px;position:absolute;top:calc(100% + 8px);left:0;right:0;transform:translateY(-8px)}.nav-main.nav-main--open{opacity:1;visibility:visible;transform:translateY(0)}.navbar-nav{position:static}.footer,.profile-stats{grid-template-columns:1fr}}.test-lb-medal{background:var(--gradient-brand);color:#fff;border-radius:999px;place-items:center;width:32px;height:32px;font-size:13px;font-weight:800;display:grid}.footer-brand__row{align-items:center;gap:14px;display:flex}.footer-brand__logo{object-fit:contain;background:#ffffff14;border-radius:14px;width:52px;height:52px;padding:4px}.badge{border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.badge--violet{color:var(--color-violet);background:#6d28d91a}.achievements-grid .showcase-card{grid-column:span 4}.contact-page-wrap{width:var(--container);margin:24px auto 40px}.contact-grid{grid-template-columns:1fr 1.2fr;gap:18px;display:grid}.contact-card,.contact-map-card{border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);padding:22px}.contact-map-card iframe{border-radius:var(--radius-md);border:0;width:100%;min-height:320px}.contact-social-card{grid-column:1/-1}.contact-social-links a{border:1px solid var(--color-border);background:var(--color-bg);min-height:44px;color:var(--color-navy);border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-weight:600;text-decoration:none;display:inline-flex}.news-detail-page,.content{width:var(--container);margin:24px auto 40px}.detail-header h1{color:var(--color-navy);margin:0;font-size:clamp(28px,4vw,40px)}.detail-date{color:var(--color-primary);margin-top:10px;font-weight:700;display:inline-block}.news-detail-layout{grid-template-columns:minmax(0,1fr) 1.1fr;align-items:start;gap:24px;margin:24px 0;display:grid}.detail-content p{color:var(--color-text);margin:0;line-height:1.75}.showcase-card--featured,.showcase-card:first-child{grid-column:span 12;grid-template-columns:1.05fr 1fr;display:grid}.teachers-grid .showcase-card,.teachers-grid .teacher-card{grid-column:span 4}@media (width<=900px){.contact-grid,.news-detail-layout{grid-template-columns:1fr}.achievements-grid .showcase-card{grid-column:span 12}.showcase-card--featured,.showcase-card:first-child{grid-template-columns:1fr}.teachers-grid .showcase-card,.teachers-grid .teacher-card{grid-column:span 12}}.tb-backdrop{z-index:1200;-webkit-backdrop-filter:blur(6px);background:#11123f9e;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.tb-modal{--tb-navy:#11123f;--tb-primary:#2563eb;--tb-primary-dark:#1d4ed8;--tb-violet:#6d28d9;--tb-violet-light:#a78bfa;--tb-surface:#fff;--tb-surface-soft:#f6f3ff;--tb-background:#f7f8fc;--tb-text:#111827;--tb-muted:#667085;--tb-danger:#e5484d;--tb-border:#11123f1f;--tb-gradient:linear-gradient(135deg, #2563eb 0%, #6d28d9 100%);background:var(--tb-surface);border:1px solid var(--tb-border);border-radius:20px;flex-direction:column;width:min(100%,1100px);max-height:90dvh;display:flex;overflow:hidden;box-shadow:0 24px 64px #11123f2e,0 8px 24px #11123f14}.tb-header{z-index:3;background:var(--tb-surface);border-bottom:1px solid var(--tb-border);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px 16px;display:flex;position:sticky;top:0}.tb-header-main{align-items:flex-start;gap:14px;min-width:0;display:flex}.tb-header-icon{color:#fff;background:var(--tb-gradient);border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 8px 20px #2563eb47}.tb-title{color:var(--tb-navy);letter-spacing:-.02em;margin:0;font-size:clamp(20px,2vw,24px);font-weight:800}.tb-subtitle{color:var(--tb-muted);margin:4px 0 0;font-size:14px;line-height:1.45}.tb-close-btn{border:1px solid var(--tb-border);background:var(--tb-surface);width:44px;height:44px;color:var(--tb-navy);cursor:pointer;border-radius:12px;place-items:center;transition:background .15s,border-color .15s,transform .12s;display:grid}.tb-close-btn:hover{background:var(--tb-surface-soft);border-color:#6d28d940}.tb-close-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb47}.tb-close-btn:active{transform:scale(.96)}.tb-body{background:var(--tb-background);flex:1;gap:20px;padding:20px 24px 24px;display:grid;overflow:hidden auto}.tb-section{background:var(--tb-surface);border:1px solid var(--tb-border);border-radius:16px;padding:18px}.tb-section-title{color:var(--tb-navy);margin:0;font-size:16px;font-weight:800}.tb-section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.tb-count-badge{color:var(--tb-violet);white-space:nowrap;background:#6d28d914;border:1px solid #6d28d924;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700}.tb-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.tb-field{gap:6px;min-width:0;display:grid}.tb-field--wide{grid-column:span 2}.tb-field--inline{max-width:140px}.tb-label{color:var(--tb-text);font-size:13px;font-weight:700}.tb-required{color:var(--tb-danger);margin-left:2px}.tb-helper{color:var(--tb-muted);margin:0;font-size:12px;line-height:1.4}.tb-input,.tb-select,.tb-textarea{border:1px solid var(--tb-border);background:var(--tb-surface);width:100%;min-height:44px;color:var(--tb-text);font:inherit;border-radius:12px;padding:10px 12px;transition:border-color .15s,box-shadow .15s}.tb-input--compact{min-height:40px}.tb-input::placeholder,.tb-textarea::placeholder{color:#98a2b3}.tb-input:focus,.tb-select:focus,.tb-textarea:focus{border-color:var(--tb-primary);outline:none;box-shadow:0 0 0 3px #2563eb2e}.tb-input--error,.tb-select.tb-input--error,.tb-textarea.tb-input--error{border-color:var(--tb-danger);box-shadow:0 0 0 3px #e5484d1f}.tb-field-error{color:var(--tb-danger);margin:0;font-size:12px;font-weight:600}.tb-field-error--block{margin-bottom:10px}.tb-lang-row{border:1px solid var(--tb-border);background:linear-gradient(180deg, #fafbff 0%, var(--tb-surface-soft) 100%);border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-top:16px;padding:14px 16px;display:grid}.tb-lang-icon{width:40px;height:40px;color:var(--tb-violet);background:#6d28d914;border-radius:10px;place-items:center;display:grid}.tb-lang-copy{gap:2px;min-width:0;display:grid}.tb-lang-copy strong{color:var(--tb-text);font-size:14px}.tb-lang-copy span{color:var(--tb-muted);font-size:12px;line-height:1.4}.tb-switch-row{cursor:pointer;align-items:center;gap:10px;display:flex}.tb-switch-row--compact{cursor:default}.tb-switch-copy strong{color:var(--tb-text);font-size:13px}.tb-switch{flex-shrink:0;width:48px;height:28px;position:relative}.tb-switch input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.tb-switch-slider{background:#d0d5dd;border-radius:999px;transition:background .2s;position:absolute;inset:0}.tb-switch-slider:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #1018282e}.tb-switch input:checked+.tb-switch-slider{background:var(--tb-gradient)}.tb-switch input:focus-visible+.tb-switch-slider{box-shadow:0 0 0 3px #2563eb38}.tb-switch input:checked+.tb-switch-slider:after{transform:translate(20px)}.tb-questions-list{gap:14px;display:grid}.tb-question-card{border:1px solid var(--tb-border);background:var(--tb-surface);border-radius:16px;padding:16px;box-shadow:0 2px 8px #11123f0a}.tb-question-card--error{border-color:#e5484d73;box-shadow:0 0 0 3px #e5484d14}.tb-question-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.tb-question-head-left{align-items:center;gap:10px;min-width:0;display:flex}.tb-question-badge{color:#fff;background:var(--tb-gradient);border-radius:10px;place-items:center;width:36px;height:36px;font-size:13px;font-weight:800;display:grid}.tb-question-title{color:var(--tb-navy);text-transform:lowercase;margin:0;font-size:15px;font-weight:800}.tb-icon-btn{border:1px solid var(--tb-border);background:var(--tb-surface);min-height:36px;color:var(--tb-muted);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 10px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.tb-icon-btn:hover:not(:disabled){background:var(--tb-surface-soft);color:var(--tb-navy)}.tb-icon-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb33}.tb-icon-btn:disabled{opacity:.45;cursor:not-allowed}.tb-icon-btn--danger{width:40px;min-width:40px;padding:0}.tb-icon-btn--danger:hover:not(:disabled){color:var(--tb-danger);background:#e5484d0f;border-color:#e5484d59}.tb-icon-btn--danger-text{color:var(--tb-danger);background:0 0;border-color:#0000;font-size:13px;font-weight:700}.tb-icon-btn--danger-text:hover:not(:disabled){background:#e5484d14}.tb-textarea-wrap{gap:4px;display:grid}.tb-textarea{resize:none;min-height:72px;line-height:1.5}.tb-textarea-meta{justify-content:space-between;align-items:center;min-height:18px;display:flex}.tb-char-count{color:var(--tb-muted);margin-left:auto;font-size:11px}.tb-points-row{border-top:1px dashed var(--tb-border);flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0 14px;padding-top:12px;display:flex}.tb-answers-block{gap:10px;display:grid}.tb-answer-row{border:1px solid var(--tb-border);background:#fcfcff;border-radius:12px;grid-template-columns:36px minmax(0,1fr) auto auto;align-items:start;gap:10px;padding:10px;display:grid}.tb-answer-row--correct{background:linear-gradient(#2563eb0f 0%,#6d28d90a 100%);border-color:#2563eb73}.tb-answer-row--error{border-color:#e5484d66}.tb-answer-letter{width:36px;height:36px;color:var(--tb-violet);background:#6d28d914;border-radius:10px;place-items:center;font-size:13px;font-weight:800;display:grid}.tb-answer-main{gap:4px;min-width:0;display:grid}.tb-correct-control{cursor:pointer;align-items:center;gap:8px;min-height:44px;padding:0 4px;display:inline-flex}.tb-correct-control input{opacity:0;pointer-events:none;position:absolute}.tb-correct-ui{color:#fff;background:#fff;border:2px solid #cbd5e1;border-radius:50%;place-items:center;width:22px;height:22px;transition:border-color .15s,background .15s;display:grid}.tb-correct-control input:checked+.tb-correct-ui{border-color:var(--tb-primary);background:var(--tb-gradient)}.tb-correct-control input:focus-visible+.tb-correct-ui{box-shadow:0 0 0 3px #2563eb38}.tb-correct-badge{color:var(--tb-primary-dark);white-space:nowrap;background:#2563eb1a;border:1px solid #2563eb38;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.tb-correct-label{color:var(--tb-muted);white-space:nowrap;font-size:12px;font-weight:700}.tb-answer-row--correct .tb-correct-label{color:var(--tb-primary-dark)}.tb-add-question{cursor:pointer;text-align:left;background:#2563eb08;border:2px dashed #2563eb47;border-radius:16px;align-items:center;gap:14px;width:100%;min-height:72px;margin-top:14px;padding:14px 16px;transition:border-color .15s,background .15s,transform .12s;display:flex}.tb-add-question:hover{background:linear-gradient(#2563eb0d 0%,#6d28d90f 100%);border-color:#6d28d973}.tb-add-question:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb33}.tb-add-question-icon{color:#fff;background:var(--tb-gradient);border-radius:12px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.tb-add-question-copy{gap:2px;display:grid}.tb-add-question-copy strong{color:var(--tb-navy);font-size:15px}.tb-add-question-copy span{color:var(--tb-muted);font-size:13px}.tb-btn{min-height:44px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:700;transition:transform .12s,box-shadow .15s,background .15s;display:inline-flex}.tb-btn:disabled{opacity:.65;cursor:not-allowed}.tb-btn--secondary,.tb-btn--ghost{border-color:var(--tb-border);background:var(--tb-surface);color:var(--tb-navy)}.tb-btn--secondary:hover:not(:disabled),.tb-btn--ghost:hover:not(:disabled){background:var(--tb-surface-soft)}.tb-btn--add-answer{justify-self:start;margin-top:4px}.tb-btn--primary{color:#fff;background:var(--tb-gradient);box-shadow:0 10px 24px #2563eb47}.tb-btn--primary:hover:not(:disabled){box-shadow:0 12px 28px #6d28d952}.tb-btn--primary:active:not(:disabled){transform:translateY(1px)}.tb-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb47}.tb-api-error{background:#e5484d14;border:1px solid #e5484d38;border-radius:12px;margin:0 0 4px;padding:10px 12px}.tb-footer{z-index:3;padding:14px 24px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--tb-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;bottom:0}.tb-footer-status{color:var(--tb-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.tb-footer-dot{opacity:.5}.tb-footer-warn{color:#b54708;font-weight:700}.tb-footer-ok{color:#027a48;font-weight:700}.tb-footer-actions{flex-wrap:wrap;gap:10px;display:flex}.tb-spin{animation:.8s linear infinite tb-spin}@keyframes tb-spin{to{transform:rotate(360deg)}}@media (width<=1024px){.tb-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tb-field--wide{grid-column:span 2}}@media (width<=768px){.tb-backdrop{align-items:stretch;padding:0}.tb-modal{border-left:0;border-right:0;border-radius:0;width:100%;height:100dvh;max-height:100dvh}.tb-header,.tb-body,.tb-footer{padding-left:16px;padding-right:16px}.tb-meta-grid{grid-template-columns:1fr}.tb-field--wide{grid-column:auto}.tb-lang-row{grid-template-columns:auto 1fr}.tb-lang-row .tb-switch-row{grid-column:1/-1;justify-content:flex-end}.tb-answer-row{grid-template-columns:32px minmax(0,1fr);grid-template-areas:"letter main""correct correct""remove remove"}.tb-answer-letter{grid-area:letter}.tb-answer-main{grid-area:main}.tb-correct-control{grid-area:correct;min-height:40px}.tb-answer-row .tb-icon-btn--danger{grid-area:remove;width:100%;min-width:0}.tb-footer{flex-direction:column;align-items:stretch}.tb-footer-actions{width:100%}.tb-footer-actions .tb-btn{flex:1}.tb-question-head{flex-direction:column;align-items:stretch}.tb-icon-btn--danger-text{background:#e5484d0a;border:1px solid #e5484d33;justify-content:center;min-height:44px}}@media (width<=480px){.tb-title{font-size:18px}.tb-correct-label{white-space:normal}}@media (prefers-reduced-motion:reduce){.tb-spin{animation:none}.tb-close-btn,.tb-btn,.tb-add-question{transition:none}}
