:root{--navy:#17395f;--navy2:#0d2745;--blue:#2979c9;--blue2:#eaf4fc;--mist:#f3f7fa;--line:#dce6ee;--text:#21364a;--muted:#6d8090;--gold:#c79a42;--gold-soft:#fbf4e6;--green:#2d8b6f;--red:#c74f55;--white:#fff;--shadow:0 14px 40px rgba(23,57,95,.09);--radius:18px}
*{box-sizing:border-box}body{margin:0;background:var(--mist);color:var(--text);font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}.hidden{display:none!important}.overline{margin:0 0 8px;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}.muted{color:var(--muted)}
.login-screen{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(390px,.75fr);background:linear-gradient(135deg,#10345b,#1e6098 58%,#7f9eb8);padding:clamp(24px,5vw,80px);gap:6vw;align-items:center}.login-visual{color:#fff;max-width:760px;position:relative}.login-visual h1{font-size:clamp(48px,7vw,90px);line-height:1.06;margin:12px 0 22px;letter-spacing:-3px}.login-visual h1 span{color:#dbefff}.login-visual>p:not(.overline){font-size:20px;color:#d5e4f1}.login-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:35px}.login-tags span{border:1px solid rgba(255,255,255,.3);padding:9px 16px;border-radius:999px;background:rgba(255,255,255,.08)}.classroom-qr-card{display:flex;align-items:center;gap:16px;margin-top:22px;width:min(100%,460px);padding:13px 18px 13px 13px;border:1px solid rgba(255,255,255,.25);border-radius:18px;background:rgba(255,255,255,.11);backdrop-filter:blur(8px)}.classroom-qr-card img{width:112px;height:112px;border-radius:11px;background:#fff;padding:6px}.classroom-qr-card b,.classroom-qr-card small{display:block}.classroom-qr-card b{font-size:18px}.classroom-qr-card small{margin-top:8px;color:#d8e8f4;line-height:1.55}.route-line{display:flex;gap:50px;width:240px;border-top:2px solid rgba(255,255,255,.35);margin-bottom:35px}.route-line i{width:14px;height:14px;background:#fff;border:4px solid #4f82ac;border-radius:50%;margin-top:-8px}.login-card{background:#fff;padding:38px;border-radius:26px;box-shadow:0 30px 80px rgba(0,20,50,.25);display:grid;gap:18px}.brand-lockup{display:flex;align-items:center;gap:12px}.brand-lockup b,.brand-lockup small{display:block}.brand-lockup b{font-size:20px}.brand-lockup small{margin-top:4px;color:var(--muted)}.brand-symbol{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,var(--blue),var(--navy));color:#fff;font-size:22px;font-weight:800;box-shadow:0 10px 24px rgba(41,121,201,.3)}label{display:grid;gap:8px;font-size:14px;font-weight:700}input,textarea,select{width:100%;border:1px solid var(--line);background:#fff;border-radius:11px;padding:12px 14px;color:var(--text);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(41,121,201,.12)}textarea{resize:vertical;min-height:110px;line-height:1.65}.primary-btn,.ghost-btn,.success-btn{border:0;border-radius:11px;padding:11px 17px;font-weight:700}.primary-btn{background:linear-gradient(135deg,var(--blue),#1767ae);color:#fff;box-shadow:0 8px 18px rgba(41,121,201,.22)}.ghost-btn{background:#fff;border:1px solid var(--line);color:var(--navy)}.success-btn{background:#e8f5f0;color:var(--green)}.login-card>.primary-btn{padding:14px}.form-error{min-height:20px;margin:0;color:var(--red);font-size:14px}.demo-accounts{border-top:1px solid var(--line);padding-top:16px;display:flex;gap:7px;flex-wrap:wrap}.demo-accounts strong{width:100%;font-size:12px;color:var(--muted)}.demo-accounts button{border:1px solid var(--line);background:var(--mist);border-radius:8px;padding:7px 10px;color:var(--navy)}
.app-shell{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--navy2),#153a63);padding:22px 16px;color:#fff;display:flex;flex-direction:column;z-index:20}.sidebar-brand{padding:0 8px 22px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-brand b{font-size:18px}.sidebar-brand small{color:#a9c1d6}.sidebar nav{display:grid;gap:5px;padding:20px 0;overflow:auto}.sidebar nav button{border:0;border-radius:11px;background:transparent;color:#b9cad9;text-align:left;padding:11px 13px;display:flex;align-items:center;gap:12px}.sidebar nav button span{width:23px;text-align:center;font-size:18px}.sidebar nav button.active,.sidebar nav button:hover{background:rgba(255,255,255,.11);color:#fff}.system-card{margin-top:auto;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:13px;padding:13px}.system-card>div{display:flex;align-items:center;gap:8px;font-size:13px}.system-card i,.status-pill i{width:8px;height:8px;border-radius:50%;background:#aab8c5}.system-card i.online,.status-pill i.ready{background:#5fd0a4;box-shadow:0 0 0 4px rgba(95,208,164,.12)}.system-card i.offline,.status-pill i.warn{background:#eab65d}.system-card small{display:block;margin-top:7px;color:#93aec4;line-height:1.45}.main{min-width:0}.topbar{height:78px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;gap:18px;position:sticky;top:0;z-index:15;backdrop-filter:blur(10px)}.class-heading{display:grid;gap:3px}.class-heading span{font-size:12px;color:var(--muted)}.class-heading b{font-size:18px;color:var(--navy)}.top-actions{margin-left:auto;display:flex;align-items:center;gap:13px}.status-pill{display:flex;align-items:center;gap:8px;background:#f6f9fb;padding:8px 12px;border-radius:999px;font-size:12px;color:var(--muted)}.user-chip{display:flex;align-items:center;gap:9px}.user-chip>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--blue2);color:var(--blue);font-weight:800}.user-chip b,.user-chip small{display:block}.user-chip small{color:var(--muted);font-size:11px;margin-top:2px}.icon-btn{border:0;background:transparent;color:var(--navy);font-size:19px}.menu-button{display:none}.status-banner{margin:18px 28px 0;border:1px solid #ead5a8;background:var(--gold-soft);border-radius:12px;padding:11px 15px;display:flex;gap:12px;align-items:center;font-size:13px}.status-banner b{color:#8b6629}.status-banner span{color:#7d6c4f}.content{padding:24px 28px 50px;max-width:1500px;margin:0 auto}.toast{position:fixed;top:18px;left:50%;transform:translate(-50%,-20px);opacity:0;pointer-events:none;background:var(--navy2);color:#fff;border-radius:11px;padding:12px 18px;z-index:200;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:var(--red)}
.hero-card{background:linear-gradient(120deg,#fff 0 62%,#e7f2fa 62%);border:1px solid var(--line);border-radius:var(--radius);padding:36px 40px;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr 220px;align-items:center;overflow:hidden;position:relative}.hero-card:after{content:"AI";position:absolute;right:33px;bottom:-46px;font-size:190px;font-weight:900;color:rgba(41,121,201,.055)}.hero-card h2{font-size:34px;color:var(--navy);margin:0 0 12px}.hero-card p:not(.overline){color:var(--muted);margin:0 0 22px}.hero-progress{display:grid;place-items:center;z-index:1}.progress-ring{--progress:0deg;width:145px;height:145px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--blue) var(--progress),#dce8f0 0);position:relative}.progress-ring:after{content:"";position:absolute;inset:12px;background:#f5fafc;border-radius:50%}.progress-ring span{z-index:1;font-size:28px;font-weight:800;color:var(--navy);text-align:center}.progress-ring small{display:block;font-size:12px;color:var(--muted);font-weight:400}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.metric-grid article{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px 20px;box-shadow:0 7px 20px rgba(23,57,95,.045)}.metric-grid span,.metric-grid small{display:block;color:var(--muted);font-size:12px}.metric-grid b{display:block;font-size:28px;color:var(--navy);margin:7px 0 4px}.two-col{display:grid;grid-template-columns:1.4fr .8fr;gap:16px;margin:18px 0}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 7px 22px rgba(23,57,95,.055)}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:18px}.panel-head h3{margin:0;color:var(--navy)}.panel-head>span{color:var(--muted);font-size:12px}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700;white-space:nowrap}.badge.blue{background:var(--blue2);color:var(--blue)}.badge.gold{background:var(--gold-soft);color:#936c2c}.badge.green{background:#e7f4ef;color:var(--green)}.badge.gray{background:#edf1f4;color:#7f8e99}.task-card{display:grid;grid-template-columns:44px 1fr auto;gap:13px;align-items:center;background:#f7fafc;border:1px solid var(--line);padding:14px;border-radius:13px}.task-card>span{width:42px;height:42px;border-radius:11px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800}.task-card b,.task-card small{display:block}.task-card small{color:var(--muted);margin-top:5px}.task-card button{border:0;background:var(--blue);color:#fff;border-radius:9px;padding:9px 14px}.five-loop{display:grid;align-content:start}.five-loop>div:not(.panel-head){display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid #eef2f5;font-size:13px}.five-loop i{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--blue2);color:var(--blue);font-style:normal;font-weight:800}.route-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.route-card{display:flex;gap:13px;background:#f8fbfd;border:1px solid var(--line);border-radius:14px;padding:16px}.route-card>span{font-size:25px;font-weight:900;color:#bed2e1}.route-card h4{margin:10px 0 4px;color:var(--navy)}.route-card p{font-size:13px;margin:0 0 6px}.route-card small{color:var(--muted)}.route-card.locked{opacity:.6}
.page-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.page-intro h2{margin:0 0 8px;color:var(--navy);font-size:29px}.page-intro p:not(.overline){margin:0;color:var(--muted);line-height:1.6}.chapter-list{display:grid;gap:13px}.chapter-panel{display:grid;grid-template-columns:70px 1fr auto;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 6px 18px rgba(23,57,95,.045)}.chapter-panel.locked{opacity:.62}.chapter-no{font-size:34px;color:#b9cede;font-weight:900}.chapter-copy h3{margin:11px 0 7px;color:var(--navy)}.chapter-copy h3 span{font-weight:400}.chapter-copy p{margin:0;color:var(--muted)}.learning-loop-mini{display:flex;gap:6px;flex-wrap:wrap;margin-top:13px}.learning-loop-mini span{font-size:11px;background:#f0f5f8;border-radius:6px;padding:5px 8px}.chapter-action button{border:1px solid var(--line);padding:10px 15px;border-radius:9px}.search-toolbar{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:16px}.search-toolbar button{border:0;background:var(--navy);color:#fff;border-radius:10px;padding:0 22px}.empty-state{text-align:center;background:#fff;border:1px dashed #cbd9e4;border-radius:var(--radius);padding:50px 25px;color:var(--muted)}.empty-state>span{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:var(--blue2);color:var(--blue);font-size:26px}.empty-state h3{color:var(--navy);margin:0 0 8px}.empty-state p{margin:0;line-height:1.6}.notice-card{margin-top:16px;border-left:4px solid var(--blue);border-radius:10px;background:#edf6fd;padding:14px 16px}.notice-card.warning{border-left-color:var(--gold);background:var(--gold-soft)}.notice-card b{color:var(--navy)}.notice-card p{margin:6px 0 0;color:var(--muted);line-height:1.6}
.prompt-workbench{max-width:970px;margin:0 auto;display:grid;gap:17px}.step-title{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:18px}.step-title:first-child{border-top:0;padding-top:0}.step-title i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--navy);color:#fff;font-style:normal;font-weight:800}.step-title b,.step-title small{display:block}.step-title small{color:var(--muted);margin-top:3px}.form-row{display:grid;grid-template-columns:.45fr 1fr;gap:14px}.form-actions{display:flex;justify-content:flex-end;gap:10px}.coach-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px}.scenario-picker{padding:16px;max-height:670px;overflow:auto}.scenario-picker h3{margin:3px 5px}.scenario-picker>p{font-size:12px;margin:5px 5px 13px}.scenario-option{width:100%;border:1px solid transparent;background:transparent;border-radius:11px;padding:10px;display:grid;grid-template-columns:33px 1fr;text-align:left;gap:9px;align-items:center}.scenario-option>span{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:#eef4f8;color:var(--navy);font-size:12px;font-weight:800}.scenario-option b,.scenario-option small{display:block}.scenario-option small{color:var(--muted);margin-top:3px}.scenario-option.active{border-color:var(--blue);background:var(--blue2)}.chat-panel{padding:0;overflow:hidden;min-height:570px}.chat-empty{height:100%;min-height:570px;display:grid;place-items:center;align-content:center;text-align:center;padding:30px}.chat-empty>span{font-size:45px;color:var(--blue)}.chat-empty h3{margin:10px 0}.chat-empty p{color:var(--muted)}.chat-settings{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0 18px;text-align:left}.chat-head{padding:17px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.chat-head b,.chat-head small{display:block}.chat-head small{color:var(--muted);margin-top:3px}.messages{height:400px;overflow:auto;padding:22px;display:grid;align-content:start;gap:16px;background:#f7fafc}.message{display:flex;gap:9px;max-width:80%}.message>span{flex:0 0 34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:12px}.message p{margin:0;background:#fff;border:1px solid var(--line);border-radius:4px 14px 14px 14px;padding:11px 13px;line-height:1.65}.message.learner{margin-left:auto;flex-direction:row-reverse}.message.learner>span{background:var(--blue)}.message.learner p{background:#e7f2fb;border-color:#cadfec;border-radius:14px 4px 14px 14px}.chat-compose{padding:15px;border-top:1px solid var(--line)}.chat-compose textarea{min-height:76px}.chat-compose>div{display:flex;gap:9px;align-items:center;margin-top:9px}.chat-compose small{margin-right:auto;color:var(--muted)}.review-text{max-width:850px;margin:0 auto}.review-text>p{line-height:1.8}.review-text>.primary-btn{margin-top:17px}
.exam-sheet{max-width:900px;margin:auto}.exam-warning{background:var(--gold-soft);border:1px solid #ead5a8;border-radius:11px;padding:12px 14px;display:flex;gap:12px;margin-bottom:18px}.exam-warning span{color:#7b6a4c}.exam-sheet fieldset{border:0;border-bottom:1px solid var(--line);padding:18px 0;margin:0}.exam-sheet legend{font-weight:700;color:var(--navy)}.exam-sheet fieldset label{display:flex;grid-template:none;align-items:center;gap:9px;margin-top:10px;background:#f8fafc;border:1px solid transparent;padding:10px;border-radius:9px}.exam-sheet fieldset input{width:auto}.exam-result{text-align:center;margin-top:17px;background:#eef7f3;padding:18px;border-radius:12px}.exam-result b{font-size:32px;color:var(--green)}.exam-result p{margin:5px 0;color:var(--muted)}.sandbox-map{display:grid;gap:12px}.sandbox-map article{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;display:grid;grid-template-columns:52px 1fr auto;gap:15px;align-items:center}.gate-index{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:var(--navy);color:#fff;font-size:20px;font-weight:800}.sandbox-map h3{margin:7px 0 3px}.sandbox-map p{margin:0;color:var(--muted)}.sandbox-map button{border:1px solid var(--line);border-radius:9px;padding:9px 13px}.records{margin-top:0}.teacher-grid form{display:grid;gap:13px}.scenario-table{display:grid}.scenario-table>div{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.scenario-table>div>span{font-weight:800;color:#9bb0c0}.scenario-table b,.scenario-table small{display:block}.scenario-table small{color:var(--muted);margin-top:3px}.upload-list>div{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:12px;border-top:1px solid var(--line);padding:11px 0}.upload-list span{color:var(--muted);font-size:12px}
.projection-screen{position:fixed;inset:0;background:radial-gradient(circle at 80% 10%,#255f93,#102b4c 55%,#091d34);color:#fff;z-index:100;padding:4vh 5vw;overflow:auto}.projection-screen header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:22px}.projection-screen header small{color:#9fc2df}.projection-screen header h1{margin:6px 0 0;font-size:34px}.projection-screen .ghost-btn{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}.projection-hero{text-align:center;padding-top:6vh}.projection-hero>p{color:#9fc2df}.projection-hero h2{font-size:clamp(32px,4vw,60px);margin:10px 0 5vh}.projection-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1000px;margin:auto}.projection-metrics article{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:28px}.projection-metrics b{display:block;font-size:42px}.projection-metrics small{font-size:20px;color:#bad1e4}.projection-metrics span{color:#bad1e4}.projection-task{max-width:1000px;margin:25px auto 0;background:linear-gradient(135deg,rgba(52,142,215,.3),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.15);padding:24px;border-radius:20px}.projection-task small{color:#8fd1ff}.projection-task h3{font-size:28px;margin:8px}.projection-note{color:#95afc4;font-size:14px}
@media(max-width:1100px){.metric-grid,.route-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.coach-layout{grid-template-columns:280px 1fr}.status-pill{display:none}}
@media(max-width:780px){.login-screen{grid-template-columns:1fr;padding:22px}.login-visual{display:none}.app-shell{display:block}.sidebar{position:fixed;left:-250px;width:238px;transition:.2s}.sidebar.open{left:0;box-shadow:15px 0 40px rgba(0,0,0,.22)}.topbar{height:68px;padding:0 14px}.menu-button{display:block}.class-heading span{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-actions{gap:5px}.top-actions>.ghost-btn,.user-chip div{display:none}.status-banner{margin:12px 14px 0;align-items:flex-start;flex-direction:column;gap:4px}.content{padding:18px 14px 40px}.hero-card{grid-template-columns:1fr;padding:27px 22px;background:#fff}.hero-card h2{font-size:27px}.hero-progress{display:none}.metric-grid{grid-template-columns:repeat(2,1fr);gap:9px}.metric-grid article{padding:14px}.metric-grid b{font-size:23px}.route-grid{grid-template-columns:1fr}.page-intro{display:block}.page-intro>.badge{margin-top:10px}.chapter-panel{grid-template-columns:48px 1fr}.chapter-action{grid-column:2}.learning-loop-mini{display:none}.form-row{grid-template-columns:1fr}.coach-layout{grid-template-columns:1fr}.scenario-picker{max-height:280px}.chat-panel{min-height:520px}.chat-empty{min-height:520px}.message{max-width:94%}.chat-compose>div{flex-wrap:wrap}.chat-compose small{width:100%}.sandbox-map article{grid-template-columns:45px 1fr}.sandbox-map button{grid-column:2}.projection-metrics{grid-template-columns:1fr}.upload-list>div{grid-template-columns:1fr auto}.upload-list .badge{display:none}}
@media(max-width:430px){.metric-grid{grid-template-columns:1fr 1fr}.task-card{grid-template-columns:40px 1fr}.task-card button{grid-column:2}.chapter-no{font-size:24px}.chapter-copy h3{font-size:17px}.chat-settings{grid-template-columns:1fr}.topbar .icon-btn:last-child{display:none}}
.source-content-list{margin-top:18px;display:grid;gap:8px}.source-content-list details,.prompt-template-grid details,.policy-card details{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.source-content-list summary,.prompt-template-grid summary,.policy-card summary{cursor:pointer;padding:12px 14px;font-weight:700}.source-content{padding:0 14px 14px;color:var(--muted)}.source-content p{line-height:1.75}.source-content small,.case-card small,.prompt-template-body small{display:block;margin-top:10px;color:var(--muted)}.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.case-card{position:relative}.case-code{color:var(--red);font-weight:800;letter-spacing:.08em;font-size:13px}.case-card>p{line-height:1.75;color:var(--text)}.case-task{padding:12px 14px;border-radius:12px;background:var(--cream);display:grid;gap:6px;margin:14px 0}.prompt-library{margin-bottom:18px}.prompt-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.prompt-template-body{padding:0 14px 14px}.prompt-template-body pre{white-space:pre-wrap;font:inherit;line-height:1.7;padding:14px;border-radius:12px;background:#f6f4ef;max-height:340px;overflow:auto}.policy-card{margin-bottom:14px}.policy-card>div{margin-bottom:12px}.policy-clauses{max-height:560px;overflow:auto;padding:0 14px 14px}.policy-clauses p{margin:0;padding:11px 0;border-bottom:1px solid var(--line);line-height:1.7}.policy-clauses p b{margin-right:6px}.policy-clauses small{display:block;color:var(--muted)}.exam-sheet fieldset>small{display:block;margin-top:10px;color:var(--muted)}
@media(max-width:780px){.case-grid,.prompt-template-grid{grid-template-columns:1fr}.source-content-list{grid-column:1/-1}.policy-clauses{max-height:420px}}
.chapter-objective{display:grid;gap:5px;margin:14px 0;padding:13px 15px;border-left:4px solid var(--blue);border-radius:10px;background:var(--blue2)}.chapter-objective small{color:var(--muted)}.chapter-directory{margin:16px 0;padding:15px 18px;border:1px solid var(--line);border-radius:13px;background:#f8fbfd}.chapter-directory ol{margin:10px 0 0;padding-left:22px;display:grid;gap:7px;color:var(--muted)}.outline-content-list{display:grid;gap:13px}.outline-block{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.outline-block header{display:flex;align-items:center;gap:12px;padding:15px 17px;background:linear-gradient(90deg,#edf6fd,#fff)}.outline-block header>span{font-size:24px;font-weight:900;color:#a9c4d9}.outline-block header small,.outline-block header h4{display:block;margin:0}.outline-block header small{font-size:11px;color:var(--blue)}.outline-block ul{margin:0;padding:16px 22px 10px 42px;display:grid;gap:10px}.outline-block li{line-height:1.65;padding-left:4px}.outline-block li::marker{color:var(--blue);font-weight:800}.full-content{margin:0 17px 16px;border-top:1px dashed var(--line);padding-top:10px}.full-content summary{cursor:pointer;color:var(--blue);font-size:13px;font-weight:700}.full-content p{color:var(--muted);line-height:1.75}.chapter-review{display:grid;gap:7px;margin-top:15px;padding:14px 16px;border-radius:12px;background:var(--gold-soft)}.chapter-review span{font-size:13px;color:#776744}.training-guide,.challenge-strip{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:11px 18px;border-bottom:1px solid var(--line);background:#eef7fd;font-size:13px}.training-guide b{color:var(--navy)}.training-guide span{border-radius:999px;background:#fff;padding:5px 9px;color:var(--blue)}.challenge-strip{background:var(--gold-soft)}.challenge-strip b{color:#8a6428}.challenge-strip span{color:#776744}.challenge-rules{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.challenge-rules article{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fff}.challenge-rules b{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--navy);color:#fff}.sandbox-map article small{display:block;margin-top:7px;color:var(--muted);line-height:1.55}.install-help{margin:0}.install-help p{margin:7px 0 0}.install-card>.primary-btn{width:100%;padding:14px}
@media(max-width:780px){.chapter-panel{align-items:start}.chapter-directory,.outline-content-list,.chapter-review{grid-column:1/-1}.challenge-rules{grid-template-columns:1fr 1fr}.training-guide{align-items:flex-start}.outline-block ul{padding-left:34px}}
.interview-mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.interview-mode-grid article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 6px 18px rgba(23,57,95,.045)}.interview-mode-grid article.featured{border-color:#8bbde5;background:linear-gradient(145deg,#fff,#edf7ff)}.interview-mode-grid i{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--blue2);color:var(--blue);font-style:normal;font-weight:900}.interview-mode-grid h3{margin:12px 0 6px;color:var(--navy)}.interview-mode-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.chat-head-status{display:flex;align-items:center;gap:10px}.chat-head-status strong{font-variant-numeric:tabular-nums;color:var(--navy);font-size:18px}.chat-head-status strong.expired{color:var(--red)}.interview-finish{display:flex;justify-content:space-between;align-items:center}.interview-score-hero{background:linear-gradient(135deg,var(--navy),#246aa7);color:#fff;border-radius:20px;padding:26px 30px;display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.interview-score-hero>div{display:flex;align-items:baseline;gap:6px}.interview-score-hero b{font-size:56px}.interview-score-hero small{display:block;margin-left:10px;color:#c8dced}.interview-score-hero p{color:#d7e7f4}.dimension-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.dimension-grid article{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px}.dimension-grid article>div{display:flex;justify-content:space-between;gap:8px}.dimension-grid strong{color:var(--blue)}.dimension-grid progress{width:100%;height:8px;margin:12px 0;accent-color:var(--blue)}.dimension-grid p{font-size:12px;line-height:1.6;color:var(--muted)}.panel blockquote{margin:12px 0;padding:14px 16px;background:#f5f8fa;border-left:4px solid var(--blue);border-radius:9px}.panel blockquote small{display:block;color:var(--muted);margin-top:7px}.report-history{display:grid;gap:9px}.report-history details{border:1px solid var(--line);border-radius:12px}.report-history summary{display:flex;justify-content:space-between;padding:13px;cursor:pointer}.report-history summary strong{color:var(--blue)}.report-history details>div{padding:0 13px 13px}.report-history p{display:grid;grid-template-columns:150px 1fr;gap:12px;border-top:1px solid var(--line);padding-top:10px}.report-history p span,.report-history small{color:var(--muted)}
@media(max-width:1000px){.dimension-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.interview-mode-grid{grid-template-columns:1fr}.interview-score-hero{align-items:flex-start;display:block}.interview-score-hero p{margin-bottom:0}.dimension-grid{grid-template-columns:1fr}.report-history p{grid-template-columns:1fr;gap:4px}}
.teacher-interviews{display:grid;gap:10px}.teacher-interviews article{display:grid;grid-template-columns:minmax(180px,1fr) 70px minmax(280px,1.5fr) auto;gap:12px;align-items:center;border-top:1px solid var(--line);padding:12px 0}.teacher-interviews b,.teacher-interviews small{display:block}.teacher-interviews small{color:var(--muted);margin-top:4px}.teacher-interviews>article>strong{font-size:20px;color:var(--blue)}.teacher-interviews article>div:nth-child(3){display:flex;gap:5px;flex-wrap:wrap}.teacher-interviews article>div:nth-child(3) span{font-size:11px;background:#eef4f8;border-radius:6px;padding:5px 7px}
@media(max-width:900px){.teacher-interviews article{grid-template-columns:1fr auto}.teacher-interviews article>div:nth-child(3){grid-column:1/-1}.teacher-interviews article>button,.teacher-interviews article>.badge{grid-column:1/-1;justify-self:start}}

.interview-capabilities{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:14px 0}.interview-capabilities span{padding:7px 10px;border-radius:999px;background:#eef7f5;color:#176b5c;font-size:12px;font-weight:700}.privacy-copy{display:block;max-width:520px;margin:13px auto 0;color:var(--muted);line-height:1.55}.interview-studio{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.72fr);gap:12px;padding:14px;background:linear-gradient(135deg,#102d4a,#174b69);color:#fff}.candidate-camera{position:relative;min-height:170px;border-radius:14px;overflow:hidden;background:#091c2d;border:1px solid rgba(255,255,255,.16)}.candidate-camera video{display:block;width:100%;height:100%;min-height:170px;max-height:230px;object-fit:cover;transform:scaleX(-1)}.camera-placeholder{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:5px;background:radial-gradient(circle at 50% 25%,#254f6d,#10283d)}.camera-placeholder.hidden{display:none}.camera-placeholder span{width:55px;height:55px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);font-size:25px}.camera-placeholder small,.virtual-interviewer small{color:#b8d2e4}.camera-label{position:absolute;left:9px;bottom:8px;padding:4px 7px;border-radius:6px;background:rgba(0,0,0,.55);font-size:10px}.virtual-interviewer{width:100%;color:#fff;font:inherit;border-radius:14px;display:grid;place-items:center;align-content:center;text-align:center;gap:7px;background:linear-gradient(145deg,rgba(41,126,162,.62),rgba(15,41,66,.8));border:1px solid rgba(255,255,255,.15);cursor:pointer}.virtual-interviewer:hover,.virtual-interviewer:focus-visible{border-color:#83d6e6;box-shadow:0 0 0 3px rgba(94,204,222,.18);outline:0}.ai-face{position:relative;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#41b8d6,#2075ae);box-shadow:0 0 0 8px rgba(92,196,216,.09),0 0 28px rgba(78,192,218,.28)}.ai-face i{position:absolute;inset:-5px;border:2px solid rgba(134,232,236,.58);border-radius:50%;animation:aiPulse 1.8s ease-in-out infinite}.ai-face span{font-size:21px;font-weight:900}.media-controls{grid-column:1/-1;display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.media-controls .ghost-btn{color:#e9f6fb;border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.06)}.voice-input-btn{border:1px solid #a9c9d8;background:#eff7fa;color:#184b66;padding:10px 13px;border-radius:9px;font-weight:700}.voice-input-btn.listening{background:#ffe9e5;border-color:#e59384;color:#a63829;animation:listenPulse 1.15s ease-in-out infinite}@keyframes aiPulse{50%{transform:scale(1.1);opacity:.45}}@keyframes listenPulse{50%{box-shadow:0 0 0 5px rgba(210,72,55,.12)}}

@media(max-width:780px){.interview-studio{grid-template-columns:1fr 1fr}.candidate-camera,.candidate-camera video{min-height:145px}.virtual-interviewer{min-height:145px}.chat-panel .messages{height:300px}.media-controls button{font-size:12px;padding:8px}}

.manager-login{border-top:1px solid var(--line);padding-top:14px}.manager-login summary{cursor:pointer;color:var(--navy);font-weight:700}.manager-login label{margin-top:13px}.manager-login button{width:100%;margin-top:14px}
.brand-symbol{background:#1677ff}.install-entry{text-align:center;color:var(--blue);font-weight:700;text-decoration:none}.install-entry:hover{text-decoration:underline}
.install-page{min-height:100vh;padding:24px;display:grid;place-items:center;background:linear-gradient(145deg,#edf7fb,#dceaf4)}.install-card{width:min(680px,100%);background:#fff;border:1px solid var(--line);border-radius:26px;padding:clamp(24px,5vw,44px);box-shadow:var(--shadow)}.install-card>img{width:88px;height:88px;border-radius:20px}.install-card h1{color:var(--navy);margin:12px 0 22px}.address-box{display:grid;grid-template-columns:1fr auto;gap:8px;padding:15px;border-radius:14px;background:var(--mist);margin-bottom:16px}.address-box small{grid-column:1/-1;color:var(--muted)}.address-box b{overflow-wrap:anywhere;align-self:center}.install-card>.primary-btn{width:100%;margin:12px 0}.install-steps{display:grid;gap:10px;margin:18px 0}.install-steps article{border:1px solid var(--line);border-radius:13px;padding:14px}.install-steps article b{color:var(--navy)}.install-steps article p{color:var(--muted);line-height:1.65;margin:6px 0 0}.back-link{display:block;text-align:center;text-decoration:none}.install-card>#installMessage{text-align:center}
.classroom-qr{display:grid;place-items:center;text-align:center;gap:7px;margin:0 auto 20px}.classroom-qr img{width:min(300px,78vw);height:auto;border:10px solid #fff;border-radius:16px;box-shadow:0 8px 28px rgba(13,39,69,.12)}.classroom-qr b{color:var(--navy);font-size:18px}.classroom-qr small{color:var(--muted)}
.apk-download{display:block;width:100%;margin:14px 0 7px;padding:15px;text-align:center;text-decoration:none}.apk-note{text-align:center;color:var(--muted);font-size:13px;line-height:1.6}.web-install-btn{width:100%;margin:8px 0 12px;padding:13px}
@media(max-width:520px){.install-page{width:100%;padding:12px;grid-template-columns:minmax(0,1fr);place-items:start stretch;overflow-x:hidden}.install-card{width:100%;max-width:100%;min-width:0;padding:20px 16px;border-radius:20px;overflow:hidden}.install-card>*{min-width:0;overflow-wrap:anywhere}.install-card>img{width:72px;height:72px}.install-card h1{font-size:24px}.classroom-qr img{width:min(260px,100%);border-width:7px}.address-box{grid-template-columns:minmax(0,1fr)}.address-box small{grid-column:1}.address-box b{min-width:0}.address-box button{width:100%}}
