@import"https://fonts.googleapis.com/css2?family=Noto+Serif:wght@400;600&display=swap";:root{--navy: #123c6b;--blue: #1a5b9c;--blue-deep: #0e3159;--blue-soft: #eaf2fb;--blue-line: #c9dcf0;--gold: #d6a84b;--bg: #f4f7fb;--card: #ffffff;--text: #1b2b3d;--muted: #6b7c8f;--border: #dde5ee;--red: #c8413c;--green: #2c7a58;--shadow: 0 2px 10px rgba(19, 55, 96, .07);--shadow-lg: 0 14px 40px rgba(19, 55, 96, .13)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Segoe UI,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border-radius:8px;border:1px solid var(--border);background:#fff;color:var(--text);font-weight:600;font-size:14px;transition:.18s ease}.btn:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-1px)}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue-deep);color:#fff}.btn.ghost{background:transparent}.btn.large{padding:14px 30px;font-size:16px}.btn.block{display:flex;width:100%;margin-top:16px}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.text-btn{border:0;background:none;color:var(--blue);font-size:14px;padding:6px}.text-btn:hover{text-decoration:underline}.icon-btn{border:0;background:none;color:var(--muted);font-size:22px;line-height:1;padding:2px 8px}.boot{min-height:100vh;display:grid;place-content:center;text-align:center;gap:14px;color:var(--muted)}.boot-mark,.brand-mark{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--navy);color:var(--gold);font-weight:800;font-size:20px;font-family:Georgia,serif}.boot-mark{width:52px;height:52px;font-size:30px;margin:0 auto}.gate-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(140deg,#eef4fb,#f8fafd 60%,#fdf6e9)}.gate-card{width:min(430px,100%);background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);padding:38px 36px}.gate-brand{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:800;color:var(--navy)}.gate-card h1{font-size:25px;margin:26px 0 8px}.gate-sub{color:var(--muted);margin:0 0 24px;font-size:14px}.gate-card form{display:flex;gap:10px}.gate-card input,.auth-panel input{flex:1;min-width:0;padding:11px 13px;border:1px solid var(--border);border-radius:8px;outline:none}.gate-card input:focus,.auth-panel input:focus,.search:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1a5b9c1f}.gate-foot{color:var(--muted);font-size:12px;margin:26px 0 0;text-align:center}.form-error{color:var(--red);font-size:13px;margin:10px 0 0}.site-header{height:64px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:28px;padding:0 32px;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:9px;font-weight:800;color:var(--navy);font-size:18px}.site-nav{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--muted)}.site-nav a{color:var(--text);font-weight:600}.nav-muted{color:var(--muted)}.header-right{margin-left:auto;display:flex;align-items:center;gap:12px}.user-chip{background:var(--blue-soft);color:var(--blue);padding:5px 12px;border-radius:20px;font-size:13px;font-weight:600}.auth-panel{position:absolute;right:32px;top:66px;z-index:30;width:320px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);padding:18px}.auth-panel-head{display:flex;justify-content:space-between;align-items:center}.auth-hint{font-size:12px;color:var(--muted);margin:8px 0 14px}.auth-panel form{display:grid;gap:9px;margin-bottom:10px}.page{max-width:1240px;margin:0 auto;padding:32px 28px 60px}.loading-block{padding:80px;text-align:center;color:var(--muted)}.loading-block.error{color:var(--red)}.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:28px;align-items:stretch;margin-bottom:28px}.hero-copy{background:linear-gradient(150deg,var(--navy),#1c5c9b);color:#fff;border-radius:16px;padding:38px 40px;position:relative;overflow:hidden}.hero-copy:after{content:"M";position:absolute;right:-20px;bottom:-70px;font:800 260px Georgia,serif;color:#ffffff0d}.eyebrow,.intro-kicker{font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--gold);text-transform:uppercase}.hero-copy h1{font-size:32px;line-height:1.35;margin:14px 0;max-width:620px}.hero-copy p{color:#ffffffd1;max-width:620px;font-size:14px;margin:0}.hero-points{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:24px;font-size:13px;color:#e6eef8}.hero-panel{background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:var(--shadow)}.panel-title{font-weight:700;color:var(--navy);margin-bottom:18px}.stat-row{display:flex;gap:8px}.stat{flex:1;background:var(--blue-soft);border-radius:10px;padding:14px 10px;text-align:center}.stat b{display:block;font-size:22px;color:var(--blue)}.stat span{font-size:12px;color:var(--muted)}.spark{width:100%;height:58px;margin-top:18px}.spark-empty{font-size:12px;color:var(--muted);text-align:center;padding:26px 0}.panel-note{font-size:12px;color:var(--muted);margin:8px 0 0;text-align:center}.controls{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-end;background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px 20px;margin-bottom:18px}.control-group{display:grid;gap:7px}.control-group.grow{flex:1;min-width:220px}.control-label{font-size:12px;color:var(--muted);font-weight:600}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.segmented button{border:0;background:#fff;padding:8px 14px;font-size:13px;color:var(--muted);border-right:1px solid var(--border)}.segmented button:last-child{border-right:0}.segmented button.active{background:var(--blue);color:#fff;font-weight:600}.segmented.small button{padding:6px 12px;font-size:12px}.search{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:8px;outline:none;font-size:13px}.bucket-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 22px}.bucket-tabs button{border:1px solid var(--border);background:#fff;border-radius:20px;padding:7px 16px;font-size:13px;color:var(--muted)}.bucket-tabs button.active{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:600}.bucket{margin-bottom:34px}.bucket-head{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}.bucket-head h2{font-size:19px;margin:0;color:var(--navy)}.bucket-head span{font-size:13px;color:var(--muted)}.bucket-head em{margin-left:auto;font-style:normal;font-size:12px;color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:14px}.mock-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px;box-shadow:var(--shadow);transition:.18s;display:flex;flex-direction:column}.mock-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--blue-line)}.mock-card.done{border-left:3px solid var(--gold)}.card-top{display:flex;justify-content:space-between;align-items:center}.mock-no{font:700 26px Georgia,serif;color:var(--blue)}.status-pill{font-size:11px;padding:3px 9px;border-radius:20px;background:#f0f3f7;color:var(--muted)}.status-pill.done{background:#fdf3dd;color:#96691a}.mock-card h3{font-size:14px;margin:10px 0 4px}.card-sub{font-size:12px;color:var(--muted);margin:0 0 12px}.card-meta{display:flex;flex-wrap:wrap;gap:6px;font-size:11px;color:var(--muted);margin-top:auto}.card-meta span{background:var(--blue-soft);padding:3px 7px;border-radius:5px}.card-score{font-size:12px;color:var(--muted);margin-top:10px}.card-score b{color:var(--navy);font-size:16px;margin-left:4px}.site-footer{border-top:1px solid var(--border);padding-top:20px;margin-top:40px;font-size:12px;color:var(--muted)}.exam-app{background:#fff}.exam-shell{min-height:100vh;display:flex;flex-direction:column;background:#fff}.exam-topbar{height:62px;flex:0 0 62px;background:var(--navy);color:#fff;display:flex;align-items:center;padding:0 20px;gap:18px;position:sticky;top:0;z-index:25}.exam-topbar .brand{color:#fff;font-size:15px}.exam-topbar .brand-mark{width:27px;height:27px;font-size:16px}.exam-topbar.compact{justify-content:space-between}.tb-left{display:flex;align-items:center;gap:16px;min-width:230px}.tb-section{display:flex;flex-direction:column;line-height:1.25}.tb-section b{font-size:13px}.tb-section span{font-size:11px;color:#a9c4e2}.tb-center{margin:0 auto;display:flex;align-items:center;gap:18px}.q-counter{font-size:13px;font-weight:600}.q-counter em{font-style:normal;color:#a9c4e2;font-weight:400}.timer{background:#ffffff21;padding:5px 14px;border-radius:6px;font-variant-numeric:tabular-nums;font-weight:700;font-size:15px;cursor:pointer;letter-spacing:.04em}.timer.warn{background:#b3483f}.tb-tools{display:flex;gap:6px}.tool{width:32px;height:32px;border:1px solid rgba(255,255,255,.22);background:#ffffff12;color:#fff;border-radius:6px;font-size:14px}.tool:hover,.tool.on{background:var(--gold);color:var(--navy);border-color:var(--gold)}.exam-topbar.compact .text-btn{color:#dbe8f7}.exam-body{flex:1;display:flex;gap:0;max-width:1500px;width:100%;margin:0 auto}.question-pane{flex:1;padding:28px 40px 40px;min-width:0;max-width:1080px}.side-tools{width:330px;flex:0 0 330px;border-left:1px solid var(--border);padding:20px;background:#fafbfd}.stimulus{background:#f7f9fc;border:1px solid var(--border);border-left:3px solid var(--blue);border-radius:6px;padding:18px 22px;margin-bottom:6px;font-family:"Noto Serif",Georgia,serif;font-size:16px;line-height:1.75;max-height:340px;overflow-y:auto}.stimulus p,.stem p,.opt-content p,.ri-stimulus p,.ri-question p{margin:0 0 12px}.stimulus p:last-child,.stem p:last-child,.ri-question p:last-child{margin-bottom:0}.stimulus svg,.stem svg,.opt-content svg,.ri-stimulus svg{max-width:100%;height:auto}.stimulus u,.stem u{text-decoration:underline}.stimulus figure,.stem figure,.opt-content figure,.ri-stimulus figure{margin:10px 0;max-width:100%;overflow-x:auto}.stimulus table,.stem table,.opt-content table,.ri-stimulus table,.ri-question table{border-collapse:collapse;margin:12px 0;font-family:-apple-system,PingFang SC,sans-serif;font-size:13.5px;width:auto;max-width:100%}.stimulus th,.stimulus td,.stem th,.stem td,.opt-content th,.opt-content td,.ri-stimulus th,.ri-stimulus td,.ri-question th,.ri-question td{border:1px solid #aebfd2;padding:6px 11px;text-align:left;vertical-align:top}.stimulus th,.stem th,.ri-stimulus th,.ri-question th{background:#edf3fa;font-weight:600;color:var(--navy)}.stimulus img,.stem img,.opt-content img{max-width:100%;height:auto}math{font-family:"Noto Serif",Georgia,serif;font-size:1.05em}.dap_body{margin:0 0 12px}.tts-container{border-bottom:1px dashed #9db4cd}.zh-label{font:600 12px -apple-system,sans-serif;color:var(--blue);margin-bottom:8px}.hl-btn{border:0;background:none;color:var(--blue);font-size:12px;padding:2px 0 10px}.q-number{font-size:13px;font-weight:700;color:var(--navy);margin:16px 0 8px;display:flex;align-items:center;gap:10px}.skill-tag{font-size:11px;font-weight:500;color:var(--muted);background:var(--blue-soft);padding:2px 8px;border-radius:4px}.stem{font-family:"Noto Serif",Georgia,serif;font-size:17px;line-height:1.75;margin-bottom:22px}.ms-highlight{background:#ffe9a8;padding:0 2px}.options{display:grid;gap:10px}.option{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:.15s}.option:hover{border-color:var(--blue-line);background:#fbfdff}.option.selected{border-color:var(--blue);background:var(--blue-soft);box-shadow:inset 3px 0 0 var(--blue)}.option.eliminated{opacity:.48}.option.eliminated .opt-content{text-decoration:line-through}.opt-main{flex:1;display:flex;gap:14px;align-items:flex-start;text-align:left;border:0;background:transparent;padding:14px 16px;color:var(--text)}.opt-letter{flex:0 0 26px;height:26px;border:1px solid var(--blue-line);border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;color:var(--blue)}.option.selected .opt-letter{background:var(--blue);color:#fff;border-color:var(--blue)}.opt-content{font-family:"Noto Serif",Georgia,serif;font-size:15.5px;line-height:1.65}.elim-btn{border:0;border-left:1px solid var(--border);background:#fff;color:var(--muted);width:42px;font-size:12px}.elim-btn:hover{color:var(--red);background:#fff5f5}.spr-box{border:1px solid var(--border);border-radius:8px;padding:18px;background:#fafbfd}.spr-box label{display:block;font-weight:600;margin-bottom:8px}.spr-box input{width:220px;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:16px}.spr-box p{font-size:12px;color:var(--muted);margin:10px 0 0}.tool-modal{background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);padding:14px;position:sticky;top:80px}.tool-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;color:var(--navy)}.calc-display{width:100%;padding:12px;border:1px solid var(--border);border-radius:6px;font-size:20px;text-align:right;margin-bottom:10px}.calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.calc-grid button{padding:11px 0;border:1px solid var(--border);background:#fafbfd;border-radius:6px;font-weight:600}.calc-grid button:hover{background:var(--blue-soft)}.calc-grid .eq{background:var(--blue);color:#fff}.tool-note{font-size:11px;color:var(--muted);margin:12px 0 0}.ref-grid{display:grid;gap:10px}.ref-grid>div{border:1px solid var(--border);border-radius:6px;padding:9px 11px;display:grid;gap:2px}.ref-grid b{color:var(--navy);font-size:12px}.ref-grid span{font-family:Georgia,serif;font-size:13px}.exam-footer{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--border);z-index:15}.nav-strip{display:flex;gap:5px;padding:10px 20px;overflow-x:auto;border-bottom:1px solid var(--border)}.nav-dot{flex:0 0 30px;height:30px;border:1px solid var(--border);background:#fff;border-radius:5px;font-size:12px;color:var(--muted)}.nav-dot.answered{background:var(--blue-soft);border-color:var(--blue-line);color:var(--blue);font-weight:600}.nav-dot.flagged{background:#fdf3dd;border-color:var(--gold);color:#8a6115}.nav-dot.current{background:var(--navy);color:#fff;border-color:var(--navy)}.footer-actions{display:flex;align-items:center;justify-content:space-between;padding:12px 24px}.progress-note{font-size:13px;color:var(--muted)}.progress-note b{color:var(--navy)}.flag-note{color:#96691a}.footer-btns{display:flex;gap:10px}.intro-card,.center-card{max-width:640px;margin:60px auto;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:38px 40px}.center-msg{margin:100px auto;text-align:center;color:var(--muted)}.center-msg.error{color:var(--red)}.center-card{text-align:center}.intro-card h1,.center-card h1{font-size:25px;margin:12px 0 18px;color:var(--navy)}.intro-meta{display:flex;gap:10px;margin-bottom:22px}.intro-meta span{background:var(--blue-soft);color:var(--blue);padding:6px 14px;border-radius:6px;font-size:13px}.intro-body{font-size:14px;color:#46596d;line-height:1.9;margin-bottom:26px}.intro-body p{margin:0 0 14px}.route-anim{display:flex;justify-content:center;gap:8px;margin-bottom:22px}.route-anim span{width:10px;height:10px;border-radius:50%;background:var(--blue);animation:pulse 1.1s infinite alternate}.route-anim span:nth-child(2){animation-delay:.2s}.route-anim span:nth-child(3){animation-delay:.4s}@keyframes pulse{to{opacity:.25;transform:translateY(-6px)}}.route-stats{display:flex;justify-content:center;gap:30px;margin:24px 0 28px}.route-stats div{display:grid;gap:4px}.route-stats span{font-size:12px;color:var(--muted)}.route-stats b{font-size:24px;color:var(--navy)}.path-hard{color:var(--red)}.path-easy{color:var(--blue)}.break-clock{font:700 54px Georgia,serif;color:var(--navy);margin:22px 0;font-variant-numeric:tabular-nums}.center-card .segmented{margin-bottom:24px}.spinner{width:34px;height:34px;border:3px solid var(--blue-soft);border-top-color:var(--blue);border-radius:50%;margin:0 auto 20px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.report-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:24px}.report-head h1{font-size:30px;margin:8px 0 4px;color:var(--navy)}.report-sub{color:var(--muted);font-size:13px;margin:0}.report-actions{display:flex;gap:8px;flex-wrap:wrap}.score-hero{display:grid;grid-template-columns:220px 1px 1fr 230px;gap:24px;align-items:center;background:linear-gradient(135deg,var(--navy),#1b5a98);color:#fff;border-radius:16px;padding:30px 34px;margin-bottom:16px}.score-caption{font-size:11px;letter-spacing:.14em;color:#a9c4e2}.big-score{font:700 62px Georgia,serif;line-height:1.1;color:#fff}.score-range{font-size:12px;color:#c9dcf0}.score-divider{width:1px;height:100px;background:#fff3}.section-scores{display:grid;grid-template-columns:1fr 1fr;gap:26px}.sec-score{display:grid;gap:2px}.sec-score>span{font-size:13px;color:#c9dcf0}.sec-score b{font:700 34px Georgia,serif}.sec-score em{font-style:normal;font-size:11px;color:#a9c4e2}.sec-score .bar{height:6px;background:#ffffff2e;border-radius:4px;overflow:hidden;margin:8px 0 3px}.sec-score .bar i{display:block;height:100%;background:var(--gold)}.sec-score small{font-size:11px;color:#c9dcf0}.adaptive-box{background:#ffffff17;border-radius:10px;padding:16px}.path-row{display:flex;justify-content:space-between;font-size:13px;margin-top:10px}.path-row b.path-hard{color:#ffd08a}.path-row b.path-easy{color:#a9d6ff}.adaptive-box p{font-size:11px;color:#a9c4e2;margin:12px 0 0}.notice{background:#fff8e8;border:1px solid #f0dfae;border-radius:9px;padding:13px 16px;font-size:13px;color:#7a5c1c;margin-bottom:24px}.notice-warn{color:var(--red)}.diag-grid{display:grid;grid-template-columns:320px 1fr;gap:16px;margin-bottom:20px}.diag-card,.trend-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px 22px;box-shadow:var(--shadow)}.diag-card h3,.trend-card h3{font-size:15px;margin:0 0 16px;color:var(--navy)}.diag-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.diag-stats div{background:var(--blue-soft);border-radius:8px;padding:12px}.diag-stats b{display:block;font-size:22px;color:var(--blue)}.diag-stats span{font-size:12px;color:var(--muted)}.skill-list{display:grid;gap:9px}.skill-row{display:grid;grid-template-columns:130px 1fr 42px 48px;gap:10px;align-items:center;font-size:12px}.skill-name{color:var(--text)}.skill-bar{height:8px;background:#eef2f7;border-radius:5px;overflow:hidden}.skill-bar i{display:block;height:100%;background:var(--green)}.skill-bar i.mid{background:var(--gold)}.skill-bar i.low{background:var(--red)}.skill-pct{font-weight:700;color:var(--navy);text-align:right}.skill-count{color:var(--muted);text-align:right}.diag-note{font-size:11px;color:var(--muted);margin:14px 0 0}.trend-card{margin-bottom:24px}.trend-svg{width:100%;height:120px}.trend-card p{font-size:12px;color:var(--muted);margin:6px 0 0}.review-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:14px}.review-head h2{font-size:20px;margin:0;color:var(--navy)}.review-head small{font-size:13px;color:var(--muted);font-weight:400}.review-controls{display:flex;align-items:center;gap:14px}.review-list{display:grid;gap:9px}.review-item{background:#fff;border:1px solid var(--border);border-radius:9px;overflow:hidden}.review-item.ok{border-left:3px solid var(--green)}.review-item.bad{border-left:3px solid var(--red)}.review-item.unknown{border-left:3px solid var(--muted)}.review-summary{width:100%;display:flex;align-items:center;gap:14px;padding:13px 16px;border:0;background:#fff;text-align:left}.review-summary:hover{background:#fafbfd}.ri-num{flex:0 0 92px;font-size:12px;color:var(--blue);font-weight:700}.ri-stem{flex:1;min-width:0;font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ri-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.badge{font-size:11px;padding:3px 8px;border-radius:5px;background:#f0f3f7;color:var(--muted);white-space:nowrap}.badge.you{background:var(--blue-soft);color:var(--blue)}.badge.key{background:#eaf6ef;color:var(--green)}.badge.flag{background:#fdf3dd;color:#96691a}.badge.verdict.ok{background:#e3f3e9;color:var(--green);font-weight:700}.badge.verdict.bad{background:#fbe9e8;color:var(--red);font-weight:700}.ri-chevron{color:var(--muted);font-size:10px}.review-detail{border-top:1px solid var(--border);padding:20px 24px;background:#fbfcfe}.zh-material{background:#f0f5fb;border-left:3px solid var(--blue);padding:12px 16px;border-radius:5px;margin-bottom:16px;font-size:13px}.zh-material b{color:var(--blue);font-size:12px}.zh-material p{margin:6px 0 0;white-space:pre-wrap}.ri-stimulus{font-family:"Noto Serif",Georgia,serif;font-size:15px;background:#fff;border:1px solid var(--border);padding:14px 18px;border-radius:6px;margin-bottom:16px}.ri-question{font-family:"Noto Serif",Georgia,serif;font-size:16px;margin-bottom:14px}.ri-options{display:grid;gap:7px}.ri-opt{display:flex;gap:12px;padding:10px 13px;border:1px solid var(--border);border-radius:6px;background:#fff;font-family:"Noto Serif",Georgia,serif;font-size:14px}.ri-opt>b{flex:0 0 20px;color:var(--blue)}.ri-opt.right{border-color:var(--green);background:#eef8f2}.ri-opt.picked{border-color:var(--red);background:#fdf0ef}.spr-answer{font-size:14px}.ri-foot{display:flex;gap:20px;margin-top:16px;font-size:12px;color:var(--muted)}@media (max-width: 1100px){.hero{grid-template-columns:1fr}.score-hero{grid-template-columns:180px 1px 1fr}.adaptive-box{grid-column:1 / -1}.diag-grid{grid-template-columns:1fr}.side-tools{width:280px;flex-basis:280px}}@media (max-width: 760px){.site-header{padding:0 16px;gap:12px}.site-nav{display:none}.page{padding:20px 16px 40px}.hero-copy{padding:26px 22px}.hero-copy h1{font-size:24px}.controls{flex-direction:column;align-items:stretch}.control-group.grow{min-width:0}.exam-topbar{padding:0 12px;gap:8px;height:56px;flex-basis:56px}.tb-left{min-width:0}.tb-section{display:none}.tb-center{gap:8px}.q-counter{font-size:12px}.timer{font-size:13px;padding:4px 8px}.tool{width:28px;height:28px;font-size:12px}.exam-body{flex-direction:column}.question-pane{padding:18px 16px 30px}.side-tools{width:100%;flex:none;border-left:0;border-top:1px solid var(--border)}.stimulus{max-height:260px;padding:14px;font-size:15px}.stem{font-size:16px}.footer-actions{flex-direction:column;align-items:stretch;gap:10px;padding:12px 16px}.footer-btns{justify-content:space-between}.score-hero{grid-template-columns:1fr;padding:24px;gap:16px}.score-divider{width:100%;height:1px}.section-scores{gap:14px}.skill-row{grid-template-columns:100px 1fr 38px 40px}.ri-stem{display:none}.ri-badges{margin-left:auto}.review-head{flex-direction:column;align-items:stretch}.review-controls{flex-wrap:wrap}.intro-card,.center-card{margin:26px 16px;padding:26px 22px}}.form-ok{color:var(--green);font-size:13px;margin:10px 0 0}.my-reports{margin:0 0 24px}.my-reports-head{display:flex;align-items:baseline;gap:14px;margin-bottom:12px}.my-reports-head h2{font-size:18px;margin:0;color:var(--navy)}.my-reports-head span{font-size:12px;color:var(--muted)}.report-tiles{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px}.report-tile{min-width:172px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:14px 16px;display:grid;gap:3px;box-shadow:var(--shadow);transition:.18s}.report-tile:hover{border-color:var(--blue);transform:translateY(-2px)}.tile-mock{font-size:11px;color:var(--muted)}.report-tile b{font:700 28px Georgia,serif;color:var(--navy)}.tile-detail,.tile-date{font-size:11px;color:var(--muted)}.tile-link{font-size:12px;color:var(--blue);font-weight:600;margin-top:6px}.empty-note{color:var(--muted);font-size:13px;text-align:center;padding:22px}.admin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:20px}.admin-head h1{font-size:28px;margin:8px 0 4px;color:var(--navy)}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.admin-stats>div{background:#fff;border:1px solid var(--border);border-radius:10px;padding:16px 18px;box-shadow:var(--shadow)}.admin-stats span{display:block;font-size:12px;color:var(--muted)}.admin-stats b{display:block;font:700 28px Georgia,serif;color:var(--blue);margin-top:4px}.admin-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:22px 24px;margin-bottom:18px;box-shadow:var(--shadow)}.admin-card h2{font-size:17px;margin:0 0 6px;color:var(--navy)}.admin-card h2 small{font-size:12px;color:var(--muted);font-weight:400;margin-left:8px}.admin-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.admin-hint{font-size:12px;color:var(--muted);margin:0 0 16px}.create-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.create-form label{display:grid;gap:5px;font-size:12px;color:var(--muted);flex:1;min-width:150px}.create-form input{padding:9px 11px;border:1px solid var(--border);border-radius:7px;outline:none;font-size:14px}.create-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1a5b9c1f}.table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{background:var(--navy);color:#fff;text-align:left;padding:10px 12px;font-weight:600;white-space:nowrap}.admin-table td{padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.admin-table tbody tr:nth-child(2n){background:#f7fafd}.admin-table tbody tr:hover{background:var(--blue-soft)}.admin-table .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.role-tag{font-size:11px;padding:2px 8px;border-radius:12px;background:var(--blue-soft);color:var(--blue)}.role-tag.admin{background:#fdf3dd;color:#96691a}.sub-cell{display:block;font-size:11px;color:var(--muted)}.score-cell{color:var(--navy);font-size:15px}@media (max-width: 760px){.admin-stats{grid-template-columns:1fr 1fr}.create-form{flex-direction:column;align-items:stretch}.my-reports-head{flex-direction:column;gap:4px}}.expiry-banner{background:#fff4e2;border-bottom:1px solid #eecb8e;color:#765018;padding:10px 32px;font-size:13px;text-align:center}.expiry-banner b{color:#8c4a12}.expired-chip{background:#fbe9e8;color:var(--red);font-size:12px;padding:4px 10px;border-radius:20px;font-weight:600}.hero-head{padding:8px 0 20px}.hero-head .tiny{display:block;font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--blue)}.hero-head h1{font-size:30px;line-height:1.3;margin:10px 0 6px;color:var(--navy)}.hero-head .subtle{margin:0;color:var(--muted);font-size:14px}.exam-info-bullets{display:grid;gap:8px;background:#fff;border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:10px;padding:16px 22px;margin-bottom:22px;font-size:13.5px;color:#3f5267;box-shadow:var(--shadow)}.exam-info-bullets>div{display:flex;gap:10px;align-items:baseline}.exam-info-bullets span{color:var(--green);font-weight:800}.home-overview{margin-bottom:26px}.home-overview .panel-title{font-size:15px}.exam-toolbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px 18px;margin-bottom:18px;box-shadow:var(--shadow)}.exam-status-legend{display:flex;gap:14px;font-size:12px;color:var(--muted);white-space:nowrap}.exam-status-legend-item{display:inline-flex;align-items:center;gap:6px}.exam-status-legend-dot{width:9px;height:9px;border-radius:50%;background:#d5dde7;display:inline-block}.exam-status-legend-dot.green{background:#3d9a6e}.exam-status-legend-dot.orange{background:var(--gold)}.exam-toolbar .bucket-tabs{margin:0;flex:1}.exam-toolbar .search{width:230px;flex:0 0 230px}.bucket-tabs button:hover{border-color:var(--blue);color:var(--blue)}.exam-landing-sections{display:grid;gap:30px}.exam-section-heading{display:flex;align-items:baseline;gap:12px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}.exam-section-heading h2{font-size:19px;margin:0;color:var(--navy)}.exam-section-heading .chip{font-size:11px;color:var(--blue);background:var(--blue-soft);padding:3px 10px;border-radius:20px}.exam-section-heading-count{margin-left:auto;font-size:12px;color:var(--muted)}.exam-section-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:14px}.school-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:16px 18px 18px;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:.18s ease}.school-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--blue-line)}.school-card.is-done{border-top:3px solid var(--gold)}.school-card-top{display:flex;justify-content:space-between;align-items:flex-start}.school-card-no{font:700 27px Georgia,serif;color:var(--blue);line-height:1}.school-card-state{font-size:11px;color:var(--muted);background:#f0f3f7;padding:3px 9px;border-radius:20px}.school-card-state.green{color:#1e6b4b;background:#e6f5ec}.school-card h3{font-size:15px;margin:12px 0 3px;color:var(--navy)}.school-card-sub{font-size:12px;color:var(--muted);margin:0 0 12px}.school-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.school-card-meta span{font-size:11px;color:var(--muted);background:var(--blue-soft);padding:3px 8px;border-radius:5px}.school-card-score{font-size:12px;color:var(--muted);margin-top:10px}.school-card-score b{color:var(--navy);font-size:17px;margin-left:4px}.school-card-actions{display:flex;gap:8px;margin-top:14px}.school-card-actions .btn{flex:1;padding:9px 8px;font-size:13px}.btn.ghost.practice{border-color:var(--blue-line);color:var(--blue)}.btn.ghost.practice:hover{background:var(--blue-soft)}.school-card-expired{font-size:11px;color:var(--red);margin:8px 0 0}.site-footer{border-top:1px solid var(--border);padding:22px 0 0;margin-top:44px;font-size:12px;color:var(--muted)}.footer-inner{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.footer-logo-slot{display:flex;align-items:center;gap:8px}.footer-logo-slot .brand-mark{width:26px;height:26px;font-size:15px}.footer-logo{font-weight:800;font-size:15px;color:var(--navy)}.footer-main{flex:1;min-width:240px}.footer-meta{color:#9aa9b8}.mode-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0c1e3480;display:grid;place-items:center;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mode-modal{width:min(560px,100%);background:#fff;border-radius:14px;box-shadow:0 24px 70px #0a223e47;overflow:hidden}.mode-modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 26px 16px}.mode-modal-head .eyebrow{color:var(--blue)}.mode-modal-head h2{font-size:22px;margin:6px 0 3px;color:var(--navy)}.mode-modal-head p{margin:0;font-size:13px;color:var(--muted)}.mode-notice{margin:0 26px 18px;background:#eef4fb;border-left:3px solid var(--blue);border-radius:6px;padding:11px 14px;font-size:12.5px;color:#3c5672}.mode-notice.practice{background:#fdf5e5;border-left-color:var(--gold);color:#75591d}.range-list{display:grid;gap:9px;padding:0 26px 8px}.range-card{display:flex;align-items:center;gap:14px;width:100%;text-align:left;border:1px solid var(--border);border-radius:9px;background:#fff;padding:13px 16px;transition:.15s}.range-card:hover{border-color:var(--blue-line);background:#fbfdff}.range-card.active{border-color:var(--blue);background:var(--blue-soft);box-shadow:inset 3px 0 0 var(--blue)}.range-radio{flex:0 0 16px;width:16px;height:16px;border:2px solid #b8c9dc;border-radius:50%}.range-card.active .range-radio{border-color:var(--blue);background:var(--blue);box-shadow:inset 0 0 0 3px #fff}.range-main{display:grid;gap:2px;flex:1}.range-main b{font-size:14px;color:var(--navy)}.range-main small{font-size:12px;color:var(--muted)}.range-meta{font-size:12px;color:var(--muted);white-space:nowrap}.mode-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 26px 22px;margin-top:10px;border-top:1px solid var(--border)}.mode-modal-foot span{font-size:11.5px;color:var(--muted);max-width:290px}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(148px,1fr))}.drill-admin-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.drill-admin-stats>div{background:var(--blue-soft);border-radius:8px;padding:9px 13px;display:grid;gap:2px}.drill-admin-stats b{color:var(--navy);font-size:13px}.drill-admin-stats span{font-size:11px;color:var(--muted)}.admin-stats .warn-number{color:var(--red)}.quick-expiry{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}.quick-expiry>span{font-size:12px;color:var(--muted)}.quick-expiry.inline{margin-top:0}.chip-btn{border:1px solid var(--border);background:#fff;color:var(--blue);font-size:12px;padding:4px 11px;border-radius:20px}.chip-btn:hover{background:var(--blue-soft);border-color:var(--blue-line)}.admin-inline-editor{background:#f3f8fe;border:1px solid var(--blue-line);border-radius:10px;padding:16px 20px;margin-bottom:18px}.admin-inline-head{display:flex;justify-content:space-between;align-items:center;color:var(--navy);font-size:14px}.admin-inline-body{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-top:12px}.admin-inline-body label{display:grid;gap:5px;font-size:12px;color:var(--muted)}.admin-inline-body input[type=date],.admin-inline-body input[type=text],.admin-inline-body input:not([type]){padding:8px 11px;border:1px solid var(--border);border-radius:7px;outline:none;font-size:14px;background:#fff}.admin-inline-body .checkbox-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text)}.admin-inline-body .checkbox-label input{width:15px;height:15px}.admin-inline-editor .admin-hint{margin:10px 0 0}.expiry-tag{font-size:11px;padding:3px 9px;border-radius:20px;background:#f0f3f7;color:var(--muted);white-space:nowrap}.expiry-tag.ok{background:#e6f5ec;color:#1e6b4b}.expiry-tag.soon{background:#fdf3dd;color:#96691a}.expiry-tag.expired{background:#fbe9e8;color:var(--red)}.expiry-tag.never{background:var(--blue-soft);color:var(--blue)}.row-actions{white-space:nowrap}.row-actions .text-btn+.text-btn{margin-left:4px}.admin-head .eyebrow{color:var(--blue)}@media (max-width: 1100px){.admin-stats{grid-template-columns:repeat(3,1fr)}}@media (max-width: 760px){.exam-toolbar .search{width:100%;flex:1 1 100%}.exam-toolbar .bucket-tabs{flex:1 1 100%}.mode-modal-foot{flex-direction:column;align-items:stretch}.mode-modal-foot .btn{width:100%}.site-header{flex-wrap:wrap;height:auto;padding:10px 16px}.expiry-banner{padding:10px 16px}}.drill-cta{display:flex;align-items:center;gap:14px;margin-top:18px;padding:14px 18px;border:1px solid var(--blue-line);border-left:4px solid var(--gold);border-radius:10px;background:linear-gradient(100deg,#fff,#f4f8fd);box-shadow:var(--shadow);transition:.18s}.drill-cta:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--blue)}.drill-cta-icon{font-size:24px;color:var(--blue)}.drill-cta>span:nth-child(2){display:grid;gap:2px;flex:1}.drill-cta b{color:var(--navy);font-size:14px}.drill-cta small{color:var(--muted);font-size:12px}.drill-cta-go{color:var(--blue);font-weight:700;font-size:13px;white-space:nowrap}.drill-hub .drill-hero{display:grid;grid-template-columns:1.5fr 1fr;gap:26px;align-items:stretch;background:linear-gradient(140deg,var(--navy),#1c5c9b);color:#fff;border-radius:16px;padding:30px 34px;margin-bottom:22px}.drill-hero-copy .tiny{display:block;font-size:11px;letter-spacing:.16em;font-weight:700;color:#f0d493}.drill-hero-copy h1{font-size:30px;margin:10px 0}.drill-hero-copy p{font-size:13.5px;line-height:1.8;color:#ffffffd6;margin:0;max-width:660px}.drill-hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:center}.drill-hero-stats>div{background:#ffffff1c;border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:12px 14px}.drill-hero-stats b{display:block;font:700 26px Georgia,serif;color:#fff}.drill-hero-stats span{font-size:12px;color:#c9dcf0}.drill-hero-stats .warn-number{color:#ffd08a}.drill-tabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:22px;border-bottom:1px solid var(--border);padding-bottom:12px}.drill-tabs button{border:1px solid transparent;background:transparent;padding:9px 16px;border-radius:8px;color:var(--muted);font-weight:600;font-size:14px;display:grid;gap:1px;text-align:left}.drill-tabs button small{font-size:10px;font-weight:500;letter-spacing:.06em;color:#9aa9b8}.drill-tabs button:hover{background:var(--blue-soft);color:var(--blue)}.drill-tabs button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.drill-tabs button.active small{color:#b9d2ec}.drill-search{width:220px;margin-left:auto}.drill-categories{display:grid;gap:28px}.drill-category-head{display:flex;align-items:baseline;gap:12px;margin-bottom:14px;padding-bottom:9px;border-bottom:1px solid var(--border)}.drill-category-head h2{font-size:18px;margin:0;color:var(--navy)}.drill-category-head span{font-size:12px;color:var(--muted)}.drill-skill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:13px}.drill-skill-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:15px 17px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:9px;transition:.18s}.drill-skill-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--blue-line)}.drill-skill-card.complete{border-top:3px solid var(--green)}.drill-skill-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.drill-skill-top h3{font-size:15px;margin:0;color:var(--navy)}.drill-count{font-size:11px;color:var(--blue);background:var(--blue-soft);padding:3px 8px;border-radius:20px;white-space:nowrap}.drill-progress{height:6px;background:#edf2f8;border-radius:4px;overflow:hidden}.drill-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),#4b93d1);border-radius:4px;transition:width .3s}.drill-skill-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:11.5px;color:var(--muted)}.drill-wrong-tag{color:var(--red);font-weight:600}.drill-skill-actions{display:flex;gap:8px;margin-top:3px}.drill-skill-actions .btn{flex:1;padding:8px 6px;font-size:12.5px}.drill-wrong-list{display:grid;gap:8px}.drill-wrong-row{display:grid;grid-template-columns:130px 1fr 190px 90px;gap:14px;align-items:center;background:#fff;border:1px solid var(--border);border-left:3px solid var(--red);border-radius:8px;padding:11px 15px;font-size:12.5px;transition:.15s}.drill-wrong-row:hover{border-color:var(--blue);background:#fbfdff}.drill-wrong-skill{color:var(--blue);font-weight:600}.drill-wrong-text{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drill-wrong-src,.drill-wrong-go{color:var(--muted)}.drill-wrong-go{text-align:right;color:var(--blue);font-weight:600}.drill-sessions{margin-top:34px}.chip-btn.active{background:var(--blue);color:#fff;border-color:var(--blue)}.drill-score-hero{grid-template-columns:200px 1px 1fr 230px}.drill-review-item{background:#fff;border:1px solid var(--border);border-radius:9px;padding:15px 18px}.drill-review-item.ok{border-left:3px solid var(--green)}.drill-review-item.bad{border-left:3px solid var(--red)}.drill-review-item.unknown{border-left:3px solid var(--muted)}.drill-review-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.drill-review-head b{color:var(--navy);font-size:14px}.drill-review-head>span:not(.badge){font-size:11.5px;color:var(--muted)}.drill-analysis{margin-top:14px;background:#f3f8fe;border-left:3px solid var(--blue);border-radius:6px;padding:12px 16px;font-size:13px;line-height:1.8}.drill-analysis>b{color:var(--blue);font-size:12px}.drill-analysis p{margin:6px 0 0;white-space:pre-wrap}.drill-official{margin-top:8px;font-size:13px}.drill-answer-note{color:#7a5c1c!important}@media (max-width: 900px){.drill-hub .drill-hero{grid-template-columns:1fr}.drill-search{width:100%;margin-left:0}.drill-wrong-row{grid-template-columns:100px 1fr 70px}.drill-wrong-src{display:none}}@media print{.site-header,.report-actions,.review-controls,.no-print,.site-footer,.expiry-banner,.mode-modal-backdrop,.drill-tabs,.drill-cta{display:none!important}body{background:#fff}.page{max-width:none;padding:0}.score-hero{background:#f2f6fb!important;color:var(--navy)!important}.score-hero *{color:var(--navy)!important}.review-detail{display:block!important}.review-item{break-inside:avoid}}
