:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#26372d;background:#f5f4ee;font-synthesis:none;font-weight:400;--green:#304f3c;--muted:#849084;--line:#e0e3d8;--paper:#f8f8f2}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}button{color:inherit}button svg{pointer-events:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #719075;outline-offset:4px}button svg,svg.lucide{width:18px;height:18px;flex-shrink:0}button{border:0;background:none}a{color:inherit}input[type=number]{appearance:textfield;-moz-appearance:textfield}input::-webkit-inner-spin-button{appearance:none}button{transition:background .16s,color .16s,transform .16s}button:hover:not(:disabled){filter:brightness(.97)}.app-header{height:74px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:#f8f8f2;position:relative;z-index:5}.brand{text-decoration:none;display:flex;gap:11px;align-items:center;font-size:18px;font-weight:750;letter-spacing:1px;white-space:nowrap}.brand-mark{background:#304d3b;color:#f1f3df;display:grid;place-items:center;width:35px;height:35px;border-radius:9px}.brand-mark svg{width:24px;height:24px}.brand-light{font-weight:400;color:#6c786b}.brand-version{font-size:8px;font-weight:500;letter-spacing:1.8px;border:1px solid #ccd2c4;padding:4px 5px;border-radius:3px;margin-left:3px;color:#60705f}.header-center{display:flex;align-items:center;gap:9px;font-size:12px;color:#788373;position:absolute;left:50%;transform:translate(-50%)}.live-dot,.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#6e8b53;margin-right:1px}.header-actions{display:flex;gap:18px;align-items:center}.icon-button{height:34px;width:34px;display:grid;place-items:center;border-radius:7px}.quiet-button{display:flex;align-items:center;gap:7px;font-size:12px;color:#64745f;padding:8px 0}.workspace{display:grid;grid-template-columns:330px 1fr;height:calc(100dvh - 74px);max-width:1800px;margin:auto}.sidebar{background:var(--paper);border-right:1px solid var(--line);overflow:auto;scrollbar-width:thin;scrollbar-color:#d0d7c8 transparent;padding:29px 24px 20px;display:flex;flex-direction:column}.eyebrow{font-size:8px;font-weight:600;letter-spacing:2.3px;color:#8b9586}.sidebar-heading h1{font-size:27px;line-height:1.5;letter-spacing:1px;font-weight:550;margin:13px 0 9px}.sidebar-heading p{color:#8b9585;font-size:11px;line-height:1.8;margin:0}.part-nav{display:flex;flex-direction:column;gap:6px;margin:24px 0}.part-card{border:1px solid transparent;border-radius:9px;display:flex;align-items:center;padding:13px 10px;text-align:left;gap:10px;min-height:64px;background:transparent;position:relative}.part-card.active{border-color:#c4cfbc;background:#e9eee1}.part-number{font-size:9px;color:#97a18c;align-self:flex-start;margin-top:3px}.part-icon{width:32px;display:grid;place-items:center;color:#6c7d62}.part-icon svg{width:23px;height:23px;stroke-width:1.3}.part-copy{display:flex;flex-direction:column;gap:5px;flex:1}.part-copy strong{font-size:13px;letter-spacing:.5px;font-weight:550}.part-copy small{font-size:9px;color:#929c8b}.part-arrow{width:13px!important;color:#8b9982}.part-card:not(.active):hover{background:#eff1e7}.section-title{display:flex;justify-content:space-between;align-items:center;margin:0 0 22px}.section-title h3{font-size:12px;font-weight:550;margin:0}.section-title span{font-size:7px;letter-spacing:1.1px;color:#a0a897}.field{margin-bottom:23px}.field-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.field-head label{font-size:11px;color:#6e7c67}.number-wrap{display:flex;align-items:center;background:#fff;border:1px solid #dce2d3;border-radius:5px;height:30px;min-width:82px}.number-wrap:focus-within{border-color:#7a9573;box-shadow:0 0 0 2px #e8eee0}.number-wrap input{width:61px;background:transparent;border:0;outline:0;text-align:right;font-size:12px;color:#3d533a;padding:4px 7px 4px 3px;font-variant-numeric:tabular-nums}.number-wrap span{font-size:9px;color:#9ba58e;padding-right:8px}.slider{appearance:none;display:block;width:100%;height:3px;outline:none;background:#dfe5d6;border-radius:4px;cursor:pointer}.slider::-webkit-slider-thumb{appearance:none;height:12px;width:12px;background:#4e6844;border:3px solid #f8faf2;border-radius:50%;box-shadow:0 0 0 1px #8fa17e}.slider::-moz-range-thumb{height:8px;width:8px;border:2px solid #f8faf2;background:#4e6844;border-radius:50%}.field-note{margin:11px 0 0;font-size:9px;line-height:1.7;color:#99a18f}.fixed-dimension{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#8e9887;border-bottom:1px solid var(--line);padding-bottom:15px;margin-top:-3px}.fixed-dimension strong{font-size:12px;font-weight:450;margin-left:auto;margin-right:22px;color:#77886c}.fixed-dimension small{font-size:9px;color:#9ca593;margin-left:4px}.fixed-dimension>span:last-child{font-size:8px;display:flex;align-items:center;gap:4px}.fixed-dimension svg{width:9px;height:9px}.toggle-row{display:flex;align-items:center;gap:8px;cursor:pointer;position:relative;margin:17px 0 24px;justify-content:space-between}.toggle-row>span:first-child{display:flex;flex-direction:column;gap:6px}.toggle-row strong{font-size:11px;font-weight:400;color:#6c7d63}.toggle-row small{font-size:8px;color:#9ba491;line-height:1.6}.toggle-row input{position:absolute;right:0;opacity:0;width:33px;height:20px;cursor:pointer}.switch{width:30px;height:17px;border-radius:20px;background:#d9dfcf;flex-shrink:0;pointer-events:none;transition:background .2s}.switch:after{content:"";display:block;height:11px;width:11px;border-radius:50%;background:#fff;margin:3px;transition:transform .2s;box-shadow:0 1px 3px #26372d20}.toggle-row input:checked+.switch{background:#647d51}.toggle-row input:checked+.switch:after{transform:translate(13px)}.toggle-row input:focus-visible+.switch{outline:2px solid #809d76;outline-offset:3px}.parameters>.section-title:not(:first-child){border-top:1px solid var(--line);padding-top:22px;margin-top:26px}.is-disabled{opacity:.38;pointer-events:none}.info-note{display:flex;gap:8px;color:#899780;background:#eff2e7;font-size:9px;line-height:1.8;padding:12px;border-radius:6px;margin:1px 0 20px}.info-note svg{width:13px;height:13px;margin-top:2px}.info-note b{font-weight:400}.advanced{border-top:1px solid var(--line);padding-top:18px;margin-top:23px}.advanced summary{display:flex;align-items:center;justify-content:space-between;color:#899780;font-size:10px;cursor:pointer;list-style:none}.advanced summary svg{width:12px;height:12px}.advanced[open] summary{margin-bottom:18px}.advanced[open] summary svg{transform:rotate(180deg)}.sidebar-bottom{border-top:1px solid var(--line);margin-top:26px;padding-top:17px;color:#a2aa9a;font-size:8px;display:flex;flex-direction:column;gap:7px;line-height:1.6}.sidebar-bottom>span:first-child{display:flex;align-items:center;gap:6px;color:#7e8d73}.sidebar-bottom svg{width:11px;height:11px}.fixed-specs{padding:14px 12px;background:#f0f2e8;border-radius:6px;margin:15px 0 22px;display:grid;gap:14px;font-size:10px;color:#8a967f}.fixed-specs>div{display:flex;justify-content:space-between}.fixed-specs strong{font-size:10px;font-weight:500;color:#627558}.fixed-specs small{font-size:8px;margin-left:3px}.text-label{font-size:11px;display:block;color:#74816b;margin-bottom:10px}textarea{resize:vertical;width:100%;border:1px solid #d9e0cf;border-radius:7px;outline:none;background:#fff;color:#42583a;font-size:18px;line-height:1.8;padding:12px;min-height:90px}textarea:focus{border-color:#7e9974;box-shadow:0 0 0 2px #e8eee0}.text-foot{display:flex;justify-content:space-between;font-size:8px;color:#9fa893;margin:8px 0 14px}.label-suggestions{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 25px}.label-suggestions button{border:1px solid #dde4d2;padding:5px 8px;border-radius:4px;color:#829172;font-size:9px}.main-stage{min-width:0;display:flex;flex-direction:column;padding:27px 34px 16px;overflow:auto}.stage-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:20px}.stage-top h2{font-size:18px;font-weight:500;letter-spacing:1px;margin:9px 0 0}.stage-top h2 span{font-size:11px;font-weight:400;color:#a7b09b;margin-left:6px;letter-spacing:1px}.mode-tabs{display:flex;gap:3px;border:1px solid #dce1d3;padding:4px;background:#f8f8f1;border-radius:7px}.mode-tabs button{font-size:10px;color:#8c9981;min-width:52px;padding:7px 9px;border-radius:4px}.mode-tabs button.active{background:#e4ebdb;color:#4a6640}.mode-tabs button:disabled{opacity:.4}.viewport{flex:1;min-height:290px;position:relative;border-radius:14px;overflow:hidden;background:#e9ebe3;border:1px solid #e2e6db}.viewport canvas{display:block;width:100%;height:100%;touch-action:none}.viewport-caption{position:absolute;top:20px;left:20px;display:flex;align-items:center;gap:12px;pointer-events:none;font-size:8px;color:#98a38e;z-index:2}.outline-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid #c9d3bc;padding:5px 8px;border-radius:20px;font-size:8px;color:#839574;background:#eef1e780}.outline-chip.ready:before{content:"";width:4px;height:4px;border-radius:50%;background:#829963}.viewer-tools{position:absolute;z-index:2;right:16px;top:18px;background:#f6f8efdd;backdrop-filter:blur(10px);padding:5px;border:1px solid #dce2d1;border-radius:8px;display:flex;flex-direction:column;gap:3px}.viewer-tools button{width:28px;height:29px;border-radius:4px;display:grid;place-items:center;color:#75876a}.viewer-tools button.active,.viewer-tools button:hover{background:#e1e9d6}.viewer-tools button svg{width:15px;height:15px}.viewer-tools>span{height:1px;background:#dce4d2;margin:2px 4px}.axis-caption{position:absolute;bottom:18px;left:20px;display:flex;align-items:center;gap:10px;font-size:8px;color:#8d9b80;pointer-events:none}.axis-z{color:#7e966f;font-size:12px;font-weight:600}.model-meta{position:absolute;bottom:18px;right:18px;display:flex;flex-direction:column;align-items:flex-end;gap:5px;font-size:6px;letter-spacing:1.5px;color:#99a68c;pointer-events:none}.model-meta span:first-child{font-size:7px;letter-spacing:1.2px}.loading{position:absolute;inset:0;background:#e9ebe3ed;z-index:3;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:17px;color:#71856a}.loading strong{font-size:12px;font-weight:450}.loading small{font-size:9px;color:#9caa92}.spinner{width:24px;height:24px;border:2px solid #cdd7c1;border-top-color:#617e50;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}[hidden]{display:none!important}#error{position:absolute;inset:70px 40px auto;background:#fff4e9;color:#a4613b;border:1px solid #e4c7ac;padding:15px;border-radius:8px;z-index:4;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.stage-footer{flex-shrink:0}.metrics{display:flex;gap:35px;margin:22px 0 21px}.metrics>div{padding-right:35px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.metrics>div:last-child{border:0;padding:0}.metrics small{font-size:8px;color:#96a18b;letter-spacing:.5px}.metrics strong{font-size:16px;font-weight:500;color:#4c6144;font-variant-numeric:tabular-nums;letter-spacing:.1px}.metrics strong small{font-size:9px;letter-spacing:0;margin-left:3px}.metrics>div:last-child strong{font-size:12px;line-height:1.6}.export-card{display:flex;align-items:center;justify-content:space-between;background:#f9faf3;border:1px solid #dce3d1;border-radius:10px;padding:18px 20px;gap:16px}.export-description{display:flex;align-items:center;gap:13px}.export-icon{height:36px;width:36px;display:grid;place-items:center;background:#edf1e3;border-radius:7px;color:#728a5d}.export-icon svg{width:21px;height:21px}.export-description strong{font-size:12px;font-weight:500;letter-spacing:.5px}.export-description p{font-size:9px;color:#9ba68f;line-height:1.6;margin:6px 0 0}.primary-button{background:#334f36;color:#f2f6e9;min-height:43px;padding:12px 17px;border-radius:6px;display:flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap;font-size:11px;font-weight:450}.primary-button:hover:not(:disabled){background:#243f27;transform:translateY(-1px)}.primary-button svg{width:15px;height:15px}.primary-button em{font-style:normal;color:#a9bc97;font-size:10px;padding-left:2px}.primary-button:disabled{background:#b7c2ac;color:#f4f6ee}.primary-button:disabled em{color:#e0e7d7}.footer-line{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:7px;color:#a6af9b;line-height:1.6}.status-dot{width:5px;height:5px;margin-right:4px;background:#8b9e71}.pulse{animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.3}}#fit-warning{margin:-5px 0 12px;border:1px solid #e4d6b8;background:#faf4e7;border-radius:5px;padding:9px;font-size:10px;line-height:1.7;color:#9b8153}dialog{max-width:520px;width:calc(100% - 32px);border:1px solid #d2dbc5;border-radius:15px;background:#f8faf2;color:#3f5536;padding:35px;box-shadow:0 25px 100px #23351e30}dialog::backdrop{background:#23332465;backdrop-filter:blur(4px)}dialog h2{font-size:24px;font-weight:500;line-height:1.6;margin:15px 0 24px}dialog ol{padding-left:21px;margin:0}dialog li{padding-left:5px;margin:0 0 21px;font-size:12px}dialog p{font-size:11px;color:#879779;line-height:1.9;margin:7px 0}dialog a{font-size:9px;color:#92a17e;text-decoration:none}.dialog-close{position:absolute;right:15px;top:14px}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,10px);background:#2e4934;color:#f3f7eb;box-shadow:0 8px 25px #2d42252c;border-radius:8px;padding:12px 20px;font-size:11px;z-index:20;opacity:0;transition:.2s;pointer-events:none;max-width:calc(100vw - 30px);line-height:1.6}#toast.show{opacity:1;transform:translate(-50%)}@media(min-width:1500px){.workspace{grid-template-columns:350px 1fr}.main-stage{padding:33px 48px 22px}.sidebar{padding:33px 30px 22px}.viewport{min-height:360px}.metrics{margin:26px 0}.export-card{padding:22px}.sidebar-heading h1{font-size:30px}}@media(max-width:1100px){.workspace{grid-template-columns:298px 1fr}.sidebar{padding:24px 20px}.main-stage{padding:25px 24px 16px}.metrics{gap:22px}.metrics>div{padding-right:22px}.metrics strong{font-size:14px}.header-center{display:none}.export-card{padding:15px}.export-description p{max-width:170px}.export-icon{display:none}.viewport-caption>span:last-child{display:none}}@media(max-width:760px){.app-header{height:64px;padding:0 18px}.brand{font-size:15px;gap:8px}.brand-mark{height:30px;width:30px}.brand-mark svg{width:21px;height:21px}.brand-version{font-size:7px}.header-actions{gap:7px}.quiet-button span{display:none}.workspace{display:flex;flex-direction:column;height:auto}.sidebar{display:contents}.sidebar-heading{display:none}.part-nav{order:0;margin:15px 16px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.part-card{padding:12px 7px;gap:6px;min-height:60px;border-radius:7px;border-color:#e0e5d5}.part-icon{width:21px}.part-icon svg{width:20px;height:20px}.part-number{display:none}.part-copy strong{font-size:11px}.part-copy small{font-size:7px;line-height:1.5;max-width:72px}.part-arrow{display:none}.main-stage{order:1;padding:22px 16px 10px;overflow:visible}.stage-top{gap:10px;margin-bottom:15px}.stage-top .eyebrow{font-size:6px;letter-spacing:1.4px}.stage-top h2{font-size:16px;margin-top:7px}.mode-tabs{gap:0;padding:3px}.mode-tabs button{min-width:39px;font-size:9px;padding:7px}.viewport{flex:none;height:420px;min-height:0;border-radius:10px}.viewport-caption{top:14px;left:14px}.viewer-tools{right:12px;top:12px}.axis-caption{left:14px;bottom:14px}.model-meta{bottom:14px;right:14px;letter-spacing:.8px}.model-meta span:last-child{display:none}.metrics{gap:17px;margin:19px 0}.metrics>div{padding-right:16px}.metrics small{font-size:7px}.metrics strong{font-size:12px}.metrics>div:last-child strong{font-size:10px}.export-card{padding:15px 12px;gap:9px}.export-description strong{font-size:10px;letter-spacing:0}.export-description p{font-size:8px;max-width:155px;line-height:1.6}.primary-button{font-size:10px;padding:11px 12px;gap:6px;min-height:42px}.primary-button em{font-size:9px}.primary-button svg{width:13px;height:13px}.footer-line{font-size:6px;margin-top:11px}.parameters{order:2;margin:14px 16px 0;padding:22px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.parameters>.section-title:first-child{margin-bottom:23px}.section-title h3{font-size:13px}.field-head label{font-size:12px}.number-wrap{height:34px}.number-wrap input{font-size:14px;width:72px}.field{margin-bottom:28px}.field-note{font-size:10px}.toggle-row strong{font-size:12px}.toggle-row small{font-size:10px}.switch{width:34px;height:20px}.switch:after{height:14px;width:14px}.toggle-row input:checked+.switch:after{transform:translate(14px)}.info-note{font-size:10px}.sidebar-bottom{order:3;margin:0 16px 20px;padding:17px 3px;border:0;font-size:9px}.fixed-specs{font-size:11px}.fixed-specs strong{font-size:12px}.text-foot{font-size:9px}.text-label{font-size:12px}.label-suggestions button{font-size:11px}.advanced summary{font-size:11px}dialog{padding:28px}dialog h2{font-size:21px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition:none!important}}input[aria-invalid=true],textarea[aria-invalid=true]{color:#a1583b;outline:1px solid #cc997d;outline-offset:2px;border-radius:3px}.preset-select{appearance:auto;width:100%;padding:10px 11px;background:#fff;border:1px solid #d7dfcd;border-radius:6px;color:#4e6443;font:inherit;font-size:11px;margin:0 0 23px;outline:none}.preset-select:focus{border-color:#7a9573;box-shadow:0 0 0 2px #e8eee0}.partition-summary{padding:11px 12px;background:#e9efdf;border:1px solid #d4dfc5;border-radius:6px;font-size:11px;color:#5d7750;margin:-4px 0 23px}.opening-fields.is-disabled input{pointer-events:none}@media(max-width:760px){.preset-select{font-size:13px;padding:12px}.partition-summary{font-size:12px}}.choice-grid{display:grid;gap:8px;margin:12px 0}.height-choices{grid-template-columns:repeat(3,1fr)}.opening-choices{grid-template-columns:repeat(2,1fr)}.choice-grid button{padding:12px 6px;border:1px solid #d5ddca;border-radius:8px;background:#fbfcf7;color:#506246;font:inherit;cursor:pointer}.choice-grid button small{display:block;font-size:10px;margin-top:4px;color:#87937c}.choice-grid button[aria-pressed=true]{background:#e3ead9;border-color:#71865c;box-shadow:inset 0 0 0 1px #71865c}.choice-grid button:disabled{opacity:.38;cursor:not-allowed;background:#eeeee8}.choice-grid button:focus-visible{outline:2px solid #71865c;outline-offset:2px}.label-list{display:grid;gap:12px;margin:14px 0}.label-entry{padding:12px;border:1px solid #d6ddcc;border-radius:10px;background:#f8f9f3}.label-entry-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:#506246}.label-entry-head label{font-size:12px;font-weight:600}.label-entry .quiet-button{padding:3px 6px}.label-entry textarea{min-height:44px;resize:vertical}.label-entry .text-foot{margin:6px 0 0}.label-add{width:100%;justify-content:center;border:1px dashed #a6b397;border-radius:8px;padding:12px}.label-add:disabled{opacity:.4;cursor:not-allowed}.preview-pair{display:flex;flex:1;min-height:290px;gap:16px;min-width:0}.preview-pair>.viewport{min-width:0}.preview-pair.has-map{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(280px,1.1fr)}.map-editor{min-width:0;display:flex;flex-direction:column;border:1px solid #d7dfcb;border-radius:14px;background:#f8f9f2;overflow:hidden}.map-panel-head{display:flex;justify-content:space-between;align-items:flex-start;padding:19px 18px 16px;gap:8px}.map-panel-head .eyebrow{font-size:7px;letter-spacing:1.5px}.map-panel-head h3{font-size:14px;font-weight:500;line-height:1.6;margin:9px 0 0}.map-live-badge{font-size:8px;white-space:nowrap;border:1px solid #d2dcc6;border-radius:20px;padding:5px 8px;color:#708363;margin-top:2px}.map-canvas-wrap{position:relative;flex:1;min-height:260px;overflow:hidden;background:#e8ece2}.map-canvas-wrap canvas{width:100%;height:100%;position:absolute;inset:0;touch-action:none;cursor:grab}.map-canvas-wrap canvas.dragging{cursor:grabbing}.map-north{position:absolute;right:15px;top:15px;font-size:11px;letter-spacing:2px;color:#4b6645;pointer-events:none}.map-frame-tag{position:absolute;left:50%;transform:translate(-50%);font-size:8px;color:#4c6545;white-space:nowrap;background:#f7f9f0d9;padding:5px 8px;border-radius:4px;pointer-events:none}.map-pan-hint{position:absolute;bottom:15px;left:50%;transform:translate(-50%);font-size:9px;white-space:nowrap;color:#536c4d;padding:7px 10px;border-radius:20px;background:#f8faf1d9;pointer-events:none}.map-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:10px;text-align:center;white-space:nowrap;pointer-events:none;background:#f0f3e9ed;border-radius:10px;padding:20px}.map-empty strong{font-size:14px;font-weight:500}.map-empty span{font-size:9px;color:#809076}.map-panel-foot{display:flex;justify-content:space-between;gap:6px;padding:13px 15px 0;font-size:8px;font-variant-numeric:tabular-nums;color:#7a8a70}.map-source{margin:0;padding:9px 15px 12px;font-size:7px;line-height:1.7;color:#98a28e}.map-source a{text-decoration:none}.map-search-form{margin-bottom:10px}.map-search-row{display:flex;border:1px solid #cdd8c2;border-radius:7px;overflow:hidden;background:#fff}.map-search-row:focus-within{outline:2px solid #dce6d3}.map-search-row input{min-width:0;flex:1;border:0;outline:none;padding:11px 10px;background:none;color:#3b5437;font-size:11px;width:100%}.map-search-row button{background:#3c573d;color:#f4f7ed;padding:0 12px;font-size:11px;white-space:nowrap}.map-search-row button:disabled{opacity:.5}.map-search-results{display:grid;gap:5px}.map-search-results>button{text-align:left;padding:10px;background:#edf2e5;border:1px solid #d5dfc8;border-radius:6px;display:grid;gap:5px}.map-search-results strong{font-size:11px;font-weight:500}.map-search-results small{font-size:9px;color:#829076}.map-presets{display:flex;gap:7px;margin:10px 0 24px}.map-presets button{border:1px solid #d0dbc4;border-radius:5px;font-size:9px;padding:7px 8px;color:#617954;background:#f0f4e8}.map-tools-row{display:flex;gap:10px}.map-tools-row button{font-size:10px;color:#607a51;border:1px solid #d2ddc7;border-radius:5px;padding:8px 10px}.map-summary{margin:13px 0 18px;padding:12px;border-radius:7px;color:#617b52;border:1px solid #d7e1cc;background:#edf3e6;font-size:10px;line-height:1.8}.map-intro{border:1px solid #d7e0cd;padding:20px 16px;border-radius:10px;margin:10px 0 20px;background:linear-gradient(135deg,#f1f4e8,#e4ecd9)}.map-intro>span{font-size:7px;color:#94a185;letter-spacing:1.8px}.map-intro strong{display:block;font-size:19px;font-weight:450;line-height:1.7;margin:14px 0}.map-intro p{font-size:10px;color:#87967a;line-height:1.8;margin:0}@media(max-width:1100px){.preview-pair.has-map{grid-template-columns:1fr 1fr;gap:10px}.map-panel-head{padding:15px 12px}.map-panel-head h3{font-size:12px}.map-live-badge{display:none}.map-panel-foot{flex-wrap:wrap;font-size:7px;padding:10px}.map-source{padding:0 10px 10px;font-size:6px}.map-frame-tag{font-size:7px}.map-pan-hint{font-size:8px}.map-canvas-wrap{min-height:230px}}@media(max-width:760px){.preview-pair{flex:none;display:block}.preview-pair.has-map{display:flex;flex-direction:column}.preview-pair.has-map>.viewport{height:360px;flex:none}.preview-pair.has-map>.map-editor{height:360px;flex:none}.map-panel-head{padding:15px}.map-panel-head h3{font-size:14px;margin-top:5px}.map-live-badge{display:block}.map-canvas-wrap{min-height:190px}.map-panel-foot{font-size:9px;padding:10px 15px 0}.map-source{font-size:7px;padding:5px 15px 10px}.map-search-row input{font-size:14px;padding:13px 10px}.map-presets button{font-size:11px}.map-search-results strong{font-size:13px}.map-search-results small{font-size:11px}.map-frame-tag{font-size:9px}.map-tools-row button{font-size:12px}.map-summary{font-size:11px}}.map-search-results small{overflow-wrap:anywhere}.map-color-fields{display:grid;gap:9px;margin:0 0 12px}.map-color-fields label{display:flex;align-items:center;justify-content:space-between;border:1px solid #dbe2d1;border-radius:6px;padding:8px 10px;font-size:11px;color:#687e5d;background:#fbfcf6}.map-color-fields input[type=color]{width:36px;height:26px;padding:2px;border:1px solid #c8d2bc;border-radius:5px;background:#fff;cursor:pointer}.map-four-color{border:1px solid #cedbc0;border-radius:5px;padding:9px 11px;color:#5f7a50;font-size:10px}.map-color-legend{position:absolute;bottom:43px;left:18px;right:60px;display:flex;flex-wrap:wrap;gap:7px 12px;pointer-events:none;z-index:2}.map-color-legend>span{display:flex;align-items:center;gap:5px;font-size:9px;background:#f7f8f0de;color:#63705b;padding:5px 7px;border-radius:4px}.map-color-legend i{display:block;width:9px;height:9px;border-radius:2px;border:1px solid #0001}.map-plaque-fields{margin:0 0 23px}.map-plaque-fields>input{width:100%;border:1px solid #cdd8c2;border-radius:6px;background:#fff;color:#42583a;font-size:12px;padding:10px;outline:none}.map-plaque-fields>input:focus{border-color:#7e9974;box-shadow:0 0 0 2px #e8eee0}.map-scale-line{display:flex;flex-direction:column;gap:8px;margin-top:12px;font-size:9px;color:#899780}.map-scale-line strong{font-size:12px;color:#526947;font-variant-numeric:tabular-nums;font-weight:500}.export-profile{display:flex;flex-direction:column;gap:7px;color:var(--muted,#7e8d79);font-size:12px;flex-shrink:0}.export-profile select{padding:10px 12px;border:1px solid #d7dfce;border-radius:9px;background:#fafbf5;color:#3d583d;font:inherit;font-size:13px;max-width:100%}.export-profile small{font-size:10px}.export-card{flex-wrap:wrap;gap:20px}.library-kind{font-size:11px;color:var(--accent,#52664c);background:#e8eddc;padding:3px 6px;border-radius:4px}.library-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.library-catalog button{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;padding:12px 4px;border:1px solid #d6ddcf;border-radius:10px;background:#f6f7f0;cursor:grab}.library-catalog button:hover{border-color:#6b805c;background:#eef2e6}.library-catalog svg{width:65px;height:55px;fill:#7e9470}.library-catalog small{font-size:9px;color:#7a8374}.library-catalog strong{font-size:12px}.library-faces,.library-instances,.library-actions{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0}.library-faces button,.library-instances button,.library-actions button{border:1px solid #d4dccc;background:#fafbf6;border-radius:6px;padding:7px 10px;font-size:11px;cursor:pointer}.library-faces [aria-pressed=true],.library-instances [aria-pressed=true]{background:#52664c;color:#fff;border-color:#52664c}.library-board-wrap{padding:10px;background:#e5eadd;border:1px solid #ced8c4;border-radius:10px}.library-board{display:block;width:100%;max-height:280px;min-height:42px;overflow:visible;touch-action:none}.library-boundary{fill:#f6f8ee;stroke:#aab99d;stroke-width:.3;stroke-dasharray:2 1}.library-board-caption{display:flex;justify-content:space-between;font-size:10px;color:#6d7d61;margin-top:8px}.library-placed{fill:#829d70;cursor:move;stroke:transparent;stroke-width:.02}.library-placed.selected{fill:#486b38;stroke:#d4ae5a}.library-plaque{fill:#ddd9c7;stroke:#b4aa80;stroke-dasharray:1 1;stroke-width:.3}.library-board text{fill:#877f63;pointer-events:none}.library-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.library-controls label{font-size:11px;color:#64715a;display:flex;flex-direction:column;gap:4px}.library-controls input{width:100%;min-width:0;border:1px solid #ccd6c4;background:#fafbf6;border-radius:5px;padding:8px;color:#35492d}.library-empty{font-size:12px;text-align:center;color:#849078;padding:14px 4px}.library-flutes{display:flex;align-items:center;gap:7px;font-size:12px;padding:10px 0}.library-actions button:last-child{color:#95533d}.library-obstacle{fill:#e4d6c8;opacity:.75;pointer-events:none}.library-board>svg{pointer-events:none}.library-catalog button{touch-action:none;user-select:none}.library-drag-ghost{position:fixed;z-index:10000;pointer-events:none;background:#52664c;color:#fff;border:1px solid #d4dfca;border-radius:8px;padding:10px 16px;font-size:12px;box-shadow:0 4px 16px #26371f33}.settings-control{position:relative}.settings-button{padding:8px 10px;border:1px solid #d7ddcf;border-radius:7px}.settings-menu{position:absolute;right:0;top:calc(100% + 10px);width:225px;padding:6px;border:1px solid var(--line);border-radius:10px;background:#fafbf6;box-shadow:0 12px 30px #26372d1c}.settings-menu[hidden]{display:none}.settings-menu>button{width:100%;display:flex;align-items:center;gap:12px;padding:12px;border-radius:6px;text-align:left}.settings-menu>button:hover,.settings-menu>button:focus-visible{background:#eaf0e2}.settings-menu>button>span{flex:1;display:flex;flex-direction:column;gap:5px}.settings-menu strong{font-size:12px;font-weight:600}.settings-menu small{font-size:10px;color:#829077}.settings-menu>button>svg:last-child{width:13px;color:#89967e}.mcp-dialog{width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto}.mcp-dialog h2{margin-bottom:12px}.mcp-description,.mcp-access-note{font-size:12px;line-height:1.8;color:#6b7b63}.mcp-connection{display:flex;flex-wrap:wrap;gap:16px 40px;margin:22px 0 12px;padding:16px;background:#edf1e5;border:1px solid #dce4d2;border-radius:9px}.mcp-connection>div{display:flex;flex-direction:column;gap:6px}.mcp-connection small{font-size:10px;color:#829075}.mcp-connection strong{font-size:12px;font-weight:550}.mcp-access-note{margin-bottom:24px}.mcp-access-note code{font-size:11px}.mcp-install-text{display:block;width:100%;height:230px;min-height:160px;max-height:400px;resize:vertical;padding:14px;border:1px solid #d4ddca;border-radius:8px;background:#f5f7ef;color:#3d5035;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.8}.mcp-install-text:focus{outline:2px solid #849a70;outline-offset:2px}.mcp-dialog-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin-top:18px}.mcp-dialog-actions .primary-button{font-size:12px}.mcp-dialog-actions p{margin:0;flex:1;min-width:160px;font-size:11px;line-height:1.7;color:#607753}@media(max-width:700px){.header-actions{gap:8px}.settings-button{padding:8px}.settings-button>span{display:none}.settings-menu{width:205px}.mcp-dialog{width:calc(100vw - 24px);padding:26px 20px}.mcp-dialog h2{font-size:20px;line-height:1.6}.mcp-install-text{height:210px}.mcp-dialog-actions .primary-button{width:100%;justify-content:center}}.mcp-connection .mcp-endpoint{flex-basis:100%}.mcp-connection strong{overflow-wrap:anywhere}.library-placed.is-tiled{cursor:pointer}.library-tiling-summary{padding:10px 12px;border-radius:7px;background:#e7eddc;color:#526b45;font-size:11px;line-height:1.8}
