:root{color-scheme:light;--font-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Arial,sans-serif;--bg:#f6f3ff;--surface:#ffffff;--surface-soft:#f4efff;--text:#15112b;--muted:#655f7e;--line:#ddd2fb;--brand:#3b0093;--brand-deep:#2b006d;--brand-soft:rgba(59,0,147,0.08);--accent:#f3fd27;--accent-deep:#d2de00;--shadow:0 18px 48px rgba(59,0,147,0.12)}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}body{font-family:var(--font-sans);background:radial-gradient(circle at top left,rgba(243,253,39,.16),transparent 26%),radial-gradient(circle at top right,rgba(59,0,147,.12),transparent 28%),linear-gradient(180deg,#faf8ff,#f4efff);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.site-frame{min-height:100vh;display:flex;flex-direction:column}.site-main{flex:1 1}.site-breadcrumbs-wrap{border-bottom:0;background:transparent}.site-breadcrumbs{list-style:none;margin:0;padding:10px 0;display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--muted);font-size:13px}.site-breadcrumbs li{display:inline-flex;align-items:center;gap:8px}.site-breadcrumbs a:hover{color:var(--brand);text-decoration:underline}.site-breadcrumb-sep{opacity:.6}.site-shell{width:min(1160px,calc(100% - 32px));margin:0 auto}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:rgba(59,0,147,.96);border-bottom:1px solid rgba(243,253,39,.16)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:80px}.header-menu-toggle{display:none;width:46px;height:46px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:transparent;padding:0;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px}.header-menu-toggle span{display:block;width:18px;height:2px;border-radius:999px;background:#ffffff}.brand-mark{display:flex;align-items:center;gap:14px}.brand-logo-image{width:50px;height:50px;display:grid;place-items:center;border-radius:16px;overflow:hidden;background:rgba(59,0,147,.06);box-shadow:var(--shadow)}.brand-logo-image img{width:100%;height:100%;object-fit:cover}.brand-copy{display:grid;grid-gap:2px;gap:2px}.brand-copy strong{font-size:18px;color:#ffffff}.brand-copy small{color:rgba(255,255,255,.78);font-size:12px}.main-nav{display:flex;align-items:center;gap:20px;color:#ffffff;font-size:15px;font-weight:600}.ghost-link:hover,.main-nav a:hover,.nav-menu-trigger:hover{color:var(--accent)}.nav-menu-shell{position:relative;display:flex;align-items:center;min-height:44px}.nav-menu-shell:after{content:"";position:absolute;left:-18px;right:-18px;top:100%;height:18px}.nav-menu-trigger{border:0;background:transparent;color:#ffffff;cursor:pointer;font-weight:600;padding:0;min-height:44px;display:inline-flex;align-items:center}.mega-menu{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);width:min(760px,calc(100vw - 28px));padding:14px;border-radius:24px;border:1px solid rgba(59,0,147,.14);background:#ffffff;box-shadow:var(--shadow);display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;z-index:20}.mega-menu.open{display:grid}.mega-menu-column{display:grid;grid-gap:10px;gap:10px;padding:0 10px}.mega-menu-column+.mega-menu-column{border-left:1px solid rgba(59,0,147,.14)}.mega-menu-title{color:var(--brand);font-weight:500;font-size:15px}.mega-menu-links{display:grid;grid-gap:8px;gap:8px}.mega-menu-links a{color:var(--text);line-height:1.5}.mega-menu-links a:hover{color:var(--brand)}.header-actions{display:flex;align-items:center;gap:14px}.header-quick-join,.header-quick-join-field{display:inline-flex;align-items:center}.header-quick-join-field{position:relative}.header-quick-join-input{height:40px;min-width:260px;border-radius:999px;border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.14);color:#ffffff;padding:0 118px 0 14px;font:inherit;outline:none}.header-quick-join-input::placeholder{color:rgba(255,255,255,.8)}.header-quick-join-input:focus{border-color:rgba(240,255,76,.9);box-shadow:0 0 0 2px rgba(240,255,76,.22)}.header-quick-join-button{position:absolute;right:2px;top:2px;height:40px;height:36px;border:0;border-radius:999px;padding:0 18px;background:#f0ff4c;color:var(--brand);font:inherit;font-weight:500;cursor:pointer}.header-quick-join-button:hover{filter:brightness(.98)}.mobile-nav{display:none}.account-shell{position:relative;display:inline-flex;align-items:center}.account-shell:after{content:"";position:absolute;top:100%;left:-10px;right:-10px;height:14px}.account-trigger{width:44px;height:44px;border:0;padding:0;border-radius:999px;background:rgba(255,255,255,.14);cursor:pointer;display:grid;place-items:center;overflow:hidden;background:rgba(255,255,255,.2)}.account-trigger-wide{width:auto;min-width:44px;padding:0 10px 0 0;display:inline-flex;align-items:center;gap:10px;border-radius:999px}.account-trigger-label{color:#ffffff;font-weight:700}.account-avatar-image{width:100%;height:100%;object-fit:cover}.account-avatar-fallback{width:100%;height:100%;display:grid;place-items:center;color:#ffffff;font-weight:800}.account-avatar-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.account-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:240px;padding:14px;border-radius:20px;border:1px solid rgba(59,0,147,.14);background:#ffffff;box-shadow:var(--shadow);display:none;z-index:20}.account-dropdown.open{display:grid;grid-gap:8px;gap:8px}.account-summary{display:grid;grid-gap:4px;gap:4px;padding-bottom:10px;border-bottom:1px solid rgba(59,0,147,.1)}.account-summary strong{font-size:15px}.account-summary span{color:var(--muted);font-size:13px}.account-link{display:flex;align-items:center;min-height:42px;padding:0 10px;border-radius:12px;color:var(--text);font-weight:600}.account-link:hover{background:rgba(59,0,147,.06)}.account-logout{width:100%;border:0;background:transparent;text-align:left;cursor:pointer}.account-profile-shell{display:grid;grid-gap:16px;gap:16px}.account-profile-head h1{margin:0;font-size:30px}.account-profile-head p{margin:6px 0 0;color:var(--muted);font-size:16px}.account-profile-card{border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.96);box-shadow:var(--shadow);padding:22px}.account-profile-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;grid-gap:26px;gap:26px}.account-profile-main{border-right:1px solid rgba(59,0,147,.12);padding-right:26px;display:grid;grid-gap:14px;gap:14px}.account-profile-row{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;grid-gap:12px;gap:12px;min-height:42px}.account-profile-label{color:var(--muted);font-size:16px}.account-profile-row span,.account-profile-row strong{font-size:16px}.account-profile-field{display:grid;grid-gap:8px;gap:8px}.account-profile-field>span{color:var(--muted);font-size:16px}.account-radio-group{display:flex;flex-wrap:wrap;gap:18px}.account-radio-group label{display:inline-flex;align-items:center;gap:8px;font-size:16px}.account-password-block{margin-top:8px;padding-top:14px;border-top:1px solid rgba(59,0,147,.12);display:grid;grid-gap:10px;gap:10px}.account-password-block h2{margin:0;font-size:20px;color:var(--brand)}.account-status{margin:2px 0 0;font-weight:600}.account-status.success{color:#1d7f37}.account-status.error{color:#c2272d}.account-save-button{width:110px;min-height:50px;border:0;border-radius:12px;background:#f36d3d;color:#ffffff;font-weight:700;cursor:pointer}.account-save-button:hover{background:#dd5f32}.account-profile-aside{display:grid;justify-items:center;align-content:start;grid-gap:14px;gap:14px}.account-avatar-preview{width:170px;height:170px;border-radius:999px;border:1px solid rgba(59,0,147,.16);background:rgba(59,0,147,.08);display:grid;place-items:center;overflow:hidden}.account-avatar-preview img{width:100%;height:100%;object-fit:cover}.account-avatar-preview span{font-size:48px;color:var(--brand);font-weight:700}.account-pick-image{min-height:48px;padding:0 20px;border:1px solid rgba(59,0,147,.24);border-radius:10px;background:#ffffff;color:var(--text);cursor:pointer}.account-avatar-hint{margin:0;color:var(--muted);text-align:center;line-height:1.6}.mobile-nav-brand{display:none;align-items:center;gap:12px;padding-bottom:6px}.mobile-brand-logo{width:46px;height:46px}.mobile-brand-copy{display:grid;grid-gap:2px;gap:2px}.mobile-brand-copy strong{color:#ffffff;font-size:17px}.mobile-brand-copy small{color:rgba(255,255,255,.78);font-size:12px}.mobile-account-link{color:#ffffff;min-height:42px;display:flex;align-items:center;padding:0 12px;border-radius:12px;background:rgba(255,255,255,.08);font-weight:700}.mobile-logout{border:0;width:100%;text-align:left;cursor:pointer}.mobile-accordion{display:grid;grid-gap:10px;gap:10px}.mobile-accordion-trigger{min-height:42px;border:0;background:transparent;color:#ffffff;font-weight:700;text-align:left;padding:0;cursor:pointer}.mobile-accordion-panel{display:none}.mobile-accordion-panel.open{display:grid;grid-gap:10px;gap:10px}.mobile-accordion-group{display:grid;grid-gap:8px;gap:8px;padding:12px;border-radius:16px;background:rgba(255,255,255,.06)}.mobile-accordion-title{color:#ffffff;font-weight:800}.mobile-accordion-links{display:grid;grid-gap:8px;gap:8px}.mobile-accordion-links a{color:rgba(255,255,255,.84)}.ghost-link{color:#ffffff;font-weight:700}.header-cta,.hero-primary,.primary-button,.quick-join-button,.teacher-button{border:0;cursor:pointer;background:var(--brand);color:#ffffff;font-weight:700;border-radius:16px;transition:transform .15s ease,background-color .15s ease,box-shadow .15s ease}.header-cta,.hero-primary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px}.header-cta{background:var(--accent);color:var(--brand)}.header-cta:hover,.hero-primary:hover,.primary-button:hover,.quick-join-button:hover,.teacher-button:hover{transform:translateY(-1px);background:var(--brand-deep);box-shadow:0 14px 28px rgba(59,0,147,.18)}.header-cta:hover{background:var(--accent-deep);color:var(--brand)}.hero-secondary,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:16px;background:rgba(59,0,147,.08);color:var(--brand);font-weight:700;border:1px solid rgba(59,0,147,.12)}.hero-secondary:hover,.secondary-button:hover{background:rgba(59,0,147,.12)}.danger-button{background:#c62828!important;color:#ffffff!important;border:1px solid #c62828!important}.danger-button:hover:enabled{background:#b71c1c!important;border-color:#b71c1c!important;box-shadow:0 14px 28px rgba(183,28,28,.24)}.join-top-section{padding:56px 0 20px}.join-top-card{padding:32px;border-radius:32px;background:linear-gradient(180deg,rgba(59,0,147,.97),rgba(34,0,86,.98)),var(--brand);color:#ffffff;box-shadow:0 24px 60px rgba(59,0,147,.24)}.join-top-title{margin:18px 0 12px;font-size:clamp(34px,4.4vw,56px);line-height:1.04;letter-spacing:-.04em}.join-top-copy{margin:0;color:rgba(255,255,255,.84);font-size:16px;line-height:1.6}.join-top-form{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:center;margin-top:24px}.join-top-input{background:#ffffff;min-height:52px}.hero-section{padding:20px 0 18px}.hero-pill,.section-eyebrow{display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border-radius:999px;background:rgba(243,253,39,.32);color:var(--brand);font-size:13px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.hero-pill{padding:0;min-height:auto;background:transparent;color:var(--accent)}.auth-intro h1,.hero-title,.legal-shell h1,.section-head h1,.section-head h2{margin:18px 0;font-size:clamp(30px,4vw,48px);line-height:1.04;letter-spacing:-.04em}.auth-intro p,.content-card p,.hero-copy,.legal-shell p,.section-head p{margin:0;color:var(--muted);font-size:18px;line-height:1.72}.hero-actions,.teacher-cta-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.hero-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;margin-top:28px}.metric-box,.metric-card{display:grid;grid-gap:8px;gap:8px;padding:22px;border-radius:24px;border:1px solid var(--line);background:rgba(255,255,255,.92);box-shadow:var(--shadow)}.metric-box strong,.metric-card strong{font-size:24px;color:var(--brand)}.metric-box span,.metric-card span{color:var(--muted);line-height:1.55}.hero-panel{display:flex;justify-content:center}.marveclass-intro{display:grid;grid-gap:18px;gap:18px;padding:14px 0 8px}.intro-brand-lockup{display:flex;align-items:center;gap:18px}.intro-logo-wrap{width:88px;height:88px;display:grid;place-items:center;border-radius:24px;background:rgba(59,0,147,.08);overflow:hidden;flex-shrink:0}.intro-logo-wrap img{width:100%;height:100%;object-fit:cover}.intro-title{margin:10px 0 0;font-size:clamp(38px,2.7vw,40px);line-height:1.14;letter-spacing:-.025em;text-wrap:nowrap}.feature-section-head{margin-top:34px}.hero-preview-card{width:100%;padding:32px;border-radius:30px;background:linear-gradient(180deg,rgba(59,0,147,.97),rgba(34,0,86,.98)),var(--brand);color:#ffffff;box-shadow:0 24px 60px rgba(59,0,147,.24)}.preview-kicker{margin:0 0 12px;color:rgba(243,253,39,.9);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700}.hero-preview-card h2{margin:0 0 12px;font-size:34px}.hero-preview-card p{margin:0;color:rgba(255,255,255,.84);line-height:1.7}.quick-join-card{margin-top:24px;padding:18px;border-radius:22px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12)}.quick-join-card .field{margin-bottom:14px}.quick-join-card .field span{color:rgba(255,255,255,.88)}.quick-join-card .text-input{background:rgba(255,255,255,.96)}.quick-join-button{width:160px;min-height:52px;height:52px;background:var(--accent);color:var(--brand);align-self:center;padding:0 22px}.quick-join-button:hover{background:var(--accent-deep);color:var(--brand)}.preview-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:24px}.preview-chip{padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.09);text-align:center;font-weight:700}.auth-page,.section-block,.section-page{padding:36px 0 64px}.section-soft{background:rgba(255,255,255,.34);border-top:1px solid rgba(221,210,251,.8);border-bottom:1px solid rgba(221,210,251,.8)}.section-head{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,.75fr);grid-gap:28px;gap:28px;align-items:flex-end;margin-bottom:28px}.section-head-single{grid-template-columns:1fr}.section-head h1,.section-head h2{font-size:clamp(20px,2.1vw,28px);line-height:1.16;margin-bottom:0;max-width:28ch;text-wrap:pretty}.feature-group-head h2{max-width:32ch;font-size:clamp(34px,2.5vw,40px);line-height:1.14;text-wrap:balance}@media (max-width:1180px){.intro-title{text-wrap:pretty}}.features-main-head .features-page-title,.section-head .group-manage-page-title{display:block;width:100%;max-width:none!important;white-space:nowrap;text-wrap:nowrap;overflow:visible;font-size:clamp(36px,2.8vw,46px)!important;line-height:1.12!important}.section-head .library-page-title{width:100%;max-width:none!important;white-space:nowrap;text-wrap:nowrap;font-size:clamp(34px,3vw,50px)!important;line-height:1.1!important}.library-layout{display:grid;grid-template-columns:268px minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start}.library-filter-sidebar{position:-webkit-sticky;position:sticky;top:100px;display:grid;grid-gap:14px;gap:14px}.library-filter-head{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--line)}.library-filter-head h2{margin:0;font-size:30px}.library-filter-head small{color:var(--muted);font-size:14px;font-weight:700}.library-session-grid.library-session-grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.library-session-card .group-card-actions{flex-wrap:nowrap;gap:8px}.library-session-card .hero-primary,.library-session-card .hero-secondary{min-height:44px;padding:0 16px;white-space:nowrap}.library-session-card .group-inline-action{min-width:132px}.feature-group-head>p{max-width:40ch}.feature-showcase-title{display:block;color:var(--accent);font-size:24px;font-weight:800;line-height:1.2}.feature-showcase-copy{display:block;color:rgba(255,255,255,.9);font-size:15px;line-height:1.68;margin:0}.feature-showcase-dual{display:grid;grid-template-columns:1fr;grid-gap:20px;gap:20px;width:100%}.feature-gradient-box{display:grid;grid-template-columns:minmax(180px,20%) minmax(0,80%);grid-gap:16px;gap:16px;align-items:stretch;padding:18px;border-radius:30px;background:var(--brand);box-shadow:0 22px 52px rgba(59,0,147,.22)}.feature-gradient-left{display:grid;align-content:center;grid-gap:14px;gap:14px;padding:6px 2px}.feature-gradient-right{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;min-width:0}.feature-slider-link{color:var(--brand);font-weight:800;white-space:nowrap}.feature-slider-link-light{color:var(--brand);justify-self:start;min-height:40px;padding:0 16px;border-radius:12px;background:var(--accent);display:inline-flex;align-items:center;font-weight:800}.feature-slider-link-light:hover{background:var(--accent-deep)}.feature-nav-arrow{width:36px;height:36px;border:0;border-radius:999px;background:rgba(243,253,39,.94);color:var(--brand);font-size:24px;line-height:1;display:grid;place-items:center;cursor:pointer;transition:transform .16s ease,background-color .16s ease;z-index:2}.feature-nav-arrow:hover{transform:translateY(-1px);background:var(--accent-deep)}.feature-rail-wrap{position:relative;overflow:hidden;border-radius:22px}.feature-rail-wrap:after,.feature-rail-wrap:before{content:"";position:absolute;top:0;bottom:0;width:54px;z-index:2;pointer-events:none}.feature-rail-wrap:before{left:0;background:linear-gradient(90deg,rgba(59,0,147,.78),rgba(59,0,147,0))}.feature-rail-wrap:after{right:0;background:linear-gradient(270deg,rgba(59,0,147,.78),rgba(59,0,147,0))}.feature-rail{display:flex;gap:18px;overflow-x:auto;overflow-y:hidden;min-width:0;scroll-behavior:smooth;scrollbar-width:none;padding:4px 2px 8px}.feature-rail::-webkit-scrollbar{display:none}.feature-rail-card{flex-grow:0;flex-shrink:0;flex-basis:calc((100% - 36px) / 3);min-width:calc((100% - 36px) / 3);background:rgba(255,255,255,.94)}.auth-grid,.content-grid,.dashboard-metrics,.feature-grid{display:grid;grid-gap:18px;gap:18px}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.auth-card,.content-card,.feature-card{padding:24px;border-radius:26px;border:1px solid var(--line);background:rgba(255,255,255,.94);box-shadow:var(--shadow)}.feature-card.coming-soon{position:relative;overflow:hidden}.feature-card.coming-soon>*{opacity:.42;pointer-events:none}.feature-card.coming-soon:after{content:"Sắp ra mắt";position:absolute;inset:0;display:grid;place-items:center;background:rgba(243,253,39,.62);color:var(--brand);font-size:clamp(18px,2.2vw,26px);font-weight:800;letter-spacing:.02em;z-index:2}.auth-inline-row,.feature-meta,.feature-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.feature-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:rgba(59,0,147,.08);font-size:13px}.feature-badge,.feature-icon{color:var(--brand);font-weight:700}.feature-badge{padding:6px 10px;border-radius:999px;background:rgba(243,253,39,.34);font-size:12px}.feature-badge.soon{background:rgba(59,0,147,.08);color:var(--brand)}.auth-card-title,.content-card h2,.feature-card h3{margin:18px 0 12px;font-size:20px}.auth-switch-copy,.content-card p,.feature-card p,.hint-copy,.policy-note{margin:0;color:var(--muted);line-height:1.65}.feature-meta{margin-top:18px;font-size:14px}.auth-inline-row a,.feature-meta a,.inline-action{color:var(--brand);font-weight:700}.feature-soon-copy{color:var(--muted)}.teacher-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:24px;gap:24px;align-items:center}.auth-layout{display:grid;grid-gap:28px;gap:28px}.auth-layout-split{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.auth-intro-panel{min-height:100%;padding:32px 0}.login-title{display:grid;grid-gap:8px;gap:8px}.login-title small{font-size:clamp(20px,2.1vw,28px);line-height:1.22;letter-spacing:-.02em;color:var(--muted);font-weight:700}.role-switcher{display:grid;grid-template-columns:repeat(2,minmax(220px,260px));grid-gap:16px;gap:16px;justify-content:center}.role-tab{min-height:62px;border-radius:18px;border:1px solid rgba(59,0,147,.16);background:rgba(59,0,147,.05);color:var(--brand);font-weight:700;font-size:18px;cursor:pointer;transition:transform .15s ease,background-color .15s ease,border-color .15s ease}.role-tab:hover{transform:translateY(-1px);background:rgba(59,0,147,.1)}.role-tab.active{background:var(--brand);border-color:var(--brand);color:#ffffff}.role-helper-card{width:min(100%,560px);margin:0 auto;padding:22px 24px;border-radius:22px;border:1px dashed rgba(59,0,147,.18);background:rgba(59,0,147,.04);text-align:center;color:var(--muted);font-weight:600}.auth-side-panel{display:grid;grid-gap:0;gap:0}.role-tabs-attached{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0;gap:0}.role-tab.attached{min-height:58px;border-radius:18px 18px 0 0;border-bottom:0}.role-tab.attached+.role-tab.attached{border-left:0}.auth-side-card{border-radius:0 0 26px 26px;padding-top:28px}.auth-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-grid-single{grid-template-columns:minmax(0,560px)}.field{display:grid;grid-gap:8px;gap:8px;margin-bottom:18px}.field span{font-size:14px;font-weight:700}.required-mark{color:#d12229;font-weight:800}.text-input{border-radius:16px;border:1px solid var(--line);background:#ffffff;color:var(--text);padding:0 16px}.google-button,.primary-button,.secondary-button,.teacher-button,.text-input{width:100%;min-height:52px}.teacher-button{font-size:16px}.auth-action-stack{display:grid;grid-gap:18px;gap:18px;margin-top:8px}.auth-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:12px;gap:12px;margin:20px 0;color:var(--muted)}.compact-divider{margin:18px 0 22px}.auth-divider span{height:1px;background:var(--line)}.inline-action{border:0;background:transparent;cursor:pointer;padding:0}.google-button{border:1px solid var(--line);border-radius:16px;background:#ffffff;color:var(--text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-weight:700}.google-button:hover{border-color:rgba(59,0,147,.24);box-shadow:var(--shadow)}.google-button:disabled{opacity:.56;cursor:not-allowed;box-shadow:none}.student-google-button{margin-top:0}.google-mark{width:32px;height:32px;display:grid;place-items:center;flex-shrink:0}.google-mark svg{width:28px;height:28px;display:block}.google-button-top{margin-bottom:0}.text-link-button{border:0;background:transparent;padding:0;justify-self:start;color:var(--brand);font-weight:700;cursor:pointer}.recovery-panel{display:grid;grid-gap:14px;gap:14px;padding:18px;border-radius:18px;background:rgba(59,0,147,.04);border:1px solid rgba(59,0,147,.1)}.auth-switch-copy-spaced{margin-top:4px}.policy-note-strong{margin-top:20px;font-family:var(--font-sans)}.policy-note-strong,.policy-note-strong a{color:var(--brand);font-style:normal;letter-spacing:normal}.policy-note-strong a{font-weight:600;font-family:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.policy-note,.policy-note *{font-family:var(--font-sans)!important}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-list{margin:0;padding-left:18px;color:var(--muted);line-height:1.8}.content-card-link{transition:transform .15s ease,border-color .15s ease}.content-card-link:hover{transform:translateY(-2px);border-color:rgba(59,0,147,.3)}.feature-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.feature-tab{border:1px solid rgba(59,0,147,.18);background:rgba(59,0,147,.05);color:var(--brand);border-radius:12px;min-height:44px;padding:0 16px;font-weight:700;cursor:pointer}.feature-tab.active{background:var(--brand);border-color:var(--brand);color:#ffffff}.feature-tab-panel{border:1px solid var(--line);background:rgba(255,255,255,.88);border-radius:22px;padding:20px}.feature-tab-head{display:grid;grid-gap:8px;gap:8px;margin-bottom:18px}.feature-tab-head h2{margin:0;color:var(--brand);font-size:22px}.feature-tab-head p{margin:0;color:var(--muted)}.feature-tab-link{justify-self:start;display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border-radius:10px;background:var(--accent);color:var(--brand);font-weight:800}.dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px}.dashboard-links{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-shell{gap:22px}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);grid-gap:18px;gap:18px;align-items:center;padding:24px 28px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(243,253,39,.2)),#ffffff;box-shadow:var(--shadow)}.dashboard-hero h1{max-width:880px;font-size:clamp(30px,3.4vw,44px);margin-bottom:0}.dashboard-hero p{max-width:820px;margin:0;color:var(--muted)}.dashboard-account-card{display:grid;grid-gap:8px;gap:8px;align-content:center;min-height:128px;padding:18px;border:1px solid rgba(59,0,147,.14);border-radius:18px;background:#ffffff}.dashboard-account-card small,.dashboard-account-card span,.dashboard-metric-card small,.dashboard-metric-card span{color:var(--muted)}.dashboard-account-card strong{color:var(--brand);overflow-wrap:anywhere}.dashboard-overview-metrics{margin-bottom:0}.dashboard-metric-card{display:grid;grid-gap:8px;gap:8px;min-height:132px;padding:18px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 14px 34px rgba(40,18,84,.08)}.dashboard-metric-card strong{color:var(--brand);font-size:30px;line-height:1;overflow-wrap:anywhere}.dashboard-links-grid,.dashboard-main-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.dashboard-links-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-panel{display:grid;grid-gap:16px;gap:16px;align-content:start}.dashboard-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.dashboard-empty-state h2,.dashboard-panel-head h2,.dashboard-student-focus h2{margin:6px 0 0}.dashboard-panel-head a{flex:0 0 auto;color:var(--brand);font-weight:800}.dashboard-list{display:grid;grid-gap:10px;gap:10px}.dashboard-list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;min-height:74px;padding:12px 14px;border:1px solid rgba(59,0,147,.12);border-radius:16px;background:rgba(59,0,147,.035);color:var(--text);transition:transform .15s ease,border-color .15s ease,background .15s ease}.dashboard-link-card:hover,.dashboard-list-item:hover{transform:translateY(-2px);border-color:rgba(59,0,147,.28);background:#ffffff}.dashboard-list-item span{display:grid;grid-gap:4px;gap:4px;min-width:0}.dashboard-list-item small,.dashboard-list-item strong{overflow-wrap:anywhere}.dashboard-list-item small{color:var(--muted)}.dashboard-list-item em{color:var(--brand);font-style:normal;font-weight:800;text-align:right}.dashboard-link-card{display:grid;grid-gap:12px;gap:12px;align-content:start;min-height:210px;padding:20px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.94);box-shadow:0 14px 34px rgba(40,18,84,.08);color:var(--text);cursor:pointer;font:inherit;text-align:left;transition:transform .15s ease,border-color .15s ease,background .15s ease}.dashboard-link-card .feature-badge{justify-self:start}.dashboard-link-card h3{margin:0;font-size:20px}.dashboard-link-card p{margin:0;color:var(--muted)}.dashboard-link-action{align-self:end;justify-self:start;display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border-radius:999px;background:var(--brand);color:#ffffff;font-weight:800}.dashboard-empty-state,.dashboard-student-focus{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:18px;gap:18px;align-items:center}.dashboard-student-deadlines{min-height:180px}.dashboard-student-deadlines .dashboard-panel-head h2{font-size:24px;line-height:1.25}.dashboard-student-deadlines .dashboard-list-item{min-height:82px}.dashboard-student-deadlines .dashboard-list-item strong{font-size:18px;line-height:1.35}.dashboard-student-deadlines .dashboard-list-item small{font-size:14px;line-height:1.45}.dashboard-student-deadlines .dashboard-list-item em{font-size:15px;font-weight:650}.dashboard-activity-history{min-height:160px}.dashboard-student-overview-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);grid-gap:18px;gap:18px;align-items:stretch}.dashboard-history-list{display:grid;grid-gap:10px;gap:10px}.dashboard-history-item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:14px;border:1px solid rgba(59,0,147,.12);border-radius:16px;background:rgba(59,0,147,.035);color:var(--text);transition:transform .15s ease,border-color .15s ease,background .15s ease}.dashboard-history-item:hover{transform:translateY(-1px);border-color:rgba(59,0,147,.28);background:#ffffff}.dashboard-history-item span{display:grid;grid-gap:4px;gap:4px;min-width:0}.dashboard-history-item strong{font-size:17px;line-height:1.35;overflow-wrap:anywhere}.dashboard-history-item small{color:var(--muted);font-size:13px;overflow-wrap:anywhere}.dashboard-history-item em{color:var(--text);font-style:normal;line-height:1.45;overflow-wrap:anywhere}.dashboard-history-item b{color:var(--brand);font-size:14px;white-space:nowrap}.save-result-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:center;margin-top:14px;padding:16px;border:1px solid rgba(59,0,147,.14);border-radius:18px;background:#ffffff;box-shadow:0 14px 34px rgba(40,18,84,.08)}.save-result-card strong{display:block;color:var(--brand);font-size:18px;line-height:1.35}.save-result-card p,.save-result-card small{margin:4px 0 0;color:var(--muted);line-height:1.45}.save-result-card small{grid-column:1/-1}.dashboard-empty-state p,.dashboard-student-focus p{margin-top:10px}.inline-cta{margin-top:24px}.group-shell{display:grid;grid-gap:24px;gap:24px;font-family:Segoe UI,Noto Sans,Arial,sans-serif;font-size:17px;line-height:1.65;letter-spacing:.01em}.group-shell button,.group-shell input,.group-shell label,.group-shell li,.group-shell p,.group-shell select,.group-shell small,.group-shell span,.group-shell textarea{font-family:inherit;line-height:1.6}.group-shell h1,.group-shell h2,.group-shell h3,.group-shell h4{font-family:inherit;font-weight:600;line-height:1.35;letter-spacing:.01em}.group-shell b,.group-shell strong{font-weight:600!important}.group-shell .hint-copy{font-size:1rem;line-height:1.72;font-weight:400}.group-shell .hero-primary,.group-shell .hero-secondary,.group-shell .primary-button,.group-shell .secondary-button{font-weight:600}.group-shell [style*="font-weight: 700"],.group-shell [style*="font-weight: 800"],.group-shell [style*="font-weight:700"],.group-shell [style*="font-weight:800"]{font-weight:600!important}.group-shell .field .text-input,.group-shell .text-input,.group-shell textarea.text-input{font-size:1rem;line-height:1.62;padding-top:12px;padding-bottom:12px}.student-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.student-home-link{border:0;background:transparent;color:var(--brand);font-size:13px;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:0}.group-matching-brief{margin-top:-4px}.group-student-session-title{margin:0 0 12px;font-size:30px;line-height:1.14}.group-action-row,.group-matching-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.group-form-card{padding:24px;border-radius:24px;border:1px solid var(--line);background:rgba(255,255,255,.95);box-shadow:var(--shadow)}.group-form-card .hero-primary,.group-form-card .hero-secondary,.group-form-card .primary-button,.group-form-card .secondary-button{margin-top:4px}.group-round-title{margin-top:10px;text-align:center}.group-r3-leader-layout{width:min(820px,100%);margin:0 auto;display:grid;grid-gap:12px;gap:12px}.group-r3-card{padding:18px}.group-r3-member-box{margin-top:10px;display:block;text-align:center;padding:12px 14px}.group-r3-field{margin-top:2px}.group-r3-submit{width:100%;margin-top:12px}.group-r3-room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.group-vertical-list{display:grid;grid-gap:10px;gap:10px;margin-top:12px}.group-current-team-card{display:grid;grid-gap:8px;gap:8px}.group-stage-block{margin-top:22px}.group-room-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px;margin:10px 0 14px}.group-result-card,.group-room-card{width:100%;border:1px solid rgba(59,0,147,.14);border-radius:12px;background:rgba(59,0,147,.04);padding:14px 16px;display:grid;grid-gap:6px;gap:6px;text-align:left;color:var(--text)}button.group-room-card{cursor:pointer}button.group-room-card:disabled{cursor:default;opacity:.8}.group-result-card strong,.group-room-card strong{color:var(--brand);font-size:1rem}.group-result-card span,.group-room-card span{font-weight:600}.group-result-card small,.group-room-card small{color:var(--muted);line-height:1.5}.group-room-card.selected{border-color:rgba(59,0,147,.86);box-shadow:0 0 0 2px rgba(59,0,147,.12)}.group-source-switch{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.group-template-box{margin-bottom:16px;padding:16px;border:1px solid rgba(59,0,147,.12);border-radius:18px;background:rgba(59,0,147,.04)}.group-inline-action{width:auto;min-width:146px}.group-round-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.group-round-card{min-height:92px;border-radius:14px;border:1px solid rgba(59,0,147,.14);background:#ffffff;padding:10px 12px;display:grid;grid-gap:6px;gap:6px;align-content:start}.group-round-card input{width:16px;height:16px;margin:0}.group-round-card span{font-weight:700;color:var(--brand)}.group-round-card small{color:var(--muted)}.group-round-card.locked{background:rgba(243,253,39,.2)}.group-textarea{min-height:168px;padding:12px 16px;resize:vertical;font-family:inherit;line-height:1.4}.group-room-name-input{min-height:148px;padding:14px 16px;border:2px solid #1f1f1f;border-radius:18px;resize:none;font-family:inherit;line-height:1.4}.group-password-setup{display:grid;grid-gap:4px;gap:4px}.group-status-note{margin:8px 0 0;color:var(--brand);font-weight:700}.auth-notice{margin:8px 0 0;line-height:1.6}.auth-notice,.auth-notice span{font-weight:400}.auth-notice-error{color:#c62828}.auth-notice-success{color:#1f7a3b}.group-countdown-red{color:#c62828;font-weight:700}.group-modal-overlay{position:fixed;inset:0;background:rgba(14,9,36,.44);display:grid;place-items:center;z-index:90;padding:20px}.group-modal-card{width:min(640px,96vw);max-height:min(76vh,700px);overflow:auto;background:#ffffff;border:1px solid rgba(59,0,147,.14);border-radius:16px;box-shadow:0 28px 60px rgba(15,11,35,.22);padding:18px}.group-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.group-modal-head h3{margin:0 0 4px;color:var(--brand)}.group-modal-head p{margin:0;color:var(--muted);font-size:14px}.group-modal-list{display:grid;grid-gap:8px;gap:8px}.group-modal-item{border:1px solid rgba(59,0,147,.1);border-radius:10px;background:rgba(59,0,147,.03);padding:10px 12px}.group-student-list{display:grid;grid-gap:10px;gap:10px}.group-student-item{border:1px solid rgba(59,0,147,.12);border-radius:12px;background:rgba(59,0,147,.04);padding:10px 12px;display:grid;grid-gap:2px;gap:2px}.group-student-item span{font-weight:700;color:var(--text)}.group-student-item small{color:var(--muted)}.group-manage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-control-layout{grid-template-columns:minmax(0,3fr) minmax(320px,2fr);align-items:start}.group-control-layout,.group-control-status-stack{display:grid;grid-gap:18px;gap:18px}.group-control-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.group-clickable-stat{width:100%;text-align:left;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.group-clickable-stat:hover:enabled{transform:translateY(-1px);border-color:rgba(59,0,147,.28);box-shadow:0 10px 18px rgba(59,0,147,.08)}.group-clickable-stat:disabled{cursor:default;opacity:.85}.group-control-actions-card{position:-webkit-sticky;position:sticky;top:92px}.group-control-results-card{margin-top:0}.group-control-actions-card h2{margin-bottom:12px}.group-control-buttons{display:grid;grid-gap:10px;gap:10px}.group-control-button{min-height:50px;transition:background-color .16s ease,color .16s ease,border-color .16s ease,opacity .16s ease}.group-control-button:disabled{opacity:.45;cursor:not-allowed;filter:saturate(.6)}.group-control-button:not(:disabled):hover{background:var(--brand)!important;color:#ffffff!important;border-color:var(--brand)!important}.group-control-open-round1{background:#2f9e44!important;border:1px solid #2f9e44!important;color:#ffffff!important}.group-control-open-round1:not(:disabled):hover{background:#238636!important;border-color:#238636!important}.group-session-card h2{margin-bottom:8px}.classes-list-head-row{margin-top:0;margin-bottom:12px;justify-content:space-between;align-items:center}.classes-list-head-row h2{margin:0}.classes-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.classes-list-card{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.94);padding:16px;display:grid;grid-gap:8px;gap:8px}.classes-list-card h3{margin:0;font-size:26px;line-height:1.2}.class-view-modal{width:min(980px,96vw)}.class-table-wrap{overflow:auto;border:1px solid rgba(59,0,147,.14);border-radius:12px}.class-table{width:100%;min-width:680px;border-collapse:collapse;font-size:14px}.class-table td,.class-table th{padding:10px 12px;text-align:left;border-bottom:1px solid rgba(59,0,147,.1);vertical-align:top}.class-table th{background:rgba(59,0,147,.07);color:var(--brand);font-weight:700}.class-table tbody tr:last-child td{border-bottom:0}.class-sheet-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.class-sheet-toolbar-bottom{margin-top:10px;margin-bottom:0}.class-col-input{min-height:40px;width:180px;max-width:100%}.class-sheet-toolbar-modal{margin-top:4px}.class-import-mode-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.class-import-manual{margin-bottom:12px}.class-manual-input{width:100%;min-height:110px;padding:10px 12px;resize:vertical;margin-bottom:8px}.class-import-excel{margin-bottom:12px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.class-file-upload-btn{position:relative;overflow:hidden}.class-file-input-hidden{position:absolute;inset:0;opacity:0;cursor:pointer}.class-mapping-modal{width:min(760px,94vw)}.class-mapping-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);grid-gap:8px 12px;gap:8px 12px}.class-mapping-head{color:var(--brand);font-weight:700}.class-mapping-row{display:contents}.class-mapping-row strong{display:inline-flex;align-items:center;min-height:40px}.class-mapping-select{width:100%}.class-mapping-target{display:grid;grid-gap:8px;gap:8px}.class-mapping-custom-input{width:100%}.class-sheet-wrap{border:1px solid rgba(59,0,147,.14);border-radius:12px;overflow:hidden;background:#ffffff}.class-sheet-scroll{overflow:auto;max-height:360px}.class-sheet-table{min-width:920px}.class-sheet-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1}.class-col-head{display:grid;grid-gap:6px;gap:6px}.class-col-head-actions{display:flex;flex-wrap:wrap;gap:6px}.class-col-btn{border:1px solid rgba(59,0,147,.2);background:#ffffff;color:var(--brand);border-radius:8px;padding:3px 8px;font-size:12px;font-weight:700;cursor:pointer}.class-col-btn:hover{border-color:rgba(59,0,147,.35);background:rgba(59,0,147,.06)}.class-col-btn:disabled{opacity:.45;cursor:not-allowed}.class-map-btn{background:#c62828;border-color:#c62828;color:#ffffff}.class-map-btn:hover{background:#b71c1c;border-color:#b71c1c}.class-cell-input{width:100%;min-height:40px;border:1px solid rgba(59,0,147,.18);border-radius:8px;padding:0 10px;outline:none;background:#ffffff}.class-cell-input:focus{border-color:rgba(59,0,147,.42);box-shadow:0 0 0 2px rgba(59,0,147,.08)}.class-row-remove{min-height:38px;padding:0 12px}.class-modal-title-input{min-width:320px}.group-card-actions{margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.materials-item-actions{gap:16px}.materials-text-action{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:0;display:inline-flex;align-items:center;min-height:0;padding:0;color:var(--brand);font-size:16px;font-weight:700;line-height:1.2;cursor:pointer;text-decoration:none;white-space:nowrap}.materials-text-action:hover{text-decoration:underline}.materials-text-action.group-danger{color:#c62828}.materials-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.materials-course-mode{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.materials-course-mode .hero-primary,.materials-course-mode .hero-secondary{width:auto;min-height:42px;padding:0 14px}.materials-class-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:8px}.materials-class-option{display:flex;align-items:center;gap:10px;border:1px solid rgba(59,0,147,.12);border-radius:12px;padding:10px 12px;background:rgba(59,0,147,.03)}.materials-class-option input{width:16px;height:16px;accent-color:var(--brand)}.materials-list-head{flex-wrap:wrap}.materials-list-head,.materials-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:14px}.materials-toolbar{flex-wrap:nowrap}.materials-toolbar-inline{margin:18px 0 16px;padding:0;border:0;background:transparent}.materials-toolbar-card{padding:18px 22px}.materials-search-field{margin:0;width:min(420px,100%);flex:1 1 420px;max-width:420px}.materials-add-toggle{width:auto;min-height:44px;padding:0 16px}.materials-add-card{display:flex;justify-content:flex-end}.materials-upload-only .content-card,.materials-upload-only .materials-course-detail,.materials-upload-only .materials-course-grid,.materials-upload-only .materials-toolbar-inline,.materials-upload-only .section-head{display:none}.materials-upload-topbar{margin:16px 0 10px;display:flex;justify-content:flex-start}.student-score-head,.student-score-profile{display:flex;align-items:center;justify-content:space-between;gap:16px}.student-score-result-card{overflow:hidden}.student-score-head h2,.student-score-profile h2{margin:0 0 8px}.student-score-status{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:8px 12px;border-radius:999px;font-weight:800}.student-score-status-ok{background:#24a148;color:#fff}.student-score-status-danger{background:#ef3340;color:#fff}.student-score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px;margin-top:16px}.student-course-selector{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.student-course-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:12px}.student-filter-group{border:1px solid rgba(59,0,147,.1);border-radius:14px;background:rgba(59,0,147,.035);padding:10px}.student-filter-group>span{color:var(--muted);display:block;font-size:.78rem;font-weight:800;margin-bottom:8px}.student-filter-group>div{display:flex;flex-wrap:wrap;gap:6px}.student-filter-chip{border:1px solid rgba(59,0,147,.14);border-radius:999px;background:rgba(255,255,255,.78);color:var(--brand);cursor:pointer;font:inherit;font-size:.86rem;font-weight:500;min-height:34px;padding:0 12px}.student-filter-chip.active{background:var(--brand);color:#ffffff}.student-list-head{align-items:flex-start;display:flex;gap:14px;justify-content:space-between;margin-bottom:14px}.student-list-head h2{margin:4px 0 0}.student-list-filter{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.student-work-schedule-filter{justify-content:flex-start;margin:-6px 0 14px}.student-work-filter-panel{border:1px solid rgba(59,0,147,.1);border-radius:16px;background:rgba(59,0,147,.035);display:grid;grid-gap:10px;gap:10px;margin:-6px 0 16px;padding:12px}.student-work-filter-group{display:grid;grid-gap:6px;gap:6px}.student-work-filter-group>span{color:var(--muted);font-size:.78rem;font-weight:500}.student-work-filter-panel .student-work-schedule-filter{margin:0}.student-work-filter-panel-compact{align-items:end;background:rgba(255,255,255,.62);border-color:rgba(59,0,147,.12);display:flex;flex-wrap:wrap;gap:10px;padding:10px}.student-work-filter-field{display:grid;flex:1 1 120px;grid-gap:5px;gap:5px;min-width:0}.student-work-filter-field span{color:var(--muted);font-size:.72rem;font-weight:500}.student-work-filter-field select{width:100%;min-height:40px;border:1px solid rgba(59,0,147,.14);border-radius:12px;background:#ffffff;color:var(--ink);font:inherit;font-size:.88rem;font-weight:500;padding:0 10px}.student-work-filter-field select:focus{border-color:rgba(59,0,147,.52);box-shadow:0 0 0 3px rgba(59,0,147,.1);outline:0}.student-work-filter-clear{flex:0 0 auto;min-height:40px;border:1px solid rgba(59,0,147,.14);border-radius:12px;background:rgba(255,255,255,.82);color:var(--brand);cursor:pointer;font:inherit;font-size:.86rem;font-weight:500;padding:0 12px;white-space:nowrap}.student-work-filter-clear:disabled{cursor:default;opacity:.42}.student-course-chip{min-width:0;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.78);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;text-align:center}.student-course-chip.active{border-color:rgba(59,0,147,.62);box-shadow:0 0 0 2px rgba(59,0,147,.12)}.student-course-chip span{color:var(--muted);font-size:12px;line-height:1.2;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-score-card{display:grid;grid-gap:8px;gap:8px;min-height:120px;padding:16px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.78);text-align:left}.student-score-card small,.student-score-card span{color:var(--muted);line-height:1.45}.student-score-card strong{color:var(--ink);font-size:30px;line-height:1}.student-score-card-button{cursor:pointer;font:inherit;transition:transform .15s ease,border-color .15s ease}.student-score-card-button:hover{transform:translateY(-2px);border-color:rgba(59,0,147,.3)}.student-score-average-card{min-width:170px;border:1px solid rgba(243,253,39,.78);border-radius:18px;background:linear-gradient(135deg,rgba(243,253,39,.95),rgba(255,248,239,.96));box-shadow:0 14px 28px rgba(59,0,147,.12);color:var(--ink);display:grid;grid-gap:4px;gap:4px;padding:14px 18px;text-align:right}.student-score-average-card span{color:rgba(25,20,46,.68);font-size:.88rem;font-weight:800;line-height:1.25}.student-score-average-card strong{color:var(--brand);font-size:2.1rem;line-height:1}.student-score-table-wrap{width:100%;max-width:100%;margin-top:18px;overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.52);padding-bottom:2px;overscroll-behavior-x:contain;scrollbar-color:rgba(59,0,147,.36) rgba(59,0,147,.08)}.student-score-table{border-collapse:separate;border-spacing:0;min-width:100%;width:max-content}.student-score-table td,.student-score-table th{border-bottom:1px solid var(--line);border-right:1px solid var(--line);min-width:104px;padding:13px 14px;text-align:center;vertical-align:middle}.student-score-table td:first-child,.student-score-table th:first-child{border-left:1px solid var(--line)}.student-score-table th{background:#fff8ef;color:var(--muted);font-size:.86rem;font-weight:800;line-height:1.35}.student-score-table th:first-child{border-top-left-radius:16px}.student-score-table th:last-child{border-top-right-radius:16px}.student-score-table td:first-child{border-bottom-left-radius:16px}.student-score-table td:last-child{border-bottom-right-radius:16px}.student-score-table td{background:rgba(255,255,255,.78)}.student-score-table td strong{color:var(--ink);font-size:1.35rem}.student-score-table .student-score-average-column{min-width:132px;border-right:0}.student-score-table th.student-score-average-column{background:rgba(243,253,39,.72);color:var(--brand)}.student-score-table td.student-score-average-column{background:linear-gradient(180deg,rgba(243,253,39,.42),rgba(255,255,255,.88))}.student-score-table td.student-score-average-column strong{color:var(--brand);font-size:1.65rem}.student-score-cell-button{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:grid;font:inherit;grid-gap:4px;gap:4px;justify-items:center;margin:0 auto;padding:0}.student-score-cell-button span{color:var(--brand);font-size:.82rem;font-weight:800}.student-score-cell-button:disabled{cursor:default;opacity:.5}.student-activity-modal{max-width:980px}.student-attendance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));grid-gap:8px;gap:8px;margin-top:16px}.student-attendance-item{display:grid;grid-gap:6px;gap:6px;padding:10px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.7);text-align:center}.student-attendance-item.checked{border-color:rgba(36,161,72,.55);background:rgba(36,161,72,.12)}.student-activity-breakdown span,.student-attendance-item span{color:var(--muted);font-size:14px}.student-activity-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:18px}.student-activity-breakdown article:first-child,.student-activity-breakdown article:nth-child(6){display:none}@media (max-width:720px){.student-activity-breakdown{grid-template-columns:1fr}}.student-activity-breakdown article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.74)}.student-lab-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));grid-gap:10px;gap:10px;margin-top:18px}.student-lab-detail-grid article{display:grid;grid-gap:8px;gap:8px;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.78);text-align:center}.student-lab-detail-grid span{color:var(--muted);font-size:14px;font-weight:800}.student-lab-detail-grid strong{color:var(--ink);font-size:1.45rem}.student-assignment-list{display:grid;grid-gap:12px;gap:12px;margin-top:16px}.student-assignment-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:16px;gap:16px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.78)}.student-assignment-card-compact{grid-template-columns:minmax(0,1fr) auto;padding:14px 16px}.student-assignment-card h3{margin:6px 0 8px}.student-assignment-timeline{display:grid;grid-gap:10px;gap:10px;margin-top:16px}.student-assignment-day{border-top:1px solid rgba(59,0,147,.08);display:grid;grid-gap:12px;gap:12px;grid-template-columns:92px minmax(0,1fr);padding-top:12px}.student-assignment-date strong{color:var(--brand);display:block;font-size:.92rem;line-height:1.35}.student-assignment-list-compact{gap:8px;margin-top:0}.student-assignment-card-timeline{border-color:rgba(59,0,147,.1);border-left:4px solid rgba(59,0,147,.22);border-radius:13px;box-shadow:0 8px 20px rgba(59,0,147,.04);gap:12px;padding:11px 12px}.student-assignment-main h3{font-size:.98rem;line-height:1.35;margin:0 0 5px}.student-assignment-main p{color:var(--muted);font-size:.82rem;line-height:1.4;margin:3px 0 0}.student-assignment-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.student-assignment-actions-compact{align-items:center;gap:6px}.student-assignment-actions-compact .student-assignment-score,.student-assignment-actions-compact .student-assignment-status{font-size:.78rem;min-height:32px;padding:0 9px}.student-assignment-actions-compact .hero-primary,.student-assignment-actions-compact .hero-secondary{font-size:.86rem;min-height:34px;padding:0 11px}.student-assignment-actions-compact .hint-copy{font-size:.8rem}.student-assignment-score,.student-assignment-status{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:999px;padding:0 12px;font-weight:700}.student-assignment-status.ok{background:rgba(36,161,72,.14);color:#187e35}.student-assignment-status.pending{background:rgba(242,142,43,.14);color:#9a560c}.student-assignment-status.warning{background:rgba(255,205,41,.22);color:#8a6100}.student-assignment-status.danger{background:rgba(239,51,64,.14);color:#b52026}.student-assignment-score{background:rgba(59,0,147,.08);color:var(--brand)}.student-deadline-upcoming{border-color:rgba(243,253,39,.65);background:linear-gradient(135deg,rgba(243,253,39,.16),rgba(255,255,255,.82))}.student-calendar-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(300px,2fr);grid-gap:16px;gap:16px;align-items:start}.student-calendar-card{padding:18px}.student-calendar-actions,.student-calendar-head{align-items:center;display:flex;gap:10px;justify-content:space-between}.student-calendar-head h2{margin:4px 0 0;font-size:1.35rem;white-space:nowrap}.student-calendar-actions{flex-wrap:wrap;justify-content:flex-end}.student-calendar-nav{border:0;background:transparent;color:var(--brand);cursor:pointer;font:inherit;font-size:.88rem;font-weight:500;line-height:1.2;padding:0}.student-calendar-nav:hover{text-decoration:underline}.student-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(96px,1fr));margin-top:12px;overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.78)}.student-calendar-weekday{border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-size:.82rem;font-weight:600;padding:8px;text-align:center}.student-calendar-weekday:nth-child(7){border-right:0}.student-calendar-cell{min-height:92px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px;background:rgba(255,255,255,.62)}.student-calendar-cell:nth-child(7n){border-right:0}.student-calendar-cell.muted{background:rgba(59,0,147,.03);color:rgba(25,20,46,.36)}.student-calendar-day{align-items:center;display:inline-flex;justify-content:center;min-width:24px;height:24px;font-size:.82rem;border-radius:999px;font-weight:600}.student-calendar-day.today{background:var(--brand);color:#ffffff}.student-calendar-items{display:grid;grid-gap:4px;gap:4px;margin-top:6px}.student-calendar-item{border-left:3px solid rgba(59,0,147,.45);border-radius:7px;background:rgba(59,0,147,.07);display:grid;grid-gap:1px;gap:1px;padding:4px 6px}.student-calendar-item strong{color:var(--brand);font-size:.68rem;font-weight:600}.student-calendar-item span{color:var(--ink);font-size:.7rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-calendar-item.type-quiz,.student-calendar-item.type-test{border-left-color:#1d6eea;background:rgba(29,110,234,.08)}.student-calendar-item.type-demo,.student-calendar-item.type-presentation{border-left-color:#f28e2b;background:rgba(242,142,43,.1)}.student-calendar-item.type-event,.student-calendar-item.type-review{border-left-color:#24a148;background:rgba(36,161,72,.08)}.student-calendar-layout .student-calendar-card{padding:14px}.student-calendar-layout .student-calendar-head{align-items:flex-start;gap:8px}.student-calendar-layout .student-calendar-head h2{font-size:1rem}.student-calendar-layout .student-calendar-actions{gap:6px}.student-calendar-layout .student-calendar-nav{font-size:.78rem}.student-calendar-layout .student-calendar-grid{grid-template-columns:repeat(7,minmax(34px,1fr));overflow-x:hidden}.student-calendar-layout .student-calendar-weekday{font-size:.68rem;padding:5px 2px}.student-calendar-layout .student-calendar-cell{min-height:58px;padding:4px}.student-calendar-layout .student-calendar-day{min-width:20px;height:20px;font-size:.7rem}.student-calendar-layout .student-calendar-items{gap:3px;margin-top:4px}.student-calendar-layout .student-calendar-item{border-left-width:2px;border-radius:5px;padding:3px 4px}.student-calendar-layout .student-calendar-item strong{font-size:.58rem}.student-calendar-layout .student-calendar-item span{font-size:.62rem}.student-work-shell{gap:20px}.student-work-actions{align-items:center;display:flex;justify-content:space-between;gap:16px}.student-work-overview{display:grid;grid-gap:18px;gap:18px}.student-work-tabs{display:inline-flex;flex-wrap:wrap;gap:8px;padding:6px;border:1px solid rgba(59,0,147,.14);border-radius:999px;background:rgba(59,0,147,.04);width:-moz-fit-content;width:fit-content}.student-work-tab{border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-weight:500;min-height:40px;padding:0 18px}.student-work-tab.active{background:var(--brand);color:#fff;box-shadow:0 10px 20px rgba(59,0,147,.18)}.student-work-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.student-work-metrics article{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.76);display:grid;grid-gap:4px;gap:4px;padding:14px 16px}.student-work-metrics small,.student-work-metrics span{color:var(--muted)}.student-work-metrics strong{color:var(--ink);font-size:1.45rem}.student-work-settings-grid{grid-template-columns:minmax(0,1fr);align-items:start}.student-work-settings-grid,.student-work-settings-main{display:grid;grid-gap:18px;gap:18px}.student-work-settings-side{display:grid;grid-gap:20px;gap:20px}.student-work-settings-side h2{margin-top:0}.student-work-mini-list{display:grid;grid-gap:8px;gap:8px}.student-work-mini-list button{align-items:center;background:#fff8ef;border:1px solid rgba(255,120,0,.18);border-radius:12px;color:var(--ink);cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:10px 12px;text-align:left}.student-work-mini-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-work-mini-list em{color:var(--brand);flex:0 0 auto;font-size:.8rem;font-style:normal;font-weight:500}.student-work-import-basic{grid-template-columns:1fr}.student-work-advanced-field{display:none}.student-work-advanced-field.open{display:grid}.student-work-text-button{width:-moz-fit-content;width:fit-content;border:0;background:transparent;color:var(--brand);cursor:pointer;font:inherit;font-weight:500;padding:0}.student-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.student-work-panel-stack{align-content:start;display:grid;grid-gap:16px;gap:16px;min-width:0}.student-work-card-head{align-items:flex-start;display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.student-work-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.student-work-share-guide{grid-column:1/-1;border:1px solid rgba(59,0,147,.12);border-radius:16px;background:linear-gradient(135deg,rgba(243,253,39,.16),rgba(255,255,255,.78));display:grid;grid-gap:12px;gap:12px;padding:14px}.student-work-share-guide h3{font-size:1rem;margin:8px 0 4px}.student-work-share-guide p{color:var(--muted);margin:0}.student-work-share-email{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.student-work-share-email code{border:1px solid rgba(59,0,147,.14);border-radius:12px;background:rgba(255,255,255,.82);color:var(--brand);font-family:inherit;font-size:.92rem;padding:10px 12px}.student-work-check{align-items:center;display:flex;gap:8px;margin:14px 0;color:var(--muted);font-weight:500}.student-work-import{padding:0;overflow:hidden}.student-work-import summary{align-items:center;cursor:pointer;display:flex;gap:14px;justify-content:space-between;list-style:none;padding:18px 22px}.student-work-import summary::-webkit-details-marker{display:none}.student-work-import summary small,.student-work-import summary span{display:block}.student-work-import summary strong{color:var(--ink);font-size:1.05rem}.student-work-import summary small{color:var(--muted);margin-top:4px}.student-work-import-chevron{border:1px solid rgba(59,0,147,.14);border-radius:999px;color:var(--brand);font-size:.86rem;font-weight:500;padding:7px 12px;white-space:nowrap}.student-work-import[open] .student-work-import-chevron{background:rgba(59,0,147,.08)}.student-work-import[open] .student-work-import-chevron:before{content:"Đang "}.student-work-import-body{border-top:1px solid rgba(59,0,147,.1);display:grid;grid-gap:12px;gap:12px;padding:18px 22px 22px}.student-work-import-textarea{min-height:92px}.student-work-import-footer{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.student-work-import-footer .hint-copy{margin:0}.student-work-list{display:grid;grid-gap:10px;gap:10px;margin-top:12px}.student-work-upcoming{border:1px solid rgba(59,0,147,.12);border-radius:16px;background:rgba(243,253,39,.12);padding:14px}.student-work-upcoming h3{margin:0 0 10px;color:var(--brand)}.student-work-month-card{border:1px solid rgba(59,0,147,.12);border-radius:16px;background:rgba(255,255,255,.72);margin-top:14px;padding:14px}.student-work-month-head{margin-bottom:10px}.student-work-month-head h2{font-size:1.1rem}.student-work-month-grid{grid-template-columns:repeat(7,minmax(70px,1fr));margin-top:0;overflow-x:auto}.student-work-month-grid .student-calendar-cell{min-height:86px;padding:6px}.student-work-month-grid .student-calendar-item{width:100%}.student-work-calendar-item-button{border-top:0;border-right:0;border-bottom:0;color:inherit;cursor:pointer;font:inherit;text-align:left}.student-work-calendar-item-button:hover{filter:brightness(.97)}.student-work-calendar{display:grid;grid-gap:16px;gap:16px;margin-top:18px}.student-work-calendar-compact{gap:10px}.student-work-calendar-day{display:grid;grid-gap:8px;gap:8px}.student-work-calendar-compact .student-work-calendar-day{align-items:start;border-top:1px solid rgba(59,0,147,.08);display:grid;grid-gap:12px;gap:12px;grid-template-columns:96px minmax(0,1fr);padding-top:12px}.student-work-calendar-date{align-items:center;display:flex;justify-content:space-between;gap:12px}.student-work-calendar-date strong{color:var(--brand)}.student-work-calendar-date span{color:var(--muted);font-size:.88rem;font-weight:500}.student-work-calendar-compact .student-work-calendar-date strong{display:block;font-size:.92rem;line-height:1.35}.student-work-calendar-compact .student-work-calendar-date span{color:rgba(25,20,46,.48);display:block;font-size:.76rem;margin-top:3px}.student-work-row{align-items:center;background:#fff8ef;border:1px solid rgba(255,120,0,.18);border-radius:12px;color:inherit;display:flex;justify-content:space-between;gap:12px;padding:12px 14px;text-align:left}.student-work-row-compact{background:rgba(255,255,255,.78);border-color:rgba(59,0,147,.1);border-left:4px solid rgba(59,0,147,.22);box-shadow:0 8px 20px rgba(59,0,147,.04);gap:12px;padding:11px 12px}.student-work-row:hover{border-color:rgba(255,120,0,.42);transform:translateY(-1px)}.student-work-row-main{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:flex;flex:1 1;gap:12px;justify-content:space-between;min-width:0;padding:0;text-align:left}.student-work-row-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.student-work-row-actions .hero-secondary{min-height:36px;padding:0 12px}.student-work-row-compact .student-work-row-actions{flex-wrap:nowrap;gap:8px}.student-work-row small,.student-work-row span{display:block}.student-work-row-compact .student-work-row-main strong{font-size:.96rem;line-height:1.4}.student-work-row-compact .student-work-row-main small{font-size:.8rem}.student-work-row small{color:var(--muted);margin-top:4px}.student-work-row em{color:var(--brand);font-size:.82rem;font-style:normal;font-weight:500;white-space:nowrap}.student-work-row-compact em{background:rgba(59,0,147,.08);border-radius:999px;padding:5px 8px;font-size:.78rem}.student-work-action-menu{position:relative}.student-work-action-menu summary{align-items:center;border:1px solid rgba(59,0,147,.12);border-radius:999px;background:rgba(255,255,255,.9);color:var(--brand);cursor:pointer;display:inline-flex;font-size:.86rem;font-weight:500;height:32px;justify-content:center;list-style:none;width:38px}.student-work-action-menu summary::-webkit-details-marker{display:none}.student-work-action-menu[open] summary{background:rgba(59,0,147,.08)}.student-work-action-menu>div{background:#ffffff;border:1px solid rgba(59,0,147,.12);border-radius:12px;box-shadow:0 16px 32px rgba(15,11,35,.16);display:grid;grid-gap:4px;gap:4px;min-width:140px;padding:6px;position:absolute;right:0;top:calc(100% + 6px);z-index:5}.student-work-action-menu button{border:0;border-radius:9px;background:transparent;color:var(--ink);cursor:pointer;font:inherit;font-size:.86rem;font-weight:500;padding:8px 10px;text-align:left;white-space:nowrap}.student-work-action-menu button:hover{background:rgba(59,0,147,.06)}.student-work-action-menu button.danger{color:#c62828}.student-work-action-menu button:disabled{cursor:default;opacity:.5}.student-work-detail-modal{max-width:760px}.student-work-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.student-work-detail-grid article{border:1px solid rgba(59,0,147,.1);border-radius:14px;background:rgba(59,0,147,.035);display:grid;grid-gap:6px;gap:6px;padding:12px 14px}.student-work-detail-grid span{color:var(--muted);font-size:.78rem;font-weight:500}.student-work-detail-grid strong{color:var(--ink);font-size:.96rem;line-height:1.45;overflow-wrap:anywhere}.student-work-detail-actions{justify-content:flex-end;margin-top:14px}.materials-upload-back-link{font-size:15px}.materials-drive-note{margin:-4px 0 8px;color:#c62828;font-size:13px;font-weight:600}.materials-attachment-list{margin-top:8px;display:grid;grid-gap:6px;gap:6px}.materials-attachment-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(59,0,147,.12);border-radius:10px;padding:8px 10px;background:rgba(59,0,147,.03)}.materials-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.materials-course-list{margin-top:14px;display:grid;grid-gap:16px;gap:16px}.materials-course-block{border:1px solid rgba(59,0,147,.12);border-radius:16px;background:rgba(59,0,147,.03);padding:14px}.materials-course-head{margin-bottom:10px}.materials-course-head h3{margin:0;color:var(--brand)}.materials-course-head p{margin:4px 0 0;color:var(--muted)}.materials-course-grid{margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.materials-course-tile{border:1px solid rgba(59,0,147,.12);border-radius:14px;background:rgba(59,0,147,.03);padding:10px}.materials-course-tile.active{border-color:rgba(59,0,147,.35);background:rgba(59,0,147,.08)}.materials-course-toggle{width:100%;border:0;background:transparent;padding:0 44px 0 0;display:block;color:var(--text);cursor:pointer;text-align:left}.materials-course-tile-main{position:relative}.materials-course-edit{position:absolute;top:0;right:0;width:auto;min-height:0;padding:0;border-radius:0;font-size:13px;font-weight:600;line-height:1}.materials-course-toggle h3{margin:0;font-size:15px;color:var(--brand)}.materials-course-toggle p{margin:4px 0 0;color:var(--muted);font-size:13px}.materials-course-toggle span{color:var(--brand);font-size:13px;font-weight:700;white-space:nowrap}.materials-subfolder-list{margin-top:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.materials-course-detail{margin-top:12px}.materials-course-detail-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.materials-course-detail-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.materials-course-detail-head h2{margin:0;color:var(--brand)}.materials-subfolder-card{border:1px solid rgba(59,0,147,.14);border-radius:12px;background:#ffffff;padding:12px}.materials-subfolder-toggle{width:100%;border:0;background:transparent;padding:0;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;text-align:left}.materials-subfolder-toggle strong{color:var(--brand);font-size:18px;line-height:1.5;padding-block:4px}.materials-subfolder-toggle span{color:var(--muted);font-size:12px;font-weight:700}.materials-folder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.materials-folder-card{border:1px solid rgba(59,0,147,.14);border-radius:14px;background:#ffffff;padding:12px}.materials-folder-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.materials-folder-head strong{color:var(--brand)}.materials-folder-head span{color:var(--muted);font-size:13px;font-weight:600}.materials-folder-actions{margin-bottom:8px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.materials-select-all{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-weight:600}.materials-select-all input{width:16px;height:16px;accent-color:var(--brand)}.materials-danger-text{border:0;background:transparent;color:#c62828;font-weight:700;cursor:pointer;padding:0}.materials-danger-text:hover{text-decoration:underline}.materials-item-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.materials-item-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.materials-item-head .hint-copy{font-size:12px}.materials-item-row{border:1px solid rgba(59,0,147,.12);border-radius:10px;padding:10px;background:rgba(59,0,147,.03)}.materials-item-row h4{margin:8px 0 4px;color:var(--text)}.materials-rename-inline{margin-top:8px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:8px;gap:8px;align-items:center}.materials-edit-grid{margin-top:12px;display:grid;grid-gap:10px;gap:10px}.materials-edit-grid textarea{min-height:110px;margin-top:4px;padding:10px 14px;font-family:var(--font-sans);line-height:1.55}.materials-check-inline{display:flex;align-items:center;gap:10px;color:var(--text);font-weight:700}.materials-check-inline span{font-size:14px}.materials-check-inline input{width:16px;height:16px;accent-color:var(--brand)}.materials-item-card{border:1px solid rgba(59,0,147,.12);border-radius:14px;background:#ffffff;padding:14px}.materials-item-card h3{margin:6px 0 8px}.materials-item-card p{margin:0}.materials-item-row>p.hint-copy{font-size:16px;line-height:1.5}.materials-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.materials-sub-upload{border:1px solid rgba(59,0,147,.14);border-radius:16px;padding:14px;background:rgba(59,0,147,.03);margin-top:10px}.materials-sub-upload h3{margin:0 0 10px;color:var(--brand)}.materials-file-actions{display:flex;flex-wrap:wrap;gap:8px}.materials-file-names{margin:10px 0 0;display:grid;grid-gap:4px;gap:4px}.materials-file-names .hint-copy{margin:0;font-size:12px;line-height:1.5}.materials-class-tags{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.materials-class-tag{padding:6px 10px;border-radius:999px;background:rgba(59,0,147,.08);color:var(--brand);font-size:13px;font-weight:600}.materials-preview-modal{width:min(960px,94vw);max-height:88vh}.materials-preview-modal.materials-preview-modal-fullscreen{width:96vw;max-width:96vw;height:94vh;max-height:94vh}.materials-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.materials-preview-head h3{margin:0;color:var(--brand)}.materials-preview-content{border:1px solid rgba(59,0,147,.12);border-radius:12px;background:#ffffff;overflow:hidden}.materials-preview-modal.materials-preview-modal-fullscreen .materials-preview-content{height:calc(94vh - 86px)}.materials-preview-image{display:block;max-width:100%;max-height:70vh;margin:0 auto}.materials-preview-frame{width:100%;min-height:70vh;border:0;background:#ffffff}.materials-preview-modal.materials-preview-modal-fullscreen .materials-preview-frame,.materials-preview-modal.materials-preview-modal-fullscreen .materials-preview-image{min-height:100%;max-height:100%;height:100%}.group-danger{border-color:rgba(198,39,45,.28);color:#b52026}.group-control-button.group-danger:not(:disabled):hover{background:#c62828!important;border-color:#c62828!important;color:#ffffff!important}.group-dashboard-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.group-round-flow{display:grid;grid-gap:12px;gap:12px}.group-round-item{border:1px solid rgba(59,0,147,.12);border-radius:16px;padding:14px;display:grid;grid-gap:10px;gap:10px;align-items:center;grid-template-columns:minmax(0,1fr) auto}.group-round-item strong{color:var(--brand)}.group-round-item p{margin:4px 0 0;color:var(--muted)}.group-round-item.active{border-color:rgba(59,0,147,.42);background:rgba(59,0,147,.06)}.group-round-item.done{border-color:rgba(24,126,53,.34);background:rgba(24,126,53,.08)}.group-round-progress{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 2px}.group-round-progress-chip{border:1px solid rgba(59,0,147,.2);border-radius:999px;background:rgba(59,0,147,.04);color:var(--muted);font-size:12px;line-height:1.2;padding:5px 10px;white-space:nowrap}.group-round-progress-chip.current{border-color:rgba(59,0,147,.62);background:rgba(59,0,147,.14);color:var(--brand);font-weight:700}.group-round-progress-chip.done{border-color:rgba(24,126,53,.35);background:rgba(24,126,53,.12);color:#1e7b3c}.group-result-block{margin-top:14px;border-top:1px dashed rgba(59,0,147,.2);padding-top:14px}.group-round1-result-list{display:grid;grid-gap:8px;gap:8px;margin-top:10px}.group-round1-result{border:1px solid rgba(59,0,147,.14);border-radius:12px;background:#ffffff;padding:9px 11px;display:grid;grid-gap:2px;gap:2px}.group-round1-result.leader{border-color:rgba(59,0,147,.42);background:rgba(243,253,39,.22)}.group-slot-machine-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:10px;gap:10px;margin:12px 0}.group-random-countdown{margin:6px 0 0;text-align:right;color:#c81e1e;font-weight:700;font-size:14px}.group-slot-machine-column{border:1px solid rgba(59,0,147,.24);border-radius:12px;background:linear-gradient(180deg,rgba(59,0,147,.14),rgba(59,0,147,.04));padding:8px;display:grid;grid-gap:6px;gap:6px}.group-slot-machine-head{font-weight:700;color:var(--brand);text-align:center;border-radius:8px;background:rgba(255,255,255,.75);border:1px solid rgba(59,0,147,.18);padding:6px 8px}.group-slot-machine-item{border:1px solid rgba(59,0,147,.2);border-radius:8px;background:#ffffff;padding:8px 10px;color:var(--brand);text-align:center;display:grid;grid-gap:2px;gap:2px;font-family:inherit;line-height:1.35;letter-spacing:0}.group-slot-machine-name{font-weight:700;font-family:inherit}.group-slot-machine-role{font-weight:400;font-size:12px;color:rgba(62,32,135,.78);font-family:inherit;line-height:1.25}.group-slot-machine-item.fixed{background:#ffffff}.group-slot-machine-item.empty{background:rgba(255,255,255,.55);color:rgba(60,31,130,.78);font-weight:600}.group-slot-machine-item.spin{background:rgba(255,255,255,.9);color:var(--brand);animation:group-slot-pulse .24s linear infinite alternate}@keyframes group-slot-pulse{0%{transform:translateY(0);opacity:.92}to{transform:translateY(-2px);opacity:1}}.group-view-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:18px;gap:18px}.group-log-list{display:grid;grid-gap:10px;gap:10px}.group-log-item{border:1px solid rgba(59,0,147,.12);border-radius:12px;background:rgba(59,0,147,.04);padding:10px 12px;display:grid;grid-gap:4px;gap:4px}.group-log-item strong{color:var(--brand)}.group-log-item span{color:var(--text);font-size:14px}.group-log-item small{color:var(--muted)}.group-room-option.selected{border-color:rgba(59,0,147,.95);background:var(--brand)}.group-room-option.selected small,.group-room-option.selected span{color:var(--accent)}.legal-shell{max-width:800px}.site-footer{border-top:1px solid rgba(221,210,251,.92);background:rgba(243,253,39,.24);padding:34px 0}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,minmax(0,1fr));grid-gap:24px;gap:24px}.footer-title{margin:0 0 12px;font-size:17px;font-weight:700;color:var(--brand)}.footer-brand{display:flex;align-items:center;gap:14px;margin-bottom:14px}.footer-brand-logo{width:64px;height:64px;display:grid;place-items:center;border-radius:18px;background:rgba(59,0,147,.08);overflow:hidden;flex-shrink:0}.footer-brand-logo img{width:100%;height:100%;object-fit:cover}.footer-tagline{margin:-6px 0 0;color:rgba(59,0,147,.72);font-size:13px;font-weight:700}.footer-text{margin:0;color:rgba(21,17,43,.76);line-height:1.7}.footer-links{display:grid;grid-gap:10px;gap:10px;color:rgba(21,17,43,.76)}.footer-feature-columns{display:grid;grid-gap:14px;gap:14px}.footer-feature-group{display:grid;grid-gap:8px;gap:8px}.footer-feature-title{margin:0;color:var(--brand);font-weight:700;font-size:15px}.footer-contact{margin-top:14px}.footer-contact-title{margin:0 0 4px;color:var(--brand);font-weight:700}.footer-donate{display:grid;grid-gap:8px;gap:8px;justify-items:start}.footer-qr-wrap{width:min(180px,100%);aspect-ratio:1/1;border-radius:16px;border:1px solid rgba(59,0,147,.16);background:#ffffff;overflow:hidden}.footer-qr{width:100%;height:100%;object-fit:contain;object-position:center}.footer-donate-caption{color:rgba(21,17,43,.76);line-height:1.5}.page-shell{min-height:70vh;display:grid;place-items:center;padding:40px 0}.card{width:min(100%,560px);background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:26px;padding:32px;box-shadow:var(--shadow)}.card-wide{width:min(100%,780px)}.eyebrow{display:inline-block;margin-bottom:10px;color:var(--brand);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}h1{margin:0 0 12px;font-size:32px;line-height:1.1}.lead{margin:0 0 22px;color:var(--muted);line-height:1.65}.status-box{border:1px solid var(--line);border-radius:18px;padding:18px;background:#ffffff;margin-bottom:20px}.status-label{margin:0 0 8px;font-size:14px;color:var(--muted)}.status-value{margin:0;font-size:18px;font-weight:700;color:var(--brand)}.divider{height:1px;background:var(--line);margin:18px 0}.link-button{display:grid;place-items:center;margin-top:12px}@media (max-width:1024px){.footer-grid,.hero-grid,.section-head,.teacher-cta{grid-template-columns:1fr}.dashboard-metrics,.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-layout-split,.dashboard-empty-state,.dashboard-hero,.dashboard-links-grid,.dashboard-main-grid,.dashboard-student-focus,.dashboard-student-overview-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-showcase-dual{grid-template-columns:1fr}.group-round-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.materials-class-selector,.materials-form-grid,.materials-item-list,.materials-list-grid,.materials-upload-grid{grid-template-columns:1fr}.materials-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.classes-list-grid,.group-control-layout,.group-dashboard-grid,.group-manage-grid,.group-r3-room-grid,.group-view-split{grid-template-columns:1fr}.group-control-actions-card{position:static}.library-layout{grid-template-columns:1fr}.library-filter-sidebar{position:static}.section-head .library-page-title{white-space:normal;text-wrap:pretty}.library-session-card .group-card-actions{flex-wrap:wrap}.library-session-grid.library-session-grid-two{grid-template-columns:1fr}.student-work-actions,.student-work-card-head{align-items:stretch;flex-direction:column}.student-work-tab,.student-work-tabs{width:100%}.student-work-tabs{border-radius:18px}.student-work-form-grid,.student-work-grid,.student-work-metrics,.student-work-settings-grid{grid-template-columns:1fr}.student-work-filter-panel-compact{align-items:stretch}.student-work-filter-clear{width:-moz-fit-content;width:fit-content}.student-work-row,.student-work-row-main{align-items:stretch;flex-direction:column}.student-work-row-compact{align-items:stretch}.student-work-calendar-compact .student-work-calendar-day{grid-template-columns:1fr}.student-work-row-actions{justify-content:flex-start}.student-work-row-compact .student-work-row-actions{flex-wrap:wrap}.account-profile-grid{grid-template-columns:1fr}.account-profile-main{border-right:0;border-bottom:1px solid rgba(59,0,147,.12);padding-right:0;padding-bottom:20px}.account-profile-aside{justify-items:start}.mega-menu{position:fixed;top:84px;left:50%;right:auto;width:min(760px,calc(100vw - 20px));transform:translateX(-50%);max-height:calc(100vh - 110px);overflow:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px}.mega-menu-column{padding:0 8px}.mega-menu-title{font-size:14px}.mega-menu-links a{font-size:14px;line-height:1.4}.feature-gradient-box{grid-template-columns:minmax(180px,22%) minmax(0,78%)}.feature-rail-card{flex-basis:calc((100% - 18px) / 2);min-width:calc((100% - 18px) / 2)}.features-main-head .features-page-title,.section-head .group-manage-page-title{white-space:normal;text-wrap:pretty;font-size:clamp(30px,4.2vw,42px)!important}}@media (max-width:760px){.auth-grid,.content-grid,.dashboard-links,.dashboard-links-grid,.dashboard-main-grid,.dashboard-metrics,.dashboard-student-overview-grid,.feature-grid,.header-inner,.hero-metrics,.join-top-form,.preview-stack,.role-switcher{grid-template-columns:1fr}.dashboard-hero{padding:22px}.dashboard-empty-state,.dashboard-history-item,.dashboard-list-item,.dashboard-panel-head,.dashboard-student-focus,.save-result-card{align-items:stretch;grid-template-columns:1fr}.dashboard-panel-head{display:grid}.dashboard-list-item em{text-align:left}.materials-course-grid,.materials-subfolder-list,.student-assignment-card,.student-assignment-day{grid-template-columns:1fr}.student-list-head{align-items:stretch;flex-direction:column}.student-list-filter{justify-content:flex-start}.student-work-filter-panel-compact{align-items:stretch}.student-work-filter-clear{width:100%}.student-work-detail-grid{grid-template-columns:1fr}.student-calendar-head{align-items:stretch;flex-direction:column}.student-calendar-layout,.student-course-filter{grid-template-columns:1fr}.student-calendar-actions{justify-content:flex-start}.student-calendar-grid{grid-template-columns:repeat(7,minmax(96px,1fr))}.student-calendar-cell{min-height:116px}.student-assignment-actions{justify-content:flex-start}.materials-rename-inline{grid-template-columns:1fr}.materials-course-detail-head{flex-direction:column;align-items:flex-start}.materials-toolbar{flex-wrap:wrap}.site-header{position:-webkit-sticky;position:sticky}.header-inner{display:grid;grid-template-columns:auto 1fr auto;grid-gap:12px;gap:12px;min-height:72px}.header-menu-toggle{display:inline-flex}.main-nav{display:none}.header-actions{display:flex;justify-self:end;gap:8px}.header-quick-join{display:none}.brand-mark{min-width:0}.brand-copy strong{font-size:16px}.brand-copy small{font-size:11px}.ghost-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 10px;font-size:14px}.account-trigger,.header-cta{min-height:40px;height:40px;padding:0 12px;font-size:14px}.mobile-nav{display:block;max-height:0;overflow:hidden;border-top:1px solid rgba(255,255,255,.08);background:rgba(43,0,109,.98);transition:max-height .2s ease}.mobile-nav.open{max-height:420px}.mobile-nav-inner{display:grid;grid-gap:16px;gap:16px;padding:16px 0 20px}.mobile-nav-brand{display:flex}.mobile-nav-actions,.mobile-nav-links{display:grid;grid-gap:10px;gap:10px}.mobile-accordion-trigger,.mobile-ghost-link,.mobile-nav-links a{color:#ffffff;font-weight:700}.mobile-account-link,.mobile-header-cta{width:100%;justify-content:center}.mobile-account-trigger{width:44px;justify-self:center;padding:0}.feature-tab-panel{padding:16px}.mobile-nav-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.mobile-ghost-link,.mobile-header-cta{min-height:44px}.auth-intro h1,.hero-title,.legal-shell h1,.section-head h1,.section-head h2,h1{font-size:24px}.features-main-head h1{font-size:30px;white-space:normal}.site-shell{width:min(100% - 24px,1160px)}.auth-card,.card,.content-card,.feature-card,.hero-preview-card,.join-top-card,.metric-box,.metric-card{padding:22px}.intro-brand-lockup{align-items:flex-start}.footer-grid{grid-template-columns:1fr;gap:20px}.role-tabs-attached{grid-template-columns:1fr 1fr}.role-tab.attached{font-size:16px;min-height:54px}.auth-side-card{padding-top:22px}.login-title small{font-size:18px}.feature-gradient-box{gap:14px;padding:16px}.feature-gradient-box,.group-round-grid,.group-round-item{grid-template-columns:1fr}.account-profile-head h1{font-size:28px}.account-profile-head p{font-size:16px}.account-profile-row{grid-template-columns:1fr;align-items:start;gap:4px;min-height:0}.account-profile-field>span,.account-profile-label,.account-profile-row span,.account-profile-row strong,.account-radio-group label{font-size:15px}.account-avatar-preview{width:130px;height:130px}.feature-gradient-left{padding:0;gap:10px}.feature-gradient-right{grid-template-columns:1fr;gap:10px}.feature-nav-arrow{display:none}.feature-rail-wrap:after,.feature-rail-wrap:before{width:28px}.feature-rail-card{flex-basis:100%;min-width:100%}}@media (max-width:430px){.brand-mark small{display:none}.header-inner{grid-template-columns:auto 1fr}}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}