html:has(kurve-app),body:has(kurve-app){height:100dvh;overflow:hidden}kurve-app.ap-app{--kv-tool:2.75rem;--kv-tool-pad:.35rem;--kv-tool-offset:.75rem;--kv-strip-edge:calc(var(--kv-tool-offset) + var(--kv-tool-pad) * 2 + var(--kv-tool));height:100dvh;max-height:100dvh;overflow:hidden}.kv-studio.ap-layout{flex:1;grid-template-columns:1fr minmax(248px,280px);height:auto;min-height:0;overflow:hidden}.kv-studio .ap-stage{order:1;height:auto;min-height:0;padding:0;display:block;position:relative;overflow:hidden}.kv-studio .ap-controls{border-right:none;border-left:var(--border-width-hairline) solid var(--border-primary);order:2;height:100%;min-height:0;max-height:none;overflow:hidden}.kv-studio .ap-form{gap:var(--space-m);padding:var(--space-m) var(--space-m) var(--space-s)}.kv-studio .ap-canvas-frame{background:var(--bg-secondary);border:none;height:100%;min-height:0;overflow:hidden}.kv-studio .ap-stamp{z-index:2;text-align:right;pointer-events:none;max-width:calc(100% - 1.7rem);margin:0;position:absolute;bottom:.7rem;right:.85rem}.kv-studio .ap-actions{padding:var(--space-s) var(--space-m)}.kv-studio .ap-actions .ui-button{min-height:2.15rem;font-size:.78rem}.kv-stage{background:var(--bg-secondary);touch-action:none}.kv-studio .ap-canvas{touch-action:none}.kv-float-tools{left:var(--kv-tool-offset);z-index:3;padding:var(--kv-tool-pad);background:var(--bg-primary);border:var(--border-width-hairline) solid var(--border-primary);box-shadow:0 10px 28px color-mix(in srgb, var(--bg-primary) 55%, transparent);border-radius:1rem;flex-direction:column;gap:.15rem;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.kv-float-tools button{width:var(--kv-tool);height:var(--kv-tool);color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:.75rem;justify-content:center;align-items:center;padding:0;display:flex}.kv-float-tools button[aria-pressed=true]{color:var(--bg-primary);background:var(--accent)}.kv-float-tools button:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.kv-float-split{background:var(--border-primary);height:1px;margin:.2rem .45rem;display:block}.kv-actions{gap:var(--space-xs);flex-direction:column;display:flex}.kv-action-group h3,.kv-subhead{margin:0 0 var(--space-3xs);font-size:.64rem;font-weight:var(--font-weight-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary)}.kv-action-grid{gap:var(--space-3xs);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.kv-action{justify-content:space-between;align-items:center;gap:var(--space-3xs);min-width:0;min-height:2.15rem;font:inherit;letter-spacing:.01em;text-align:left;color:var(--text-primary);border:var(--border-width-hairline) solid var(--border-primary);cursor:pointer;user-select:none;touch-action:manipulation;background:0 0;border-radius:.55rem;padding:.3rem .55rem;font-size:.76rem;transition:background-color .15s,border-color .15s,color .15s;display:flex}.kv-action-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kv-action kbd{font:inherit;letter-spacing:.08em;font-variant-numeric:tabular-nums;color:var(--text-tertiary);flex:none;font-size:.64rem}#fix-all-btn{color:var(--bg-primary);background:var(--accent);border-color:var(--accent)}#fix-all-btn kbd{color:var(--bg-primary);opacity:.7}.kv-action:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.kv-action-status{color:var(--text-secondary);text-wrap:pretty;margin:0;font-size:.74rem;line-height:1.45}.kv-action-status:empty{display:none}.kv-clip{width:15rem;color:var(--text-primary);background:var(--bg-primary);border:var(--border-width-hairline) solid var(--border-primary);box-shadow:var(--shadow-elevated);pointer-events:none;border-radius:.8rem;margin:0;padding:0;position:fixed;inset:auto;overflow:hidden}.kv-clip-media{object-fit:cover;background:#161616;width:15rem;height:10rem;display:block}:root.🌞 .kv-clip-media{filter:invert()hue-rotate(180deg)}.kv-clip-media[hidden]{display:none}.kv-clip-text{gap:var(--space-4xs);padding:var(--space-xs) var(--space-s) var(--space-s);border-top:var(--border-width-hairline) solid var(--border-primary);flex-direction:column;display:flex}.kv-clip-title{justify-content:space-between;gap:var(--space-xs);font-size:.78rem;font-weight:var(--font-weight-medium);margin:0;display:flex}.kv-clip-title kbd{font:inherit;letter-spacing:.08em;color:var(--text-tertiary);font-size:.66rem}.kv-clip-does{color:var(--text-secondary);text-wrap:pretty;margin:0;font-size:.74rem;line-height:1.45}@media (prefers-reduced-motion:no-preference){.kv-action{transition:background-color .15s,border-color .15s,color .15s,scale .1s ease-out}.kv-action:active{scale:.96}.kv-clip:popover-open{transition:opacity .15s ease-out,translate .15s ease-out}@starting-style{.kv-clip:popover-open{opacity:0;translate:0 4px}}}.kv-pills{gap:var(--space-2xs);flex-wrap:wrap;display:flex}.kv-pills button{font:inherit;letter-spacing:.02em;color:var(--text-secondary);border:var(--border-width-hairline) solid var(--border-primary);border-radius:var(--radius-pill);cursor:pointer;user-select:none;background:0 0;align-items:center;gap:.35rem;padding:.3rem .6rem;font-size:.76rem;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.kv-pills button kbd{font:inherit;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);font-size:.64rem}.kv-pills button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--bg-primary)}.kv-pills button[aria-pressed=true] kbd{color:var(--bg-primary);opacity:.7}.kv-pills button:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.kv-fit{grid-template-columns:repeat(4,1fr);display:grid}.kv-fit button{border-radius:.55rem;justify-content:center}.kv-fit-circle{font-variant-numeric:tabular-nums;color:var(--text-primary)}.kv-g2{letter-spacing:.04em;color:var(--text-tertiary);background:var(--bg-secondary);border-radius:.55rem;margin:0;padding:.45rem .65rem;font-size:.72rem}.kv-g2.is-ok,.kv-g2.is-gap{color:var(--text-primary)}.kv-kernel{letter-spacing:.04em;color:var(--text-tertiary);background:var(--bg-secondary);border-radius:.55rem;justify-content:space-between;margin:0;padding:.45rem .65rem;font-size:.72rem;display:flex}.kv-doctor{flex-direction:column;gap:.2rem;max-height:11.5rem;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.kv-doctor-reading{letter-spacing:.01em;color:var(--text-primary);margin:0 0 .35rem;font-size:.78rem}.kv-doctor li{align-items:stretch;gap:.3rem;display:flex}.kv-doctor li>button{font:inherit;letter-spacing:.01em;color:var(--text-secondary);border:var(--border-width-hairline) solid var(--border-primary);cursor:pointer;background:0 0;border-radius:.45rem;padding:.28rem .5rem;font-size:.72rem}.kv-doctor li>button:first-child{text-align:left;color:var(--text-primary);flex:1}.kv-doctor li>button:last-child{color:var(--text-secondary);flex:none}.kv-doctor-empty{color:var(--text-tertiary);padding:.3rem .15rem;font-size:.72rem}.kv-paths{flex-direction:column;gap:.2rem;max-height:14rem;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.kv-paths li{align-items:stretch;gap:.25rem;display:flex}.kv-paths li>button{font:inherit;letter-spacing:.01em;color:var(--text-secondary);border:var(--border-width-hairline) solid var(--border-primary);cursor:pointer;background:0 0;border-radius:.45rem;padding:.28rem .45rem;font-size:.72rem}.kv-paths li>button:first-child{text-align:left;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.kv-paths li.is-selected>button:first-child{background:var(--accent);border-color:var(--accent);color:var(--bg-primary)}.kv-paths li.is-hidden>button:first-child{color:var(--text-tertiary);text-decoration:line-through}.kv-paths li.is-locked>button:first-child{font-style:italic}.kv-paths li.is-member{padding-left:var(--space-s)}.kv-paths li.kv-group>button:first-child{font-weight:var(--font-weight-medium)}.kv-paths li.is-primary>button:first-child{box-shadow:inset 0 0 0 1px var(--bg-primary)}.kv-versions{flex-direction:column;gap:.2rem;max-height:11.5rem;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.kv-versions li{align-items:center;gap:.25rem;display:flex}.kv-versions li>span{letter-spacing:.01em;font-variant-numeric:tabular-nums;min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.72rem;overflow:hidden}.kv-versions li>button{font:inherit;letter-spacing:.01em;color:var(--text-secondary);border:var(--border-width-hairline) solid var(--border-primary);cursor:pointer;background:0 0;border-radius:.45rem;flex:none;padding:.28rem .45rem;font-size:.72rem}.kv-field{gap:var(--space-3xs);flex-direction:column;display:flex}.kv-field-meta{color:var(--text-tertiary);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.kv-input{width:100%;min-height:2.15rem;padding:var(--space-3xs) var(--space-xs);font:inherit;color:var(--text-primary);background:var(--bg-primary);border:var(--border-width-hairline) solid var(--ap-field-border);border-radius:var(--button-radius);font-size:.84rem}.kv-input:disabled{opacity:.4;cursor:not-allowed}input.kv-input[type=number],.kv-expr{font-variant-numeric:tabular-nums}.kv-input[aria-invalid=true]{border-color:var(--ink)}.kv-hint{font-variant-numeric:tabular-nums;color:var(--text-tertiary)}.kv-units{gap:var(--space-s);flex-direction:column;display:flex}.kv-units:empty{display:none}.kv-unit{gap:var(--space-2xs);padding-left:var(--space-xs);border-left:var(--border-width-strong) solid var(--kv-unit-color,var(--border-primary));flex-direction:column;display:flex}.kv-unit .kv-unit-name,.kv-unit .kv-unit-div,.kv-measure-name{flex:0 0 4.5rem}.kv-measure-reading{gap:var(--space-2xs) var(--space-s);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.kv-measure-distance{grid-column:1/-1}.kv-measure-reading div{gap:var(--space-4xs);flex-direction:column;min-width:0;display:flex}.kv-measure-reading dt{color:var(--text-secondary);font-size:.74rem}.kv-measure-reading dd{font-variant-numeric:tabular-nums;color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-size:.84rem}.kv-row.kv-unit-toggles{justify-content:space-between;align-items:center}.kv-unit-active{gap:var(--space-3xs);color:var(--text-secondary);cursor:pointer;align-items:center;font-size:.76rem;display:inline-flex}#unit-add-btn{width:100%;min-height:2.15rem}.kv-arrange{gap:var(--space-2xs) var(--space-xs);grid-template-columns:auto minmax(0,1fr);align-items:end;display:grid}.kv-ref{--kv-ref-cell:1.25rem;grid-template-columns:repeat(3, var(--kv-ref-cell));grid-auto-rows:var(--kv-ref-cell);grid-row:span 2;align-self:center;display:grid;position:relative}.kv-ref:before{inset:calc(var(--kv-ref-cell) / 2);content:"";border:var(--border-width-hairline) solid var(--border-primary);pointer-events:none;position:absolute}.kv-ref button{cursor:pointer;background:0 0;border:0;border-radius:.3rem;place-items:center;padding:0;display:grid;position:relative}.kv-ref button:after{content:"";background:var(--bg-primary);border:var(--border-width-hairline) solid var(--text-tertiary);width:.45rem;height:.45rem}.kv-ref button[aria-pressed=true]:after{background:var(--accent);border-color:var(--accent)}.kv-ref button:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:0}.kv-row{gap:var(--space-2xs);flex-wrap:wrap;align-items:flex-end;display:flex}.kv-num{gap:var(--space-4xs);color:var(--text-secondary);flex-direction:column;flex:5rem;font-size:.74rem;display:flex}.kv-row .ui-button{flex:none;min-height:2.15rem;font-size:.78rem}.kv-em-pills button{min-height:2.15rem}.kv-subhead{margin-top:var(--space-s)}.kv-listbox{max-height:15rem;padding:var(--space-4xs) 0;background:var(--bg-primary);border:var(--border-width-hairline) solid var(--ap-field-border);border-radius:var(--button-radius);margin:0;list-style:none;overflow-y:auto}.kv-listbox li{justify-content:space-between;align-items:baseline;gap:var(--space-xs);padding:.4rem var(--space-xs);color:var(--text-primary);white-space:nowrap;cursor:pointer;font-size:.82rem;display:flex}.kv-listbox li span{color:var(--text-tertiary);text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.kv-listbox li[aria-selected=true]{background:var(--bg-secondary);box-shadow:inset 2px 0 0 var(--accent)}.kv-axes,.kv-axis-list{gap:var(--space-2xs);flex-direction:column;display:flex}.kv-axis{gap:var(--space-4xs) var(--space-2xs);grid-template-columns:1fr 5.5rem;align-items:center;font-size:.8rem;display:grid}.kv-axis label{grid-column:1/-1}.kv-axis label span{letter-spacing:.06em;color:var(--text-tertiary);margin-left:.3em;font-size:.7rem}.kv-lines{gap:var(--space-3xs);border:0;flex-direction:column;margin:0;padding:0;display:flex}.kv-lines legend{margin-bottom:var(--space-3xs);padding:0;font-size:.8rem}.kv-readout{letter-spacing:.04em;font-variant-numeric:tabular-nums;color:var(--text-tertiary);margin:0;font-size:.72rem}.kv-pills button:disabled{opacity:.4;cursor:not-allowed}#save-version-btn,#type-place-btn{width:100%;min-height:2.15rem}.kv-studio .kv-empty{inset:var(--space-l) var(--space-l) var(--space-l) calc(var(--kv-strip-edge) + var(--space-l));z-index:1;text-align:center;width:fit-content;max-width:34ch;height:fit-content;color:var(--text-secondary);pointer-events:none;margin:auto;padding:0;position:absolute}.kv-help{width:min(46rem, calc(100vw - 2 * var(--space-m)));max-height:calc(100dvh - 2 * var(--space-m));padding:var(--space-l);color:var(--text-primary);background:var(--bg-primary);border:var(--border-width-hairline) solid var(--border-primary);border-radius:var(--radius-card);box-shadow:var(--shadow-elevated);margin:auto;overflow:auto}.kv-help::backdrop{background:color-mix(in srgb, var(--bg-primary) 72%, transparent)}.kv-help-head{justify-content:space-between;align-items:center;gap:var(--space-m);margin-bottom:var(--space-m);display:flex}.kv-help h2,.kv-help h3{font-size:.7rem;font-weight:var(--font-weight-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);margin:0}.kv-help h3{margin-bottom:var(--space-xs);color:var(--text-tertiary)}.kv-help .ui-button{min-height:2.15rem;font-size:.78rem}.kv-help-grid{gap:var(--space-l) var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));display:grid}.kv-help dl{gap:var(--space-2xs) var(--space-s);grid-template-columns:max-content 1fr;align-items:baseline;margin:0;font-size:.8rem;display:grid}.kv-help dt{gap:var(--space-4xs);display:flex}.kv-help dd{color:var(--text-secondary);margin:0}.kv-help kbd{min-width:1.6rem;font:inherit;font-variant-numeric:tabular-nums;letter-spacing:.04em;text-align:center;color:var(--text-primary);background:var(--bg-secondary);border:var(--border-width-hairline) solid var(--border-primary);border-radius:.35rem;padding:.1rem .4rem;font-size:.7rem;display:inline-block}.kv-help .ap-hint{margin-top:var(--space-l)}@media (pointer:coarse){.kv-pills button,.kv-doctor li>button,.kv-paths li>button,.kv-versions li>button{min-height:var(--kv-tool);padding-inline:.75rem}.kv-listbox li{min-height:var(--kv-tool);align-items:center}.kv-action,.kv-studio .ap-actions .ui-button,.kv-help .ui-button,.kv-row .ui-button,.kv-input,#save-version-btn,#type-place-btn,#unit-add-btn,.kv-studio .ap-checkbox-field{min-height:var(--kv-tool)}.kv-ref{--kv-ref-cell:var(--kv-tool)}.kv-studio .ap-checkbox-field input[type=checkbox],.kv-unit-active input[type=radio]{width:1.25rem;height:1.25rem}.kv-unit-active{min-height:var(--kv-tool)}}@media (hover:hover){.kv-pills button:not([aria-pressed=true]):hover{border-color:var(--border-secondary);color:var(--text-primary)}.kv-action:not(#fix-all-btn):hover{border-color:var(--border-secondary);background:var(--bg-secondary)}.kv-doctor li>button:hover,.kv-paths li>button:hover,.kv-versions li>button:hover{border-color:var(--border-secondary);color:var(--text-primary)}.kv-ref button:not([aria-pressed=true]):hover:after{border-color:var(--text-primary)}.kv-pills button:disabled:hover{border-color:var(--border-primary);color:var(--text-secondary)}.kv-float-tools button:not([aria-pressed=true]):hover{color:var(--text-primary);background:var(--bg-secondary)}}@media (width<=860px){html:has(kurve-app),body:has(kurve-app),kurve-app.ap-app{height:auto;max-height:none;overflow:auto}.kv-studio.ap-layout{grid-template-columns:1fr;height:auto;overflow:visible}.kv-studio .ap-stage{z-index:auto;height:62dvh;min-height:62dvh;box-shadow:none}.kv-studio .ap-actions{display:grid}.kv-studio .ap-canvas-frame{min-height:62dvh}.kv-studio .ap-controls{border-left:none;border-top:var(--border-width-hairline) solid var(--border-primary);height:auto;max-height:none}.kv-float-tools{max-width:calc(100% - 2 * var(--kv-tool-offset));top:auto;left:50%;bottom:var(--kv-tool-offset);flex-flow:wrap;justify-content:center;transform:translate(-50%)}.kv-studio .kv-empty{inset:var(--space-l) var(--space-l) calc(var(--kv-strip-edge) + var(--space-l)) var(--space-l)}.kv-studio .ap-stamp{top:.7rem;bottom:auto}.kv-action-grid{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr))}.kv-float-split{width:1px;height:auto;margin:.4rem .15rem}}
