:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#171b22;background:#f7f8fa;font-synthesis:none;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;height:100%;margin:0}button,input,select{font:inherit;letter-spacing:0}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:68px minmax(0,1fr);min-height:100vh;overflow-x:hidden;background:linear-gradient(135deg,rgba(245,177,56,.08),transparent 31%),linear-gradient(225deg,rgba(31,165,182,.08),transparent 37%),#f7f8fa}.tool-rail{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 10px;background:#171b22;border-right:1px solid #0e1218}.brand-mark,.icon-button{width:42px;height:42px;display:grid;place-items:center;border-radius:8px}.brand-mark{color:#fff8d4;background:linear-gradient(145deg,#cf364c,#f5b138 70%,#23c7d9);margin-bottom:10px}.icon-button{color:#cdd5df;background:#222833;border:1px solid #313a47;transition:border-color .16s ease,background .16s ease,transform .16s ease}.icon-button:hover{background:#29313e;border-color:#4b5869}.icon-button.active,.icon-button.primary{color:#10141a;background:#f5b138;border-color:#ffc65e}.icon-button:active{transform:translateY(1px)}.file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.workspace{min-width:0;overflow-x:hidden;display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px;padding:18px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px}.topbar h1{margin:0 0 6px;font-size:25px;line-height:1;font-weight:760}.status-line{display:flex;flex-wrap:wrap;gap:8px;color:#5c6776;font-size:12px;line-height:1.2}.status-line span{padding:4px 7px;background:#fff;border:1px solid #dfe4eb;border-radius:6px}.topbar-actions{display:flex;align-items:center;gap:10px;min-width:0}.segmented{display:flex;align-items:center;gap:4px;min-width:0;max-width:100%;padding:4px;background:#fff;border:1px solid #dfe4eb;border-radius:8px}.segmented button,.command-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border:0;border-radius:6px;color:#46515f;background:transparent;font-size:12px;font-weight:680;white-space:nowrap}.segmented button{padding:0 10px}.segmented button.selected{color:#10141a;background:#eef3f5}.command-button{padding:0 13px;color:#fff;background:#1f6d7a;border:1px solid #1f6d7a}.analysis-layout{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 334px;align-items:start;gap:16px}.canvas-column{min-width:0;display:grid;grid-template-rows:auto auto;gap:12px}.canvas-shell{min-height:0;align-self:start;display:grid;place-items:center;padding:16px;background:#111820;border:1px solid #28323d;border-radius:8px;box-shadow:0 24px 60px #0f172233}.thermal-stage{position:relative;width:100%;max-width:min(100%,960px,calc((100vh - 230px)*1.333));min-height:260px;max-height:calc(100vh - 230px);background:#07090d;overflow:hidden;border-radius:6px}.thermal-layer,.thermal-annotations,.thermal-overlay{position:absolute;display:block}.thermal-layer,.thermal-annotations{transform:translate(-50%,-50%);transform-origin:center}.thermal-visual,.thermal-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.thermal-visual{z-index:1;object-fit:fill}.thermal-canvas{z-index:0;image-rendering:auto}.thermal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none;-webkit-user-select:none;user-select:none;background:transparent}.thermal-overlay.panning{cursor:grab}.thermal-overlay.panning:active{cursor:grabbing}.zoom-bar{position:absolute;top:10px;right:10px;z-index:3;display:inline-flex;align-items:center;gap:4px;padding:4px;color:#dbe5ef;background:#080c11b8;border:1px solid rgba(219,229,239,.2);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.zoom-bar button{width:28px;height:28px;display:grid;place-items:center;color:inherit;background:transparent;border:0;border-radius:6px}.zoom-bar button:hover{background:#ffffff1f}.zoom-bar span{min-width:42px;color:#fff;font-size:11px;font-weight:780;text-align:center}.analysis-box{position:absolute;background:#23c7d917;border:2px solid #23c7d9;border-radius:3px}.analysis-box.watch{background:#f5b1381c;border-color:#f5b138}.analysis-box.critical{background:#ff4f621f;border-color:#ff4f62}.analysis-box.selected{border-width:3px}.draft-box{position:absolute;background:#ffffff14;border:2px dashed #ffffff;border-radius:3px}.box-label,.point-label{position:absolute;max-width:190px;padding:3px 6px;color:#fff;background:#070a0eb8;border-radius:4px;font-size:12px;font-weight:760;line-height:1.1;text-shadow:0 1px 2px rgba(0,0,0,.7);white-space:nowrap;pointer-events:none}.point-label{font-size:12px}.analysis-point{position:absolute;width:14px;height:14px;background:#fff8d4;border:2px solid #111827;border-radius:50%;box-shadow:0 0 0 1px #ffffffb8;transform:translate(-50%,-50%)}.analysis-point.selected{width:18px;height:18px;border-color:#fff;box-shadow:0 0 0 2px #111827d1}.hotspot{position:absolute;width:11px;height:11px;background:#ff4f62;border:2px solid #ffffff;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.bottom-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.strip-item{min-width:0;display:flex;flex-direction:column;gap:4px;padding:10px 11px;background:#fff;border:1px solid #dfe4eb;border-radius:8px}.strip-item span,.metric span,.number-control span,.range-control span,.range-header,.empty-state{color:#697586;font-size:11px;font-weight:680}.strip-item strong{overflow:hidden;color:#171b22;font-size:13px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.inspector{min-width:0;position:sticky;top:18px;max-height:calc(100vh - 36px);overflow:auto;display:flex;flex-direction:column;gap:12px;padding:14px;background:#fff;border:1px solid #dfe4eb;border-radius:8px}.panel-title{display:flex;align-items:center;gap:8px;color:#171b22;font-size:13px;font-weight:760}.control-stack,.range-panel,.selected-measure,.ai-panel,.decode-note{border:1px solid #dfe4eb;border-radius:8px;background:#fbfcfd}.control-stack{display:grid;gap:10px;padding:12px}.range-control{display:grid;gap:8px}.range-control>span{display:flex;align-items:center;justify-content:space-between}.range-control strong{color:#171b22;font-size:12px}.range-control input[type=range]{width:100%;accent-color:#1f6d7a}.number-control{display:grid;grid-template-columns:minmax(0,1fr) 104px;align-items:center;gap:9px}.number-control div{display:grid;grid-template-columns:minmax(0,1fr) 25px;align-items:center;gap:4px}.number-control input{width:100%;min-width:0;height:31px;padding:0 7px;color:#171b22;background:#fff;border:1px solid #d4dbe4;border-radius:6px;font-size:12px;font-weight:650}.number-control input:disabled{color:#8a94a3;background:#f1f3f5}.number-control b{color:#697586;font-size:11px;font-weight:700}.range-panel{display:grid;gap:10px;padding:12px}.range-header{display:flex;align-items:center;justify-content:space-between}.toggle{display:inline-flex;align-items:center;gap:6px;color:#46515f;font-size:11px;font-weight:700}.toggle input{accent-color:#1f6d7a}.range-fields{display:grid;gap:8px}.measure-list{display:grid;gap:6px}.empty-state{padding:12px;background:#f7f8fa;border:1px dashed #ccd4de;border-radius:8px;text-align:center}.measure-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:38px;padding:0 10px;color:#171b22;background:#f8fafc;border:1px solid #dfe4eb;border-left:4px solid #23c7d9;border-radius:8px;text-align:left}.measure-row.watch{border-left-color:#f5b138}.measure-row.critical{border-left-color:#ff4f62}.measure-row.selected{background:#eef7f8;border-color:#9cdbe2}.measure-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:760}.measure-row strong{white-space:nowrap;font-size:12px}.selected-measure{padding:12px}.selected-header,.ai-panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;color:#171b22;font-size:13px;font-weight:760}.icon-mini{width:28px;height:28px;display:grid;place-items:center;color:#5c6776;background:#fff;border:1px solid #dfe4eb;border-radius:6px}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metric{display:grid;gap:4px;padding:9px;background:#fff;border:1px solid #e3e8ef;border-radius:6px}.metric strong{color:#171b22;font-size:14px}.severity-line{margin-top:10px;padding:8px 10px;color:#1e4f57;background:#e8f7f8;border-radius:6px;font-size:12px;font-weight:760}.selected-measure.watch .severity-line{color:#744b05;background:#fff3d7}.selected-measure.critical .severity-line{color:#7c1d2b;background:#ffe3e8}.ai-panel{padding:12px}.ai-panel-header{justify-content:flex-start}.ai-panel p{margin:0;color:#3e4855;font-size:12px;line-height:1.55;white-space:pre-line}.decode-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:10px;color:#596474;font-size:11px;line-height:1.45}@media(max-width:1120px){.analysis-layout{grid-template-columns:1fr}.inspector{overflow:visible}.bottom-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.app-shell{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.tool-rail{position:sticky;top:0;z-index:5;flex-direction:row;justify-content:center;padding:9px;border-right:0;border-bottom:1px solid #0e1218}.brand-mark{margin:0 8px 0 0}.workspace{padding:12px}.topbar,.topbar-actions{align-items:stretch;flex-direction:column}.segmented{width:100%;overflow-x:auto;justify-content:flex-start}.segmented button{flex:0 0 auto}.command-button{width:100%}.canvas-shell{padding:8px}.bottom-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:470px){.tool-rail{gap:7px}.brand-mark,.icon-button{width:38px;height:38px}.bottom-strip,.metric-grid,.number-control{grid-template-columns:1fr}}
