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-stack{gap:var(--space-2xs);flex-direction:column;display:flex}.kv-stack .ui-button{width:100%;min-height:2.35rem}.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(--border-primary);border-radius:var(--button-radius);font-size:.84rem}.kv-input:disabled{opacity:.4;cursor:not-allowed}input.kv-input[type=number]{font-variant-numeric:tabular-nums}.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-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}#circularize-btn,#fix-all-btn{width:100%;min-height:2.15rem;margin-top:.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-stack .ui-button,.kv-studio .ap-actions .ui-button,.kv-help .ui-button,.kv-row .ui-button,.kv-input,#circularize-btn,#fix-all-btn,#save-version-btn,#type-place-btn,.kv-studio .ap-checkbox-field{min-height:var(--kv-tool)}.kv-studio .ap-checkbox-field input[type=checkbox]{width:1.25rem;height:1.25rem}.kv-studio input[type=range]{height:var(--kv-tool)}.kv-studio input[type=range]::-webkit-slider-thumb{width:1.5rem;height:1.5rem;margin-top:calc(1px - .75rem)}.kv-studio input[type=range]::-moz-range-thumb{width:1.5rem;height:1.5rem}}@media (hover:hover){.kv-pills button:not([aria-pressed=true]):hover,.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-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{height:62dvh;min-height:62dvh}.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-float-split{width:1px;height:auto;margin:.4rem .15rem}}
