:root{font-family:"Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#28332f;background:#eeeae3;font-synthesis:none;--green:#617c6b;--line:#e8e3da;--paper:#faf8f3}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:#4e6d5b;text-decoration:none}[hidden]{display:none!important}.app{max-width:1040px;height:100dvh;min-height:500px;margin:auto;display:flex;flex-direction:column;background:var(--paper);box-shadow:0 0 60px #5f514210}.header{display:flex;align-items:center;gap:12px;padding:19px 26px;border-bottom:1px solid var(--line);background:#fffdf9}.brand-icon,.avatar{display:grid;place-items:center;background:var(--green);color:white;flex-shrink:0}.brand-icon{width:43px;height:43px;border-radius:15px;font-size:23px}.brand h1{font-size:19px;margin:0;font-weight:650;letter-spacing:2px}.brand p{font-size:12px;margin:5px 0 0;color:#899086}.header-actions{display:flex;gap:15px;align-items:center;margin-left:auto}.icon-button{border:0;background:none;color:#7b8379;font-size:24px;min-width:34px;min-height:36px}.settings-link{font-size:12px;color:#90958a}.connection{padding:9px 30px;background:#f3eee0;color:#897741;font-size:12px;line-height:1.7}.messages{flex:1;overflow:auto;padding:32px 40px 25px;scroll-behavior:smooth}.message-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:26px}.avatar{width:31px;height:31px;border-radius:50%;font-size:14px;margin-top:4px}.message-content{max-width:82%;min-width:0}.bubble{background:white;border:1px solid var(--line);border-radius:4px 18px 18px;padding:15px 19px;line-height:1.9;font-size:15px;white-space:pre-wrap;word-break:break-word;box-shadow:0 2px 3px #3b342207}.customer{flex-direction:row-reverse}.customer .avatar{background:#b8a58b}.customer .bubble{background:#e9eee5;border-color:#dfe6d8;border-radius:18px 4px 18px 18px}.message-time{display:block;font-size:10px;color:#a5aa9e;margin:7px 3px}.customer .message-time{text-align:right}.bubble-error{background:#fff6ee;color:#8c563c}.message-gallery{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.thumbnail-button{width:135px;height:135px;position:relative;border:0;padding:0;overflow:hidden;border-radius:12px;background:#ddd}.thumbnail-button img{width:100%;height:100%;object-fit:cover}.image-label{position:absolute;bottom:0;left:0;right:0;background:#262f25a8;color:white;font-size:10px;padding:5px}.drawing-card{margin-top:12px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:white}.drawing-image{display:block;width:100%;background:#e5e5d7;border:0;padding:0;line-height:0}.drawing-image img{display:block;width:100%;height:auto}.drawing-footer{padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:15px}.drawing-state{font-size:12px;color:#92714f}.download-link{background:#617c6b;color:white;border-radius:20px;padding:8px 15px;font-size:12px;white-space:nowrap}.drawing-note{font-size:11px;line-height:1.6;color:#9a8c79;padding:0 15px 12px;margin:0}.compose-area{padding:8px 34px max(15px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffdf9}.composer{display:flex;align-items:flex-end;gap:11px;padding:10px 12px;border:1px solid #dddcd0;background:white;border-radius:25px}.composer textarea{border:0;background:transparent;outline:0;flex:1;resize:none;min-height:32px;max-height:120px;padding:5px 0;line-height:1.55;font-size:14px;min-width:0}.composer textarea::placeholder{color:#a4a69a}.add-button{background:#f6f4ef;border:0;border-radius:50%;width:33px;height:33px;color:#677b6a;font-size:25px;flex-shrink:0}.send-button{background:var(--green);border:0;border-radius:50%;width:34px;height:34px;color:#fff;font-size:25px;flex-shrink:0}.compose-note{text-align:center;font-size:10px;color:#a7aa9d;margin:9px 0 0}.compose-tools{display:flex;justify-content:space-between;align-items:center;min-height:15px;margin:0 7px 7px;font-size:11px;color:#8b927f}.compose-tools button{background:#edf1e9;border:1px solid #dce4d5;border-radius:18px;color:#5d765f;padding:6px 12px;font-size:12px}.attachment-tray{display:flex;gap:10px;overflow:auto;padding:8px 0 12px}.pending-card{width:112px;position:relative;flex-shrink:0}.pending-card img{width:112px;height:88px;object-fit:cover;border-radius:10px}.pending-card select{width:100%;padding:5px 1px;border:0;background:transparent;color:#6c7665;font-size:10px}.remove-image{position:absolute;top:3px;right:3px;border:0;border-radius:50%;background:#fffdf0dc;width:22px;height:22px;padding:0;font-size:11px}.work-status{font-size:12px;color:#6e826b;padding:8px 80px}.work-status:before{content:"";display:inline-block;width:7px;height:7px;margin-right:9px;border-radius:50%;background:#7a997c;animation:pulse 1.4s infinite}@keyframes pulse{50%{opacity:.25}}.error-banner{background:#fff1e9;color:#a25438;padding:12px 30px;font-size:12px}.image-dialog{max-width:96vw;max-height:95dvh;background:#f8f6f0;border:0;border-radius:12px;padding:10px;overflow:auto}.image-dialog::backdrop,.history-dialog::backdrop{background:#17211ed9}.image-dialog img{display:block;max-width:100%;height:auto}.close-image{position:sticky;top:0;float:right;background:#fff;border:0;border-radius:50%;width:32px;height:32px}.history-dialog{width:420px;max-width:92vw;border:0;padding:22px;border-radius:18px;background:#fffdf9}.dialog-heading{display:flex;align-items:center;justify-content:space-between}.dialog-heading h2{font-size:18px}.history-item{display:block;width:100%;border:0;border-top:1px solid var(--line);background:none;text-align:left;padding:17px 5px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-page{max-width:800px;margin:35px auto;background:#fffdf9;border-radius:20px;padding:32px}.settings-page h1{font-size:25px;margin:18px 0}.settings-intro{font-size:13px;line-height:1.9;color:#7d8378}.settings-page label{display:block;font-size:13px;color:#66745f;margin:20px 0 7px}.settings-page input,.settings-page select{width:100%;padding:12px;border:1px solid #deded2;border-radius:9px;background:white;font-size:14px}.settings-page small{font-size:11px;color:#969b8c;line-height:1.7;display:block;margin-top:6px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.settings-page fieldset{border:1px solid var(--line);border-radius:12px;margin:22px 0;padding:4px 18px 18px}.settings-page legend{padding:0 8px;font-size:13px;color:#6c7a63}.primary-button{background:var(--green);color:white;border:0;border-radius:10px;padding:13px 25px;margin:20px 0;font-size:14px}.settings-status{padding:13px;border-radius:9px;background:#eef1e6;font-size:13px;line-height:1.8}.settings-status.error{background:#fff1e9;color:#9b563a}.settings-page .check-label{display:flex;align-items:center;gap:8px;font-size:11px;margin-top:8px}.settings-page .check-label input{width:auto}.settings-page details summary{font-size:13px;color:#7f8974;cursor:pointer}@media(min-width:1100px){body{padding:20px}.app{height:calc(100dvh - 40px);border-radius:20px;overflow:hidden}.message-content{max-width:85%}}@media(max-width:650px){.header{padding:14px 13px;gap:8px}.brand h1{font-size:17px}.brand-icon{width:37px;height:37px;font-size:19px}.messages{padding:23px 14px}.message-row{gap:8px}.message-content{max-width:86%}.bubble{font-size:14px;padding:12px 14px}.compose-area{padding-left:12px;padding-right:12px}.composer textarea{font-size:13px}.work-status{padding-left:52px}.thumbnail-button{width:100px;height:100px}.settings-page{margin:0;border-radius:0;padding:22px 18px}.settings-grid{grid-template-columns:1fr}.header-actions{gap:6px}.drawing-footer{padding:10px}.drawing-note{font-size:10px}.connection{padding:8px 18px}.avatar{width:27px;height:27px;font-size:12px}}
/* The installed Edge predates dvh. Keep the composer fixed to the viewport there too. */
@supports not (height:100dvh){.app{height:100vh}@media(min-width:1100px){.app{height:calc(100vh - 40px)}}}
.factory-page #factory-fields{border:0;margin:0;padding:0}.factory-page h2{font-size:18px;margin:30px 0 8px}.factory-page .muted{font-size:12px;font-weight:normal;color:#899086}.factory-page textarea{display:block;width:100%;max-width:100%;resize:vertical;padding:12px;border:1px solid #deded2;border-radius:9px;background:#fff;font-size:14px;line-height:1.8}.factory-page .check-label{font-size:14px;margin:22px 0 8px}.factory-page details{margin-top:25px}.factory-page input:focus,.factory-page textarea:focus{outline:2px solid #a7bda9;outline-offset:1px}
.annotation-edit{border:1px solid #ccd6c8;border-radius:7px;background:#f1f4ec;padding:7px 12px;color:#516b58;font-size:12px;margin-left:auto}.annotation-dialog{width:1500px;max-width:98vw;max-height:96vh;border:0;border-radius:16px;background:#faf8f3;padding:20px;overflow:auto}.annotation-dialog::backdrop{background:#17211ed9}.annotation-heading{display:flex;justify-content:space-between;align-items:center}.annotation-heading h2{font-size:20px;margin:0}.annotation-help{font-size:12px;line-height:1.8;color:#788071}.annotation-workspace{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px}.annotation-viewport{overflow:auto;background:#d7dccb;border:1px solid #d1d5c8}.annotation-viewport svg{width:100%;height:auto;display:block;touch-action:none;user-select:none;min-width:650px}.annotation-viewport [data-handle]{cursor:move}.annotation-viewport circle{cursor:grab}.annotation-sidebar{font-size:12px;min-width:0}.annotation-sidebar label{display:block;margin:12px 0 6px}.annotation-sidebar select,.annotation-sidebar input:not([type=checkbox]){width:100%;border:1px solid #d4d8ca;border-radius:6px;padding:7px;background:white;font:inherit}.annotation-sidebar select[size]{height:215px}.annotation-sidebar .annotation-check{display:flex;gap:5px;align-items:center}.annotation-sidebar p,.annotation-sidebar small,#annotation-missing{line-height:1.8;color:#7e785e;overflow-wrap:anywhere}#annotation-missing{margin:12px 0;padding:8px;background:#f1ecdf}.annotation-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.annotation-toolbar button,.annotation-sidebar button{border:1px solid #ccd4c6;border-radius:8px;padding:10px;font-size:12px;color:#4c6956;background:#f0f3e9}.annotation-toolbar .primary-button{background:#617c6b;color:white}.annotation-sidebar button{margin:12px 0}#annotation-status{font-size:12px;line-height:1.8;margin:12px 0;padding:8px;background:#edf1e5;border-radius:7px}@media(max-width:850px){.annotation-workspace{grid-template-columns:1fr}.annotation-sidebar select[size]{height:125px}.annotation-dialog{padding:12px}.annotation-viewport{max-height:58vh}.annotation-toolbar button{flex:1;min-width:120px}.annotation-toolbar .primary-button{margin:0}.annotation-sidebar{display:block}}

.annotation-coverage{margin:16px 0;font-size:13px;max-height:420px;overflow:auto}.annotation-coverage details{margin:8px 0}.coverage-row{display:block;text-align:left;width:100%;margin:5px 0;padding:8px;font-size:12px;white-space:normal;line-height:1.5}

.component-default-row{display:grid;grid-template-columns:1fr 1.5fr 1fr 1fr auto;gap:8px;margin:12px 0}.component-default-row>*{min-width:0}@media(max-width:650px){.component-default-row{grid-template-columns:1fr 1fr}.component-default-row button{grid-column:2}}
.parameter-review{max-width:100%;margin:25px 0;padding:20px;border:1px solid #d3ddcf;border-radius:14px;background:#fffefb;font-size:13px}.parameter-review h2{font-size:18px;margin:0 0 12px}.review-help,.review-provenance,.review-status{font-size:12px;line-height:1.8;color:#697c6b}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}.review-field{min-width:0}.review-field label{display:block;line-height:1.8}.review-field input,.review-observation input,.review-observation select{display:block;width:100%;min-width:0;padding:9px;border:1px solid #d5ddcf;border-radius:6px;background:white;font:inherit;box-sizing:border-box}.review-evidence{border:0;background:#ecf1e7;color:#4e6c57;padding:6px 9px;border-radius:6px;font-size:12px;cursor:pointer}.review-field .review-evidence{margin-left:6px}.parameter-review details{margin-top:18px}.parameter-review summary{cursor:pointer;color:#506d58}.parameter-review fieldset{margin:14px 0;border:1px solid #d9dfd0;border-radius:8px;padding:12px;min-width:0}.review-observation{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 0;border-bottom:1px solid #eee}.review-source{margin-top:18px;background:#f1f3ed;padding:12px;overflow-wrap:anywhere}.review-source svg{display:block;width:100%;max-height:400px;background:#fff}.parameter-review .primary-button{margin:18px 0 0}.review-field small{display:inline-block}.parameter-review button:disabled{opacity:.5;cursor:wait}@media(max-width:500px){.parameter-review{padding:12px}.review-grid{gap:10px}.review-field label{font-size:12px}.review-observation{grid-template-columns:1fr}.review-source{padding:6px}}
:root .composition-preview{margin:16px 45px;padding:18px;background:#fff;border:1px solid #d4ded1;border-radius:12px;color:#29443d}.composition-preview h3,.composition-preview h4{margin:0 0 10px}.composition-preview h4{margin-top:14px}.composition-group{display:flex;gap:5px;min-width:0}.composition-group.vertical{flex-direction:column}.composition-part{flex:1;min-width:0;border:1px solid #b7c5b6;background:#f3f6ef;padding:8px;border-radius:4px;overflow-wrap:anywhere}.composition-part strong,.composition-part small{display:block}.composition-part small{font-size:11px;margin:4px 0}.composition-part .composition-group{margin-top:8px}.composition-preview p{font-size:12px;color:#68776d;margin-bottom:0}
#draw-status{font-size:12px;color:#8c582e;line-height:1.6;padding:0 12px 8px;max-height:80px;overflow:auto}#draw-structured:disabled{opacity:.6;cursor:not-allowed}
