:root{color:#1e2922;font-synthesis:none;background:#f2efe7;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 88% 2%,#dcebdd 0,#0000 31rem),radial-gradient(circle at 10% 30%,#f5eedc 0,#0000 27rem),linear-gradient(#f6f4ee,#eef2ea);min-width:320px;margin:0;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}.app-shell{width:min(1120px,100% - 48px);margin:auto}.topbar{justify-content:space-between;align-items:center;gap:20px;padding:24px 0;display:flex}.brand-mark{color:inherit;align-items:center;gap:11px;text-decoration:none;display:flex}.brand-mark strong{letter-spacing:-.04em;font-size:18px;display:block}.brand-mark small{color:#778279;margin-top:2px;font-size:12px;display:block}.brand-icon{color:#fff;background:#1e6044;border-radius:13px;place-items:center;width:40px;height:40px;font-size:19px;font-weight:900;display:grid;box-shadow:0 8px 16px #1e604433}.topbar-actions{align-items:center;gap:10px;display:flex}.audience-tag{color:#6c786f;font-size:12px}.prototype-pill,.review-count{color:#286044;white-space:nowrap;background:#edf7ef;border:1px solid #b9d5bf;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900}.hero{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:center;gap:74px;padding:72px 0 74px;display:grid}.hero-copy-block{max-width:670px}.eyebrow{color:#2d7652;letter-spacing:.12em;margin:0 0 13px;font-size:12px;font-weight:900}.hero h1{letter-spacing:-.08em;margin:0;font-size:clamp(45px,6vw,76px);line-height:1.04}.hero h1 span,.hero h1 em{white-space:nowrap;display:block}.hero h1 em{color:#2f7a54;font-size:.82em;font-style:normal}.hero-copy{color:#627168;max-width:610px;margin:23px 0 0;font-size:18px;line-height:1.75}.promise-list{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.promise-list span{color:#52665a;background:#ffffff94;border:1px solid #d5e2d6;border-radius:999px;align-items:center;gap:8px;padding:9px 13px 9px 9px;font-size:13px;font-weight:800;display:flex}.promise-list b{color:#2d7652;background:#dff0e1;border-radius:50%;place-items:center;width:23px;height:23px;font-size:10px;display:grid}.hero-stage{background:#e9e3d3;border:1px solid #d7d0bd;border-radius:6px 24px;min-height:360px;padding:26px 20px 34px;position:relative;transform:rotate(1deg);box-shadow:18px 22px #252b220d,0 25px 55px #53492f26}.hero-stage:before{pointer-events:none;content:"";border:1px solid #ffffff7a;border-radius:2px 18px;position:absolute;inset:11px}.stage-caption{z-index:2;color:#867c69;letter-spacing:.13em;writing-mode:vertical-rl;font-size:10px;position:absolute}.caption-left{top:45px;left:10px}.caption-right{bottom:54px;right:9px}.notebook-paper{z-index:1;background:repeating-linear-gradient(#fbf4df 0 29px,#e7ddc4 30px,#fbf4df 31px);border:1px solid #d5c9aa;width:43%;min-height:270px;padding:24px 18px 17px 27px;position:absolute;top:43px;left:34px;overflow:hidden;transform:rotate(-2.5deg);box-shadow:3px 8px 10px #4b3e2126}.notebook-paper:before{content:"";border-left:1px solid #e7b5a2;position:absolute;top:0;bottom:0;left:17px}.paper-corner{opacity:.8;background:#e7d29b;border-radius:3px;width:54px;height:18px;position:absolute;top:-9px;right:19px;transform:rotate(4deg)}.paper-heading{color:#534836;text-align:center;font-family:KaiTi,STKaiti,serif;font-size:14px;font-weight:800}.paper-rule{border-top:1px solid #baa98a;margin:8px 0 5px}.hand-row{color:#665840;white-space:nowrap;align-items:center;gap:11px;min-height:29px;font-family:KaiTi,STKaiti,serif;font-size:12px;display:flex}.hand-row b{color:#8c7759;font-size:10px;font-weight:500}.hand-row.marked{color:#493f31;position:relative}.hand-row.marked:after{content:"";opacity:.7;border:1px solid #b9684d;border-radius:50%;height:22px;position:absolute;bottom:4px;left:40px;right:22px;transform:rotate(-5deg)}.hand-row i{color:#a95e46;border:1px solid #bd6e51;border-radius:50%;place-items:center;width:17px;height:17px;font-family:sans-serif;font-size:10px;font-style:normal;font-weight:900;display:grid}.paper-note{color:#ad684e;margin-top:13px;font-family:KaiTi,STKaiti,serif;font-size:10px;transform:rotate(-2deg)}.stage-bridge{z-index:3;color:#8b7650;letter-spacing:.16em;flex-direction:column;align-items:center;gap:3px;font-size:10px;display:flex;position:absolute;top:154px;left:43%}.stage-bridge i{color:#ae6e3f;font-family:Georgia,serif;font-size:30px;font-style:normal;line-height:1}.result-sheet{z-index:1;background:#fbfdf8;border:1px solid #cadac7;border-radius:2px 11px;width:43%;min-height:240px;padding:17px 15px;position:absolute;top:58px;right:31px;transform:rotate(2.5deg);box-shadow:3px 8px 12px #27492e1f}.sheet-top{border-bottom:1px solid #dce7da;justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.sheet-top strong{font-size:12px}.sheet-top span{color:#a26b20;font-size:9px;font-weight:900}.sheet-line{color:#657169;border-bottom:1px solid #e9efe7;grid-template-columns:1.2fr .9fr 1.15fr;align-items:center;min-height:31px;font-size:10px;display:grid}.sheet-line b{color:#26372c}.sheet-line strong{color:#2e7451;font-size:10px}.sheet-head{color:#9aa49c;min-height:25px;font-size:9px}.sheet-alert{background:#fff7df}.sheet-alert i{color:#795719;background:#edc56b;border-radius:50%;place-items:center;width:15px;height:15px;font-size:10px;font-style:normal;font-weight:900;display:grid}.sheet-confirm{color:#86621f;background:#fff4d3;border-radius:7px;align-items:center;gap:6px;margin-top:13px;padding:8px;font-size:9px;display:flex}.sheet-confirm span{background:#e8be55;border-radius:50%;place-items:center;width:16px;height:16px;font-size:10px;display:grid}.sheet-confirm b{font-weight:800}.workspace,.review-section{background:#ffffffd6;border:1px solid #d9e4da;border-radius:25px;padding:31px 34px 34px;box-shadow:0 18px 55px #1b422812}.review-section{margin-top:25px}.step-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.step-header>div{align-items:center;gap:13px;display:flex}.step-number{color:#fff;background:#1e6044;border-radius:50%;place-items:center;width:33px;height:33px;font-size:14px;font-weight:900;display:grid}.muted-step{color:#286044;background:#dbe7dd}.step-header .eyebrow{margin-bottom:5px}.step-header h2{letter-spacing:-.06em;margin:0;font-size:29px}.section-intro{color:#78847b;margin:17px 0 0 46px;font-size:14px}.text-button{color:#738078;background:0 0;border:0;font-size:13px;font-weight:800}.dropzone{text-align:center;background:#f8fcf7;border:1.5px dashed #9fc6a8;border-radius:19px;place-items:center;min-height:263px;margin-top:25px;padding:28px;transition:all .2s;display:grid}.dropzone.is-dragging{background:#eaf5eb;border-color:#26724d;transform:scale(1.01)}.upload-symbol{color:#2d7652;background:#def1e1;border-radius:15px;place-items:center;width:47px;height:47px;font-size:29px;display:grid}.dropzone h3{letter-spacing:-.03em;margin:14px 0 5px;font-size:19px}.dropzone p{color:#829087;margin:0 0 17px;font-size:13px}.primary-button,.confirm-button{color:#fff;background:#1e6044;border:0;border-radius:10px;padding:11px 17px;font-weight:900;box-shadow:0 8px 16px #1e604424}.primary-button:hover{background:#174a34}.primary-button:disabled,.confirm-button:disabled{cursor:not-allowed;opacity:.45}.large{padding:14px 23px}.privacy-note{color:#839087;align-items:center;gap:10px;margin-top:18px;display:flex}.privacy-note>span:first-child{color:#4b805f;background:#eef5ee;border-radius:9px;place-items:center;width:29px;height:29px;font-size:14px;display:grid}.privacy-note strong,.privacy-note small{display:block}.privacy-note strong{color:#52665a;font-size:12px}.privacy-note small{margin-top:3px;font-size:11px}.notice{color:#795d19;background:#fff5d8;border-radius:10px;margin-top:16px;padding:12px 15px;font-size:13px}.file-list{margin-top:21px}.list-heading,.file-row{align-items:center;gap:12px;display:flex}.list-heading{color:#59675d;justify-content:space-between;margin-bottom:9px;font-size:13px}.file-row{border-top:1px solid #edf1ed;padding:11px 0}.file-type{color:#286044;text-align:center;background:#edf6ee;border-radius:6px;min-width:34px;padding:5px 4px;font-size:10px;font-weight:900}.file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-size{color:#88938b;margin-left:auto;font-size:12px}.action-row{align-items:center;gap:18px;margin-top:23px;display:flex}.task-state{color:#77837a;font-size:13px}.state-dot{background:#45a269;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.state-dot.recognizing{background:#e3a43e;animation:1s infinite pulse}.state-dot.review{background:#e3a43e}.state-dot.confirmed{background:#2f7552}@keyframes pulse{50%{opacity:.35}}.rule-banner{color:#5b6c61;background:#f0f6ee;border-radius:11px;align-items:center;gap:15px;margin:21px 0;padding:13px 15px;font-size:13px;line-height:1.6;display:flex}.rule-banner strong{color:#286044;white-space:nowrap}.table-wrap{border:1px solid #e0e8e1;border-radius:12px;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;min-width:720px}th,td{border-bottom:1px solid #edf1ed;padding:13px 15px;font-size:13px}th{color:#718077;background:#f8faf8;font-size:11px;font-weight:900}tr:last-child td{border-bottom:0}.needs-review td{background:#fffaf0}.table-wrap input{color:#18261f;background:0 0;border:1px solid #0000;border-radius:6px;width:90px;padding:5px}.table-wrap input:focus{background:#fff;border-color:#aac9b1;outline:none}.confidence{border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900;display:inline-block}.confidence.good{color:#286044;background:#e8f4e9}.confidence.warning{color:#8a611b;background:#fff0c9}.issue{color:#9a711d;max-width:180px;margin-top:5px;font-size:10px;line-height:1.4;display:block}.table-help{color:#7b877e;font-size:12px;line-height:1.6}.confirm-button{color:#286044;box-shadow:none;background:#d7e5d8;margin-top:9px}.confirm-button:not(:disabled):hover{background:#c6ddc9}.trust-strip{grid-template-columns:repeat(3,1fr);gap:13px;margin:25px 0 0;display:grid}.trust-strip>div{background:#ffffff8f;border:1px solid #dce6dc;border-radius:15px;align-items:center;gap:11px;padding:18px;display:flex}.trust-icon{color:#2d7652;background:#e0f1e2;border-radius:10px;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.trust-strip strong,.trust-strip small{display:block}.trust-strip strong{font-size:13px}.trust-strip small{color:#849087;margin-top:4px;font-size:11px}footer{color:#879189;justify-content:space-between;gap:15px;padding:27px 0 38px;font-size:11px;display:flex}@media (width<=820px){.app-shell{width:min(100% - 28px,1120px)}.hero{grid-template-columns:1fr;gap:38px;padding:48px 0 45px}.hero-stage{width:min(100%,540px);transform:none}.audience-tag{display:none}.trust-strip{grid-template-columns:1fr}}.template-panel{background:#f7fbf7;border:1px solid #dce8de;border-radius:16px;margin:22px 0 0 46px;padding:16px 18px}.template-grid{grid-template-columns:minmax(180px,1.4fr) minmax(140px,1fr) 110px 100px;align-items:end;gap:14px 16px;display:grid}.template-grid-simple{grid-template-columns:minmax(220px,1.6fr) 120px 110px}.template-field{gap:7px;min-width:0;display:grid}.template-field span{color:#5f6d63;font-size:12px;font-weight:800}.template-field select,.template-field input{box-sizing:border-box;color:#24352b;width:100%;font:inherit;background:#fff;border:1px solid #cfdcd2;border-radius:10px;padding:11px 12px;font-size:14px;font-weight:700}.template-field select:focus,.template-field input:focus{border-color:#2f7552;outline:2px solid #1e60442e}.template-field-year,.template-field-month{max-width:120px}.template-hint{color:#738178;margin:12px 0 0;font-size:12px;line-height:1.55}@media (width<=600px){.topbar{align-items:flex-start}.topbar-actions{flex-direction:column;align-items:flex-end;gap:5px}.prototype-pill{padding:7px 9px;font-size:11px}.hero h1{font-size:clamp(38px,11vw,45px)}.hero h1 em{font-size:.8em}.hero-copy{font-size:16px}.hero-stage{min-height:540px;overflow:hidden}.notebook-paper{width:calc(100% - 78px);top:36px;left:42px}.stage-bridge{flex-direction:row;top:307px;left:47%}.stage-bridge i{transform:rotate(90deg)}.result-sheet{width:calc(100% - 70px);top:342px;right:33px}.caption-right{bottom:30px}.workspace,.review-section{padding:23px 17px}.section-intro{margin-left:0}.step-header h2{font-size:25px}.rule-banner,.action-row,footer{flex-direction:column;align-items:flex-start}.dropzone{min-height:235px;padding:20px}footer{padding-bottom:25px}}.context-grid{grid-template-columns:minmax(180px,1.5fr) minmax(100px,.7fr) minmax(100px,.7fr);gap:12px;margin-top:18px;display:grid}.context-grid label{color:#607066;gap:7px;font-size:12px;font-weight:800;display:grid}.context-grid input,.context-grid select{color:#1e2922;background:#fbfcfa;border:1px solid #dce5dc;border-radius:10px;outline:none;width:100%;padding:11px 12px}.context-grid input:focus,.context-grid select:focus{border-color:#7fb08d;box-shadow:0 0 0 3px #4183581a}.context-grid .template-field{grid-column:1/-1}.run-progress{background:#f1f8f1;border:1px solid #cfe0d1;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:14px 16px;display:flex}.run-progress>div:first-child strong,.run-progress>div:first-child span{display:block}.run-progress>div:first-child span{color:#77847b;margin-top:4px;font-size:11px}.run-progress.is-error{color:#8a3f2d;background:#fff2ee;border-color:#ecc9c0}.progress-counts{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.progress-counts span{color:#607066;background:#ffffffb8;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800}.value-editor{align-items:center;gap:6px;display:flex}.value-editor input{width:68px}.value-editor select{color:#1e2922;background:#fff;border:1px solid #dce5dc;border-radius:6px;padding:5px 6px}@media (width<=600px){.context-grid{grid-template-columns:1fr 1fr}.context-grid label:first-child{grid-column:1/-1}.run-progress{flex-direction:column;align-items:flex-start}.progress-counts{justify-content:flex-start}}.review-workbench{grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);align-items:start;gap:18px;display:grid}.source-review-panel{background:#f8faf7;border:1px solid #dce6dd;border-radius:14px;position:sticky;top:14px;overflow:hidden}.source-panel-heading{border-bottom:1px solid #e2e9e3;justify-content:space-between;align-items:flex-start;gap:10px;padding:14px 15px;display:flex}.source-panel-heading strong,.source-panel-heading span{display:block}.source-panel-heading strong{font-size:13px}.source-panel-heading span{color:#7d8981;margin-top:3px;font-size:10px}.source-panel-heading code{color:#4f6657;text-overflow:ellipsis;white-space:nowrap;background:#edf3ed;border-radius:6px;max-width:145px;padding:4px 6px;font-size:9px;overflow:hidden}.source-image-frame{background:#e8e4d9;padding:12px}.source-image-canvas{background:#d8d4ca;border-radius:7px;position:relative;overflow:hidden;box-shadow:0 7px 18px #3c352624}.source-image-canvas img{width:100%;height:auto;display:block}.source-image-canvas svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.source-image-canvas polygon{fill:#ce3e2a33;stroke:#d2442f;stroke-width:5px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px #ffffffbf)}.source-image-empty{color:#98503f;text-align:center;background:#fff1ec;place-items:center;min-height:210px;padding:24px;font-size:12px;line-height:1.6;display:grid}.issue-list{gap:9px;max-height:315px;padding:12px;display:grid;overflow-y:auto}.issue-card{background:#fffaf0;border:1px solid #ead9ae;border-radius:10px}.issue-card.blocking{background:#fff3ef;border-color:#ecc8bf}.issue-focus{width:100%;color:inherit;text-align:left;background:0 0;border:0;gap:6px;padding:11px 12px;display:grid}.issue-focus span{color:#8a611b;background:#ffedbd;border-radius:999px;width:fit-content;padding:3px 7px;font-size:9px;font-weight:900}.issue-card.blocking .issue-focus span{color:#9c3e2d;background:#ffdcd3}.issue-focus strong{font-size:11px;line-height:1.55}.trace-failed{color:#a14634;margin:0 12px 10px;font-size:10px;line-height:1.5;display:block}.review-mark-button{color:#286044;background:#f2f8f2;border:1px solid #b9d2bf;border-radius:8px;width:calc(100% - 24px);margin:0 12px 11px;padding:8px;font-size:10px;font-weight:900}.issue-empty{color:#748177;text-align:center;border:1px dashed #cbd9cd;border-radius:9px;padding:17px;font-size:11px}.table-wrap tr{cursor:pointer}.table-wrap tr.is-selected td{background:#eef7ef;box-shadow:inset 0 1px #cae0cd,inset 0 -1px #cae0cd}.table-wrap tr.is-selected td:first-child{box-shadow:inset 3px 0 #3c8a5e,inset 0 1px #cae0cd,inset 0 -1px #cae0cd}.review-actions{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.save-review-button{color:#286044;background:#f2f8f2;border:1px solid #aac9b1;border-radius:10px;padding:11px 16px;font-weight:900}.save-review-button:disabled{cursor:not-allowed;opacity:.45}.review-actions .confirm-button{margin-top:0}@media (width<=940px){.review-workbench{grid-template-columns:1fr}.source-review-panel{position:static}.source-image-frame{max-height:520px;overflow:auto}.issue-list{max-height:none}}.queue-row{cursor:pointer;transition:all .15s}.queue-row:hover{background:#f4faf5}.queue-row.is-active{background:#eef8f0;box-shadow:inset 3px 0 #1e6044}.queue-status{color:#5d6b62;text-align:center;background:#eef2ef;border-radius:999px;min-width:52px;padding:4px 8px;font-size:11px;font-weight:800}.queue-status.status-pending{color:#5d6b62;background:#eef2ef}.queue-status.status-processing{color:#9a6b12;background:#fff1d6}.queue-status.status-review{color:#1f5f99;background:#e7f2ff}.queue-status.status-confirmed{color:#1e6044;background:#def1e1}.queue-status.status-failed{color:#9b2c2c;background:#fde8e8}.queue-remove{color:#9b2c2c;margin-left:4px}.queue-error-list{color:#8a3030;background:#fff5f5;border-radius:10px;margin-top:10px;padding:10px 12px;font-size:12px}.queue-error-item+.queue-error-item{margin-top:6px}.file-row .file-size{margin-left:0}.file-row .queue-status{margin-left:auto}@media (width<=600px){.template-panel{margin-left:0}.template-grid{grid-template-columns:1fr 1fr}.template-field-year,.template-field-month{max-width:none}.review-actions{flex-direction:column;align-items:stretch}.save-review-button,.review-actions .confirm-button{width:100%}.source-panel-heading{flex-direction:column;align-items:stretch}.source-panel-heading code{max-width:100%}.source-image-empty{min-height:160px}}.classification-card{background:#fff8e7;border:1px solid #e2c98b;border-radius:14px;justify-content:space-between;align-items:center;gap:18px;margin:18px 0;padding:17px 18px;display:flex}.classification-card p{color:#786a48;margin:5px 0 0;font-size:12px;line-height:1.5}
