:root{color:#24251f;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f2eb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:clamp(280px,28vw,360px) minmax(0,1fr);width:100%;height:100vh;display:grid;overflow:hidden}.sidebar{overscroll-behavior:contain;scrollbar-gutter:stable;background:#ebe7dc;border-right:1px solid #d7d0c1;flex-direction:column;gap:14px;min-height:0;padding:18px 18px 40px;display:flex;overflow-y:auto}.brand{align-items:center;gap:12px;display:flex}.brand-mark{color:#f8f6ef;background:#315d58;border-radius:8px;place-items:center;width:44px;height:44px;display:grid}.brand h1,.brand p,.panel h2{margin:0}.brand h1{font-size:22px;line-height:1.1}.brand p{color:#6e6a60;margin-top:4px;font-size:13px}.upload-zone{color:#21443f;background:#f8f6ef;border:1px dashed #77988e;border-radius:8px;align-items:center;gap:12px;min-height:54px;padding:14px;display:flex}.upload-zone input{display:none}.upload-message{color:#7b4e2d;margin:-6px 2px 0;font-size:13px}.dragging-file .upload-zone{background:#edf4ef;border-color:#315d58}.panel{background:#f8f6ef;border:1px solid #ddd6c8;border-radius:8px;padding:14px}.panel-title,.panel-button{align-items:center;gap:8px;display:flex}.panel-title{color:#315d58;margin-bottom:12px}.panel-title h2{font-size:15px}.number-field{color:#555147;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:10px;margin-top:9px;font-size:13px;display:grid}.number-field input{color:#24251f;background:#fff;border:1px solid #cbc4b6;border-radius:6px;width:100%;height:34px;padding:0 9px}.metric-row,.connector-summary{color:#575348;border-top:1px solid #e4ded2;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;padding-top:12px;font-size:13px;display:flex}.metric-row strong{color:#21443f}.panel-button,.primary-action{color:#244843;background:#edf4ef;border:1px solid #bfd3c8;border-radius:7px;justify-content:center;width:100%;height:38px}.connector-summary{flex-wrap:wrap;justify-content:flex-start}.connector-summary span{background:#ece9df;border-radius:6px;padding:4px 7px}.advanced-grid{margin-top:10px}.inspection-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.inspection-options button{color:#3d3a33;text-transform:capitalize;background:#fffdf7;border:1px solid #d8d1c2;border-radius:7px;height:34px;padding:0 6px}.inspection-options button.active{color:#fff;background:#315d58;border-color:#315d58}.inspection-options button:disabled{cursor:not-allowed;opacity:.5}.primary-action{color:#fff;background:#315d58;border-color:#315d58}.primary-action:disabled{cursor:not-allowed;opacity:.55}.toggle-row{color:#244843;justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.toggle-row input{accent-color:#315d58;width:18px;height:18px}.muted-toggle{color:#5d584d;border-top:1px solid #e4ded2;margin-top:10px;padding-top:10px}.dev-diagnostics{background:#ded8ca;border-top:1px solid #c9c0ae;max-height:240px;padding:12px 16px 14px;overflow:auto}.dev-mode-panel .dev-diagnostics{background:0 0;border-top:1px solid #e4ded2;max-height:none;margin-top:12px;padding:12px 0 0;overflow:visible}.dev-diagnostics-header{color:#244843;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-size:13px;display:flex}.dev-diagnostics-header span{color:#6b665b;font-size:12px}.segment-lookup{background:#fffdf7;border:1px solid #d4ccbc;border-radius:8px;gap:8px;margin-bottom:10px;padding:10px;display:grid}.segment-lookup label{color:#315d58;gap:6px;font-size:12px;font-weight:700;display:grid}.segment-lookup input{color:#24251f;width:100%;min-width:0;font:inherit;background:#f7f2e8;border:1px solid #d4ccbc;border-radius:7px;padding:8px 9px;font-weight:500}.segment-lookup p{color:#8f4f31;margin:0;font-size:12px}.segment-lookup-result{color:#5d584d;gap:4px;font-size:12px;line-height:1.35;display:grid}.segment-lookup-result strong{color:#24251f}.segment-lookup-result span{overflow-wrap:anywhere}.boundary-diagnostics,.recovery-planner{background:#fffdf7;border:1px solid #d4ccbc;border-radius:8px;gap:8px;margin-bottom:10px;padding:10px;display:grid}.recovery-header{color:#315d58;justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.recovery-header span{color:#6b665b;font-weight:600}.boundary-list,.recovery-list{gap:6px;max-height:180px;display:grid;overflow:auto}.boundary-row,.recovery-row{color:#5d584d;background:#f7f2e8;border-left:3px solid #a79d8c;border-radius:6px;grid-template-columns:minmax(74px,.8fr) auto minmax(120px,1.4fr);align-items:center;gap:7px;padding:7px 8px;font-size:12px;display:grid}.recovery-row.recoverable{border-left-color:#397a55}.recovery-row.conflict{border-left-color:#d0933e}.recovery-row.unresolvable{border-left-color:#c5573d}.boundary-row{border-left-color:#d0933e}.boundary-row strong,.recovery-row strong{color:#24251f}.boundary-row small,.recovery-row small{overflow-wrap:anywhere;color:#6b665b;grid-column:1/-1;line-height:1.35}.dev-grid{grid-template-columns:180px 260px minmax(0,1fr);gap:10px;display:grid}.dev-mode-panel .dev-grid{grid-template-columns:1fr}.dev-card{background:#fffdf7;border:1px solid #d4ccbc;border-radius:8px;min-width:0;padding:10px}.dev-card h3{color:#315d58;margin:0 0 8px;font-size:12px}.dev-card p,.segment-health-row{color:#5d584d;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:6px 0 0;font-size:12px;display:grid}.dev-card p span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dev-card p strong,.segment-health-row strong{color:#24251f}.dev-card-wide{min-width:360px}.dev-mode-panel .dev-card-wide{min-width:0}.segment-health-list{gap:6px;max-height:150px;display:grid;overflow:auto}.dev-mode-panel .segment-health-list{max-height:220px}.segment-health-row{border-bottom:1px solid #eee8dc;grid-template-columns:82px 78px 70px 78px 76px;align-items:center;margin:0;padding:6px 0}.dev-mode-panel .segment-health-row{grid-template-columns:minmax(70px,1fr) auto auto;row-gap:4px}.dev-mode-panel .segment-health-row span:nth-of-type(3),.dev-mode-panel .segment-health-row span:nth-of-type(4){display:none}.segment-health-row span{color:#5d584d}.dev-empty{color:#6b665b;display:block!important}.export-message{color:#5d584d;margin:10px 0 0;font-size:13px;line-height:1.35}.workspace{background:#f4f2eb;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid;overflow:hidden}.topbar{border-bottom:1px solid #d7d0c1;justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:14px 16px;display:flex}.stage-tabs,.orientation-tools{align-items:center;gap:8px;min-width:0;display:flex}.stage-tabs button,.orientation-tools button{color:#3d3a33;background:#fffdf7;border:1px solid #d8d1c2;border-radius:7px;min-width:40px;height:34px;padding:0 12px}.stage-tabs button.active{color:#fff;background:#315d58;border-color:#315d58}.stage-tabs{scrollbar-width:thin;overflow-x:auto}.stage-tabs button{text-transform:capitalize;flex:none}.viewer-wrap{min-width:0;min-height:0;position:relative;overflow:hidden}.viewer{width:100%;height:100%;position:relative}.viewer canvas{display:block}.axis-gizmo{z-index:3;color:#334a45;pointer-events:none;opacity:.78;width:92px;height:92px;position:absolute;bottom:16px;left:16px}.axis-line{--axis-x:1;--axis-y:0;--axis-length:30px;--axis-angle:0deg;--axis-label-opacity:1;width:var(--axis-length);color:#334a45;height:16px;transform:translate(calc(var(--axis-x) * 14px), calc(var(--axis-y) * 14px)) rotate(var(--axis-angle));transform-origin:0;align-items:center;gap:4px;font-size:11px;font-weight:700;transition:opacity 80ms linear;display:flex;position:absolute;bottom:34px;left:42px}.axis-line i{background:currentColor;border-radius:999px;flex:1;height:2px;display:block}.axis-line:after{content:"";width:6px;height:6px;opacity:var(--axis-label-opacity);border-top:2px solid;border-right:2px solid;position:absolute;right:10px;transform:rotate(45deg)}.axis-line i,.axis-line:after{transition:opacity 80ms linear}.axis-x{color:#a84c3c}.axis-y{color:#397a55}.axis-z{color:#3b668f}.segment-tooltip{z-index:6;color:#f9f5e9;pointer-events:none;background:#232a28f0;border:1px solid #ffffff29;border-radius:8px;gap:3px;max-width:320px;padding:9px 10px;font-size:12px;line-height:1.35;display:grid;position:absolute;box-shadow:0 12px 28px #231f1838}.segment-tooltip strong{color:#fff;font-size:13px}.segment-tooltip span{overflow-wrap:anywhere}.connector-hint{justify-content:space-between;align-items:center;gap:12px;display:flex}.connector-hint span{min-width:0}.connector-hint button{color:#fff;background:#315d58;border:1px solid #315d58;border-radius:7px;flex:none;height:32px;padding:0 12px}.viewer-hint{color:#244843;background:#fffdf7e6;border:1px solid #d8d1c2;border-radius:8px;max-width:min(520px,100% - 140px);padding:10px 12px;font-size:13px;position:absolute;bottom:16px;left:124px;box-shadow:0 10px 24px #2d2a221f}.drop-overlay{z-index:5;color:#244843;pointer-events:none;background:#edf4efe6;border:2px dashed #315d58;border-radius:8px;align-content:center;justify-items:center;gap:10px;display:grid;position:absolute;inset:16px}.drop-overlay h2{margin:0;font-size:24px}.empty-state{text-align:center;color:#4d4a42;pointer-events:none;align-content:center;justify-items:center;gap:10px;padding:24px;display:grid;position:absolute;inset:0}.empty-state h2,.empty-state p{margin:0}.empty-state p{color:#706b60;max-width:430px}.inspector{background:#ebe7dc;border-top:1px solid #d7d0c1;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;min-width:0;padding:14px 16px;display:grid}.info-tile{background:#fffdf7;border:1px solid #ded7c9;border-radius:8px;min-width:0;padding:12px}.info-tile span,.info-tile small{color:#6d685d;font-size:12px;display:block}.info-tile strong{color:#24251f;text-overflow:ellipsis;white-space:nowrap;margin:5px 0;font-size:16px;line-height:1.2;display:block;overflow:hidden}@media (width<=1100px){.dev-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dev-card-wide{grid-column:1/-1;min-width:0}}@media (width<=980px){.app-shell{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.sidebar{border-bottom:1px solid #d7d0c1;border-right:0;max-height:46vh}.inspector{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.app-shell{grid-template-rows:minmax(180px,34vh) minmax(0,1fr)}.sidebar{max-height:none;padding-bottom:28px}.workspace{min-height:0}.topbar{flex-direction:column;align-items:stretch}.stage-tabs{overflow-x:auto}.inspector,.dev-diagnostics{display:none}}@media (width<=760px){.app-shell{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.sidebar{border-bottom:1px solid #d7d0c1;border-right:0;max-height:42vh}.topbar{flex-wrap:wrap}.orientation-tools{margin-left:auto}}
