@charset "UTF-8";
:root{--bg:#f7f8f3;--card:#fff;--ink:#223b34;--muted:#78857d;--green:#215848;--pale:#eaf0e4;--line:#e3e8df;--orange:#c58652;--shadow:0 14px 40px #183a2510}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #d7ac57;outline-offset:3px}a{color:var(--green)}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1px;margin-bottom:6px;font-weight:650}h2{font-size:20px;font-weight:650}h3{font-size:16px}small,.muted{color:var(--muted)}small{font-size:12px}svg.ico{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button{border:0}button.primary,.primary{background:var(--green);color:white;padding:11px 20px;border-radius:10px;display:inline-flex;gap:8px;align-items:center;justify-content:center;text-decoration:none;font-weight:550}button.secondary,.secondary{background:white;border:1px solid var(--line);color:var(--ink);padding:10px 17px;border-radius:10px;display:inline-flex;gap:7px;align-items:center;justify-content:center;text-decoration:none}.ghost{background:none;color:var(--green);padding:8px}.danger{color:#af4b45!important}.flex{display:flex;gap:12px;align-items:center}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.stack{display:grid;gap:18px}.layout{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:224px;background:#fff;border-right:1px solid var(--line);padding:32px 20px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:12px;align-items:center;padding:0 9px 32px}.brand img{width:42px;height:42px}.brand strong{font-size:23px;letter-spacing:2px}.brand small{display:block;letter-spacing:2px;font-size:10px}.nav{display:grid;gap:8px}.nav button{display:flex;gap:13px;align-items:center;padding:13px 16px;text-align:left;border-radius:11px;color:#7a887e;background:none}.nav button.active{background:#edf3e7;color:var(--green);font-weight:650}.nav button:hover{background:#f4f6f0}.sidebar-bottom{margin-top:auto;padding:20px 12px 0}.profile{display:flex;gap:10px;align-items:center;padding:18px 0;border-top:1px solid var(--line);margin-top:24px}.avatar{width:36px;height:36px;display:grid;place-items:center;background:#eaf0e2;color:var(--green);border-radius:50%;font-size:14px}.profile span{font-size:12px}.main{margin-left:224px;padding:30px 42px 60px;max-width:1560px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;color:var(--muted);font-size:12px}.status-dot{width:6px;height:6px;border-radius:50%;background:#7ba06b;display:inline-block;margin-right:6px}.heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:27px}.eyebrow{font-size:11px;letter-spacing:3px;color:var(--muted);margin-bottom:10px}.hero{position:relative;padding:32px 36px;border-radius:20px;background:#e9efdf;border:1px solid #dde5d1;overflow:hidden;min-height:235px;display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.hero h2{font-size:28px;font-family:Georgia,"Songti SC",SimSun,serif;font-weight:550;line-height:1.6;margin-bottom:9px}.hero p{font-size:13px;color:#70806a;margin-bottom:24px;max-width:400px}.hero-art{width:210px;flex-shrink:0;margin-right:20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.stat{background:white;border:1px solid var(--line);border-radius:15px;padding:21px 23px}.stat-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.stat strong{font-size:32px;font-weight:550;line-height:1.7}.stat .ico{color:#91a786}.two-col{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.panel{background:var(--card);border:1px solid var(--line);border-radius:17px;padding:25px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:20px}.panel-title h2{margin:0;font-size:17px}.panel-title a{font-size:12px}.empty{padding:37px 15px;text-align:center;color:var(--muted)}.empty .empty-icon{display:inline-grid;place-items:center;width:56px;height:56px;background:#f2f4ed;border-radius:16px;margin-bottom:16px;color:#91a481}.empty h3{color:#546854;margin-bottom:8px}.empty p{font-size:13px;max-width:360px;margin:0 auto 16px}.steps{display:grid;gap:19px}.step{display:flex;gap:14px}.step-number{font-family:Georgia,serif;background:#f0f3e9;color:#799567;width:31px;height:31px;display:grid;place-items:center;border-radius:50%;flex-shrink:0}.step h3{font-size:13px;margin-bottom:3px}.step p{font-size:12px;color:var(--muted);margin:0}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.filters input{flex:1;min-width:180px}.filters select{width:auto;max-width:180px}input,select,textarea{border:1px solid #dce3d8;background:#fff;border-radius:9px;padding:10px 12px;color:var(--ink);width:100%;min-height:43px}textarea{resize:vertical;min-height:105px;line-height:1.7}input:focus,select:focus,textarea:focus{outline:none;border-color:#7c9c72;box-shadow:0 0 0 3px #eaf1e4}input[type=checkbox]{width:18px;min-height:18px;height:18px;accent-color:var(--green);flex-shrink:0}label.field{display:grid;gap:6px;font-size:12px;color:#67796c}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full{grid-column:1/-1}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:17px}.question-card{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;transition:box-shadow .2s,transform .2s}.question-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.card-image{height:150px;background:#f1f3ed;display:flex;align-items:center;justify-content:center;padding:16px;overflow:hidden;position:relative}.card-image img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}.card-image .text-preview{font-size:13px;white-space:pre-wrap;max-height:120px;overflow:hidden;width:100%;color:#60715e}.card-check{position:absolute;left:12px;top:12px;display:flex;background:white;border-radius:5px;padding:4px}.card-body{padding:17px}.tag{display:inline-flex;gap:5px;align-items:center;border-radius:5px;padding:2px 7px;background:#edf3e8;color:#5e7c50;font-size:10px}.tag.orange{background:#fcf0e5;color:#b57d48}.tag.gray{background:#f0f2ed;color:#7e8a7c}.card-body h3{margin:10px 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-body p{font-size:12px;color:var(--muted);margin-bottom:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px;font-size:11px;color:var(--muted)}.card-foot button{padding:0;font-size:12px}.selection-bar{position:sticky;bottom:20px;background:var(--green);color:white;padding:13px 22px;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:20px;box-shadow:var(--shadow);z-index:10}.selection-bar button{background:#dce8bc;color:var(--green);border-radius:8px;padding:9px 14px}.upload-zone{display:grid;place-items:center;min-height:230px;border:1.5px dashed #b7c8ab;background:#f8faf4;border-radius:15px;padding:32px;text-align:center}.upload-zone .ico{width:36px;height:36px;color:#85a075;margin-bottom:16px}.upload-zone p{font-size:13px;color:var(--muted)}.upload-zone label{cursor:pointer}.hidden{display:none!important}.capture-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:22px}.canvas-wrap{background:#e9ece5;border-radius:12px;padding:12px;overflow:hidden;line-height:0}.canvas-wrap canvas{width:100%;height:auto;touch-action:none;cursor:crosshair;display:block}.page-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.page-tabs button{padding:7px 13px;border-radius:7px;background:#edf1e7;color:#6c8064}.page-tabs button.active{background:var(--green);color:#fff}.crop-list{display:grid;gap:9px;margin:18px 0}.crop-item{background:#f6f8f2;border-radius:8px;display:flex;align-items:center;justify-content:space-between;padding:9px 12px;font-size:12px}.notice{background:#f5f3e8;border:1px solid #ebe6d3;color:#8d8056;border-radius:10px;padding:12px 15px;font-size:12px;line-height:1.8}.notice.green{background:#eef4e8;border-color:#dfebd5;color:#627e50}.notice p:last-child{margin-bottom:0}dialog{border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 100px #183a2530;width:min(1000px,95vw);max-height:92vh;padding:0;color:var(--ink)}dialog::backdrop{background:#142d2459;backdrop-filter:blur(3px)}.dialog-head{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);padding:20px 25px;display:flex;justify-content:space-between;align-items:center;z-index:2}.dialog-head h2{margin:0;font-size:19px}.dialog-body{padding:25px;display:grid;gap:22px}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:25px}.question-image{width:100%;max-height:460px;object-fit:contain;background:#f5f6f0;border:1px solid var(--line);border-radius:10px;padding:12px}.image-label{font-size:12px;margin-bottom:7px;color:var(--muted)}details{border-top:1px solid var(--line);padding-top:13px}summary{cursor:pointer;color:var(--green);font-size:13px;margin-bottom:12px}.ai-box{background:#f0f5ea;border:1px solid #dce8d2;border-radius:12px;padding:18px}.ai-box h3{margin-bottom:8px}.ai-box p{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.review-card{max-width:800px;margin:0 auto}.review-card .question-image{max-height:550px}.review-card h2{margin-top:20px}.answer-content{white-space:pre-wrap;background:#f5f7ef;padding:20px;border-radius:12px;overflow-wrap:anywhere}.result-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.result-buttons button{padding:15px 10px;border-radius:10px;border:1px solid #dce5d5;background:#eef4e7;color:#507242}.result-buttons button:nth-child(2){background:#faf3e7;color:#aa8850;border-color:#ecdfc7}.result-buttons button:nth-child(3){background:#faeeeb;color:#b46b60;border-color:#eddad4}.task-row,.list-row{padding:15px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:14px}.task-row:last-child,.list-row:last-child{border:0}.task-row p,.list-row p{font-size:12px;color:var(--muted);margin:4px 0 0}.task-row h3,.list-row h3{margin:0}.bar-row{margin:14px 0;font-size:12px}.bar-track{height:6px;background:#edf0e8;border-radius:8px;margin-top:7px;overflow:hidden}.bar-track span{display:block;height:100%;background:#8ca77c;border-radius:8px}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-story{background:#e7eedc;padding:12vh 12%;display:flex;flex-direction:column;justify-content:center}.login-story .brand{padding:0 0 50px}.login-story h1{font-family:Georgia,"Songti SC",SimSun,serif;font-size:44px;line-height:1.65;font-weight:500;letter-spacing:1px}.login-story p{color:#728468;max-width:330px}.login-form{display:flex;align-items:center;justify-content:center;padding:35px}.login-form form{width:100%;max-width:340px}.login-form h2{font-size:26px;margin-bottom:12px}.login-form .primary{width:100%;margin-top:22px}.login-note{margin-top:28px;font-size:12px;color:var(--muted)}#toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);background:#1f4037;color:white;border-radius:10px;max-width:90vw;padding:12px 22px;z-index:100;box-shadow:var(--shadow);display:none}.print-page{max-width:850px;margin:auto;background:white;padding:35px}.print-question{break-inside:avoid;page-break-inside:avoid;border-bottom:1px dashed #ddd;padding:20px 0}.print-question img{max-width:100%;max-height:200mm;object-fit:contain;display:block}.print-question .text-content{white-space:pre-wrap;overflow-wrap:anywhere}.answer-space{height:42mm}.answer-space.small{height:22mm}.answer-space.large{height:70mm}.print-controls{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:22px}.print-answer{white-space:pre-wrap;overflow-wrap:anywhere}.page-break{break-before:page}.working{padding:10px 0;font-size:13px;color:var(--green)}.hint-line{font-size:12px;color:var(--muted);margin:10px 0 0}.footer-note{text-align:center;font-size:11px;color:#a2aca0;margin-top:35px;letter-spacing:1px}
@media(min-width:1600px){.main{margin-right:auto}.hero-art{margin-right:60px}}
@media(max-width:1100px){.sidebar{width:185px;padding:24px 12px}.main{margin-left:185px;padding:24px}.hero-art{width:155px;margin-right:0}.hero{padding:26px}.stats{gap:10px}.stat{padding:15px}.capture-layout{grid-template-columns:1fr}.capture-layout>.panel{order:-1}.capture-layout>.panel .stack{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr 1fr}}
@media(max-width:760px){body{font-size:14px}.sidebar{position:fixed;inset:auto 0 0;width:100%;padding:7px 8px calc(7px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--line)}.sidebar .brand,.sidebar-bottom{display:none}.nav{display:flex;gap:2px;justify-content:space-around}.nav button{flex:1;flex-direction:column;gap:4px;padding:7px 2px;font-size:10px;border-radius:9px}.nav svg.ico{width:20px;height:20px}.main{margin-left:0;padding:20px 17px 110px}.topbar{margin-bottom:20px;font-size:10px}.heading{margin-bottom:20px;align-items:flex-start}h1{font-size:25px}.heading p{font-size:12px}.heading>.primary{padding:10px 12px;font-size:12px}.hero{padding:24px;min-height:235px;margin-bottom:17px}.hero h2{font-size:24px}.hero p{max-width:240px}.hero-art{width:100px;position:absolute;right:-15px;bottom:8px;opacity:.45}.hero>div{position:relative;z-index:1}.stats{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}.stat{padding:16px 18px}.stat strong{font-size:29px}.two-col,.detail-columns{grid-template-columns:1fr}.panel{padding:20px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.card-image{height:120px;padding:12px}.card-body{padding:13px}.card-body h3{font-size:13px}.card-foot{font-size:10px}.card-foot button{font-size:11px}.form-grid{gap:12px}.filters select{max-width:none;flex:1;min-width:100px}.selection-bar{bottom:78px;font-size:12px;padding:12px}.login{grid-template-columns:1fr}.login-story{padding:30px 28px}.login-story .brand{padding-bottom:22px}.login-story h1{font-size:28px;line-height:1.5}.login-story p{font-size:13px;margin-bottom:0}.login-story .hero-art{display:none}.login-form{padding:35px 28px}.dialog-head{padding:16px 20px}.dialog-body{padding:18px}.result-buttons{gap:6px}.result-buttons button{font-size:12px}.print-page{padding:20px 15px}.task-row{align-items:flex-start;flex-wrap:wrap}.task-row .flex{flex-wrap:wrap}.capture-layout>.panel .stack{grid-template-columns:1fr}.capture-layout{gap:15px}#toast{bottom:100px}.eyebrow{font-size:9px}}
@media(max-width:370px){.cards{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}}
.dialog-body form>.flex>.flex{flex-wrap:wrap}
.dialog-body form>.flex{position:sticky;bottom:0;background:#fff;padding:13px 0;border-top:1px solid var(--line);z-index:1}
.dialog-body form>.flex button{font-size:13px}
.file-trigger{position:relative;overflow:hidden;min-height:44px;cursor:pointer}
.file-trigger input[type=file]{display:block!important;position:absolute;inset:0;width:100%;height:100%;min-height:0;opacity:0;padding:0;border:0;margin:0;cursor:pointer;z-index:2}
.file-trigger:focus-within{outline:3px solid #d7ac57;outline-offset:3px}
.file-trigger:has(input:disabled){opacity:.5;cursor:wait}
.photo-feedback{margin-bottom:16px}.photo-feedback p{margin-top:0}
.file-fallback{border:0;padding-top:5px}.file-fallback summary{font-size:12px;margin-bottom:10px}
.file-fallback input[type=file]{display:block;background:white;min-height:46px;padding:9px;font-size:13px}
.analysis-feedback{flex-basis:100%;width:100%;margin-top:6px;overflow-wrap:anywhere}
.analysis-feedback.analysis-error{background:#fbefea;border-color:#edd4c8;color:#a05d4f}
.private-login .login-story{background:radial-gradient(ellipse at 55% 75%,#365447 0,#1d3b33 45%,#16332d 100%);padding:6vh 12%;justify-content:space-between;position:relative;overflow:hidden;min-height:100vh}
.private-login .login-story .brand{padding-bottom:35px}.private-login .brand strong{color:#edf0df;font-weight:500;letter-spacing:3px}.private-login .brand small{color:#a9b69b;font-size:9px;letter-spacing:3px}
.private-login .login-story h1{font-size:clamp(30px,3vw,45px);line-height:1.8;letter-spacing:2px;color:#e8ebd9;font-weight:400;margin-bottom:22px}.private-login .login-story p{color:#a3b29e;font-size:13px;line-height:2;letter-spacing:1px}.private-login .login-story .eyebrow{color:#a4b194;font-size:9px;letter-spacing:2.3px;margin-bottom:20px}
.private-intro{position:relative;z-index:1}.portal-art{width:min(340px,100%);align-self:center;flex-shrink:0;margin-top:12px}.private-coordinate{display:flex;justify-content:space-between;width:100%;font-size:8px;letter-spacing:2.3px;color:#9bab90;padding-top:28px;gap:20px}
.private-login .login-form{background:#f8f8f1;position:relative}.private-login .login-form form{max-width:330px}.private-login .login-form h2{font-size:30px;font-weight:500;margin-bottom:10px;letter-spacing:1px}.private-login .login-form .eyebrow{font-size:9px;letter-spacing:3px}.private-login .login-form .muted{font-size:13px;margin-bottom:35px;color:#889184}.private-key{display:grid;place-items:center;width:42px;height:42px;border:1px solid #dde4d5;border-radius:50%;color:#8b9d76;margin-bottom:28px}.private-login label.field{font-size:11px;gap:10px}.private-login input{background:#fffefa;border-color:#d9dfd1;padding:13px 14px}.private-login button.primary{margin-top:18px;padding:13px 18px;justify-content:space-between;font-size:14px}.private-login .login-note{font-size:10px;color:#a0a696;letter-spacing:1px;text-align:center;margin-top:28px}.private-signature{position:absolute;bottom:25px;font-size:9px;letter-spacing:2px;color:#a5ac9d}
@media(max-width:760px){.private-login .login-story{min-height:0;padding:26px 28px 29px}.private-login .login-story .brand{padding-bottom:28px}.private-login .login-story h1{font-size:26px;line-height:1.75;margin-bottom:12px}.private-login .login-story p{font-size:12px;margin-bottom:0}.private-login .login-story .eyebrow{font-size:7px;letter-spacing:1.7px;margin-bottom:12px}.private-login .portal-art{position:absolute;width:150px;right:-5px;bottom:9px;opacity:.35}.private-coordinate{padding-top:24px;font-size:7px;position:relative;z-index:1}.private-login .login-form{padding:35px 28px 65px;min-height:450px}.private-login .login-form h2{font-size:26px}.private-key{display:none}.private-login .login-form .muted{margin-bottom:25px}.private-signature{bottom:20px}}
@page{size:A4;margin:14mm}
@media print{body{background:white;color:black;font:11pt/1.65 sans-serif}.sidebar,.topbar,.print-controls,#toast,dialog,.footer-note{display:none!important}.main{margin:0;padding:0;max-width:none}.print-page{padding:0;max-width:none}.print-question{padding:5mm 0}.print-page h1{font-size:20pt}.print-page .muted,.print-page small{color:#555}.print-question img{mix-blend-mode:normal}.print-question .notice{display:none}}
