:root{--ink:#1f2924;--muted:#68746e;--paper:#f6f5ef;--card:#fffefa;--line:#e3e4dc;--green:#155d48;--green-2:#dcece4;--orange:#d56a32;--red:#b83a3a;--shadow:0 14px 35px rgba(31,41,36,.07)}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}body{margin:0;min-height:100vh;background:radial-gradient(circle at 10% 0,#edf1e8 0,transparent 27%),var(--paper)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.topbar{height:72px;padding:0 max(28px,calc((100vw - 1180px) / 2));gap:52px;background:rgba(255,254,250,.88);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.brand,.topbar{display:flex;align-items:center}.brand{gap:10px;margin-right:auto}.brand-mark{width:38px;height:38px;display:grid;place-items:center;color:#fff;background:var(--green);border-radius:11px 4px 11px 4px;font-family:serif;font-size:22px}.brand b{display:block;font-family:serif;font-size:20px;letter-spacing:.12em}.brand small{color:var(--muted);display:block;font-size:10px;letter-spacing:.16em}.topbar nav{display:flex;gap:8px;height:100%;align-items:center}.topbar nav a{padding:11px 16px;border-radius:999px;font-size:14px;color:var(--muted);transition:.2s}.topbar nav a.active,.topbar nav a:hover{background:var(--green-2);color:var(--green)}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#263a32;color:white;font-size:11px}main{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:42px 0 80px}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.eyebrow,.hero .eyebrow{color:var(--green);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.hero h1{margin:9px 0 8px;font-family:Georgia,Songti SC,serif;font-size:clamp(34px,5vw,54px);font-weight:600;letter-spacing:-.03em}.hero p{margin:0;color:var(--muted);line-height:1.8}.stats{display:flex;gap:12px}.stat{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:15px 20px;min-width:100px}.stat b{display:block;font-size:22px;font-family:Georgia,serif}.stat span{color:var(--muted);font-size:12px}.toolbar{display:flex;gap:10px;margin:22px 0;flex-wrap:wrap}.pill{border:1px solid var(--line);background:var(--card);color:var(--muted);padding:9px 15px;border-radius:999px}.pill.active{border-color:var(--green);background:var(--green);color:white}.question-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px}.question-card{background:var(--card);border:1px solid var(--line);padding:24px;border-radius:20px;transition:transform .2s,box-shadow .2s}.question-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.card-meta{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.tag{padding:5px 9px;border-radius:7px;background:var(--green-2);color:var(--green);font-weight:650}.question-card h3{font-size:17px;line-height:1.65;margin:16px 0 20px;font-weight:560;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-action{display:flex;align-items:center;justify-content:space-between;color:var(--green);font-size:14px;font-weight:650}.card-action i{font-style:normal;font-size:20px}.panel{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:clamp(24px,5vw,50px);box-shadow:var(--shadow)}.practice-shell{max-width:900px;margin:0 auto}.practice-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;color:var(--muted);font-size:13px}.timer{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;border:1px solid var(--line);padding:8px 13px;border-radius:10px;background:var(--card)}.question-title{margin:18px 0 28px;font-size:23px;line-height:1.75;font-weight:570}.options{display:grid;grid-gap:12px;gap:12px}.option{display:flex;gap:16px;align-items:flex-start;padding:17px 18px;border:1px solid var(--line);border-radius:15px;background:transparent;color:var(--ink);text-align:left;width:100%;transition:.18s}.option:hover{border-color:#a8bcb2;background:#fafcf9}.option.selected{border-color:var(--green);background:var(--green-2)}.option .letter{flex:0 0 30px;height:30px;border:1px solid #bdc6c1;border-radius:50%;display:grid;place-items:center;font-weight:700}.option.selected .letter{background:var(--green);color:#fff;border-color:var(--green)}.submit-row{display:flex;justify-content:flex-end;gap:12px;margin-top:28px}.button{border:0;border-radius:12px;padding:12px 22px;font-weight:650;background:var(--green);color:#fff;transition:.18s}.button:hover{filter:brightness(.93)}.button:disabled{opacity:.45;cursor:not-allowed}.button.secondary{background:var(--card);border:1px solid var(--line);color:var(--ink)}.button.ghost{background:transparent;color:var(--green);border:1px solid var(--green)}.result-banner{display:flex;gap:18px;align-items:center;padding:26px;border-radius:20px;margin-bottom:18px;background:#e8f1eb;border:1px solid #ccdcd2}.result-banner.wrong{background:#faece9;border-color:#ead1cc}.result-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:25px;background:var(--green);color:#fff}.wrong .result-icon{background:var(--red)}.result-banner h1{margin:0 0 4px;font-size:23px}.result-banner p{margin:0;color:var(--muted)}.explanation{margin:18px 0;padding:24px;background:var(--card);border:1px solid var(--line);border-radius:18px}.explanation h3{margin:0 0 10px;font-size:15px}.explanation p{margin:0;line-height:1.8;color:#4d5a54}.shortcut-card{margin:18px 0;padding:28px;border-radius:20px;background:#173f34;color:#f6faf7;box-shadow:0 18px 40px rgba(21,93,72,.18)}.shortcut-card .eyebrow{color:#acd8c5;display:flex;align-items:center;gap:8px}.shortcut-card .spark{font-size:18px;color:#f0bf72}.shortcut-card .confidence{margin-left:auto;color:#94b8a8;font-size:11px;letter-spacing:0}.shortcut-card h2{font-family:Georgia,Songti SC,serif;font-size:24px;line-height:1.5;margin:16px 0 23px}.shortcut-card ol{list-style:none;padding:0;display:grid;grid-gap:13px;gap:13px}.shortcut-card li{display:flex;gap:14px;align-items:flex-start}.shortcut-card li>span{flex:0 0 28px;height:28px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.12);color:#bde1d2;font-weight:700}.shortcut-card li p{margin:3px 0;color:#e1ece7;line-height:1.6}.shortcut-card footer{border-top:1px solid rgba(255,255,255,.14);padding-top:18px;margin-top:20px;display:flex;gap:28px;color:#adc4ba;font-size:13px}.shortcut-card footer b{color:white;margin-left:5px}.transfer{margin-top:22px;border-top:1px dashed var(--line);padding-top:24px}.transfer h2{font-size:19px}.state{min-height:260px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--muted)}.spinner{width:20px;height:20px;border:2px solid #cbd4cf;border-top:2px solid var(--green);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.empty{padding:60px 20px;text-align:center;color:var(--muted);background:var(--card);border:1px dashed var(--line);border-radius:20px}.empty h3{color:var(--ink);margin:10px 0 5px}.empty p{margin:0 0 15px}.empty-icon{width:42px;height:42px;border-radius:50%;background:var(--green-2);color:var(--green);display:grid;place-items:center;margin:auto;font-size:21px}.history-list{display:grid;grid-gap:12px;gap:12px}.history-item{display:grid;grid-template-columns:1fr auto auto;align-items:center;grid-gap:24px;gap:24px;padding:20px 22px;background:var(--card);border:1px solid var(--line);border-radius:16px}.history-item h3{font-size:15px;margin:4px 0;font-weight:570}.history-item p{margin:0;color:var(--muted);font-size:12px}.status-badge{border-radius:999px;padding:6px 10px;font-size:12px;color:var(--green);background:var(--green-2)}.status-badge.wrong{color:var(--red);background:#fae3e0}.essay-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.essay-card{padding:26px;border-radius:20px;min-height:230px;background:#243d35;color:white;display:flex;flex-direction:column}.essay-card:nth-child(2n){background:#684a3e}.essay-card .eyebrow{color:#b4d9ca}.essay-card h2{font-family:Georgia,Songti SC,serif;font-size:23px;line-height:1.45}.essay-card p{color:#ccd7d1;line-height:1.65;font-size:13px}.essay-card .card-action{margin-top:auto;color:white}.materials{border-left:3px solid var(--green);padding-left:18px;margin:22px 0}.materials p{color:var(--muted);line-height:1.7;font-size:14px}.essay-tabs{display:flex;gap:8px;margin:20px 0}.editor{width:100%;min-height:380px;resize:vertical;padding:20px;border:1px solid var(--line);border-radius:15px;background:#fff;line-height:1.9;outline:none}.editor:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(21,93,72,.08)}.editor-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin-top:8px}.upload{padding:60px 20px;text-align:center;border:1.5px dashed #aebbb4;border-radius:16px;background:#fbfcf9}.upload input{max-width:260px}.score-head{display:grid;grid-template-columns:160px 1fr;grid-gap:30px;gap:30px;align-items:center}.score-ring{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) calc(var(--score) * 1%),#e3e9e5 0);position:relative}.score-ring:before{content:"";position:absolute;inset:10px;background:var(--card);border-radius:50%}.score-ring div{position:relative;text-align:center}.score-ring b{display:block;font:40px Georgia,serif}.score-ring span{color:var(--muted);font-size:11px}.dimensions{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:10px;gap:10px}.dimension{padding:14px;background:#f2f4ef;border-radius:12px}.dimension b{font-size:20px;display:block;margin-top:7px}.dimension span{color:var(--muted);font-size:11px}.review-layout{display:grid;grid-template-columns:1.45fr .8fr;grid-gap:18px;gap:18px;margin-top:22px}.feedback-list,.review-text{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px}.review-text article{white-space:pre-wrap;line-height:2;color:#35443d}.review-text mark{background:#fae0a9;border-bottom:2px solid #dd9f39;padding:2px 0;cursor:pointer}.review-text mark.active{background:#ffc969;outline:3px solid rgba(213,106,50,.18)}.feedback{border-bottom:1px solid var(--line);padding:14px 0;display:block;width:100%;border-width:0 0 1px;background:transparent;text-align:left}.feedback:last-child{border-bottom:0}.feedback b{font-size:13px;color:var(--orange)}.feedback p{font-size:13px;line-height:1.6;color:var(--muted)}.original-preview{margin-top:22px;text-align:center}.original-preview iframe,.original-preview img{width:100%;max-height:720px;object-fit:contain;border:1px solid var(--line);border-radius:12px;margin-top:16px;background:#eee}.original-preview iframe{height:680px}.ocr-blocks{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.ocr-blocks>div{display:grid;grid-template-columns:auto 1fr auto;grid-gap:10px;gap:10px;padding:10px;border-radius:9px;background:#f2f4ef;font-size:12px}.ocr-blocks small{color:var(--muted)}.admin-login{max-width:560px;margin:auto;display:grid;grid-gap:12px;gap:12px}.admin-login input,.modal input,.modal textarea{padding:12px 14px;border:1px solid var(--line);border-radius:10px}.admin-login p,.job-error{color:var(--red)}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-bottom:24px}.admin-stats>div{padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.admin-stats span,.job-metric small{display:block;color:var(--muted);font-size:12px}.admin-stats b{display:block;margin-top:8px;font:30px Georgia,serif}.status-summary{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:10px;gap:10px;margin:-10px 0 24px}.status-summary>div{display:grid;grid-gap:3px;gap:3px;padding:12px 15px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.status-summary small,.status-summary span{color:var(--muted);font-size:11px}.notice{padding:12px 16px;margin-bottom:16px;border-radius:10px;color:var(--green);background:var(--green-2)}.admin-table{display:grid;grid-gap:10px;gap:10px}.admin-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;grid-gap:14px;gap:14px;padding:18px;background:var(--card);border:1px solid var(--line);border-radius:14px}.admin-row h3{margin:8px 0;font-size:14px}.admin-row small{color:var(--muted)}.admin-row.job{grid-template-columns:minmax(280px,1fr) auto repeat(3,90px) auto}.job-metric{text-align:right;font-size:12px}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:rgba(15,25,21,.55)}.modal{width:min(650px,100%);display:grid;grid-gap:12px;gap:12px}.modal textarea{min-height:120px}.filter-bar{display:flex;gap:14px;margin-bottom:18px}.filter-bar label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.filter-bar select{padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card)}.admin-form{display:grid;grid-gap:12px;gap:12px;margin-bottom:26px}.admin-form input,.admin-form textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff}.admin-form textarea{min-height:100px;resize:vertical}.section-title{margin:28px 0 14px;font:26px Georgia,Songti SC,serif}.login-panel{max-width:520px;margin:60px auto}.login-panel h1{font:38px Georgia,Songti SC,serif;margin-bottom:8px}.login-panel>p{color:var(--muted)}.login-panel form{display:grid;grid-gap:14px;gap:14px;margin-top:24px}.login-panel input{padding:13px 15px;border:1px solid var(--line);border-radius:10px}.code-field{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px}.code-field .button{min-width:126px;white-space:nowrap}.audit{margin-top:10px;color:var(--green)}.audit pre{max-height:260px;overflow:auto;padding:12px;border-radius:9px;background:#f2f4ef;color:var(--ink);white-space:pre-wrap;font-size:11px}@media (max-width:760px){.topbar{padding:0 16px;height:64px}.topbar nav{position:fixed;bottom:0;left:0;right:0;height:62px;background:var(--card);border-top:1px solid var(--line);justify-content:space-around;z-index:30}.topbar nav a{font-size:12px;padding:9px}.avatar{display:none}main{width:min(100% - 24px,1180px);padding-top:26px;padding-bottom:90px}.hero{display:block}.stats{margin-top:20px}.essay-grid,.question-grid{grid-template-columns:1fr}.history-item{grid-template-columns:1fr auto}.code-field{grid-template-columns:1fr}.history-item .button{grid-column:1/-1}.review-layout,.score-head{grid-template-columns:1fr}.score-ring{margin:auto}.admin-stats,.dimensions,.status-summary{grid-template-columns:repeat(2,1fr)}.admin-row,.admin-row.job{grid-template-columns:1fr auto}}