:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#223336;background:#f5f4ef;font-size:16px}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}header{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid #dedfd8;background:#fff}a{color:#24675e;text-decoration:none}header span{font-weight:650}main{max-width:1120px;margin:auto;padding:24px}.intro{margin:8px 0 24px}.eyebrow{letter-spacing:.14em;font-size:11px;font-weight:700;color:#437a6c}h1{font-size:clamp(26px,4vw,40px);margin:8px 0}h2{font-size:19px;margin:4px 0}p{color:#657270;line-height:1.6}button,a#downloadImage{font:inherit;font-size:14px;border:1px solid #d7ddd7;border-radius:10px;background:#fff;padding:11px 15px;cursor:pointer;color:#254b43;min-height:44px}button:disabled{opacity:.5;cursor:wait}button[aria-pressed=true],.primary{background:#245e53;color:white;border-color:#245e53}.model-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px}.model-head p{margin:5px 0;font-size:13px}.badge{white-space:nowrap;font-size:12px;background:#eff3e7;padding:7px 10px;border-radius:20px;color:#5a713c}#workspace{border:1px solid #dedfd8;border-radius:18px;overflow:hidden;background:white}#viewport{position:relative;height:clamp(340px,55vh,620px);background:#edf0ed}canvas{display:block;width:100%;height:100%;touch-action:none}.gesture{position:absolute;bottom:14px;left:18px;font-size:12px;color:#5b7168;pointer-events:none}.tools{padding:16px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}.views,.options{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.options label{display:flex;gap:8px;align-items:center;font-size:14px}input[type=color]{width:36px;height:36px;border:0;background:none}details{padding:16px 22px;border-top:1px solid #e7e9e2;font-size:13px}summary{cursor:pointer}form{max-width:380px;margin:30px auto;background:white;border:1px solid #dedfd8;padding:24px;border-radius:16px}form label{display:block;font-size:14px;margin:16px 0}form input{width:100%;padding:12px;border:1px solid #d7ddd7;border-radius:8px;font-size:16px;margin-top:6px}form button{width:100%}#notice{font-size:14px;line-height:1.6;margin:12px 0}dialog{width:min(720px,94vw);max-height:90dvh;border:0;border-radius:16px;padding:18px;overflow:auto}dialog::backdrop{background:#142924aa}.dialog-head{display:flex;align-items:center;justify-content:space-between}#imageResult{display:block;max-width:100%;max-height:60dvh;object-fit:contain;margin:12px auto}dialog p{font-size:13px}@media(max-width:600px){main{padding:14px}.intro{margin:6px 0 16px}.intro>p:last-child{font-size:14px}header{padding:12px 14px}.model-head{padding:14px}.model-head h2{font-size:17px}#viewport{height:45dvh;min-height:300px}.tools{padding:12px}button{padding:10px 12px}.options{width:100%}.badge{font-size:11px}.gesture{font-size:11px}}

.sheet-scroll{max-width:100%;overflow:auto;border:1px solid #e0e6e2;border-radius:10px;background:#fff}.sheet-scroll img{display:block;width:960px;max-width:none}.measure-row{padding:12px 0;border-bottom:1px solid #e5e9e5}.measure-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.measure-top strong{font-size:15px}.measure-basis{display:inline-block;background:#e8f1ed;padding:3px 8px;border-radius:12px;font-size:12px}.measure-row p{margin:7px 0}.measure-row a{text-decoration:underline}

.document-panel{background:white;border:1px solid #dedfd8;border-radius:16px;padding:18px;margin-bottom:20px}.document-panel h3{overflow-wrap:anywhere}.muted,#documentScope{font-size:13px;color:#657270}#documentList{display:flex;flex-direction:column;gap:8px;margin:12px 0}#documentList button{text-align:left;overflow-wrap:anywhere}.document-canvas{overflow:auto;max-height:65vh;background:#edf0ed;margin-top:12px}.document-canvas canvas{width:100%;height:auto;touch-action:auto}#documentCandidates{font-size:13px;line-height:1.6}#fileText{width:100%;height:260px;font-size:13px;white-space:pre;border:1px solid #ccd7d0}#fileImage{display:block;max-width:100%;max-height:60vh;object-fit:contain;margin:12px auto}#downloadFile{padding:10px;border:1px solid #ccd7d0;border-radius:8px}

#documentList{max-height:240px;overflow-y:auto;overscroll-behavior:contain}

.draft-step{border:2px solid #2a7665;border-radius:12px;padding:14px;margin-top:18px;background:#f4faf7}.draft-step input{max-width:100%;width:9rem}.draft-step select{display:block;max-width:100%;min-height:44px;margin:8px 0}.draft-step button,#documentCandidates button{min-height:44px;margin:4px 0}#documentCandidates p{overflow-wrap:anywhere}
