.steel-app{position:relative}.steel-app .header .privacy{color:#9fb0c8;white-space:nowrap;font-size:11px}.steel-app .header input.project-name{width:220px}.steel-empty{flex:1;justify-content:center;align-items:flex-start;padding:36px 20px;display:flex;overflow:auto}.steel-empty .card{width:100%;max-width:780px;padding:22px 26px}.steel-empty h2{margin:0 0 4px;font-size:20px}.steel-empty .lead{color:var(--text-dim);margin-bottom:14px;font-size:13px;line-height:1.6}.steel-steps{gap:12px;margin:14px 0 18px;display:flex}.steel-step{border:1px solid var(--border);background:#f7f9fc;border-radius:8px;flex:1;padding:12px}.steel-step .n{background:var(--accent);color:#fff;text-align:center;border-radius:50%;width:22px;height:22px;margin-bottom:6px;font-weight:800;line-height:22px;display:inline-block}.steel-step .t{margin-bottom:4px;font-weight:700}.steel-step .d{color:var(--text-dim);font-size:12px;line-height:1.5}.steel-drop{border:2px dashed var(--border);text-align:center;color:var(--text-dim);border-radius:10px;flex-direction:column;align-items:center;gap:10px;padding:22px;display:flex}.steel-drop .actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.steel-drop .actions button{padding:8px 18px;font-size:14px}.steel-pages{border:1px solid var(--border);background:#fafcfe;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:16px 18px;display:flex}.steel-pages .file{width:100%;font-size:14px}.steel-pages label{align-items:center;gap:8px;font-weight:700;display:inline-flex}.steel-pages input{width:280px;padding:6px 10px;font-size:14px}.steel-pages button.primary{padding:7px 22px;font-size:14px}.steel-pages .hint{width:100%;color:var(--text-dim);font-size:11.5px}.steel-dragover{border:4px dashed var(--accent);z-index:500;pointer-events:none;background:#1a6ee01f;position:fixed;inset:0}.steel-busy{z-index:1000;color:#fff;background:#0f162073;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex;position:fixed;inset:0}.steel-busy div{background:var(--header-bg);border-radius:10px;align-items:baseline;gap:14px;padding:16px 28px;display:flex;box-shadow:0 10px 30px #0000004d}.steel-busy small{color:#9fb0c8;font-variant-numeric:tabular-nums;font-weight:500}.steel-summary{background:var(--panel);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:26px;padding:10px 18px;display:flex;position:relative}.steel-summary .stat:first-child{flex-shrink:0}.steel-summary .stat .label{color:var(--text-dim);max-width:300px;font-size:11.5px;font-weight:700}.steel-summary .stat .v{font-variant-numeric:tabular-nums;letter-spacing:.2px;white-space:nowrap;font-size:23px;font-weight:800}.steel-summary .stat .v small{color:var(--text-dim);font-size:13px;font-weight:600}.steel-summary .stat .sub{color:var(--text-dim);font-size:11.5px}.steel-summary .stat.book .v{color:#0f4a9c}.steel-summary .spacer{flex:1}.steel-dl{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.steel-dl .btns{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.steel-dl .btns button{white-space:nowrap;padding:6px 14px;font-weight:700}.steel-notice{color:#7a4a00;background:#fff1d6;border:1px solid #f0c060;border-radius:6px;padding:4px 12px;font-size:13px;font-weight:800}.steel-notice.ok{color:#1f5c3a;background:#eef8f1;border-color:#cde9d6}.steel-notice.small{font-size:12px;font-weight:600}.steel-notice.warn{color:#9c1f1f;cursor:pointer;text-align:left;background:#fdecec;border-color:#f2b8b8}button.steel-notice.ok{cursor:pointer}.steel-notices{flex-wrap:wrap;justify-content:flex-end;align-items:stretch;gap:8px;display:flex}.steel-recalc{background:var(--header-bg);color:#fff;z-index:20;border-radius:6px;padding:4px 14px;font-size:12px;font-weight:700;position:absolute;top:100%;left:50%;transform:translate(-50%,4px)}.steel-proto-note{color:#7a4a00;background:#fff8e8;border:1px solid #f0d9a0;border-radius:6px;margin:0 0 14px;padding:6px 10px;font-size:12px;line-height:1.5}.steel-proto-strip{color:#7a4a00;border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;background:#fff8e8;flex-shrink:0;padding:3px 18px;font-size:11.5px;overflow:hidden}.steel-subline{color:var(--text-dim);border-bottom:1px solid var(--border);background:#f7f9fc;flex-shrink:0;align-items:center;gap:16px;padding:4px 18px;font-size:11.5px;display:flex}.steel-subline .dim{margin-left:auto}.steel-sample-note{color:#0f4a9c;background:#e8f1fd;border:1px solid #bcd3f5;border-radius:4px;padding:1px 8px;font-weight:700}.steel-fatal{color:#fff;background:var(--danger);border-radius:4px;padding:1px 8px;font-weight:700}.steel-main{flex:1;min-height:0;display:flex}.steel-list{background:var(--panel);border-right:1px solid var(--border);flex-shrink:0;width:390px;padding:10px;overflow-y:auto}.steel-list-head{color:var(--text-dim);margin:0 2px 8px;font-size:11.5px;font-weight:700}.steel-qrow{text-align:left;border:1px solid var(--border);background:#fff;border-left-width:5px;border-radius:8px;width:100%;margin:0 0 8px;padding:9px 11px 8px;display:block}.steel-qrow:hover{background:#f7f9fc}.steel-qrow.sel{background:var(--accent-soft);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.steel-qrow.kind-conflict{border-left-color:#d64545}.steel-qrow.kind-unwritten{border-left-color:#e08a00}.steel-qrow.kind-estimate{border-left-color:#7b4fd6}.steel-qrow.answered{opacity:.72}.steel-qrow.follower{width:calc(100% - 18px);margin-left:18px}.steel-qrow.answered.sel{opacity:1}.steel-qrow .top{align-items:center;gap:7px;display:flex}.steel-qrow .subj{font-size:13px;font-weight:800}.steel-qrow .s{color:#3d4756;margin:4px 0 5px;font-size:12px;line-height:1.45}.steel-qrow .m{color:var(--text-dim);font-variant-numeric:tabular-nums;gap:8px;font-size:11.5px;display:flex}.steel-qrow .m .a{color:#a05a00;white-space:nowrap;text-overflow:ellipsis;max-width:190px;margin-left:auto;font-weight:700;overflow:hidden}.steel-qrow .m .a.done{color:var(--ok)}.steel-none{color:var(--text-dim);padding:30px}.steel-kind{border:1px solid;border-radius:4px;flex-shrink:0;padding:1px 7px;font-size:11px;font-weight:800;display:inline-block}.steel-kind.kind-conflict{color:#b22b2b;background:#fdecec;border-color:#f2b8b8}.steel-kind.kind-unwritten{color:#8a5000;background:#fff3dc;border-color:#f2cf8a}.steel-kind.kind-estimate{color:#5a34b0;background:#f1ebfd;border-color:#cfbcf3}.steel-detail{flex:1;min-width:0;padding:16px 22px 60px;overflow-y:auto}.steel-q h3{margin:18px 0 8px;font-size:13.5px}.steel-q-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.steel-q-head h2{white-space:nowrap;text-overflow:ellipsis;min-width:0;margin:0;font-size:18px;overflow:hidden}.steel-q-head .steel-kind{padding:2px 9px;font-size:12px}.steel-q-impact{color:#3d4756;font-variant-numeric:tabular-nums;font-weight:700}.steel-status{border-radius:6px;margin-left:auto;padding:3px 10px;font-size:12.5px;font-weight:700}.steel-status.open{color:#7a4a00;background:#fff1d6}.steel-status.done{color:#1f5c3a;background:#eef8f1}.steel-q-text{border:1px solid var(--border);background:#fff;border-radius:8px;margin:10px 0 0;padding:10px 14px;font-size:13.5px;line-height:1.7}.steel-q-note{color:#3d4756;background:#f2f5f9;border-radius:6px;margin:6px 0 0;padding:6px 12px;font-size:12.5px}.steel-q-note.book{color:#0f4a9c;background:#eaf3ff;font-weight:600}.steel-q-note.reject{color:#9c1f1f;background:#fdecec;border:1px solid #f2b8b8;font-weight:700}.steel-qrow .m .a.reject{color:#b22b2b}.steel-status.done.book{color:#0f4a9c;background:#eaf3ff}.steel-qrow .m .a.book{color:#0f4a9c}.steel-options{grid-template-columns:repeat(auto-fill,minmax(560px,1fr));align-items:start;gap:12px;display:grid}.steel-option{border:2px solid var(--border);cursor:pointer;background:#fff;border-radius:10px;padding:10px 12px}.steel-option:hover{border-color:#b9c4d4}.steel-option.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);background:#f5f9ff}.steel-option:focus-visible{outline:2px solid var(--accent)}.steel-option-head{align-items:center;gap:8px;display:flex}.steel-option-head .label{font-size:13px;font-weight:700;line-height:1.45}.steel-radio{border:2px solid #9aa7b6;border-radius:50%;flex-shrink:0;width:16px;height:16px}.steel-option.on .steel-radio{border-color:var(--accent);background:radial-gradient(circle, var(--accent) 45%, transparent 50%)}.steel-tag{color:var(--text-dim);border:1px solid var(--border);border-radius:4px;flex-shrink:0;padding:0 6px;font-size:10.5px;font-weight:700}.steel-option-value{color:var(--text-dim);font-variant-numeric:tabular-nums;margin:3px 0 0 24px;font-size:12px}.steel-crops{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.steel-input-row{align-items:center;gap:8px;margin:8px 0 0 24px;display:flex}.steel-input-row input{text-align:right;font-variant-numeric:tabular-nums;width:200px;padding:6px 10px;font-size:15px}.steel-input-row .unit{color:var(--text-dim)}.steel-input-error{color:var(--danger);margin:6px 0 0 24px;font-size:12px;font-weight:600}.steel-pages .steel-input-error{width:100%;margin:0}.steel-src-text{color:var(--text-dim);padding:6px 0;font-size:12px}.steel-decide{border:1px solid var(--border);z-index:5;background:#fff;border-radius:10px;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;display:flex;position:sticky;bottom:0;box-shadow:0 -4px 12px #141e320f}.steel-decide .spacer{flex:1}.steel-decide button.big{white-space:nowrap;flex-shrink:0;padding:8px 26px;font-size:15px}.steel-decide button{flex-shrink:0}.steel-choice{flex:260px;max-width:640px;font-size:12.5px;line-height:1.45}.steel-choice .dim{color:var(--text-dim)}.steel-caution{color:#7a4a00;background:#fff1d6;border:1px solid #f0c060;border-radius:6px;margin-top:4px;padding:4px 8px;font-weight:700}.steel-remember{cursor:pointer;flex-wrap:wrap;flex:320px;align-items:center;gap:7px;font-weight:700;display:inline-flex}.steel-remember-text{word-break:keep-all;overflow-wrap:anywhere;flex:1 1 0;min-width:0}.steel-remember>input{align-self:flex-start}.steel-remember small{color:var(--text-dim);flex-basis:100%;padding-left:23px;font-weight:500;line-height:1.45}.steel-remember small.same-key{color:#3d4756}.steel-remember.off{color:var(--text-dim);cursor:default}table.steel-members td.wrap{white-space:normal;min-width:260px}.steel-region{margin:0}.steel-region-box{border:1px solid var(--border);background:#fff;border-radius:6px;position:relative;overflow:hidden}.steel-region.clickable .steel-region-box{cursor:zoom-in}.steel-region-box img{display:block}.steel-region-box svg{pointer-events:none;position:absolute;top:0;left:0}.steel-region-wait{color:var(--text-dim);background:repeating-linear-gradient(45deg,#f7f9fc 0 10px,#eef2f7 10px 20px);justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;inset:0}.steel-region figcaption{color:var(--text-dim);margin-top:3px;font-size:11.5px;line-height:1.4}.steel-crop-pair{align-items:flex-start;gap:6px;display:flex}.steel-tags{pointer-events:none;position:absolute;inset:0}.steel-tags svg{position:absolute;top:0;left:0}.steel-tag-line{stroke:#6b7a90;stroke-width:1px}.steel-tag-line.own{stroke:#e600a0;stroke-width:1.5px}.steel-point-tag{color:#3d4756;white-space:nowrap;background:#ffffffeb;border:1px solid #9aa7b6;border-radius:4px;justify-content:center;align-items:center;font-size:11px;font-weight:700;line-height:1;display:flex;position:absolute}.steel-point-tag.own{color:#fff;background:#e600a0;border-color:#e600a0}.steel-grid-tag{color:#0f4a9c;white-space:nowrap;background:#fffffff2;border:1.5px solid #1a6ee0;border-radius:9px;padding:2px 5px;font-size:11px;font-weight:800;line-height:1;position:absolute;transform:translate(-50%,-50%)}.steel-grid-tag.must{color:#fff;background:#1a6ee0;border-color:#0f4a9c}.steel-glow{fill:none;stroke:#e600a0;stroke-width:2.5px}.steel-mark{fill:none;stroke:#6b7a90;stroke-width:1.5px;stroke-dasharray:3 2}.steel-glow.halo{stroke:#ff3fbf;stroke-width:10px;stroke-opacity:.35;animation:1.1s ease-in-out infinite steel-pulse}.steel-mem{fill:none;stroke:#ff6ec4;stroke-width:2.5px;stroke-opacity:.9;stroke-linecap:round;stroke-linejoin:round}.steel-mem.target{stroke:#e600a0;stroke-width:4px;stroke-opacity:1}rect.steel-mem{fill:#ff6ec4;stroke:#fff;stroke-width:1px}rect.steel-mem.target{fill:#e600a0}.steel-mem.halo{stroke:none}.steel-mem.target.halo{stroke:#ff3fbf;stroke-width:12px;stroke-opacity:.3;animation:1.1s ease-in-out infinite steel-pulse}@keyframes steel-pulse{0%,to{stroke-opacity:.12}50%{stroke-opacity:.55}}.steel-figs{flex-wrap:wrap;gap:16px;display:flex}.steel-fig{flex-direction:column;gap:6px;display:flex}.steel-chips{flex-wrap:wrap;gap:5px;max-width:600px;display:flex}.steel-chip{border-radius:12px;padding:2px 9px;font-size:11.5px}.steel-chip.on{background:var(--header-bg);color:#fff;border-color:var(--header-bg)}.steel-legend{color:var(--text-dim);align-items:center;gap:4px;margin:8px 0;font-size:11.5px;display:flex}.steel-legend .sw{border-radius:2px;width:22px;height:5px;margin-left:10px;display:inline-block}.steel-legend .sw:first-child{margin-left:0}.steel-legend .sw.target{background:#e600a0}.steel-legend .sw.affected{background:#ff6ec4}.steel-legend .sw.frame{background:0 0;border:2px solid #e600a0;width:14px;height:10px}.steel-table-wrap{border:1px solid var(--border);background:#fff;border-radius:8px;max-height:300px;overflow:auto}table.steel-members{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12px}table.steel-members th{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;background:#f2f5f9;padding:5px 8px;font-weight:700;position:sticky;top:0}table.steel-members td{white-space:nowrap;border-bottom:1px solid #eef1f5;padding:4px 8px}table.steel-members tr.changed td{background:#fff7e8}table.steel-members td s{color:#a0a8b4;margin-right:6px}table.steel-members td s:after{content:" →";margin-left:3px;text-decoration:none;display:inline-block}.steel-modal{z-index:1500;background:#0f16208c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.steel-modal.top{z-index:1600}table.steel-members tr.clickable{cursor:zoom-in}table.steel-members tr.clickable:hover td{background:#eef4ff}.steel-modal-box{background:var(--panel);border-radius:10px;max-width:94vw;max-height:94vh;padding:12px 14px;overflow:auto;box-shadow:0 10px 40px #00000059}.steel-modal-box.book{width:900px}.steel-modal-box.wide{width:1200px}.steel-table-wrap.tall{max-height:52vh}.steel-modal-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.steel-modal-head .spacer{flex:1}.steel-modal-box .dim{color:var(--text-dim);font-size:12.5px;line-height:1.6}.steel-modal-box .btns{gap:8px;margin:10px 0;display:flex}.steel-modal.view3d{touch-action:none}.steel-modal-box.view3d{width:min(1100px,92vw);overflow:hidden}.steel-modal-head .steel-3d-hint{white-space:nowrap;font-size:11.5px}.steel-3d-host{border:1px solid var(--border);touch-action:none;-webkit-user-select:none;user-select:none;background:#f4f6f9;border-radius:8px;width:100%;height:min(70vh,720px);min-height:240px;position:relative;overflow:hidden}.steel-3d-host canvas{touch-action:none;cursor:grab;width:100%;height:100%;display:block}.steel-3d-host canvas:active{cursor:grabbing}.steel-3d-note{text-align:center;color:var(--text-dim);pointer-events:none;background:#f4f6f9eb;justify-content:center;align-items:center;padding:16px;font-size:14px;display:flex;position:absolute;inset:0}.steel-3d-card{background:var(--panel);border:1px solid var(--border);max-width:min(240px,100% - 8px);box-shadow:var(--shadow);pointer-events:none;border-radius:8px;padding:8px 10px;font-size:12.5px;line-height:1.5;position:absolute}.steel-3d-card .t{margin-bottom:2px;font-weight:700}.steel-3d-card .r{overflow-wrap:anywhere}.steel-3d-card .dim{color:var(--text-dim)}.steel-3d-legend{color:var(--text);flex-wrap:wrap;gap:4px 16px;margin-top:8px;font-size:12px;display:flex}.steel-3d-legend .dim{color:var(--text-dim)}.steel-3d-sw{vertical-align:-2px;border:1px solid #00000026;border-radius:3px;width:12px;height:12px;margin-right:5px;display:inline-block}.steel-review-note{border-top:1px dashed var(--border);margin-top:10px;padding-top:8px}.steel-review-note>summary{cursor:pointer;color:var(--text-dim);font-size:12.5px;line-height:1.6}.steel-review-note .steel-q-note-has{color:#0f4a9c;font-weight:600}@media (width<=1023px){body{overflow:visible}.steel-app{height:auto;min-height:100%}.steel-app .header input.project-name{flex:120px;width:auto;min-width:0;max-width:220px}.steel-busy div{flex-wrap:wrap;margin:0 12px;padding:12px 16px;font-size:14px}.steel-summary{flex-wrap:wrap;gap:10px 18px;padding:10px 12px}.steel-summary .spacer{display:none}.steel-dl{align-items:stretch;width:100%}.steel-notices{justify-content:flex-start}.steel-dl .btns{flex-wrap:wrap;justify-content:flex-start}.steel-proto-strip{white-space:normal;padding:5px 12px}.steel-subline{flex-wrap:wrap;gap:4px 12px;padding:6px 12px}.steel-subline .dim{margin-left:0}.steel-main{display:block}.steel-list{border-right:none;border-bottom:1px solid var(--border);width:auto;overflow:visible}.steel-detail{padding:12px 10px 24px;overflow:visible}.steel-q-head h2{white-space:normal}.steel-status{margin-left:0}.steel-options{grid-template-columns:1fr}.steel-decide{flex-wrap:wrap}.steel-choice{flex:100%;max-width:none}.steel-remember{flex:100%}.steel-decide .spacer{display:none}.steel-decide button.big{flex:160px;padding:11px 16px}.steel-decide.typing{position:static}.steel-legend{word-break:keep-all;line-height:1.9;display:block}.steel-legend .sw{vertical-align:middle}.steel-chips{max-width:none}.steel-modal-box{max-width:96vw;max-height:92vh;padding:10px}.steel-modal-box.book,.steel-modal-box.wide{width:96vw}.steel-modal-head{flex-wrap:wrap}.steel-book-wrap{max-height:52vh;overflow:auto}.steel-modal-box.view3d{width:96vw}.steel-3d-host{height:min(60vh,560px)}.steel-modal-head .steel-3d-hint{white-space:normal;flex:100%;order:9}}@media (width<=1023px) and (height<=500px){.steel-decide{position:static}}@media (width<=1023px) and (height>=501px) and (height<=760px){.steel-remember{row-gap:2px;min-width:0}.steel-remember small{min-width:0;line-height:1.3}}@media (width<=1023px),(pointer:coarse){.steel-app .header input.project-name,.steel-pages input,.steel-input-row input{font-size:16px}}@media (width<=768px){.steel-app .header{padding:6px 10px}.steel-app .header .privacy{white-space:normal;flex:100%;order:9;font-size:10.5px;line-height:1.35}.steel-empty{padding:12px 10px}.steel-empty .card{padding:16px 14px}.steel-empty h2{font-size:17px}.steel-steps{flex-direction:column;gap:8px}.steel-drop{padding:16px 12px}.steel-drop .actions{flex-direction:column;width:100%}.steel-drop .actions button{width:100%;padding:12px 14px;font-size:15px}.steel-pages{padding:12px}.steel-pages label{flex-wrap:wrap;width:100%}.steel-pages input{width:100%}.steel-pages button.primary{width:100%;padding:11px}.steel-summary .stat .v{font-size:20px}.steel-dl .btns button{padding:9px 12px}.steel-qrow.follower{width:calc(100% - 12px);margin-left:12px}.steel-qrow .m .a{max-width:50%}.steel-q-head h2{font-size:16px}.steel-option{padding:10px}.steel-crop-pair{flex-direction:column}.steel-input-row{flex-wrap:wrap;margin-left:0}.steel-input-row input{width:160px}.steel-decide{gap:8px;padding:8px 10px}table.steel-members td.wrap{min-width:180px}}
