:root{font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#132750;background:#f3f6fc;font-synthesis:none;--blue:#1757e8;--muted:#687893;--line:#e2e9f4}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible{outline:3px solid #80b2ff;outline-offset:3px}input:focus,textarea:focus,select:focus{outline:3px solid #dbe8ff;border-color:var(--blue)}a{color:var(--blue);text-decoration:none}.shell{max-width:1220px;margin:auto;padding:0 32px}.topbar{height:92px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-size:19px;font-weight:800;letter-spacing:1px}.brand-mark{display:inline-grid;place-items:center;background:var(--blue);color:white;width:43px;height:43px;border-radius:13px;box-shadow:0 8px 20px #1757e825;font-weight:800}.brand small{display:block;font-size:10px;color:var(--muted);letter-spacing:2px;margin-top:4px}.nav{display:flex;align-items:center;gap:9px}.nav button{border:0;background:none;color:var(--muted);padding:10px}.nav .active{color:var(--blue);font-weight:700}main{padding:42px 0 70px}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center;min-height:540px}.eyebrow{color:var(--blue);font-size:12px;letter-spacing:2px;font-weight:800;display:flex;align-items:center;gap:9px}.eyebrow:before{content:'';display:inline-block;width:22px;height:3px;background:var(--blue)}h1{font-size:clamp(36px,4.8vw,61px);line-height:1.25;letter-spacing:-2px;margin:22px 0}h1 em{font-style:normal;color:var(--blue)}h2{font-size:27px;margin:0 0 13px;letter-spacing:-.5px}h3{margin:0 0 14px;font-size:18px}p{line-height:1.8}.lead{color:var(--muted);max-width:450px;font-size:15px}.hero-stat{display:flex;gap:36px;margin:32px 0}.hero-stat strong{display:block;font-size:32px;letter-spacing:-1px}.hero-stat span{font-size:12px;color:var(--muted)}.card{background:white;border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:0 9px 30px #233e7210}.entry-card{position:relative;padding:39px;box-shadow:0 22px 60px #17409b12}.entry-card:before{content:'';height:5px;background:var(--blue);position:absolute;left:30px;right:30px;top:0;border-radius:0 0 6px 6px}.muted{color:var(--muted)}.small{font-size:12px;line-height:1.8}.field{display:block;margin:20px 0}.field>span,.field>label{display:block;font-size:13px;font-weight:650;margin-bottom:9px}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{border:1px solid #d8e1ef;background:#fbfcff;border-radius:10px;padding:13px 14px;width:100%;min-width:0;color:#132750}textarea{min-height:105px;resize:vertical}.btn{border:1px solid var(--line);border-radius:10px;padding:12px 19px;background:#fff;color:#25416f;font-weight:650;display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:45px}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 7px 15px #1757e81c}.btn.danger{color:#bc324c;background:#fff5f6;border-color:#f3d5dd}.btn.ghost{background:transparent}.btn.wide{width:100%}.btn:hover{filter:brightness(.97);transform:translateY(-1px)}.btn.tiny{font-size:12px;padding:7px 12px;min-height:34px}.capabilities{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding-top:28px;border-top:1px solid var(--line)}.capability{padding:20px 12px}.capability b{display:block;margin:12px 0 7px}.capability svg{width:29px;height:29px;stroke:var(--blue);fill:none;stroke-width:1.7}.note{padding:14px 18px;background:#eef4ff;border-radius:11px;font-size:13px;color:#41618d;line-height:1.7}.footer{color:#8b98ad;font-size:11px;padding:24px 0;border-top:1px solid var(--line);text-align:center;line-height:1.9}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}.page-head p{margin:4px 0}.grid{display:grid;gap:22px}.two{grid-template-columns:1fr 1fr}.three{grid-template-columns:repeat(3,1fr)}.rule-list{padding-left:21px;color:#526684;line-height:2.2;font-size:14px}.policy{display:flex;gap:14px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.policy:last-child{border:0}.badge{display:inline-block;padding:5px 9px;border-radius:6px;background:#eef3fc;color:#567097;font-size:11px;white-space:nowrap}.badge.blue{color:var(--blue);background:#eaf1ff}.badge.green{background:#e9f7ef;color:#238254}.badge.orange{background:#fff4dd;color:#a77613}.exam-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:15px}.timer{font-size:27px;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:1px}.timer.warn{color:#cd4d29}.exam-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:23px;align-items:start}.question{padding:35px}.question-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.question-heading .count{font-size:14px;color:var(--muted)}.question-stem{white-space:pre-wrap;line-height:1.95;font-size:19px;margin:25px 0}.question-image{display:block;max-height:350px;max-width:100%;margin:20px auto;border-radius:12px;cursor:zoom-in;border:1px solid var(--line)}.image-help{text-align:center;font-size:11px;color:var(--muted);margin-top:-9px}.option{display:flex;align-items:flex-start;gap:13px;border:1px solid var(--line);border-radius:12px;padding:17px;margin:11px 0;cursor:pointer;line-height:1.6}.option:hover{background:#f7faff;border-color:#a5c3ff}.option:has(input:checked){background:#edf4ff;border-color:var(--blue);color:#1645ad}.option input{accent-color:var(--blue);width:18px;height:18px;margin-top:3px;flex-shrink:0}.option .letter{font-weight:700}.question-actions{display:flex;justify-content:space-between;gap:10px;margin-top:30px;padding-top:23px;border-top:1px solid var(--line)}.answer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:20px 0}.answer-grid button{border:1px solid var(--line);background:#f8faff;border-radius:9px;min-height:43px;color:#71819a;position:relative;font-weight:650}.answer-grid .answered{color:var(--blue);background:#eaf2ff;border-color:#c8dbff}.answer-grid .current{outline:2px solid var(--blue);outline-offset:2px}.answer-grid .flagged:after{content:'★';position:absolute;right:0;top:-7px;color:#da9a19;font-size:13px}.legend{font-size:11px;line-height:2.2;color:var(--muted)}.save-state{font-size:12px;color:#4b7a66;min-height:20px}.save-state.error{color:#bd3a43}.side-card{padding:23px}.progress-track{height:5px;background:#eaf0fa;border-radius:10px;overflow:hidden;margin-top:15px}.progress-track span{display:block;background:var(--blue);height:100%}.mobile-card-toggle{display:none}.result-hero{text-align:center;padding:37px}.score{font-size:86px;font-weight:800;letter-spacing:-5px;color:var(--blue);line-height:1.3}.score small{font-size:20px;letter-spacing:0;color:#8495af}.result-sub{display:flex;justify-content:center;gap:30px;margin:18px 0}.ability{display:grid;grid-template-columns:80px 1fr 60px;gap:15px;align-items:center;margin:18px 0;font-size:13px}.ability .progress-track{margin:0;height:8px}.review{margin-top:20px}.review .question-stem{font-size:16px}.review-answer{padding:17px;background:#f5f8fd;border-radius:10px;margin-top:12px;font-size:13px;white-space:pre-wrap;line-height:1.9}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.toolbar input{flex:2;min-width:160px!important}.toolbar select{flex:1;min-width:100px;width:auto}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap}th{text-align:left;font-size:11px;color:#7d8ca3;font-weight:600;background:#f7f9fd}td,th{padding:17px 14px;border-bottom:1px solid var(--line)}td .title-cell{white-space:normal;min-width:180px;max-width:330px;line-height:1.6}td .btn{margin:2px}.empty{text-align:center;padding:50px;color:var(--muted)}.admin-tabs{display:flex;gap:7px;background:#e9eef8;padding:5px;border-radius:11px;width:max-content;max-width:100%;overflow:auto;margin:25px 0}.admin-tabs button{border:0;background:none;white-space:nowrap;padding:11px 20px;color:#71819b;border-radius:8px}.admin-tabs .active{color:var(--blue);background:#fff;box-shadow:0 2px 6px #213c7610}.stat-card strong{display:block;font-size:32px;margin:12px 0}.stat-card span{font-size:12px;color:var(--muted)}.editor{max-width:850px;margin:auto}.editor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.editor .field{margin:16px 0}.option-editor{display:grid;grid-template-columns:30px 1fr 40px;align-items:center;gap:10px;margin:10px 0}.option-editor input[type=checkbox],.option-editor input[type=radio]{width:19px;height:19px;accent-color:var(--blue)}.switch-label{display:flex;align-items:center;gap:9px;font-size:14px}.switch-label input{accent-color:var(--blue);width:17px;height:17px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.boot{height:80vh;display:grid;place-content:center;text-align:center}.boot .brand-mark{margin:auto}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:100;background:#132750;color:white;border-radius:11px;padding:14px 23px;box-shadow:0 8px 40px #11234b30;font-size:13px;max-width:90vw;display:none}dialog{border:1px solid var(--line);border-radius:19px;padding:28px;max-width:570px;width:calc(100% - 35px);color:#132750;box-shadow:0 22px 90px #061a4d40}dialog::backdrop{background:#10244c80;backdrop-filter:blur(3px)}dialog h2{font-size:23px}dialog .modal-image{max-width:100%;max-height:78vh;display:block;margin:auto}dialog:has(.modal-image){max-width:1100px}.notice{padding:13px 16px;border:1px solid #efd7a0;background:#fff9eb;color:#967022;border-radius:10px;font-size:13px;margin-bottom:20px}.user-policy{display:flex;gap:8px}.user-policy select{padding:8px;font-size:12px;min-width:120px}.nowrap{white-space:nowrap}
@media(max-width:900px){.shell{padding:0 22px}.hero{gap:30px;grid-template-columns:1fr 1fr}.entry-card{padding:27px}.exam-layout{grid-template-columns:minmax(0,1fr) 210px}.question{padding:25px}.three{grid-template-columns:repeat(3,1fr)}.nav{font-size:12px}.hero-stat{gap:25px}}
@media(max-width:650px){.shell{padding:0 17px}.topbar{height:77px}.brand{font-size:16px;gap:9px}.brand-mark{width:36px;height:36px;border-radius:10px}.brand small{font-size:8px}.nav{gap:0}.nav button{padding:8px 6px;font-size:11px}.nav .user-name{display:none}main{padding-top:28px}.hero{grid-template-columns:1fr;gap:22px;min-height:0}.hero h1{margin:17px 0;font-size:43px}.lead{font-size:14px}.hero-stat{margin:22px 0;justify-content:space-between;max-width:320px}.hero-stat strong{font-size:28px}.entry-card{padding:27px}.capabilities{grid-template-columns:1fr 1fr;gap:0;margin-top:35px}.capability{padding:18px 10px}.two,.three{grid-template-columns:1fr}.card{padding:23px;border-radius:17px}.page-head{align-items:flex-start}.page-head h2{font-size:23px}.exam-layout{grid-template-columns:1fr}.exam-layout>aside{order:-1}.side-card{padding:15px 18px}.side-card .card-body{display:none}.side-card.open .card-body{display:block}.mobile-card-toggle{display:inline-flex;border:0;background:none;color:var(--blue);font-size:12px;float:right}.side-card h3{margin:0;font-size:14px}.exam-top{margin-bottom:17px}.timer{font-size:23px}.question-stem{font-size:17px;margin:21px 0}.question{padding:23px 20px}.question-heading{flex-wrap:wrap}.option{padding:14px 11px;font-size:14px}.question-actions{flex-wrap:wrap}.question-actions .btn{padding:10px 14px;min-height:43px;font-size:12px}.answer-grid{grid-template-columns:repeat(7,1fr);gap:7px}.answer-grid button{min-height:38px}.score{font-size:73px}.result-sub{gap:18px;font-size:12px}.toolbar{gap:8px}.toolbar select{min-width:110px}.admin-tabs{width:100%}.admin-tabs button{padding:10px 16px}.editor-grid{grid-template-columns:1fr 1fr}.footer{font-size:10px}.user-policy{flex-direction:column}.stat-card strong{font-size:26px}.grid.three:has(.stat-card){grid-template-columns:repeat(3,1fr);gap:9px}.stat-card{padding:14px}.stat-card span{font-size:10px}dialog{padding:23px}.question-actions .flag-button{order:3;width:100%}}

@media(max-width:650px){.topbar{gap:8px}.brand{flex-shrink:0;font-size:15px;letter-spacing:0}.brand small{display:none}.nav{flex-shrink:0}.nav button{white-space:nowrap;padding:8px 6px;font-size:11px}.topbar .badge{font-size:10px;padding:5px 7px}}
@media(max-width:360px){.brand{gap:6px;font-size:14px}.brand-mark{width:31px;height:31px}.nav button{padding:8px 4px;font-size:10px}}

.conflict-answer{white-space:pre-wrap;overflow-wrap:anywhere;min-width:100px;max-width:220px;font-size:12px;line-height:1.7}dialog:has(.conflict-answer){max-width:850px}dialog .table-wrap{max-height:50vh;overflow:auto}
