:root{color:#f3f6f4;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#111318;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button{color:inherit;font:inherit}input,textarea{font:inherit}.boot-screen,.auth-page{background:linear-gradient(120deg,#0b1118f0,#13181cd1),url(/image/2.png) 50%/cover,#111318;width:100%;height:100%;min-height:100vh}.boot-screen{place-items:center;display:grid}.boot-screen div{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0a0e12cc;border:1px solid #ffffff24;border-radius:8px;gap:10px;min-width:min(360px,100vw - 40px);padding:24px;display:grid;box-shadow:0 24px 70px #00000075}.boot-screen span,.auth-kicker,.auth-panel-header span{color:#5dd2ffd1;letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:900}.boot-screen strong{color:#fff;font-size:20px}.auth-page{grid-template-columns:minmax(0,1fr) minmax(360px,440px);align-items:stretch;gap:28px;padding:clamp(18px,4vw,56px);display:grid;overflow-y:auto}.auth-hero{background:linear-gradient(#06090c1a,#06090cdb),url(/image/3.jpg) 50%/cover;border:1px solid #ffffff21;border-radius:8px;align-content:end;min-height:min(760px,100vh - 112px);display:grid;position:relative;overflow:hidden;box-shadow:0 30px 90px #0000006b}.auth-hero:before{content:"";background-color:#0000;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:56px 56px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 28%,#000);mask-image:linear-gradient(#0000,#000 28%,#000)}.auth-orbit{aspect-ratio:1;opacity:.78;border:1px solid #5dd2ff42;border-radius:50%;width:min(330px,40vw);position:absolute;top:10%;right:8%}.auth-orbit:before,.auth-orbit:after{border-radius:inherit;content:"";border:1px solid #f0c85a47;position:absolute;inset:14%;transform:rotate(34deg)}.auth-orbit:after{border-color:#62e88e47;inset:30%;transform:rotate(-22deg)}.auth-orbit span{background:#5dd2ff;border-radius:50%;width:9px;height:9px;position:absolute;box-shadow:0 0 18px #5dd2ffc7}.auth-orbit span:first-child{top:18%;left:21%}.auth-orbit span:nth-child(2){background:#f0c85a;bottom:30%;right:16%;box-shadow:0 0 18px #f0c85ab8}.auth-orbit span:nth-child(3){background:#62e88e;bottom:10%;right:44%;box-shadow:0 0 18px #62e88eb3}.auth-hero-copy{gap:18px;max-width:820px;padding:clamp(24px,5vw,58px);display:grid;position:relative}.auth-hero h1{color:#fff;letter-spacing:0;max-width:780px;margin:0;font-size:clamp(42px,6vw,78px);font-weight:950;line-height:1.02}.auth-hero p{color:#ffffffc2;max-width:660px;margin:0;font-size:16px;font-weight:700;line-height:1.7}.auth-metrics{grid-template-columns:repeat(3,minmax(120px,1fr));gap:10px;max-width:620px;display:grid}.auth-metrics div{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080c1094;border:1px solid #ffffff21;border-radius:8px;gap:5px;min-height:76px;padding:12px;display:grid}.auth-metrics strong{color:#fff;font-size:28px;font-weight:950}.auth-metrics span{color:#ffffffa8;font-size:12px;font-weight:850}.auth-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(#ffffff16,#ffffff06),#080c10d6;border:1px solid #ffffff26;border-radius:8px;align-self:center;gap:22px;padding:26px;display:grid;box-shadow:0 26px 80px #0000007a}.auth-panel-header{gap:8px;display:grid}.auth-panel h2{color:#fff;margin:0;font-size:30px;font-weight:950;line-height:1.18}.auth-panel p{color:#ffffffa3;margin:0;font-size:13px;font-weight:720;line-height:1.6}.auth-form{gap:14px;display:grid}.auth-form label{gap:7px;display:grid}.auth-form label span{color:#ffffffad;font-size:12px;font-weight:850}.auth-form input{color:#fff;background:#ffffff13;border:1px solid #ffffff24;border-radius:6px;outline:0;width:100%;height:44px;padding:0 12px}.auth-form input:focus{background:#ffffff1c;border-color:#5dd2ffb8}.auth-form input::placeholder{color:#ffffff61}.auth-status{color:#b7edff;background:#5dd2ff1f;border-radius:6px;min-height:34px;padding:8px 10px;font-size:12px;font-weight:850;line-height:1.45}.auth-status.error{color:#faa;background:#ff6b6b21}.auth-submit,.auth-switch{cursor:pointer;border-radius:6px;height:42px;font-size:13px;font-weight:950}.auth-submit{color:#071014;background:linear-gradient(135deg,#5dd2ff,#62e88e);border:1px solid #5dd2ffc2;box-shadow:0 12px 32px #5dd2ff38}.auth-submit:disabled{cursor:wait;opacity:.62}.auth-switch{color:#ffffffc2;background:#ffffff0e;border:1px solid #ffffff1f}.auth-switch:hover{color:#fff;border-color:#f0c85a7a}.app-shell{background:linear-gradient(#ffffff06,#fff0),#111318;width:100%;height:100%;position:relative}.viewer-surface{width:100%;height:100%;position:absolute;inset:0}.viewer-surface canvas{cursor:crosshair;width:100%;height:100%;display:block}.learning-userbar{z-index:10;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,#0d1114e0,#141c24d9);border:1px solid #5dd2ff2e;border-radius:12px;grid-template-columns:minmax(92px,auto) minmax(88px,auto) auto;align-items:center;gap:12px;max-width:min(520px,100vw - 400px);min-height:48px;padding:8px 14px;display:grid;position:fixed;top:18px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0f}.learning-userbar div{gap:2px;min-width:0;padding:0 8px;display:grid}.learning-userbar span{color:#f3f6f485;font-size:11px;font-weight:800}.learning-userbar strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900;overflow:hidden}.learning-userbar button{color:#ffa0a0e6;cursor:pointer;background:#ff6b6b14;border:1px solid #ff6b6b40;border-radius:8px;height:32px;padding:0 14px;font-size:12px;font-weight:850;transition:all .25s}.learning-userbar button:hover{color:#fff;background:#ff6b6b26;border-color:#ff6b6b99;box-shadow:0 0 12px #ff6b6b33}.hotspot-beacon{z-index:8;opacity:0;pointer-events:none;background:#fff;border-radius:999px;width:13px;height:13px;transition:opacity .24s,transform .24s;position:fixed;transform:translate(-50%,-50%)scale(.7);box-shadow:0 0 10px #fffffff2,0 0 24px #ffffff6b}.hotspot-beacon.correct{background:#61e88d;box-shadow:0 0 10px #61e88df2,0 0 24px #61e88d6b}.hotspot-beacon.wrong{background:#ff6b6b;box-shadow:0 0 10px #ff6b6bf2,0 0 24px #ff6b6b6b}.hotspot-beacon.visible{opacity:1;animation:1.25s ease-in-out infinite beacon-pulse}.quiz-bubble{z-index:12;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(#0d1114f0,#10161ceb);border:1px solid #5dd2ff38;border-radius:12px;gap:10px;width:min(400px,100vw - 40px);padding:16px;transition:opacity .26s,transform .26s;display:grid;position:fixed;transform:translate(-50%,calc(-100% - 24px))scale(.96);box-shadow:0 18px 50px #00000080,inset 0 1px #ffffff0f}.quiz-bubble.visible{z-index:30;opacity:1;pointer-events:auto;transform:translate(-50%,calc(-100% - 18px))scale(1)}.quiz-bubble.visible.locked{pointer-events:none}.quiz-bubble:after{content:"";background:#0d1114f0;border-bottom:1px solid #5dd2ff38;border-right:1px solid #5dd2ff38;width:14px;height:14px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)rotate(45deg)}.quiz-bubble-meta{justify-content:space-between;align-items:center;gap:10px;display:flex}.quiz-bubble-meta span,.quiz-bubble-meta strong{color:#ffe9a8;background:#f0c85a1a;border:1px solid #f0c85a3d;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:950;line-height:1}.quiz-bubble-meta span{color:#c7efff;background:#5dd2ff1a;border-color:#5dd2ff3d}.quiz-bubble p{color:#fff;margin:0;font-size:15px;font-weight:800;line-height:1.45}.quiz-options{gap:7px;display:grid}.quiz-options button{color:#ffffffdb;cursor:pointer;text-align:left;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;grid-template-columns:26px 1fr;align-items:center;gap:8px;min-height:38px;padding:7px 9px;transition:all .2s;display:grid}.quiz-options button:hover{background:#5dd2ff14;border-color:#5dd2ff73;box-shadow:0 0 12px #5dd2ff14}.quiz-options button strong{color:#fff;background:#ffffff1f;border-radius:999px;place-items:center;width:24px;height:24px;font-size:12px;display:grid}.quiz-options button span{font-size:13px;line-height:1.35}.quiz-options button.correct{background:#5ad68b29;border-color:#5ad68bbf}.quiz-options button.wrong{background:#ff6b6b21;border-color:#ff6b6bb3}.quiz-feedback{border-radius:6px;min-height:26px;padding:5px 8px;font-size:12px;font-weight:800}.quiz-feedback.correct{color:#7cf0a5;background:#5ad68b24}.quiz-feedback.wrong{color:#ff9a9a;background:#ff6b6b1f}.short-answer-form{gap:8px;display:grid}.short-answer-input{resize:vertical;color:#fff;width:100%;min-height:92px;font:inherit;background:#ffffff12;border:1px solid #ffffff24;border-radius:6px;outline:0;padding:9px 10px;font-size:13px;line-height:1.45}.short-answer-input:focus{background:#ffffff1a;border-color:#f0c85a9e}.short-answer-input::placeholder{color:#ffffff7a}.quiz-actions{justify-content:flex-end;display:flex}.quiz-actions button{color:#071014;cursor:pointer;background:linear-gradient(135deg,#5dd2ff,#62e88e);border:1px solid #5dd2ff80;border-radius:8px;min-width:72px;height:32px;padding:0 14px;font-size:12px;font-weight:900;transition:all .2s;box-shadow:0 4px 14px #5dd2ff33}.quiz-actions button:disabled{cursor:wait;opacity:.62}.short-answer-points{gap:6px;max-height:138px;padding:2px 2px 2px 0;display:grid;overflow-y:auto}.short-answer-point{background:#ffffff0d;border:1px solid #ffffff1f;border-radius:6px;grid-template-columns:32px 1fr;align-items:start;gap:7px;min-height:30px;padding:6px 8px;display:grid}.short-answer-point strong{border-radius:999px;place-items:center;min-width:26px;height:20px;font-size:11px;font-weight:900;display:grid}.short-answer-point span{color:#ffffffd6;font-size:12px;font-weight:750;line-height:1.45}.short-answer-point.achieved{background:#5ad68b1a;border-color:#5ad68b73}.short-answer-point.achieved strong{color:#7cf0a5;background:#5ad68b38}.short-answer-point.missed{background:#ff6b6b17;border-color:#ff6b6b6b}.short-answer-point.missed strong{color:#ff9a9a;background:#ff6b6b2e}.quality-switcher{z-index:10;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,#0d1114e0,#141c24d9);border:1px solid #5dd2ff2e;border-radius:12px;grid-auto-flow:column;gap:4px;max-width:calc(100vw - 190px);padding:5px;display:grid;position:fixed;bottom:18px;left:50%;overflow-x:auto;transform:translate(-50%);box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0f}.quality-switcher button{color:#f3f6f4a6;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;min-width:58px;height:34px;padding:0 14px;font-size:12px;font-weight:700;transition:all .2s}.quality-switcher button:hover{color:#fff;background:#5dd2ff1a}.quality-switcher button.active{color:#071014;background:linear-gradient(135deg,#5dd2ff,#62e88e);font-weight:800;box-shadow:0 4px 14px #5dd2ff40}.model-sidebar{z-index:10;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(#0d1114e6,#10161ce0);border:1px solid #5dd2ff2e;border-radius:12px;gap:8px;width:160px;max-height:calc(100vh - 80px);padding:8px;display:grid;position:fixed;top:18px;right:18px;overflow-y:auto;box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0f}.model-tile{color:#fff;cursor:pointer;background:#161a1f;border:1px solid #ffffff1a;border-radius:10px;width:100%;min-height:78px;padding:0;transition:all .25s;display:grid;position:relative;overflow:hidden}.model-tile img{object-fit:cover;filter:saturate(.9)contrast(.95);width:100%;height:78px;transition:filter .3s}.model-tile:hover img{filter:saturate(1.1)contrast(1.05)}.model-tile span:last-child{color:#fff;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080a0cc7;border-radius:6px;min-height:24px;padding:4px 8px;font-size:11px;font-weight:800;position:absolute;bottom:6px;left:6px;right:6px;overflow:hidden}.model-tile:hover{border-color:#5dd2ff80;transform:translateY(-1px);box-shadow:0 4px 18px #5dd2ff1f}.model-tile.active{border-color:#5dd2ffb3;box-shadow:0 0 0 2px #5dd2ff33,0 4px 18px #5dd2ff26}.reset-tile{background:linear-gradient(135deg,#5dd2ff1f,#62e88e14),#161a1f;place-items:center;min-height:52px}.reset-glyph{color:#071014;background:linear-gradient(135deg,#5dd2ff,#62e88e);border-radius:999px;place-items:center;width:30px;height:30px;font-size:14px;font-weight:900;display:grid}.knowledge-tile{background:radial-gradient(circle at 30% 25%,#5dd2ff33,#0000 24%),radial-gradient(circle at 70% 72%,#62e88e26,#0000 28%),linear-gradient(135deg,#5dd2ff1f,#62e88e14),#161a1f;place-items:center;min-height:66px}.knowledge-glyph{width:44px;height:34px;display:block;position:relative}.knowledge-glyph:before,.knowledge-glyph:after{content:"";transform-origin:0;background:#ffffff8f;height:1px;position:absolute}.knowledge-glyph:before{width:25px;top:10px;left:10px;transform:rotate(24deg)}.knowledge-glyph:after{width:25px;top:23px;left:10px;transform:rotate(-22deg)}.knowledge-glyph i{background:#fff;border-radius:999px;width:12px;height:12px;position:absolute;box-shadow:0 0 14px #ffffffa6}.knowledge-glyph i:first-child{top:11px;left:2px}.knowledge-glyph i:nth-child(2){background:#f0c85a;top:0;right:2px}.knowledge-glyph i:nth-child(3){background:#62e88e;bottom:0;right:4px}.knowledge-overlay{z-index:40;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#03050894;place-items:center;padding:20px;transition:opacity .24s;display:grid;position:fixed;inset:0}.knowledge-overlay.visible{opacity:1;pointer-events:auto}.knowledge-panel{background:linear-gradient(#ffffff12,#ffffff05),#0c1015;border:1px solid #ffffff29;border-radius:8px;grid-template-rows:auto 1fr auto;width:min(1240px,100vw - 40px);height:min(820px,100vh - 40px);transition:transform .26s;display:grid;overflow:hidden;transform:translateY(14px)scale(.98);box-shadow:0 26px 80px #00000085}.knowledge-overlay.visible .knowledge-panel{transform:translateY(0)scale(1)}.knowledge-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:16px 18px 12px;display:flex}.knowledge-header h2{color:#fff;letter-spacing:0;margin:0;font-size:22px;font-weight:900}.knowledge-header p{color:#ffffff94;margin:5px 0 0;font-size:12px;font-weight:700}.knowledge-header button{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;border-radius:6px;height:34px;padding:0 13px;font-size:12px;font-weight:800}.knowledge-header button:hover{background:#ffffff1a;border-color:#f0c85a94}.knowledge-canvas-wrap{min-height:0;position:relative;overflow:hidden}.knowledge-canvas-wrap canvas{touch-action:none;width:100%;height:100%;display:block}.knowledge-tooltip{color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#080a0cc7;border:1px solid #ffffff24;border-radius:8px;gap:5px;max-width:280px;padding:10px 12px;display:grid;position:absolute;bottom:18px;left:18px;box-shadow:0 16px 36px #00000052}.knowledge-level-picker{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(#ffffff12,#ffffff06),#080a0cb8;border:1px solid #ffffff24;border-radius:8px;gap:9px;width:min(250px,100% - 36px);max-height:calc(100% - 36px);padding:12px;display:grid;position:absolute;top:18px;left:18px;overflow:hidden;box-shadow:0 18px 44px #0000004d}.knowledge-level-picker>span{color:#f0c85adb;font-size:11px;font-weight:900}.knowledge-level-picker>div{gap:6px;max-height:330px;padding-right:2px;display:grid;overflow-y:auto}.knowledge-level-picker button{color:#ffffffc7;cursor:pointer;text-align:left;background:#ffffff0b;border:1px solid #ffffff1a;border-radius:6px;grid-template-columns:34px 1fr;align-items:center;gap:8px;min-height:32px;padding:5px 7px;display:grid}.knowledge-level-picker button:hover,.knowledge-level-picker button.active{color:#fff;background:#f0c85a1a;border-color:#f0c85a8c}.knowledge-level-picker strong{color:#fff;background:#ffffff1a;border-radius:999px;place-items:center;min-width:28px;height:22px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px;font-weight:900;display:grid}.knowledge-level-picker em{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-style:normal;font-weight:800;overflow:hidden}.knowledge-detail{opacity:.72;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(#ffffff14,#ffffff06),#080a0cc7;border:1px solid #ffffff24;border-radius:8px;gap:12px;width:min(310px,100% - 36px);max-height:calc(100% - 36px);padding:14px;transition:opacity .18s,transform .18s;display:grid;position:absolute;top:18px;right:18px;overflow:auto;box-shadow:0 18px 44px #0000005c}.knowledge-detail.visible,.knowledge-detail:hover{opacity:1}.knowledge-detail-kicker{color:#f0c85adb;font-size:11px;font-weight:900}.knowledge-detail h3{color:#fff;margin:-5px 0 0;font-size:18px;font-weight:900;line-height:1.25}.knowledge-score-row{grid-template-columns:1fr auto;align-items:center;gap:12px;display:grid}.knowledge-score-row span,.knowledge-path span,.knowledge-section span,.knowledge-points span{color:#ffffff94;font-size:12px;font-weight:800}.knowledge-score-row strong{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:20px;font-weight:900}.knowledge-score-bar{background:linear-gradient(90deg,#ff5e6c,#fff 50%,#62e88e);border-radius:999px;height:7px;overflow:hidden}.knowledge-score-bar i{border-radius:inherit;min-width:2px;height:100%;display:block;box-shadow:0 0 16px}.knowledge-path,.knowledge-section,.knowledge-points{gap:7px;display:grid}.knowledge-path p,.knowledge-section p,.knowledge-empty,.knowledge-points p{color:#ffffffc2;margin:0;font-size:12px;font-weight:650;line-height:1.5}.knowledge-points ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.knowledge-points li{color:#ffffffdb;background:#ffffff0b;border:1px solid #ffffff17;border-radius:6px;min-height:24px;padding:5px 8px 5px 22px;font-size:12px;font-weight:750;line-height:1.35;position:relative}.knowledge-points li:before{content:"";background:#fff;border-radius:999px;width:5px;height:5px;position:absolute;top:12px;left:9px;box-shadow:0 0 10px #ffffffad}.knowledge-points.rubric li.positive:before{background:#62e88e;box-shadow:0 0 10px #62e88ec7}.knowledge-points.rubric li.negative:before{background:#ff5e6c;box-shadow:0 0 10px #ff5e6cc7}.knowledge-tooltip strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900;overflow:hidden}.knowledge-tooltip span{color:#ffffff9e;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px}.knowledge-legend{border-top:1px solid #ffffff1a;grid-auto-flow:column;justify-content:start;align-items:center;gap:16px;min-height:48px;padding:0 18px;display:grid}.knowledge-legend span{color:#ffffffb3;grid-auto-flow:column;align-items:center;gap:7px;font-size:12px;font-weight:800;display:inline-grid}.knowledge-legend i{border-radius:999px;width:10px;height:10px;box-shadow:0 0 12px}.knowledge-legend .red{color:#ff5e6c;background:#ff5e6c}.knowledge-legend .white{color:#fff;background:#fff}.knowledge-legend .yellow{color:#f0c85a;background:#f0c85a}.knowledge-legend .green{color:#62e88e;background:#62e88e}.coordinate-hud{z-index:10;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,#0d1114e0,#141c24d9);border:1px solid #5dd2ff2e;border-radius:12px;grid-auto-flow:column;gap:14px;width:fit-content;padding:10px 14px;display:grid;position:fixed;bottom:18px;left:18px;box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0f}.hud-row{gap:2px;min-width:52px;display:grid}.hud-row span{color:#5dd2ffb3;letter-spacing:.5px;font-size:10px;font-weight:900}.hud-row strong{color:#fff;font-variant-numeric:tabular-nums;text-overflow:ellipsis;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;font-weight:700;overflow:hidden}.status-pill{z-index:10;color:#f3f6f4c7;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,#0d1114e0,#141c24d9);border:1px solid #5dd2ff2e;border-radius:12px;grid-auto-flow:column;align-items:center;gap:10px;min-height:36px;padding:0 14px;display:inline-grid;position:fixed;top:18px;left:18px;box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0f}.status-pill[data-locked=true]{color:#f0c85a;border-color:#f0c85a59}.status-pill span,.status-pill strong{letter-spacing:0;font-size:12px;font-weight:800}@media (width<=620px){.auth-page{grid-template-columns:1fr;gap:14px;padding:12px}.auth-hero{min-height:44vh}.auth-orbit{width:210px;top:7%;right:-14%}.auth-hero-copy{padding:22px}.auth-hero h1,.auth-hero .typing-title{font-size:38px}.auth-metrics{grid-template-columns:1fr}.auth-panel{align-self:start;padding:18px}.learning-userbar{grid-template-columns:1fr 1fr auto;max-width:none;inset:auto 12px 68px;transform:none}.model-sidebar{grid-template-columns:1fr;width:120px;max-height:calc(100vh - 80px);inset:12px 12px auto auto}.quality-switcher{max-width:none;bottom:12px;left:12px;right:12px;transform:none}.coordinate-hud{bottom:112px;left:12px}.status-pill{top:12px;left:12px}.model-tile,.model-tile img{height:68px;min-height:68px}.reset-tile{min-height:52px}.knowledge-overlay{padding:12px}.knowledge-panel{width:calc(100vw - 24px);height:calc(100vh - 24px)}.knowledge-legend{grid-template-columns:repeat(2,1fr);grid-auto-flow:row;gap:8px;min-height:70px;padding:10px 14px}.knowledge-detail{width:auto;max-height:42%;inset:auto 12px 12px}.knowledge-level-picker{width:auto;max-height:34%;top:12px;left:12px;right:12px}.knowledge-level-picker>div{max-height:170px}.knowledge-tooltip{max-width:none;inset:calc(34% + 24px) 12px auto}}@keyframes beacon-pulse{0%,to{transform:translate(-50%,-50%)scale(.72)}50%{transform:translate(-50%,-50%)scale(1.25)}}@keyframes scan-line{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes border-glow{0%,to{border-color:#5dd2ff2e;box-shadow:0 0 8px #5dd2ff0d}50%{border-color:#5dd2ff73;box-shadow:0 0 18px #5dd2ff1f}}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes orbit-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes orbit-rotate-reverse{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}@keyframes typing-cursor{0%,to{opacity:1}50%{opacity:0}}@keyframes pulse-ring{0%{opacity:.6;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(2.8)}}@keyframes float-up{0%{opacity:.6;transform:translateY(0)translate(0)}50%{opacity:1}to{opacity:0;transform:translateY(-80px)translate(20px)}}@keyframes grid-pulse{0%,to{opacity:.03}50%{opacity:.07}}.auth-orbit{animation:20s linear infinite orbit-rotate}.auth-orbit:before{animation:15s linear infinite orbit-rotate-reverse}.auth-orbit:after{animation:12s linear infinite orbit-rotate}.auth-orbit span{animation:4s ease-in-out infinite float-up}.auth-orbit span:nth-child(2){animation-duration:5s;animation-delay:1.3s}.auth-orbit span:nth-child(3){animation-duration:3.5s;animation-delay:2.6s}.auth-hero:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(#0000 0%,#5dd2ff08 50%,#0000 100%);width:100%;height:30%;animation:4s linear infinite scan-line;position:absolute;inset:0}.auth-panel{animation:3s ease-in-out infinite border-glow}.auth-submit{background:linear-gradient(135deg,#5dd2ff,#62e88e,#5dd2ff) 0 0/200% 200%;animation:3s infinite gradient-shift}.auth-metrics div{transition:all .3s}.auth-metrics div:hover{border-color:#5dd2ff80;transform:translateY(-2px);box-shadow:0 0 20px #5dd2ff26,inset 0 0 20px #5dd2ff08}.tech-panel{overflow:hidden}.tech-panel:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#5dd2ff99,#0000);height:1px;animation:3s linear infinite scan-line;position:absolute;top:0;left:0;right:0}.learning-userbar,.coordinate-hud,.quality-switcher,.model-sidebar{animation:4s ease-in-out infinite border-glow}.coordinate-hud{animation-delay:1s}.quality-switcher{animation-delay:2s}.model-sidebar{animation-delay:.5s}.hotspot-beacon.visible:before,.hotspot-beacon.visible:after{content:"";border:1px solid #fff6;border-radius:999px;animation:2s ease-out infinite pulse-ring;position:absolute;inset:-4px}.hotspot-beacon.visible:after{animation-delay:.7s}.hotspot-beacon.correct:before,.hotspot-beacon.correct:after{border-color:#61e88d80}.hotspot-beacon.wrong:before,.hotspot-beacon.wrong:after{border-color:#ff6b6b80}.quiz-bubble:before{content:"";background:linear-gradient(90deg,#0000,#f0c85ab3,#0000);border-radius:8px 8px 0 0;height:2px;position:absolute;top:0;left:0;right:0}.status-pill:before{content:"";background:#62e88e;border-radius:999px;width:6px;height:6px;animation:1.5s ease-in-out infinite typing-cursor;display:inline-block;box-shadow:0 0 8px #62e88ecc}.status-pill[data-locked=true]:before{background:#f0c85a;box-shadow:0 0 8px #f0c85acc}.knowledge-panel{border-style:solid;border-width:1px;border-image:linear-gradient(135deg,#5dd2ff66,#62e88e4d,#f0c85a66) 1;animation:3s ease-in-out infinite border-glow}.knowledge-overlay:before{content:"";pointer-events:none;background-color:#0000;background-image:linear-gradient(#5dd2ff0a 1px,#0000 1px),linear-gradient(90deg,#5dd2ff0a 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:40px 40px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;animation:4s ease-in-out infinite grid-pulse;position:fixed;inset:0}.knowledge-legend i{animation:2s ease-in-out infinite typing-cursor}.knowledge-legend span:nth-child(2) i{animation-delay:.5s}.knowledge-legend span:nth-child(3) i{animation-delay:1s}.knowledge-legend span:nth-child(4) i{animation-delay:1.5s}.particle-canvas{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.typing-title{border-right:3px solid #5dd2ffcc;animation:.8s step-end infinite typing-cursor;display:inline-block}.typing-title.done{border-right-color:#0000;animation:none}.model-tile{transition:all .3s}.model-tile:hover{transform:translateY(-2px);box-shadow:0 8px 24px #f0c85a26}.auth-form input:focus{box-shadow:0 0 12px #5dd2ff26,inset 0 0 6px #5dd2ff0d}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.admin-login-page .auth-hero{background:linear-gradient(#06090c1a,#06090cdb),linear-gradient(135deg,#5dd2ff14,#62e88e0d),url(/image/3.jpg) 50%/cover}.admin-back-link{text-align:center;color:#ffffff80;font-size:13px;font-weight:700;text-decoration:none;transition:color .2s;display:block}.admin-back-link:hover{color:#5dd2ffe6}.admin-page{background:radial-gradient(at 20% 0,#5dd2ff0f 0%,#0000 50%),radial-gradient(at 80% 100%,#62e88e0a 0%,#0000 50%),linear-gradient(#080c12 0%,#0c1018 100%);width:100%;height:100%;min-height:100vh;padding:24px;position:relative;overflow-y:auto}.admin-particles{pointer-events:none;z-index:0;width:100%;height:100%;position:fixed;inset:0}.admin-loading{color:#fff9;z-index:1;place-items:center;gap:16px;height:60vh;font-size:16px;font-weight:700;display:grid;position:relative}.admin-header{z-index:1;border-bottom:1px solid #5dd2ff1f;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:20px;display:flex;position:relative}.admin-header h1{color:#fff;background:linear-gradient(135deg,#fff,#5dd2ffe6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:4px 0 0;font-size:26px;font-weight:900}.admin-student-count{color:#5dd2ffcc;font-size:13px;font-weight:800}.admin-header button{color:#ffa0a0e6;cursor:pointer;background:#ff6b6b14;border:1px solid #ff6b6b4d;border-radius:8px;height:36px;padding:0 16px;font-size:13px;font-weight:800;transition:all .2s}.admin-header button:hover{color:#fff;background:#ff6b6b26;border-color:#ff6b6b99}.admin-stats-bar{z-index:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0e1499;border:1px solid #5dd2ff1a;border-radius:14px;gap:0;margin-bottom:24px;padding:4px;animation:.4s backwards admin-card-in;display:flex;position:relative}@keyframes admin-card-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.admin-stat{text-align:center;border-radius:10px;flex:1;gap:2px;padding:14px 12px;transition:all .3s;display:grid}.admin-stat:hover{background:#5dd2ff0d}.admin-stat strong{color:#fff;background:linear-gradient(135deg,#5dd2ff,#62e88e);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:20px;font-weight:900}.admin-stat span{color:#ffffff73;font-size:11px;font-weight:800}.admin-body{z-index:1;grid-template-columns:1fr 1fr;gap:24px;animation:.5s .1s backwards admin-card-in;display:grid;position:relative}.admin-left,.admin-right{flex-direction:column;gap:20px;display:flex}.admin-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0e1480;border:1px solid #5dd2ff14;border-radius:14px;padding:20px}.admin-section h3{color:#ffffffd9;align-items:center;gap:8px;margin:0 0 14px;font-size:14px;font-weight:850;display:flex}.admin-section h3 small{color:#5dd2ff99;font-size:11px;font-weight:700}.admin-radar-canvas{margin:0 auto;display:block}.admin-weakness-list{gap:8px;display:grid}.admin-weakness-item{grid-template-columns:22px 1fr 100px 40px;align-items:center;gap:8px;min-height:30px;display:grid}.admin-weakness-rank{color:#5dd2ff80;text-align:center;font-size:11px;font-weight:900}.admin-weakness-label{color:#fffc;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:750;overflow:hidden}.admin-weakness-bar{background:#ffffff0f;border-radius:999px;height:6px;position:relative;overflow:hidden}.admin-weakness-bar:after{content:"";background:linear-gradient(90deg,#0000,#ffffff1a,#0000) 0 0/200% 100%;animation:3s infinite gradient-shift;position:absolute;inset:0}.admin-weakness-bar div{z-index:1;border-radius:999px;height:100%;transition:width 1s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 0 8px}.admin-weakness-score{text-align:right;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:800}.admin-student-list{gap:6px;max-height:360px;display:grid;overflow-y:auto}.admin-student-row{color:#fffc;cursor:pointer;text-align:left;min-height:42px;font:inherit;background:#ffffff05;border:1px solid #ffffff0f;border-radius:10px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:10px 14px;transition:all .25s;display:grid}.admin-student-row:hover{background:#5dd2ff0f;border-color:#5dd2ff66;transform:translate(4px);box-shadow:-2px 0 12px #5dd2ff1a}.admin-student-row strong{color:#fff;font-size:13px;font-weight:850}.admin-student-row span{color:#ffffff80;font-size:11px;font-weight:700}.admin-student-avg{font-family:SFMono-Regular,Consolas,monospace;font-size:12px}.admin-detail{z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0e1480;border:1px solid #5dd2ff1a;border-radius:14px;margin-top:24px;padding:22px;animation:.4s backwards admin-card-in;position:relative}.admin-detail h3{color:#fff;margin:0 0 16px;font-size:16px;font-weight:850}.admin-detail-modules{gap:16px;display:grid}.admin-detail-module h4{color:#f0c85ad9;margin:0 0 8px;font-size:13px;font-weight:850}.admin-detail-node{background:#ffffff05;border:1px solid #ffffff0f;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;transition:all .25s;display:flex}.admin-detail-node span{color:#ffffffbf;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.admin-detail-node strong{flex-shrink:0;font-family:SFMono-Regular,Consolas,monospace;font-size:14px;font-weight:900}@media (width<=720px){.admin-body{grid-template-columns:1fr}.admin-stats-bar{flex-wrap:wrap}.admin-stat{min-width:calc(33% - 4px)}.admin-header{flex-direction:column;align-items:flex-start}.admin-weakness-item{grid-template-columns:22px 1fr 80px 36px}}.admin-page{padding:22px clamp(18px,3vw,34px) 36px}.admin-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(135deg,#5dd2ff14,#62e88e09),#080c12a8;border:1px solid #5dd2ff1f;border-radius:16px;min-height:74px;margin-bottom:18px;padding:18px 20px;box-shadow:0 18px 55px #00000047}.admin-header h1{font-size:clamp(24px,2.5vw,34px)}.admin-stats-bar{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;grid-template-columns:minmax(120px,.8fr) minmax(120px,.8fr) minmax(220px,1.5fr) minmax(120px,.8fr) minmax(120px,.8fr);gap:12px;margin-bottom:18px;padding:0;display:grid}.admin-stat{text-align:left;background:linear-gradient(#ffffff0b,#ffffff04),#0a0e14ad;border:1px solid #5dd2ff1f;border-radius:14px;min-height:82px;padding:14px 16px;box-shadow:0 16px 42px #0003}.admin-stat strong{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(18px,2vw,24px);line-height:1.2;overflow:hidden}.admin-stat span{color:#ffffff8a}.admin-body{grid-template-columns:minmax(300px,.9fr) minmax(430px,1.25fr) minmax(320px,.95fr);align-items:start;gap:18px}.admin-left{display:contents}.admin-section{background:linear-gradient(#ffffff0d,#ffffff05),#090d13b8;border-color:#5dd2ff1f;position:relative;overflow:hidden;box-shadow:0 16px 45px #0000003d}.admin-section:before{content:"";opacity:.74;background:linear-gradient(90deg,#0000,#5dd2ffb8,#62e88e8c,#0000);height:2px;position:absolute;inset:0 0 auto}.admin-section h3{color:#ffffffe6;justify-content:space-between;min-height:22px;margin-bottom:16px}.admin-radar-section{min-height:354px}.admin-radar-canvas{width:min(260px,100%)!important;height:auto!important}.admin-weakness-section{min-height:354px}.admin-weakness-list{gap:9px}.admin-weakness-item{grid-template-columns:28px minmax(0,1fr) 116px 42px;min-height:32px}.admin-weakness-rank{background:#5dd2ff14;border-radius:999px;place-items:center;width:22px;height:22px;display:grid}.admin-weakness-bar{height:8px}.admin-right{gap:18px}.admin-section-students{flex:none}.admin-student-list{max-height:190px;padding-right:4px}.admin-student-row{grid-template-columns:minmax(0,1fr) auto;min-height:52px}.admin-student-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-student-row span:not(.admin-student-avg){grid-column:1}.admin-student-avg{background:#5dd2ff14;border-radius:999px;grid-area:1/2/span 2;align-self:center;padding:5px 8px;color:#5dd2ffe0!important}.admin-insight-score{grid-template-columns:auto 1fr;align-items:end;gap:10px;margin-bottom:12px;display:grid}.admin-insight-score strong{color:#62e88e;text-shadow:0 0 18px #62e88e3d;font-family:SFMono-Regular,Consolas,monospace;font-size:38px;font-weight:950;line-height:.95}.admin-insight-score span,.admin-insight-grid span{color:#ffffff7a;font-size:11px;font-weight:850}.admin-insight-grid{gap:8px;display:grid}.admin-insight-grid div{background:#ffffff08;border:1px solid #ffffff12;border-radius:10px;gap:4px;padding:9px 10px;display:grid}.admin-insight-grid strong{color:#ffffffd6;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:850;overflow:hidden}.admin-empty{color:#ffffff8f;text-align:center;border:1px dashed #5dd2ff2e;border-radius:12px;margin:0;padding:18px;font-size:13px;font-weight:750}.admin-detail{background:linear-gradient(#ffffff0b,#ffffff04),#090d13b8;border-radius:16px;margin-top:18px;padding:20px;box-shadow:0 18px 55px #0000003d}.admin-detail h3{align-items:center;gap:10px;margin-bottom:18px;display:flex}.admin-detail h3:before{content:"";background:#62e88e;border-radius:999px;width:8px;height:8px;box-shadow:0 0 14px #62e88ecc}.admin-detail-modules{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}.admin-detail-module{background:#ffffff06;border:1px solid #ffffff12;border-radius:12px;padding:14px}.admin-detail-nodes{grid-template-columns:1fr}@media (width<=1120px){.admin-stats-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stat-wide{grid-column:span 2}.admin-body{grid-template-columns:1fr 1fr}.admin-right{grid-column:span 2;grid-template-columns:1fr 1fr;display:grid}.admin-student-list{max-height:230px}}@media (width<=720px){.admin-page{padding:14px}.admin-header{padding:16px}.admin-stats-bar,.admin-body,.admin-right,.admin-detail-modules{grid-template-columns:1fr}.admin-stat-wide,.admin-right{grid-column:auto}.admin-weakness-item{grid-template-columns:28px minmax(0,1fr) 70px 38px}}.admin-page{background:radial-gradient(at 20% 0,#5dd2ff14 0%,#0000 50%),radial-gradient(at 80% 100%,#62e88e0f 0%,#0000 50%),radial-gradient(#8b5cf60a 0%,#0000 40%),linear-gradient(#080c12 0%,#0a0e16 50%,#0c1018 100%)}.admin-header{background:linear-gradient(135deg,#141e30c7,#0f1624e0);border-color:#5dd2ff26;box-shadow:0 8px 32px #0000004d,0 0 1px #5dd2ff66,inset 0 1px #ffffff0d}.admin-header h1{background:linear-gradient(135deg,#fff 0%,#5dd2fff2 52%,#62e88ee6 100%);letter-spacing:0;text-shadow:0 0 40px #5dd2ff4d;-webkit-background-clip:text;background-clip:text}.admin-student-count{background:#5dd2ff1a;border:1px solid #5dd2ff33;border-radius:999px;padding:6px 14px}.admin-header-actions button{background:linear-gradient(135deg,#ff5e6c33,#ff5e6c1a);border-radius:10px;height:38px;transition:background .25s,border-color .25s,box-shadow .25s,transform .25s}.admin-header-actions button:hover{background:linear-gradient(135deg,#ff5e6c59,#ff5e6c33);transform:translateY(-2px);box-shadow:0 8px 24px #ff5e6c40}.admin-stats-bar{perspective:1000px}.admin-stat{min-height:110px;transform-style:preserve-3d;background:linear-gradient(145deg,#141e30d1,#0c121ef0);border-color:#5dd2ff1f;flex-direction:column;justify-content:center;align-items:flex-start;gap:7px;transition:border-color .35s,box-shadow .35s,transform .35s;display:flex}.admin-stat:first-child:hover{box-shadow:0 12px 40px #5dd2ff2e,0 0 30px #5dd2ff14}.admin-stat:nth-child(2):hover{box-shadow:0 12px 40px #62e88e2e,0 0 30px #62e88e14}.admin-stat:nth-child(3):hover{box-shadow:0 12px 40px #ff5e6c2e,0 0 30px #ff5e6c14}.admin-stat:nth-child(4):hover{box-shadow:0 12px 40px #f0c85a2e,0 0 30px #f0c85a14}.admin-stat:nth-child(5):hover{box-shadow:0 12px 40px #8b5cf62e,0 0 30px #8b5cf614}.admin-stat-icon{background:#ffffff0d;border-radius:12px;place-items:center;width:38px;height:38px;transition:background .25s,transform .25s;display:grid}.admin-stat-icon.students{color:#5dd2ff}.admin-stat-icon.average{color:#62e88e}.admin-stat-icon.weakness{color:#ff5e6c}.admin-stat-icon.modules{color:#f0c85a}.admin-stat-icon.knowledge{color:#8b5cf6}.admin-stat:hover .admin-stat-icon{background:#ffffff14;transform:scale(1.08)rotate(5deg)}.admin-stat:first-child strong{background:linear-gradient(135deg,#5dd2ff,#62e88e);-webkit-background-clip:text;background-clip:text}.admin-stat:nth-child(2) strong{background:linear-gradient(135deg,#62e88e,#a8edbc);-webkit-background-clip:text;background-clip:text}.admin-stat:nth-child(3) strong{background:linear-gradient(135deg,#ff5e6c,#ffb8be);-webkit-background-clip:text;background-clip:text}.admin-stat:nth-child(4) strong{background:linear-gradient(135deg,#f0c85a,#ffe9a8);-webkit-background-clip:text;background-clip:text}.admin-stat:nth-child(5) strong{background:linear-gradient(135deg,#8b5cf6,#c4b5fd);-webkit-background-clip:text;background-clip:text}.admin-section,.admin-detail{background:linear-gradient(145deg,#141e30b8,#0c121ee6);border-radius:20px;transition:border-color .3s,box-shadow .3s,transform .3s;box-shadow:0 4px 24px #0003,0 0 1px #5dd2ff4d,inset 0 1px #ffffff0a}.admin-section:hover,.admin-detail:hover{border-color:#5dd2ff40;box-shadow:0 8px 40px #0000004d,0 0 40px #5dd2ff14,inset 0 1px #ffffff0f}.admin-section h3:before{content:"";background:linear-gradient(#5dd2ffe6,#62e88ecc);border-radius:2px;width:4px;height:20px;display:inline-block}.admin-section h3 small{background:#5dd2ff1a;border-radius:999px;padding:3px 10px}.admin-radar-section{flex-direction:column;align-items:center;display:flex}.admin-radar-canvas{filter:drop-shadow(0 0 20px #5dd2ff26)}.admin-weakness-section{max-height:430px}.admin-weakness-list,.admin-student-list{scrollbar-width:thin;scrollbar-color:#5dd2ff59 #ffffff08}.admin-weakness-list::-webkit-scrollbar{width:4px}.admin-student-list::-webkit-scrollbar{width:4px}.admin-weakness-list::-webkit-scrollbar-track{background:#ffffff08;border-radius:2px}.admin-student-list::-webkit-scrollbar-track{background:#ffffff08;border-radius:2px}.admin-weakness-list::-webkit-scrollbar-thumb{background:#5dd2ff4d;border-radius:2px}.admin-student-list::-webkit-scrollbar-thumb{background:#5dd2ff4d;border-radius:2px}.admin-weakness-item{background:linear-gradient(135deg,#ffffff09,#ffffff03);border:1px solid #ffffff0f;border-radius:12px;grid-template-columns:32px minmax(0,1fr) 112px 48px;min-height:50px;padding:9px 12px;transition:background .25s,border-color .25s,transform .25s}.admin-weakness-rank{color:#ffffffeb;background:linear-gradient(135deg,#ff5e6c4d,#ff5e6c26);border:1px solid #ff5e6c4d;border-radius:8px;width:28px;height:28px}.admin-weakness-item:first-child .admin-weakness-rank{background:linear-gradient(135deg,#ff5e6c80,#ff5e6c4d);box-shadow:0 0 15px #ff5e6c4d}.admin-stat .admin-knowledge-title strong{max-width:100%;font-size:14px}.admin-student-row{background:linear-gradient(135deg,#ffffff08,#ffffff03);border-radius:12px}.admin-student-row:hover{background:linear-gradient(135deg,#5dd2ff14,#5dd2ff08);border-color:#5dd2ff33}.admin-student-row.active{background:linear-gradient(135deg,#5dd2ff26,#62e88e14);border-color:#5dd2ff66;box-shadow:0 4px 20px #5dd2ff26,inset 0 0 20px #5dd2ff0d}.admin-student-avg{border:1px solid #62e88e33;border-radius:8px}.admin-insight-score{text-align:center;background:linear-gradient(145deg,#5dd2ff1a,#62e88e0d);border:1px solid #5dd2ff33;border-radius:16px;justify-content:center;padding:20px}.admin-insight-score strong{background:linear-gradient(135deg,#5dd2ff,#62e88e);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.admin-insight-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-insight-grid div{text-align:center;align-content:start;min-height:82px}.admin-insight-grid .admin-knowledge-title{justify-items:center}.admin-insight-grid .admin-knowledge-title em,.admin-insight-grid .admin-knowledge-title strong{max-width:100%}.admin-detail{padding:28px}.admin-detail h3{border-bottom:1px solid #5dd2ff1f;padding-bottom:16px}.admin-detail-modules{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.admin-detail-module{background:linear-gradient(145deg,#ffffff0a,#ffffff03);border:1px solid #ffffff14;border-radius:16px;padding:20px;transition:border-color .25s,box-shadow .25s,transform .25s}.admin-detail-module:hover{border-color:#5dd2ff33;transform:translateY(-2px);box-shadow:0 4px 20px #5dd2ff14}.admin-detail-module h4{color:#5dd2ffeb;align-items:center;gap:8px;display:flex}.admin-detail-nodes{flex-wrap:wrap;gap:8px;display:flex}.admin-detail-node{border-radius:10px;min-width:0;max-width:100%;padding:8px 12px;display:inline-flex}.admin-detail-node span{align-items:center;gap:6px;max-width:220px;display:inline-flex}.admin-detail-node span em{color:#5dd2ffe0;background:#5dd2ff1a;border-radius:999px;flex:none;padding:2px 6px;font-size:10px;font-style:normal;font-weight:900}@media (width<=1120px){.admin-insight-grid{grid-template-columns:1fr}}@media (width<=720px){.admin-stat{min-height:96px}.admin-weakness-item{grid-template-columns:32px minmax(0,1fr) 64px 42px}.admin-insight-grid{grid-template-columns:1fr}}.admin-page{--admin-bg:#0b0f14;--admin-surface:#11171feb;--admin-surface-2:#171f2ae0;--admin-border:#ffffff1a;--admin-muted:#eaf1f894;--admin-text:#f4f7fb;--admin-cyan:#5dd2ff;--admin-green:#62e88e;--admin-yellow:#f0c85a;--admin-red:#ff5e6c;--admin-indigo:#8fb7ff;background:linear-gradient(180deg, #ffffff06, transparent 260px), linear-gradient(135deg, #5dd2ff12, transparent 34%), linear-gradient(315deg, #f0c85a0d, transparent 32%), var(--admin-bg);min-height:100%;padding:24px clamp(18px,3vw,40px) 40px;overflow-y:auto}.admin-particles{opacity:.34;filter:saturate(.85)}.admin-header,.admin-section,.admin-detail,.admin-stat{border:1px solid var(--admin-border);background:linear-gradient(180deg, #ffffff0e, #ffffff05), var(--admin-surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:8px;box-shadow:0 18px 42px #00000047}.admin-header{justify-content:space-between;align-items:center;gap:18px;min-height:88px;margin-bottom:18px;padding:18px 20px;display:flex}.admin-header:before,.admin-section:before{display:none}.admin-header .auth-kicker{color:var(--admin-cyan);letter-spacing:.04em}.admin-student-count,.admin-header-actions button,.admin-section-toggle{border-radius:6px;place-items:center;min-height:36px;font-size:12px;font-weight:900;display:inline-grid}.admin-student-count{color:#c8f2ff;background:#5dd2ff17;border:1px solid #5dd2ff38;padding:0 13px}.admin-header-actions button,.admin-section-toggle{color:var(--admin-text);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;padding:0 14px;transition:border-color .2s,background .2s,transform .2s}.admin-header-actions button:hover,.admin-section-toggle:hover{box-shadow:none;background:#5dd2ff1a;border-color:#5dd2ff6b;transform:translateY(-1px)}.admin-stats-bar{perspective:none;background:0 0;border:0;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px;padding:0;display:grid}.admin-stat{grid-template-columns:42px 1fr;align-items:center;gap:10px;min-height:96px;padding:16px;display:grid;transform:none}.admin-stat:hover{border-color:#ffffff2e;transform:translateY(-2px);box-shadow:0 20px 46px #00000052}.admin-stat-icon{background:#ffffff12;border-radius:8px;grid-row:1/span 2;width:42px;height:42px}.admin-stat strong,.admin-stat .admin-knowledge-title{min-width:0;color:var(--admin-text);-webkit-text-fill-color:currentColor;background:0 0;font-size:clamp(21px,2.2vw,30px);font-weight:950;line-height:1.05}.admin-stat>span{color:var(--admin-muted);grid-column:2;font-size:12px;font-weight:850}.admin-stat .admin-knowledge-title strong{max-width:100%;color:var(--admin-text);white-space:normal;font-size:13px;line-height:1.35}.admin-section,.admin-detail{padding:18px}.admin-section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.admin-section h3,.admin-detail h3{min-height:28px;color:var(--admin-text);border:0;align-items:center;gap:9px;margin:0;padding:0;font-size:15px;font-weight:950;display:flex}.admin-section h3:before,.admin-detail h3:before{background:var(--admin-cyan);width:7px;height:18px;box-shadow:none;content:"";border-radius:999px;display:block}.admin-section h3 small{color:var(--admin-muted);background:#ffffff0f;border-radius:999px;margin-left:auto;padding:3px 8px;font-size:10px}.admin-radar-section,.admin-weakness-section{align-self:start;min-height:0;max-height:none}.admin-radar-section{grid-area:radar}.admin-weakness-section{grid-area:weakness}.admin-radar-section{align-content:start;justify-items:center;height:360px;display:grid}.admin-radar-canvas{filter:none;margin-top:6px;width:min(292px,100%)!important}.admin-wrong-section{min-height:0}.admin-wrong-item{min-height:52px;color:inherit;background:#ffffff09;border:1px solid #ffffff13;border-radius:8px;grid-template-columns:30px minmax(0,1fr) 74px 94px;align-items:center;gap:10px;padding:9px 10px;text-decoration:none;display:grid}.admin-wrong-item.clickable{cursor:pointer}.admin-wrong-count,.admin-wrong-rate{color:#ffd4d8;white-space:nowrap;background:#ff5e6c1a;border:1px solid #ff5e6c40;border-radius:999px;place-items:center;min-width:0;padding:5px 7px;font-size:11px;font-weight:950;display:inline-grid}.admin-wrong-rate{color:#ffe9a8;background:#f0c85a1a;border-color:#f0c85a40}.admin-weakness-item{background:#ffffff09;border:1px solid #ffffff13;border-radius:8px;grid-template-columns:30px minmax(0,1fr) 104px 42px;align-items:center;gap:10px;min-height:48px;padding:8px 10px;display:grid;transform:none}.admin-weakness-rank{color:#ffd4d8;background:#ff5e6c1f;border:1px solid #ff5e6c47;border-radius:6px;place-items:center;width:26px;height:26px;font-size:12px;font-weight:950;display:grid}.admin-weakness-bar div{border-radius:inherit;height:100%}.admin-weakness-score,.admin-student-avg,.admin-detail-node strong{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.admin-right{grid-area:side;grid-template-rows:auto auto minmax(0,1fr);gap:12px;min-width:0;display:grid}.admin-student-row{text-align:left;cursor:pointer;background:#ffffff09;border:1px solid #ffffff13;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;min-height:58px;padding:10px 12px;display:grid}.admin-student-row:hover,.admin-student-row.active{box-shadow:none;background:#5dd2ff14;border-color:#5dd2ff57}.admin-student-row strong{color:var(--admin-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900;overflow:hidden}.admin-student-row span:not(.admin-student-avg){color:var(--admin-muted);grid-column:1;font-size:11px;font-weight:800}.admin-student-avg{border:1px solid;border-radius:999px;grid-area:1/2/span 2;align-self:center;padding:5px 8px;font-size:11px;font-weight:950}.admin-student-insight{min-height:0}.admin-insight-score{text-align:left;background:#62e88e12;border:1px solid #62e88e2e;border-radius:8px;grid-template-columns:auto 1fr;justify-content:start;align-items:end;gap:10px;margin-bottom:12px;padding:14px;display:grid}.admin-insight-score strong{color:var(--admin-green);-webkit-text-fill-color:currentColor;background:0 0;font-size:42px;line-height:.95}.admin-insight-score span{color:#ceffdead;font-size:12px;font-weight:900}.admin-insight-grid div{text-align:left;background:#ffffff09;border:1px solid #ffffff13;border-radius:8px;gap:5px;min-height:58px;padding:10px 12px;display:grid}.admin-insight-grid span{color:var(--admin-muted);font-size:11px;font-weight:850}.admin-detail .admin-section-heading{margin-bottom:0}.admin-detail .admin-section-heading+.admin-detail-modules,.admin-detail .admin-section-heading+.admin-empty{margin-top:14px}.admin-section-students .admin-empty,.admin-student-insight .admin-empty,.admin-detail>.admin-empty{min-height:64px}.admin-detail-module h4 span,.admin-detail-node span em{color:#bdeeff;background:#5dd2ff1a;border-radius:999px;place-items:center;font-style:normal;font-weight:950;display:inline-grid}.admin-detail-module h4 span{min-width:44px;height:22px;padding:0 8px;font-size:11px}.admin-detail-nodes{gap:7px;display:grid}.admin-detail-node{background:#0000001a;border:1px solid #fff1;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:38px;padding:8px 10px;display:grid}.admin-detail-node:hover{background:#5dd2ff0b;border-color:#5dd2ff2e;transform:none}.admin-detail-node span{color:#f4f7fbd1;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:12px;font-weight:800;display:flex;overflow:hidden}.admin-detail-node span em{flex:none;min-width:38px;height:18px;padding:0 6px;font-size:10px}.admin-knowledge-title em{color:#5dd2ffb8}.admin-knowledge-title strong{color:#f4f7fbe0}@media (width<=1180px){.admin-stats-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stat-wide{grid-column:span 2}.admin-body{grid-template-columns:1fr;grid-template-areas:"radar""weakness""side"}.admin-right{grid-column:1/-1;grid-template-rows:auto;grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.admin-page{padding:14px}.admin-header,.admin-header-actions{flex-direction:column;align-items:stretch}.admin-stats-bar,.admin-body,.admin-right,.admin-detail-modules{grid-template-columns:1fr}.admin-body{grid-template-areas:"radar""weakness""side"}.admin-right{grid-template-rows:auto}.admin-stat-wide,.admin-right{grid-column:auto}.admin-weakness-item{grid-template-columns:30px minmax(0,1fr) 62px 38px;gap:8px}.admin-weakness-bar{width:62px}.admin-wrong-item{grid-template-columns:30px minmax(0,1fr) auto}.admin-wrong-rate{grid-column:2/-1;justify-self:start}}.custom-question-layer{z-index:5;background:linear-gradient(#ffffff08,#fff0),#111318;position:fixed;inset:0;overflow:hidden}.custom-question-home{width:100%;height:100%;padding:92px 206px 34px 28px;overflow-y:auto}.custom-question-hero{gap:10px;max-width:760px;margin-bottom:18px;display:grid}.custom-question-hero span,.custom-question-meta span,.custom-scene-header span{color:#5dd2ffdb;font-size:12px;font-weight:950}.custom-question-hero h2,.custom-scene-header h2{color:#fff;margin:0;font-size:clamp(30px,4vw,50px);font-weight:950;line-height:1.04}.custom-question-hero p{color:#ffffffa8;margin:0;font-size:14px;font-weight:720;line-height:1.65}.custom-chapter-list{gap:10px;max-width:980px;display:grid}.custom-chapter,.custom-section,.custom-scene-header,.custom-scene-question{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#0d1114eb,#11171fe0);border:1px solid #5dd2ff29;border-radius:12px;box-shadow:0 16px 44px #0000005c}.custom-chapter-button{cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;width:100%;min-height:58px;padding:10px 14px;display:grid}.custom-chapter-button strong,.custom-section-title strong{color:#bdeeff;background:#5dd2ff1f;border-radius:8px;place-items:center;font-weight:950;display:grid}.custom-chapter-button strong{width:34px;height:34px}.custom-chapter-button span{color:#fff;font-size:15px;font-weight:900}.custom-chapter-button em{color:#ffffff94;font-size:12px;font-style:normal;font-weight:850}.custom-section-list{gap:8px;padding:0 12px 12px;display:grid}.custom-section{box-shadow:none;background:#ffffff09;border-color:#ffffff14;gap:8px;padding:10px;display:grid}.custom-section.has-questions{background:#62e88e0e;border-color:#62e88e42}.custom-section-title{grid-template-columns:48px 1fr;align-items:center;gap:10px;display:grid}.custom-section-title strong{min-width:46px;height:26px;font-size:12px}.custom-section-title span{color:#ffffffc7;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:820;overflow:hidden}.custom-question-list{gap:7px;display:grid}.custom-question-row{cursor:pointer;text-align:left;background:#ffffff0e;border:1px solid #ffffff1a;border-radius:8px;grid-template-columns:72px 1fr auto;align-items:center;gap:10px;min-height:46px;padding:9px 11px;display:grid}.custom-question-row:hover{background:#5dd2ff17;border-color:#5dd2ff6b}.custom-question-row>span{color:#bdeeff;background:#5dd2ff1f;border-radius:999px;place-items:center;min-height:24px;font-size:11px;font-weight:950;display:grid}.custom-question-row strong{color:#fff;font-size:13px;font-weight:900}.custom-question-row em{color:#ffffff8f;font-size:12px;font-style:normal;font-weight:850}.custom-question-row.correct em{color:#7cf0a5}.custom-question-row.wrong em{color:#ffb2b2}.custom-topic-tile{background:linear-gradient(135deg,#5dd2ff29,#62e88e1a),#161a1f;place-items:center;min-height:78px}.custom-topic-glyph{width:44px;height:34px;display:block;position:relative}.custom-topic-glyph i{background:#5dd2ff;border-radius:4px;width:13px;height:13px;position:absolute;box-shadow:0 0 16px #5dd2ff8f}.custom-topic-glyph i:first-child{top:4px;left:3px}.custom-topic-glyph i:nth-child(2){background:#62e88e;top:1px;right:4px}.custom-topic-glyph i:nth-child(3){background:#f0c85a;bottom:2px;left:17px}.custom-scene{background:#f8fafc;width:100%;height:100%;position:relative}.custom-scene canvas{width:100%!important;height:100%!important}.custom-scene-header{z-index:12;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:min(820px,100vw - 230px);min-height:70px;padding:12px;display:grid;position:absolute;top:18px;left:18px}.custom-scene-header h2{font-size:18px}.custom-scene-header>button,.custom-scene-controls button,.custom-scene-actions button{color:#fff;cursor:pointer;background:#ffffff13;border:1px solid #ffffff24;border-radius:8px;height:34px;padding:0 12px;font-size:12px;font-weight:900}.custom-scene-controls{gap:7px;display:flex}.custom-scene-question{z-index:12;color:#111827;background:#fffffff0;border-color:#ffffff29;gap:10px;width:min(430px,100vw - 230px);max-height:calc(100vh - 130px);padding:14px;display:grid;position:absolute;top:104px;right:190px;overflow-y:auto}.custom-question-meta{align-items:center;gap:8px;display:flex}.custom-question-meta span{color:#1f78c8;background:#e8f2ff;border-radius:999px;padding:3px 8px}.custom-question-meta strong{color:#64748b;font-size:12px}.custom-scene-question p{color:#334155;margin:0;font-size:13px;font-weight:760;line-height:1.55}.custom-scene-question img{object-fit:contain;background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:100%;max-height:170px}.custom-options{gap:7px;display:grid}.custom-options button{color:#334155;cursor:pointer;text-align:left;background:#fff;border:1px solid #dbe4ee;border-radius:8px;grid-template-columns:26px 1fr;align-items:center;gap:8px;min-height:38px;padding:7px 9px;display:grid}.custom-options button strong{color:#1f78c8;background:#eef5ff;border-radius:999px;place-items:center;width:22px;height:22px;font-size:12px;display:grid}.custom-options button.selected{background:#eef9ff;border-color:#5dd2ff}.custom-options button.correct{color:#047857;background:#ecfdf5;border-color:#62d98b}.custom-options button.wrong{color:#be123c;background:#fff1f2;border-color:#ff8a94}.custom-feedback{border-radius:8px;padding:8px 10px;font-size:12px;font-weight:850;line-height:1.45}.custom-feedback.correct{color:#047857;background:#ecfdf5}.custom-feedback.wrong{color:#b45309;background:#fff7ed}.custom-scene-actions{justify-content:flex-end;display:flex}.custom-scene-actions button{color:#334155;background:#fff;border-color:#dbe4ee}.custom-scene-actions button:disabled{cursor:default;opacity:.45}.custom-html-note{color:#334155;text-align:center;background:#ffffffeb;border-radius:8px;width:260px;padding:9px 11px;font-size:12px;font-weight:760;line-height:1.45;box-shadow:0 10px 28px #0f172a2e}@media (width<=820px){.custom-question-home{padding:96px 14px 178px}.custom-scene-header{grid-template-columns:1fr;width:auto;left:12px;right:12px}.custom-scene-controls{flex-wrap:wrap}.custom-scene-question{width:auto;max-height:42vh;inset:auto 12px 120px}.custom-question-row{grid-template-columns:64px 1fr}.custom-question-row em{grid-column:2}}.admin-page{--admin-bg:#f2f5f6;--admin-surface:#fff;--admin-border:#dfe7e9;--admin-text:#183139;--admin-muted:#71848b;--admin-cyan:#287d78;--admin-green:#278564;--admin-red:#c85f64;--admin-yellow:#aa792d;min-height:100%;color:var(--admin-text);background:var(--admin-bg);padding:0;font-family:Inter,PingFang SC,Microsoft YaHei,ui-sans-serif,system-ui,sans-serif;overflow-y:auto}.admin-page *,.admin-page :before,.admin-page :after{box-sizing:border-box}.admin-page button,.admin-page input{font:inherit}.admin-page button:focus-visible,.admin-page a:focus-visible,.admin-page input:focus-visible{outline-offset:3px;outline:2px solid #3b938d}.admin-shell{width:min(1600px,100%);min-height:100vh;margin:0 auto;padding:0 34px 28px}.admin-header{border:0;border-bottom:1px solid var(--admin-border);min-height:96px;box-shadow:none;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe0;border-radius:0;flex-direction:row;justify-content:space-between;align-items:center;gap:24px;margin:0 -34px 30px;padding:18px 34px;display:flex}.admin-brand{align-items:center;gap:16px;min-width:0;display:flex}.admin-brand-logo{object-fit:contain;background:#fff;border-radius:50%;flex:none;width:60px;height:60px;display:block}.admin-eyebrow{color:#54837f;letter-spacing:.14em;margin-bottom:3px;font-size:10px;font-weight:600;display:block}.admin-header h1{color:#29275d;letter-spacing:.06em;text-shadow:none;-webkit-text-fill-color:currentColor;background:0 0;margin:0;font-size:22px;font-weight:700}.admin-brand p,.admin-page-intro p,.admin-panel-heading p,.admin-section-title p{color:var(--admin-muted);margin:4px 0 0;font-size:12px;font-weight:400;line-height:1.5}.admin-brand p{color:#64787e;white-space:nowrap}.admin-brand p span{color:#b1bdc0;margin:0 8px}.admin-header-actions{align-items:center;gap:22px;display:flex}.admin-teacher{align-items:center;gap:10px;display:flex}.admin-avatar,.admin-student-avatar{border-radius:50%;flex:none;place-items:center;font-weight:650;display:grid}.admin-avatar{color:#28736d;background:#e2efed;width:36px;height:36px;font-size:13px}.admin-teacher>span:last-child{gap:2px;display:grid}.admin-teacher strong{color:#31474f;font-size:12px;font-weight:600}.admin-teacher small{color:#83949a;font-size:10px}.admin-logout,.admin-section-toggle,.admin-error button{color:#5a6f76;cursor:pointer;background:#fff;border:1px solid #d5e0e2;border-radius:7px;min-height:34px;padding:0 13px;font-size:12px;font-weight:500;transition:border-color .16s,background .16s,color .16s}.admin-logout:hover,.admin-section-toggle:hover,.admin-error button:hover{color:#226e68;box-shadow:none;background:#f3f9f8;border-color:#80aaa6;transform:none}.admin-page-intro,.admin-section-title{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.admin-page-intro{margin-bottom:20px}.admin-page-intro h2{color:var(--admin-text);letter-spacing:-.02em;margin:0;font-size:23px;font-weight:700}.admin-section-title{margin:30px 0 15px}.admin-section-title h2{color:var(--admin-text);margin:0;font-size:17px;font-weight:650}.admin-course-badge,.admin-panel-badge{color:#687e84;white-space:nowrap;border:1px solid #dbe5e6;border-radius:999px;flex:none;align-items:center;font-size:10px;font-weight:500;display:inline-flex}.admin-course-badge{background:#fff;gap:8px;padding:7px 11px}.admin-course-badge i{background:#38a177;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #e4f3ec}.admin-error{color:#ad5559;background:#fff5f5;border:1px solid #eccfd0;border-radius:9px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:12px 14px;font-size:13px;display:flex}.admin-stats-bar{perspective:none;background:0 0;border:0;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:0;padding:0;display:grid}.admin-stat{border:1px solid var(--admin-border);background:#fff;border-radius:12px;min-width:0;min-height:148px;padding:18px 19px;transition:border-color .16s,box-shadow .16s;display:block;transform:none;box-shadow:0 2px 3px #18313905}.admin-stat:hover{background:#fff;border-color:#bdcecf;transform:none;box-shadow:0 6px 20px #1f3d430d}.admin-stat-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;display:flex}.admin-stat-top>span{color:#637a81;font-size:12px;font-weight:500}.admin-stat-icon{background:#f3f7f7;border-radius:8px;place-items:center;width:31px;height:31px;display:grid}.admin-stat-icon svg{stroke-width:1.7px;width:16px;height:16px}.admin-stat-icon.students{color:#477fa3;background:#eef5f9}.admin-stat-icon.average{color:#2d8768;background:#edf7f2}.admin-stat-icon.weakness{color:#bf6468;background:#fbf0f0}.admin-stat-icon.modules{color:#a67c35;background:#faf5ea}.admin-stat-icon.knowledge{color:#687aa7;background:#f0f2f8}.admin-stat>strong{color:#19343c;font-variant-numeric:tabular-nums;letter-spacing:-.03em;white-space:nowrap;-webkit-text-fill-color:currentColor;background:0 0;font-size:29px;font-weight:650;line-height:1.15;display:block}.admin-stat>strong small{color:#819298;letter-spacing:0;margin-left:6px;font-size:11px;font-weight:450}.admin-stat>p{color:#89999e;text-overflow:ellipsis;white-space:nowrap;margin:10px 0 0;font-size:10px;line-height:1.4;overflow:hidden}.admin-stat .admin-knowledge-title{min-height:34px}.admin-stat .admin-knowledge-title strong{color:#2b424a;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;font-weight:600;line-height:1.45;display:-webkit-box;overflow:hidden}.admin-stat .admin-knowledge-title em{color:#a57878}.admin-body{grid-template-columns:minmax(340px,.9fr) minmax(460px,1.25fr);grid-template-areas:"radar weakness""side side";align-items:start;gap:18px;display:grid}.admin-section,.admin-detail{border:1px solid var(--admin-border);-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-radius:12px;min-width:0;padding:21px;transform:none;box-shadow:0 2px 3px #18313904}.admin-section:hover,.admin-detail:hover{border-color:var(--admin-border);transform:none;box-shadow:0 2px 3px #18313904}.admin-section:before,.admin-detail h3:before,.admin-section h3:before{display:none}.admin-panel-heading,.admin-section-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.admin-panel-heading h3,.admin-section h3,.admin-detail h3{color:#2a4149;border:0;margin:0;padding:0;font-size:15px;font-weight:650;line-height:1.4}.admin-panel-heading p{margin-top:4px;font-size:11px}.admin-panel-badge{background:#f7f9f9;min-height:23px;padding:0 8px}.admin-radar-section{background:#15373a;border-color:#183c40;grid-area:radar;height:408px;min-height:0;display:block}.admin-radar-section:hover{background:#15373a;border-color:#183c40}.admin-radar-section .admin-panel-heading h3{color:#edf7f5}.admin-radar-section .admin-panel-heading p{color:#8dadaa}.admin-radar-section .admin-panel-badge{color:#a9c4c1;background:#1c4144;border-color:#3b5c5e}.admin-radar-wrap{place-items:center;display:grid}.admin-radar-canvas{filter:none;margin:-2px 0 0;width:min(286px,100%)!important;height:auto!important}.admin-radar-wrap>span{color:#8dadaa;align-items:center;gap:7px;margin-top:2px;font-size:10px;display:flex}.admin-radar-wrap>span i{background:#6ccbc2;border-radius:50%;width:7px;height:7px}.admin-weakness-section{grid-area:weakness;height:408px;min-height:0;max-height:none}.admin-weakness-list,.admin-wrong-list,.admin-student-list{scrollbar-width:thin;scrollbar-color:#c4d2d4 transparent;gap:0;display:grid}.admin-weakness-list{max-height:325px;padding-right:5px;overflow-y:auto}.admin-weakness-item{background:0 0;border:0;border-bottom:1px solid #edf1f2;border-radius:0;grid-template-columns:27px minmax(0,1fr) 90px 36px;align-items:center;gap:12px;min-height:50px;padding:7px 0;display:grid;transform:none}.admin-weakness-item:last-child{border-bottom:0}.admin-weakness-item:hover{background:0 0;border-color:#e3eaeb;transform:none}.admin-weakness-rank{color:#87989d;font-variant-numeric:tabular-nums;width:25px;height:25px;box-shadow:none;background:#f1f4f5;border:0;border-radius:6px;place-items:center;font-size:10px;font-weight:550;display:grid}.admin-weakness-item:first-child .admin-weakness-rank{color:#bd5f63;background:#faecec}.admin-knowledge-title{gap:3px;min-width:0;display:grid}.admin-knowledge-title em{color:#87999f;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-style:normal;font-weight:450;line-height:1.3;overflow:hidden}.admin-knowledge-title strong{color:#354e56;text-overflow:ellipsis;white-space:nowrap;-webkit-text-fill-color:currentColor;background:0 0;font-size:12px;font-weight:500;line-height:1.45;overflow:hidden}.admin-weakness-bar{background:#edf1f1;border-radius:99px;height:5px;overflow:hidden}.admin-weakness-bar:after{display:none}.admin-weakness-bar div{border-radius:inherit;height:100%;box-shadow:none}.admin-weakness-score{font-variant-numeric:tabular-nums;text-align:right;font-family:inherit;font-size:12px;font-weight:600}.admin-right{grid-area:side;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr) minmax(0,1fr);gap:18px;min-width:0;display:grid}.admin-right>.admin-section{height:386px}.admin-wrong-list{max-height:296px;padding-right:5px;overflow-y:auto}.admin-wrong-item{min-height:72px;color:inherit;background:0 0;border:0;border-bottom:1px solid #edf1f2;border-radius:0;grid-template-columns:27px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;text-decoration:none;display:grid}.admin-wrong-item.clickable:hover{background:0 0;border-color:#cfe0df}.admin-wrong-item.clickable:hover .admin-wrong-title strong{color:#24756f}.admin-wrong-title{gap:5px;min-width:0;display:grid}.admin-wrong-title em{color:#84979d;font-size:10px;font-style:normal;font-weight:450}.admin-wrong-title strong{color:#354e56;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;line-height:1.45;overflow:hidden}.admin-wrong-count,.admin-wrong-rate{color:#b86266;white-space:nowrap;background:#faeeee;border:0;border-radius:5px;padding:4px 7px;font-size:10px;font-weight:500}.admin-wrong-rate{color:#82969c;background:0 0;grid-column:2/-1;justify-self:start;margin-top:-9px;padding-left:0}.admin-student-search{color:#334d55;background:#f8fafa;border:1px solid #dce6e8;border-radius:7px;outline:none;width:100%;height:38px;margin:-2px 0 10px;padding:0 12px;font-size:12px}.admin-student-search::placeholder{color:#93a3a8}.admin-student-search:focus{background:#fff;border-color:#6ba39e}.admin-student-list{max-height:248px;padding-right:5px;overflow-y:auto}.admin-student-row{min-height:61px;color:inherit;cursor:pointer;text-align:left;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:11px;margin-bottom:4px;padding:9px 10px;transition:border-color .15s,background .15s;display:grid}.admin-student-row:hover{background:#f7fafa;border-color:#dce8e8;transform:none}.admin-student-row.active{box-shadow:none;background:#edf7f5;border-color:#b9d8d4}.admin-student-avatar{color:#637f85;background:#eaf0f1;width:36px;height:36px;font-size:12px}.admin-student-row.active .admin-student-avatar{color:#2c756e;background:#d0e8e3}.admin-student-identity{gap:4px;min-width:0;display:grid}.admin-student-identity strong{color:#314a52;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.admin-student-identity small{color:#85989e;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:400;overflow:hidden}.admin-student-avg{font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:0;grid-area:auto;justify-items:end;gap:3px;padding:0;font-family:inherit;font-size:13px;font-weight:600;display:grid}.admin-student-avg small{color:#8b9ca1;font-size:9px;font-weight:400}.admin-insight-score{text-align:left;background:#f3faf7;border:1px solid #dcebe5;border-radius:9px;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;margin-bottom:13px;padding:17px;display:grid}.admin-insight-score>span{color:#678b7d;font-size:11px;font-weight:500}.admin-insight-score strong{color:#2b8567;font-variant-numeric:tabular-nums;text-shadow:none;-webkit-text-fill-color:currentColor;background:0 0;grid-area:1/2/span 2;font-size:32px;font-weight:650;line-height:1.2}.admin-insight-score small{color:#83a095;font-size:10px}.admin-insight-grid{grid-template-columns:1fr;gap:9px;display:grid}.admin-insight-grid>div{text-align:left;background:#fafbfb;border:1px solid #e6edef;border-radius:8px;gap:6px;min-height:0;padding:11px 12px;display:grid}.admin-insight-grid>div>span{color:#81959b;font-size:10px;font-weight:450}.admin-empty{color:#81959b;text-align:center;background:#fafcfc;border:1px dashed #d6e2e4;border-radius:8px;margin:0;padding:24px 14px;font-size:12px;font-weight:400;line-height:1.6}.admin-collapsed-note{place-items:center;min-height:70px;display:grid}.admin-detail{margin-top:28px;padding:22px}.admin-detail .admin-panel-heading{border-bottom:1px solid #e8eeef;margin-bottom:18px;padding-bottom:17px}.admin-detail-modules{scrollbar-width:thin;scrollbar-color:#c4d2d4 transparent;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:13px;max-height:460px;padding-right:5px;display:grid;overflow-y:auto}.admin-detail-module{background:#fafbfb;border:1px solid #e2e9eb;border-radius:9px;padding:16px;transform:none}.admin-detail-module:hover{box-shadow:none;border-color:#d4e1e2;transform:none}.admin-detail-module h4{color:#3c555d;align-items:center;gap:9px;margin:0 0 13px;font-size:13px;font-weight:600;display:flex}.admin-detail-module h4 span{color:#4b807a;background:#eef6f4;border:1px solid #d5e5e2;border-radius:5px;place-items:center;min-width:44px;height:23px;font-size:10px;font-weight:550;display:inline-grid}.admin-detail-nodes{grid-template-columns:1fr;gap:5px;display:grid}.admin-detail-node{background:#fff;border:0;border-radius:5px;justify-content:space-between;align-items:center;gap:12px;min-width:0;max-width:none;min-height:34px;padding:6px 9px;display:flex;transform:none}.admin-detail-node:hover{background:#f0f6f5;border:0;transform:none}.admin-detail-node span{color:#667e85;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:none;font-size:11px;font-weight:400;line-height:1.45;display:block;overflow:hidden}.admin-detail-node strong{font-variant-numeric:tabular-nums;flex:none;font-family:inherit;font-size:12px;font-weight:600}.admin-footer{color:#94a3a7;justify-content:space-between;gap:16px;padding:25px 2px 0;font-size:10px;display:flex}.admin-loading{min-height:100vh;color:var(--admin-muted);align-content:center;place-items:center;gap:10px;display:grid}.admin-loading strong{color:#314a52;margin-top:10px;font-size:16px;font-weight:550}.admin-loading span{font-size:12px}.admin-loading-spinner{border:2px solid #d9e6e4;border-top-color:#398a83;border-radius:50%;width:32px;height:32px;animation:.9s linear infinite orbit-rotate}@media (width<=1180px){.admin-shell{padding-left:24px;padding-right:24px}.admin-header{margin-left:-24px;margin-right:-24px;padding-left:24px;padding-right:24px}.admin-stats-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-body{grid-template-columns:minmax(300px,.9fr) minmax(390px,1.2fr)}.admin-right{grid-template-columns:1fr 1fr}.admin-student-insight{grid-column:span 2;height:auto!important}.admin-insight-grid{grid-template-columns:1fr 1fr}}@media (width<=900px){.admin-stats-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stat-wide{grid-column:span 2}.admin-body{grid-template-columns:minmax(0,1fr);grid-template-areas:"radar""weakness""side"}.admin-radar-section,.admin-weakness-section{height:auto;min-height:400px}.admin-teacher{display:none}}@media (width<=680px){.admin-shell{padding:0 14px 20px}.admin-header{gap:10px;min-height:80px;margin:0 -14px 24px;padding:15px 14px}.admin-brand{gap:9px}.admin-brand-logo{width:44px;height:44px}.admin-eyebrow{display:none}.admin-header h1{letter-spacing:.03em;font-size:16px}.admin-brand p{margin-top:3px;font-size:9px}.admin-brand p span{margin:0 4px}.admin-header-actions{gap:8px}.admin-logout{white-space:nowrap;min-height:32px;padding:0 10px;font-size:11px}.admin-page-intro{align-items:flex-start;margin-bottom:18px}.admin-page-intro h2{font-size:19px}.admin-course-badge{padding:6px 8px;font-size:9px}.admin-stats-bar{gap:10px}.admin-stat{min-height:139px;padding:14px}.admin-stat-top{margin-bottom:12px}.admin-stat>strong{font-size:25px}.admin-stat>p{font-size:9px}.admin-stat .admin-knowledge-title strong{font-size:12px}.admin-section-title{margin-top:26px}.admin-section,.admin-detail{padding:16px}.admin-body,.admin-right{gap:12px}.admin-right{grid-template-columns:minmax(0,1fr)}.admin-right>.admin-section{height:auto;min-height:0}.admin-student-insight{grid-column:auto}.admin-radar-section{min-height:398px}.admin-weakness-section{min-height:0}.admin-weakness-list{max-height:410px}.admin-wrong-list{max-height:300px}.admin-student-list{max-height:330px}.admin-insight-grid{grid-template-columns:1fr}.admin-detail{margin-top:20px}.admin-detail-modules{grid-template-columns:minmax(0,1fr);max-height:none}.admin-footer{font-size:9px}}@media (width<=390px){.admin-course-badge{display:none}.admin-weakness-item{grid-template-columns:25px minmax(0,1fr) 34px}.admin-weakness-bar{display:none}}@media (prefers-reduced-motion:reduce){.admin-loading-spinner{animation-duration:2s}.admin-page *{transition:none!important}}.institution-brand{align-items:center;gap:12px;min-width:0;display:flex}.institution-brand-logo{object-fit:contain;background:#fff;border-radius:50%;flex:none;width:54px;height:54px}.institution-brand-copy{gap:4px;min-width:0;display:grid}.institution-brand-copy strong{color:#29275d;letter-spacing:.04em;white-space:nowrap;font-size:18px;font-weight:700;line-height:1.3}.institution-brand-copy span{color:#60767c;white-space:nowrap;font-size:11px;font-weight:500;line-height:1.5}.institution-brand-copy i{color:#9aabad;margin:0 7px;font-style:normal}.auth-institution{z-index:3;gap:14px;margin-bottom:8px;position:relative}.auth-institution .institution-brand-logo{filter:drop-shadow(0 4px 12px #0000002e);width:76px;height:76px}.auth-institution .institution-brand-copy strong{color:#fff;letter-spacing:.06em;text-shadow:0 2px 16px #00000047;font-size:26px}.auth-institution .institution-brand-copy span{color:#ffffffbd;font-size:14px}.auth-institution .institution-brand-copy i{color:#ffffff6b}@media (width>=621px) and (width<=1000px){.auth-page{grid-template-columns:minmax(0,1fr);align-content:start}.auth-hero{min-height:650px}.auth-panel{justify-self:center;width:min(100%,560px)}}@media (width<=620px){.auth-institution{gap:10px;margin-bottom:0}.auth-institution .institution-brand-logo{width:48px;height:48px}.auth-institution .institution-brand-copy strong{font-size:18px}.auth-institution .institution-brand-copy span{font-size:11px}.auth-institution .institution-brand-copy i{margin:0 4px}.auth-hero{min-height:480px}.auth-hero-copy{padding:22px}.auth-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.auth-metrics div{min-height:68px;padding:9px}.auth-metrics strong{font-size:24px}.auth-metrics span{font-size:10px;line-height:1.4}}.visit-counter{color:#fff;white-space:nowrap;align-items:baseline;gap:8px;display:flex}.visit-counter-label{color:#ffffffad;font-size:11px;font-weight:500}.visit-counter strong{color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:22px;font-weight:650;line-height:1}.visit-counter small{color:#ffffff94;font-size:10px}.auth-visit-counter{z-index:3;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#080c10a3;border:1px solid #ffffff2e;border-radius:10px;padding:12px 16px;position:absolute;top:clamp(24px,5vw,58px);right:clamp(24px,5vw,58px);box-shadow:0 8px 24px #00000029}.tour-visit-counter{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:none;background:linear-gradient(135deg,#0d1114e0,#141c24d9);border:1px solid #5dd2ff2e;border-radius:10px;padding:9px 12px;position:fixed;top:66px;left:18px;box-shadow:0 8px 24px #0000003d}.tour-visit-counter .visit-counter-label{font-size:10px}.tour-visit-counter strong{font-size:18px}.tour-visit-counter small{font-size:9px}@media (width<=620px){.auth-visit-counter{padding:10px 12px;top:18px;right:18px}.auth-visit-counter .visit-counter-label{font-size:10px}.auth-visit-counter strong{font-size:20px}.auth-visit-counter small{font-size:9px}.tour-visit-counter{padding:8px 10px;top:60px;left:12px}}
