:root{--bg:#13062d;--panel:#241049;--purple:#8f5cff;--pink:#ef55c7;--cyan:#53d7ff;--text:#f9f7ff;--muted:#bdb2d7;--line:rgba(255,255,255,.13);--white:#fff;--shadow:0 28px 80px rgba(5,0,21,.42)}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;color:var(--text);font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;background:radial-gradient(circle at 12% 10%,#492486 0,transparent 34%),radial-gradient(circle at 87% 85%,#283ba3 0,transparent 30%),linear-gradient(135deg,#12062b,#250c4d 52%,#0d1747);overflow-x:hidden}.ambient{position:fixed;border-radius:50%;filter:blur(70px);opacity:.23;pointer-events:none}.ambient-one{width:380px;height:380px;background:#ca49ff;top:25%;left:-180px}.ambient-two{width:300px;height:300px;background:#2ecfff;right:-120px;bottom:10%}.hidden{display:none!important}.topbar{height:82px;max-width:1360px;margin:auto;padding:0 34px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}.brand-mark{width:42px;height:42px;border:1px solid rgba(255,255,255,.45);border-radius:13px;display:grid;place-items:center;font-weight:900;background:linear-gradient(135deg,#b378ff,#4dd7ff);box-shadow:0 10px 30px rgba(112,65,255,.35)}.brand b{display:block;font-size:18px}.brand small{display:block;color:var(--muted);font-size:11px;letter-spacing:1px;margin-top:2px}.top-actions{display:flex;gap:12px;align-items:center}.save-state{font-size:12px;color:#9bdcff}.app-shell{max-width:1320px;margin:auto;padding:20px 34px 60px;position:relative;z-index:1}.landing{display:grid;grid-template-columns:1.04fr .96fr;gap:76px;align-items:center;min-height:calc(100vh - 140px)}.hero{padding:30px 0}.eyebrow{font-size:12px;letter-spacing:2.8px;color:#9fdefe;font-weight:700}.hero h1{font-size:clamp(42px,5.2vw,76px);line-height:1.14;margin:25px 0 22px;letter-spacing:-2px}.hero h1 em{font-style:normal;background:linear-gradient(90deg,#d7a3ff,#52d9ff);-webkit-background-clip:text;color:transparent}.hero>p{max-width:610px;color:var(--muted);font-size:17px;line-height:1.9}.stats{display:flex;gap:35px;margin-top:38px}.stats span{color:var(--muted);font-size:13px;border-left:1px solid var(--line);padding-left:16px}.stats b{display:block;color:#fff;font-size:25px;margin-bottom:3px}.setup-card{background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.055));border:1px solid rgba(255,255,255,.17);backdrop-filter:blur(22px);border-radius:26px;padding:32px;box-shadow:var(--shadow)}.step-label{font-size:12px;letter-spacing:1.4px;color:#bfb2dd;margin:3px 0 12px}.group-grid,.mode-grid{display:grid;gap:10px;margin-bottom:25px}.group-grid{grid-template-columns:repeat(3,1fr)}.mode-grid{grid-template-columns:repeat(3,1fr)}.group-grid button,.mode-grid button{border:1px solid var(--line);background:rgba(15,5,42,.35);color:#fff;border-radius:15px;padding:15px 10px;cursor:pointer;transition:.2s;font:inherit}.group-grid button:hover,.mode-grid button:hover,.group-grid button.active,.mode-grid button.active{border-color:#b988ff;background:rgba(133,78,231,.25);transform:translateY(-2px);box-shadow:0 12px 28px rgba(87,42,163,.24)}.group-grid i{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,#ac6eff,#39caef);margin:0 auto 8px;font-style:normal;font-weight:800}.group-grid b,.mode-grid b{display:block;font-size:14px}.group-grid small,.mode-grid small{display:block;color:var(--muted);margin-top:5px;font-size:11px}.scene-picker,.nickname{display:block;margin:14px 0}.scene-picker label,.nickname span{display:block;font-size:12px;color:var(--muted);margin-bottom:7px}.scene-picker select,.nickname input{width:100%;height:46px;border:1px solid var(--line);background:rgba(9,3,28,.45);border-radius:12px;color:#fff;padding:0 14px;font:inherit;outline:0}.scene-picker select:focus,.nickname input:focus{border-color:#a66fff}.primary,.submit,.ghost{border:0;border-radius:13px;height:48px;padding:0 22px;color:#fff;font:600 14px inherit;cursor:pointer}.primary{width:100%;background:linear-gradient(90deg,#965eff,#347ee8);box-shadow:0 12px 28px rgba(112,66,229,.3);display:flex;align-items:center;justify-content:center;gap:12px}.primary:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}.ghost{background:rgba(255,255,255,.08);border:1px solid var(--line)}.privacy{text-align:center;color:#8e82aa;font-size:11px;margin:13px 0 0}.quiz{display:grid;grid-template-columns:270px 1fr;gap:34px;min-height:calc(100vh - 130px);align-items:start}.quiz-side{position:sticky;top:24px;border:1px solid var(--line);background:rgba(255,255,255,.075);border-radius:22px;padding:24px}.mini-label{font-size:11px;letter-spacing:1px;color:#9edbff}.quiz-side h2{margin:8px 0 5px}.quiz-side p{margin:0;color:var(--muted);font-size:12px}.progress-ring{width:145px;height:145px;margin:24px auto;position:relative}.progress-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.progress-ring circle{fill:none;stroke:rgba(255,255,255,.09);stroke-width:7}.progress-ring #ring{stroke:url("#gradient");stroke:#a475ff;stroke-linecap:round;stroke-dasharray:270;stroke-dashoffset:270;transition:.3s}.progress-ring>div{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.progress-ring b{font-size:30px}.progress-ring span{font-size:13px;color:var(--muted)}.navigator{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;max-height:235px;overflow:auto}.navigator button{aspect-ratio:1;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--muted);border-radius:7px;cursor:pointer}.navigator button.current{border-color:#b188ff;color:#fff}.navigator button.done{background:#7040be;color:#fff}.timer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:17px;margin-top:19px;color:var(--muted);font-size:12px}.timer b{color:#fff;letter-spacing:1px}.question-area{padding-bottom:40px}.scene-card{border-left:3px solid var(--cyan);background:linear-gradient(90deg,rgba(42,183,235,.14),rgba(255,255,255,.045));padding:18px 22px;border-radius:4px 16px 16px 4px;margin-bottom:18px}.scene-card span{font-size:11px;color:#80ddff;font-weight:700}.scene-card p{color:#d7d0e6;line-height:1.75;margin:7px 0 0;font-size:14px}.question-card{background:rgba(255,255,255,.095);border:1px solid var(--line);border-radius:23px;padding:34px;min-height:430px;box-shadow:var(--shadow)}.question-meta{display:flex;gap:10px}.question-meta span{font-size:11px;background:rgba(156,104,255,.2);border:1px solid rgba(183,144,255,.25);padding:6px 10px;border-radius:999px;color:#d6bfff}.question-card h2{font-size:22px;line-height:1.65;margin:22px 0 24px}.options{display:grid;gap:12px}.option{width:100%;display:flex;text-align:left;align-items:flex-start;gap:14px;padding:15px 17px;background:rgba(12,4,32,.33);border:1px solid var(--line);border-radius:14px;color:#f4efff;cursor:pointer;font:15px/1.65 inherit;transition:.18s}.option:hover{border-color:#7556a8;transform:translateX(3px)}.option.selected{border-color:#b77cff;background:linear-gradient(90deg,rgba(139,82,231,.28),rgba(66,167,232,.13))}.option i{font-style:normal;flex:none;width:31px;height:31px;border:1px solid rgba(255,255,255,.2);border-radius:9px;display:grid;place-items:center;font-weight:700}.option.selected i{background:#9562eb;border-color:#9562eb}.quiz-actions{display:flex;gap:12px;margin-top:18px}.quiz-actions .primary,.quiz-actions .submit{width:auto;margin-left:auto}.submit{background:linear-gradient(90deg,#e750b7,#7f5bf2)}.result{min-height:calc(100vh - 150px);display:grid;place-items:center}.result-card{text-align:center;width:min(700px,100%);background:rgba(255,255,255,.09);border:1px solid var(--line);border-radius:28px;padding:45px;box-shadow:var(--shadow)}.result-icon{width:68px;height:68px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#8b5cf6,#36d2dc);font-size:32px}.result h1{margin:15px 0 10px}.result>p,.result-card>p{color:var(--muted)}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:18px;margin:28px 0;overflow:hidden}.result-stats div{padding:20px;border-right:1px solid var(--line)}.result-stats div:last-child{border:0}.result-stats b{display:block;font-size:25px}.result-stats span{display:block;color:var(--muted);font-size:11px;margin-top:4px}.notice{background:rgba(78,205,231,.1);border:1px solid rgba(89,205,233,.2);border-radius:12px;padding:13px;color:#c7eaf4;font-size:12px;line-height:1.7;margin-bottom:20px}.result .primary{max-width:240px;margin:auto}
@media(max-width:900px){.landing{grid-template-columns:1fr;gap:20px;padding-top:20px}.hero{text-align:center}.hero>p{margin-left:auto;margin-right:auto}.stats{justify-content:center}.quiz{grid-template-columns:1fr}.quiz-side{position:static;display:grid;grid-template-columns:1fr auto;align-items:center}.progress-ring{width:90px;height:90px;margin:0}.navigator,.timer{grid-column:1/-1}.navigator{max-height:120px}.hero h1{font-size:48px}}
@media(max-width:600px){.topbar{height:68px;padding:0 18px}.brand small,.save-state{display:none}.app-shell{padding:12px 16px 35px}.landing{min-height:auto}.hero{padding:16px 0}.hero h1{font-size:37px;letter-spacing:-1px;margin:15px 0}.hero>p{font-size:14px;line-height:1.7}.stats{gap:12px;margin-top:24px}.stats span{padding-left:10px}.stats b{font-size:20px}.setup-card{padding:20px;border-radius:20px}.group-grid,.mode-grid{gap:7px}.group-grid button,.mode-grid button{padding:12px 5px}.mode-grid small{font-size:9px}.quiz{gap:15px}.quiz-side{padding:15px}.navigator{display:none}.question-card{padding:22px 17px;min-height:390px}.question-card h2{font-size:18px}.option{padding:12px;font-size:14px}.scene-card{padding:14px}.quiz-actions .ghost,.quiz-actions .primary,.quiz-actions .submit{padding:0 14px}.result-card{padding:30px 17px}.result-stats b{font-size:19px}.result-stats div{padding:16px 6px}}
.group-grid{grid-template-columns:repeat(5,1fr)}
@media(max-width:600px){.group-grid{grid-template-columns:repeat(2,1fr)}}
.mode-grid{grid-template-columns:repeat(2,1fr)}
.mode-grid.with-exam-room{grid-template-columns:repeat(3,1fr)}
.question-images{display:grid;gap:14px;margin:0 0 24px}.question-images a{display:block;width:100%;padding:10px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:#fff;text-align:center}.question-images img{display:block;max-width:100%;max-height:560px;width:auto;height:auto;margin:auto;border-radius:9px;object-fit:contain}
.generated-question-card{width:100%;padding:20px;border:1px solid rgba(37,185,130,.28);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(229,249,239,.92));color:#124936;text-align:center;box-shadow:0 12px 28px rgba(19,112,78,.08)}.visual-card-title{display:block;font-size:14px;letter-spacing:2px;color:#23815f;margin-bottom:14px}.visual-compass{position:relative;width:min(280px,78vw);aspect-ratio:1;margin:0 auto;border:3px solid #65cfa8;border-radius:50%;background:radial-gradient(circle,#fff 0 48%,#e8f8f1 49% 100%);box-shadow:inset 0 0 0 12px rgba(71,199,151,.1)}.visual-compass:before,.visual-compass:after{content:"";position:absolute;background:#b7e8d4}.visual-compass:before{width:2px;top:12%;bottom:12%;left:50%}.visual-compass:after{height:2px;left:12%;right:12%;top:50%}.visual-compass .north,.visual-compass .east,.visual-compass .south,.visual-compass .west{position:absolute;z-index:2;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#fff;border:1px solid #b9e6d5;font-weight:900;font-size:18px}.visual-compass .north{left:50%;top:5%;transform:translateX(-50%)}.visual-compass .south{left:50%;bottom:5%;transform:translateX(-50%)}.visual-compass .east{right:5%;top:50%;transform:translateY(-50%)}.visual-compass .west{left:5%;top:50%;transform:translateY(-50%)}.visual-robot{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);font-size:58px;filter:drop-shadow(0 5px 6px rgba(16,91,65,.18))}.visual-facing-arrow{position:absolute;z-index:4;left:50%;top:17%;transform-origin:50% 33%;font-size:48px;line-height:1;color:#0d9a69;font-weight:900}.visual-turn{display:inline-flex;margin-top:14px;padding:9px 16px;border-radius:999px;background:#dff6ec;color:#087a54;font-weight:800;font-size:15px}.visual-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.visual-option-grid>div{min-height:78px;padding:12px;border:1px solid #c8eadc;border-radius:14px;background:#fff;display:flex;align-items:center;gap:12px;text-align:left}.visual-option-grid i{flex:none;width:32px;height:32px;border-radius:9px;background:#e1f7ee;color:#16835e;display:grid;place-items:center;font-style:normal;font-weight:900}.visual-option-grid span{font-size:18px;font-weight:700;line-height:1.45}
@media(max-width:600px){.generated-question-card{padding:15px;border-radius:17px}.visual-compass{width:min(240px,72vw)}.visual-option-grid{grid-template-columns:1fr}.visual-option-grid>div{min-height:62px}.visual-option-grid span{font-size:17px}}
.check-btn{border:0;border-radius:13px;height:48px;padding:0 22px;color:#fff;font:600 14px inherit;cursor:pointer;background:linear-gradient(90deg,#20b7d6,#507cf4);box-shadow:0 12px 26px rgba(51,151,224,.22)}
.check-btn:disabled{opacity:.55;cursor:wait}
.option:disabled{cursor:default;opacity:1}
.option:disabled:hover{transform:none}
.option.correct{border-color:#43d5a0;background:linear-gradient(90deg,rgba(44,196,143,.27),rgba(53,145,213,.12))}
.option.correct i{background:#24a975;border-color:#43d5a0}
.option.incorrect{border-color:#f16b91;background:linear-gradient(90deg,rgba(220,70,118,.24),rgba(83,61,150,.14))}
.option.incorrect i{background:#bd3e68;border-color:#f16b91}
.answer-panel{margin-top:22px;padding:18px 20px;border-radius:15px;border:1px solid rgba(255,255,255,.16);background:rgba(11,4,34,.38);line-height:1.7}
.answer-panel.correct{border-color:rgba(67,213,160,.55);background:rgba(32,151,111,.14)}
.answer-panel.incorrect{border-color:rgba(241,107,145,.55);background:rgba(192,54,99,.13)}
.answer-panel.study{border-color:rgba(83,215,255,.55);background:rgba(58,142,204,.14)}
.answer-status{font-size:17px;font-weight:800;margin-bottom:9px}
.answer-panel.correct .answer-status{color:#74efc1}
.answer-panel.incorrect .answer-status{color:#ff91b0}
.answer-panel.study .answer-status{color:#81e4ff}
.answer-panel p{margin:6px 0;color:#ddd5ee;font-size:14px}
.ai-teacher{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12)}
.ai-teacher-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.ai-teacher-head>div{display:flex;flex-direction:column;gap:2px}.ai-teacher-head span{font-size:11px;color:#79ddff;letter-spacing:1.5px}.ai-teacher-head b{font-size:15px;color:#fff}.ai-teacher button{border:1px solid rgba(113,214,255,.35);background:rgba(81,117,231,.22);color:#eaf8ff;border-radius:999px;padding:9px 13px;cursor:pointer}.ai-teacher button:hover{background:rgba(81,161,231,.35)}.ai-teacher button:disabled{opacity:.55;cursor:wait}.ai-teacher-body{margin-top:13px;padding:15px;border-radius:12px;background:rgba(17,9,55,.48);color:#f1edf9;font-size:14px;line-height:1.85;white-space:pre-wrap}.ai-teacher-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}.ai-teacher-actions button{font-size:12px;padding:7px 11px}
.wrong-review{margin:24px 0 22px;text-align:left}.wrong-review-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:13px}.wrong-review-heading h2{margin:6px 0 0;font-size:21px}.wrong-review-heading>b{padding:7px 12px;border-radius:999px;background:rgba(245,87,139,.16);border:1px solid rgba(255,113,158,.35);color:#ff9dbc;font-size:13px}.wrong-review-list{display:grid;gap:13px;max-height:620px;overflow:auto;padding-right:4px}.wrong-review-item{border:1px solid rgba(244,104,149,.4);border-left:4px solid #ec6795;border-radius:15px;background:rgba(14,5,38,.48);padding:18px}.wrong-review-meta{color:#ff9fbd;font-size:11px;font-weight:700;letter-spacing:.4px}.wrong-review-item h3{font-size:16px;line-height:1.65;margin:9px 0 14px}.wrong-review-item p{margin:7px 0;font-size:13px;line-height:1.7;color:#ddd5ea}.wrong-answer-mine b{color:#ff9ab9}.wrong-answer-correct b{color:#73e7bc}.wrong-answer-explanation{border-top:1px solid rgba(255,255,255,.1);padding-top:10px}.wrong-answer-explanation b{color:#8bdfff}.wrong-review-images{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 13px}.wrong-review-images img{max-width:180px;max-height:150px;border-radius:10px;border:1px solid var(--line);background:#fff;object-fit:contain}
@media(max-width:600px){.check-btn{padding:0 14px}.answer-panel{padding:15px}.mode-grid{grid-template-columns:repeat(2,1fr)}.wrong-review-item{padding:15px}.wrong-review-list{max-height:none}.wrong-review-heading h2{font-size:18px}.wrong-review-images img{max-width:100%}.ai-teacher-head{align-items:flex-start;flex-direction:column}.ai-teacher-head>button{width:100%}}
@media(max-width:600px){.mode-grid.with-exam-room{grid-template-columns:1fr}}
.user-badge{font-size:13px;color:#d9d2e9}.admin-link{color:#9bddff;text-decoration:none;font-size:13px}.auth-gate{min-height:calc(100vh - 140px);display:grid;grid-template-columns:1fr minmax(360px,500px);gap:80px;align-items:center}.auth-intro h1{font-size:clamp(48px,6vw,82px);line-height:1.1;margin:22px 0}.auth-intro h1 em{font-style:normal;background:linear-gradient(90deg,#d7a3ff,#52d9ff);-webkit-background-clip:text;color:transparent}.auth-intro>p{max-width:610px;color:var(--muted);font-size:17px;line-height:1.9}.auth-points{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.auth-points span{padding:9px 13px;border:1px solid var(--line);border-radius:999px;color:#d8cff0;font-size:12px;background:rgba(255,255,255,.05)}.auth-card{background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(22px);border-radius:26px;padding:30px;box-shadow:var(--shadow)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:rgba(7,2,24,.35);padding:5px;border-radius:14px;margin-bottom:24px}.auth-tabs button{height:42px;border:0;border-radius:10px;color:var(--muted);background:transparent;cursor:pointer;font:600 14px inherit}.auth-tabs button.active{color:#fff;background:linear-gradient(90deg,rgba(145,88,245,.8),rgba(56,127,227,.8))}.auth-form{display:grid;gap:15px}.auth-form label{display:block}.auth-form label span{display:block;color:#c8bddc;font-size:12px;margin-bottom:7px}.auth-form input,.auth-form select{width:100%;height:47px;border:1px solid var(--line);border-radius:12px;background:rgba(8,3,28,.5);color:#fff;padding:0 14px;outline:0;font:14px inherit}.auth-form select option{color:#111}.auth-form input:focus,.auth-form select:focus{border-color:#a872ff}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-message{min-height:20px;margin:0;text-align:center;color:#ff9fbd;font-size:12px}.locked-message{text-align:center;padding:18px}.locked-message b{font-size:22px}.locked-message p{color:var(--muted);line-height:1.8}.locked-message .ghost{margin-top:10px}.auth-form .primary:disabled{opacity:.55}.top-actions .ghost{height:38px;padding:0 14px;font-size:12px}
@media(max-width:900px){.auth-gate{grid-template-columns:1fr;gap:25px;padding-top:30px}.auth-intro{text-align:center}.auth-intro>p{margin-left:auto;margin-right:auto}.auth-points{justify-content:center}}
@media(max-width:600px){.auth-gate{padding-top:12px}.auth-intro h1{font-size:42px;margin:14px 0}.auth-intro>p{font-size:14px}.auth-card{padding:20px;border-radius:20px}.form-row{grid-template-columns:1fr}.user-badge,.admin-link{display:none}.top-actions{gap:7px}.top-actions .ghost{padding:0 10px}}
.auth-tabs{grid-template-columns:repeat(3,1fr)}
.verification-heading{padding:15px 16px;border:1px solid rgba(83,215,255,.25);border-radius:14px;background:rgba(38,142,190,.12)}.verification-heading b{font-size:18px}.verification-heading p{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.75}.auth-form .consent-check{display:flex;align-items:flex-start;gap:9px;padding:3px 1px}.auth-form .consent-check input{width:17px;height:17px;flex:none;margin:2px 0 0}.auth-form .consent-check span{margin:0;line-height:1.6}
.identity-hint{margin:-5px 0 0;padding:9px 11px;border:1px solid rgba(83,215,255,.2);border-radius:10px;background:rgba(45,154,211,.09);color:#a9dff5;font-size:11px;line-height:1.65}.identity-hint.error{border-color:rgba(255,100,142,.42);background:rgba(177,34,81,.12);color:#ffb2c8}.identity-hint.ok{border-color:rgba(80,230,176,.35);background:rgba(30,160,113,.1);color:#a9f2d4}.auth-form option:disabled{color:#999}
.required-star{font-style:normal;color:#ff4f6d;font-weight:800;margin-right:4px}.registration-section{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:0 0 11px;border-bottom:1px solid rgba(255,255,255,.14)}.registration-section b{font-size:16px}.registration-section small{color:#ff9fb1;font-size:10px;text-align:right;line-height:1.5}.auth-form select{white-space:nowrap;text-overflow:ellipsis}.auth-card:has(#registerForm:not(.hidden)){margin:30px 0}
.brand-mark{width:48px;font-size:11px;letter-spacing:.5px}.platform-gate{min-height:calc(100vh - 140px);padding:35px 0 60px}.platform-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:34px}.platform-heading h1{font-size:clamp(38px,5vw,66px);margin:16px 0 13px}.platform-heading p{max-width:760px;color:var(--muted);line-height:1.8;margin:0}.platform-summary{display:grid;grid-template-columns:auto auto;gap:2px 14px;flex:none;border:1px solid var(--line);background:rgba(255,255,255,.06);padding:17px 22px;border-radius:17px}.platform-summary b{font-size:25px;color:#82ddff}.platform-summary span{font-size:12px;color:var(--muted);align-self:center}.platform-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.platform-card{min-height:145px;text-align:left;display:grid;grid-template-columns:54px 1fr;grid-template-rows:1fr auto;gap:8px 15px;padding:22px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.04));color:#fff;cursor:pointer;transition:.22s;position:relative;overflow:hidden}.platform-card:before{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-55px;top:-55px;background:var(--card-glow,#6942b0);filter:blur(22px);opacity:.2}.platform-card:hover{transform:translateY(-4px);border-color:rgba(167,126,255,.58);box-shadow:0 18px 38px rgba(4,0,22,.28)}.platform-card i{grid-row:1/3;width:52px;height:52px;border-radius:15px;display:grid;place-items:center;font-style:normal;font-size:22px;font-weight:900;background:linear-gradient(135deg,#9a62ef,#397fe1);border:1px solid rgba(255,255,255,.28)}.platform-card span b{display:block;font-size:17px;line-height:1.4}.platform-card span small{display:block;color:var(--muted);font-size:11px;margin-top:6px;line-height:1.5}.platform-card em{font-style:normal;font-size:11px;color:#8e82a9}.platform-card.live{border-color:rgba(84,216,255,.55);background:linear-gradient(145deg,rgba(76,116,226,.26),rgba(116,63,187,.18));--card-glow:#44cfff}.platform-card.live i{background:linear-gradient(135deg,#7754ed,#42c8ef)}.platform-card.live em{color:#75e5ff;font-weight:700}.platform-card.pending{opacity:.78}.platform-card.attention{animation:platformPulse .5s ease}@keyframes platformPulse{50%{border-color:#ef66c8;transform:scale(.985)}}.platform-notice{text-align:center;color:#9edcff;font-size:12px;margin:22px 0 0;min-height:18px}
@media(max-width:1000px){.platform-grid{grid-template-columns:repeat(2,1fr)}.platform-heading{align-items:flex-start}.platform-summary{margin-top:30px}}
@media(max-width:650px){.platform-gate{padding-top:18px}.platform-heading{display:block;text-align:center}.platform-heading p{font-size:13px}.platform-summary{display:inline-grid;margin:22px auto 0}.platform-grid{grid-template-columns:1fr;gap:11px}.platform-card{min-height:115px;padding:17px}.platform-card i{width:46px;height:46px}.platform-card span b{font-size:15px}.platform-notice{line-height:1.6}.brand-mark{width:42px}.brand b{font-size:15px}}
.contact-choice{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 15px;border:1px solid rgba(83,215,255,.3);border-radius:14px;background:rgba(52,139,202,.11)}.contact-choice b,.contact-choice small{display:block}.contact-choice small{margin-top:5px;color:#a9dff5;font-size:11px}.secondary.compact{flex:none;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;padding:9px 14px;cursor:pointer}.secondary.compact.active{border-color:#7ddfff;background:rgba(68,162,226,.22)}.optional-contact-fields{display:grid;gap:15px;padding:14px;border:1px dashed rgba(255,255,255,.2);border-radius:14px}.auth-form .same-contact{display:flex;align-items:center;gap:9px;color:#d8cff0;font-size:12px}.auth-form .same-contact input{width:17px;height:17px;flex:none}.auth-form .same-contact span{margin:0}@media(max-width:600px){.contact-choice{align-items:flex-start}.contact-choice small{line-height:1.55}}
.renewal-card{text-align:center}.renewal-badge{display:inline-flex;padding:7px 12px;border:1px solid rgba(255,157,195,.45);border-radius:999px;background:rgba(211,63,121,.14);color:#ffb1cf;font-size:12px;font-weight:700}.renewal-card h2{margin:16px 0 10px;font-size:24px}.renewal-card>p{margin:0 auto 18px;max-width:430px;color:var(--muted);font-size:13px;line-height:1.75}.renewal-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0 0 18px}.renewal-choice{padding:15px 12px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.07);color:#fff;cursor:pointer;transition:.2s}.renewal-choice:hover,.renewal-choice.active{border-color:#78ddff;background:linear-gradient(135deg,rgba(139,82,239,.3),rgba(50,137,231,.3));box-shadow:0 10px 24px rgba(12,5,45,.2)}.renewal-choice b,.renewal-choice small{display:block}.renewal-choice b{font-size:14px}.renewal-choice small{margin-top:6px;color:#c6bddb;font-size:11px}.renewal-service>p{margin:0 auto 14px;max-width:430px;color:var(--muted);font-size:12px;line-height:1.7}.service-qr-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:0 0 18px}.service-qr-grid figure{margin:0;padding:12px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.07)}.service-qr-grid img{display:block;width:100%;aspect-ratio:1;object-fit:contain;border-radius:10px;background:#fff}.service-qr-grid figcaption{margin-top:8px;color:#dcd4eb;font-size:12px}.renewal-form{text-align:left}.renewal-logout{margin-top:4px}.renewal-card .form-message{text-align:center}@media(max-width:600px){.renewal-card h2{font-size:21px}.renewal-choice-grid{grid-template-columns:1fr;gap:9px}.service-qr-grid{gap:9px}.service-qr-grid figure{padding:8px}.renewal-card>p{font-size:12px}}
.text-button{border:0;background:transparent;color:#8fdcff;font:12px inherit;cursor:pointer;padding:3px;text-align:center}.text-button:hover{color:#fff;text-decoration:underline}.password-reset-card{text-align:center}.password-reset-card h2{font-size:25px;margin:17px 0 9px}.password-reset-card>p{color:var(--muted);font-size:13px;line-height:1.75;margin:0 0 20px}.password-reset-card .auth-form{text-align:left}.password-reset-card .reset-error{padding:13px;border:1px solid rgba(255,101,145,.4);border-radius:12px;background:rgba(180,46,89,.12);color:#ffb1c8}.reset-link-button{text-decoration:none}.form-message.success{color:#8cf0c9}

/* 逻辑模方：薄荷绿独立视觉 */
:root{--bg:#eefaf3;--panel:#fff;--purple:#2eae77;--pink:#72cfa4;--cyan:#36bd85;--text:#163b2c;--muted:#5f7d6f;--line:rgba(23,92,62,.15);--shadow:0 28px 70px rgba(31,112,76,.14)}
html{background:var(--bg)}body{color:var(--text);background:radial-gradient(circle at 8% 6%,#c9f2dc 0,transparent 34%),radial-gradient(circle at 92% 90%,#ccefe8 0,transparent 32%),linear-gradient(135deg,#f6fff9,#e6f7ed 52%,#e9f8f4)}
.ambient-one{background:#77d7a9}.ambient-two{background:#79d9c9}.brand{color:#164a34}.brand-mark{color:#fff;background:linear-gradient(135deg,#77d9aa,#24a871);border-color:rgba(28,118,78,.18);box-shadow:0 10px 28px rgba(45,166,111,.22)}.brand small,.user-badge{color:#5d7e6e}.admin-link,.save-state,.text-button{color:#19875b}
.eyebrow,.mini-label{color:#21885d}.hero h1,.auth-intro h1,.platform-heading h1,.result h1{color:#153b2c}.hero h1 em,.auth-intro h1 em{background:linear-gradient(90deg,#208f61,#48c393);-webkit-background-clip:text;color:transparent}.hero>p,.auth-intro>p,.platform-heading p,.quiz-side p,.result>p,.result-card>p,.auth-form label span,.step-label,.scene-picker label,.nickname span{color:var(--muted)}
.auth-points span,.stats span{color:#416d59;background:rgba(255,255,255,.52)}.stats b{color:#174c36}.setup-card,.auth-card,.quiz-side,.question-card,.result-card{background:rgba(255,255,255,.84);border-color:rgba(38,126,85,.16);box-shadow:var(--shadow);backdrop-filter:blur(20px)}
.group-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.group-grid button,.mode-grid button{background:#f6fcf8;color:#184530;border-color:rgba(34,121,80,.16)}.group-grid button:hover,.mode-grid button:hover,.group-grid button.active,.mode-grid button.active{border-color:#4bb889;background:#e4f7ed;box-shadow:0 12px 25px rgba(52,145,101,.14)}.group-grid i{background:linear-gradient(135deg,#70d7a5,#2bae76);color:#fff}.group-grid small,.mode-grid small{color:#688576}
.trial-notice{margin:14px 0;padding:14px 16px;border:1px solid rgba(42,163,107,.22);border-radius:13px;background:#edf9f3;color:#315f49}.trial-notice b{display:block;color:#1f865a}.trial-notice p{margin:5px 0 0;font-size:12px;line-height:1.7;color:#5d7d6d}.invite-details{margin:0 0 14px;border:1px solid rgba(31,113,76,.16);border-radius:12px;background:#f8fcfa}.invite-details summary{padding:12px 14px;cursor:pointer;color:#237b56;font-weight:600}.invite-details label{padding:0 14px 14px}.school-search-hint{display:block;margin-top:6px;color:#648071;font-size:11px;line-height:1.6}
.primary{background:linear-gradient(90deg,#55c88f,#249f6b);box-shadow:0 12px 26px rgba(36,159,107,.22)}.submit{background:linear-gradient(90deg,#52c991,#2aaf87)}.ghost{color:#275b43;background:rgba(255,255,255,.7);border-color:rgba(31,107,72,.18)}.auth-tabs{background:#edf8f2}.auth-tabs button{color:#668274}.auth-tabs button.active{color:#fff;background:linear-gradient(90deg,#58c990,#2eaa75)}
.auth-form input,.auth-form select,.scene-picker select,.nickname input{background:#fbfefc;color:#173d2d;border-color:rgba(34,113,77,.18)}.auth-form input:focus,.auth-form select:focus,.scene-picker select:focus,.nickname input:focus{border-color:#42b782;box-shadow:0 0 0 3px rgba(66,183,130,.1)}.registration-section{border-color:rgba(28,102,69,.14)}.registration-section small{color:#3c8e68}.identity-hint,.verification-heading{background:#edf9f3;border-color:rgba(48,155,105,.2);color:#39765a}.verification-heading p{color:#668173}
.platform-summary{background:rgba(255,255,255,.72);border-color:rgba(32,112,76,.16)}.platform-summary b{color:#249e69}.platform-summary span{color:#628070}.platform-grid{grid-template-columns:1fr}.platform-card{min-height:170px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(218,246,231,.84));color:#17432f;border-color:rgba(37,132,87,.2)}.platform-card:hover{border-color:#43b57f;box-shadow:0 20px 45px rgba(41,133,90,.14)}.platform-card i,.platform-card.live i{background:linear-gradient(135deg,#6ed6a3,#2bac75);color:#fff}.platform-card span small{color:#668274}.platform-card em,.platform-card.live em,.platform-notice{color:#258b60}.platform-card.live{border-color:rgba(52,176,119,.5);background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(214,245,228,.9));--card-glow:#61cf9a}
.scene-card{background:linear-gradient(90deg,rgba(52,185,126,.13),rgba(255,255,255,.65));border-left-color:#36b97f}.scene-card span{color:#1f8e60}.scene-card p{color:#456c59}.question-meta span{color:#237c57;background:#e5f6ed;border-color:#bee8d1}.question-card h2{color:#183f2f}.option{color:#214b38;background:#f8fcfa;border-color:rgba(32,108,74,.15)}.option:hover{border-color:#55b888}.option.selected{border-color:#42b27c;background:linear-gradient(90deg,#e0f5e9,#f5fcf8)}.option.selected i{background:#31a973;border-color:#31a973;color:#fff}
.progress-ring circle{stroke:rgba(29,100,68,.1)}.progress-ring #ring{stroke:#34ad77}.progress-ring b{color:#174631}.navigator button{background:#f7fcf9;color:#668274;border-color:rgba(30,103,70,.15)}.navigator button.current{border-color:#3cb07a;color:#174631}.navigator button.done{background:#3aaa77;color:#fff}.timer{color:#678273}.timer b{color:#174631}.answer-panel{background:#f5fbf7;color:#254d3b;border-color:rgba(31,109,73,.15)}.answer-panel p{color:#3e6754}.ai-teacher-body{background:#edf8f2;color:#234b39}.notice{background:#e7f7ef;border-color:#bce7d0;color:#316b50}.privacy{color:#6f897c}
@media(max-width:600px){.brand b{font-size:16px}.platform-card{min-height:145px}.auth-intro h1{font-size:39px}.group-grid{grid-template-columns:1fr}.group-grid button{display:grid;grid-template-columns:40px 1fr;column-gap:10px;text-align:left}.group-grid i{grid-row:1/3;margin:0}.group-grid small{margin-top:2px}}
.question-meta{align-items:center;flex-wrap:wrap}.question-speech{margin-left:auto;border:1px solid rgba(45,166,111,.28);border-radius:999px;background:#e7f7ef;color:#197a52;padding:7px 13px;font:700 12px inherit;cursor:pointer;transition:.18s}.question-speech:hover{background:#d7f2e5;border-color:#37ad78;transform:translateY(-1px)}.question-speech:disabled{opacity:.6;cursor:wait;transform:none}@media(max-width:600px){.question-speech{width:100%;margin:5px 0 0;padding:10px 13px;text-align:center}}
.modal-open{overflow:hidden}.profile-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:22px}.profile-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(14,54,38,.42);backdrop-filter:blur(8px);cursor:default}.profile-card{position:relative;width:min(560px,100%);max-height:calc(100vh - 44px);overflow:auto;padding:28px;border:1px solid rgba(37,139,92,.2);border-radius:24px;background:rgba(255,255,255,.97);box-shadow:0 30px 90px rgba(17,82,54,.28);color:#173e2d}.profile-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.profile-heading h2{margin:8px 0 0;font-size:27px}.profile-close{width:38px;height:38px;flex:none;border:1px solid rgba(33,113,76,.15);border-radius:50%;background:#edf8f2;color:#256c4d;font:28px/1 inherit;cursor:pointer}.profile-description{margin:15px 0 20px;color:#628070;font-size:13px;line-height:1.75}.profile-tip{margin:-4px 0 0;color:#6b8578;font-size:11px;line-height:1.6}.profile-card .form-message.success{color:#19865b}.profile-card .primary:disabled{opacity:.58}@media(max-width:600px){.profile-modal{padding:12px;align-items:end}.profile-card{padding:22px 18px;border-radius:22px 22px 14px 14px}.profile-heading h2{font-size:23px}.top-actions #profileBtn{display:inline-flex}}
