:root{font-family:Arial,Helvetica,sans-serif;color:#20201e;background:#fafaf8;font-synthesis:none;--ink:#20201e;--accent:#20201e;--muted:#666762;--line:#d4d5cf;--serif:"Baskerville","Iowan Old Style",Georgia,"Songti SC",serif;--hanzi:"Kaiti SC",KaiTi,STKaiti,serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,select,summary{cursor:pointer}button{transition:background .18s,color .18s,border-color .18s}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,#words:focus-visible{outline:2px solid #20201e;outline-offset:5px}input:focus,select:focus,textarea:focus{outline:1px solid #20201e;outline-offset:3px}[hidden]{display:none!important}.topbar{margin:0 4.5%;min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid #20201e}.brand{display:flex;gap:17px;align-items:center}.brandname{font:400 37px/1 var(--serif);letter-spacing:4px}.brandmark{font:17px/1.2 Songti SC,serif;writing-mode:vertical-rl;letter-spacing:3px;border-left:1px solid #bdbeb6;padding-left:15px}.site-nav{display:flex;gap:25px;align-items:center;font-size:11px;line-height:1.5}.site-nav a{position:relative;padding:9px 0}.site-nav a:after{position:absolute;content:"";bottom:3px;left:0;width:100%;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .2s}.site-nav a:hover:after,.site-nav a[aria-current=page]:after{transform:scaleX(1)}#save-status{font-size:10px;color:var(--muted);white-space:nowrap}main{max-width:1600px;margin:auto;padding:30px 4.5% 68px}.workspace-heading{display:flex;justify-content:space-between;gap:32px;align-items:center;margin-bottom:31px}.eyebrow{display:flex;gap:22px;font-size:9px;letter-spacing:1.1px;line-height:1.5;margin:0 0 13px}.edition-label{color:var(--muted);border-left:1px solid var(--line);padding-left:22px}h1{font:400 clamp(30px,3.1vw,45px)/1.07 var(--serif);letter-spacing:-1.1px;margin:0 0 11px}.subhead{font-size:12px;line-height:1.7;color:var(--muted);margin:0}.primary{background:#20201e;color:#fff;border:1px solid #20201e;border-radius:0;padding:15px 22px;font-size:12px;line-height:1.3;white-space:nowrap}.primary:hover{background:#494a44;border-color:#494a44}.primary span{padding-left:29px;font-size:16px}.primary.small{font-size:11px;padding:11px 15px}.text-button{border:0;background:none;padding:6px 0;color:#30312b;font-size:11px;text-decoration:underline;text-underline-offset:4px}.text-button:hover{color:#000;text-decoration-thickness:2px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:44px;align-items:start}.editor{grid-column:2;grid-row:1;min-width:0}.editor-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #c5c7bf;margin-bottom:26px}.editor-tabs button{position:relative;text-align:left;border:0;background:none;padding:14px 0;font-size:11px;letter-spacing:.6px;color:#7a7b74}.editor-tabs button[aria-selected=true]{color:#20201e}.editor-tabs button[aria-selected=true]:after{content:"";position:absolute;height:2px;background:#20201e;bottom:-1px;left:0;right:20px}.editor-tabs button:hover{color:#20201e}.section-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.section-heading h2{font:400 28px/1.2 var(--serif);letter-spacing:-.5px;margin:0}#word-count{font-size:10px;color:var(--muted)}details{border-bottom:1px solid var(--line);padding:15px 0}summary{font-size:12px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}summary::-webkit-details-marker{display:none}summary>span{font-size:18px;font-weight:400;transition:transform .18s}details[open] summary>span{transform:rotate(45deg)}details p,.review-help{font-size:11px;line-height:1.7;color:var(--muted)}textarea{width:100%;height:165px;resize:vertical;padding:12px;border:1px solid #c4c6bd;background:#fff;font-size:12px;line-height:1.7;border-radius:0}.import-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:12px}.list-tools{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;margin:20px 0 12px}.list-tools>span{color:var(--muted)}.check{display:flex;align-items:center;gap:7px}input[type=checkbox]{width:14px;height:14px;accent-color:#20201e;cursor:pointer}.review-help{margin:0 0 20px}.column-labels{display:grid;grid-template-columns:88px 1fr 52px;gap:10px;font-size:8px;letter-spacing:.7px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:10px}.column-labels span:last-child{text-align:right}#words{max-height:355px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#b8bab0 transparent;overscroll-behavior:contain;padding-right:8px;margin-right:-8px}.word-row{display:grid;grid-template-columns:88px minmax(0,1fr) 24px;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid var(--line);transition:background .18s}.word-row:hover{background:#efefeb}.word-hanzi{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row-number{font-size:9px;color:#74776d;min-width:13px;font-variant-numeric:tabular-nums}.word-hanzi strong{font:400 25px/1.2 var(--hanzi);letter-spacing:1px}.reading-flag{margin-left:21px;font-size:8px;color:#5f6458}.word-fields{display:flex;flex-direction:column;gap:5px}.word-fields input{width:100%;background:transparent;border:0;border-bottom:1px solid transparent;border-radius:0;color:#34352f;padding:2px 0;font-size:12px}.word-fields input:last-child{font-size:11px;color:#62665c}.word-fields input:hover{border-bottom-color:#b7baae}.word-fields input::placeholder{color:#868a7e}.review-check{display:flex;justify-content:flex-end}.checked .row-number{color:#20201e}.layout-heading{margin-top:0}.settings{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px}.settings label{display:flex;flex-direction:column;gap:8px;font-size:11px;color:#5b5d55}.settings .full{grid-column:1/-1}.settings input,.settings select{height:40px;width:100%;padding:0 10px;border:1px solid #cbcdc3;background:transparent;color:#24261f;border-radius:0;font-size:12px;min-width:0}.settings label.inline-check{flex-direction:row;align-items:center;gap:7px}.settings input[type=checkbox]{height:14px;width:14px}.settings input[type=range]{height:18px;border:0;padding:0;accent-color:#20201e}.range-labels{display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.editor-foot{padding-top:18px;margin-top:18px;border-top:1px solid #bcbfb2}.restore{display:inline-block;margin-left:20px;cursor:pointer}.privacy{font-size:10px;line-height:1.8;color:#73786a;margin:17px 0 0}.preview{grid-column:1;grid-row:1;min-width:0;background:#e6e7e1;position:sticky;top:20px;padding:0 0 22px}.preview-toolbar{padding:23px 27px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:.5px;color:#5f6457}.preview-label{display:flex;gap:16px;align-items:center}.preview-label>span:first-child{font-size:9px;letter-spacing:1.2px}.preview-label>span:last-child{font:17px Songti SC,serif;letter-spacing:2px}#dimensions{font-size:9px;letter-spacing:0;white-space:nowrap}#review-status{font-size:10px;line-height:1.6;color:#646a5a;margin:13px 27px 0}.sheet-stage{width:100%;overflow:hidden;padding:20px;position:relative;animation:page-reveal .2s ease-out}.page-navigation{display:flex;align-items:center;justify-content:center;gap:26px;margin:0 0 14px}.page-navigation button{width:32px;height:28px;border:0;background:transparent;font-size:20px;color:#20201e}.page-navigation button:hover:not(:disabled){background:#d5d8cd}#page-count{font-size:10px;letter-spacing:2px;font-variant-numeric:tabular-nums}.print-note{font-size:9px;line-height:1.7;text-align:center;max-width:450px;margin:0 auto;padding:0 25px;color:#606655}.preview-empty{min-height:450px;display:grid;place-items:center;color:var(--muted);font:24px var(--serif)}#print-pages{display:none}#toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,8px);max-width:90vw;background:#20201e;color:#fff;padding:14px 20px;font-size:12px;line-height:1.5;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;z-index:20}#toast.visible{opacity:1;transform:translate(-50%)}#import-errors{font-size:11px;color:#353a2b;line-height:1.7}#import-errors ul{padding-left:18px}.sheet{background:#fff;color:#222;width:var(--sheet-width);height:var(--sheet-height);padding:14mm;position:relative;transform-origin:top left;box-shadow:0 4px 15px #0000000d,0 1px 2px #00000008;border:1px solid #ddd}.sheet-header{height:27mm}.sheet-header h3{font-family:var(--serif);font-size:20px;margin:0 0 7mm;font-weight:400;letter-spacing:.2px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sheet-header>div{font-size:10px;color:#777;display:flex;justify-content:space-between}.practice-entry{margin:0 0 7mm;break-inside:avoid}.entry-heading{height:12mm;display:flex;align-items:center;gap:11px;white-space:nowrap;overflow:hidden;font-size:11px}.entry-heading strong{font-family:var(--hanzi);font-size:15px;font-weight:400}.entry-heading>span{color:#555}.entry-heading em{font-size:10px;color:#666;font-style:normal;text-overflow:ellipsis;overflow:hidden}.practice-grid{display:grid;grid-auto-rows:var(--cell);width:max-content;border-top:1px solid #ccc;border-left:1px solid #ccc}.cell{width:var(--cell);height:var(--cell);border-right:1px solid #ccc;border-bottom:1px solid #ccc;font-family:var(--hanzi);font-size:calc(var(--cell)*.72);line-height:var(--cell);text-align:center;position:relative}.cell svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;stroke:#e1e1df;stroke-width:.7;fill:none}.cell>span{position:relative}.sheet-footer{position:absolute;bottom:10mm;left:14mm;right:14mm;display:flex;justify-content:space-between;color:#777;font-size:8px}.resource{max-width:1120px;margin:0 auto 75px;padding:50px 4.5% 0;border-top:1px solid #20201e;font:16px/1.85 var(--serif);color:#45483e}.resource .eyebrow{font:9px/1.5 Arial,Helvetica,sans-serif;margin-bottom:20px}.resource h2,.resource h3{font-family:var(--serif);font-weight:400;color:#20201e;line-height:1.2}.resource h2{font-size:38px;letter-spacing:-.6px;margin:0 0 24px}.resource h3{font-size:28px;letter-spacing:-.4px;margin:34px 0 16px}.resource p{max-width:76ch}.resource a{color:#20201e;text-decoration:underline;text-underline-offset:4px}.resource table{border-collapse:collapse;width:100%;font:12px/1.8 Arial,Helvetica,sans-serif}.resource th,.resource td{text-align:left;padding:14px 12px 14px 0;border-bottom:1px solid var(--line)}.resource th{font-weight:400;text-transform:uppercase;font-size:9px;letter-spacing:.7px}.resource details summary{font:14px/1.6 Arial,Helvetica,sans-serif}.resource details p{font:16px/1.85 var(--serif)}.resource ol{padding-left:22px;max-width:76ch}.resource li{padding:4px 0}.resource .related{display:flex;flex-wrap:wrap;gap:25px;border-top:1px solid #20201e;margin-top:38px;padding-top:25px;font:12px/1.5 Arial,Helvetica,sans-serif}.example-actions{display:flex;gap:20px;flex-wrap:wrap;align-items:center;margin-bottom:20px}footer{background:#20201e;color:#f3f4ee;min-height:132px;padding:40px 4.5%;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:10px;letter-spacing:.4px}.footer-motto{font:20px Songti SC,serif;letter-spacing:4px}.skip-link{position:absolute;top:-70px;left:15px;background:#20201e;color:#fff;padding:12px;z-index:20}.skip-link:focus{top:12px}.fallback{padding:40px 5%}.fallback p{font:14px/1.8 Arial,Helvetica,sans-serif}@keyframes page-reveal{0%{opacity:.7}to{opacity:1}}@media(min-width:1500px){.workspace{grid-template-columns:minmax(0,1fr) 390px;gap:64px}#words{max-height:400px}}@media(max-width:1050px){.topbar{padding:23px 0 13px;min-height:112px;flex-wrap:wrap;gap:20px}.brandname{font-size:34px}.site-nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:7px;gap:16px}.workspace{grid-template-columns:minmax(0,1fr) 330px;gap:27px}.preview-toolbar{padding:20px 20px 0;flex-wrap:wrap}#review-status{margin-left:20px;margin-right:20px}.preview-label>span:last-child{font-size:15px}h1{font-size:36px}.edition-label{display:none}}@media(max-width:760px){.brandname{font-size:30px;letter-spacing:3px}.brandmark{font-size:15px}.topbar #save-status{display:none}.site-nav{font-size:11px;gap:12px}.workspace-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:28px}h1{font-size:36px;max-width:430px;letter-spacing:-.8px}.workspace-heading .primary{width:100%;display:flex;justify-content:space-between;align-items:center}.workspace{grid-template-columns:1fr;gap:35px}.editor{grid-column:1;grid-row:1}.preview{grid-column:1;grid-row:2;position:relative;top:auto}.editor-tabs{margin-bottom:24px}.editor-tabs button{padding:15px 0;font-size:12px}.section-heading h2{font-size:28px}.column-labels{font-size:8px}#words{max-height:320px}.word-row{padding:13px 0}.preview-toolbar{flex-wrap:nowrap}main{padding-top:26px;padding-bottom:45px}.resource{margin:0 4.5% 45px;padding:35px 0 0;font-size:16px}.resource h2{font-size:31px}.resource h3{font-size:26px}.resource .related{gap:17px}.footer-motto{font-size:15px;letter-spacing:2px}footer{padding-top:30px;padding-bottom:30px;min-height:115px}footer>span:last-child{max-width:140px;text-align:right;line-height:1.8}}@media(max-width:360px){.topbar #save-status{display:none}.site-nav{font-size:10px}.column-labels{font-size:7px;letter-spacing:.2px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media print{html,body{background:#fff!important;margin:0!important;padding:0!important}body>*:not(#app){display:none!important}#app>*:not(#print-pages):not(#page-style){display:none!important}#print-pages{display:block!important}.sheet{background:#fff;color:#303030;border:0;box-shadow:none;margin:0;transform:none!important;break-after:page;page-break-after:always;-webkit-print-color-adjust:exact;print-color-adjust:exact}.sheet:last-child{break-after:auto;page-break-after:auto}.entry-heading>span{color:#555}.cell.trace{color:var(--trace-ink,#999)}.entry-heading>span,.entry-heading em{font-size:var(--annotation,11px)}.practice-grid{break-inside:avoid}}.cell.trace{color:var(--trace-ink,#999)}.entry-heading>span,.entry-heading em{font-size:var(--annotation,11px)}
