:root{--ink:#17232b;--muted:#728089;--line:#dfe6e7;--paper:#f7f8f5;--teal:#137d77;--teal-dark:#0b625d;--gold:#c69245;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.26;background-image:linear-gradient(120deg,rgba(19,125,119,.04) 1px,transparent 1px),linear-gradient(30deg,rgba(198,146,69,.035) 1px,transparent 1px);background-size:36px 36px}.topbar{height:72px;background:rgba(255,255,255,.88);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1120px)/2));position:relative;z-index:1}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:31px;height:31px;border-radius:8px;background:var(--teal);color:#fff;display:grid;place-items:center;font-family:Georgia;font-size:19px}.brand strong{display:block;font-size:15px}.brand small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.status{font-size:12px;color:var(--muted);display:flex;gap:7px;align-items:center}.status-dot{width:7px;height:7px;background:#3da982;border-radius:50%}.shell{max-width:1120px;margin:0 auto;padding:62px 24px 80px;position:relative;z-index:1}.intro{max-width:720px;margin-bottom:40px}.eyebrow,.card-label{font-size:10px;font-weight:700;letter-spacing:1.8px;color:var(--teal)}h1{font:600 clamp(36px,5vw,62px)/1.1 Georgia,"Songti SC",serif;margin:15px 0 18px;letter-spacing:-1.5px}h1 em{font-style:normal;color:var(--teal)}.intro p{font-size:16px;line-height:1.8;color:#64737a;max-width:600px;margin:0}.proof-row{display:flex;gap:22px;flex-wrap:wrap;margin-top:24px;color:#64737a;font-size:12px}.workspace,.result{background:var(--white);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 35px rgba(23,35,43,.06);padding:30px 34px}.stepper{display:flex;align-items:center;gap:13px;margin-bottom:28px}.step{display:flex;align-items:center;gap:8px;color:#a2adb0;font-size:12px}.step span{width:27px;height:27px;border:1px solid #cfd8d9;border-radius:50%;display:grid;place-items:center;font:11px Georgia}.step.active{color:var(--teal)}.step.active span{border-color:var(--teal);background:var(--teal);color:#fff}.step b{font-weight:600}.stepper i{height:1px;background:var(--line);width:45px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 18px}.field{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600;color:#3e4e55}.field select,.field textarea{border:1px solid var(--line);background:#fbfcfb;border-radius:6px;padding:12px 13px;color:var(--ink);font:14px inherit;outline:none;transition:.2s}.field select:focus,.field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(19,125,119,.1)}.essay-field{margin-top:22px}.field small{font-weight:400;color:#9aa6a9;margin-left:6px}.field textarea{min-height:108px;resize:vertical;line-height:1.7}.form-foot{display:flex;align-items:center;justify-content:space-between;margin-top:23px}.privacy{font-size:11px;color:#93a0a3}.privacy span{color:var(--teal);font-size:17px;margin-right:6px}.primary,.secondary,.ghost,.icon-button{border:0;cursor:pointer;font:600 13px inherit;transition:.2s}.primary{background:var(--teal);color:white;padding:13px 19px;border-radius:6px}.primary:hover{background:var(--teal-dark);transform:translateY(-1px)}.primary span{font-size:18px;margin-left:10px}.result-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:27px}.result h2{font:600 30px Georgia,serif;margin:8px 0 6px}.result-head p{color:var(--muted);font-size:13px;margin:0}.ghost{color:var(--teal);background:transparent;padding:7px;border-bottom:1px solid rgba(19,125,119,.35)}.result-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:18px}.template-card,.mini-card{border:1px solid var(--line);border-radius:7px;padding:23px;background:#fdfefd}.card-label{display:flex;justify-content:space-between}.card-label span{color:var(--gold);letter-spacing:0;font-size:10px}.template-card h3{font:600 21px Georgia,serif;margin:16px 0 20px}.sentences{display:grid;gap:11px}.sentence{padding:13px 14px;border-left:3px solid var(--teal);background:#f4f8f7;font-size:15px;line-height:1.65}.sentence .tag{font-size:10px;color:var(--teal);display:block;margin-bottom:3px;font-weight:700}.sentence .slot{color:var(--gold);font-weight:600}.card-note{border-top:1px solid var(--line);margin-top:20px;padding-top:15px}.card-note b{font-size:12px}.card-note p{font-size:12px;color:var(--muted);line-height:1.7;margin:6px 0 0}.side-stack{display:grid;gap:18px;align-content:start}.mini-card ul{padding-left:18px;margin:16px 0 0;color:#56666c;font-size:13px;line-height:2}.practice{display:flex;justify-content:space-between;align-items:flex-end;background:#f0f6f4;border-color:#c9e1dc}.practice h3{margin:15px 0 8px;font:600 18px Georgia,serif}.practice p{color:#65767b;font-size:12px;line-height:1.6;margin:0;max-width:230px}.icon-button{width:40px;height:40px;border-radius:50%;background:var(--teal);color:white;font-size:20px}.locked{margin-top:18px;border:1px solid #e8d9bd;background:#fffaf1;padding:17px 19px;display:flex;align-items:center;justify-content:space-between;gap:18px}.locked>div{display:flex;align-items:center;gap:12px}.lock{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#f2e2c4;color:var(--gold)}.locked b{font-size:13px}.locked p{font-size:11px;color:#8d806c;margin:5px 0 0}.secondary{background:var(--gold);color:#fff;padding:12px 15px;border-radius:5px;white-space:nowrap}.secondary:hover{background:#ab7832}footer{text-align:center;font-size:11px;color:#9ba5a7;padding-bottom:28px}@media(max-width:700px){.shell{padding:38px 15px 60px}.topbar{padding:0 15px}h1{font-size:41px}.intro p{font-size:14px}.workspace,.result{padding:22px 18px}.form-grid{grid-template-columns:1fr 1fr;gap:16px 12px}.stepper{gap:7px}.stepper i{width:18px}.step b{display:none}.form-foot{align-items:flex-end;gap:14px}.privacy{max-width:170px;line-height:1.5}.result-grid{grid-template-columns:1fr}.result h2{font-size:25px}.locked{align-items:flex-start;flex-direction:column}.secondary{width:100%}}

.form-title{font-size:23px;margin:12px 0 24px}.consent{display:flex;align-items:flex-start;gap:10px;margin-top:20px;font-size:12px;line-height:1.8;color:#64737a}.consent input{margin-top:5px;accent-color:var(--teal);flex-shrink:0}.message{background:#f0f6f4;border:1px solid #c9e1dc;border-radius:6px;padding:13px 16px;font-size:13px;line-height:1.8;margin-bottom:20px}.message.error{margin-top:16px;background:#fff4f0;border-color:#ecc4b5;color:#943c24}.error{color:#943c24}.explanation,.advice{font-size:12px;line-height:1.8;color:#64737a;margin:8px 0 0}.result-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px}.result-actions p{font-size:12px;color:var(--muted);flex:1}.history-section{margin-top:36px}.history-heading{display:flex;align-items:center;justify-content:space-between}.history-heading h2{font-size:21px}.history-help,.empty{font-size:12px;line-height:1.8;color:var(--muted)}.history-row{background:#fff;padding:15px 18px;border:1px solid var(--line);border-radius:6px;margin-top:10px;display:flex;gap:16px;align-items:center;justify-content:space-between;font-size:13px}.history-row button{flex-shrink:0}button:disabled{opacity:.55;cursor:wait}#sources{overflow-wrap:anywhere}#result-subtitle{overflow-wrap:anywhere;line-height:1.8;max-width:700px}.field input{font:inherit}.status{max-width:180px;text-align:right;line-height:1.6}.english{overflow-wrap:anywhere}@media(max-width:700px){.form-grid{grid-template-columns:1fr}.form-foot{align-items:stretch;flex-direction:column}.primary{width:100%}.privacy{max-width:none}.result-actions p{flex-basis:100%}.history-row{font-size:12px}.result-head{gap:12px}.result-head .ghost{flex-shrink:0}.status{font-size:10px;max-width:135px}}@media print{body:before,.topbar,.intro,.workspace,.history-section,footer,.result-head button,.result-actions button{display:none!important}.shell{padding:0;max-width:none}.result{border:0;box-shadow:none;padding:0}.result-grid{display:block}.mini-card,.sentence{break-inside:avoid}.side-stack{margin-top:20px}.template-card,.mini-card{margin-bottom:15px}.result-actions{display:block}.message{background:#fff}.sentence{border-color:#777}}

[hidden]{display:none!important}.learning-panel,.draft-section{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.learning-panel h3,.draft-section h3{font-size:19px}.learning-panel p,.learning-panel li{font-size:13px;line-height:1.9;color:#4b6168}.learning-panel details{border:1px solid var(--line);border-radius:7px;padding:14px 16px;margin:14px 0}.learning-panel summary{cursor:pointer;color:var(--teal);font-weight:600;font-size:13px}.replacement-row{padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.replacement-row code{font-size:12px;color:var(--teal)}.replacement-row p{margin:4px 0}.replacement-row small{color:var(--muted)}#practice-draft{font-family:Georgia,"Times New Roman",serif;font-size:16px;line-height:1.8;min-height:260px;width:100%;background:#fff}#draft-stats,#copy-status{font-size:12px;color:var(--teal);line-height:1.8}#copy-status{margin-left:10px}select option:disabled{color:#999}@media print{.draft-section textarea{height:auto;min-height:380px}.draft-section button,#copy-status{display:none!important}.learning-panel details{break-inside:avoid}}

@media print{#practice-draft{display:none!important}#print-draft{display:block!important;white-space:pre-wrap;overflow-wrap:anywhere;font:15px/1.8 Georgia,serif}}

.example-text{font:16px/1.8 Georgia,serif;white-space:pre-wrap;overflow-wrap:anywhere;background:#f8f6ef;padding:18px;border-radius:12px}

.full-result{max-width:900px;margin:0 auto}.download-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.full-draft-field{margin-top:24px}.full-draft-field>span{font-size:13px}#download-status{color:var(--teal);font-size:13px;line-height:1.8}#practice-draft{padding:28px;max-width:100%;min-height:480px;line-height:1.85;border:1px solid #dfe6e7;box-shadow:0 8px 22px #17232b06}#template-heading{font-size:18px;margin-top:24px}@media(max-width:700px){.download-bar{display:grid;grid-template-columns:1fr}.download-bar .primary,.download-bar .secondary{width:100%}#practice-draft{padding:18px;font-size:16px}.full-result .result-head{flex-wrap:wrap}}

.exam-overview{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 24px;margin:0 0 24px;font-size:13px;line-height:1.9}.exam-overview summary{font-weight:600;color:var(--teal);cursor:pointer}.exam-overview p{margin:14px 0 0}.exam-overview a{color:var(--teal)}.table-wrap{overflow-x:auto;margin-top:18px}.exam-overview table{border-collapse:collapse;width:100%;min-width:400px}.exam-overview th,.exam-overview td{padding:12px;text-align:left;border:1px solid var(--line);vertical-align:top}.exam-overview th{background:#f2f7f5}.edition-field{min-width:180px}.translation-panel{margin-top:30px;border-top:1px solid var(--line);padding-top:12px}.bilingual-paragraph{margin:20px 0;padding:20px 22px;background:#f5f8f7;border-left:3px solid var(--teal);border-radius:0 8px 8px 0}.sentence-pair{margin:0 0 17px;break-inside:avoid}.sentence-pair:last-child{margin-bottom:0}.pair-en{font:17px/1.7 Georgia,"Times New Roman",serif;margin:0;overflow-wrap:anywhere}.pair-zh{font-size:13px;line-height:1.9;color:#4e656b;margin:5px 0 0;overflow-wrap:anywhere}#restore-translation-source{margin-bottom:15px}button:disabled{cursor:not-allowed}@media(max-width:700px){.exam-overview{padding:17px}.bilingual-paragraph{padding:16px}.edition-field{width:100%}}@media print{.exam-overview,.translation-panel,.download-bar,#download-status{display:none!important}}

/* Community entry points and private feedback. */
.topbar{position:sticky;top:0;z-index:20;height:auto;min-height:72px;gap:16px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;background:rgba(255,255,255,.97)}
.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-left:auto}
.topbar-actions .status{max-width:190px}.community-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 13px;border:1px solid #bfd9d6;border-radius:7px;background:#f4f9f7;color:var(--teal);font:600 13px inherit;cursor:pointer;white-space:nowrap}
.community-button:hover{background:#e8f3ef}.community-button:focus-visible,.dialog-close:focus-visible,.history-section>summary:focus-visible{outline:3px solid #c69245;outline-offset:3px}
.history-section{background:#fff;border:1px solid var(--line);border-radius:10px}
.history-section>summary{padding:19px 22px;cursor:pointer;color:var(--ink);font-size:18px;font-weight:600;list-style-position:inside}
.history-count{display:inline-block;margin-left:9px;color:var(--muted);font-size:12px;font-weight:400;vertical-align:middle}
.history-content{padding:0 22px 22px}.history-heading{justify-content:flex-end}.history-heading .ghost{min-height:40px}
.feedback-dialog{color:var(--ink);width:min(560px,calc(100% - 32px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;border:1px solid var(--line);border-radius:14px;padding:26px;box-shadow:0 24px 80px #17232b40}
.feedback-dialog::backdrop{background:#17232b80}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.dialog-heading h2{font-size:23px;margin:0}.dialog-close{width:40px;height:40px;border:0;border-radius:7px;background:#f1f5f3;color:var(--ink);font-size:25px;cursor:pointer}
.feedback-dialog .history-help{margin:12px 0 22px}.feedback-dialog .field select,.feedback-dialog .field textarea{font-size:15px}
.feedback-content-field{margin-top:20px}.feedback-dialog textarea{width:100%;min-height:150px;max-height:40vh}
.feedback-count{color:var(--muted);font-size:12px;text-align:right;margin:7px 0 15px}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-top:22px}
.dialog-actions .primary{min-width:116px}.dialog-actions .ghost{min-height:44px}.feedback-success p{font-size:14px;line-height:2;color:#4e656b}.feedback-success strong{font-size:18px;color:var(--teal)}
@media(max-width:700px){.topbar{gap:10px;padding-top:10px;padding-bottom:10px}.topbar-actions{gap:8px}.topbar-actions .status{flex-basis:100%;max-width:none;justify-content:flex-end;order:2}.community-button{font-size:12px;padding:8px 10px}.feedback-dialog{padding:20px;width:calc(100% - 24px)}.dialog-actions .primary{width:auto}.feedback-dialog .field select,.feedback-dialog .field textarea{font-size:16px}.history-section>summary{padding:17px}.history-content{padding:0 17px 17px}}
@media print{.feedback-dialog{display:none!important}}
