:root{--page-bg:#080d1a;--bg-surface:#0f1729;--bg-card:rgba(255,255,255,0.05);--bg-card-hover:rgba(255,255,255,0.1);--accent-orange:#f97316;--accent-orange-dim:rgba(249,115,22,0.18);--accent-blue:#3b82f6;--accent-blue-dim:rgba(59,130,246,0.15);--accent-teal:#14b8a6;--accent-teal-dim:rgba(20,184,166,0.15);--accent-purple:#a855f7;--accent-purple-dim:rgba(168,85,247,0.12);--accent-gold:#eab308;--ink:#f1f5f9;--muted:#94a3b8;--text-dim:#64748b;--line:rgba(255,255,255,0.1);--panel:rgba(255,255,255,0.06);--teal:#f97316;--gold:#eab308;--blue:#3b82f6;--radius:18px;--border-glass:rgba(255,255,255,0.1);--border-glow-orange:rgba(249,115,22,0.4);color-scheme:dark}.certificatePrintOnly{display:none}.certificateLoadingOverlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 42%,rgba(20,184,166,.2),transparent 34%),rgba(2,8,23,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.certificateLoadingCard{display:grid;width:min(430px,100%);grid-gap:14px;gap:14px;padding:30px;border:1px solid rgba(94,234,212,.3);border-radius:18px;background:linear-gradient(145deg,rgba(15,32,48,.98),rgba(7,17,31,.98));color:#f8fafc;text-align:center;box-shadow:0 32px 90px rgba(0,0,0,.56),inset 0 1px 0 rgba(255,255,255,.1)}.certificateLoadingLogo{position:relative;display:grid;place-items:center;width:104px;height:104px;margin:0 auto 4px}.certificateLoadingLogo img{position:relative;z-index:1;width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(0,0,0,.38))}.certificateLoadingOrbit{position:absolute;inset:0;border-color:#2dd4bf #fbbf24 rgba(94,234,212,.2) rgba(94,234,212,.2);border-style:solid;border-width:2px;border-radius:50%;animation:certificateOrbit 1.2s linear infinite;box-shadow:0 0 26px rgba(45,212,191,.22)}@keyframes certificateOrbit{to{transform:rotate(1turn)}}.managementReportPrintOnly{display:none}.certificateA4Landscape{position:relative;width:297mm;height:210mm;overflow:hidden;background:radial-gradient(circle at 50% 42%,rgba(255,237,177,.42),transparent 28%),radial-gradient(circle at 18% 18%,rgba(15,139,141,.2),transparent 26%),radial-gradient(circle at 84% 80%,rgba(36,87,167,.16),transparent 28%),linear-gradient(135deg,#fffdf6,#f7fbff 46%,#fff8e8);color:#182338;font-family:Noto Sans Thai,Sarabun,Leelawadee UI,sans-serif}.certificateA4Landscape:after,.certificateA4Landscape:before{position:absolute;inset:8mm;content:"";pointer-events:none}.certificateA4Landscape:before{border:2px solid rgba(185,132,35,.72);box-shadow:inset 0 0 0 1px rgba(15,139,141,.24),inset 0 0 34mm rgba(255,255,255,.68)}.certificateA4Landscape:after{inset:12mm;border:1px solid rgba(15,139,141,.38)}.certificateOrnament{position:absolute;width:112mm;height:112mm;border:1px solid rgba(185,132,35,.22);border-radius:28mm;opacity:.8}.certificateOrnamentA{top:-36mm;left:-28mm;transform:rotate(18deg);background:rgba(15,139,141,.08)}.certificateOrnamentB{right:-32mm;bottom:-42mm;transform:rotate(-14deg);background:rgba(212,151,30,.11)}.certificateInnerFrame{position:relative;z-index:1;display:grid;grid-template-rows:auto 1fr auto;width:100%;height:100%;padding:15mm 22mm 18mm}.certificateHeader{display:flex;align-items:center;justify-content:center;gap:5mm;text-align:left}.certificateLogo{width:24mm;height:24mm;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(15,32,55,.18))}.certificateHeader p{margin:0;color:#172136;font-size:8mm;font-weight:900;line-height:1.15}.certificateHeader span{display:block;margin-top:1mm;color:#6a5a29;font-size:3.3mm;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.certificateBody{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:2mm;text-align:center}.certificateSystemName{margin:0 0 3mm;padding:1.8mm 7mm;border:1px solid rgba(15,139,141,.34);border-radius:999px;background:rgba(255,255,255,.7);color:#0f6f71;font-size:4.7mm;font-weight:950;box-shadow:0 4mm 12mm rgba(15,139,141,.1)}.certificateKicker{margin:0;color:#4e5c70;font-size:5.2mm;font-weight:800}.certificateBody h2{margin:5mm 0 4mm;color:#111b2f;font-size:13mm;font-weight:950;line-height:1.35}.certificateNameLine{width:150mm;height:1px;margin-top:-1mm;background:linear-gradient(90deg,transparent,rgba(185,132,35,.84),transparent)}.certificateSchool{margin:3mm 0 0;color:#0f6f71;font-size:5.2mm;font-weight:900}.certificateStatement{max-width:214mm;margin:6mm 0 0;color:#29364c;font-size:4.7mm;font-weight:700;line-height:1.72}.certificateDate{margin:5mm 0 0;color:#172136;font-size:5.2mm;font-weight:900}.certificateFooter{position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:30mm}.certificateSeal{position:absolute;left:0;bottom:-2mm;color:#6a5a29;font-size:3.6mm;font-weight:900}.certificateSignatureBlock{display:flex;flex-direction:column;align-items:center;color:#172136;text-align:center;transform:translateY(-2mm)}.certificateSignatureBlock img{width:48mm;height:16mm;object-fit:contain;margin-bottom:-1mm}.certificateSignatureLine{width:78mm;height:1px;margin-bottom:2mm;background:rgba(23,33,54,.82)}.certificateSignatureBlock strong{width:118mm;max-width:none;font-size:3.45mm;line-height:1.25;white-space:nowrap}.certificateSignatureBlock span{margin-bottom:1mm;color:#172136;font-size:4.3mm;font-weight:950}.certificateNo{position:absolute;right:22mm;bottom:16mm;display:flex;gap:2mm;color:#59657a;font-size:3.3mm;font-weight:800}.certificateNo strong{color:#172136}@page{size:A4 landscape;margin:0}@media print{body,html{margin:0!important;background:#ffffff!important}body[data-print-mode=certificate]{width:297mm;height:210mm;overflow:hidden!important}body[data-print-mode=report]{width:210mm;min-height:297mm;overflow:visible!important}body[data-print-mode=certificate] .managementPortal,body[data-print-mode=certificate] .mantine-AppShell-root,body[data-print-mode=report] .managementPortal,body[data-print-mode=report] .mantine-AppShell-root{display:none!important}.certificatePrintOnly,.managementReportPrintOnly{visibility:visible!important}.certificateLoadingOverlay{display:none!important}.certificatePrintOnly{position:fixed!important;inset:0!important;display:block!important;width:297mm!important;height:210mm!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#ffffff!important}.certificateA4Landscape{width:297mm!important;height:210mm!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.managementReportPrintOnly{position:absolute!important;inset:0 auto auto 0!important;display:block!important;margin:0!important;padding:0!important;overflow:visible!important;background:#ffffff!important}.managementReportA4,.managementReportPrintOnly{width:210mm!important;min-height:297mm!important}.managementReportA4{print-color-adjust:exact;-webkit-print-color-adjust:exact}}*{box-sizing:border-box}html{background:radial-gradient(ellipse at 10% 0,rgba(249,115,22,.22) 0,transparent 45%),radial-gradient(ellipse at 90% 5%,rgba(59,130,246,.18) 0,transparent 40%),radial-gradient(ellipse at 50% 85%,rgba(168,85,247,.1) 0,transparent 42%),#080d1a;background-attachment:fixed;scroll-behavior:smooth}body{min-width:320px;margin:0;background:transparent!important;background-color:transparent!important;color:var(--ink);font-family:Noto Sans Thai,Sarabun,Leelawadee UI,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0;overflow-x:hidden}.animated-bg{z-index:-1}.blob{border-radius:999px;filter:blur(80px);opacity:.35;animation:blobFloat 18s ease-in-out infinite;will-change:transform}.blob-orange{width:540px;height:540px;top:-120px;left:-100px;background:radial-gradient(circle,#f97316,#dc2626)}.blob-blue{width:480px;height:480px;top:40px;right:-80px;background:radial-gradient(circle,#3b82f6,#6366f1);animation-duration:24s;animation-delay:-6s;animation-direction:reverse}.blob-navy{width:420px;height:420px;bottom:10%;left:35%;background:radial-gradient(circle,#a855f7,#14b8a6);animation-duration:28s;animation-delay:-12s}.bg-grid{background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 0);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse at 50% 50%,black 40%,transparent 80%);mask-image:radial-gradient(ellipse at 50% 50%,black 40%,transparent 80%)}@keyframes blobFloat{0%,to{transform:translate(0) scale(1)}25%{transform:translate(40px,-50px) scale(1.08)}50%{transform:translate(-30px,30px) scale(.94)}75%{transform:translate(20px,50px) scale(1.04)}}button,input,select,textarea{font:inherit}.grandBootScreen{position:relative;display:grid;min-height:100dvh;place-items:center;overflow:hidden;padding:24px;background:radial-gradient(circle at 50% 42%,rgba(249,115,22,.15),transparent 18%),radial-gradient(circle at 28% 22%,rgba(59,130,246,.15),transparent 28%),radial-gradient(circle at 78% 74%,rgba(20,184,166,.15),transparent 30%),linear-gradient(135deg,#080d1a,#0f172a);isolation:isolate}.grandBootBackdrop{position:absolute;inset:-20%;z-index:-1;background:radial-gradient(circle at 50% 46%,rgba(255,255,255,.05),transparent 24%),repeating-linear-gradient(90deg,rgba(255,255,255,.02) 0 1px,transparent 1px 92px),repeating-linear-gradient(0deg,rgba(255,255,255,.02) 0 1px,transparent 1px 92px);animation:grandBootMapDrift 13s linear infinite}.grandBootBackdrop span{position:absolute;width:clamp(140px,18vw,280px);aspect-ratio:1;border:1px solid rgba(255,255,255,.05);border-radius:999px;opacity:.34;box-shadow:inset 0 0 44px rgba(255,255,255,.02),0 22px 70px rgba(0,0,0,.4)}.grandBootBackdrop span:first-child{top:13%;left:9%}.grandBootBackdrop span:nth-child(2){right:8%;bottom:12%;width:clamp(180px,22vw,360px)}.grandBootBackdrop span:nth-child(3){top:10%;right:26%;width:clamp(90px,12vw,190px)}.grandBootPanel{position:relative;display:grid;width:min(560px,100%);justify-items:center;grid-gap:14px;gap:14px;padding:clamp(28px,6vw,48px);border:1px solid rgba(255,255,255,.1);border-radius:32px;background:rgba(255,255,255,.05);box-shadow:0 38px 90px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.2);text-align:center;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);overflow:hidden}.grandBootPanel:after,.grandBootPanel:before{position:absolute;inset:0;z-index:-1;content:"";border-radius:inherit;background:radial-gradient(circle at 50% 12%,rgba(249,115,22,.1),transparent 28%),radial-gradient(circle at 26% 70%,rgba(59,130,246,.1),transparent 32%),radial-gradient(circle at 78% 74%,rgba(20,184,166,.1),transparent 34%);opacity:.92}.grandBootPanel:after{inset:1px;z-index:0;border:1px solid rgba(255,255,255,.1);background:linear-gradient(110deg,transparent 0 38%,rgba(255,255,255,.05) 50%,transparent 62%);opacity:.46;animation:grandBootSheen 2.6s ease-in-out infinite}.grandBootOrbit{position:absolute;top:clamp(24px,5vw,38px);left:50%;width:clamp(150px,27vw,214px);aspect-ratio:1;transform:translateX(-50%);pointer-events:none;opacity:.9}.grandBootOrbit i{position:absolute;inset:0;border:1px dashed rgba(59,130,246,.4);border-radius:999px;animation:grandBootSpin 7s linear infinite}.grandBootOrbit i:nth-child(2){inset:16px;border-color:rgba(249,115,22,.4);animation-duration:5.2s;animation-direction:reverse}.grandBootOrbit i:nth-child(3){inset:32px;border-style:solid;border-color:rgba(20,184,166,.3);animation-duration:8.4s}.grandBootLogo{position:relative;display:grid;width:clamp(104px,18vw,148px);aspect-ratio:1;place-items:center;margin-bottom:4px;border-radius:999px;background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 24px 50px rgba(0,0,0,.5),0 0 0 10px rgba(255,255,255,.05),0 0 0 20px rgba(255,255,255,.02)}.grandBootLogo:after{position:absolute;inset:-14px;content:"";border-radius:inherit;border:2px solid rgba(255,255,255,.1);border-top-color:#f97316;animation:grandBootSpin 1.55s linear infinite}.grandBootLogo img{width:74%;height:74%;object-fit:contain;filter:drop-shadow(0 12px 18px rgba(0,0,0,.4))}.grandBootPanel h1{margin:4px 0 0;color:#f1f5f9;font-size:clamp(30px,5vw,48px);line-height:1.08;text-shadow:0 4px 12px rgba(0,0,0,.3)}.grandBootPanel p{max-width:420px;margin:0;color:var(--muted);font-weight:700}.grandBootProgress{width:min(360px,88%);height:14px;margin-top:8px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(255,255,255,.05);box-shadow:inset 0 2px 8px rgba(0,0,0,.5),0 10px 24px rgba(0,0,0,.3)}.grandBootProgress span{display:block;width:48%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3b82f6,#f97316,#14b8a6);box-shadow:0 0 24px rgba(249,115,22,.4);animation:grandBootLoad 1.35s ease-in-out infinite}.grandBootSteps{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px}.grandBootSteps b{min-width:82px;padding:7px 10px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.08);color:#cbd5e1;font-size:11px;letter-spacing:0}@keyframes grandBootSpin{to{transform:rotate(1turn)}}@keyframes grandBootLoad{0%{transform:translateX(-110%)}52%{transform:translateX(88%)}to{transform:translateX(250%)}}@keyframes grandBootSheen{0%,to{transform:translateX(-35%);opacity:.18}48%{transform:translateX(35%);opacity:.44}}@keyframes grandBootMapDrift{to{transform:translate3d(6%,4%,0)}}@media (prefers-reduced-motion:reduce){.grandBootBackdrop,.grandBootLogo:after,.grandBootOrbit i,.grandBootPanel:after,.grandBootPanel:before,.grandBootProgress span{animation:none}}.learningShell{--app-shell-border-color:rgba(255,255,255,0.08);background:transparent}.loginScreen{display:grid;min-height:100dvh;grid-template-columns:minmax(0,1fr) minmax(320px,430px);grid-gap:clamp(24px,5vw,72px);gap:clamp(24px,5vw,72px);align-items:center;width:min(1180px,calc(100% - 32px));margin:0 auto;padding:clamp(24px,6vw,70px) 0}.loginScreen:before{position:fixed;inset:0;z-index:-1;content:"";background:linear-gradient(135deg,rgba(8,13,26,.6),rgba(15,23,41,.5)),url(https://img1.pic.in.th/images/Studio_Ghibli_style_illustration_of_202606272153.jpeg);background-position:50%;background-size:cover}.loginHero{display:grid;grid-gap:18px;gap:18px;padding:36px;border-radius:28px;background:rgba(8,13,26,.55);border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 24px 60px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.05)}.loginHero h1{margin:0;color:#ffffff;font-size:clamp(38px,5vw,62px);line-height:1.05;text-shadow:0 2px 10px rgba(0,0,0,.9),0 4px 32px rgba(249,115,22,.3)}.loginHero .mantine-Text-root,.loginHero p{color:#e2e8f0!important;text-shadow:0 1px 4px rgba(0,0,0,.9)}.loginBrand{display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:12px;padding:10px 16px;border:1px solid rgba(249,115,22,.35);border-radius:999px;background:rgba(8,13,26,.65);box-shadow:0 0 24px rgba(249,115,22,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.loginBrand img{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(212,151,30,.22))}.loginBoot,.loginCard{position:relative;overflow:hidden;display:grid;justify-items:center;grid-gap:14px;gap:14px;padding:clamp(24px,4vw,36px);border:1px solid rgba(255,255,255,.12);border-radius:24px;background:rgba(15,23,42,.75);box-shadow:0 34px 80px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.12);text-align:center;-webkit-backdrop-filter:blur(32px) saturate(1.4);backdrop-filter:blur(32px) saturate(1.4)}.loginCard:after,.loginCard:before{position:absolute;content:"";pointer-events:none}.loginCard:before{inset:0;border-radius:inherit;background:linear-gradient(145deg,rgba(249,115,22,.08),rgba(59,130,246,.06) 50%,rgba(168,85,247,.06));opacity:.8}.loginCard:after{inset:-42%;background:conic-gradient(from 140deg,transparent,rgba(249,115,22,.15),transparent 22%,rgba(59,130,246,.12),transparent 42%);filter:blur(26px);opacity:.6;animation:loginCardGlow 8s linear infinite}.loginBoot>*,.loginCard>*{position:relative;z-index:1}.loginBoot{grid-column:1/-1;min-height:240px;align-self:center;border:1px solid rgba(249,115,22,.2);border-radius:24px}.loginCard h2{margin:0;color:#ffffff;text-shadow:0 2px 12px rgba(0,0,0,.4)}.loginCard .mantine-ThemeIcon-root{background:linear-gradient(135deg,rgba(249,115,22,.3),rgba(59,130,246,.2));box-shadow:0 18px 36px rgba(249,115,22,.2),0 0 0 8px rgba(249,115,22,.06),inset 0 1px 0 rgba(255,255,255,.2)}.loginFeatureGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;max-width:720px}.loginFeatureGrid div{display:grid;grid-gap:4px;gap:4px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(15,23,42,.45);box-shadow:0 12px 28px rgba(0,0,0,.2);transition:border-color .18s ease,background .18s ease}.loginFeatureGrid div:hover{background:rgba(249,115,22,.15);border-color:rgba(249,115,22,.4)}.loginFeatureGrid span{color:#94a3b8;font-size:13px;font-weight:700}.loginModeSwitch{display:grid;grid-template-columns:1fr 1fr;width:100%;grid-gap:8px;gap:8px;padding:6px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(255,255,255,.06);box-shadow:inset 0 2px 8px rgba(0,0,0,.2)}.loginModeSwitch button{min-height:40px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-weight:950;cursor:pointer;transition:color .15s ease}.loginModeSwitch button.active{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;box-shadow:0 12px 24px rgba(249,115,22,.35),inset 0 1px 0 rgba(255,255,255,.24)}.loginError{width:100%;padding:10px 12px;border:1px solid rgba(218,82,82,.28);border-radius:14px;background:#fff2f2;color:#a13333;font-weight:900}.loginForm{display:grid;width:100%;grid-gap:14px;gap:14px;margin-top:8px}.loginForm label{display:grid;grid-gap:7px;gap:7px;color:var(--ink);font-weight:900;text-align:left}.loginForm label>small{color:#94a3b8;font-size:.74rem;font-weight:700}.bulkTextarea,.loginForm input,.loginForm select,.managementPanel input,.managementPanel select{width:100%;min-height:50px;padding:12px 14px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.08);color:#f1f5f9;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.loginForm input::placeholder,.loginForm select::placeholder{color:#64748b}.bulkTextarea:focus,.loginForm input:focus,.loginForm select:focus,.managementPanel input:focus,.managementPanel select:focus{border-color:rgba(249,115,22,.6);box-shadow:0 0 0 3px rgba(249,115,22,.2),0 0 0 1px rgba(249,115,22,.4);transform:translateY(-1px)}.loginForm select option,.managementPanel select option{background-color:#ffffff!important;color:#0f172a!important}.registerSchoolInput{padding-left:42px!important}.registerSchoolDropdown{border:1px solid rgba(45,212,191,.32)!important;background:#0b1724!important;color:#f8fafc!important;box-shadow:0 20px 50px rgba(2,8,23,.62)!important}.registerSchoolOption{color:#e2e8f0!important;font-weight:700}.registerSchoolOption:hover,.registerSchoolOption[data-combobox-selected]{background:rgba(20,184,166,.2)!important;color:#f8fafc!important}.formGridTwo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.registerReviewModal .mantine-Modal-content{border:1px solid rgba(45,212,191,.28);background:radial-gradient(circle at 92% 8%,rgba(20,184,166,.16),transparent 34%),#0b1724;color:#f8fafc;box-shadow:0 28px 80px rgba(2,8,23,.62),inset 0 1px 0 rgba(255,255,255,.08)}.registerReviewModal .mantine-Modal-header{border-bottom:1px solid rgba(148,163,184,.16);background:transparent}.registerReviewModal .mantine-Modal-title{color:#f8fafc;font-size:1.2rem;font-weight:950}.registerReviewModal .mantine-Modal-close{color:#e2e8f0}.registerReviewGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:18px}.registerReviewGrid>div{display:grid;grid-gap:5px;gap:5px;min-width:0;padding:13px 14px;border:1px solid rgba(148,163,184,.16);border-radius:8px;background:rgba(255,255,255,.05)}.registerReviewGrid .wide{grid-column:1/-1}.registerReviewGrid span{color:#94a3b8;font-size:.76rem;font-weight:800}.registerReviewGrid strong{overflow-wrap:anywhere;color:#f8fafc;font-size:.94rem}@media (max-width:560px){.registerReviewGrid{grid-template-columns:1fr}.registerReviewGrid .wide{grid-column:auto}}.demoLoginStrip{display:grid;grid-gap:8px;gap:8px;width:100%;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.04)}.quickRoleGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.quickRoleGrid button{min-height:40px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.06);color:var(--muted);font-weight:950;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease,color .15s ease}.quickRoleGrid button:hover{border-color:rgba(249,115,22,.5);background:rgba(249,115,22,.1);color:#f97316;transform:translateY(-1px)}@keyframes loginCardGlow{to{transform:rotate(1turn)}}.appNavbar{position:fixed;background:rgba(8,13,26,.85)!important;border-right:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.appMain{min-height:100dvh;color:var(--ink);background:transparent!important;background-color:transparent!important;background-attachment:fixed}.learningShell{background:transparent!important;background-color:transparent!important}.pageToolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(1320px,100%);margin:0 auto 18px;padding:14px 20px;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:rgba(8,13,26,.8);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.1);position:relative}.pageToolbar:after{content:"";position:absolute;bottom:-1px;left:20px;right:20px;height:3px;background:linear-gradient(90deg,#f97316,#3b82f6,#14b8a6);border-radius:4px;opacity:.9}.profileNameButton{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:6px 12px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.08);color:#e2e8f0;font:inherit;font-size:13px;font-weight:850;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.profileNameButton:hover{transform:translateY(-1px);border-color:rgba(249,115,22,.4);background:rgba(249,115,22,.12);color:#f97316}.sidebarShell{height:calc(100dvh - 32px);overflow:hidden}.brandBlock{padding:10px;border:1px solid rgba(249,115,22,.2);border-radius:16px;background:linear-gradient(135deg,rgba(249,115,22,.12),rgba(59,130,246,.08))}.brandBlock img{width:46px;height:46px;object-fit:contain;padding:4px;border-radius:14px;background:rgba(255,255,255,.1);box-shadow:0 10px 24px rgba(249,115,22,.2)}.sidebarScroll{flex:1 1;padding-right:4px}.courseCard{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08);box-shadow:0 10px 26px rgba(0,0,0,.2);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease,background .18s ease}.courseCard:hover{transform:translateY(-2px);background:rgba(255,255,255,.07);box-shadow:0 16px 32px rgba(0,0,0,.3)}.courseCard.active{border-color:rgba(249,115,22,.4);background:rgba(249,115,22,.08)}.doneIcon{color:#14b8a6;flex:0 0 auto}.moduleNav{border-radius:12px;color:var(--muted)}.moduleNav:hover{background:rgba(255,255,255,.06)!important;color:var(--ink)}.moduleNav[data-active]{background-color:transparent;background-image:linear-gradient(135deg,rgba(249,115,22,.2),rgba(59,130,246,.15));border-left:3px solid #f97316;color:#f97316}.moduleNav[data-active] :where(.mantine-NavLink-description,.mantine-NavLink-label){color:#f1f5f9}.dashboardHome{display:grid;grid-gap:18px;gap:18px;width:min(1320px,100%);margin:0 auto;padding-bottom:96px}.dashboardHero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);grid-gap:22px;gap:22px;align-items:stretch;overflow:hidden;padding:clamp(24px,4vw,44px);border:1px solid rgba(255,255,255,.1);border-radius:24px;background:linear-gradient(135deg,rgba(8,13,26,.82),rgba(15,23,42,.7)),url(/assets/learning/social-studies-hero.png);background-position:50%;background-size:cover;box-shadow:0 16px 36px rgba(0,0,0,.4);color:var(--ink)}.dashboardHero .mantine-Text-root{color:var(--ink)!important}.dashboardHero h1{margin:14px 0 10px;color:#ffffff;font-size:clamp(40px,5vw,76px);line-height:1.05;text-shadow:0 4px 24px rgba(0,0,0,.5);letter-spacing:-1px}.dashboardPassport{display:grid;align-content:end;grid-gap:14px;gap:14px;background:rgba(255,255,255,.06)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(234,179,8,.25)!important;box-shadow:0 12px 28px rgba(0,0,0,.3),0 0 24px rgba(234,179,8,.08)!important;color:var(--ink)}.dashboardPassport .mantine-Title-root{color:#f1f5f9!important;text-shadow:none}.dashboardPassport .mantine-Text-root[data-size=sm]{color:var(--muted)!important}.passportMeter{padding:14px;border:1px solid rgba(234,179,8,.15);border-radius:16px;background:rgba(255,255,255,.04)}.passportSymbolRow{display:grid;grid-template-columns:repeat(5,42px);justify-content:center;grid-gap:12px;gap:12px}.passportSymbol{width:42px;height:42px}.passwordNotice{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);grid-gap:16px;gap:16px;align-items:center;border-color:rgba(212,151,30,.28);background:linear-gradient(135deg,rgba(255,248,226,.96),rgba(255,255,255,.9)),#fff}.passwordInlineForm{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px}.passwordInlineForm input{width:100%;min-height:44px;padding:10px 12px;border:1px solid rgba(22,32,51,.14);border-radius:14px;outline:none}.dashboardStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.dashboardStat{justify-content:center;gap:12px;background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}.dashboardStat,.dashboardStat>div{display:flex;flex-direction:column;align-items:center;text-align:center}.dashboardStat .mantine-Progress-root{width:100%;margin-top:4px}.studentProfilePage{display:grid;grid-gap:18px;gap:18px;width:min(1320px,100%);margin:0 auto;padding-bottom:96px}.profileHeroPanel{justify-content:space-between;padding:clamp(22px,3vw,36px);border:1px solid rgba(6,182,212,.3);border-radius:20px;background:linear-gradient(135deg,rgba(8,16,28,.85),rgba(13,24,42,.75));box-shadow:0 20px 50px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.08);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.profileHeroPanel,.profileIdentity{display:flex;align-items:center;gap:18px}.profileIdentity{min-width:0}.profileAvatar{display:grid;place-items:center;width:86px;height:86px;flex:0 0 auto;border:2px solid #06b6d4;border-radius:50%!important;background:rgba(6,182,212,.12);color:#06b6d4;box-shadow:0 0 20px rgba(6,182,212,.45),inset 0 0 10px rgba(6,182,212,.2)}.profileHeroPanel h1{margin:8px 0 4px;color:#ffffff;font-size:clamp(28px,4vw,42px);font-weight:900;letter-spacing:-.01em;text-shadow:0 0 12px rgba(6,182,212,.4)}.profileHeroPanel .profileIdentity .mantine-Text-root,.profileHeroPanel .profileIdentity p{color:#94a3b8!important;text-shadow:0 1px 2px rgba(0,0,0,.5)}.profileActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.profileStatGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.profileStatCard{display:flex;flex-direction:column;justify-content:center;padding:20px;background:rgba(10,18,32,.75)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08)!important;border-radius:20px;box-shadow:0 16px 36px rgba(0,0,0,.4)!important;text-align:center;transition:all .3s cubic-bezier(.2,.8,.2,1);color:#f8fafc}.profileStatCard:hover{transform:translateY(-4px) scale(1.02);border-color:rgba(6,182,212,.5)!important;box-shadow:0 0 20px rgba(6,182,212,.25),0 20px 40px rgba(0,0,0,.4)!important}.profileStatCard.primary{background:linear-gradient(135deg,rgba(16,185,129,.12),rgba(5,150,105,.08))!important;border:1px solid rgba(16,185,129,.4)!important;box-shadow:inset 0 0 20px rgba(16,185,129,.1),0 16px 36px rgba(0,0,0,.4)!important}.profileStatCard.primary:hover{border-color:rgba(16,185,129,.7)!important;box-shadow:inset 0 0 30px rgba(16,185,129,.25),0 0 25px rgba(16,185,129,.3),0 20px 40px rgba(0,0,0,.4)!important}.profileStatCard h2{margin:6px 0 2px;color:#ffffff;font-size:clamp(26px,3.5vw,38px);font-weight:900;line-height:1.1;text-shadow:0 2px 10px rgba(0,0,0,.6)}.profileStatCard .mantine-Text-root{color:#94a3b8!important}.profileContentGrid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);grid-gap:14px;gap:14px}.profilePanel{background:rgba(10,18,32,.8)!important;border:1px solid rgba(255,255,255,.06)!important;box-shadow:0 20px 48px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.05)!important;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:20px}.profilePanel h3{color:#ffffff!important;font-weight:900;letter-spacing:.02em;text-transform:uppercase}.profileCourseRow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:center;width:100%;padding:14px 18px;border:1px solid rgba(255,255,255,.05);border-radius:14px;background:rgba(255,255,255,.03);color:#f1f5f9;text-align:left;cursor:pointer;transition:all .22s cubic-bezier(.2,.8,.2,1)}.profileCourseRow:hover{transform:translateX(4px);border-color:rgba(6,182,212,.5);background:rgba(6,182,212,.08);box-shadow:0 0 15px rgba(6,182,212,.2)}.profileCourseRow.complete{border-color:rgba(16,185,129,.35);background:linear-gradient(90deg,rgba(16,185,129,.06),rgba(255,255,255,.01))}.profileCourseRow.complete:hover{border-color:rgba(16,185,129,.6);background:linear-gradient(90deg,rgba(16,185,129,.12),rgba(16,185,129,.03));box-shadow:0 0 15px rgba(16,185,129,.25)}.profileCourseRow strong,.profileGameRow strong{display:block;font-weight:800;color:#ffffff;font-size:15px}.profileCourseRow small,.profileGameRow small{display:block;margin-top:3px;color:#94a3b8;font-weight:600;font-size:11px}.courseBadgeNo{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#06b6d4,#3b82f6);color:#fff;font-weight:900;box-shadow:0 0 10px rgba(6,182,212,.3)}.profileGameRow{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(90px,150px);grid-gap:14px;gap:14px;align-items:center;padding:14px 18px;border:1px solid rgba(255,255,255,.05);border-radius:14px;background:linear-gradient(90deg,rgba(255,255,255,.03),rgba(255,255,255,.01));border-left:3px solid var(--game-color,#7c3aed)}.profileGameRow .mantine-Progress-root{background-color:rgba(255,255,255,.08)!important}.gameIcon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.06);font-size:20px}.courseLaunchGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:14px;gap:14px}.courseLaunchCard{position:relative;display:flex;flex-direction:column;height:100%;padding:0;overflow:hidden;background:rgba(255,255,255,.06)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1)!important;border-radius:20px;box-shadow:0 12px 28px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.1)!important;cursor:pointer;transition:all .35s cubic-bezier(.2,.8,.2,1);color:var(--ink)}.courseLaunchCard:hover{transform:translateY(-8px) scale(1.02);border-color:var(--accent-orange,rgba(249,115,22,.5))!important;box-shadow:0 24px 48px rgba(0,0,0,.5),inset 0 2px 0 rgba(255,255,255,.2),0 0 0 1px rgba(249,115,22,.3)!important;z-index:10}.courseLaunchCard .mantine-Title-root{color:#f1f5f9!important;text-shadow:none}.courseLaunchCard .mantine-Text-root{color:var(--muted)!important}.courseLaunchCard.done{background:rgba(20,184,166,.06)!important;border:1px solid rgba(20,184,166,.25)!important;opacity:.9}.courseLaunchCard.done:hover{opacity:1;border-color:rgba(20,184,166,.5)!important;box-shadow:0 16px 36px rgba(20,184,166,.2)!important}.courseLaunchMedia{min-height:160px;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.4)),var(--course-image);background-position:50%}.courseLaunchBody{display:flex;flex-direction:column;flex:1 1;gap:16px;padding:16px}.courseLaunchBody>.mantine-Button-root{margin-top:auto}.courseLaunchBody h3{margin:6px 0 0;font-size:18px;font-weight:900;line-height:1.35;color:#f1f5f9;display:block}.homeMiniGameSection,.managementConsole{display:grid;grid-gap:16px;gap:16px;padding:clamp(18px,3vw,30px);border:1px solid rgba(255,255,255,.1);border-radius:24px;background:rgba(255,255,255,.04);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 18px 42px rgba(0,0,0,.3)}.homeMiniGameGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.homeMiniGameCard{position:relative;display:flex;flex-direction:column;gap:12px;padding:20px!important;overflow:hidden;background:rgba(255,255,255,.06)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1)!important;border-radius:20px;box-shadow:0 12px 28px rgba(0,0,0,.3)!important;cursor:pointer;transition:all .35s cubic-bezier(.2,.8,.2,1);color:var(--ink)}.homeMiniGameCard:hover{transform:translateY(-8px) scale(1.03);border-color:var(--game-accent)!important;box-shadow:0 24px 48px rgba(0,0,0,.5),0 0 20px color-mix(in srgb,var(--game-accent) 30%,transparent)!important;z-index:10}.homeMiniGameCard:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 50%);pointer-events:none}.homeMiniGameCard.active{border-color:color-mix(in srgb,var(--game-accent) 60%,transparent);box-shadow:0 18px 36px rgba(0,0,0,.4),0 0 16px color-mix(in srgb,var(--game-accent) 25%,transparent)}.homeMiniGameCard h3{margin:0;font-size:15px;font-weight:950;color:#f1f5f9;line-height:1.25}.homeMiniGameCard p{font-size:12px!important;line-height:1.4;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;height:50px;color:var(--muted)}.gameImageFrame{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;aspect-ratio:4/3;border-radius:12px;border:1px solid rgba(22,32,51,.08);background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--game-accent) 20%,transparent),color-mix(in srgb,var(--game-accent) 8%,transparent)),#fff;transition:transform .2s ease}.homeMiniGameCard:hover .gameImageFrame{transform:scale(1.02)}.gameImageEmoji{font-size:32px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.15));transition:transform .28s cubic-bezier(.175,.885,.32,1.275)}.homeMiniGameCard:hover .gameImageEmoji{transform:scale(1.18) rotate(6deg)}.gameImagePlaceholderText{margin-top:6px;font-size:11px;font-weight:850;color:var(--muted);letter-spacing:.5px}.gameCardTop,.gameStatStrip,.miniLeaderboard div,.studentRow{display:flex;align-items:center;justify-content:space-between;gap:8px}.gameCardTop{margin-top:0}.gameStatStrip{padding:8px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.05)}.gameStatStrip span{display:grid;grid-gap:2px;gap:2px}.gameStatStrip strong{color:var(--ink);font-size:16px;line-height:1}.gameStatStrip small,.miniLeaderboard span,.studentRow small{color:var(--muted);font-size:11px;font-weight:800}.miniLeaderboard{display:grid;grid-gap:4px;gap:4px;min-height:74px}.miniLeaderboard div{padding:4px 8px;border-radius:8px;background:rgba(255,255,255,.06);color:var(--ink);font-size:12px}.miniLeaderboard b{display:flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:10px;font-weight:900;border-radius:50%;color:#fff;flex-shrink:0}.miniLeaderboard div:first-child b{background:linear-gradient(135deg,#ffd700,#ffa500);box-shadow:0 2px 5px rgba(255,165,0,.35)}.miniLeaderboard div:nth-child(2) b{background:linear-gradient(135deg,#c0c0c0,#a9a9a9);box-shadow:0 2px 5px rgba(169,169,169,.35)}.miniLeaderboard div:nth-child(3) b{background:linear-gradient(135deg,#cd7f32,#8b5a2b);box-shadow:0 2px 5px rgba(139,90,43,.35)}.miniLeaderboard span{flex-grow:1;font-size:11px;font-weight:750;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.miniLeaderboard strong{font-size:11px;font-weight:900;color:var(--teal);flex-shrink:0}.homeArcadePlayer{display:grid;grid-gap:14px;gap:14px;border-color:rgba(255,255,255,.08);background:radial-gradient(circle at 12% 4%,rgba(139,92,246,.15),transparent 34%),linear-gradient(135deg,rgba(30,41,59,.65),rgba(15,23,42,.85));box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 18px 40px rgba(0,0,0,.4)}.homeArcadePlayer,.homeArcadePlayer .mantine-Text-root,.homeArcadePlayer .mantine-Title-root,.homeArcadePlayer h3{color:#f8fafc!important}.homeArcadePlayer .mantine-Text-root[c=dimmed]{color:#94a3b8!important}.arcadeProgressBox{display:grid;min-width:min(280px,100%);grid-gap:6px;gap:6px;padding:12px 14px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(15,23,42,.6);color:#f8fafc!important}.legacyMiniGrid{grid-template-columns:repeat(5,minmax(0,1fr))}.legacyMiniCard{display:grid;min-height:388px;grid-template-rows:auto minmax(58px,auto) minmax(72px,auto) auto minmax(96px,1fr) auto;align-content:stretch;padding:16px;background:rgba(255,255,255,.8)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:2px solid rgba(22,32,51,.08)!important;border-radius:20px;box-shadow:0 12px 28px rgba(10,37,64,.05)!important;transition:all .35s cubic-bezier(.2,.8,.2,1);cursor:pointer;color:var(--ink)}.legacyMiniCard:hover{transform:translateY(-6px) scale(1.02);border-color:var(--teal)!important;box-shadow:0 20px 40px rgba(10,37,64,.12)!important;z-index:10}.legacyMiniCard .mantine-Title-root{display:-webkit-box;min-height:58px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#ffffff!important;text-shadow:0 2px 8px rgba(0,0,0,.5)}.legacyMiniCard .mantine-Text-root{color:rgba(255,255,255,.7)!important}.legacyMiniDetail{display:-webkit-box;min-height:72px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.legacyMiniCard .gameStatStrip{min-height:64px}.legacyMiniCard .miniLeaderboard{min-height:96px;align-content:start}.legacyMiniCard .mantine-Button-root{align-self:end}.legacyMiniIcon{display:grid;width:46px;height:46px;place-items:center;border:1px solid color-mix(in srgb,var(--game-accent) 56%,white);border-radius:16px;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.88),transparent 36%),color-mix(in srgb,var(--game-accent) 28%,white);font-size:24px;box-shadow:0 10px 22px color-mix(in srgb,var(--game-accent) 24%,transparent)}.legacyMiniFrameCard{margin-top:18px;padding:18px;border-color:rgba(255,255,255,.08);background:radial-gradient(circle at 12% 4%,rgba(139,92,246,.15),transparent 34%),linear-gradient(135deg,rgba(30,41,59,.65),rgba(15,23,42,.8));box-shadow:0 10px 30px rgba(0,0,0,.35)}.legacyMiniFrameCard,.legacyMiniFrameCard h3,.legacyMiniFrameCard h4,.legacyMiniFrameCard span{color:#f8fafc!important}.legacyMiniFrameCard .mantine-Text-root{color:#94a3b8!important}.legacyMiniFrame{display:block;width:100%;height:min(82vh,860px);min-height:620px;margin-top:16px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(15,23,42,.7)}.legacyMiniPlayer{display:grid;grid-gap:14px;gap:14px;border-color:color-mix(in srgb,var(--game-accent) 28%,transparent);background:radial-gradient(circle at 10% 0,color-mix(in srgb,var(--game-accent) 16%,transparent),transparent 34%),linear-gradient(135deg,rgba(30,41,59,.75),rgba(15,23,42,.85));box-shadow:0 22px 48px rgba(0,0,0,.4)}.legacyMiniHeader,.legacyMiniHud,.legacyMiniOptions{display:flex;align-items:center;justify-content:space-between;gap:12px}.legacyMiniStage{position:relative;overflow:hidden;min-height:420px;border:1px solid rgba(22,32,51,.1);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.76),rgba(247,252,255,.56)),radial-gradient(circle at 12% 18%,color-mix(in srgb,var(--game-accent) 18%,transparent),transparent 32%),#f8fbff}.legacyMiniStage:before{position:absolute;inset:0;background-image:linear-gradient(rgba(22,32,51,.04) 1px,transparent 0),linear-gradient(90deg,rgba(22,32,51,.04) 1px,transparent 0);background-size:32px 32px;content:"";pointer-events:none}.legacyMiniHud{position:relative;z-index:1;flex-wrap:wrap;padding:14px}.legacyMiniHud span{display:inline-flex;min-height:38px;align-items:center;gap:6px;padding:8px 12px;border:1px solid rgba(22,32,51,.08);border-radius:999px;background:rgba(255,255,255,.82);color:var(--ink);font-weight:950}.legacyMiniPlay,.legacyMiniResult,.legacyMiniStart{position:relative;z-index:1;display:grid;place-items:center;grid-gap:14px;gap:14px;min-height:330px;padding:clamp(18px,3vw,34px);text-align:center}.legacyMiniMascot{display:grid;width:92px;height:92px;place-items:center;border-radius:28px;background:color-mix(in srgb,var(--game-accent) 24%,white);font-size:54px;box-shadow:0 18px 44px color-mix(in srgb,var(--game-accent) 28%,transparent)}.legacyMiniProgress{overflow:hidden;width:min(620px,100%);height:12px;border-radius:999px;background:rgba(22,32,51,.1)}.legacyMiniProgress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--game-accent),#18c29c);transition:width .28s ease}.legacyMiniPrompt{display:grid;width:min(720px,100%);grid-gap:10px;gap:10px;padding:clamp(18px,3vw,30px);border:1px solid rgba(22,32,51,.1);border-radius:22px;background:rgba(255,255,255,.88);box-shadow:0 16px 32px rgba(22,32,51,.08)}.legacyMiniPrompt span{font-size:42px}.legacyMiniPrompt strong{color:var(--ink);font-size:clamp(20px,2.3vw,30px);line-height:1.2}.legacyMiniPrompt small{color:var(--muted);font-weight:800}.legacyMiniOptions{flex-wrap:wrap;justify-content:center}.legacyMiniOptions button{min-width:min(230px,100%);min-height:56px;border:1px solid color-mix(in srgb,var(--game-accent) 32%,rgba(22,32,51,.12));border-radius:16px;background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--game-accent) 10%,#fff));color:var(--ink);font-weight:950;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.legacyMiniOptions button:hover{transform:translateY(-2px);box-shadow:0 14px 28px color-mix(in srgb,var(--game-accent) 20%,transparent)}.managementStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.managementPortal{min-height:100dvh;padding:clamp(14px,2vw,28px);background:var(--page-bg)}.managementPortalHeader{display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(1480px,100%);margin:0 auto 16px;padding:12px 14px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(255,255,255,.05);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 18px 42px rgba(0,0,0,.4)}.managementBrand{display:flex;align-items:center;gap:10px}.managementBrand img{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(22,32,51,.12))}.managementPortal .managementConsole{width:min(1480px,100%);margin:0 auto}.managementStats .mantine-Card-root{min-height:106px;background:rgba(15,23,42,.6)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1)!important;box-shadow:0 14px 28px rgba(0,0,0,.3)!important;color:#ffffff}.managementStats .mantine-Text-root,.managementStats .mantine-Title-root{color:#ffffff!important}.managementStats small{color:var(--muted);font-weight:800}.managementCharts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.managementChartCard{min-height:280px;background:rgba(15,23,42,.6)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1)!important;border-radius:20px;box-shadow:0 14px 28px rgba(0,0,0,.3)!important;color:#f8fafc}.managementChartCard .mantine-Text-root,.managementChartCard .mantine-Title-root{color:#ffffff!important}.miniBarChart{display:grid;grid-gap:10px;gap:10px}.miniBarChart.compact{gap:6px}.miniBarRow{display:grid;grid-template-columns:minmax(108px,1fr) minmax(120px,2fr) 46px;align-items:center;grid-gap:8px;gap:8px;color:#f8fafc;font-size:13px;font-weight:900}.miniBarChart.compact .miniBarRow{grid-template-columns:minmax(96px,1fr) minmax(110px,1.8fr) 42px;font-size:11px}.miniBarRow span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.miniBarTrack{overflow:hidden;height:10px;border-radius:999px;background:rgba(22,32,51,.08)}.miniBarTrack i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0f8b8d,#d4971e)}.managementDataTable{overflow-x:auto}.managementTableSearch{display:flex!important;width:min(100%,520px);min-height:42px;align-items:center;gap:8px!important;margin-top:12px;padding:0 11px;border:1px solid rgba(94,234,212,.22);border-radius:8px;background:rgba(2,12,24,.48);color:#94a3b8}.managementTableSearch:focus-within{border-color:rgba(45,212,191,.72);box-shadow:0 0 0 3px rgba(20,184,166,.13)}.managementTableSearch input{flex:1 1;min-width:0;min-height:40px!important;padding:0!important;border:0!important;background:transparent!important;color:#f8fafc!important;box-shadow:none!important;outline:none}.managementTableSearch input::placeholder{color:#64748b}.managementTableSearch button{display:grid;width:28px;height:28px;place-items:center;border:0;border-radius:50%;background:rgba(148,163,184,.12);color:#cbd5e1;cursor:pointer}.studentRow,.studentTableHeader{min-width:1120px}.schoolTableHeader,.schoolTableRow,.studentTableHeader{display:grid;align-items:center;grid-gap:8px;gap:8px}.studentTableHeader{grid-template-columns:minmax(170px,1.2fr) 120px minmax(140px,1fr) 92px 92px 82px 112px 174px;padding:8px 10px;border-radius:12px;background:rgba(20,184,166,.2);color:#e2e8f0;font-size:12px;font-weight:950}.schoolTableHeader,.schoolTableRow{min-width:760px;grid-template-columns:minmax(220px,1.4fr) repeat(5,minmax(88px,1fr))}.schoolTableHeader{padding:8px 10px;border-radius:12px;background:rgba(59,130,246,.2);color:#e2e8f0;font-size:12px;font-weight:950}.schoolTableRow{padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.03);color:#e2e8f0}.sortHeader{display:inline-flex;min-width:0;align-items:center;justify-content:space-between;gap:6px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.sortHeader span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sortHeader b{color:#38bdf8;font-size:10px}.sortHeader.active{color:#f97316}.managementGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);grid-gap:14px;gap:14px}.managementPanel{display:grid;grid-gap:12px;gap:12px;background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:16px;border:1px solid rgba(255,255,255,.1);padding:16px}.managementPanel label{display:grid;grid-gap:6px;gap:6px;font-weight:900}.bulkTextarea{min-height:104px;resize:vertical;outline:none}.studentTableCard{background:rgba(15,23,42,.6)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1)!important;border-radius:20px;box-shadow:0 14px 28px rgba(0,0,0,.3)!important;color:#f8fafc}.studentTableCard .mantine-Text-root,.studentTableCard .mantine-Title-root{color:#ffffff!important}.studentTable{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.studentRow{grid-template-columns:minmax(170px,1.2fr) 120px minmax(140px,1fr) 92px 92px 82px 112px 174px;padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.03);color:#e2e8f0}.studentRow,.studentRow span:first-child{display:grid}.managementReportA4{width:210mm;min-height:297mm;padding:12mm;background:#fff;color:#172136;font-family:Noto Sans Thai,Sarabun,Leelawadee UI,sans-serif}.reportHeader{display:grid;grid-template-columns:20mm 1fr;grid-gap:5mm;gap:5mm;align-items:center;padding-bottom:5mm;border-bottom:1.5px solid #b98423}.reportHeader img{width:18mm;height:18mm;object-fit:contain}.reportHeader h1,.reportHeader p,.reportHeader span{margin:0}.reportHeader p{font-size:12pt;font-weight:900}.reportHeader h1{margin-top:1mm;font-size:15pt;font-weight:950}.reportHeader span{display:block;margin-top:1mm;color:#5b667a;font-size:9pt;font-weight:800}.reportSummaryGrid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:2mm;gap:2mm;margin:5mm 0}.reportSummaryGrid div{padding:3mm;border:1px solid #dfe7e3;border-radius:3mm;background:#f8fbfa}.reportSummaryGrid span{display:block;color:#5b667a;font-size:8pt;font-weight:800}.reportSummaryGrid strong{font-size:18pt;line-height:1}.reportTwoCols{display:grid;grid-template-columns:1fr 1fr;grid-gap:5mm;gap:5mm;margin-top:5mm}.reportTableBlock,.reportTwoCols>div{padding:4mm;border:1px solid #dfe7e3;border-radius:3mm;page-break-inside:avoid;break-inside:avoid}.reportTableBlock h2,.reportTwoCols h2{margin:0 0 3mm;color:#0f6f71;font-size:11pt}.reportRankList{display:grid;grid-gap:2mm;gap:2mm;margin:0;padding-left:5mm;font-size:9pt;font-weight:800}.reportRankList li{display:flex;justify-content:space-between;gap:4mm}.reportTableBlock{margin-top:5mm}.reportTableBlock table{width:100%;border-collapse:collapse;font-size:8.2pt}.reportTableBlock.compact table{font-size:7.5pt}.reportTableBlock td,.reportTableBlock th{padding:1.6mm 1.8mm;border:1px solid #dfe7e3;text-align:left;vertical-align:top}.reportTableBlock th{background:#edf7f5;color:#172136;font-weight:950}.courseHero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);grid-gap:22px;gap:22px;width:min(1320px,100%);min-height:220px;margin:0 auto 18px;padding:clamp(24px,4vw,42px);overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:linear-gradient(90deg,rgba(8,13,26,.88) 0,rgba(8,13,26,.72) 48%,rgba(8,13,26,.3) 100%),var(--hero-image);background-position:50%;background-size:cover;background-repeat:no-repeat;background-clip:padding-box;box-shadow:0 16px 36px rgba(0,0,0,.4)}.courseHero:after{position:absolute;inset:auto 0 0;height:4px;content:"";background:linear-gradient(90deg,var(--accent,#f97316),#3b82f6,#14b8a6)}.courseHero h1{margin:14px 0 10px;color:#ffffff;font-size:clamp(36px,5vw,70px);line-height:1.05;text-shadow:0 4px 24px rgba(0,0,0,.5)}.heroProgress{align-self:end;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.lessonWorkspace{width:min(1320px,100%);margin:0 auto;padding-bottom:96px}.lessonTopbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px;padding:16px 24px;background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:20px;border:1px solid rgba(255,255,255,.1);border-left:5px solid var(--teal,#f97316);color:var(--ink);box-shadow:0 10px 25px rgba(0,0,0,.3)}.lessonTopbar h2{margin:8px 0 0;font-size:clamp(24px,3vw,36px);line-height:1.16;color:#f1f5f9;text-shadow:none}.lessonTopbar .mantine-Button-root{background:var(--accent-blue,#3b82f6);border-color:transparent;color:#fff}.lessonTopbar .mantine-Button-root:hover{background:#2563eb;opacity:.95}.slideCanvas{height:clamp(580px,66dvh,660px);padding:clamp(18px,3vw,30px);overflow:hidden;border-color:rgba(16,185,129,.3);background:#022c22;box-shadow:0 18px 44px rgba(0,0,0,.6)}.slideCanvas,.slideCanvas div,.slideCanvas h3,.slideCanvas h4,.slideCanvas li,.slideCanvas p,.slideCanvas span{color:#f8fafc}.modulePreloaderUi{position:relative;display:grid;align-items:center;justify-items:center;height:100%;width:100%;min-height:460px;overflow:hidden;background:linear-gradient(rgba(34,211,238,.045) 1px,transparent 0),linear-gradient(90deg,rgba(34,211,238,.045) 1px,transparent 0),radial-gradient(circle at 50% 45%,rgba(13,148,136,.16),transparent 34%);background-size:34px 34px,34px 34px,100% 100%;text-align:center;animation:fadeIn .28s ease-out}.moduleLoadStage{display:grid;width:min(460px,calc(100% - 28px));justify-items:center;grid-gap:10px;gap:10px;padding:clamp(22px,4vw,36px);border:1px solid rgba(94,234,212,.25);border-radius:18px;background:linear-gradient(145deg,rgba(7,28,36,.94),rgba(10,17,32,.96));box-shadow:0 28px 70px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.08),0 0 44px rgba(20,184,166,.1)}.moduleLoadStage h3{margin:4px 0 0;color:#ffffff;font-size:clamp(24px,4vw,34px)}.moduleLoadStage>p{color:#93a4b8!important;font-size:13px}.moduleLoadEmblem{position:relative;display:grid;width:126px;height:126px;place-items:center}.moduleLoadEmblem img{position:relative;z-index:2;width:68px;height:68px;object-fit:contain;filter:drop-shadow(0 10px 15px rgba(0,0,0,.42));animation:moduleLoadLogo 1.8s ease-in-out infinite}.moduleLoadEmblem span{position:absolute;inset:5px;border:1px solid rgba(94,234,212,.45);border-radius:50%;animation:moduleLoadOrbit 2.6s linear infinite}.moduleLoadEmblem span:nth-child(2){inset:17px;border-color:rgba(251,191,36,.5);border-style:dashed;animation-duration:1.9s;animation-direction:reverse}.moduleLoadEmblem span:nth-child(3){inset:29px;border-color:rgba(139,92,246,.46);animation-duration:3.4s}.moduleLoadProgress{width:100%;height:12px;margin-top:7px;overflow:hidden;border:1px solid rgba(94,234,212,.22);border-radius:999px;background:rgba(2,6,23,.78);box-shadow:inset 0 2px 7px rgba(0,0,0,.45)}.moduleLoadProgress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#14b8a6,#22d3ee,#fbbf24);box-shadow:0 0 18px rgba(34,211,238,.7);transition:width .18s ease}.moduleLoadMeta{display:grid;width:100%;grid-template-columns:auto repeat(3,1fr);grid-gap:6px;gap:6px;align-items:center}.moduleLoadMeta b{color:#5eead4;font-size:18px}.moduleLoadMeta span{padding:5px;border:1px solid rgba(148,163,184,.14);border-radius:6px;color:#75869c!important;font-size:8px;font-weight:900}@keyframes moduleLoadOrbit{to{transform:rotate(1turn)}}@keyframes moduleLoadLogo{0%,to{transform:scale(.96)}50%{transform:scale(1.05)}}@media (max-width:600px){.modulePreloaderUi{min-height:400px}.moduleLoadStage{gap:8px;padding:20px 16px}.moduleLoadEmblem{width:104px;height:104px}.moduleLoadEmblem img{width:56px;height:56px}.moduleLoadMeta{grid-template-columns:1fr 1fr 1fr}.moduleLoadMeta b{grid-column:1/-1}}:-webkit-full-screen.fullscreen-wrapper{background:var(--page-bg)!important;padding:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}:fullscreen.fullscreen-wrapper{background:var(--page-bg)!important;padding:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}:-webkit-full-screen.fullscreen-wrapper .lessonTopbar{position:relative;z-index:4;flex:0 0 auto;margin:0;border-radius:0}:fullscreen.fullscreen-wrapper .lessonTopbar{position:relative;z-index:4;flex:0 0 auto;margin:0;border-radius:0}:-webkit-full-screen.fullscreen-wrapper .mantine-Tabs-root{position:relative;z-index:2;display:flex;flex:1 1;min-height:0;flex-direction:column;overflow:hidden;padding:10px 16px 0}:fullscreen.fullscreen-wrapper .mantine-Tabs-root{position:relative;z-index:2;display:flex;flex:1 1;min-height:0;flex-direction:column;overflow:hidden;padding:10px 16px 0}:-webkit-full-screen.fullscreen-wrapper [role=tablist]{flex:0 0 auto}:fullscreen.fullscreen-wrapper [role=tablist]{flex:0 0 auto}:-webkit-full-screen.fullscreen-wrapper [role=tabpanel]{flex:1 1;min-height:0;overflow:auto}:fullscreen.fullscreen-wrapper [role=tabpanel]{flex:1 1;min-height:0;overflow:auto}:-webkit-full-screen.fullscreen-wrapper .lessonContentPanel{display:flex;height:100%;min-height:0;flex-direction:column;overflow:hidden!important}:fullscreen.fullscreen-wrapper .lessonContentPanel{display:flex;height:100%;min-height:0;flex-direction:column;overflow:hidden!important}:-webkit-full-screen.fullscreen-wrapper .slideCanvas{flex:1 1!important;height:auto!important;width:100%!important;max-height:none!important;max-width:none!important;border-radius:0!important;border:none!important;margin:0!important;overflow-y:auto!important;scrollbar-width:none!important;-ms-overflow-style:none!important}:fullscreen.fullscreen-wrapper .slideCanvas{flex:1 1!important;height:auto!important;width:100%!important;max-height:none!important;max-width:none!important;border-radius:0!important;border:none!important;margin:0!important;overflow-y:auto!important;scrollbar-width:none!important;-ms-overflow-style:none!important}:-webkit-full-screen.fullscreen-wrapper .slideCanvas::-webkit-scrollbar{display:none!important}:fullscreen.fullscreen-wrapper .slideCanvas::-webkit-scrollbar{display:none!important}:-webkit-full-screen.fullscreen-wrapper .slideControls{flex:0 0 auto!important;margin:0!important;padding:16px!important;width:100%!important;background:rgba(0,0,0,.4)!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;box-sizing:border-box!important}:fullscreen.fullscreen-wrapper .slideControls{flex:0 0 auto!important;margin:0!important;padding:16px!important;width:100%!important;background:rgba(0,0,0,.4)!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;box-sizing:border-box!important}:-webkit-full-screen.fullscreen-wrapper .battlePanel,:-webkit-full-screen.fullscreen-wrapper .missionPanel{min-height:100%;margin:0;border-radius:16px}:fullscreen.fullscreen-wrapper .battlePanel,:fullscreen.fullscreen-wrapper .missionPanel{min-height:100%;margin:0;border-radius:16px}.slideGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,48%);grid-gap:clamp(18px,3vw,34px);gap:clamp(18px,3vw,34px);width:100%;height:100%;min-height:0}.slideCopy{display:flex;min-width:0;min-height:0;flex-direction:column;gap:16px;padding:clamp(8px,1vw,18px)}.slideCopy h3{margin:0;font-size:clamp(28px,3vw,44px);line-height:1.12}.slideText{max-width:none;color:#243047;font-size:clamp(16px,1.15vw,19px);line-height:1.75}.slideStructuredText,.slideText{min-height:0;overflow:auto;padding-right:8px}.slideStructuredText{display:grid;grid-gap:14px;gap:14px}.slideIntroText{color:#243047;font-size:clamp(16px,1.08vw,18px);line-height:1.72}.slidePointGrid{display:grid;grid-gap:10px;gap:10px}.slidePointCard{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:12px;gap:12px;align-items:flex-start;padding:12px 14px;background:rgba(255,255,255,.06)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1)!important;border-radius:16px;box-shadow:0 10px 24px rgba(0,0,0,.25)!important;color:var(--ink)}.slidePointCard p{margin:0;color:#cbd5e1;font-size:clamp(15px,1vw,17px);line-height:1.62}.sidebarScroll ::-webkit-scrollbar,.slideText::-webkit-scrollbar{width:8px}.sidebarScroll ::-webkit-scrollbar-thumb,.slideText::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(249,115,22,.3)}.slideMedia{position:relative;min-width:0;height:100%;margin:0;overflow:hidden;border:1px solid rgba(22,32,51,.12);border-radius:18px;background:#eef6f3;box-shadow:inset 0 0 0 1px rgba(255,255,255,.62)}.slideMedia :where(.mantine-Image-root,img){width:100%;height:100%}.slideMedia img{object-fit:contain;object-position:center}.slidePhotoMedia{width:100%;max-width:100%;align-self:start;aspect-ratio:4/3;height:auto;min-height:0;border-color:color-mix(in srgb,var(--slide-accent,#0f8b8d) 28%,rgba(22,32,51,.12));background:#0f172a;box-shadow:0 18px 38px rgba(22,32,51,.16),inset 0 0 0 1px rgba(255,255,255,.24)}.miniGameRankOverlay{position:absolute;inset:0;z-index:80;display:grid;place-items:center;padding:clamp(16px,5vw,30px);background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--game-accent) 30%,transparent),transparent 42%),rgba(3,8,18,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:miniRankReveal .32s ease-out both}.miniGameRankPanel{position:relative;display:grid;width:min(430px,100%);grid-gap:14px;gap:14px;padding:clamp(22px,6vw,34px) clamp(18px,5vw,28px);overflow:hidden;border:1px solid color-mix(in srgb,var(--game-accent) 58%,rgba(255,255,255,.16));border-radius:24px;background:linear-gradient(145deg,rgba(20,34,53,.98),rgba(5,13,25,.98));box-shadow:0 28px 70px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.12),0 0 38px color-mix(in srgb,var(--game-accent) 22%,transparent);color:#f8fafc;text-align:center}.miniGameRankPanel:before{position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,transparent,var(--game-accent),#fbbf24,transparent);content:""}.miniGameRankIcon{display:grid;width:78px;height:78px;margin:0 auto;place-items:center;border:1px solid rgba(253,224,71,.65);border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff7bf,#fbbf24 48%,#b45309);color:#132238;box-shadow:0 0 0 8px rgba(251,191,36,.09),0 16px 36px rgba(251,191,36,.28)}.miniGameRankPanel h2,.miniGameRankPanel p{margin:0}.miniGameRankPanel h2{color:#ffffff;font-size:clamp(24px,6vw,34px);line-height:1.15}.miniGameRankPanel>p{color:#b8c6d9;font-size:clamp(13px,3.4vw,16px);line-height:1.55}.miniGameRankPosition{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.miniGameRankPosition>div{display:grid;grid-gap:2px;gap:2px;padding:12px 8px;border:1px solid rgba(148,163,184,.18);border-radius:14px;background:rgba(255,255,255,.055)}.miniGameRankPosition strong{color:#ffffff;font-size:clamp(23px,6vw,32px);line-height:1}.miniGameRankPosition span{color:#93a4ba!important;font-size:12px;font-weight:800}.miniGameRankBadges{display:flex;min-height:30px;flex-wrap:wrap;justify-content:center;gap:8px}.miniGameRankActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.miniGameRankActions .mantine-Button-root{min-width:0;padding-inline:10px;font-size:13px}@keyframes miniRankReveal{0%{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}.slidePhotoMedia:after{position:absolute;inset:auto 0 0;height:34%;background:linear-gradient(180deg,transparent,rgba(15,23,42,.72));content:"";pointer-events:none}.slidePhotoMedia figcaption{position:absolute;right:14px;bottom:12px;left:14px;z-index:1;color:#ffffff;font-size:clamp(12px,.95vw,14px);font-weight:800;line-height:1.45;text-shadow:0 2px 8px rgba(0,0,0,.38)}.structuredCourseCanvas{height:auto;min-height:clamp(640px,74dvh,820px);overflow:visible;padding:clamp(16px,2.6vw,28px);border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.04);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.structuredLessonSlide{--slide-accent:#0f8b8d;display:grid;grid-gap:clamp(14px,2vw,22px);gap:clamp(14px,2vw,22px)}.structuredLessonHeader{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid rgba(22,32,51,.08)}.structuredLessonHeader h3{margin:10px 0 0;color:var(--ink);font-size:clamp(24px,2.6vw,38px);line-height:1.14}.structuredLessonMain{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);grid-gap:clamp(14px,2vw,28px);gap:clamp(14px,2vw,28px);align-items:stretch}.structuredContentFrame{display:flex;flex-direction:column;gap:8px;padding:clamp(16px,2.5vw,24px);border:1px solid rgba(255,255,255,.15);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.03));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 12px 32px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.1);height:100%}.structuredDescription{display:grid;grid-gap:10px;gap:10px;align-content:start;padding:clamp(14px,2vw,22px);border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.structuredDescription p:last-child{color:#cbd5e1;font-size:clamp(15px,1.1vw,18px);line-height:1.72}.slideImageInstruction{display:grid;aspect-ratio:4/3;height:auto;min-height:0;place-items:center;padding:clamp(14px,2vw,22px);border:2px dashed color-mix(in srgb,var(--slide-accent,#0f8b8d) 42%,#dbe4ef);background:radial-gradient(circle at 30% 18%,rgba(255,255,255,.9),transparent 34%),color-mix(in srgb,var(--slide-accent,#0f8b8d) 8%,#f8fafc);box-shadow:inset 0 0 0 1px rgba(255,255,255,.82),0 14px 28px rgba(22,32,51,.08)}.imageInstructionInner{display:grid;max-width:90%;justify-items:center;grid-gap:10px;gap:10px;text-align:center}.imageInstructionIcon{display:grid;width:62px;height:62px;place-items:center;border:1px solid color-mix(in srgb,var(--slide-accent,#0f8b8d) 24%,white);border-radius:999px;background:rgba(255,255,255,.92);color:var(--slide-accent,#0f8b8d);box-shadow:0 12px 24px color-mix(in srgb,var(--slide-accent,#0f8b8d) 16%,transparent)}.imageInstructionInner p{color:color-mix(in srgb,var(--slide-accent,#0f8b8d) 58%,#1f2937);font-size:clamp(13px,1vw,15px);font-weight:800;line-height:1.56}.structuredStepPanel{padding:clamp(14px,2vw,22px);border:1px solid rgba(255,255,255,.1);border-radius:22px;background:rgba(255,255,255,.04);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.structuredStepPanel h4{margin:0;color:var(--ink)}.structuredStepGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.structuredStepCard{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:10px;gap:10px;align-items:flex-start;min-height:112px;padding:13px 14px;background:rgba(255,255,255,.07)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1)!important;border-radius:18px;box-shadow:0 10px 22px rgba(0,0,0,.25)!important;color:var(--ink)}.structuredStepCard p{margin:0;color:#cbd5e1;font-size:clamp(13px,1vw,15px);line-height:1.58}.structuredStepCard strong{color:var(--teal)}.slideControls{display:grid;grid-template-columns:auto minmax(180px,320px) auto;align-items:center;justify-content:center;grid-gap:14px;gap:14px;margin:14px 0 18px}.slideCounter{min-width:min(320px,42vw);padding:10px 14px;border:1px solid rgba(94,234,212,.34);border-radius:999px;background:linear-gradient(145deg,#123f35,#082d29);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 12px 26px rgba(5,39,34,.22)}.slideCounter .mantine-Text-root{color:#f0fdfa}.slideCounter .mantine-Progress-root{background:rgba(255,255,255,.16)}.missionPanel{margin-top:18px;padding:clamp(18px,3vw,30px);border:1px solid rgba(168,85,247,.3);border-radius:26px;background:radial-gradient(circle at 5% 5%,rgba(168,85,247,.12),transparent 36%),radial-gradient(circle at 95% 95%,rgba(20,184,166,.08),transparent 36%),rgba(255,255,255,.04);box-shadow:0 28px 60px rgba(0,0,0,.4),0 0 30px rgba(168,85,247,.1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.missionPanel h3{background:linear-gradient(90deg,#a855f7 30%,#14b8a6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-size:26px!important;font-weight:950!important}.battlePanel{margin-top:18px;padding:clamp(18px,3vw,30px);border:1px solid rgba(249,115,22,.2);border-radius:22px;background:rgba(255,255,255,.04);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 18px 42px rgba(0,0,0,.4)}.missionScore{width:min(260px,100%);padding:14px 16px;border:1px solid rgba(167,139,250,.35);border-radius:20px;background:linear-gradient(135deg,#1e1b4b,#311042);box-shadow:0 8px 24px rgba(49,16,66,.25);color:#ffffff}.missionScore .mantine-Text-root{color:#e9d5ff!important}.missionScore div:first-child{font-size:26px!important;color:#a78bfa!important;text-shadow:0 0 10px rgba(167,139,250,.4)}.legacyCanvasShell{position:relative;width:100%;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:rgba(255,255,255,.04);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 18px 34px rgba(0,0,0,.4)}.legacyCanvasMount{width:100%;height:100%}.legacyCanvasMount canvas{display:block;width:100%!important;height:100%!important;border-radius:inherit}.legacyCanvasStatus{position:absolute;inset:0;display:grid;place-items:center;padding:20px;background:rgba(8,13,26,.82);color:var(--ink);font-weight:950;text-align:center}.legacyMissionPanel{background:radial-gradient(circle at 14% 0,rgba(168,85,247,.12),transparent 32%),rgba(255,255,255,.04);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.legacyMissionCanvas{aspect-ratio:1000/560;height:auto;margin-top:18px}.legacyBattlePanel{background:radial-gradient(circle at 10% 0,rgba(255,211,94,.1),transparent 32%),radial-gradient(circle at 90% 0,rgba(218,82,82,.1),transparent 34%),rgba(30,41,59,.5);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#f8fafc}.legacyBattlePreview{width:100%;aspect-ratio:1100/330;height:auto;border-radius:18px}.legacyBattleCanvas{aspect-ratio:1100/500;height:auto;border-radius:24px}.missionGrid{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));margin-top:18px}.missionCard{position:relative;display:grid;grid-template-columns:80px 1fr;grid-gap:16px;gap:16px;align-items:center;padding:16px;border-radius:16px;box-shadow:0 10px 24px rgba(0,0,0,.3)!important;cursor:pointer;transition:all .35s ease}.missionCard:hover{transform:translateY(-4px);border-color:rgba(249,115,22,.4)!important;box-shadow:0 16px 32px rgba(0,0,0,.5),0 0 16px rgba(249,115,22,.15)!important}.missionCard .mantine-Title-root{color:#fff!important;text-shadow:none}.missionCard .mantine-Text-root{color:#cbd5e1!important}.categoryCard{border-top:5px solid #6953a5;min-height:0}.matchBoard{grid-template-columns:minmax(130px,.75fr) minmax(0,1.25fr);grid-gap:10px;gap:10px;margin-top:14px}.matchColumn{display:grid;grid-gap:8px;gap:8px}.categoryButton,.matchChip,.matchClue{border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.05);color:#e2e8f0;font-weight:800;cursor:pointer;transition:all .2s cubic-bezier(.2,.8,.2,1)}.matchChip,.matchClue{min-height:48px;padding:10px 12px}.matchClue{text-align:left;line-height:1.45}.categoryButton:hover,.matchChip:hover,.matchClue:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.1)}.categoryButton.selected,.matchChip.selected,.matchClue.selected{border-color:#8b5cf6;background:rgba(139,92,246,.2);color:#ddd6fe;box-shadow:0 0 0 1px #8b5cf6}.categoryButton.correct,.matchChip.correct,.matchChip.matched,.matchClue.correct,.matchClue.matched{border-color:#10b981;background:rgba(16,185,129,.2);color:#a7f3d0}.categoryButton.correct,.matchChip.correct,.matchClue.correct{box-shadow:0 4px 12px rgba(16,185,129,.1)}.categoryButton.wrong,.matchChip.wrong,.matchClue.wrong{border-color:#f43f5e;background:rgba(244,63,94,.2);color:#fecdd3;box-shadow:0 4px 12px rgba(239,68,68,.1)}.missionCheckBar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding:14px 16px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(15,23,42,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.shake{animation:shake .36s ease}.categoryRow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.05);color:#e2e8f0;transition:all .2s ease}.categoryRow:hover{background:rgba(255,255,255,.08);border-color:rgba(139,92,246,.4);transform:translateX(2px)}.categoryRow p{margin:0}.categoryButton{min-height:38px;padding:8px 12px}@media (max-width:1100px){.categoryRow{flex-direction:column;align-items:flex-start;gap:8px}}.battlePanel,.battlePanel.legacyBattlePanel{border-color:rgba(94,234,212,.22);background:radial-gradient(circle at 10% 0,rgba(251,191,36,.12),transparent 34%),radial-gradient(circle at 90% 8%,rgba(251,113,133,.12),transparent 36%),linear-gradient(145deg,rgba(7,24,32,.98),rgba(8,14,29,.98));color:#f0fdfa;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 22px 54px rgba(0,0,0,.42)}.battlePanel>.mantine-Group-root .mantine-Title-root{color:#f8fafc}.battlePanel>.mantine-Group-root .mantine-Text-root{color:#94a3b8!important}.battleLoading{display:grid;min-height:180px;place-items:center;grid-gap:10px;gap:10px;margin-top:18px;background:rgba(30,41,59,.7);border:1px solid rgba(255,255,255,.1);border-radius:16px;color:#f8fafc}.loaderRing{width:54px;height:54px;border:6px solid rgba(15,139,141,.18);border-top-color:#0f8b8d;border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.fighterSelect{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);grid-gap:16px;gap:16px;margin-top:18px;padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:22px;background:radial-gradient(circle at 10% 10%,rgba(6,182,212,.18),transparent 32%),radial-gradient(circle at 90% 90%,rgba(244,63,94,.16),transparent 32%),rgba(11,19,36,.95);box-shadow:0 24px 50px rgba(5,10,20,.6),inset 0 0 40px rgba(15,139,141,.06);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.fighterSelect>div>.mantine-Text-root{color:#fff!important;font-size:16px;font-weight:950;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(90deg,#22d3ee,#ffd36b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline-block;margin-bottom:12px}.fighterGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.fighterCard{position:relative;display:grid;min-height:174px;place-items:center;grid-gap:8px;gap:8px;padding:12px 10px;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:linear-gradient(180deg,rgba(22,37,63,.85),rgba(13,20,36,.95));color:#fff;font-weight:950;cursor:pointer;transition:transform .2s cubic-bezier(.2,.8,.2,1),border-color .2s ease,box-shadow .2s ease}.fighterCard:before{position:absolute;inset:0;content:"";background:repeating-linear-gradient(45deg,rgba(255,255,255,.015) 0 2px,transparent 2px 10px),linear-gradient(120deg,transparent 0 42%,rgba(255,255,255,.08) 42% 44%,transparent 44% 100%);pointer-events:none;z-index:0}.fighterCard:hover{transform:translateY(-4px);border-color:rgba(6,182,212,.6);box-shadow:0 16px 32px rgba(6,182,212,.22),0 0 12px rgba(6,182,212,.15)}.fighterCard.selected{border-color:#06b6d4;box-shadow:0 0 20px rgba(6,182,212,.45),inset 0 0 12px rgba(6,182,212,.25);background:linear-gradient(180deg,rgba(22,58,85,.9),rgba(13,20,36,.98))}.fighterCard img{position:relative;z-index:1;width:100%;height:112px;object-fit:contain;filter:drop-shadow(0 14px 16px rgba(0,0,0,.45));transition:transform .25s cubic-bezier(.175,.885,.32,1.25)}.fighterCard:hover img{transform:scale(1.15) translateY(-6px);filter:drop-shadow(0 16px 20px rgba(6,182,212,.4))}.fighterCard span{position:relative;z-index:1;display:block;width:100%;padding:6px 8px;border:1px solid rgba(6,182,212,.2);border-radius:999px;background:rgba(9,15,29,.85);font-size:13px;text-align:center;color:#22d3ee;transition:all .2s ease}.fighterCard.selected span{border-color:#facc15;color:#facc15;background:rgba(250,204,21,.08)}.fighterCardReady{position:absolute;top:8px;right:8px;z-index:2;font-style:normal;font-size:9px;font-weight:900;padding:2px 6px;border-radius:4px;background:linear-gradient(90deg,#10b981,#059669);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);letter-spacing:.5px;box-shadow:0 0 10px rgba(16,185,129,.4);animation:cardReadyBlink 1s infinite alternate}@keyframes cardReadyBlink{0%{opacity:.7;box-shadow:0 0 4px rgba(16,185,129,.2)}to{opacity:1;box-shadow:0 0 12px rgba(16,185,129,.6)}}.battleConfirm{display:grid;align-content:center;justify-items:center;min-height:100%;grid-gap:12px;gap:12px;padding:16px;text-align:center;background:linear-gradient(180deg,#111a2e,#0c1220);border:1px solid rgba(255,255,255,.08);border-radius:18px;color:#fff}.battleConfirm .mantine-Title-root{color:#fff}.battleConfirm .mantine-Text-root{color:#94a3b8!important}.battleConfirm .mantine-Button-root[class*=default]{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.1);color:#cbd5e1}.battleConfirm .mantine-Button-root[class*=default]:hover{background:rgba(255,255,255,.14)}.battleConfirm .mantine-Button-root[class*=Button]{background:linear-gradient(90deg,#00f0ff,#0072ff);box-shadow:0 0 15px rgba(0,240,255,.35);color:#fff;transition:all .2s ease}.battleConfirm .mantine-Button-root[class*=Button]:hover:not(:disabled){box-shadow:0 0 24px rgba(0,240,255,.6);transform:translateY(-1px)}.battleConfirm .battleConfirmShieldIcon{color:#06b6d4;filter:drop-shadow(0 0 12px rgba(6,182,212,.4));margin-bottom:8px}.battleConfirm img{width:min(220px,80%);height:220px;object-fit:contain}.battlePreviewStage{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);align-items:end;width:100%;min-height:160px;overflow:hidden;padding:14px 12px 10px;border:1px solid rgba(6,182,212,.25);border-radius:18px;background:radial-gradient(ellipse at 25% 92%,rgba(6,182,212,.8) 0,transparent 40%),radial-gradient(ellipse at 75% 92%,rgba(244,63,94,.8) 0,transparent 40%),linear-gradient(180deg,rgba(9,15,29,.32),rgba(12,23,35,.64)),var(--battle-scene);background-position:50%;background-size:cover;box-shadow:inset 0 -36px 44px rgba(16,32,38,.4),0 0 16px rgba(6,182,212,.25)}.battlePreviewStage:after{position:absolute;inset:0;background:linear-gradient(rgba(18,16,16,0) 50%,rgba(0,0,0,.3) 0),linear-gradient(90deg,rgba(255,0,0,.05),rgba(0,255,0,.02),rgba(0,0,255,.05));background-size:100% 4px,6px 100%;content:"";z-index:2;pointer-events:none;opacity:.35}.battlePreviewStage span{align-self:center;justify-self:center;display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:linear-gradient(135deg,#f43f5e,#e11d48);color:#fff;font-weight:1000;font-size:14px;box-shadow:0 0 12px rgba(244,63,94,.6);border:2px solid #fff;z-index:3}.battlePreviewStage img{position:relative;z-index:1;width:100%;height:126px;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(0,0,0,.5))}.battleArena{margin-top:14px}.battleHud{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:center;margin-bottom:8px}.hpPanel{position:relative;min-height:44px;padding:6px 10px 8px;overflow:hidden;border:1px solid rgba(255,255,255,.34);border-radius:12px;background:linear-gradient(135deg,rgba(15,30,48,.92),rgba(14,70,74,.84)),#142033;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 10px 20px rgba(22,32,51,.16);color:#fff}.hpPanel:before{position:absolute;inset:0;content:"";border-radius:inherit;background:linear-gradient(90deg,rgba(31,197,143,.16),transparent 44%),linear-gradient(135deg,transparent 0 52%,rgba(255,255,255,.46) 52% 54%,transparent 54% 100%);pointer-events:none}.hpPanel.enemy{text-align:right}.hpPanel.enemy:before{background:linear-gradient(270deg,rgba(239,89,89,.16),transparent 44%),linear-gradient(45deg,transparent 0 52%,rgba(255,255,255,.46) 52% 54%,transparent 54% 100%)}.hpPanel :where(.mantine-Group-root,.mantine-Text-root){position:relative;z-index:1}.hpPanel .mantine-Text-root{color:#fff;font-size:12px;line-height:1.1}.hpTrack{position:relative;z-index:1;height:8px;margin-top:6px;overflow:hidden;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.09) 0 1px,transparent 1px 18px),rgba(7,13,24,.48)}.hpTrack span{display:block;height:100%;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.52),transparent 48%),linear-gradient(90deg,#17d38b,#0aa8c9);box-shadow:0 0 18px rgba(33,201,122,.28);transition:width .36s ease}.hpPanel.enemy .hpTrack span{margin-left:auto;background:linear-gradient(180deg,rgba(255,255,255,.52),transparent 48%),linear-gradient(90deg,#ef5959,#ffcf5a);box-shadow:0 0 18px rgba(239,89,89,.26)}.vsBadge{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 34%,#ffe9ad 35% 100%);color:#162033;font-weight:1000;box-shadow:inset 0 0 0 2px rgba(255,255,255,.9),0 12px 24px rgba(212,151,30,.18)}.battleStage{position:relative;display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,.82fr) minmax(150px,1fr);align-items:center;min-height:390px;overflow:hidden;border:1px solid rgba(22,32,51,.12);border-radius:24px;background:linear-gradient(180deg,rgba(8,17,28,.06),rgba(8,17,28,.26)),radial-gradient(circle at 18% 44%,rgba(25,205,132,.16),transparent 28%),radial-gradient(circle at 82% 42%,rgba(239,89,89,.14),transparent 30%),var(--battle-scene),linear-gradient(180deg,#fffdf4 0 62%,#e8f3ed 63% 100%);background-position:50%;background-size:cover;box-shadow:inset 0 -74px 90px rgba(8,17,28,.22),0 16px 34px rgba(22,32,51,.08)}.battleStage:before{position:absolute;inset:auto -8% -18% -8%;height:42%;content:"";background:radial-gradient(ellipse at center,rgba(255,255,255,.86),rgba(214,225,205,.46) 56%,transparent 72%),repeating-linear-gradient(90deg,rgba(22,32,51,.04) 0 1px,transparent 1px 46px);transform:perspective(420px) rotateX(58deg);transform-origin:center bottom}.battleStage:after{position:absolute;inset:0;z-index:4;content:"";opacity:0;pointer-events:none}.battleStage.hero:after{background:radial-gradient(circle at 78% 48%,rgba(255,225,92,.36),transparent 24%);animation:hitFlash 1.32s ease-out forwards}.battleStage.enemy:after{background:radial-gradient(circle at 22% 48%,rgba(86,140,255,.34),transparent 24%);animation:hitFlash 1.32s ease-out forwards}.battleSprite{position:relative;z-index:3;display:grid;place-items:end center;height:330px;transition:transform .42s ease}.battleSprite:before{position:absolute;right:16%;bottom:12px;left:16%;height:28px;content:"";border-radius:50%;background:radial-gradient(ellipse at center,rgba(22,32,51,.2),transparent 68%);filter:blur(2px)}.heroSprite{justify-self:start;padding-left:clamp(14px,4vw,48px)}.enemySprite{justify-self:end;padding-right:clamp(14px,4vw,48px)}.battleSprite img{position:relative;z-index:1;width:min(285px,86%);height:305px;object-fit:contain;filter:drop-shadow(0 20px 26px rgba(22,32,51,.18))}.enemySprite img{transform:none!important}.battleStage.hero .heroSprite{animation:heroLunge .98s cubic-bezier(.2,.9,.15,1)}.battleStage.enemy .enemySprite{animation:enemyLunge .98s cubic-bezier(.2,.9,.15,1)}.stageCenter{position:relative;z-index:6;display:grid;place-items:center;grid-gap:10px;gap:10px;min-height:122px;padding:14px;border:1px solid rgba(255,255,255,.36);border-radius:20px;background:rgba(255,255,255,.82);color:#172238;text-align:center;box-shadow:0 16px 34px rgba(22,32,51,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.stageCenter .mantine-Text-root{color:#172238;font-size:clamp(14px,1.8vw,17px);line-height:1.35}.battleFxLayer{position:absolute;inset:0;z-index:5;pointer-events:none}.battleFxLayer span{position:absolute;display:block}.fxTrail{top:47%;left:22%;width:250px;height:40px;border-radius:999px;transform-origin:left center;background:radial-gradient(circle at 82% 50%,rgba(255,255,255,.98) 0 9%,transparent 10%),linear-gradient(90deg,transparent,rgba(255,255,255,.16) 18%,rgba(255,235,118,.92) 54%,rgba(255,80,62,.9));filter:drop-shadow(0 0 20px rgba(255,92,66,.52));-webkit-clip-path:polygon(0 48%,72% 16%,100% 50%,72% 84%,0 58%);clip-path:polygon(0 48%,72% 16%,100% 50%,72% 84%,0 58%);animation:heroProjectile 1.32s ease-out forwards}.fxTrail:after{position:absolute;top:-18px;right:-28px;width:76px;height:76px;content:"";background:conic-gradient(from 0deg,transparent 0 18deg,rgba(255,255,255,.95) 18deg 26deg,transparent 26deg 78deg,rgba(255,211,85,.95) 78deg 90deg,transparent 90deg 160deg,rgba(255,82,62,.78) 160deg 174deg,transparent 174deg 1turn);border-radius:50%;animation:sparkSpin 1.32s ease-out forwards}.fxBlade{top:31%;left:64%;width:180px;height:180px;border-radius:50%;transform:rotate(-18deg);border-color:rgba(255,255,255,.95) rgba(255,218,84,.88) rgba(255,70,70,.78) transparent;border-style:solid;border-width:12px 14px 16px 8px;filter:drop-shadow(0 0 22px rgba(255,83,83,.52));animation:heroSlash 1.32s ease-out forwards}.fxBlade:after,.fxBlade:before{position:absolute;content:"";border-radius:999px;background:rgba(255,255,255,.84);transform-origin:center}.fxBlade:before{top:78px;left:-28px;width:230px;height:9px;transform:rotate(-18deg)}.fxBlade:after{top:96px;left:12px;width:170px;height:7px;transform:rotate(22deg);opacity:.76}.fxImpact{top:36%;left:73%;width:128px;height:128px;border-radius:42% 58% 48% 52%;background:radial-gradient(circle,rgba(255,255,255,.98) 0 14%,rgba(255,210,86,.94) 15% 31%,rgba(255,71,71,.48) 32% 56%,transparent 57%);box-shadow:0 0 34px rgba(255,91,71,.58);animation:impactPop 1.32s ease-out forwards}.fxBurst{top:35%;left:72%;width:152px;height:152px;transform:rotate(12deg);background:conic-gradient(from 0deg,transparent 0 10deg,rgba(255,255,255,.95) 10deg 18deg,transparent 18deg 42deg,rgba(255,206,74,.95) 42deg 52deg,transparent 52deg 88deg,rgba(255,92,92,.78) 88deg 100deg,transparent 100deg 134deg,rgba(255,255,255,.9) 134deg 142deg,transparent 142deg 1turn);border-radius:50%;animation:burstSpin 1.32s ease-out forwards}.battleFxLayer.enemy .fxTrail{right:22%;left:auto;transform-origin:right center;background:radial-gradient(circle at 18% 50%,rgba(255,255,255,.98) 0 9%,transparent 10%),linear-gradient(270deg,transparent,rgba(255,255,255,.16) 18%,rgba(132,190,255,.92) 54%,rgba(88,76,218,.9));filter:blur(.4px) drop-shadow(0 0 18px rgba(79,116,255,.44));-webkit-clip-path:polygon(100% 42%,26% 12%,0 50%,26% 88%,100% 58%);clip-path:polygon(100% 42%,26% 12%,0 50%,26% 88%,100% 58%);animation-name:enemyProjectile}.battleFxLayer.enemy .fxTrail:after{right:auto;left:-28px;background:conic-gradient(from 0deg,transparent 0 18deg,rgba(255,255,255,.95) 18deg 26deg,transparent 26deg 78deg,rgba(126,199,255,.95) 78deg 90deg,transparent 90deg 160deg,rgba(97,84,224,.78) 160deg 174deg,transparent 174deg 1turn)}.battleFxLayer.enemy .fxBlade{right:64%;left:auto;transform:rotate(18deg);border-top-color:rgba(255,255,255,.92);border-right-color:rgba(126,199,255,.88);border-bottom-color:rgba(96,123,255,.8);filter:drop-shadow(0 0 18px rgba(96,123,255,.44));animation-name:enemySlash}.battleFxLayer.enemy .fxBurst,.battleFxLayer.enemy .fxImpact{right:73%;left:auto}.battleFxLayer.enemy .fxImpact{background:radial-gradient(circle,rgba(255,255,255,.96) 0 15%,rgba(126,199,255,.92) 16% 34%,rgba(105,83,220,.44) 35% 56%,transparent 57%);box-shadow:0 0 34px rgba(83,119,255,.56)}@keyframes heroLunge{0%,to{transform:translateX(0) translateY(0) scale(1)}34%{transform:translateX(74px) translateY(-8px) scale(1.06)}58%{transform:translateX(28px) translateY(0) scale(1.02)}}@keyframes enemyLunge{0%,to{transform:translateX(0) translateY(0) scale(1)}34%{transform:translateX(-74px) translateY(-8px) scale(1.06)}58%{transform:translateX(-28px) translateY(0) scale(1.02)}}@keyframes heroProjectile{0%{opacity:0;transform:translateX(-120px) scaleX(.32) rotate(-3deg)}18%{opacity:1;transform:translateX(4px) scaleX(.88) rotate(-3deg)}58%{opacity:1;transform:translateX(44vw) scaleX(1) rotate(-3deg)}to{opacity:0;transform:translateX(48vw) scaleX(.24) rotate(-3deg)}}@keyframes enemyProjectile{0%{opacity:0;transform:translateX(120px) scaleX(.32) rotate(3deg)}18%{opacity:1;transform:translateX(-4px) scaleX(.88) rotate(3deg)}58%{opacity:1;transform:translateX(-44vw) scaleX(1) rotate(3deg)}to{opacity:0;transform:translateX(-48vw) scaleX(.24) rotate(3deg)}}@keyframes heroSlash{0%,42%{opacity:0;transform:translateX(-60px) rotate(-42deg) scale(.48)}58%{opacity:1;transform:translateX(0) rotate(-18deg) scale(1)}to{opacity:0;transform:translateX(38px) rotate(12deg) scale(1.42)}}@keyframes enemySlash{0%,42%{opacity:0;transform:translateX(60px) rotate(42deg) scale(.48)}58%{opacity:1;transform:translateX(0) rotate(18deg) scale(1)}to{opacity:0;transform:translateX(-38px) rotate(-12deg) scale(1.42)}}@keyframes impactPop{0%,42%{opacity:0;transform:scale(.32)}58%{opacity:1;transform:scale(1.18)}to{opacity:0;transform:scale(1.82)}}@keyframes burstSpin{0%,42%{opacity:0;transform:rotate(-20deg) scale(.2)}58%{opacity:1;transform:rotate(12deg) scale(1)}to{opacity:0;transform:rotate(84deg) scale(1.35)}}@keyframes sparkSpin{0%{opacity:0;transform:rotate(-90deg) scale(.45)}46%{opacity:1;transform:rotate(20deg) scale(1)}to{opacity:0;transform:rotate(160deg) scale(.32)}}@keyframes hitFlash{0%,40%,to{opacity:0}56%{opacity:1}}.battleResult,.questionPanel{margin-top:12px;border-color:rgba(94,234,212,.2);background:radial-gradient(circle at 8% 0,rgba(45,212,191,.1),transparent 34%),linear-gradient(145deg,rgba(8,29,39,.98),rgba(10,17,32,.98));color:#f0fdfa;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 16px 34px rgba(0,0,0,.3)}.questionPanel h4{margin:10px 0 8px;color:#f8fafc;font-size:clamp(20px,2vw,28px);line-height:1.35;word-break:break-word}.questionClue{color:#cbd5e1!important;font-size:18px;line-height:1.62;word-break:break-word}.attackMoveGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin:14px 0}.attackMove{display:grid;grid-gap:4px;gap:4px;min-height:64px;padding:10px 12px;border:1px solid rgba(148,163,184,.18);border-radius:16px;background:linear-gradient(180deg,rgba(30,41,59,.86),rgba(15,23,42,.96));color:#f8fafc;text-align:left;cursor:pointer}.attackMove.active{border-color:rgba(212,151,30,.48);background:radial-gradient(circle at 10% 10%,rgba(255,210,90,.2),transparent 38%),#172033;box-shadow:0 10px 24px rgba(212,151,30,.18)}.attackMove strong{font-size:15px;line-height:1.2}.attackMove span{color:#94a3b8;font-size:12px;font-weight:800;line-height:1.25}.choiceGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:14px}.choiceGrid button{min-height:54px;padding:12px 14px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(30,41,59,.6);color:#f8fafc;font-weight:950;text-align:left;line-height:1.35;word-break:break-word;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.choiceGrid button:hover:not(:disabled){transform:translateY(-2px);border-color:rgba(139,92,246,.6);background:rgba(139,92,246,.15);box-shadow:0 12px 24px rgba(0,0,0,.3)}.choiceGrid button:disabled{cursor:wait;opacity:.62}.htmlBattleStage{position:relative;width:100%;min-height:390px;overflow:hidden;border:1px solid rgba(22,32,51,.14);border-radius:24px;background-image:linear-gradient(180deg,rgba(7,14,27,.1),rgba(255,255,255,.1)),var(--battle-scene);background-position:50%;background-size:cover;box-shadow:inset 0 0 0 1px rgba(255,255,255,.24),0 20px 48px rgba(22,32,51,.14)}.htmlBattleStage.preview{min-height:260px}.htmlBattleOverlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,15,29,.22),rgba(255,255,255,.14)),radial-gradient(ellipse at center bottom,rgba(255,255,255,.78),transparent 38%)}.htmlBattleHud{position:relative;z-index:5;display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);grid-gap:16px;gap:16px;align-items:center;padding:18px 26px 0}.htmlHpCard{display:grid;min-width:0;grid-gap:5px;gap:5px;padding:9px 13px;overflow:hidden;border:1px solid rgba(255,255,255,.24);border-radius:14px;background:linear-gradient(135deg,rgba(13,23,38,.9),rgba(18,43,62,.72)),rgba(12,22,38,.78);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 12px 26px rgba(5,10,20,.22);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.htmlHpCard.enemy{text-align:right}.htmlHpCard span,.htmlHpCard strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.htmlHpCard strong{font-size:clamp(14px,1.8vw,20px);line-height:1.1}.htmlHpCard span{font-size:12px;font-weight:950;opacity:.9}.htmlHpCard i{display:block;height:11px;overflow:hidden;border-radius:999px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.1) 0 1px,transparent 1px 18px),rgba(255,255,255,.16)}.htmlHpCard b{display:block;height:100%;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.52),transparent 48%),linear-gradient(90deg,#20d694,#16b9dd);box-shadow:0 0 18px rgba(32,214,148,.3);transition:width .42s ease}.htmlHpCard.enemy b{margin-left:auto;background:linear-gradient(180deg,rgba(255,255,255,.5),transparent 48%),linear-gradient(90deg,#ffd35b,#ef5555);box-shadow:0 0 18px rgba(239,85,85,.28)}.htmlVsBadge{display:grid;width:64px;height:64px;place-items:center;border:3px solid rgba(255,255,255,.92);border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff7d6,#ffd66c);color:#172035;font-weight:1000;box-shadow:0 12px 28px rgba(22,32,51,.18)}.htmlBattleActors{position:absolute;inset:80px 0 0;z-index:3;display:grid;grid-template-columns:minmax(160px,1fr) minmax(190px,270px) minmax(160px,1fr);grid-gap:12px;gap:12px;align-items:end;padding:0 clamp(20px,5vw,76px) 28px}.htmlActor{position:relative;display:grid;min-height:285px;place-items:end center}.htmlBattleStage.preview .htmlActor{min-height:170px}.htmlActor img{position:relative;z-index:2;max-width:min(250px,34vw);max-height:286px;object-fit:contain;filter:drop-shadow(0 18px 18px rgba(0,0,0,.32));animation:actorIdle 2.6s ease-in-out infinite}.htmlBattleStage.preview .htmlActor img{max-height:165px}.actorAura{position:absolute;bottom:28px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(34,211,238,.22),transparent 62%)}.htmlActor.enemy .actorAura{background:radial-gradient(circle,rgba(255,107,107,.2),transparent 62%)}.htmlBattleLog{align-self:center;display:grid;min-width:0;justify-items:center;grid-gap:8px;gap:8px;padding:13px;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:rgba(15,23,42,.75);color:#f8fafc;text-align:center;box-shadow:0 14px 28px rgba(0,0,0,.3);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.htmlBattleLog strong{font-size:clamp(14px,1.7vw,19px);line-height:1.2;word-break:break-word}.htmlAttackFx{position:absolute;inset:0;z-index:6;pointer-events:none}.fxCore,.fxCut,.fxRing,.fxSpark{position:absolute;display:block}.fxCut{top:47%;left:22%;width:360px;height:18px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.98),#ffd166,transparent);filter:drop-shadow(0 0 16px #ffd166);transform:rotate(-14deg);animation:heroSlashLine 1.05s cubic-bezier(.16,.84,.22,1) forwards}.fxCut.two{top:53%;height:12px;transform:rotate(13deg);animation-delay:80ms}.fxCore{top:48%;left:27%;width:42px;height:42px;border-radius:50%;background:#fff;box-shadow:0 0 24px #ffd166,0 0 56px #ff7a59;animation:heroCoreShot 1.05s ease-out forwards}.fxRing{top:42%;right:23%;width:118px;height:118px;border:8px solid rgba(255,209,102,.8);animation:impactRing .84s ease-out .46s forwards}.fxRing,.fxSpark{border-radius:50%;opacity:0}.fxSpark{top:48%;right:26%;width:18px;height:18px;background:#fff;color:#ffd166;box-shadow:0 0 20px currentColor;animation:sparkPop .76s ease-out .52s forwards}.fxSpark.s2{transform:translate(24px,-34px);animation-delay:.56s}.fxSpark.s3{transform:translate(-28px,30px);animation-delay:.6s}.attack-enemy .fxCut{right:22%;left:auto;background:linear-gradient(270deg,transparent,rgba(255,255,255,.98),#77ccff,transparent);filter:drop-shadow(0 0 16px #77ccff);animation-name:enemySlashLine}.attack-enemy .fxCore{right:27%;left:auto;box-shadow:0 0 24px #77ccff,0 0 56px #4b78ff;animation-name:enemyCoreShot}.attack-enemy .fxRing,.attack-enemy .fxSpark{right:auto;left:23%;border-color:rgba(119,204,255,.8);color:#77ccff}.style-pierce .fxCut{width:460px;height:10px;background:linear-gradient(90deg,transparent,#e8fbff,#67e8f9,transparent);filter:drop-shadow(0 0 18px #67e8f9)}.style-spirit .fxCut{height:24px;background:linear-gradient(90deg,transparent,#f5e8ff,#a78bfa,transparent);filter:drop-shadow(0 0 22px #a78bfa)}.attack-hero .htmlActor.hero{animation:heroLunge 1.05s cubic-bezier(.2,.9,.15,1)}.attack-enemy .htmlActor.enemy{animation:enemyLunge 1.05s cubic-bezier(.2,.9,.15,1)}@keyframes actorIdle{0%,to{translate:0 0}50%{translate:0 -8px}}@keyframes heroSlashLine{0%{translate:-80px 28px;scale:.5 .8;opacity:0}22%{opacity:1}to{translate:470px -22px;scale:1.1 1;opacity:0}}@keyframes enemySlashLine{0%{translate:80px 28px;scale:.5 .8;opacity:0}22%{opacity:1}to{translate:-470px -22px;scale:1.1 1;opacity:0}}@keyframes heroCoreShot{0%{translate:-40px 20px;opacity:0}18%{opacity:1}to{translate:500px -12px;scale:.35;opacity:0}}@keyframes enemyCoreShot{0%{translate:40px 20px;opacity:0}18%{opacity:1}to{translate:-500px -12px;scale:.35;opacity:0}}@keyframes impactRing{0%{scale:.2;opacity:0}20%{opacity:1}to{scale:2.4;opacity:0}}@keyframes sparkPop{0%{scale:.2;opacity:0}35%{opacity:1}to{scale:1.8;opacity:0}}.battleResult{display:grid;justify-items:center;grid-gap:8px;gap:8px;padding:28px;border:1px solid rgba(94,234,212,.2);color:#f0fdfa;text-align:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 22px 48px rgba(2,15,18,.3)}.battleResult .mantine-Text-root,.battleResult .mantine-Title-root{color:#f0fdfa}.battleResult svg{filter:drop-shadow(0 0 12px currentColor)}.battleResult.win{border-color:rgba(52,211,153,.4);background:radial-gradient(circle at 50% 0,rgba(52,211,153,.2),transparent 44%),linear-gradient(145deg,#123f35,#071f1d);color:#6ee7b7}.battleResult.lose{border-color:rgba(251,113,133,.4);background:radial-gradient(circle at 50% 0,rgba(251,113,133,.18),transparent 44%),linear-gradient(145deg,#3b1d2a,#190e18);color:#fda4af}.bottomNav{position:fixed;right:12px;bottom:12px;left:12px;z-index:90;display:none;grid-template-columns:repeat(4,1fr);gap:8px;padding:8px;border:1px solid rgba(94,234,212,.28);border-radius:18px;background:rgba(7,27,29,.95);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 20px 44px rgba(2,15,18,.34);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottomNav button{display:flex;min-height:48px;align-items:center;justify-content:center;gap:6px;border:0;border-radius:13px;background:#123f38;color:#ecfdf8;font-weight:900;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}.bottomNav button:focus-visible,.bottomNav button:hover{background:#176957;color:#ffffff;outline:2px solid rgba(94,234,212,.58);outline-offset:-2px}.bottomNav button:active{transform:translateY(1px);background:#0f766e}.bottomNav button:disabled{opacity:.45;cursor:not-allowed}@media (max-width:900px){.loginScreen{grid-template-columns:1fr;gap:22px;align-content:center}.loginHero{text-align:center}.loginBrand{margin:0 auto}.courseHero{grid-template-columns:1fr}.heroProgress{align-self:start;max-width:420px}.slideCanvas{height:720px;min-height:720px}.slideGrid{grid-template-columns:1fr}.slideMedia{height:320px;min-height:320px;order:-1}.courseLaunchGrid,.dashboardHero,.fighterSelect,.homeMiniGameGrid,.managementStats,.missionGrid,.passwordInlineForm,.passwordNotice,.profileContentGrid,.profileStatGrid{grid-template-columns:1fr}.dashboardStats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;overflow-x:auto;padding-bottom:8px}.dashboardStats .dashboardStat{min-width:120px}.profileHeroPanel{align-items:flex-start;flex-direction:column}.profileActions{justify-content:flex-start;width:100%}.managementGrid{grid-template-columns:1fr}.arcadeProgressBox{width:100%}.legacyMiniHeader{align-items:stretch;flex-direction:column}.htmlBattleStage{min-height:320px}.htmlBattleStage.preview{min-height:230px}.htmlBattleHud{grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);gap:8px;padding:12px 12px 0}.htmlVsBadge{width:50px;height:50px;font-size:13px}.htmlBattleActors{inset:68px 0 0;grid-template-columns:minmax(0,1fr) 86px minmax(0,1fr);padding:0 12px 20px}.htmlActor{min-height:218px}.htmlActor img{max-width:38vw;max-height:218px}.htmlBattleLog{padding:8px;border-radius:16px}.htmlBattleLog strong{display:none}.fxCut{width:250px}.fxRing{width:88px;height:88px}.studentRow{grid-template-columns:1fr;align-items:stretch}.battleHud{grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr);gap:6px}.hpPanel{min-height:42px;padding:6px 8px 7px}.hpPanel .mantine-Text-root{font-size:11px}.vsBadge{width:44px;height:44px;justify-self:center}.fighterGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.fighterCard{min-height:160px}.battlePreviewStage{min-height:138px}.battlePreviewStage img{height:108px}.battleStage{grid-template-columns:minmax(92px,1fr) minmax(78px,.58fr) minmax(92px,1fr);min-height:300px;padding:8px}.battleSprite{height:230px}.battleSprite img{width:min(190px,98%);height:220px}.stageCenter{min-height:86px;padding:8px;border-radius:16px}.stageCenter svg{width:28px;height:28px}.stageCenter .mantine-Text-root{font-size:12px;line-height:1.28}}@media (max-width:768px){.stoneTabletContainer{padding-inline:8px!important}.passportSymbolRow{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.passportSymbol{width:100%;max-width:42px;height:auto;aspect-ratio:1}.formGridTwo,.loginFeatureGrid,.quickRoleGrid{grid-template-columns:1fr}.appMain{padding:14px 14px 92px}.appNavbar{width:min(88vw,336px);box-shadow:20px 0 48px rgba(22,32,51,.18)}.pageToolbar{margin-bottom:12px;padding:12px}.studentProfilePage{padding-bottom:116px}.profileIdentity{align-items:flex-start}.profileAvatar{width:68px;height:68px;border-radius:50%!important}.profileHeroPanel h1{font-size:32px}.profileCourseRow,.profileGameRow{grid-template-columns:auto minmax(0,1fr)}.profileCourseRow .mantine-Badge-root,.profileGameRow .mantine-Progress-root{grid-column:1/-1;width:100%}.courseHero{min-height:210px;padding:22px;border-radius:20px}.courseHero h1{font-size:36px}.lessonTopbar{align-items:stretch;flex-direction:column}.lessonTopbar .mantine-Group-root{justify-content:space-between}.slideCanvas{height:720px;min-height:720px;padding:14px;border-radius:18px}.structuredCourseCanvas{height:auto;min-height:0;padding:14px;overflow:visible}.structuredLessonHeader h3{font-size:26px}.structuredLessonMain{grid-template-columns:1fr}.slideImageInstruction{width:100%;min-height:0;aspect-ratio:4/3}.structuredStepGrid{grid-template-columns:1fr}.structuredStepCard{min-height:0}.slideCopy{padding:4px}.slideCopy h3{font-size:30px}.slideText{font-size:17px;line-height:1.82}.slideStructuredText,.slideText{max-height:330px}.slidePointCard{grid-template-columns:1fr}.slideMedia{height:230px;min-height:230px}.slideControls{grid-template-columns:1fr}.slideControls .mantine-Button-root{width:100%}.slideCounter{width:100%;min-width:0;border-radius:16px}.battlePanel,.missionPanel{padding:16px;border-radius:18px}.missionScore{width:100%}.missionCheckBar{align-items:stretch;flex-direction:column}.legacyMiniFrame{height:78vh;min-height:560px;border-radius:14px}.attackMoveGrid,.categoryRow,.choiceGrid,.matchBoard{grid-template-columns:1fr}.fighterGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.fighterCard{min-height:148px}.fighterCard img{height:96px}.battleConfirm img{height:180px}.questionClue{font-size:16px}.bottomNav{display:grid}.bottomNav button{min-height:52px;gap:4px;font-size:12px}}@media (max-width:420px){.courseHero h1,.dashboardHero h1,.profileHeroPanel h1,.slideCopy h3{font-size:28px}.profileIdentity{flex-direction:column}.battleHud{grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr)}.vsBadge{width:38px;height:38px;font-size:12px}.htmlBattleStage{min-height:292px;border-radius:18px}.htmlBattleHud{grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);gap:6px;padding:9px 9px 0}.htmlHpCard{padding:7px 8px;border-radius:12px}.htmlHpCard strong{font-size:12px}.htmlHpCard span{font-size:10px}.htmlVsBadge{width:38px;height:38px;font-size:11px}.htmlBattleActors{grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr);gap:4px;padding:0 8px 16px}.htmlActor{min-height:200px}.htmlActor img{max-height:190px;max-width:40vw}.actorAura{bottom:20px;width:150px;height:150px}.battleStage{grid-template-columns:minmax(82px,1fr) 62px minmax(82px,1fr);min-height:260px;border-radius:18px}.battleSprite{height:190px}.battleSprite img{height:182px}.heroSprite{padding-left:0}.enemySprite{padding-right:0}.stageCenter{min-height:74px;padding:6px}.stageCenter .mantine-Text-root{font-size:11px}.bottomNav span{display:none}}@media (max-width:1280px){.homeMiniGameGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}@media (max-width:900px){.homeMiniGameGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.homeMiniGameGrid{grid-template-columns:1fr}}.animated-bg{position:fixed;inset:0;z-index:-10;overflow:hidden;background:var(--page-bg);pointer-events:none}.blob{position:absolute;width:min(500px,80vw);aspect-ratio:1;border-radius:50%;filter:blur(100px);opacity:.16;mix-blend-mode:multiply;animation:float-blob 25s ease-in-out infinite alternate}.blob-orange{background-color:var(--teal);top:-10%;left:-5%;animation-duration:20s}.blob-blue{background-color:var(--blue);bottom:-10%;right:-5%;animation-duration:26s;animation-delay:2s}.blob-navy{background-color:#0a2540;top:45%;left:55%;width:min(400px,60vw);animation-duration:22s;animation-delay:4s}.bg-grid{position:absolute;inset:0;opacity:.45;background-image:radial-gradient(rgba(10,37,64,.06) 1px,transparent 0);background-size:24px 24px}@keyframes float-blob{0%{transform:translate(0) scale(1)}33%{transform:translate(40px,-60px) scale(1.12)}66%{transform:translate(-30px,30px) scale(.93)}to{transform:translate(0) scale(1)}}@media (prefers-reduced-motion:reduce){.blob{animation:none}}.missionPanel{gap:16px}.missionPanel,.missionScore{display:flex;flex-direction:column}.missionScore{align-items:flex-end;gap:4px}.missionGrid{display:grid;grid-gap:16px;gap:16px}.missionCard{background:rgba(30,41,59,.7)!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1)!important;border-radius:20px;color:#f8fafc;padding:20px;box-shadow:0 12px 28px rgba(0,0,0,.2)}.missionCard .mantine-Text-root{color:#fff!important}.matchBoard{display:grid;grid-template-columns:1fr 1.5fr;grid-gap:16px;gap:16px;margin-top:16px}.matchColumn{display:flex;flex-direction:column;gap:10px}.matchChip,.matchClue{padding:12px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:#e2e8f0;text-align:left;cursor:pointer;transition:all .2s ease;font-family:inherit;font-size:14px;width:100%}.matchChip:hover,.matchClue:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}.matchChip.selected,.matchClue.selected{border-color:#8b5cf6;background:rgba(139,92,246,.2);box-shadow:0 0 0 1px #8b5cf6}.matchChip.answered,.matchClue.answered{border-color:#0ea5e9;background:rgba(14,165,233,.15)}.matchChip.correct,.matchClue.correct{border-color:#10b981;background:rgba(16,185,129,.2);color:#10b981}.matchChip.wrong,.matchClue.wrong{border-color:#f43f5e;background:rgba(244,63,94,.2);color:#f43f5e}.missionCard.shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.battleArena:-webkit-full-screen{background-color:#080d1a!important;display:flex!important;flex-direction:column!important;overflow-y:auto!important;padding:16px 24px!important}.battleArena:fullscreen{background-color:#080d1a!important;display:flex!important;flex-direction:column!important;overflow-y:auto!important;padding:16px 24px!important}.battleArena:-webkit-full-screen>button{top:24px!important;right:24px!important;position:fixed!important}.battleArena:fullscreen>button{top:24px!important;right:24px!important;position:fixed!important}.battleArena:-webkit-full-screen .htmlBattleStage{min-height:50vh!important;flex-shrink:0}.battleArena:fullscreen .htmlBattleStage{min-height:50vh!important;flex-shrink:0}.battleArena:-webkit-full-screen .questionPanel{margin-top:16px;flex-shrink:0}.battleArena:fullscreen .questionPanel{margin-top:16px;flex-shrink:0}.historyHunterGame{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 24%,rgba(126,34,206,.24),transparent 36%),linear-gradient(180deg,#101a2c,#050b13 72%);color:#f8fafc;font-family:Noto Sans Thai,Sarabun,Leelawadee UI,sans-serif}.historyHowTo,.historyHunterGame,.historyHunterMenu,.historyResultScreen{width:100%;height:100%;min-height:0}.historyHunterMenu{display:grid;grid-template-rows:minmax(0,56%) minmax(0,44%)}.historyCoverFrame{position:relative;overflow:hidden;margin:12px 12px 0;border:1px solid rgba(216,180,254,.38);border-radius:18px;background:#111827;box-shadow:0 18px 44px rgba(0,0,0,.38)}.historyCoverFrame:after{position:absolute;inset:auto 0 0;height:28%;background:linear-gradient(transparent,rgba(5,11,19,.82));content:""}.historyCoverFrame img{width:100%;height:100%;object-fit:cover;object-position:center}.historyMenuBody{display:flex;min-height:0;flex-direction:column;gap:7px;justify-content:center;padding:12px 18px 18px;text-align:center}.historyMenuBody .mantine-Badge-root{align-self:center}.historyMenuBody h2{margin:0;color:#f8fafc;font-size:clamp(25px,5vw,34px);line-height:1.08}.historyMenuBody>p{color:#cbd5e1;font-size:clamp(12px,2.6vw,14px);line-height:1.45}.historyPlayerCard{display:grid;grid-gap:1px;gap:1px;padding:8px 12px;border:1px solid rgba(94,234,212,.2);border-radius:12px;background:rgba(15,118,110,.14)}.historyPlayerCard strong{color:#f0fdfa;font-size:13px}.historyPlayerCard span{color:#99f6e4;font-size:11px;font-weight:800}.historyHowTo{display:grid;grid-template-rows:26% auto auto auto;align-content:start;grid-gap:12px;gap:12px;overflow-y:auto;padding:12px 14px 18px;background:linear-gradient(180deg,rgba(10,18,32,.98),#050b13)}.historyHowToHero{position:relative;overflow:hidden;border:1px solid rgba(216,180,254,.34);border-radius:16px}.historyHowToHero:after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,11,19,.9),rgba(5,11,19,.18));content:""}.historyHowToHero img{width:100%;height:100%;object-fit:cover}.historyHowToHero>div{position:absolute;top:50%;left:16px;z-index:1;max-width:74%;transform:translateY(-50%)}.historyHowToHero h2{margin:8px 0 0;color:#ffffff;font-size:clamp(21px,4.5vw,28px);line-height:1.12}.historyRuleGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.historyRuleGrid article{display:grid;min-width:0;grid-gap:3px;gap:3px;padding:10px;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:rgba(30,41,59,.74)}.historyRuleGrid svg{color:#c084fc}.historyRuleGrid strong{color:#f8fafc;font-size:12px}.historyRuleGrid span{color:#cbd5e1;font-size:10px;line-height:1.35}.historySymbolStrip{display:flex;flex-wrap:wrap;justify-content:center;gap:5px}.historySymbolStrip span{padding:5px 7px;border:1px solid rgba(94,234,212,.18);border-radius:999px;background:rgba(15,118,110,.14);color:#ccfbf1;font-size:9px;font-weight:900}.historyGuide{gap:12px;overflow-y:auto;padding:20px 18px 24px;background:linear-gradient(180deg,rgba(10,18,32,.98),#050b13);width:100%;height:100%}.historyGuide,.historyGuideGroup{display:flex;flex-direction:column}.historyGuideGroup{gap:10px}.historyGuideCard{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:14px;gap:14px;align-items:center;padding:12px 16px;border-radius:14px;background:rgba(30,41,59,.45);border:1.5px solid var(--border-color,rgba(255,255,255,.1))!important;box-shadow:0 8px 20px rgba(0,0,0,.2)}.historyGuideCard .guideEmoji{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:var(--fill-color,rgba(255,255,255,.05));font-size:24px;box-shadow:0 0 15px var(--fill-color)}.historyGuideCard div{display:flex;flex-direction:column;gap:3px}.historyGuideCard strong{color:#ffffff;font-size:13.5px;font-weight:800}.historyGuideCard span{color:#94a3b8;font-size:11px;line-height:1.4}.historyPhaserHost,.historyPhaserHost canvas{display:block;width:100%!important;height:100%!important;touch-action:none}.historyResultScreen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:28px 24px;background:radial-gradient(circle at 50% 24%,rgba(251,191,36,.2),transparent 34%),radial-gradient(circle at 18% 78%,rgba(126,34,206,.22),transparent 32%),#07131f;text-align:center}.historyResultScreen>svg{color:#fbbf24;filter:drop-shadow(0 0 18px rgba(251,191,36,.54))}.historyResultScreen h2{margin:0;color:#ffffff;font-size:26px}.historyResultScore{color:#fbbf24;font-size:clamp(54px,14vw,76px);font-weight:950;line-height:.94;text-shadow:0 0 24px rgba(251,191,36,.32)}.historyResultGrid{display:grid;width:100%;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.historyResultGrid span{display:grid;grid-gap:2px;gap:2px;padding:10px;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:rgba(30,41,59,.72)}.historyResultGrid strong{color:#f8fafc;font-size:18px}.historyResultGrid small{color:#94a3b8;font-weight:800}.virtueMazeGame{position:relative;width:100%;height:100%;overflow:hidden;background:radial-gradient(circle at 50% 32%,rgba(20,184,166,.2),transparent 38%),linear-gradient(180deg,#071827,#030712 74%);color:#f8fafc}.virtueMazeHowTo,.virtueMazeMenu,.virtueMazeResult{width:100%;height:100%;min-height:0}.virtueMazeMenu{display:grid;grid-template-rows:56% 44%}.virtueMazeCover{position:relative;overflow:hidden;margin:14px 14px 0;border:2px solid rgba(37,99,235,.72);border-radius:20px;background:#030712;box-shadow:inset 0 0 34px rgba(37,99,235,.16),0 18px 44px rgba(0,0,0,.42)}.virtueMazeCover:after{position:absolute;inset:auto 0 0;height:38%;background:linear-gradient(180deg,transparent,rgba(3,7,18,.92));content:"";pointer-events:none}.virtueMazeCover img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.virtueMazeCover figcaption{position:absolute;right:16px;bottom:14px;left:16px;z-index:1;color:#ecfeff;font-size:12px;font-weight:900;line-height:1.45;text-align:center;text-shadow:0 2px 8px #000}.virtueMazeMenuBody{display:flex;flex-direction:column;gap:7px;justify-content:center;padding:12px 18px 18px;text-align:center}.virtueMazeMenuBody .mantine-Badge-root{align-self:center}.virtueMazeHowTo h2,.virtueMazeMenuBody h2,.virtueMazeResult h2{margin:0;color:#ffffff;line-height:1.08}.virtueMazeMenuBody>p{color:#cbd5e1;font-size:13px;line-height:1.45}.virtuePlayerCard{display:grid;grid-gap:2px;gap:2px;padding:8px 12px;border:1px solid rgba(45,212,191,.25);border-radius:12px;background:rgba(15,118,110,.14)}.virtuePlayerCard strong{color:#f0fdfa;font-size:13px}.virtuePlayerCard span{color:#99f6e4;font-size:11px;font-weight:800}.virtueMazeHowTo{display:flex;flex-direction:column;gap:12px;justify-content:center;overflow-y:auto;padding:20px 16px;background:radial-gradient(circle at 50% 10%,rgba(37,99,235,.18),transparent 34%),#030712;text-align:center}.virtueMazeHowTo>.mantine-Badge-root{align-self:center}.virtueRuleGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.virtueRuleGrid article{display:grid;grid-gap:4px;gap:4px;padding:11px;border:1px solid rgba(45,212,191,.18);border-radius:13px;background:rgba(15,23,42,.78);text-align:left}.virtueRuleGrid svg{color:#2dd4bf}.virtueRuleGrid strong{color:#f8fafc;font-size:12px}.virtueRuleGrid span{color:#cbd5e1;font-size:10px;line-height:1.4}.virtueScoring{display:flex;flex-wrap:wrap;justify-content:center;gap:5px}.virtueScoring span{padding:5px 8px;border:1px solid rgba(250,204,21,.22);border-radius:999px;background:rgba(161,98,7,.12);color:#fde68a;font-size:9px;font-weight:900}.virtuePhaserHost,.virtuePhaserHost canvas{display:block;width:100%!important;height:100%!important;touch-action:none}.virtueMazeResult{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:26px 22px;background:radial-gradient(circle at 50% 20%,rgba(45,212,191,.2),transparent 34%),#030712;text-align:center}.virtueMazeResult>svg{color:#facc15;filter:drop-shadow(0 0 18px rgba(250,204,21,.5))}.virtueFinalScore{color:#5eead4;font-size:clamp(54px,14vw,76px);font-weight:950;line-height:.94;text-shadow:0 0 24px rgba(45,212,191,.34)}.virtueResultGrid{display:grid;width:100%;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.virtueResultGrid span{display:grid;grid-gap:2px;gap:2px;padding:10px;border:1px solid rgba(45,212,191,.16);border-radius:12px;background:rgba(15,23,42,.78)}.virtueResultGrid strong{color:#f8fafc;font-size:17px}.virtueResultGrid small{color:#94a3b8;font-weight:800}.dashboardHome{position:relative;isolation:isolate;padding:clamp(12px,2vw,24px);overflow:hidden;border:1px solid rgba(94,234,212,.1);border-radius:24px;background-color:#071416;background-image:linear-gradient(rgba(94,234,212,.035) 1px,transparent 0),linear-gradient(90deg,rgba(94,234,212,.035) 1px,transparent 0),repeating-linear-gradient(135deg,transparent 0 26px,rgba(251,146,60,.025) 26px 27px);background-size:38px 38px,38px 38px,100% 100%;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.dashboardHome>*{position:relative;z-index:1}.dashboardStat{--stat-accent:#2dd4bf;position:relative;min-height:128px;padding:18px!important;overflow:hidden;border-color:color-mix(in srgb,var(--stat-accent) 34%,rgba(255,255,255,.08))!important;background:linear-gradient(145deg,color-mix(in srgb,var(--stat-accent) 16%,#0b1820),rgba(8,18,28,.96))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 34px rgba(0,0,0,.28),0 0 24px color-mix(in srgb,var(--stat-accent) 12%,transparent)!important}.dashboardStat:before{position:absolute;top:0;right:12px;left:12px;height:3px;border-radius:0 0 999px 999px;background:linear-gradient(90deg,transparent,var(--stat-accent),transparent);box-shadow:0 0 16px var(--stat-accent);content:""}.dashboardStat:after{position:absolute;right:-18px;bottom:-22px;width:92px;height:92px;border:1px solid color-mix(in srgb,var(--stat-accent) 30%,transparent);border-radius:18px;content:"";opacity:.42;transform:rotate(24deg);pointer-events:none}.dashboardStatMission{--stat-accent:#a78bfa}.dashboardStatBattle{--stat-accent:#fb7185}.dashboardStat>*{position:relative;z-index:1}.dashboardStatIcon{width:48px;height:48px;border:1px solid color-mix(in srgb,var(--stat-accent) 48%,transparent);background:color-mix(in srgb,var(--stat-accent) 18%,rgba(8,18,28,.92))!important;color:#ffffff!important;box-shadow:0 10px 24px color-mix(in srgb,var(--stat-accent) 22%,transparent)}.dashboardStatLabel{color:color-mix(in srgb,var(--stat-accent) 80%,#94a3b8)!important;font-weight:800;font-size:.85rem!important;letter-spacing:.05em;text-transform:uppercase;margin-bottom:4px;text-align:center}.dashboardStatValue{color:#ffffff!important;font-size:1.45rem!important;font-weight:900!important;line-height:1.35;text-align:center;text-shadow:0 0 16px color-mix(in srgb,var(--stat-accent) 60%,transparent)}.courseLaunchMedia{position:relative;min-height:154px;margin:10px 10px 0;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 46%,rgba(255,255,255,.16));border-radius:14px;background-size:cover;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 14px 30px rgba(0,0,0,.34),0 0 20px color-mix(in srgb,var(--accent) 16%,transparent);transition:transform .26s ease,box-shadow .26s ease,filter .26s ease}.courseLaunchMedia:after{position:absolute;inset:0;background:linear-gradient(112deg,transparent 24%,rgba(255,255,255,.2) 44%,transparent 62%);content:"";transform:translateX(-120%);transition:transform .6s ease;pointer-events:none}.courseLaunchCard:hover .courseLaunchMedia{filter:saturate(1.08) contrast(1.04);transform:translateY(-2px) scale(1.015);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 18px 34px rgba(0,0,0,.42),0 0 26px color-mix(in srgb,var(--accent) 24%,transparent)}.courseLaunchCard:hover .courseLaunchMedia:after{transform:translateX(120%)}.dashboardGameView{width:min(1180px,100%);min-height:calc(100dvh - 112px);margin:0 auto;padding-bottom:96px}.focusedMiniGamePage{width:min(960px,100%);margin:0 auto}.focusedMiniGamePage .legacyMiniFrameCard{margin:0;padding:0;border:0;background:transparent;box-shadow:none}@media (max-width:768px){.dashboardHome{gap:12px;padding:8px;border-radius:18px}.dashboardStats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;overflow:visible;padding-bottom:0}.dashboardStats .dashboardStat{min-width:0;min-height:128px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:9px!important;border-radius:14px}.dashboardStatIcon{width:34px;height:34px}.dashboardStatIcon svg{width:17px;height:17px}.dashboardStatLabel{min-height:auto;font-size:10px!important;line-height:1.35}.dashboardStatValue{overflow-wrap:anywhere;font-size:12px!important;line-height:1.35}.dashboardStat .mantine-Progress-root{width:100%;margin-top:auto}.courseLaunchMedia{min-height:180px}.dashboardGameView{padding-bottom:94px}.focusedMiniGamePage .legacyMiniHeader{min-height:46px;align-items:center;flex-direction:row;padding:6px 8px}.focusedMiniGamePage .legacyMiniHeader>div:first-child{display:none}}@media (prefers-reduced-motion:reduce){.courseLaunchMedia,.courseLaunchMedia:after{transition:none}}.missionCommandCenter{position:relative;gap:14px;min-height:660px;overflow:hidden;border-color:rgba(34,211,238,.28);border-radius:20px;background:linear-gradient(rgba(34,211,238,.035) 1px,transparent 0),linear-gradient(90deg,rgba(34,211,238,.035) 1px,transparent 0),linear-gradient(145deg,#071522,#0b1728 55%,#101526);background-size:36px 36px,36px 36px,100% 100%;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 24px 60px rgba(0,0,0,.45)}.missionCommandCenter:before{position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,transparent,#22d3ee,#8b5cf6,#10b981,transparent);content:""}.missionCommandCenter.missionAlert{animation:missionPanelAlert .52s ease}.missionHudHeader{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.72fr);grid-gap:18px;gap:18px;align-items:center;padding:14px 16px;border:1px solid rgba(148,163,184,.16);border-radius:14px;background:rgba(4,13,26,.78);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}.missionIdentity{display:flex;min-width:0;align-items:center;gap:13px}.missionIdentity h3{margin:6px 0 2px;background:none;color:#ffffff!important;font-size:clamp(21px,2.2vw,30px)!important;-webkit-text-fill-color:currentColor}.missionIdentity p{color:#94a3b8!important}.missionCoreIcon{position:relative;display:grid;width:58px;height:58px;flex:0 0 auto;place-items:center;border:1px solid rgba(34,211,238,.5);border-radius:14px;background:linear-gradient(145deg,rgba(8,145,178,.32),rgba(76,29,149,.32));color:#a5f3fc;box-shadow:0 0 24px rgba(34,211,238,.18),inset 0 1px rgba(255,255,255,.1)}.missionCoreIcon:after{position:absolute;inset:5px;border:1px dashed rgba(165,243,252,.28);border-radius:10px;content:"";animation:missionCorePulse 1.8s ease-in-out infinite}.missionTelemetry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.missionTelemetry>div{display:grid;grid-gap:2px;gap:2px;min-width:0;padding:9px 11px;border:1px solid rgba(148,163,184,.14);border-radius:9px;background:rgba(15,23,42,.72)}.missionTelemetry span{color:#718198!important;font-size:10px;font-weight:900;text-transform:uppercase}.missionTelemetry strong{overflow:hidden;color:#e6fbff;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.missionTelemetryProgress{grid-column:1/-1}.missionPhaseNav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.missionPhaseNav button{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;min-width:0;min-height:52px;align-items:center;grid-gap:7px;gap:7px;padding:8px 10px;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:rgba(15,23,42,.7);color:#94a3b8;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.missionPhaseNav button:hover{transform:translateY(-2px);border-color:rgba(34,211,238,.45)}.missionPhaseNav button.active{border-color:#22d3ee;background:linear-gradient(145deg,rgba(8,145,178,.24),rgba(30,41,59,.9));color:#ecfeff;box-shadow:0 0 22px rgba(34,211,238,.12)}.missionPhaseNav button.success{border-color:#10b981}.missionPhaseNav button:disabled{cursor:not-allowed;opacity:.42;transform:none}.missionPhaseNav button>span{display:grid;width:27px;height:27px;place-items:center;border-radius:7px;background:rgba(255,255,255,.07);color:#67e8f9!important;font-size:10px;font-weight:950}.missionPhaseNav button b{overflow:hidden;color:inherit;font-size:12px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.missionPhaseNav button small{color:#64748b;font-size:9px;font-weight:900}.missionWorkspace{display:grid;grid-template-columns:minmax(210px,.31fr) minmax(0,1fr);grid-gap:12px;gap:12px;min-height:420px}.missionAssistantPanel,.missionClassificationBoard,.missionSignalBoard{min-width:0;border:1px solid rgba(148,163,184,.16);border-radius:14px;background:rgba(6,16,31,.84)}.missionAssistantPanel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:18px;text-align:center}.missionAssistantPanel h4{margin:0;color:#ffffff;font-size:18px}.missionAssistantPanel>p{color:#9aabc0!important;font-size:12px;line-height:1.6}.missionScanner{position:relative;display:grid;width:112px;height:112px;place-items:center;overflow:hidden;border:1px solid rgba(34,211,238,.38);border-radius:14px;background:linear-gradient(rgba(34,211,238,.08) 1px,transparent 0),linear-gradient(90deg,rgba(34,211,238,.08) 1px,transparent 0),#071827;background-size:16px 16px;color:#67e8f9;box-shadow:inset 0 0 28px rgba(34,211,238,.1),0 0 24px rgba(34,211,238,.12)}.missionScanner span{position:absolute;right:8px;left:8px;height:2px;background:#22d3ee;box-shadow:0 0 12px #22d3ee;animation:missionScan 2s ease-in-out infinite}.missionAssistantStats{display:grid;width:100%;grid-template-columns:1fr 1fr;grid-gap:7px;gap:7px}.missionAssistantStats span{padding:8px 4px;border:1px solid rgba(148,163,184,.14);border-radius:8px;color:#94a3b8!important;font-size:10px}.missionAssistantStats b{display:block;color:#67e8f9;font-size:20px}.missionLiveSignal{display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid rgba(251,191,36,.3);border-radius:8px;background:rgba(120,53,15,.18);color:#fde68a;font-size:10px;font-weight:900}.missionClassificationBoard,.missionSignalBoard{padding:13px}.missionBoardTitle{display:flex;min-height:36px;align-items:center;gap:8px;padding:0 4px 10px;color:#67e8f9}.missionBoardTitle b{color:#ffffff;font-size:13px}.missionBoardTitle span{margin-left:auto;color:#64748b!important;font-size:10px}.missionLinkColumns{display:grid;grid-template-columns:minmax(140px,.7fr) 34px minmax(240px,1.3fr);grid-gap:8px;gap:8px;align-items:stretch}.missionClueColumn,.missionPortColumn{display:grid;align-content:start;grid-gap:8px;gap:8px}.missionClueColumn button,.missionPortColumn button{display:grid;min-width:0;min-height:54px;align-items:center;grid-gap:8px;gap:8px;padding:8px 10px;border:1px solid rgba(148,163,184,.19);border-radius:9px;background:rgba(15,23,42,.76);color:#dbe7f5;cursor:pointer;text-align:left;transition:border-color .16s ease,background .16s ease,transform .16s ease}.missionPortColumn button{grid-template-columns:26px minmax(0,1fr) auto}.missionClueColumn button{grid-template-columns:26px minmax(0,1fr)}.missionClueColumn button:hover,.missionPortColumn button:hover{transform:translateY(-1px);border-color:rgba(34,211,238,.5);background:rgba(8,145,178,.11)}.missionClueColumn button i,.missionPortColumn button i{display:grid;width:25px;height:25px;place-items:center;border-radius:6px;background:rgba(34,211,238,.11);color:#67e8f9;font-size:9px;font-style:normal;font-weight:950}.missionClueColumn button span,.missionPortColumn button span{color:inherit!important;font-size:11px;font-weight:800;line-height:1.45}.missionClueColumn button.selected,.missionPortColumn button.selected{border-color:#fbbf24;background:rgba(120,53,15,.2);box-shadow:0 0 20px rgba(251,191,36,.12)}.missionClueColumn button.answered,.missionPortColumn button.answered{border-color:rgba(34,211,238,.45)}.missionClueColumn button.correct,.missionPortColumn button.correct{border-color:#10b981;background:rgba(6,78,59,.5)}.missionClueColumn button.wrong,.missionPortColumn button.wrong{border-color:#fb7185;background:rgba(136,19,55,.34)}.missionLinkRail{position:relative;min-height:100%;border-right:1px solid rgba(34,211,238,.18);border-left:1px solid rgba(34,211,238,.18);background:linear-gradient(180deg,transparent,rgba(34,211,238,.1),transparent)}.missionLinkRail span{position:absolute;left:50%;width:9px;height:9px;border:2px solid #22d3ee;border-radius:50%;background:#071522;transform:translateX(-50%);box-shadow:0 0 12px #22d3ee}.missionLinkRail span:first-child{top:18%}.missionLinkRail span:nth-child(2){top:49%}.missionLinkRail span:nth-child(3){top:80%}.missionCategoryLegend{display:grid;width:100%;grid-gap:6px;gap:6px;margin-top:5px}.missionCategoryLegend span{display:flex;align-items:center;gap:7px;color:#aab8ca!important;font-size:10px;font-weight:800;text-align:left}.missionCategoryLegend i{width:8px;height:8px;flex:0 0 auto;border-radius:2px;background:hsl(calc(174deg + var(--category-index) * 54deg) 72% 52%);box-shadow:0 0 9px currentColor}.missionClassifyGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.missionClassifyGrid article{display:grid;grid-gap:8px;gap:8px;min-width:0;padding:10px;border:1px solid rgba(148,163,184,.16);border-radius:9px;background:rgba(15,23,42,.68)}.missionClassifyGrid article.correct{border-color:rgba(16,185,129,.62)}.missionClassifyGrid article.wrong{border-color:rgba(251,113,133,.72)}.missionClassifyTerm{display:flex;align-items:center;gap:8px;min-width:0}.missionClassifyTerm i{display:grid;width:28px;height:28px;flex:0 0 auto;place-items:center;border-radius:6px;background:rgba(139,92,246,.18);color:#c4b5fd;font-size:11px;font-style:normal;font-weight:950}.missionClassifyTerm strong{overflow:hidden;color:#ffffff;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.missionCategoryChoices{display:flex;flex-wrap:wrap;gap:5px}.missionCategoryChoices button{min-height:36px;padding:6px 12px;border:1px solid rgba(148,163,184,.18);border-radius:6px;background:rgba(2,6,23,.54);color:#94a3b8;font-size:12px;font-weight:900;cursor:pointer}.missionCategoryChoices button.selected{border-color:#a78bfa;background:rgba(76,29,149,.4);color:#f5f3ff}.missionCategoryChoices button.correct{border-color:#10b981;background:rgba(6,78,59,.58);color:#d1fae5}.missionCategoryChoices button.wrong{border-color:#fb7185;background:rgba(136,19,55,.5);color:#ffe4e6}.missionControlBar{margin-top:0;border-color:rgba(34,211,238,.2);border-radius:12px;background:rgba(4,13,26,.9)}.missionControlStatus{display:flex;align-items:center;gap:10px}.missionControlStatus>div:first-child{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border:1px solid rgba(148,163,184,.2);border-radius:9px;color:#64748b}.missionControlStatus>div:first-child.ready{border-color:rgba(16,185,129,.5);color:#34d399;box-shadow:0 0 16px rgba(16,185,129,.14)}.missionControlStatus p{color:#ffffff!important}.missionControlStatus p:last-child{color:#718198!important}.missionReportStage{display:grid;min-height:430px;place-items:center;align-content:center;grid-gap:12px;gap:12px;padding:32px;border:1px solid rgba(16,185,129,.36);border-radius:16px;background:radial-gradient(circle at 50% 20%,rgba(16,185,129,.17),transparent 35%),rgba(4,20,28,.88);text-align:center}.missionReportSeal{display:grid;width:94px;height:94px;place-items:center;border:2px solid #34d399;border-radius:22px;background:rgba(6,78,59,.5);color:#a7f3d0;box-shadow:0 0 0 10px rgba(16,185,129,.06),0 0 38px rgba(16,185,129,.24);animation:missionSealIn .48s ease both}.missionReportStage h2{margin:0;color:#ffffff}.missionReportStage>p{color:#a7b5c8!important}.missionReportStats{display:grid;width:min(760px,100%);grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.missionReportStats div{padding:13px 8px;border:1px solid rgba(16,185,129,.2);border-radius:9px;background:rgba(15,23,42,.64)}.missionReportStats strong{display:block;color:#6ee7b7;font-size:25px}.missionReportStats span{color:#94a3b8!important;font-size:9px;font-weight:800}.missionArStage{min-height:520px;overflow:hidden;border:1px solid rgba(139,92,246,.28);border-radius:14px;background:#050c18}:-webkit-full-screen.fullscreen-wrapper .missionCommandCenter{min-height:calc(100dvh - 150px);max-height:none;overflow:auto;border-radius:0}:fullscreen.fullscreen-wrapper .missionCommandCenter{min-height:calc(100dvh - 150px);max-height:none;overflow:auto;border-radius:0}@keyframes missionScan{0%,to{top:12%;opacity:.35}50%{top:86%;opacity:1}}@keyframes missionCorePulse{0%,to{opacity:.3;transform:scale(.96)}50%{opacity:1;transform:scale(1)}}@keyframes missionSealIn{0%{opacity:0;transform:scale(.55) rotate(-12deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes missionPanelAlert{0%,to{transform:translateX(0)}25%{transform:translateX(-7px)}50%{transform:translateX(7px)}75%{transform:translateX(-3px)}}@media (max-width:1050px){.missionHudHeader{grid-template-columns:1fr}.missionWorkspace{grid-template-columns:minmax(185px,.28fr) minmax(0,1fr)}.missionAssistantPanel{padding:14px}.missionScanner{width:90px;height:90px}.missionClassifyGrid{grid-template-columns:1fr}}@media (max-width:720px){.missionCommandCenter{min-height:0;padding:10px;border-radius:14px}.missionHudHeader{padding:10px}.missionCoreIcon{width:46px;height:46px}.missionIdentity h3{font-size:18px!important}.missionIdentity p{display:-webkit-box;overflow:hidden;font-size:11px;-webkit-box-orient:vertical;-webkit-line-clamp:2}.missionTelemetry{gap:5px}.missionTelemetry>div{padding:7px 8px}.missionPhaseNav{gap:5px}.missionPhaseNav button{grid-template-columns:1fr;min-height:68px;justify-items:center;gap:2px;padding:6px 3px;text-align:center}.missionPhaseNav button>span{width:23px;height:23px}.missionPhaseNav button b{width:100%;font-size:9px;text-align:center}.missionPhaseNav button small{display:none}.missionWorkspace{grid-template-columns:1fr}.missionAssistantPanel{display:grid;grid-template-columns:auto minmax(0,1fr);justify-items:start;min-height:0;padding:10px;text-align:left}.missionAssistantPanel .mantine-Badge-root,.missionAssistantPanel h4,.missionAssistantPanel>p,.missionAssistantStats,.missionCategoryLegend,.missionLiveSignal{grid-column:2;width:100%}.missionScanner{grid-row:1/span 5;width:72px;height:72px}.missionAssistantPanel>p{font-size:10px;line-height:1.45}.missionLinkColumns{grid-template-columns:1fr}.missionLinkRail{min-height:24px;border:1px solid rgba(34,211,238,.14);border-radius:7px}.missionLinkRail span{top:50%!important}.missionLinkRail span:first-child{left:20%}.missionLinkRail span:nth-child(2){left:50%}.missionLinkRail span:nth-child(3){left:80%}.missionBoardTitle{flex-wrap:wrap}.missionBoardTitle span{width:100%;margin-left:26px}.missionClueColumn button,.missionPortColumn button{min-height:48px}.missionControlBar{align-items:stretch;flex-direction:column}.missionControlBar .mantine-Group-root{display:grid;grid-template-columns:1fr 1fr}.missionControlBar .mantine-Button-root:last-child{grid-column:1/-1}.missionReportStage{min-height:390px;padding:22px 12px}.missionReportStats{grid-template-columns:repeat(2,1fr);gap:5px}.missionReportStats strong{font-size:20px}.missionArStage{min-height:420px}}@media (prefers-reduced-motion:reduce){.missionCommandCenter.missionAlert,.missionCoreIcon:after,.missionReportSeal,.missionScanner span{animation:none}}@media (min-width:1101px) and (max-width:1439px){.courseLaunchGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.courseLaunchMedia{min-height:176px}}@media (min-width:640px) and (max-width:1100px){.courseLaunchGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.courseLaunchMedia{min-height:190px}}@media (max-width:639px){.courseLaunchGrid{grid-template-columns:1fr}}.schoolUserTableHeader,.schoolUserTableRow{display:grid;align-items:center;grid-gap:8px;gap:8px;min-width:760px;grid-template-columns:minmax(220px,1.4fr) minmax(130px,1fr) minmax(130px,1fr) minmax(130px,1fr) 140px}.schoolUserTableHeader{padding:8px 10px;border-radius:12px;background:rgba(147,51,234,.2);color:#e2e8f0;font-size:12px;font-weight:950}.schoolUserTableRow{padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.03);color:#e2e8f0}.consoleTabs{display:flex;gap:10px;margin-top:18px;margin-bottom:18px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:1px;overflow-x:auto}.consoleTabs button{min-height:44px;padding:0 20px;background:transparent;border:none;border-bottom:2px solid transparent;color:#94a3b8;font-size:14px;font-weight:900;cursor:pointer;transition:all .15s ease;white-space:nowrap}.consoleTabs button:hover{color:#f1f5f9}.consoleTabs button.active{color:#f97316;border-bottom-color:#f97316}