:root{--ink:#14213d;--blue:#2957d5;--navy:#17356d;--pale:#f3f6fb;--line:#dfe6f1;--muted:#65738c;--green:#117a65;--warm:#a46014}*{box-sizing:border-box}html{background:#eef2f7}body{color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}button,a{font:inherit}.page-shell{background:#fff;width:min(100%,560px);min-height:100vh;margin:auto;padding:0 18px 36px;overflow:hidden}.brandbar{border-bottom:1px solid #edf0f5;justify-content:space-between;align-items:center;height:68px;display:flex}.brandbar a{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:flex}.brandbar a span{background:var(--ink);color:#fff;border-radius:9px;place-items:center;width:32px;height:32px;font-weight:800;display:grid}.brandbar small{color:var(--muted)}h1,h2,p{margin-top:0}.hero{padding:64px 4px 38px}.eyebrow,.step{color:var(--blue);letter-spacing:.08em;font-size:13px;font-weight:700}.hero h1{letter-spacing:-.04em;margin:16px 0;font-size:42px;line-height:1.16}.hero h1 em{color:var(--blue);font-style:normal}.hero>p{color:var(--muted);margin-bottom:28px;font-size:16px;line-height:1.8}.button{cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:12px;min-height:54px;padding:0 22px;font-weight:700;text-decoration:none;display:flex}.button.primary{background:var(--blue);color:#fff;box-shadow:0 12px 24px #2957d52e}.button:disabled{box-shadow:none;cursor:not-allowed;background:#cbd3df}.facts{color:#516078;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;font-size:13px;display:grid}.facts span:before{content:"✓";color:var(--green);margin-right:7px;font-weight:800}.value-grid{gap:12px;padding:18px 0 50px;display:grid}.value-grid article{border:1px solid var(--line);border-radius:16px;padding:20px}.value-grid article>b{color:var(--blue);font-size:12px}.value-grid h2{margin:10px 0 6px;font-size:18px}.value-grid p{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.bottom-cta{background:var(--pale);text-align:center;border-radius:18px;padding:28px 20px}.bottom-cta h2{font-size:20px;line-height:1.5}.bottom-cta .button{margin-top:20px}footer{text-align:center;color:#8a95a8;padding:28px 0 0;font-size:12px}.section-head{padding:42px 2px 24px}.section-head h1{margin:12px 0 8px;font-size:32px}.section-head p{color:var(--muted)}.grade-grid{grid-template-columns:1fr 1fr;gap:11px;display:grid}.grade-grid button{border:1px solid var(--line);height:58px;color:var(--ink);background:#fff;border-radius:14px;font-weight:650;position:relative}.grade-grid button.selected{border:2px solid var(--blue);color:var(--blue);background:#f6f8ff}.grade-grid button i{display:none}.test-note{background:var(--pale);border-radius:14px;margin:24px 0;padding:18px}.test-note b{margin-right:12px}.test-note span{color:var(--blue);font-size:13px}.test-note p{color:var(--muted);margin:10px 0 0;font-size:13px;line-height:1.7}.sticky-action{width:100%;position:sticky;bottom:14px}.inline-error{color:#b42318;background:#fff0ee;border-radius:10px;padding:12px;font-size:13px}.test-page{min-height:100vh}.progress-head{justify-content:space-between;align-items:end;margin-top:24px;display:flex}.progress-head span{color:var(--muted);font-size:13px}.progress-head b{font-size:22px}.progress-head small{color:#9aa5b5;font-weight:500}.progress{background:#e8edf5;border-radius:5px;height:5px;margin-top:10px;overflow:hidden}.progress i{background:var(--blue);height:100%;transition:width .2s;display:block}.question{padding-top:54px}.question>span{text-align:center;color:var(--muted);font-size:14px;display:block}.question h1{text-align:center;letter-spacing:-.02em;margin:18px 0 42px;font-size:42px}.options{gap:12px;display:grid}.options button{border:1px solid var(--line);text-align:left;min-height:62px;color:var(--ink);background:#fff;border-radius:14px;align-items:center;gap:14px;padding:10px 16px;display:flex}.options button b{background:var(--pale);color:#536079;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.options button.chosen{border-color:var(--blue);background:#f4f7ff}.options button.chosen b{background:var(--blue);color:#fff}.submitting{color:var(--muted);justify-content:center;gap:8px;margin:18px;font-size:13px;display:flex}.quiet-tip{text-align:center;color:#9aa5b5;margin-top:24px;font-size:12px}.spinner{border:3px solid #dbe3f1;border-top-color:var(--blue);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin;display:block}.spinner.small{vertical-align:middle;border-width:2px;width:16px;height:16px;display:inline-block}.state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:65vh;display:flex}.state h2{margin:22px 0 8px}.state p{color:var(--muted)}.state .button{margin-top:18px}.state-icon{color:#b42318;background:#fff0ee;border-radius:50%;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.complete{text-align:center;padding:70px 4px}.complete h1{margin:12px 0 34px;font-size:32px;line-height:1.45}.analysis-mark{height:80px;margin-bottom:24px;position:relative}.analysis-mark i{border:1px solid #9bb3ec;border-radius:50%;animation:1.8s infinite pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.analysis-mark i:first-child{background:var(--blue);width:38px;height:38px}.analysis-mark i:nth-child(2){width:60px;height:60px}.analysis-mark i:nth-child(3){width:80px;height:80px}.analysis-list{text-align:left;background:var(--pale);border-radius:16px;padding:12px 20px}.analysis-list p{color:#536079;border-bottom:1px solid #dfe6f1;justify-content:space-between;margin:0;padding:13px 0;display:flex}.analysis-list p:last-child{color:#9aa5b5;border:0}.analysis-list b{color:var(--green)}.report-title{padding:34px 2px 20px}.report-title>span{color:var(--blue);font-size:13px;font-weight:700}.report-title h1{margin:10px 0 22px;font-size:28px}.report-title>div{color:var(--muted);justify-content:space-between;font-size:13px;display:flex}.report-title>div b{color:var(--ink)}.score-summary{background:var(--navy);color:#fff;text-align:center;border-radius:20px;padding:26px}.score-summary span{color:#c9d7f6;font-size:13px}.score-summary h2{margin:12px 0;font-size:40px}.score-summary p{margin:0}.score-summary p b{color:var(--navy);background:#fff;border-radius:20px;margin-left:6px;padding:5px 12px;display:inline-block}.report-note{text-align:center;color:#8a95a8;margin:10px 0 28px;font-size:11px}.report-section{border:1px solid var(--line);border-radius:18px;margin-bottom:14px;padding:20px}.section-title{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.section-title h2{margin:0;font-size:18px}.section-title small{color:var(--muted)}.section-title.sub{justify-content:flex-end;margin-top:24px}.coverage>div{grid-template-columns:76px 1fr 40px;align-items:center;gap:8px;margin:13px 0;font-size:13px;display:grid}.coverage>div>div{background:#e7ecf3;border-radius:8px;height:7px;overflow:hidden}.coverage i{background:var(--blue);border-radius:8px;height:100%;display:block}.coverage b{text-align:right}.coverage-note{color:#8a95a8;margin:18px 0 0;font-size:11px}.report-section.two{grid-template-columns:1fr 1fr;gap:20px;display:grid}.report-section.two p{margin:10px 0;font-size:13px;line-height:1.6}.tag{border-radius:7px;padding:5px 9px;font-size:11px;font-weight:700;display:inline-block}.tag.good{color:var(--green);background:#e8f6f2}.tag.warm{color:var(--warm);background:#fff4e5}.path h2{margin:10px 0 18px;font-size:23px}.path>div{align-items:flex-start;gap:12px;display:flex}.path>div b{background:var(--pale);min-width:25px;height:25px;color:var(--blue);border-radius:50%;place-items:center;font-size:12px;display:grid}.path>div p{font-size:14px;line-height:1.6}.teacher-card{background:var(--navy);color:#fff;border-radius:20px;margin-top:26px;padding:26px}.teacher-card>span{color:#b9c9eb;font-size:12px}.teacher-card h2{margin:10px 0;font-size:24px;line-height:1.5}.teacher-card p{color:#d4def3;font-size:13px;line-height:1.7}.button.light{color:var(--navy);background:#fff;width:100%;margin:20px 0 12px}.teacher-card small{text-align:center;color:#b9c9eb;font-size:11px;display:block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.45;transform:translate(-50%,-50%)scale(1.08)}}@media (min-width:700px){.page-shell{border-radius:22px;min-height:calc(100vh - 48px);margin:24px auto;padding-left:28px;padding-right:28px;box-shadow:0 20px 50px #1b2d4f1a}.value-grid{grid-template-columns:repeat(3,1fr)}.value-grid article{padding:16px}.hero{padding-top:76px}}
