/* One shared measurement editor. Every tick uses value -> pixel coordinates. */
.metric-editor{position:fixed;z-index:90;right:24px;bottom:24px;width:min(430px,calc(100% - 32px));padding:12px 16px 14px;border:1px solid var(--k-primary);border-radius:8px;background:var(--k-surface);color:var(--k-ink);box-shadow:var(--k-shadow-3);font-family:var(--k-font-sans)}
.metric-editor[hidden]{display:none!important}
.metric-editor *{box-sizing:border-box}
.metric-editor__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.metric-editor__title{margin:0;font:600 12px/1.4 var(--k-font-num);text-transform:uppercase;color:var(--k-ink);max-width:270px}
.metric-editor__keyboard{display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 8px!important;min-height:36px!important;width:auto!important;font:12px var(--k-font-num)!important;background:var(--k-bg);color:var(--k-ink-2);border:1px solid var(--k-line)}
.metric-editor__keyboard:before{content:"";display:block;width:14px;height:10px;background:currentColor;mask:url("figma/keyboard.svg") center/contain no-repeat}
.metric-editor__value{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:12px}
.metric-editor__value button{padding:0!important;width:48px!important;min-height:44px!important;margin:0;font:600 24px var(--k-font-num);border:1px solid var(--k-line);background:var(--k-bg);color:var(--k-ink)}
.metric-editor__readout{text-align:center;font:700 28px/1.2 var(--k-font-num);color:var(--k-accent-text)}
.metric-editor__readout small{font:12px var(--k-font-num);color:var(--k-ink-2);margin-left:8px}
.metric-editor__input{width:100%;min-width:0;min-height:42px!important;padding:4px 10px!important;margin:0!important;text-align:center;font:600 24px var(--k-font-num)!important;color:var(--k-ink);background:var(--k-bg)}
.metric-editor__ruler{position:relative;height:58px;overflow:hidden;touch-action:none;user-select:none;margin-top:8px;background:var(--k-bg);border:1px solid var(--k-line);border-radius:3px;cursor:ew-resize}
.metric-editor__ruler:focus-visible{outline:2px solid var(--k-focus);outline-offset:2px}
.metric-editor__tape{position:absolute;inset:0}
.metric-editor__tick{position:absolute;top:7px;height:12px;width:1px;background:var(--k-line-strong);transform:translateX(-.5px);pointer-events:none}
.metric-editor__tick.is-medium{height:19px}.metric-editor__tick.is-major{height:25px;background:var(--k-ink-2)}
.metric-editor__tick span{position:absolute;top:29px;left:0;transform:translateX(-50%);font:10px/1 var(--k-font-num);color:var(--k-ink-2);white-space:nowrap}
.metric-editor__cursor{position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-1px);background:var(--k-primary);pointer-events:none}
.metric-editor__cursor:before{content:"";position:absolute;top:0;left:-4px;border-top:6px solid var(--k-primary);border-inline:5px solid transparent}
.metric-editor__steps{display:flex;align-items:center;gap:6px;margin:8px 0}
.metric-editor__steps>span{font:10px var(--k-font-num);color:var(--k-ink-3);margin-right:auto}
.metric-editor__steps button{width:auto!important;flex:1;max-width:72px;padding:4px!important;min-height:36px!important;margin:0;font:11px var(--k-font-num);border:1px solid var(--k-line);background:var(--k-bg);color:var(--k-ink-2)}
.metric-editor__steps button[aria-pressed=true]{background:var(--k-primary);color:var(--k-on-primary);border-color:var(--k-primary);transition:none}
.metric-editor__error{font-size:12px;color:var(--k-danger);margin:6px 0}.metric-editor__error:empty{display:none}
.metric-editor__head{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:6px}
.metric-editor__title{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font:600 12px/1.35 var(--k-font-sans);text-transform:none}
.metric-editor .metric-editor__sound,.metric-editor .metric-editor__close{width:36px!important;min-height:36px!important;height:36px!important;padding:0!important;margin:0;font-size:21px;color:var(--k-ink-3);background:transparent;border:0;border-radius:8px}
.metric-editor__sound[aria-pressed=true]{color:var(--k-accent-text)!important}.metric-editor__sound[aria-pressed=false]{opacity:.5;text-decoration:line-through}
.metric-editor__hint{font:11px/1.4 var(--k-font-sans);text-align:center;color:var(--k-ink-3);margin:4px 0 0}
.metric-sound-setting{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid var(--k-line);margin-top:20px}
.metric-sound-setting strong{display:block;font-size:15px;color:var(--k-ink)}
.metric-sound-setting small{display:block;font-size:12px;color:var(--k-ink-3);margin-top:4px;line-height:1.5}
.metric-sound-setting input[role=switch]{appearance:none;flex:none;width:48px;min-height:28px;height:28px;margin:0;border:0;border-radius:20px;background:var(--k-line-strong);position:relative;cursor:pointer;padding:0}
.metric-sound-setting input[role=switch]:before{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;border-radius:50%;background:var(--k-ink);transition:transform .15s}
.metric-sound-setting input[role=switch]:checked{background:var(--k-primary)}
.metric-sound-setting input[role=switch]:checked:before{transform:translateX(20px);background:var(--k-on-primary)}
.metric-editor [hidden]{display:none!important}
.metric-source-active{outline:2px solid var(--k-primary)!important;outline-offset:2px}
@media(max-width:760px){
 .metric-editor{left:0;right:0;bottom:var(--metric-keyboard-offset,0px);width:100%;border-radius:8px 8px 0 0;padding:10px max(14px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
 .metric-editor__title{font-size:10px}.metric-editor__head{margin-bottom:4px}.metric-editor__readout{font-size:25px}.metric-editor__ruler{height:52px;margin-top:6px}
 .metric-editor__tick{top:4px}.metric-editor__tick span{top:27px}
 .metric-editor .metric-editor__sound,.metric-editor .metric-editor__close,.metric-editor .metric-editor__keyboard{min-height:44px!important;height:44px!important;min-width:44px!important}
 .metric-editor-open #mobileDock,.metric-editor-open .stage-footer,.metric-editor-open .rooms-result,.metric-editor-open #mainNavigation{visibility:hidden!important;pointer-events:none!important}
 .metric-editor-open{padding-bottom:var(--metric-editor-height,250px)!important}
}
@media print{.metric-editor{display:none!important}}
