/* Isolated interactive-tool presentation. All selectors are scoped. */
.kp-tool { --tool-ink:#242824; --tool-muted:#5d655e; --tool-green:#36473b; --tool-cream:#f7f5f0; --tool-line:#d7dacf; --tool-bronze:#a98158; color:var(--tool-ink); width:100%; max-width:100%; }
.kp-tool *, .kp-tool *::before, .kp-tool *::after { box-sizing:border-box; }
.kp-tool [hidden] { display:none!important; }
.kp-tool-heading { max-width:760px; margin:0 0 32px; }
.kp-tool h2 { margin:10px 0 16px; font-size:clamp(1.8rem,3.2vw,3rem); line-height:1.12; letter-spacing:-.035em; }
.kp-tool h3 { margin:12px 0 20px; font-size:clamp(1.25rem,2vw,1.7rem); line-height:1.25; }
.kp-tool p { line-height:1.6; }
.kp-tool-eyebrow { display:block; font-family:inherit; font-size:.74rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--tool-muted); }
.kp-tool-hint { font-size:.83rem; color:var(--tool-muted); line-height:1.55; margin:9px 0 17px; }
.kp-tool label:not(.kp-check),.kp-tool legend { display:block; font-size:.88rem; font-weight:600; line-height:1.45; }
.kp-tool label:not(.kp-check) { margin:0 0 17px; }
.kp-tool input:not([type=checkbox]):not([type=range]):not([type=file]),.kp-tool select { display:block; width:100%; max-width:100%; min-height:48px; background:#fff; color:var(--tool-ink); border:1px solid #c7cdc3; border-radius:7px; padding:11px 12px; margin-top:7px; font:inherit; font-size:1rem; line-height:1.25; box-shadow:none; }
.kp-tool select { padding-right:32px; }
.kp-tool input:focus,.kp-tool select:focus,.kp-tool button:focus-visible,.kp-tool a:focus-visible,.kp-tool summary:focus-visible { outline:3px solid #a98158; outline-offset:3px; }
.kp-tool input:invalid:not(:placeholder-shown) { border-color:#c19575; }
.kp-tool fieldset { min-width:0; margin:24px 0; padding:19px 0 0; border:0; border-top:1px solid var(--tool-line); }
.kp-tool legend { padding:0 9px 0 0; font-size:1rem; }
.kp-tool .kp-check { display:flex; align-items:flex-start; gap:10px; min-height:44px; padding:9px 0; margin:0; cursor:pointer; font-size:.92rem; line-height:1.5; }
.kp-tool .kp-check input { accent-color:var(--tool-green); width:20px; height:20px; flex:0 0 20px; margin:1px 0 0; }
.kp-tool-primary,.kp-tool-secondary,.kp-tool-icon,.kp-tool-text-link { display:inline-flex; justify-content:center; align-items:center; gap:12px; min-height:46px; padding:12px 18px; font:inherit; font-size:.9rem; font-weight:600; line-height:1.4; text-decoration:none!important; border-radius:6px; cursor:pointer; transition:background .15s ease,color .15s ease,transform .15s ease; text-align:center; }
.kp-tool-primary { color:#fff!important; background:var(--tool-green); border:1px solid var(--tool-green); }
.kp-tool-primary:hover { background:#26372c; transform:translateY(-1px); }
.kp-tool-secondary { color:var(--tool-ink)!important; background:#fff; border:1px solid #c7cdc3; }
.kp-tool-secondary:hover { background:#eceee6; }
.kp-tool-text-link { color:var(--tool-green)!important; border:0; background:transparent; padding-left:0; padding-right:0; justify-content:flex-start; text-align:left; }
.kp-tool button:disabled { cursor:default; opacity:.45; transform:none; }
.kp-tool-icon { padding:7px; width:44px; min-width:44px; border:1px solid var(--tool-line); background:#fff; font-size:1.4rem; }
.kp-tool-notice,.kp-tool-alert { border-radius:6px; margin:20px 0; padding:17px 18px; background:#eeeadf; color:#41453d; font-size:.85rem; line-height:1.6; border-left:3px solid #a98158; }
.kp-tool-alert { background:#fff0e9; border-color:#b2593c; color:#673825; }
.kp-tool-alert p:first-child,.kp-tool-notice p:first-child { margin-top:0; }
.kp-tool-alert p:last-child,.kp-tool-notice p:last-child { margin-bottom:0; }
.kp-tool-notice ul { margin:8px 0 0; padding-left:20px; }
.kp-tool-notice li+li { margin-top:8px; }
.kp-tool-feedback { font-size:.9rem; min-height:1.5em; padding:4px 0; color:var(--tool-green); overflow-wrap:anywhere; }
.kp-tool-actions { display:flex; flex-wrap:wrap; gap:12px; margin:24px 0 14px; }
.kp-tool-actions-column { flex-direction:column; }
.kp-tool-actions>* { flex:1; }
.kp-two-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.kp-calculator-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:clamp(20px,4vw,64px); align-items:start; }
.kp-tool-form { min-width:0; }
.kp-wall-row { display:grid; grid-template-columns:1fr 1fr .6fr 44px; column-gap:10px; row-gap:4px; align-items:end; border-bottom:1px solid var(--tool-line); margin-bottom:16px; padding-bottom:16px; }
.kp-wall-row>strong { grid-column:1/-1; margin-bottom:6px; font-size:.85rem; }
.kp-wall-row label { margin-bottom:0!important; font-size:.78rem!important; }
.kp-wall-row input { padding-left:10px!important; padding-right:5px!important; }
.kp-wall-row .kp-tool-icon { height:48px; }
.kp-estimate-result { padding:clamp(20px,3vw,36px); background:#fff; border:1px solid #e2e4db; border-radius:10px; min-width:0; position:sticky; top:110px; }
.kp-estimate-result h3 { margin-top:12px; }
.kp-estimate-lines { margin-top:24px; }
.kp-estimate-line { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; padding:13px 0; border-bottom:1px solid #e6e8e0; font-size:.9rem; }
.kp-estimate-line>span:last-child { white-space:nowrap; font-variant-numeric:tabular-nums; }
.kp-estimate-line strong { font-size:.88rem; font-weight:600; }
.kp-estimate-line small { display:block; margin-top:5px; color:var(--tool-muted); font-size:.8rem; }
.kp-estimate-total { display:flex; justify-content:space-between; gap:14px; align-items:baseline; padding:24px 0 4px; }
.kp-estimate-total span { font-size:.9rem; }
.kp-estimate-total strong { font-size:clamp(1.5rem,3vw,2.2rem); letter-spacing:-.04em; white-space:nowrap; font-variant-numeric:tabular-nums; }
.kp-visualizer-layout { display:grid; grid-template-columns:minmax(0,2.1fr) minmax(270px,1fr); gap:clamp(20px,3vw,44px); align-items:start; }
.kp-preview-area,.kp-visualizer-controls { min-width:0; }
.kp-mode-switch { display:flex; margin-bottom:16px; border-bottom:1px solid var(--tool-line); gap:24px; }
.kp-mode-switch button { font:inherit; font-size:.9rem; font-weight:600; background:transparent; border:0; border-bottom:3px solid transparent; padding:12px 4px; min-height:48px; cursor:pointer; color:var(--tool-muted); }
.kp-mode-switch button.is-active { border-bottom-color:var(--tool-green); color:var(--tool-green); }
.kp-scene-list { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; margin:0 0 18px; }
.kp-scene { min-width:0; padding:3px; border:1px solid #dce0d5; border-radius:5px; background:#fff; cursor:pointer; overflow:hidden; color:var(--tool-ink); font:inherit; }
.kp-scene img { width:100%; height:auto; aspect-ratio:1.45; object-fit:cover; border-radius:2px; display:block; }
.kp-scene span { display:block; font-size:.64rem; font-weight:600; padding:7px 3px; line-height:1.3; }
.kp-scene.is-active { border:2px solid var(--tool-green); padding:2px; background:#e9eee5; }
.kp-photo-upload { padding:18px; background:#edece5; border:1px dashed #9ca794; border-radius:7px; margin-bottom:18px; }
.kp-photo-upload label { margin-bottom:8px!important; cursor:pointer; }
.kp-photo-upload p { margin-bottom:0; }
.kp-canvas-stage { position:relative; width:100%; max-width:100%; border-radius:8px; background:#e9e6dd; overflow:hidden; touch-action:pan-y; line-height:0; }
.kp-canvas-stage canvas { display:block; width:100%; height:auto; max-width:100%; }
.kp-preview-placeholder { position:absolute; inset:0; display:grid; place-items:center; padding:20px; text-align:center; font-size:.95rem; line-height:1.5; color:var(--tool-muted); }
.kp-corner-layer { position:absolute; inset:0; pointer-events:none; }
.kp-corner { width:44px; height:44px; position:absolute; transform:translate(-50%,-50%); z-index:4; padding:0; border:10px solid transparent; border-radius:50%; background:#fff; background-clip:padding-box; box-shadow:0 0 0 1px rgba(36,40,36,.18); color:#26372c; font:700 12px/24px sans-serif; text-align:center; cursor:grab; pointer-events:auto; touch-action:none; }
.kp-corner::after { content:''; position:absolute; inset:0; border:2px solid #36473b; border-radius:50%; pointer-events:none; }
.kp-corner:active { cursor:grabbing; }
.kp-corner.is-invalid::after { border-color:#bd4e34; }
.kp-stage-labels { position:absolute; inset:14px 14px auto; display:flex; justify-content:space-between; gap:10px; pointer-events:none; font-size:.7rem; font-weight:600; line-height:1.4; }
.kp-stage-labels span { padding:6px 9px; border-radius:3px; color:#fff; background:rgba(36,40,36,.74); }
.kp-stage-labels [data-label-before] { order:2; margin-left:auto; }
.kp-stage-labels [data-label-after] { order:1; }
.kp-preview-toolbar { display:flex; flex-wrap:wrap; gap:8px; padding-top:14px; }
.kp-preview-toolbar button { padding:8px 12px; font-size:.78rem; min-height:44px; }
.kp-comparison-range { margin:20px 0 10px!important; display:grid!important; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; font-size:.8rem!important; }
.kp-comparison-range input { accent-color:var(--tool-green); width:100%; min-width:0; min-height:44px; cursor:ew-resize; }
.kp-comparison-range output { font-size:.75rem; font-weight:400; color:var(--tool-muted); }
.kp-visualizer-controls { padding:22px; border-radius:9px; border:1px solid #e1e4da; background:#fff; }
.kp-pattern-card { border:1px solid #e1e4da; border-radius:5px; overflow:hidden; }
.kp-pattern-card img { display:block; width:100%; height:100px; object-fit:cover; }
.kp-pattern-card>div { padding:12px; display:grid; gap:5px; }
.kp-pattern-card strong { font-size:.94rem; }
.kp-pattern-card span { font-size:.8rem; color:var(--tool-muted); }
.kp-tool-help { margin-top:24px; border-top:1px solid var(--tool-line); padding-top:12px; font-size:.84rem; line-height:1.6; }
.kp-tool-help summary { cursor:pointer; min-height:44px; padding:12px 0; font-weight:600; }
.kp-tool-help ol { padding-left:20px; }
.kp-tool-help li+li { margin-top:8px; }
.kp-share-dialog { color:var(--tool-ink); background:var(--tool-cream); border:1px solid #d7dacf; border-radius:12px; width:min(580px,calc(100% - 30px)); max-height:calc(100dvh - 40px); padding:32px; overflow:auto; }
.kp-share-dialog::backdrop { background:rgba(20,29,23,.55); backdrop-filter:blur(3px); }
.kp-dialog-close { display:flex; align-items:center; justify-content:center; float:right; min-width:44px; min-height:44px; font:24px sans-serif; background:transparent; border:0; cursor:pointer; color:inherit; margin:-17px -17px 0 0; }
.kp-share-dialog h3 { margin-top:5px; }
.kp-share-dialog p { font-size:.9rem; }
.kp-share-result { margin-top:20px; overflow-wrap:anywhere; }
.kp-share-result input { font-size:.8rem!important; font-weight:400; }
.kp-quiz-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; margin:28px 0 18px; }
.kp-quiz-choices button { justify-content:space-between; min-height:90px; text-align:left; font-size:1rem; padding:20px; }
.kp-quiz-progress { height:4px; width:100%; background:#e1e5dc; border-radius:2px; margin-top:25px; overflow:hidden; }
.kp-quiz-progress span { display:block; height:100%; background:var(--tool-green); transition:width .2s ease; }
.kp-quiz-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.kp-quiz-results article { min-width:0; background:#fff; border:1px solid #e1e4da; border-radius:8px; overflow:hidden; padding-bottom:17px; }
.kp-quiz-results img { width:100%; height:auto; aspect-ratio:1.7; object-fit:cover; display:block; }
.kp-quiz-results h3 { font-size:1.3rem; padding:0 19px; margin:20px 0 12px; }
.kp-quiz-results p { font-size:.9rem; padding:0 19px; }
.kp-quiz-results a { margin:0 19px; }
.kp-shared-image { display:block; width:100%; height:auto; border-radius:10px; margin:24px 0; }
.kp-shared-plan [data-delete-area] { margin-top:35px; padding-top:20px; border-top:1px solid #d7dacf; }
@media(max-width:1000px){
 .kp-visualizer-layout { grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr); gap:20px; }
 .kp-scene-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .kp-scene img { aspect-ratio:2.1; }
 .kp-scene span { font-size:.7rem; }
 .kp-visualizer-controls { padding:17px; }
 .kp-comparison-range { grid-template-columns:auto 1fr; }
 .kp-comparison-range output { grid-column:2; text-align:right; margin-top:-12px; }
 .kp-wall-row { grid-template-columns:1fr 1fr .65fr; }
 .kp-wall-row .kp-tool-icon { grid-column:3; justify-self:end; margin-top:6px; }
}
@media(max-width:760px){
 .kp-calculator-layout,.kp-visualizer-layout { grid-template-columns:1fr; }
 .kp-tool-heading { margin-bottom:24px; }
 .kp-estimate-result { position:static; }
 .kp-tool-actions>* { flex:1 1 100%; }
 .kp-wall-row { grid-template-columns:1fr 1fr .65fr 44px; gap:8px; }
 .kp-wall-row .kp-tool-icon { grid-column:auto; margin-top:0; }
 .kp-scene-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
 .kp-scene img { aspect-ratio:1.9; }
 .kp-scene span { font-size:.72rem; }
 .kp-preview-toolbar { display:grid; grid-template-columns:1fr 1fr; }
 .kp-preview-toolbar button:first-child { grid-column:1/-1; }
 .kp-preview-toolbar button { width:100%; }
 .kp-visualizer-controls { padding:20px; }
 .kp-quiz-choices { grid-template-columns:1fr; gap:10px; margin-top:20px; }
 .kp-quiz-choices button { min-height:68px; }
 .kp-quiz-results { grid-template-columns:1fr; }
 .kp-quiz-results img { aspect-ratio:2.1; }
 .kp-share-dialog { padding:25px; }
}
@media(max-width:420px){
 .kp-wall-row { grid-template-columns:1fr 1fr; }
 .kp-wall-row label:nth-of-type(3) { max-width:100px; }
 .kp-wall-row .kp-tool-icon { justify-self:end; }
 .kp-estimate-line { gap:12px; font-size:.84rem; }
 .kp-estimate-total { flex-direction:column; gap:6px; }
 .kp-stage-labels { inset:9px 9px auto; }
 .kp-scene span { font-size:.67rem; }
 .kp-tool-actions { gap:9px; }
}
@media(prefers-reduced-motion:reduce){
 .kp-tool *, .kp-tool *::before, .kp-tool *::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; }
}

.kp-editor-guide{border-top:0;border-bottom:1px solid #dce4d6}
.kp-editor-feedback{margin:0!important;padding:10px 16px;background:#fff0eb;color:#9d3b29;font-size:13px;flex-shrink:0}
.kp-canvas-viewport[data-pending=true] .kp-wall-outline{fill:#36473b28;stroke:#fff;stroke-width:3;stroke-dasharray:7 3}
.kp-canvas-viewport[data-pending=true]{cursor:move}
.kp-flow-actions{display:flex;align-items:center;gap:16px;padding:14px 16px;border-top:1px solid #dce4d6;background:#f7f9f3;flex-shrink:0}
.kp-flow-actions>button{flex:0 0 auto}.kp-flow-actions p{margin:0;font-size:12px;max-width:260px;color:#56654f}
.kp-editor-patterns{display:none;padding:12px 16px;gap:10px 14px;border-top:1px solid #dce4d6;background:#f7f9f3;flex-shrink:0}
.kp-studio.is-expanded .kp-editor-patterns{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.5fr)}
.kp-studio .kp-editor-patterns label{margin:0;font-size:12px}.kp-studio .kp-editor-patterns select{margin-top:4px;min-height:44px;padding:8px 12px;font-size:14px}
.kp-editor-quick-actions{grid-column:1/-1;display:flex;gap:10px;align-items:center}.kp-editor-quick-actions button{font-size:12px;padding:8px 14px;min-height:44px}.kp-editor-quick-actions [data-editor-settings]{margin-left:auto}
.kp-studio[data-workflow=adjust] .kp-preview-toolbar button:not([data-mark]):not([data-rotate]):not([data-undo]):not([data-redo]){display:none}
.kp-studio[data-workflow=adjust] .kp-comparison-range,.kp-studio[data-workflow=mark] .kp-comparison-range{display:none!important}
.kp-studio.is-expanded[data-workflow=preview] .kp-preview-toolbar,.kp-studio.is-expanded[data-workflow=preview] .kp-fine-adjust{display:none}
.kp-studio.is-expanded .kp-editor-shell{overflow-y:auto;overscroll-behavior:contain}
.kp-studio.is-expanded .kp-canvas-viewport{min-height:190px;flex-shrink:1}
.kp-studio [data-label-selection]{font-size:11px;background:#36473b}
.kp-photo-drop{position:fixed;inset:12px;z-index:10000;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;background:#f7f5f0ee;border:3px dashed #36473b;border-radius:14px;pointer-events:none;text-align:center;padding:24px;backdrop-filter:blur(3px)}
.kp-photo-drop strong{font-size:clamp(24px,4vw,44px)}.kp-photo-drop span{font-size:16px}
.kp-studio .kp-visualizer-controls{scroll-margin-top:110px}
@media(max-width:520px){
 .kp-flow-actions{display:block;padding:10px 12px}.kp-flow-actions>button{width:100%;font-size:12px;padding:10px 8px}.kp-flow-actions p{max-width:none;text-align:center;font-size:10px;margin:6px 0 0}
 .kp-studio.is-expanded .kp-editor-patterns{grid-template-columns:minmax(0,1fr) minmax(110px,.7fr);gap:8px;padding:10px 12px}
 .kp-editor-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.kp-editor-quick-actions button{padding:8px 5px;font-size:11px}.kp-editor-quick-actions [data-editor-settings]{grid-column:1/-1;margin:0;padding:4px;min-height:32px;justify-content:center;font-size:11px}
 .kp-studio.is-expanded .kp-comparison-range{margin:4px 0!important;padding:0 12px;gap:8px;font-size:11px!important}.kp-studio.is-expanded .kp-comparison-range output{margin-top:-10px}
 .kp-editor-guide strong{font-size:12px}.kp-editor-guide span{font-size:11px}.kp-editor-guide{padding:10px 12px}
 .kp-studio [data-label-selection]{font-size:9px}
}

.kp-studio{--studio-border:#dce1d7}
.kp-studio-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
.kp-studio-intro h2{font-size:clamp(1.7rem,3vw,2.75rem);margin-bottom:12px}
.kp-studio-intro p{margin:0;max-width:670px}
.kp-local-badge{font-size:12px;color:#425944;border:1px solid #cdd8c9;background:#edf2e9;padding:10px 14px;border-radius:30px;white-space:nowrap}
.kp-studio-steps{list-style:none;display:flex;padding:0;margin:0 0 30px;border:1px solid var(--studio-border);border-radius:12px;background:#fff;overflow:hidden}
.kp-studio-steps li{flex:1;padding:16px 18px;display:flex;align-items:center;gap:10px;font-size:14px;color:#6c736a;border-right:1px solid var(--studio-border)}
.kp-studio-steps li:last-child{border:0}.kp-studio-steps b{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#eee}
.kp-studio-steps .is-active{background:#edf2e9;color:#263e2b;font-weight:700}.kp-studio-steps .is-active b{background:#36473b;color:white}
.kp-studio-steps .is-complete b{background:#dbe8d6;color:#36473b}
.kp-studio .kp-visualizer-layout{grid-template-columns:minmax(0,1fr) 320px;gap:24px}
.kp-studio .kp-mode-switch{gap:22px;align-items:center;flex-wrap:wrap}
.kp-studio .kp-open-project{position:relative;overflow:hidden;cursor:pointer;font-size:12px!important;margin:0 0 0 auto!important;min-height:44px;display:flex!important;align-items:center;text-decoration:underline}
.kp-open-project input,.kp-file-button input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.kp-file-button{position:relative;overflow:hidden;margin:0!important;cursor:pointer;display:inline-flex!important}
.kp-file-button:focus-within,.kp-open-project:focus-within{outline:3px solid #a98158;outline-offset:3px}
.kp-studio .kp-photo-upload{background:#fff;border:1px dashed #aab8a2;padding:20px;border-radius:10px}
.kp-photo-upload>div{display:flex;align-items:center;flex-wrap:wrap;gap:18px}.kp-photo-upload.is-dragging{background:#e6efdf;border-color:#36473b}
.kp-studio .kp-scene-list{grid-template-columns:repeat(6,minmax(0,1fr))}
.kp-studio .kp-scene{border-radius:7px}.kp-studio .kp-scene span{font-size:11px}.kp-studio .kp-scene img{aspect-ratio:1.7}
.kp-editor-shell{background:#fff;border:1px solid var(--studio-border);border-radius:12px;overflow:hidden;box-shadow:0 7px 30px #36473b08}
.kp-editor-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;background:#fff;border-bottom:1px solid var(--studio-border)}
.kp-editor-top>span{font-size:13px;font-weight:600}.kp-editor-top>div{display:flex;gap:4px}
.kp-editor-top button{min-height:44px;max-height:44px;border-color:transparent;padding:6px 10px;font-size:16px}.kp-editor-top [data-fit]{min-width:66px;font-size:12px}
.kp-canvas-viewport{height:clamp(300px,54vh,570px);position:relative;overflow:hidden;background:#e7e6e0;touch-action:none;user-select:none;-webkit-user-select:none;isolation:isolate}
.kp-canvas-viewport[data-tool=mark]{cursor:crosshair}.kp-canvas-viewport[data-tool=pan]{cursor:grab}
.kp-image-plane{position:absolute;left:50%;top:50%;transform-origin:center;line-height:0}
.kp-image-plane>[data-preview]{display:block;width:100%;height:100%;max-width:none}
.kp-image-plane>svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.kp-image-plane polygon,.kp-image-plane polyline{fill:none;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}
.kp-image-plane .kp-wall-outline{stroke:#fff;filter:drop-shadow(0 0 1px #36473b)}
.kp-image-plane .kp-mask-outline{stroke:#d5a561;stroke-dasharray:5 4;fill:#a9815815}
.kp-image-plane .kp-invalid-outline{stroke:#c8482f}
.kp-studio .kp-corner{transform:translate(-50%,-50%) scale(var(--inverse-zoom,1));background:transparent;border:0;box-shadow:none;display:flex;align-items:center;justify-content:center;width:48px;height:48px;z-index:3}
.kp-studio .kp-corner::after{display:none}
.kp-studio .kp-corner>span{display:grid;place-items:center;width:25px;height:25px;background:#fff;color:#243d2b;border:2px solid #36473b;border-radius:50%;box-shadow:0 1px 5px #0005;font-size:12px}
.kp-studio .kp-corner.is-active>span{background:#36473b;color:#fff;border-color:#fff;box-shadow:0 0 0 2px #36473b}
.kp-studio .kp-corner.is-invalid>span{background:#b54b32}
.kp-studio .kp-preview-placeholder{background:#edece6;gap:12px;align-content:center;line-height:1.5}
.kp-preview-placeholder strong{font-size:18px;max-width:360px}.kp-preview-placeholder>span{font-size:14px}.kp-preview-placeholder label{margin-top:10px!important}
.kp-loupe{position:absolute;top:12px;width:120px;height:120px;border:3px solid #fff;border-radius:60px;box-shadow:0 4px 18px #0005;pointer-events:none;z-index:10}
.kp-busy{position:absolute;inset:0;z-index:20;background:#f7f5f0e8;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;text-align:center;padding:20px;font-size:14px}
.kp-spinner{width:28px;height:28px;border:3px solid #cad5c5;border-top-color:#36473b;border-radius:50%;animation:kp-spin .8s linear infinite}@keyframes kp-spin{to{transform:rotate(360deg)}}
.kp-editor-guide{display:flex;align-items:center;gap:12px;padding:16px 18px;background:#edf2e9;border-top:1px solid #dce4d6}
.kp-editor-guide>b{width:32px;height:32px;flex:0 0 32px;border-radius:50%;display:grid;place-items:center;background:#36473b;color:white;font-size:14px}
.kp-editor-guide>div{flex:1}.kp-editor-guide strong{display:block;font-size:14px;line-height:1.4}.kp-editor-guide span{display:block;font-size:12px;line-height:1.5;margin-top:3px;color:#56654f}
.kp-editor-guide button{font-size:12px;padding:8px}
.kp-studio .kp-preview-toolbar{padding:12px;gap:6px;display:flex;flex-wrap:wrap}
.kp-studio .kp-preview-toolbar button{font-size:12px;padding:8px 10px;width:auto}.kp-studio .kp-preview-toolbar .kp-tool-icon{font-size:20px;width:44px;padding:4px}
.kp-studio .kp-preview-toolbar button[aria-pressed=true]{background:#edf2e9;border-color:#36473b}
.kp-fine-adjust{margin:0 14px;padding:8px 0;border-top:1px solid #ebeee7;display:flex;align-items:center;gap:12px;font-size:11px;color:#5d655e;flex-wrap:wrap}
.kp-fine-adjust>div{display:flex;gap:4px}.kp-fine-adjust button{border:1px solid #dde3d7;background:#fff;border-radius:5px;width:44px;height:44px;font-size:20px;cursor:pointer}
.kp-studio .kp-comparison-range{padding:0 16px;margin:12px 0!important;grid-template-columns:auto 1fr auto;gap:12px}.kp-studio .kp-comparison-range output{grid-column:1/-1;text-align:center;margin-top:-8px;font-size:11px}
.kp-studio .kp-visualizer-controls{padding:22px;border-radius:12px}.kp-studio .kp-visualizer-controls h3{margin:10px 0 24px;font-size:1.6rem}
.kp-studio [data-search-count]{margin-top:-12px;font-size:11px}.kp-studio .kp-tool-help input[type=range]{width:100%;min-height:44px;accent-color:#36473b}
.kp-studio .kp-tool-help output{float:right;font-weight:400;color:#6b7366}
.kp-studio .kp-tool-notice{font-size:12px;padding:14px}.kp-studio .kp-tool-actions{margin-top:18px}
.kp-studio .kp-tool-feedback{margin:12px 0 0;font-size:13px}.kp-studio .kp-tool-feedback.is-error{color:#9d3b29;background:#fff1ec;padding:12px;border-radius:6px}
.kp-masking{margin:20px 0;border:1px solid #dce1d7;border-radius:8px;padding:0 16px;background:#fff}.kp-masking summary{font-weight:600;cursor:pointer;font-size:13px;padding:16px 0;line-height:1.5;min-height:48px}.kp-masking p{font-size:13px}.kp-masking>button{margin-bottom:14px}
.kp-mask-chip{display:inline-flex;align-items:center;padding-left:10px;gap:8px;background:#eeeadf;border-radius:5px;font-size:12px;margin:0 6px 10px 0}.kp-mask-chip button{width:44px;height:44px;border:0;background:none;font-size:20px;cursor:pointer}
.kp-export-dialog img{display:block;width:100%;height:auto;max-height:55vh;object-fit:contain;margin:20px 0}.kp-export-dialog a{margin:0 8px 8px 0}
.kp-studio.is-expanded .kp-editor-shell{position:fixed;inset:12px;z-index:3000;display:flex;flex-direction:column;border-radius:10px}
.kp-studio.is-expanded .kp-canvas-viewport{height:auto;flex:1;min-height:160px}.kp-studio.is-expanded .kp-editor-top{flex-shrink:0}
.kp-studio.is-expanded .kp-fine-adjust,.kp-studio.is-expanded .kp-comparison-range{flex-shrink:0}.kp-studio.is-expanded .kp-editor-guide{flex-shrink:0}
@media(max-width:1100px){.kp-studio-intro{display:block}.kp-local-badge{display:inline-block;margin-top:16px}.kp-studio .kp-visualizer-layout{grid-template-columns:minmax(0,1fr) 280px}.kp-studio .kp-scene-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.kp-studio .kp-visualizer-layout{grid-template-columns:1fr}.kp-studio .kp-scene-list{grid-template-columns:repeat(6,minmax(0,1fr))}.kp-studio .kp-canvas-viewport{height:clamp(290px,52vh,480px)}.kp-studio .kp-open-project{font-size:11px!important}.kp-studio .kp-visualizer-controls{padding:20px}}
@media(max-width:520px){.kp-studio-steps{margin-bottom:20px}.kp-studio-steps li{padding:12px 8px;flex-direction:column;gap:6px;text-align:center;font-size:10px}.kp-studio-steps b{width:24px;height:24px}.kp-studio .kp-mode-switch{gap:16px}.kp-studio .kp-open-project{flex-basis:100%;margin:0!important;min-height:44px}.kp-studio .kp-scene-list{display:flex;overflow-x:auto;gap:8px;padding-bottom:6px}.kp-studio .kp-scene{flex:0 0 90px}.kp-studio .kp-editor-top>span{font-size:12px;max-width:100px}.kp-editor-top{padding:8px;gap:4px}.kp-editor-top>div{gap:0}.kp-editor-top [data-fit]{min-width:48px;padding:5px}.kp-editor-guide{padding:12px;gap:9px}.kp-editor-guide strong{font-size:13px}.kp-editor-guide span{font-size:11px}.kp-editor-guide button{font-size:11px}.kp-studio .kp-preview-toolbar{display:flex;padding:10px;gap:6px}.kp-studio .kp-preview-toolbar button{font-size:11px;padding:6px 8px}.kp-fine-adjust>span:last-child{display:none}.kp-fine-adjust{justify-content:space-between;gap:4px}.kp-fine-adjust>span:first-child{font-size:10px;max-width:90px}.kp-fine-adjust button{width:44px;height:44px}.kp-studio.is-expanded .kp-editor-shell{inset:0;border:0;border-radius:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}}


.kp-editor-coverage{grid-column:1/-1;margin:0!important;font-size:11px;line-height:1.45!important;color:#56654f}
