:root{font-family:"Microsoft YaHei UI","PingFang SC","Noto Sans CJK SC",system-ui,sans-serif;color:#20372f;background:#f3f5f2;font-synthesis:none;--ink:#20372f;--muted:#566a60;--teal:#135c48;--line:#d9e1da}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-height:100vh;font-size:15px;line-height:1.6}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #459c83;outline-offset:3px}
.mast{background:#18392f;color:white;border-bottom:3px solid #95b597}.mast-inner,main{width:min(1192px,calc(100% - 88px));margin:0 auto}.mast-inner{height:68px;display:flex;align-items:center;justify-content:space-between}.identity{display:flex;align-items:center;gap:13px;font-size:17px;font-weight:650}.brandmark{display:inline-grid;place-items:center;border:1px solid #aac1aa;background:#dcebd8;color:#234236;font:700 21px/1 Georgia,serif;letter-spacing:-1px;width:38px;height:34px;border-radius:4px}.help{appearance:none;display:flex;align-items:center;gap:8px;background:none;color:#e5ede6;border:0;padding:10px 0 10px 14px;font-size:13px}.help>span{font:600 12px/16px system-ui;width:17px;height:17px;text-align:center;border:1px solid #9eb6a7;border-radius:50%}.help:hover{color:white;text-decoration:underline;text-underline-offset:4px}
main{padding:45px 0 30px}.intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:29px}.intro h1{font-size:clamp(29px,3.3vw,42px);line-height:1.24;letter-spacing:-.055em;font-weight:710;margin:0 0 8px}.intro p{color:var(--muted);margin:0}.local-sign{display:flex;gap:9px;align-items:center;white-space:nowrap;color:#3d6353;font-size:13px;font-weight:600}.local-sign b{width:8px;height:8px;border-radius:50%;background:#36896a;box-shadow:0 0 0 4px #e0eadf}
.workspace{display:grid;grid-template-columns:minmax(0,1.63fr) minmax(298px,1fr);align-items:start;gap:22px}.sheet{min-width:0;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:0 3px 12px #23372a07}.workspace-main{padding:23px 25px 0}.rules{padding:23px 23px 10px}.section-head,.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.section-head{margin:0 0 18px}.section-head h2,.dialog-head h2{font-size:20px;line-height:1.45;margin:0;letter-spacing:-.035em}.count{font-size:12px;color:var(--muted)}.dropzone{display:flex;align-items:center;justify-content:center;flex-direction:column;background:#f4f8f2;border:1.5px dashed #99b19b;border-radius:6px;min-height:259px;padding:24px 16px;text-align:center;transition:background .15s,border-color .15s}.dropzone.is-over,.restore-drop.is-over{background:#e2f1e1;border-color:#266a4e;outline:2px solid #5d9875;outline-offset:2px}.dropzone strong{font-size:19px;letter-spacing:-.035em}.dropzone p,.restore-drop p{font-size:13px;color:var(--muted);margin:3px 0 17px}.sheet-icon{position:relative;width:48px;height:55px;margin-bottom:14px;transform:rotate(-5deg);background:#fff;border:2px solid #426d53;border-radius:3px;box-shadow:4px 4px 0 #d9e8d5}.sheet-icon:before{content:"";position:absolute;inset:7px 7px auto;height:5px;background:#a6c3a6}.sheet-icon span,.sheet-icon i,.sheet-icon b{position:absolute;height:4px;left:7px;right:7px;background:#39644a}.sheet-icon span{top:20px;right:14px}.sheet-icon i{top:29px;left:14px;background:#9abe98}.sheet-icon b{top:38px;right:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;line-height:1.3;text-decoration:none;min-height:40px;border:1px solid transparent;border-radius:5px;padding:9px 17px;font-size:14px;font-weight:600}.btn.primary{color:white;background:var(--teal)}.btn.primary:hover,.btn.dark:hover{background:#0b4635}.btn.dark{background:#254d3b;color:#fff}.btn.outline{background:#fff;color:var(--teal);border-color:#baccc0}.btn.outline:hover{background:#eff5ef}.btn:disabled{background:#e4e9e4;color:#657469;border-color:#dce2dc}.action-line{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:19px 0;margin-top:2px;border-top:1px solid var(--line)}.action-line span{color:var(--muted);font-size:12px}.file-list{list-style:none;margin:0;padding:0}.file-list:not(:empty){margin:8px 0 13px}.file-list li{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #e8eee8}.file-list li:last-child{border-bottom:0}.file-list .filename{min-width:0;overflow-wrap:anywhere;font-size:14px;flex:1}.file-list .file-size{color:var(--muted);font-size:12px;white-space:nowrap}.file-action{background:none;border:0;color:var(--teal);padding:5px 2px 5px 8px;font-size:13px;text-underline-offset:3px;white-space:nowrap}.file-action:hover{text-decoration:underline}.file-action:disabled{color:#737f77}.section-note{font-size:13px;color:var(--muted);margin:-4px 0 15px}.restore{border-top:1px solid var(--line);padding:16px 0 10px}.restore h3{font-size:17px;margin:0 0 10px}.restore-drop{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px dashed #a3b8a5;background:#f4f8f3;border-radius:5px;padding:16px}.restore-drop p{margin:0}.restore-drop .btn{font-size:13px;min-height:35px;white-space:nowrap}.status{margin:0 -25px;background:#eaf2e8;border-radius:0 0 9px 9px;padding:10px 25px;font-size:13px;overflow-wrap:anywhere;color:#37563e}.status.error{background:#fcf0e9;color:#8d3826}
.defaults{margin-top:-5px}.rule-item{padding:18px 0;display:flex;align-items:flex-start;gap:12px;border-top:1px solid var(--line)}.rule-item:first-child{border:0;padding-top:8px}.rule-item h3{margin:0 0 3px;font-size:15px;line-height:1.45}.rule-item p{margin:0;color:var(--muted);font-size:13px}.swatch{flex:none;width:22px;height:22px;position:relative;border-radius:4px;background:#e6efe3}.swatch:before,.swatch:after{content:"";position:absolute;left:5px;top:7px;height:2px;width:12px;background:#477d58}.swatch:after{top:13px;width:8px}.keep-swatch{background:#e7edf4}.keep-swatch:before{background:#4d6c8e;transform:rotate(-45deg);top:10px;width:11px;left:8px}.keep-swatch:after{background:#4d6c8e;transform:rotate(45deg);width:5px;top:12px}.skip-swatch{background:#eeede7}.skip-swatch:before{background:#8a816d;top:10px}.skip-swatch:after{display:none}.field-head,.field-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(124px,.9fr);align-items:center;gap:9px}.field-head{font-size:12px;color:var(--muted);border-bottom:1px solid var(--line);padding:0 0 6px}.fields{max-height:450px;overflow:auto;scrollbar-width:thin}.field-row{font-size:13px;padding:8px 0;border-bottom:1px solid #e8eee8}.field-row:last-child{border:0}.field-row>span{overflow-wrap:anywhere}.field-row select{width:100%;font-size:12px;min-height:33px;padding:3px 3px 3px 6px;border:1px solid #c6d2c8;border-radius:4px;color:var(--ink);background:#fff}.field-row select:disabled{color:var(--muted);background:#f3f5f2}
.privacy{margin:20px 0;display:flex;align-items:flex-start;gap:10px;color:#586f61;font-size:12px}.privacy p{margin:0}.lock-icon{margin:7px 0 0 2px;position:relative;width:11px;height:9px;flex:none;border:1.4px solid #607f6d;border-radius:2px}.lock-icon:before{content:"";position:absolute;width:5px;height:6px;top:-7px;left:1.5px;border:1.2px solid #607f6d;border-bottom:0;border-radius:4px 4px 0 0}dialog{width:min(520px,calc(100% - 32px));padding:25px;border:1px solid var(--line);border-radius:10px;color:var(--ink);box-shadow:0 15px 45px #0e201633}dialog::backdrop{background:#10261f65}dialog ol{margin:20px 0;padding-left:24px}dialog li{margin:10px 0}dialog p{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}.dialog-head .btn{font-size:12px;min-height:32px;padding:7px 12px}
@media(max-width:850px){.mast-inner,main{width:calc(100% - 44px)}.workspace{grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr);gap:14px}.workspace-main{padding:18px 16px 0}.rules{padding:18px 16px 6px}.status{margin:0 -16px;padding:9px 16px}.action-line{flex-wrap:wrap}}
@media(max-width:680px){.mast-inner,main{width:calc(100% - 32px)}.mast-inner{height:55px}main{padding-top:26px}.intro{display:block;margin-bottom:19px}.intro p{font-size:14px}.local-sign{font-size:12px;display:inline-flex;margin-top:10px}.workspace{grid-template-columns:minmax(0,1fr)}.dropzone{min-height:200px;padding:16px}.sheet-icon{scale:.84;margin-bottom:7px}.action-line{padding:14px 0}.privacy{margin:15px 0}.rule-item{padding:11px 0}.rules{padding-bottom:10px}.restore-drop{flex-wrap:wrap}.fields{max-height:350px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
