@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(./assets/lora-cyrillic-ext-wght-normal-YcVxMP-u.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(./assets/lora-cyrillic-wght-normal-UWPuZLjM.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(./assets/lora-math-wght-normal-sOy7rEfW.woff2)format("woff2-variations");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(./assets/lora-symbols-wght-normal-DQ5VrUkH.woff2)format("woff2-variations");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(./assets/lora-vietnamese-wght-normal-CfJ7gtf3.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(./assets/lora-latin-ext-wght-normal-C2Wlntb9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(./assets/lora-latin-wght-normal-BiLcIKcI.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Work Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./assets/work-sans-vietnamese-wght-normal-BKsN3ITN.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Work Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./assets/work-sans-latin-ext-wght-normal-B5dZ8C4S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Work Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./assets/work-sans-latin-wght-normal-Bl-S9Xys.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.kf-app{--ink:#284849;--muted:#5c7372;--line:#e2d9cc;--paper:#f7f3ec;--card:#fffdf9;--sand:#efe7da;--toile:#ede6d8;--accent:#07718b;--accent-ink:#fff;--cta:#c16433;--cta-deep:#a4552b;--cta-ink:#fff;--gold:#e48c00;--gold-tint:#fbebd1;--gold-ink:#2b1d00;--warning:#9a4b12;--danger:#a7270d;--radius:2px;--font-body:"Work Sans Variable", "Work Sans", system-ui, sans-serif;--font-head:"Lora Variable", "Lora", Georgia, serif;color:var(--ink);text-align:left}.kf-standalone,.kf-standalone-layer{font-family:var(--font-body)}.kf-standalone{background:var(--paper);min-height:100vh}.kf-app h1{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.05em}.kf-app *{box-sizing:border-box}.kf-app a{color:var(--accent)}.kf-app h1{margin:0 0 .75rem;font-size:1.5rem}.kf-app .app-header{border-bottom:1px solid var(--line);background:var(--card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;padding:.75rem 1rem;display:flex}.kf-app .brand{color:var(--ink);font-weight:700;text-decoration:none}.kf-app .app-header nav{flex-wrap:wrap;align-items:center;gap:.25rem 1rem;display:flex}.kf-app .app-header nav a{color:var(--muted);text-decoration:none}.kf-app .app-header nav a[aria-current=page]{color:var(--ink);font-weight:600}.kf-app main{max-width:960px;margin:0 auto;padding:1rem}.kf-app .studio>main{max-width:1480px}.kf-app .studio>main p.note,.kf-app .studio>main p.help,.kf-app .studio>main section>p{max-width:80ch}.kf-app .studio.kf-wide .measure-list{grid-template-columns:repeat(auto-fill,minmax(22rem,1fr));display:grid}.kf-app button,.kf-app .button{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;justify-content:center;align-items:center;padding:0 1rem;text-decoration:none;display:inline-flex}.kf-app button:disabled{opacity:.5;cursor:default}.kf-app .primary{background:var(--cta);border-color:var(--cta);color:var(--cta-ink)}.kf-app .danger{color:var(--danger);border-color:var(--danger)}.kf-app .language{min-height:32px;padding:0 .6rem}.kf-app .role-switch select{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);min-height:32px;color:var(--ink);font:inherit;padding:0 .4rem}.kf-app .visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.kf-app .section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.kf-app .note,.kf-app .help{color:var(--muted)}.kf-app .warning{color:var(--warning);font-weight:600}.kf-app .fabric-grid{grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.75rem;padding:0;list-style:none;display:grid}.kf-app .fabric-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--ink);flex-direction:column;gap:.35rem;padding:.75rem;text-decoration:none;display:flex}.kf-app .fabric-card span{color:var(--muted);font-size:.9rem}.kf-app .link-like{color:var(--accent);font-weight:600}.kf-app .swatch{background-color:var(--line);background-repeat:repeat;border-radius:6px;max-width:100%;box-shadow:inset 0 0 0 1px #00000014}.kf-app .steps{counter-reset:step;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.kf-app .steps li{counter-increment:step;background:var(--line);color:var(--muted);border-radius:999px;padding:.25rem .75rem;font-size:.9rem}.kf-app .steps li:before{content:counter(step) ". "}.kf-app .steps li[aria-current=step]{background:var(--accent);color:var(--accent-ink)}.kf-app .panel{flex-direction:column;gap:.75rem;display:flex}.kf-app .upload{align-self:flex-start}.kf-app .order-picture-image{background:#fff;border:1px solid #d8d2c6;max-width:min(100%,720px);height:auto;display:block}.kf-app .after-pair{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:12px 0;display:grid}.kf-app .after-pair figure{margin:0}.kf-app .after-pair img{object-fit:contain;background:var(--card,#fff);width:100%;max-height:420px;display:block}.kf-app .photo-canvas{border-radius:var(--radius);touch-action:pinch-zoom;-webkit-user-select:none;user-select:none;background:#000;width:100%;max-height:70vh;display:block}.kf-app .measure-line{stroke:#ffd23f}.kf-app .handle circle{fill:#ffd23f1f;stroke:#ffd23f}.kf-app .handle path{stroke:#ffd23f;paint-order:stroke;filter:drop-shadow(0 0 1px #000c)}.kf-app .loupe rect{fill:#000}.kf-app .loupe-ring{fill:none;stroke:#fff}.kf-app .photo-canvas.zooming{cursor:none}.kf-app .lens-aim{stroke:#fff;fill:none;filter:drop-shadow(0 0 1px #000000e6)}.kf-app .loupe-switch{flex-wrap:wrap;align-items:center;gap:.25rem .5rem;display:flex}.kf-app .loupe-switch .segmented{align-items:center;gap:.25rem}.kf-app .loupe-switch .segmented button{min-width:2.75rem}.kf-app .selection{fill:#ffffff26;stroke:#ffd23f;stroke-dasharray:12 8}.kf-app .selection.open{fill:none}.kf-app .shape-outline{fill:none;stroke:#ffd23f;stroke-dasharray:12 8}.kf-app .shape-hole{fill:#c0392b59;stroke:#c0392b}.kf-app .midpoint{fill:#fff;stroke:#ffd23f}.kf-app .segmented{flex-wrap:wrap;gap:.5rem;display:flex}.kf-app .segmented button[aria-pressed=true]{border-color:var(--accent,#07718b);box-shadow:inset 0 0 0 1px var(--accent,#07718b);font-weight:600}.kf-app .hole-list{margin:0;padding-left:1.2rem}.kf-app .hole-list li{justify-content:space-between;align-items:center;gap:.75rem;max-width:28rem;display:flex}.kf-app .sheet-outline{fill:#2ecc712e;stroke:#2ecc71}.kf-app .sheet-outline.unsure{fill:#f39c122e;stroke:#f39c12}.kf-app .length-label,.kf-app .sheet-label{fill:#ffd23f;stroke:#000000d9;paint-order:stroke;font-weight:700}.kf-app .sheet-label{fill:#2ecc71}.kf-app .sheet-label.unsure{fill:#f39c12}.kf-app .measure-lines{margin:.5rem 0;padding-left:1.4rem}.kf-app .measure-lines li{flex-wrap:wrap;align-items:center;gap:.25rem 1rem;margin-bottom:.25rem;display:flex}.kf-app .check-target{align-items:center;gap:.4rem;display:inline-flex}.kf-app .check-target input{width:6rem}.kf-app .field{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.9rem;display:flex}.kf-app .field input:not([type=checkbox]):not([type=radio]),.kf-app .field select{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);min-height:44px;color:var(--ink);font:inherit;padding:0 .75rem}.kf-app .field textarea{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--ink);font:inherit;resize:vertical;padding:.6rem .75rem}.kf-app .check{align-items:center;gap:.5rem;min-height:44px;display:flex}.kf-app .details .preview{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.kf-app .actions{flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin-top:.5rem;display:flex}.kf-app .guide h2{margin:2rem 0 .75rem;font-size:1.25rem}.kf-app .guide-intro{font-size:1.05rem}.kf-app .guide-facts{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.kf-app .guide-facts li{border:1px solid var(--line);border-top:5px solid var(--accent-warm,#c16433);border-radius:var(--radius);background:var(--card);padding:.8rem 1rem 1rem;line-height:1.4}.kf-app .guide-facts strong{color:var(--accent-warm,#c16433);margin-bottom:.35rem;font-family:Lora,Georgia,serif;font-size:2rem;line-height:1.1;display:block}.kf-app .guide-angle{width:100%;max-width:44rem;margin:1rem auto 0;display:block}.kf-app .guide-split{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;gap:1.5rem;display:grid}.kf-app :not(.kf-wide)>main .guide-split{grid-template-columns:minmax(0,1fr)}.kf-app .guide-split>img{border-radius:var(--radius);width:100%;display:block}.kf-app .guide-steps{counter-reset:guide-step;flex-direction:column;gap:.75rem;margin:0;padding:0;line-height:1.45;list-style:none;display:flex}.kf-app .guide-steps li{counter-increment:guide-step;min-height:2.2rem;padding-left:3rem;position:relative}.kf-app .guide-steps li:before{content:counter(guide-step);background:var(--accent,#07718b);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:2.2rem;height:2.2rem;font-weight:700;display:flex;position:absolute;top:0;left:0}.kf-app .guide-steps strong{color:var(--ink)}.kf-app .guide-photos{gap:1rem;display:grid}.kf-app .guide-good{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.kf-app .guide-bad{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}.kf-app .guide-photos figure{margin:0}.kf-app .guide-photos img{object-fit:cover;border:1px solid var(--line);border-radius:var(--radius);width:100%;height:16rem;display:block}.kf-app .guide-photos figcaption{margin-top:.4rem;line-height:1.4}.kf-app .guide-sheets{gap:1rem;display:flex}.kf-app .guide-sheets img{border:1px solid var(--line);flex:1 1 0;min-width:0;box-shadow:0 6px 16px #28484924}.kf-app .guide-downloads{margin-top:1rem}.kf-app .guide .actions{justify-content:flex-start;gap:.75rem}.kf-app .measure{flex-direction:column;gap:.75rem;max-width:34rem;margin:0 auto;display:flex}.kf-app .measure-guide{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);flex-direction:column;gap:.5rem;padding:.5rem;display:flex}.kf-app .measure-guide>svg{width:100%;max-height:46vh;display:block}.kf-app .tape-draw{animation:2.4s ease-in-out infinite draw-tape}@keyframes draw-tape{0%{stroke-dasharray:100;stroke-dashoffset:100px}45%,to{stroke-dasharray:100;stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.kf-app .tape-draw{animation:none}}.kf-app .tension{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.kf-app .tension figure{text-align:center;flex:1 1 0;min-width:70px;max-width:120px;margin:0}.kf-app .tension svg{width:100%;display:block}.kf-app .tension figcaption{color:var(--muted);font-size:.75rem;line-height:1.25}.kf-app .tension figure.right figcaption{color:#2e8c50;font-weight:600}.kf-app .measure-pulse{transform-box:fill-box;transform-origin:50%;animation:1.6s ease-out infinite measure-pulse}@keyframes measure-pulse{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}@media (prefers-reduced-motion:reduce){.kf-app .measure-pulse{opacity:0;animation:none}}.kf-app .measure-summary{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.kf-app .measure-summary li{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.kf-app .measurement-basis{margin:0}.kf-app .usual-size{margin:.75rem 0}.kf-app .usual-size .usual-size-label{margin:0 0 .4rem;font-weight:600}.kf-app .usual-size .optional{color:var(--muted);font-weight:400}.kf-app .usual-size .chips{flex-wrap:wrap;gap:8px;margin:0;display:flex}.kf-app .usual-size .chip-usual{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);min-width:52px;min-height:44px;color:var(--ink);padding:4px 12px}.kf-app .usual-size .chip-usual.on{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.kf-app .usual-size .hint{color:var(--muted);margin:.4rem 0 0;font-size:.88rem}.kf-app .segmented{border:1px solid var(--accent);border-radius:var(--radius);background:var(--card);flex-wrap:wrap;display:inline-flex;overflow:hidden}.kf-app .segmented button{min-height:40px;color:var(--accent);background:0 0;border:0;border-radius:0;padding:0 14px;font-weight:600}.kf-app .segmented button.on{background:var(--accent);color:var(--accent-ink)}.kf-app .segmented-field{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.35rem .75rem;font-size:.9rem;display:flex}.kf-app .measure button.link{align-self:flex-start}.kf-app button.link{min-height:0;color:var(--accent);text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.kf-app .success{color:var(--accent);font-weight:600}.kf-app .measure-input{flex-wrap:wrap;align-items:flex-end;gap:.5rem .75rem;display:flex}.kf-app .measure-input .field{flex:10rem}.kf-app .measure-list{flex-direction:column;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.kf-app .measure-list li{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem .75rem;padding:.4rem .75rem;display:flex}.kf-app .measure-list li.off{opacity:.65}.kf-app .measure-list a{color:var(--ink);flex:14rem;align-items:center;gap:.75rem;text-decoration:none;display:flex}.kf-app .measure-list-text{flex-direction:column;gap:.15rem;display:flex}.kf-app .measure-list-text small{color:var(--muted)}.kf-app .guide-thumb{flex:none;width:40px;height:60px}.kf-app .measure-edit-grid{flex-direction:column;gap:1.25rem;display:flex}.kf-app .kf-wide .measure-edit-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.kf-app .guide-editor{flex-direction:column;gap:.75rem;display:flex}.kf-app .guide-canvas{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;max-height:70vh;display:block}.kf-app .guide-canvas:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kf-app .guide-handle{cursor:grab}.kf-app .guide-editor .help p,.kf-app .guide-editor .note{margin:0}.kf-app :not(.kf-wide)>main .guide-canvas{max-height:55vh}.kf-app .own-measures{flex-direction:column;align-items:flex-start;gap:.6rem;margin-top:.75rem;display:flex}.kf-app .own-measures .field input{width:9rem}.kf-app .measure-range{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.kf-app .measure-products{border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;gap:0 1rem;margin:0;padding:.25rem .75rem;display:flex}.kf-app .measure-products legend{color:var(--muted);padding:0 .25rem;font-size:.9rem}.kf-app .designer{flex-direction:column;gap:1rem;display:flex}.kf-app .designer-preview{z-index:1;background:var(--paper);padding-bottom:.5rem;position:sticky;top:0}.kf-app .preview-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:.6rem;display:grid}.kf-app .preview-view{margin:0}.kf-app .preview-view figcaption{color:var(--muted);text-align:center;padding-top:.25rem;font-size:.85rem}.kf-app .preview-frame{border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.kf-app .garment-preview{width:100%;max-height:55vh;display:block}.kf-app .zone-hit{cursor:pointer}.kf-app .side-switch{flex-direction:column;gap:.35rem;display:flex}.kf-app .segmented{gap:.5rem;display:flex}.kf-app .segmented button{flex:1}.kf-app .palette{flex-direction:column;gap:.35rem;display:flex}.kf-app .fabric-rail{gap:.5rem;margin:0;padding:0 0 .25rem;list-style:none;display:flex;overflow-x:auto}.kf-app .rail-swatch{touch-action:none;cursor:grab;flex-direction:column;align-items:center;gap:.2rem;padding:.35rem;display:flex}.kf-app .rail-swatch:active{cursor:grabbing}.kf-app .drag-ghost{z-index:10;pointer-events:none;filter:drop-shadow(0 4px 10px #0000004d);position:fixed;transform:translate(-50%,-50%)}.kf-app .zone-strip{gap:.5rem;margin:0;padding:0 0 .25rem;list-style:none;display:flex;overflow-x:auto}.kf-app .chip{text-align:left;align-items:center;gap:.5rem;min-width:13rem;padding:.5rem;display:flex}.kf-app .chip.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.kf-app .chip-empty{border:1px dashed var(--line);border-radius:6px;width:32px;height:32px}.kf-app .chip-text{flex-direction:column;display:flex}.kf-app .chip-text small{color:var(--muted)}.kf-app .picker{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);flex-direction:column;gap:.75rem;padding:.75rem;display:flex}.kf-app .picker-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.kf-app .picker-actions{gap:.5rem;display:flex}.kf-app .picker-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.kf-app .picker-card{text-align:left;flex-direction:column;gap:.25rem;width:100%;min-height:0;padding:.5rem;display:flex}.kf-app .picker-card.selected{border-color:var(--accent)}.kf-app .picker-card.verdict-tooSmall,.kf-app .picker-card.verdict-unknown{opacity:.65}.kf-app .options{flex-direction:column;gap:1rem;display:flex}.kf-app .option-group h3{margin:0 0 .5rem;font-size:1rem}.kf-app .option-group fieldset{border:1px solid var(--line);border-radius:var(--radius);margin:0 0 .75rem;padding:.5rem .75rem}.kf-app .choice{flex-direction:column;padding:.25rem 0;display:flex}.kf-app .choice label{align-items:center;gap:.5rem;min-height:44px;display:flex}.kf-app .choice small{color:var(--muted);padding-left:1.6rem}.kf-app .size-fit{gap:.75rem;display:flex}.kf-app .size-fit .field{flex:1}.kf-app .check-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:.75rem}.kf-app .check-list{flex-direction:column;gap:.75rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.kf-app .check-list ul{margin:.25rem 0 0;padding-left:1rem}.kf-app .check-list>li{flex-direction:column;gap:.15rem;display:flex}.kf-app .check-list>li[data-verdict=tooSmall]{border-left:3px solid var(--warning);padding-left:.5rem}.kf-app .remedies{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.kf-app .kf-wide .details{grid-template-columns:1fr 1fr;display:grid}.kf-app .kf-wide .details .preview,.kf-app .kf-wide .details .actions{grid-column:1/-1}.kf-app .kf-wide .designer{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.kf-app .kf-wide .designer-preview{max-height:100vh}.kf-app .kf-wide .garment-preview{max-height:70vh}.kf-app .kf-wide .zone-strip{flex-direction:column;overflow-x:visible}.kf-app .kf-wide .chip{min-width:0}.kf-app .badge{border-radius:999px;padding:0 .4rem;font-size:.72rem;font-weight:600;line-height:1.5;display:inline-block}.kf-app .badge-lastOne{color:#6b4d0c;background:#f4e6c4}.kf-app .badge-reserved,.kf-app .badge-unavailable{color:var(--muted);background:#ece6de}.kf-app .fabric-card .badge-noArea{color:#6b4d0c;background:#f4e6c4;align-self:flex-start;font-size:.72rem}.kf-app .fabric-card .badge-cutout{color:#0b4f5f;background:#d8ebe9;border-radius:.5rem;align-self:flex-start;font-size:.72rem}.kf-app .fabric-filter{margin-bottom:1rem}.kf-app main:has(>.fabric-table-view){max-width:1480px}.kf-app .section-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.kf-app .fabric-table-filters{flex-wrap:wrap;align-items:flex-end;gap:.5rem .75rem;margin:.5rem 0;display:flex}.kf-app .fabric-table-filters .field{flex:6.5rem;min-width:6rem;max-width:13rem}.kf-app .fabric-table-filters .fabric-search{flex:2 16rem;max-width:none}.kf-app .fabric-table-checks{flex-wrap:wrap;align-items:center;gap:0 1rem;display:flex}.kf-app .fabric-table-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin:.5rem 0;display:flex}.kf-app .fabric-table-summary{margin:0;font-weight:600}.kf-app .fabric-bulk{border:1px solid var(--accent);border-radius:var(--radius);background:var(--card);flex-wrap:wrap;align-items:flex-end;gap:.5rem .75rem;margin-bottom:.5rem;padding:.6rem .75rem;display:flex}.kf-app .fabric-bulk strong,.kf-app .fabric-bulk>button.link{align-self:center}.kf-app .fabric-bulk-result:empty{display:none}.kf-app .fabric-bulk-result ul{margin:.25rem 0 .5rem;padding-left:1.25rem}.kf-app .fabric-bulk-result>button.link{margin-bottom:.5rem}.kf-app .fabric-bulk .check{flex-basis:100%;order:1;min-height:32px}.kf-app .fabric-table-scroll{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);overscroll-behavior-x:contain;max-height:min(75vh,1100px);scroll-padding-top:3rem;scroll-padding-left:9rem;overflow:auto}.kf-app .fabric-table{border-collapse:separate;border-spacing:0;width:100%;font-size:.9rem;line-height:1.3}.kf-app .fabric-table th,.kf-app .fabric-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;background:var(--card);padding:.35rem .5rem}.kf-app .fabric-table thead th{z-index:2;background:var(--sand);vertical-align:bottom;padding:0;position:sticky;top:0}.kf-app .fabric-table .first{z-index:1;box-shadow:1px 0 0 var(--line);position:sticky;left:0}.kf-app .fabric-table thead .first{z-index:3;padding-left:.5rem}.kf-app .fabric-table .row-head{white-space:nowrap;align-items:center;gap:.5rem;display:flex}.kf-app .fabric-table .row-head input{flex:none;width:18px;height:18px;margin:0}.kf-app .fabric-table button.sort{width:100%;min-height:40px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:0;justify-content:flex-start;align-items:center;gap:.3rem;padding:.3rem .5rem;font-weight:600;line-height:1.2;display:inline-flex}.kf-app .fabric-table .row-head button.sort{white-space:nowrap;padding:0}.kf-app .fabric-table .num button.sort{justify-content:flex-end}.kf-app .fabric-table .sort-mark{color:var(--muted);flex:none;font-size:.7rem}.kf-app .fabric-table button.sort.on .sort-mark{color:var(--accent)}.kf-app .fabric-table tbody tr{cursor:pointer}.kf-app .fabric-table tbody tr:hover>*{background:var(--paper)}.kf-app .fabric-table tbody tr.selected>*{background:var(--gold-tint)}.kf-app .fabric-table tbody tr:focus{outline:none}.kf-app .fabric-table tbody tr:focus-visible>*{box-shadow:inset 0 2px 0 var(--accent), inset 0 -2px 0 var(--accent)}.kf-app .fabric-table tbody tr:focus-visible>.first{box-shadow:inset 2px 2px 0 var(--accent), inset 0 -2px 0 var(--accent)}.kf-app .fabric-table .thumb{object-fit:cover;background:var(--line);border-radius:4px;flex:none;width:36px;height:36px;display:block}.kf-app .fabric-table .code{font-weight:600}.kf-app .fabric-table .row-pick{cursor:pointer;align-self:stretch;align-items:center;gap:.5rem;margin:-.35rem 0 -.35rem -.5rem;padding:.35rem 0 .35rem .5rem;display:flex}.kf-app .fabric-table a.code{color:var(--ink);text-decoration:none}.kf-app .fabric-table a.code:hover{text-underline-offset:3px;text-decoration:underline}.kf-app .fabric-table .studio-status{margin-top:.15rem;font-size:.75rem;display:block}.kf-app .fabric-table .title{min-width:8rem}.kf-app .fabric-table .holds>span{display:block}.kf-app .fabric-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.kf-app .fabric-table .nowrap,.kf-app .fabric-table .badge{white-space:nowrap}.kf-app .fabric-table .num .badge{width:fit-content;margin:.15rem 0 0 auto;display:block}.kf-app .stock-available{color:#0b4f5f;background:#d8ebe9}.kf-app .stock-lastOne,.kf-app .badge-nearlyEmpty,.kf-app .fabric-table .badge-noArea{color:#6b4d0c;background:#f4e6c4}.kf-app .stock-reserved{color:var(--ink);background:#ece6de}.kf-app .stock-soldOut{color:var(--danger);background:#f3dcd4}.kf-app .stock-archived{color:var(--muted);box-shadow:inset 0 0 0 1px var(--line);background:0 0}.kf-app .stock-draft{background:var(--card);color:#6b4d0c;box-shadow:inset 0 0 0 1px #d9b45c}.kf-app .drafts-panel,.kf-app .outbox-panel{border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:var(--radius);background:var(--card);margin:.75rem 0 1rem;padding:.75rem}.kf-app .outbox-panel{border-left-color:var(--accent)}.kf-app .drafts-panel h2,.kf-app .outbox-panel h2,.kf-app .gallery-editor h2{margin:0 0 .25rem;font-size:1.05rem}.kf-app .drafts-panel .note,.kf-app .outbox-panel .note{margin:0 0 .5rem}.kf-app .drafts-list,.kf-app .outbox-list{flex-direction:column;gap:.5rem;margin:0 0 .5rem;padding:0;list-style:none;display:flex}.kf-app .draft-row{border:1px solid var(--line);border-radius:var(--radius);min-height:56px;color:var(--ink);align-items:center;gap:.75rem;padding:.35rem .5rem .35rem .35rem;text-decoration:none;display:flex}.kf-app .draft-thumb{object-fit:cover;background:var(--line);border-radius:4px;flex:none;width:48px;height:48px;display:block}.kf-app .draft-text{overflow-wrap:anywhere;flex-direction:column;flex:auto;gap:.1rem;min-width:0;display:flex}.kf-app .draft-text>span{color:var(--muted);font-size:.85rem}.kf-app .draft-text>.warning{color:var(--warning)}.kf-app .draft-row .link-like{flex:none}.kf-app .outbox-list>li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;padding:.35rem 0;display:flex}.kf-app .draft-photo{object-fit:cover;background:var(--line);border-radius:6px;width:160px;height:160px;display:block}.kf-app .draft-box{border-radius:var(--radius);background:var(--gold-tint);border:1px solid #d9b45c;padding:.6rem .75rem}.kf-app .draft-box p{margin:.25rem 0}.kf-app .draft-box .note{color:var(--ink)}.kf-app .actions-main{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.kf-app .kf-wide .details .draft-box,.kf-app .kf-wide .details .field-wide,.kf-app .kf-wide .details .gallery-editor{grid-column:1/-1}.kf-app .size-chart-page .table-scroll{max-width:100%;overflow-x:auto}.kf-app .size-chart{border-collapse:collapse}.kf-app .size-chart th,.kf-app .size-chart td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:.25rem .4rem}.kf-app .size-chart td input{width:5rem}.kf-app .garment-settings fieldset{margin:0 0 1rem}.kf-app .garment-settings .garment-label-art{background:var(--card);border:1px solid var(--line);width:auto;max-width:220px;height:56px;padding:6px;display:block}.kf-app .garment-settings .garment-details ul{margin:0;padding:0;list-style:none}.kf-app .garment-settings .garment-detail{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .5rem;display:flex}.kf-app .garment-settings .garment-detail-preview{min-width:60px;display:inline-block}.kf-app .garment-settings .garment-detail-preview img{max-width:120px;max-height:60px}.kf-app .label-places-switches{flex-wrap:wrap;gap:.5rem;margin:0 0 .5rem;display:flex}.kf-app .label-places-stage{background:var(--card);border:1px solid var(--line);position:relative}.kf-app .label-places-stage .garment-preview{max-height:none}.kf-app .label-places-handles{touch-action:none;width:100%;height:100%;position:absolute;inset:0}.kf-app .label-handle{cursor:grab;outline:none}.kf-app .label-handle rect{fill:#0000;stroke:var(--muted);stroke-width:.15px;stroke-dasharray:.4 .3}.kf-app .label-handle.chosen rect,.kf-app .label-handle:focus-visible rect{stroke:var(--gold);stroke-width:.3px;stroke-dasharray:none}.kf-app .label-handle .label-hit{stroke:none}.kf-app .label-places-list{margin:.5rem 0;padding-left:1.25rem}.kf-app .label-places-fields{grid-template-columns:max-content minmax(0,18rem);align-items:center;gap:.4rem .75rem;margin:.5rem 0;display:grid}.kf-app .label-places-fields input[type=number]{width:5rem}.kf-app .label-places-turn{align-items:center;gap:.25rem;display:inline-flex}.kf-app .label-places-fields .danger{grid-column:1/-1;justify-self:start}.kf-app .series-renumber{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin:0 0 1rem;padding:.75rem 1rem}.kf-app .series-renumber ul{margin:.25rem 0 .75rem;padding-left:1.1rem}.kf-app .size-chart-unit{color:var(--muted);align-items:center;gap:.25rem;margin:0 0 .15rem;font-size:.8rem;display:flex}.kf-app .size-chart td.own{background:var(--gold-tint)}.kf-app .size-chart td .link{min-height:0;margin-left:.25rem;padding:0}.kf-app .piece-shape .piece-seam{fill:none;stroke:var(--ink);stroke-opacity:.7}.kf-app .piece-shape .piece-edge.chosen,.kf-app .piece-shape .piece-fold.chosen{stroke:var(--cta-deep);stroke-opacity:1}.kf-app .piece-shape .piece-edge-label{fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:.6px;font-weight:600}.kf-app .edge-panel{border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:end;gap:.5rem 1rem;margin:.5rem 0 0;padding:.5rem .75rem;display:flex}.kf-app .round-switch{align-items:center;gap:.5rem;margin:.25rem 0;display:flex}.kf-app .photo-canvas .handle.round circle{stroke-dasharray:3 2}.kf-app .photo-canvas .handle.chosen circle{fill:#c164334d;stroke:#ff8a4c}.kf-app .photo-canvas .handle.chosen path{stroke:#ff8a4c}.kf-app .places-map h2{margin:.5rem 0 .25rem;font-size:1.05rem}.kf-app .places-figure{margin:.5rem 0}.kf-app .places-figure svg{border:1px solid var(--line);background:var(--line);width:100%;max-width:640px;height:auto;display:block}.kf-app .places-list{flex-direction:column;gap:.35rem;margin:.25rem 0 0;padding:0;list-style:none;display:flex}.kf-app .places-list li{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.kf-app .places-list button{min-height:36px;padding:0 .6rem}.kf-app .places-unplaced{border-left:4px solid var(--accent-warm,#c16433);background:var(--card);margin:.75rem 0;padding:.6rem .8rem}.kf-app .places-unplaced h3{margin:0 0 .25rem;font-size:.95rem}.kf-app .places-figure.adjusting svg{touch-action:none;max-width:960px}.kf-app .place-handle{cursor:grab;outline:none}.kf-app .place-handle:focus-visible rect,.kf-app .place-handle:focus-visible polygon{stroke:var(--gold)}.kf-app .place-resize{cursor:nwse-resize}.kf-app .places-adjust .places-turn{flex-wrap:wrap;align-items:end;gap:.5rem 1rem;margin:.5rem 0;display:flex}.kf-app .places-adjust .places-turn input{width:6rem;display:block}.kf-app .places-adjust .places-cut-fields{flex-wrap:wrap;align-items:end;gap:.5rem 1rem;margin:.5rem 0;display:flex}.kf-app .places-adjust .places-cut-fields input{width:6rem;display:block}.kf-app .gallery-strip{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:.5rem;display:flex}.kf-app .gallery-strip>span{color:var(--muted);font-size:.9rem}.kf-app .gallery-strip ul{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.kf-app .gallery-strip-pick{border:1px solid var(--line);background:var(--line);border-radius:4px;width:64px;height:64px;min-height:64px;padding:0;display:block;position:relative;overflow:hidden}.kf-app .gallery-strip-pick img{object-fit:cover;width:100%;height:100%;display:block}.kf-app .gallery-strip-star{text-align:center;background:#fffdf9eb;border-radius:50%;width:20px;height:20px;font-size:.7rem;line-height:20px;position:absolute;top:2px;right:2px}.kf-app .gallery-editor{border-top:1px solid var(--line);flex-direction:column;gap:.5rem;padding-top:.75rem;display:flex}.kf-app .gallery-editor>.note{margin:0}.kf-app .gallery-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.kf-app .gallery-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);grid-template-columns:88px minmax(0,1fr);align-items:start;gap:.5rem .75rem;padding:.5rem;display:grid}.kf-app .gallery-thumb{object-fit:cover;background:var(--line);border-radius:4px;width:88px;height:88px;display:block}.kf-app .picture-fields{flex-direction:column;gap:.4rem;min-width:0;display:flex}.kf-app .gallery-tools,.kf-app .gallery-add{flex-wrap:wrap;gap:.5rem;display:flex}.kf-app .gallery-tools{grid-column:1/-1;justify-content:flex-end}.kf-app .gallery-tools button{min-width:44px}.kf-app .gallery-item.uploading{opacity:.85}.kf-app .gallery-state p{margin:0 0 .35rem}.kf-app .gallery-said{min-height:1.3em;margin:0}.kf-app .kf-wide .gallery-item{grid-template-columns:120px minmax(0,1fr) auto}.kf-app .kf-wide .gallery-item .gallery-thumb{width:120px;height:120px}.kf-app .kf-wide .gallery-tools{flex-direction:column;grid-column:auto}.kf-app .intake{max-width:34rem;margin:0 auto}.kf-app .intake-photo{flex-direction:column;gap:.5rem;display:flex}.kf-app .intake-photo img{border-radius:var(--radius);object-fit:contain;background:#000;width:100%;max-height:50vh;display:block}.kf-app .intake-photo .note{margin:0}.kf-app .intake-size{grid-template-columns:1fr 1fr;gap:.25rem .75rem;display:grid}.kf-app .intake-size .field,.kf-app .intake-size input{min-width:0}.kf-app .intake-size .note{grid-column:1/-1}.kf-app .intake-actions{flex-wrap:wrap;gap:.75rem;display:flex}.kf-app .intake-actions>*{flex:10rem}.kf-app .intake-done{border:1px solid var(--accent);border-radius:var(--radius);background:var(--card);border-left-width:4px;margin-bottom:.75rem;padding:.75rem}.kf-app .intake-done.kept{border-color:var(--warning)}.kf-app .intake-done p{margin:0}.kf-app .intake-done:focus{outline:2px solid var(--accent);outline-offset:2px}.kf-app .batch-board{flex-direction:column;gap:1rem;display:flex}.kf-app .kf-wide .batch-board.split{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start;display:grid}.kf-app .kf-wide .batch-board.split .batch-side{top:calc(var(--wp-admin--admin-bar--height,0px) + .5rem);max-height:calc(100vh - var(--wp-admin--admin-bar--height,0px) - 1rem);padding-bottom:9rem;position:sticky;overflow-y:auto}.kf-app .batch-drive{border:1px solid var(--line);background:var(--card);border-radius:6px;margin:0 0 .75rem;padding:.6rem .75rem}.kf-app .batch-drive p{margin:0 0 .4rem}.kf-app .batch-drive p:last-child{margin-bottom:0}.kf-app .batch-drive-actions{flex-wrap:wrap;gap:.4rem;display:flex}.kf-app p.batch-drive.note{border-style:dashed}.kf-app .batch-drop{border:2px dashed var(--line);border-radius:var(--radius);background:var(--card);text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;min-height:96px;padding:1rem;display:flex}.kf-app .batch.dragging .batch-drop{border-color:var(--accent);background:var(--sand)}.kf-app .batch-drop:focus-within{outline:2px solid var(--accent);outline-offset:2px}.kf-app .batch-drop.disabled{opacity:.5;cursor:default}.kf-app .batch-drop span{color:var(--muted);font-size:.9rem}.kf-app .batch-loose{margin-top:1rem}.kf-app .batch h2{margin:0;font-size:1.05rem}.kf-app .batch h3{overflow-wrap:anywhere;margin:0;font-size:1rem}.kf-app .batch-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.kf-app .batch-loose>.note,.kf-app .batch-fabrics>.note{margin:.25rem 0 .5rem}.kf-app .batch-run{margin:.5rem 0 .75rem}.kf-app .batch-run-head{color:var(--muted);align-items:center;gap:.5rem;margin-bottom:.35rem;font-size:.9rem;display:flex}.kf-app .batch-run-head button,.kf-app .batch-head button{min-height:36px;padding:0 .6rem}.kf-app .batch-photos{grid-template-columns:repeat(auto-fill, minmax(var(--batch-tile,160px), 1fr));gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.kf-app .batch-photo{position:relative}.kf-app .batch-photo[draggable=true]{cursor:grab}.kf-app .batch .drop-target{outline:2px dashed var(--accent);outline-offset:4px;border-radius:var(--radius)}.kf-app .batch-pick{background:0 0;border:3px solid #0000;border-radius:4px;width:100%;min-height:0;padding:0;display:block;position:relative}.kf-app .batch-photo.picked .batch-pick{border-color:var(--accent)}.kf-app .batch-photo.picked .batch-pick:after{content:"✓";background:var(--accent);width:22px;height:22px;color:var(--accent-ink);text-align:center;border-radius:50%;font-size:.8rem;line-height:22px;position:absolute;top:3px;left:3px}.kf-app .batch-pick:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.kf-app .batch-thumb{aspect-ratio:1;object-fit:cover;background:var(--line);width:100%;color:var(--ink);text-align:center;border-radius:2px;justify-content:center;align-items:center;font-size:.75rem;display:flex}.kf-app .batch-photo.failed .batch-thumb{border:1px dashed var(--danger);color:var(--danger)}.kf-app .batch-badge{background:var(--cta-deep);color:var(--cta-ink);text-align:center;padding:.1rem .25rem;font-size:.7rem;font-weight:600;position:absolute;bottom:0;left:0;right:34px}.kf-app .batch-corner{background:#fffdf9eb;border-radius:50%;width:32px;height:32px;min-height:32px;padding:0;line-height:1;position:absolute;top:4px;right:4px}.kf-app .batch-kind{width:100%;min-height:32px;margin-top:4px;padding:0 4px;font-size:.75rem;display:block}.kf-app .batch-zoom{background:#fffdf9eb;border-radius:50%;width:28px;height:28px;min-height:28px;padding:0;font-size:.9rem;line-height:1;position:absolute;bottom:4px;right:4px}.kf-app .ruler-tools{flex-wrap:wrap;align-items:center;gap:.75rem;margin:.5rem 0;display:flex}.kf-app .known-lengths{margin:.25rem 0 .5rem}.kf-app .known-lengths button{font-size:.85rem}.kf-app .straight-said{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.kf-app .straight-said p{margin:0}.kf-app .rectangle-tools{flex-direction:column;gap:.5rem;margin:.5rem 0;display:flex}.kf-app .rectangle-tools .help,.kf-app .rectangle-tools .note{margin:0}.kf-app .rectangle-sizes{flex-wrap:wrap;align-items:end;gap:.5rem 1rem;display:flex}.kf-app .rectangle-sizes .field input{max-width:8rem}.kf-app .rectangle-tools .actions{margin:0}.kf-app .batch-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.kf-app .batch .segmented button[aria-pressed=true],.kf-app .batch-viewer .segmented button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.kf-app .batch-slots{grid-template-columns:repeat(auto-fill, minmax(calc(var(--batch-tile,160px) + 1rem), 1fr));gap:.5rem;margin:.5rem 0;display:grid}.kf-app .batch-slot{border:1px dashed var(--line);border-radius:var(--radius);flex-direction:column;gap:.35rem;min-width:0;padding:.4rem;display:flex}.kf-app .batch-slot-measure{border-style:solid;border-color:var(--accent)}.kf-app .batch-slot-label{font-size:.8rem;font-weight:600}.kf-app .batch-slot-empty{min-height:calc(var(--batch-tile,160px) * .6);text-align:center;justify-content:center;align-items:center;font-size:.8rem;display:flex}.kf-app .batch-slot .batch-photos{grid-template-columns:repeat(auto-fill, minmax(var(--batch-tile,160px), var(--batch-tile,160px)))}.kf-app .batch-slot-take{min-height:32px;font-size:.8rem}.kf-app .batch-viewer-frame{justify-content:center;align-self:stretch;align-items:center;min-width:0;min-height:0;display:flex;overflow:hidden}.kf-app .batch-viewer-frame img{cursor:zoom-in;touch-action:none}.kf-app .batch-viewer-frame.zoomed{display:block;overflow:auto}.kf-app .batch-viewer-frame.zoomed img{cursor:grab;max-width:none;max-height:none}.kf-app .batch-viewer-actions{flex-wrap:wrap;gap:.5rem}.kf-app .photo-canvas .grain-halo{stroke:#141a1a8c;stroke-linecap:round}.kf-app .photo-canvas .grain-line{stroke:#fffdf9;stroke-linecap:round}.kf-app .photo-canvas .grain-head{fill:#fffdf9}.kf-app .photo-canvas .grain-up{fill:#fffdf9;stroke:#141a1ab3;paint-order:stroke;font-weight:700}.kf-app .batch-finish{flex-direction:column;gap:.75rem;display:flex}.kf-app .batch-finish-body{grid-template-columns:minmax(0,3fr) minmax(16rem,2fr);align-items:start;gap:1rem;display:grid}@media (width<=900px){.kf-app .batch-finish-body{grid-template-columns:minmax(0,1fr)}}.kf-app .batch-finish-photo{flex-direction:column;gap:.5rem;min-width:0;display:flex}.kf-app .batch-finish-size{margin:0;font-size:1.25rem;font-weight:600}.kf-app .batch-finish-said{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.kf-app .batch-finish-said p,.kf-app .batch-finish-photo>.warning{margin:0}.kf-app .batch-finish-tools{flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;display:flex}.kf-app .batch-finish-ruler{flex-wrap:wrap;align-items:end;gap:.5rem 1rem;display:flex}.kf-app .batch-finish-ruler .help{flex-basis:100%;margin:0}.kf-app .batch-finish-ruler .field input{max-width:8rem}.kf-app .batch-finish-strip{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.kf-app .batch-finish-thumb{text-align:center;flex-direction:column;gap:.2rem;width:96px;font-size:.75rem;display:flex}.kf-app .batch-finish-thumb button{background:0 0;border:3px solid #0000;border-radius:4px;min-height:0;padding:0}.kf-app .batch-finish-thumb.measuring button{border-color:var(--accent)}.kf-app .batch-finish-thumb img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.kf-app .batch-finish-fields{border:0;flex-direction:column;gap:.6rem;margin:0;padding:0;display:flex}.kf-app .batch-finish-fields .check{align-items:center;gap:.4rem;display:flex}.kf-app .batch-finish-actions{z-index:2;background:var(--paper,var(--card));flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem 0;display:flex;position:sticky;bottom:0}.kf-app .batch-finish-actions .warning{margin:0}.kf-app .batch-strip{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--card);flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0 0;padding:.5rem;display:flex;box-shadow:0 2px 8px #2848491f}.kf-app .batch-strip>span{font-weight:600}.kf-app .batch-strip .batch-strip-name{flex:10rem;min-width:0;min-height:40px}.kf-app .batch-strip button{min-height:40px;padding:0 .75rem}.kf-app .batch-strip .batch-unselect{width:40px;padding:0;font-size:1.2rem}.kf-app .batch-bar .batch-strip{box-shadow:none;border:0;margin:0;padding:0}.kf-app .batch-viewer{z-index:100000;color:#fffdf9;background:#141a1af0;flex-direction:column;gap:.5rem;padding:.75rem 1rem 1rem;display:flex;position:fixed;inset:0}.kf-app .batch-viewer-bar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.kf-app .batch-viewer-bar p{overflow-wrap:anywhere;margin:0;font-size:.9rem}.kf-app .batch-viewer-stage{flex:1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;min-height:0;display:grid}.kf-app .batch-viewer-stage img{object-fit:contain;justify-self:center;max-width:100%;max-height:calc(100vh - 9rem)}.kf-app .batch-viewer-close,.kf-app .batch-viewer-step{width:44px;height:44px;min-height:44px;color:var(--ink);background:#fffdf9eb;border-radius:50%;padding:0;font-size:1.4rem;line-height:1}.kf-app .batch-viewer-step:disabled{visibility:hidden}.kf-app .batch-viewer-actions{justify-content:center;display:flex}.kf-app .batch-viewer-actions button{min-width:10rem;min-height:44px}.kf-app .batch-fabric-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.kf-app .batch-fabric{border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:var(--radius);background:var(--card);flex-direction:column;gap:.5rem;padding:.6rem .75rem;display:flex}.kf-app .batch-fabric.busy{opacity:.75}.kf-app .batch-fabric p{margin:0}.kf-app .batch-fields{border:0;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.25rem .75rem;min-width:0;margin:0;padding:0;display:grid}.kf-app .batch-fields .field,.kf-app .batch-fields input,.kf-app .batch-fields select{min-width:0}.kf-app .batch-fields .batch-name{grid-column:span 2}.kf-app .batch-hither{border-color:var(--accent);color:var(--accent);align-self:flex-start}.kf-app .batch-card-tools{align-items:center;gap:.5rem;display:flex}.kf-app .batch-card-tools button{min-height:32px;padding:0 .5rem;font-size:.85rem}.kf-app .batch-save{flex-direction:column;gap:.35rem;margin:.75rem 0;display:flex}.kf-app .batch-save p{margin:0}.kf-app .batch-bar{z-index:5;border:1px solid var(--line);border-top:3px solid var(--accent);background:var(--card);flex-direction:column;gap:.35rem;margin-top:1rem;padding:.5rem .75rem;display:flex;position:sticky;bottom:0;box-shadow:0 -2px 8px #2848491f}.kf-app .batch-said{margin:0}.kf-app .batch .intake-done ul{margin:.25rem 0 .5rem;padding-left:1.25rem}.kf-app .batch .intake-done .intake-actions{margin-top:.5rem}.kf-app .fabric-pages{justify-content:center;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.kf-app .fabric-table-help{color:var(--muted);margin-top:1rem}.kf-app .fabric-table-help summary{cursor:pointer}.kf-app .rail-swatch.blocked,.kf-app .picker-card:disabled{cursor:not-allowed;opacity:.55}.kf-app .rail-heading{color:var(--muted);margin:.5rem 0 .25rem;font-size:.85rem;font-weight:600}.kf-app .zipper-choice{border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:.5rem .75rem}.kf-app .zipper-swatches{flex-wrap:wrap;gap:.5rem;display:flex}.kf-app .zipper-swatch{gap:.4rem;min-height:40px}.kf-app .zipper-swatch.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.kf-app .zipper-dot{border-radius:50%;width:18px;height:18px;box-shadow:inset 0 0 0 1px #00000040}.kf-app .zipper-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.kf-app .zipper-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);grid-template-columns:4rem minmax(8rem,1fr) auto auto auto;align-items:end;gap:.75rem;padding:.75rem;display:grid}.kf-app .zipper-row input[type=color]{width:100%;min-height:44px;padding:2px}.kf-app .stepper{gap:.25rem;display:flex}.kf-app .stepper input{text-align:center;width:4.5rem}.kf-app :not(.kf-wide)>main .zipper-row{grid-template-columns:4rem 1fr}.kf-app .zipper-row .zipper-sizes{border:0;flex-wrap:wrap;grid-column:1/span 3;align-items:center;gap:.25rem 1rem;margin:0;padding:0;display:flex}.kf-app .zipper-row .zipper-sizes legend{float:left;color:var(--muted);margin-right:.5rem;padding:0;font-size:.9rem}.kf-app .zipper-row .zipper-sizes .check{min-height:44px}.kf-app .zipper-row .zipper-length{grid-column:span 2}.kf-app .zipper-row .zipper-length input{max-width:8rem}.kf-app :not(.kf-wide)>main .zipper-row .zipper-stock,.kf-app :not(.kf-wide)>main .zipper-row>.check,.kf-app :not(.kf-wide)>main .zipper-row .zipper-sizes,.kf-app :not(.kf-wide)>main .zipper-row .zipper-length{grid-column:1/-1}.kf-app .zipper-row .zipper-actions{flex-wrap:wrap;gap:.5rem;display:flex}.kf-app :not(.kf-wide)>main .zipper-row>.zipper-actions{grid-column:1/-1;justify-self:start}.kf-app .order-bar{border:2px solid var(--cta);border-radius:var(--radius);background:var(--card);flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.kf-app .order-price{flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;display:flex}.kf-app .order-price strong{font-size:1.4rem}.kf-app .order-missing{margin:0;padding-left:1.1rem}.kf-app .product-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;padding:0;list-style:none;display:grid}.kf-app .product-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--ink);flex-direction:column;gap:.5rem;padding:.75rem;text-decoration:none;display:flex}.kf-app .product-thumb{aspect-ratio:1;pointer-events:none;display:block}.kf-app .product-thumb svg{width:100%;height:100%}.kf-app .fabric-card-cell{flex-direction:column;gap:.25rem;display:flex}.kf-app .fabric-card-cell>.fabric-card{flex:auto}.kf-app .fabric-card.series{box-shadow:4px 4px 0 -1px var(--card), 4px 4px 0 0 var(--line)}.kf-app .fabric-card .series-count,.kf-app .fabric-table .series-count{color:var(--accent);font-weight:600}.kf-app .card-action{min-height:44px;color:var(--accent);align-self:flex-start;padding:.6rem .25rem;font-size:.9rem;font-weight:600}.kf-app .check-with-info{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.kf-app .info-tip{min-width:32px;min-height:32px;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:1.05rem;line-height:1}.kf-app .info-tip-text{flex-basis:100%}.kf-app .card-actions{flex-wrap:wrap;gap:0 .75rem;display:flex}.kf-app button.card-action{cursor:pointer;background:0 0;border:0}.kf-app .fabrics-said:empty{display:none}.kf-app .fabrics-said button{margin-left:.5rem}.kf-app .fabric-table .series-cell{cursor:default;min-width:8rem}.kf-app .fabric-table .series-cell>*{display:block}.kf-app .fabric-table .series-cell a{color:var(--ink)}.kf-app .fabric-table .series-cell .series-fold{text-align:left;min-height:0;padding:0;font-size:.8rem}.kf-app .fabric-table .series-cell a.series-copy{color:var(--accent);margin-top:.15rem;font-size:.8rem;font-weight:600}.kf-app .fabric-table tbody tr.series-first>.first,.kf-app .fabric-table tbody tr.series-member>.first{box-shadow:inset 3px 0 0 var(--accent)}.kf-app .fabric-table tbody tr.series-member>*{border-top-color:#0000}.kf-app .series-box{border:1px solid var(--accent);border-radius:var(--radius);background:var(--card);border-left-width:4px;padding:.6rem .75rem}.kf-app .series-box p{margin:0 0 .25rem}.kf-app .kf-wide .details .series-box{grid-column:1/-1}.kf-app .actions-side{flex-wrap:wrap;gap:.75rem;display:flex}.kf-app .clone-panel{max-width:44rem}.kf-app .clone-panel .actions{justify-content:flex-start}.kf-app .intake .clone-panel{border-top:1px solid var(--line);margin-top:1.25rem;padding-top:.75rem}.kf-app .clone-form{flex-direction:column;gap:.5rem;display:flex}.kf-app .clone-count input{max-width:8rem}.kf-app .clone-rows{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.kf-app .clone-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);grid-template-columns:7rem minmax(0,1fr) minmax(0,1fr);align-items:end;gap:.25rem .75rem;padding:.5rem .75rem;display:grid}.kf-app .clone-row .field,.kf-app .clone-row input{min-width:0}.kf-app .clone-code{flex-direction:column;align-self:center;display:flex}@media (width<=34rem){.kf-app .clone-row{grid-template-columns:1fr 1fr}.kf-app .clone-code{flex-direction:row;grid-column:1/-1;gap:.5rem}}.kf-app .series-summary{font-weight:600}.kf-app .series-pieces{flex-direction:column;gap:.5rem;margin:.75rem 0;padding:0;list-style:none;display:flex}.kf-app .series-piece{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.5rem .75rem;display:flex}.kf-app .series-piece .thumb{object-fit:cover;background:var(--line);border-radius:4px;flex:none;width:48px;height:48px;display:block}.kf-app .series-piece-text{flex-direction:column;flex:14rem;gap:.15rem;min-width:0;display:flex}.kf-app .series-piece-text>span{color:var(--muted);font-size:.9rem}.kf-app .series-piece-text a.code{color:var(--ink)}.kf-app .series-piece-actions{flex-wrap:wrap;gap:.5rem;display:flex}.kf-app .pattern-sets,.kf-app .pattern-pieces{margin:0;padding:0;list-style:none}.kf-app .pattern-sets li{border-bottom:1px solid var(--line);padding:.4rem 0}.kf-app .pattern-pieces li{border-bottom:1px solid var(--line);align-items:flex-start;gap:.8rem;padding:.6rem 0;display:flex}.kf-app .pattern-pieces li>div{flex:1;min-width:0}.kf-app .pattern-pieces .note{margin:.2rem 0}.kf-app .badge-draft{color:#6b4d0c;background:#f4e6c4}.kf-app .badge-active{color:var(--ink);background:#d7ebe6}.kf-app .badge-archived{color:var(--muted);background:#ece6de}.kf-app .piece-shape{flex:none;display:block}.kf-app .piece-shape.small{width:4.5rem;height:6rem}.kf-app .piece-shape.large{width:100%;max-width:22rem;height:24rem;max-height:60vh}.kf-app .piece-cloth{fill:var(--toile);stroke:var(--ink)}.kf-app .piece-grain{stroke:var(--muted);stroke-dasharray:2 1}.kf-app .piece-grain-head{fill:var(--muted)}.kf-app .piece-edge{stroke:#0000;cursor:pointer}.kf-app .piece-edge:hover,.kf-app .piece-edge:focus-visible{stroke:var(--accent);outline:none}.kf-app .piece-fold{stroke:var(--cta);cursor:pointer}.kf-app .piece-preview{grid-column:1/-1}.kf-app .zone-grid{grid-template-columns:repeat(3,max-content);justify-content:start;align-items:center;column-gap:2rem;display:grid}.kf-app .zone-grid .zone-head{color:var(--muted);font-size:.85rem}.kf-app .zone-grid .zone-both{grid-column:span 2}.kf-app .zone-grid .check{min-height:40px}.kf-app .piece-cut .check{align-items:flex-start;min-height:0;padding:.35rem 0}.kf-app .piece-cut .check input{margin-top:.25rem}.kf-app .piece-cut .check .note{color:var(--muted);display:block}.kf-app .piece-cut-other{flex-wrap:wrap;align-items:end;gap:.5rem 1.5rem;padding-left:1.6rem;display:flex}.kf-app .piece-examples{grid-column:1/-1;margin:.25rem 0 .5rem}.kf-app .piece-examples summary{color:var(--accent);cursor:pointer;font-weight:600}.kf-app .grain-help{flex-wrap:wrap;align-items:flex-start;gap:.5rem 1rem;display:flex}.kf-app .grain-help .help{flex:18rem;margin:0}.kf-app .grain-sketch{flex:none;width:96px;height:auto}.kf-app .grain-sketch-paper{fill:var(--card);stroke:var(--muted);stroke-width:2px}.kf-app .grain-sketch-line{stroke:var(--accent);stroke-width:3px}.kf-app .grain-sketch-head{fill:var(--accent)}.kf-app .grain-sketch-tap{fill:var(--cta)}.kf-app .grain-sketch-number{fill:#fff;font-size:12px;font-weight:700}.kf-app .steps li button.link{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.kf-app .piece-preview .note,.kf-app .piece-preview .help{margin:.3rem 0}.kf-app .kf-wide .details .field-wide,.kf-app .kf-wide .details>.warning{grid-column:1/-1}.kf-app fieldset.field{border:0;margin:0 0 .75rem;padding:0}.kf-app fieldset.field legend{margin-bottom:.3rem;padding:0}.kf-app .sub-nav{border-bottom:1px solid var(--line);gap:1.25rem;margin:0 0 1rem;display:flex}.kf-app .sub-nav a{color:var(--muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:.4rem 0;text-decoration:none}.kf-app .sub-nav a[aria-current=page]{border-bottom-color:var(--accent);color:var(--ink);font-weight:600}.kf-app .fabric-views{margin:0 0 .5rem}.kf-app .fabric-views .view-count,.kf-app .studio-overview .view-count{background:var(--line);text-align:center;border-radius:999px;min-width:1.4em;margin-left:.35rem;padding:0 .35rem;font-size:.8em;display:inline-block}.kf-app .holds .issue{color:var(--danger,#a4552b);font-weight:600}.kf-app .overview-grid{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));align-items:start;gap:1rem;display:grid}.kf-app .overview-card{border:1px solid var(--line);border-top:4px solid var(--accent,#07718b);border-radius:var(--radius);background:var(--card);padding:.8rem 1rem 1rem}.kf-app .overview-short{border-top-color:var(--accent-warm,#c16433)}.kf-app .overview-adjust{border-top-color:#a4552b}.kf-app .overview-card h2{margin:0 0 .5rem;font-size:1.05rem}.kf-app .overview-list{flex-direction:column;gap:.35rem;margin:0 0 .5rem;padding:0;list-style:none;display:flex}.kf-app .overview-list a{color:inherit;grid-template-rows:auto auto;grid-template-columns:36px minmax(0,1fr);align-items:center;column-gap:.6rem;text-decoration:none;display:grid}.kf-app .overview-list a .thumb{grid-row:1/span 2}.kf-app .overview-list .overview-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kf-app .overview-list .overview-detail{color:var(--muted);font-size:.9rem}.kf-app .order-views{margin:0 0 .75rem}.kf-app .order-views .view-count{background:var(--line);text-align:center;border-radius:999px;min-width:1.4em;margin-left:.35rem;padding:0 .35rem;font-size:.8em;display:inline-block}.kf-app .order-lines{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.kf-app .order-line{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);grid-template-columns:96px minmax(0,1fr) minmax(14rem,30rem);align-items:start;gap:1rem;padding:.75rem;display:grid}.kf-app :not(.kf-wide)>main .order-line{grid-template-columns:72px minmax(0,1fr)}.kf-app :not(.kf-wide)>main .order-line .order-actions{grid-column:1/-1}.kf-app .order-picture{aspect-ratio:1;object-fit:contain;border-radius:var(--radius);background:var(--line);width:100%;display:block}.kf-app .order-facts h2{margin:0 0 .25rem;font-size:1.05rem}.kf-app .order-facts p{margin:0 0 .25rem}.kf-app .order-when{color:var(--muted);font-size:.9rem}.kf-app .order-stages{flex-wrap:wrap;gap:.25rem;margin:.4rem 0 0;padding:0;font-size:.85rem;list-style:none;display:flex}.kf-app .order-stages li{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.15rem .55rem}.kf-app .order-stages li.reached{border-color:var(--accent,#07718b);background:var(--accent,#07718b);color:#fff}.kf-app .order-stages li[aria-current=step]{font-weight:700}.kf-app .order-stages.cancelled{color:#a4552b;font-weight:600}.kf-app .order-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.kf-app .order-pages{justify-content:center;align-items:center;gap:.75rem}html.kf-locked{overflow:hidden}.kf-app .kf-atelier{--topbar-h:52px;--stage-h:clamp(200px, 38dvh, 360px);--panel-w:clamp(340px, 36vw, 460px);z-index:2147483000;grid-template-rows:var(--topbar-h) 4px minmax(0, 1fr);background:var(--paper);height:100dvh;color:var(--ink);font-family:var(--font-body);text-align:left;font-size:16px;line-height:1.45;display:grid;position:fixed;inset:0;container:atelier/inline-size}.kf-app .kf-atelier :focus-visible{outline:3px solid var(--accent);outline-offset:2px}.kf-app .kf-atelier button{font:inherit;color:inherit;cursor:pointer}.kf-app .kf-atelier h2,.kf-app .kf-atelier h3{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.05em;color:var(--ink);font-weight:700}.kf-app .kf-atelier h2{margin:0 0 .35rem;font-size:1.3rem;line-height:1.2}.kf-app .kf-atelier h3{margin:0 0 .5rem;font-size:.95rem}.kf-app .kf-atelier h2:focus{outline:none}.kf-app .kf-atelier .topbar{background:var(--accent);color:#fff;align-items:center;gap:8px;padding:0 4px;display:flex}.kf-app .kf-atelier .topbar .icon{border-radius:var(--radius);color:#fff;background:0 0;border:0;justify-content:center;align-items:center;width:48px;height:48px;min-height:48px;padding:0;font-size:1.4rem;display:inline-flex}.kf-app .kf-atelier .brand-mark{width:auto;height:28px;margin-right:auto}.kf-app .brand-mark.text{font-family:var(--font-head);color:var(--paper);align-items:baseline;gap:.5em;margin-right:auto;font-size:1.25rem;font-weight:700;display:inline-flex}.kf-app .brand-mark.text small{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;opacity:.85;font-size:.62rem;font-weight:500}.kf-app .kf-atelier .progress{gap:4px;margin:0;padding:0;list-style:none;display:none}.kf-app .kf-atelier .progress li,.kf-app .kf-atelier .progress button{color:#ffffffb3;white-space:nowrap;background:0 0;border:0;align-items:center;min-height:44px;padding:0 10px;font-size:.9rem;display:inline-flex}.kf-app .kf-atelier .progress li[aria-current=step]{color:#fff;box-shadow:inset 0 -3px 0 var(--gold);font-weight:600}.kf-app .kf-atelier .progress li.done button{color:#fff}.kf-app .kf-atelier .progress .num{border:1px solid;border-radius:50%;place-items:center;width:20px;height:20px;margin-right:6px;font-size:.75rem;display:inline-grid}.kf-app .kf-atelier .progress-short{opacity:.9;font-size:.9rem}.kf-app .kf-atelier .woven{background:var(--line);position:relative}.kf-app .kf-atelier .woven:before{content:"";width:var(--done,25%);background:repeating-linear-gradient(90deg, var(--accent) 0 12px, var(--paper) 12px 16px, var(--cta) 16px 28px, var(--gold) 28px 40px);transition:width .3s;position:absolute;inset:0 auto 0 0}.kf-app .kf-atelier .atelier-body{grid-template-rows:var(--stage-h) minmax(0, 1fr);min-height:0;display:grid}.kf-app .kf-atelier:has(.stage-views.moving){--stage-h:clamp(280px, 60dvh, 560px)}.kf-app .kf-atelier .stage-area{background:var(--paper);flex-direction:column;min-height:0;display:flex;position:relative;overflow:hidden}.kf-app .kf-atelier .panel-area{background:var(--card);border-top:1px solid var(--line);grid-template-rows:minmax(0,1fr) auto auto;min-height:0;display:grid}.kf-app .kf-atelier .panel{overscroll-behavior:contain;padding:16px 16px 24px;overflow-y:auto}.kf-app .kf-atelier .stage{grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;display:grid}.kf-app .kf-atelier .stage-controls{justify-content:flex-end;align-items:center;gap:8px;padding:8px 12px 0;display:flex}.kf-app .kf-atelier .segmented{border:1px solid var(--accent);border-radius:var(--radius);background:var(--card);display:inline-flex;overflow:hidden}.kf-app .kf-atelier .segmented button{min-height:40px;color:var(--accent);background:0 0;border:0;border-radius:0;padding:0 14px;font-weight:600}.kf-app .kf-atelier .segmented button.on{background:var(--accent);color:#fff}.kf-app .kf-atelier .segmented.small button{min-height:36px;font-size:.9rem}.kf-app .kf-atelier .ghost{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);min-height:40px;color:var(--ink);padding:0 12px}.kf-app .kf-atelier .stage-views{justify-content:center;align-items:center;min-height:0;padding:4px 12px 12px;display:flex;position:relative}.kf-app .kf-atelier .stage-view{flex-direction:column;align-items:center;min-height:0;margin:0;display:flex}.kf-app .kf-atelier .stage-view.big{justify-content:center;width:100%;height:100%}.kf-app .kf-atelier .stage-canvas{width:100%;max-width:100%;min-height:0;max-height:calc(100% - 1.4em)}.kf-app .kf-atelier .stage-canvas svg{background:0 0;width:100%;height:100%;display:block}.kf-app .kf-atelier .stage-view figcaption{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.kf-app .kf-atelier .stage-pip{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);cursor:pointer;width:30%;max-width:160px;padding:4px;position:absolute;bottom:10px;right:10px;box-shadow:0 2px 10px #2848492e}.kf-app .kf-atelier .stage-pip .stage-canvas{max-height:none}.kf-app .kf-atelier .stage-empty,.kf-app .kf-atelier .stage-caption,.kf-app .kf-atelier .peek{border-radius:var(--radius);max-width:60%;color:var(--ink);background:#f7f3eceb;margin:0;padding:4px 8px;font-size:.82rem;position:absolute;bottom:10px;left:12px}.kf-app .kf-atelier .peek{top:56px;bottom:auto}.kf-app .kf-atelier .zone-pulse{animation:1.2s ease-out kf-pulse}.kf-app .kf-atelier .zone-flash{animation:1.6s ease-out forwards kf-flash}.kf-app .kf-atelier .stage-move-tools{z-index:1;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:calc(100% - 24px);display:flex;position:absolute;top:4px;right:12px}.kf-app .kf-atelier .stage-move-tools .ghost{min-height:36px;color:var(--accent);font-size:.88rem;font-weight:600}.kf-app .kf-atelier .stage-move-tools .move-toggle{border-color:var(--gold);background:var(--gold);color:var(--gold-ink)}.kf-app .kf-atelier .stage-move-tools .move-toggle[aria-disabled=true]{opacity:.55;cursor:not-allowed}.kf-app .kf-atelier .move-parts{flex-wrap:wrap;gap:6px;display:flex}.kf-app .kf-atelier .move-parts .ghost[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.kf-app .kf-atelier .move-sleeves button{min-height:36px;padding:0 10px;font-size:.85rem}.kf-app .kf-atelier .stage-move{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.kf-app .kf-atelier .stage-move:active{cursor:grabbing}.kf-app .kf-atelier .stage-move .zone-hit{cursor:inherit}.kf-app .kf-atelier .stage-pip.map{cursor:default}@container atelier (width<=719px){.kf-app .kf-atelier:has(.stage-views.moving) .atelier-body{grid-template-rows:minmax(0,1fr)}.kf-app .kf-atelier:has(.stage-views.moving) .panel-area{display:none}.kf-app .kf-atelier .stage:has(.stage-views.moving){grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr)}.kf-app .kf-atelier .stage:has(.stage-views.moving)>.stage-controls{display:none}.kf-app .kf-atelier .stage-views.moving{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:6px;min-width:0}.kf-app .kf-atelier .stage-views.moving .stage-move-tools{scrollbar-width:none;flex-wrap:nowrap;order:-1;justify-content:flex-start;min-width:0;max-width:none;position:static;overflow-x:auto}.kf-app .kf-atelier .stage-views.moving .stage-move-tools>*,.kf-app .kf-atelier .stage-views.moving .move-parts>*{flex:none}.kf-app .kf-atelier .stage-views.moving .move-parts{flex-wrap:nowrap}.kf-app .kf-atelier .stage-views.moving>.stage-view.big{flex:none;height:auto}.kf-app .kf-atelier .stage-views.moving .stage-pip.map{width:auto;max-width:none;min-height:0;box-shadow:none;background:0 0;border:0;flex:1 1 0;padding:0;position:static}.kf-app .kf-atelier .stage-views.moving .stage-pip.map .stage-view{justify-content:flex-start;height:100%}.kf-app .kf-atelier .stage-views.moving .stage-pip.map .stage-canvas{max-height:calc(100% - 1.4em)}.kf-app .kf-atelier .stage-views.moving>.stage-view.big{flex:0 auto;min-height:0;max-height:34%}.kf-app .kf-atelier .stage-views.moving>.stage-view.big .stage-canvas{height:calc(100% - 1.4em)}.kf-app .kf-atelier .stage-views.moving .stage-pip.map .stage-view{flex-direction:column;display:flex}.kf-app .kf-atelier .stage-views.moving .stage-pip.map .stage-canvas{flex:1 1 0;max-height:none}.kf-app .kf-atelier .stage-views.moving .stage-pip.map figcaption{flex:none}.kf-app .kf-atelier .move-hint .move-wish{font-size:.8rem}}.kf-app .kf-atelier .piece-map .map-move{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.kf-app .kf-atelier .piece-map .map-move:active{cursor:grabbing}.kf-app .kf-atelier .stage-move-tools .grain-turn{justify-content:center;align-items:center;gap:6px;min-width:44px;min-height:44px;display:inline-flex}.kf-app .kf-atelier .grain-turn>span[aria-hidden=true]{font-size:1.15rem;line-height:1}.kf-app .kf-atelier .grain-turn .grain-turn-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.kf-app .kf-atelier .grain-turn.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.kf-app .kf-atelier .grain-turn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.kf-app .kf-atelier .move-hint{color:var(--ink);margin:0 12px 8px;font-size:.82rem}.kf-app .kf-atelier .move-hint p{margin:0}.kf-app .kf-atelier .move-hint .move-wish{color:var(--muted)}.kf-app .kf-atelier .move-hint .move-locked{border-left:3px solid var(--line);margin:4px 0;padding-left:8px}.kf-app .kf-atelier>.stage .move-locked,.kf-app .kf-atelier .stage>.move-locked{border-left:3px solid var(--line);margin:0 12px 8px;padding:6px 10px;font-size:.85rem}.kf-app .kf-atelier .move-parts .ghost.locked{border-style:dashed}.kf-app .kf-atelier .place-note{border-left:3px solid var(--warning);margin:0 12px 8px;padding:6px 10px;font-size:.85rem}.kf-app .kf-atelier .piece-map .map-taken{display:none}@container atelier (width>=720px){.kf-app .kf-atelier .piece-map .map-taken{display:inline}.kf-app .kf-atelier .move-hint .map-legend{display:none}}.kf-app .kf-atelier .move-hint .move-note{border-left:3px solid var(--accent);min-height:4.35em;color:var(--ink);margin:4px 0;padding-left:8px;font-weight:600}.kf-app .kf-atelier .move-hint .move-note:empty{border-left-color:#0000}.kf-app .kf-atelier .move-hint{flex-direction:column;display:flex}.kf-app .kf-atelier .move-hint .move-note{order:1}@container atelier (width>=720px){.kf-app .kf-atelier .move-hint .move-note{min-height:2.9em}}.kf-app .kf-atelier .swatch-grid .swatch-tile{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.kf-app .kf-atelier.swatch-dragging,.kf-app .kf-atelier.swatch-dragging *{cursor:grabbing;-webkit-user-select:none;user-select:none}.kf-app .kf-atelier.drop-refused,.kf-app .kf-atelier.drop-refused *{cursor:not-allowed}.kf-app .kf-atelier.swatch-dragging .stage-empty,.kf-app .kf-atelier.swatch-dragging .stage-caption,.kf-app .kf-atelier.swatch-dragging .peek,.kf-app .kf-atelier.swatch-dragging .stage-move-tools{pointer-events:none}.kf-app .kf-atelier .drop-ghost{z-index:5;pointer-events:none;will-change:transform;position:fixed;top:0;left:0}.kf-app .kf-atelier .drop-ghost-inner{align-items:center;gap:8px;display:flex;transform:translate(12px,12px)}.kf-app .kf-atelier .drop-ghost.touch .drop-ghost-inner{flex-direction:column-reverse;gap:4px;transform:translate(-50%,calc(-100% - 36px))}.kf-app .kf-atelier .drop-swatch{border:2px solid var(--card);background:var(--toile);border-radius:50%;width:48px;height:48px;display:block;position:relative;overflow:hidden;box-shadow:0 4px 14px #28484959}.kf-app .kf-atelier .drop-ghost.ok .drop-swatch{border-color:var(--accent)}.kf-app .kf-atelier .drop-ghost.refused .drop-swatch{border-color:var(--danger)}.kf-app .kf-atelier .drop-no{color:var(--danger);background:#fffdf98c;place-items:center;font-size:1.7rem;font-weight:700;line-height:1;display:grid;position:absolute;inset:0}.kf-app .kf-atelier .drop-label{border-radius:var(--radius);background:var(--ink);color:#fff;flex-direction:column;max-width:min(240px,70vw);padding:5px 10px;font-size:.86rem;line-height:1.25;display:flex;box-shadow:0 4px 14px #00000038}.kf-app .kf-atelier .drop-label small{color:var(--gold-tint);font-size:.78rem}.kf-app .kf-atelier .drop-ghost.refused .drop-label{background:var(--danger)}.kf-app .kf-atelier .drop-ghost.refused .drop-label small{color:#fff}.kf-app .kf-atelier .drag-hint{margin:10px 0 0}.kf-app .kf-atelier .drag-hint .touch-only{display:none}@media (any-pointer:coarse){.kf-app .kf-atelier .drag-hint .touch-only{display:inline}}@keyframes kf-flash{0%{fill-opacity:0;stroke-opacity:0}20%{fill-opacity:.3;stroke-opacity:1}to{fill-opacity:0;stroke-opacity:0}}@keyframes kf-pulse{0%{stroke-opacity:0}30%{stroke-opacity:1}to{stroke-opacity:.85}}.kf-app .kf-atelier .step-sub{color:var(--muted);margin:0 0 12px}.kf-app .kf-atelier .chips{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}.kf-app .kf-atelier .chip-filter{border:1px solid var(--line);background:var(--card);min-height:40px;color:var(--ink);border-radius:999px;padding:0 14px}.kf-app .kf-atelier .chip-filter.on{border-color:var(--accent);background:var(--accent);color:#fff}.kf-app .kf-atelier .swatch-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;display:grid}.kf-app .kf-atelier .swatch-tile{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);text-align:left;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:4px;min-height:0;padding:5px;display:flex}.kf-app .kf-atelier .swatch-tile.on{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.kf-app .kf-atelier .swatch-tile.blocked{opacity:.5;cursor:not-allowed}.kf-app .kf-atelier .swatch-box{aspect-ratio:1;border-radius:var(--radius);background:var(--toile);justify-content:center;display:flex;position:relative;overflow:hidden}.kf-app .kf-atelier .swatch-box .swatch{border-radius:0;width:100%!important;height:100%!important}.kf-app .kf-atelier .swatch-toile{background:var(--toile);width:100%;height:100%}.kf-app .kf-atelier .swatch-check,.kf-app .kf-atelier .swatch-equal{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:.8rem;font-weight:700;display:grid;position:absolute;top:4px;right:4px}.kf-app .kf-atelier .swatch-equal{background:var(--ink)}.kf-app .kf-atelier .swatch-name{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;line-height:1.25;overflow:hidden}.kf-app .kf-atelier .tag,.kf-app .launcher .tag{background:var(--sand);color:var(--ink);border-radius:999px;align-self:flex-start;padding:1px 7px;font-size:.7rem;font-weight:600}.kf-app .tag.gold{background:var(--gold-tint)}.kf-app .tag.teal{box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent);background:0 0}.kf-app .tag.apart{white-space:normal}.kf-app .tag.series{box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent);white-space:nowrap;background:0 0}.kf-app .kf-atelier .datasheet-series{margin:8px 0 0;font-size:.9rem}.kf-app .kf-atelier .detail-line{margin:10px 0 0;font-size:.9rem}.kf-app .kf-atelier .code,.kf-app .launcher .code{color:var(--muted);font-size:.8em}.kf-app .kf-atelier .hint{color:var(--muted);margin:8px 0 0;font-size:.88rem}.kf-app .kf-atelier .success,.kf-app .kf-atelier .banner{border-left:4px solid var(--gold);border-radius:var(--radius);background:var(--gold-tint);color:var(--ink);margin:12px 0;padding:10px 12px}.kf-app .kf-atelier .success{font-weight:600}.kf-app .kf-atelier .link{min-height:0;color:var(--accent);text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.kf-app .kf-atelier .why{color:var(--muted);margin-top:14px}.kf-app .kf-atelier .why summary{color:var(--accent);cursor:pointer;font-weight:600}.kf-app .kf-atelier .tier-cards{flex-direction:column;gap:8px;display:flex}.kf-app .kf-atelier .tier-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.kf-app .kf-atelier .tier-card.open{border:2px solid var(--accent)}.kf-app .kf-atelier .tier-head{text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;min-height:56px;padding:8px 12px;display:flex}.kf-app .kf-atelier .tier-radio{border:2px solid var(--accent);border-radius:50%;flex:none;width:18px;height:18px}.kf-app .kf-atelier .tier-card.open .tier-radio{background:radial-gradient(circle, var(--accent) 45%, transparent 50%)}.kf-app .kf-atelier .tier-name{flex:1;font-weight:700}.kf-app .kf-atelier .tier-chip{background:var(--gold-tint);white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:.8rem;font-weight:600}.kf-app .kf-atelier .tier-chip.here{background:var(--sand)}.kf-app .kf-atelier .tier-body{padding:0 12px 14px}.kf-app .kf-atelier .tier-body>p:first-child{margin-top:0}.kf-app .kf-atelier .tier-body .segmented{margin:4px 8px 8px 0}.kf-app .kf-atelier .strip-choice{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.kf-app .kf-atelier .strip-choice h3{margin:0 0 6px}.kf-app .kf-atelier .strip-choice .hint.lead{margin:0 0 10px}.kf-app .kf-atelier .strip-choice .segmented{width:100%;margin-bottom:12px;display:flex}.kf-app .kf-atelier .strip-choice .segmented button{flex:1 1 0;padding:6px 10px;line-height:1.2}.kf-app .kf-atelier .finish-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.kf-app .kf-atelier .stamp{border:1px dashed var(--gold);border-radius:var(--radius);background:var(--gold-tint);letter-spacing:.04em;padding:3px 10px;font-size:.75rem;font-weight:600}.kf-app .kf-atelier .row{border-top:1px solid var(--line);padding:14px 0}.kf-app .kf-atelier .chip-size{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);flex-direction:column;justify-content:center;align-items:center;min-width:64px;min-height:52px;padding:4px 12px;display:inline-flex}.kf-app .kf-atelier .chip-size small{color:var(--muted);font-size:.72rem}.kf-app .kf-atelier .chip-size.on{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.kf-app .kf-atelier .fabric-grid-wrap .fold{text-align:left;margin:10px 0 0;display:block}.kf-app .kf-atelier .size-row{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}.kf-app .kf-atelier .size-row .chips{margin:0}.kf-app .kf-atelier .chip-own{border:1.5px solid var(--accent);background:color-mix(in srgb, var(--accent) 9%, var(--card));color:var(--accent)}.kf-app .kf-atelier .chip-own small{color:var(--accent)}.kf-app .kf-atelier .size-help{margin:0 0 14px}.kf-app .kf-atelier .size-help summary{color:var(--accent);cursor:pointer}.kf-app .kf-atelier .size-help table{border-collapse:collapse;margin:8px 0;font-size:.9rem}.kf-app .kf-atelier .size-help th,.kf-app .kf-atelier .size-help td{text-align:left;padding:4px 14px 4px 0}.kf-app .kf-atelier .size-help thead th{color:var(--muted);font-weight:600}.kf-app .kf-atelier .hint.lead{margin:0 0 10px}.kf-app .kf-atelier .pocket-face+.pocket-face{margin-top:14px}.kf-app .kf-atelier .pocket-face h4{font-family:var(--font-body);color:var(--ink);margin:0 0 6px;font-size:.9rem;font-weight:600}.kf-app .kf-atelier .pocket-face .chips{margin-bottom:8px}.kf-app .kf-atelier .pocket-face .segmented{flex-wrap:wrap;max-width:100%;display:flex}.kf-app .kf-atelier .pocket-face .segmented button{flex:auto;padding:6px 12px;line-height:1.2}.kf-app .kf-atelier .chip-extra{white-space:nowrap;opacity:.8;margin-left:.35em}.kf-app .kf-atelier .pocket-remnants{margin-top:10px}.kf-app .kf-atelier .pocket-remnants .banner{margin-top:0}.kf-app .kf-atelier .chip-pocket{gap:2px;min-width:88px;max-width:132px;padding:6px 10px}.kf-app .kf-atelier .chip-pocket strong{text-align:center;font-size:.82rem;font-weight:600;line-height:1.2}.kf-app .kf-atelier .pocket-picto{width:32px;height:32px}.kf-app .kf-atelier .zip-dots{flex-wrap:wrap;gap:8px;display:flex}.kf-app .kf-atelier .zip-dot{border:1px solid var(--line);background:var(--card);border-radius:999px;align-items:center;gap:8px;min-height:48px;padding:0 12px 0 6px;display:inline-flex}.kf-app .kf-atelier .zip-dot .dot{border-radius:50%;width:30px;height:30px;box-shadow:inset 0 0 0 1px #00000040}.kf-app .kf-atelier .zip-dot.on{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.kf-app .kf-atelier .zip-dot.out{opacity:.5;cursor:not-allowed}.kf-app .kf-atelier .jeans-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.kf-app .kf-atelier .swatch-grid.compact{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));margin-top:10px}.kf-app .kf-atelier .notes summary{color:var(--accent);cursor:pointer;font-weight:600}.kf-app .kf-atelier .notes textarea{border:1px solid var(--line);border-radius:var(--radius);width:100%;font:inherit;margin-top:8px;padding:8px}.kf-app .kf-atelier .summary{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);margin-top:8px;padding:14px}.kf-app .kf-atelier .summary ul{margin:0 0 12px;padding:0;list-style:none}.kf-app .kf-atelier .summary li{justify-content:space-between;gap:12px;padding:4px 0;display:flex}.kf-app .kf-atelier .reason{border-radius:var(--radius);background:var(--card);box-shadow:inset 4px 0 0 var(--cta);padding:10px 12px}.kf-app .kf-atelier .reason strong{color:var(--cta-deep);font-size:1.1rem}.kf-app .kf-atelier .reason p{margin:4px 0 0}.kf-app .kf-atelier .ok{color:var(--accent);font-weight:600}.kf-app .kf-atelier .save-account,.kf-app .kf-atelier .saved-measures{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin:12px 0;padding:10px 12px}.kf-app .kf-atelier .save-account .check{align-items:flex-start;min-height:0;font-weight:600}.kf-app .kf-atelier .save-account input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent);flex:none;margin:0}.kf-app .kf-atelier .save-account .hint,.kf-app .kf-atelier .saved-measures .hint{margin:4px 0 0}.kf-app .kf-atelier .saved-measures{border-left:4px solid var(--accent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.kf-app .kf-atelier .saved-measures .hint,.kf-app .kf-atelier .saved-measures .ok{margin:0}.kf-app .kf-atelier .legal{color:var(--muted);margin:10px 0 0;font-size:.78rem}.kf-app .kf-atelier .missing{border-top:1px solid var(--line);color:var(--danger);background:#fbeee6;margin:0;padding:10px 16px 10px 32px;font-size:.9rem}.kf-app .kf-atelier .actionbar{padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--card);align-items:center;gap:8px;display:flex}.kf-app .kf-atelier .price-block{border-radius:var(--radius);text-align:left;background:0 0;border:0;grid-template-columns:auto auto;align-items:center;column-gap:8px;min-height:48px;padding:2px 6px;display:grid}.kf-app .kf-atelier .price-block strong{color:var(--cta-deep);font-family:var(--font-head);font-size:1.3rem}.kf-app .kf-atelier .price-block .tier-name{color:var(--muted);grid-column:1;font-size:.78rem;font-weight:600}.kf-app .kf-atelier .price-block .ladder{grid-area:1/2;gap:2px;display:inline-flex}.kf-app .kf-atelier .ladder i{background:var(--line);border-radius:1px;width:8px;height:14px}.kf-app .kf-atelier .ladder i.on{background:var(--accent)}.kf-app .kf-atelier .price-block .info{color:var(--accent);grid-column:2;font-size:.9rem}.kf-app .kf-atelier .actionbar .back{display:none}.kf-app .kf-atelier .actionbar .primary,.kf-app .launcher .primary,.kf-app .added .primary{border-radius:var(--radius);background:var(--cta);color:#fff;border:0;flex:1;min-height:52px;padding:0 16px;font-size:1.15rem;font-weight:700;text-decoration:none}.kf-app .kf-atelier .actionbar .primary:hover,.kf-app .launcher .primary:hover{background:var(--cta-deep)}.kf-app .kf-atelier .actionbar .primary[aria-disabled=true]{opacity:.55;cursor:not-allowed}.kf-app .kf-atelier .secondary,.kf-app .launcher .secondary,.kf-app .added .secondary{border:1px solid var(--accent);border-radius:var(--radius);background:var(--card);min-height:48px;color:var(--accent);padding:0 16px;font-weight:600;text-decoration:none}.kf-app .kf-atelier .sheet-host{bottom:0;left:0;right:0;top:calc(var(--topbar-h) + 4px + var(--stage-h));z-index:2;background:var(--card);position:absolute;overflow-y:auto;box-shadow:0 -6px 24px #2848492e}.kf-app .kf-atelier .sheet{padding:16px 16px 32px}.kf-app .kf-atelier .sheet-head{justify-content:space-between;align-items:center;display:flex}.kf-app .kf-atelier .sheet-head .icon{background:0 0;border:0;width:44px;height:44px;font-size:1.2rem}.kf-app .kf-atelier .tier-list{margin:12px 0;padding:0;list-style:none}.kf-app .kf-atelier .tier-list li{border:1px solid var(--line);border-radius:var(--radius);gap:12px;margin-bottom:8px;padding:10px;display:flex}.kf-app .kf-atelier .tier-list li.yours{border:2px solid var(--accent)}.kf-app .kf-atelier .tier-list p{margin:4px 0 0}.kf-app .kf-atelier .tier-picto{flex:none;width:44px;height:48px}.kf-app .kf-atelier .tagline{color:var(--muted);font-family:var(--font-head);text-align:center;margin-top:16px;font-style:italic}.kf-app .kf-atelier .toast{left:12px;right:12px;bottom:calc(86px + env(safe-area-inset-bottom));z-index:3;border-radius:var(--radius);background:var(--ink);color:#fff;justify-content:space-between;align-items:center;gap:14px;padding:10px 14px;display:flex;position:absolute;box-shadow:0 4px 16px #00000040}.kf-app .kf-atelier .toast .link{color:var(--gold-tint)}.kf-app .kf-atelier .swatch-cell{min-width:0;display:flex;position:relative}.kf-app .kf-atelier .swatch-cell>.swatch-tile{flex:1;min-width:0}.kf-app .kf-atelier .swatch-cell.with-info>.swatch-tile .swatch-name{padding-right:28px;line-height:26px}.kf-app .kf-atelier .swatch-info{z-index:1;width:26px;height:26px;min-height:0;color:var(--accent);font-family:var(--font-head);background:#fffdf9eb;border:1px solid #28484940;border-radius:50%;place-items:center;margin:calc(100% - 2px) 0 0;padding:0;font-size:.95rem;font-style:italic;font-weight:700;line-height:1;display:grid;position:absolute;top:0;right:6px;box-shadow:0 1px 3px #00000040}.kf-app .kf-atelier .swatch-info:before{content:"";position:absolute;inset:-4px -7px -10px}.kf-app .kf-atelier .swatch-info:hover{background:var(--accent);color:#fff}.kf-app .kf-atelier .swatch-info.inline{width:28px;height:28px;margin:0;font-size:1rem;position:relative;top:auto;right:auto}.kf-app .kf-atelier .swatch-info.inline:before{inset:-6px}.kf-app .kf-atelier .datasheet-host{display:contents}.kf-app .kf-atelier .datasheet-backdrop{z-index:10;background:#28484973;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.kf-app .kf-atelier .datasheet{overscroll-behavior:contain;width:100%;max-height:calc(100% - 20px);padding-bottom:env(safe-area-inset-bottom);background:var(--card);border-radius:10px 10px 0 0;animation:.18s ease-out datasheet-up;overflow-y:auto;box-shadow:0 -6px 24px #28484940}@keyframes datasheet-up{0%{opacity:0;transform:translateY(24px)}}.kf-app .kf-atelier .datasheet-head{z-index:1;border-bottom:1px solid var(--line);background:var(--card);justify-content:space-between;align-items:flex-start;gap:8px;padding:10px 4px 8px 16px;display:flex;position:sticky;top:0}.kf-app .kf-atelier .datasheet-head h2{letter-spacing:0;text-transform:none;margin:0;font-size:1.2rem}.kf-app .kf-atelier .datasheet-kicker{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 2px;font-size:.72rem;font-weight:600}.kf-app .kf-atelier .datasheet-kicker .code{letter-spacing:.04em;font-size:1em}.kf-app .kf-atelier .datasheet-head .icon{background:0 0;border:0;flex:none;width:44px;height:44px;padding:0;font-size:1.2rem}.kf-app .kf-atelier .datasheet-body{grid-template-columns:minmax(0,1fr);gap:16px;padding:12px 16px 24px;display:grid}.kf-app .kf-atelier .datasheet-main{aspect-ratio:4/3;border-radius:var(--radius);background:var(--toile);cursor:zoom-in;border:0;width:100%;min-height:0;padding:0;display:block;position:relative;overflow:hidden}.kf-app .kf-atelier .datasheet-photo,.kf-app .kf-atelier .datasheet-picture{background-position:50%;background-size:cover;width:100%;height:100%;display:block}.kf-app .kf-atelier .datasheet-photo>svg,.kf-app .kf-atelier .datasheet-photo img,.kf-app .kf-atelier .datasheet-picture img{object-fit:contain;width:100%;height:100%;display:block}.kf-app .kf-atelier .datasheet-photo.cover img,.kf-app .kf-atelier .datasheet-thumb img{object-fit:cover}.kf-app .kf-atelier .datasheet-zoom-mark{color:#fff;background:#284849b8;border-radius:50%;place-items:center;width:34px;height:34px;font-size:1.05rem;display:grid;position:absolute;bottom:8px;right:8px}.kf-app .kf-atelier .datasheet-caption{color:var(--muted);margin:6px 0 0;font-size:.85rem}.kf-app .kf-atelier .datasheet-caption strong{color:var(--ink)}.kf-app .kf-atelier .datasheet-thumbs{scroll-snap-type:x proximity;gap:8px;margin:10px 0 0;padding:0 0 4px;list-style:none;display:flex;overflow-x:auto}.kf-app .kf-atelier .datasheet-thumbs li{scroll-snap-align:start;flex:none}.kf-app .kf-atelier .datasheet-thumbs button{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);text-align:left;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:4px;width:92px;min-height:0;padding:3px;font-size:.7rem;line-height:1.2;display:flex}.kf-app .kf-atelier .datasheet-thumbs button.on{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.kf-app .kf-atelier .datasheet-thumb{aspect-ratio:1;border-radius:var(--radius);background:var(--toile);display:block;overflow:hidden}.kf-app .kf-atelier .datasheet-tile{background-position:50%;background-size:cover;width:100%;height:100%;display:block}.kf-app .kf-atelier .datasheet-thumb-label{-webkit-line-clamp:2;-webkit-hyphens:auto;hyphens:auto;-webkit-box-orient:vertical;min-height:2.4em;display:-webkit-box;overflow:hidden}.kf-app .kf-atelier .datasheet-stock{border-radius:var(--radius);background:var(--sand);align-items:baseline;gap:8px;margin:0;padding:10px 12px;font-weight:600;display:flex}.kf-app .kf-atelier .datasheet-stock .dot{background:var(--muted);border-radius:50%;flex:none;width:10px;height:10px}.kf-app .kf-atelier .datasheet-stock.ok{background:#07718b1a}.kf-app .kf-atelier .datasheet-stock.ok .dot{background:var(--accent)}.kf-app .kf-atelier .datasheet-stock.last{background:var(--gold-tint)}.kf-app .kf-atelier .datasheet-stock.last .dot{background:var(--gold)}.kf-app .kf-atelier .datasheet-stock.partly .dot{background:var(--cta)}.kf-app .kf-atelier .datasheet-stock.no{background:#a7270d14}.kf-app .kf-atelier .datasheet-stock.no .dot{background:var(--danger)}.kf-app .kf-atelier .datasheet-pick{margin-top:12px}.kf-app .kf-atelier .datasheet-pick .primary{background:var(--cta);color:#fff;border:0;width:100%;min-height:50px;font-size:1.05rem;font-weight:700}.kf-app .kf-atelier .datasheet-pick .primary:hover{background:var(--cta-deep)}.kf-app .kf-atelier .datasheet-pick .primary[aria-disabled=true]{opacity:.5;cursor:not-allowed}.kf-app .kf-atelier .datasheet-chosen{color:var(--accent);margin:0;font-weight:700}.kf-app .kf-atelier .datasheet-section{margin-top:20px}.kf-app .kf-atelier .datasheet-section h3{margin:0 0 6px;font-size:.85rem}.kf-app .kf-atelier .datasheet-section p{margin:0 0 6px}.kf-app .kf-atelier .datasheet-description{white-space:pre-line}.kf-app .kf-atelier .datasheet-facts{grid-template-columns:auto minmax(0,1fr);gap:4px 16px;margin:0;display:grid}.kf-app .kf-atelier .datasheet-facts div{display:contents}.kf-app .kf-atelier .datasheet-facts dt{color:var(--muted)}.kf-app .kf-atelier .datasheet-facts dd{overflow-wrap:anywhere;margin:0}.kf-app .kf-atelier .datasheet-viewer{z-index:2;color:#fff;background:#141a1a;grid-template-rows:auto minmax(0,1fr);display:grid;position:absolute;inset:0}.kf-app .kf-atelier .datasheet:focus,.kf-app .kf-atelier .datasheet-viewer:focus{outline:none}.kf-app .kf-atelier .viewer-bar{align-items:center;gap:4px;padding:4px 4px 4px 16px;display:flex}.kf-app .kf-atelier .viewer-bar p{flex:1;min-width:0;margin:0;font-size:.9rem}.kf-app .kf-atelier .viewer-count{color:#ffffffb3;white-space:nowrap}.kf-app .kf-atelier .viewer-bar .icon{color:#fff;background:0 0;border:0;flex:none;width:44px;height:44px;padding:0;font-size:1.4rem}.kf-app .kf-atelier .viewer-bar .icon[aria-pressed=true]{background:#ffffff29}.kf-app .kf-atelier .viewer-stage{overscroll-behavior:contain;cursor:zoom-in;touch-action:pan-y pinch-zoom;position:relative;overflow:auto}.kf-app .kf-atelier .viewer-stage.zoomed{cursor:grab;touch-action:pan-x pan-y pinch-zoom}.kf-app .kf-atelier .viewer-picture{width:calc(100% * var(--zoom,1));height:calc(100% * var(--zoom,1))}.kf-app .kf-atelier .viewer-turn{color:#fff;background:#00000073;border:0;width:44px;height:64px;min-height:0;margin-top:-8px;padding:0;font-size:2rem;position:absolute;top:50%}.kf-app .kf-atelier .viewer-turn.prev{left:0}.kf-app .kf-atelier .viewer-turn.next{right:0}.kf-app .kf-atelier .detail-row{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.kf-app .kf-atelier .detail-button{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);min-height:44px;color:var(--ink);align-items:center;gap:6px;padding:4px 10px 4px 4px;font-size:.85rem;display:inline-flex}.kf-app .kf-atelier .detail-button img{object-fit:cover;border-radius:3px;width:40px;height:40px}.kf-app .kf-atelier .detail-viewer{z-index:10}.kf-app .kf-atelier .detail-viewer .viewer-stage{cursor:default}.kf-app .kf-atelier .detail-viewer .viewer-picture img{object-fit:contain;width:100%;height:100%;display:block}@container atelier (width>=720px){.kf-app .kf-atelier .datasheet-backdrop{align-items:center;padding:24px}.kf-app .kf-atelier .datasheet{border-radius:6px;width:min(940px,100%);max-height:100%;box-shadow:0 12px 40px #2848494d}.kf-app .kf-atelier .datasheet-body{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:24px;padding:20px 24px 28px}.kf-app .kf-atelier .datasheet-main{aspect-ratio:1}.kf-app .kf-atelier .viewer-turn{width:56px;height:80px}}@media (height<=500px) and (orientation:landscape){.kf-app .kf-atelier .datasheet-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}@media (prefers-reduced-motion:reduce){.kf-app .kf-atelier .datasheet{animation:none}}@container atelier (width>=720px) and (width<=859px){.kf-app .kf-atelier .progress .num{display:none}}@container atelier (width>=720px){.kf-app .kf-atelier{--topbar-h:64px}.kf-app .kf-atelier .progress{margin:0 auto;display:flex}.kf-app .kf-atelier .progress-short{display:none}.kf-app .kf-atelier .atelier-body{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0, 1fr) var(--panel-w)}.kf-app .kf-atelier .panel-area{border-top:0;border-left:1px solid var(--line)}.kf-app .kf-atelier .panel{padding:24px 24px 32px}.kf-app .kf-atelier .stage-views{flex-direction:column;gap:12px;padding:12px 24px 24px}.kf-app .kf-atelier .stage-view.big,.kf-app .kf-atelier .stage-pip{flex:1 1 0;width:100%;min-height:0}.kf-app .kf-atelier .stage-pip{max-width:none;box-shadow:none;cursor:default;background:0 0;border:0;padding:0;position:static}.kf-app .kf-atelier .stage-pip .stage-view{justify-content:center;height:100%}.kf-app .kf-atelier .stage-pip .stage-canvas{max-height:calc(100% - 1.4em)}.kf-app .kf-atelier .actionbar .back{align-items:center;display:inline-flex}.kf-app .kf-atelier .grain-turn .grain-turn-label{clip-path:none;width:auto;height:auto;position:static;overflow:visible}.kf-app .kf-atelier .sheet-host{top:calc(var(--topbar-h) + 4px);width:var(--panel-w);left:auto;box-shadow:-6px 0 24px #2848492e}.kf-app .kf-atelier .toast{max-width:calc(var(--panel-w) - 48px);left:auto;right:24px}}@media (height<=500px) and (orientation:landscape){.kf-app .kf-atelier{--topbar-h:48px;--panel-w:min(56vw, 440px)}.kf-app .kf-atelier .atelier-body{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0, 1fr) var(--panel-w)}.kf-app .kf-atelier .panel-area{border-top:0;border-left:1px solid var(--line)}.kf-app .kf-atelier .sheet-host{top:calc(var(--topbar-h) + 4px);width:var(--panel-w);left:auto}}@media (prefers-reduced-motion:reduce){.kf-app .kf-atelier .zone-pulse,.kf-app .kf-atelier .zone-flash{animation:none}.kf-app .kf-atelier .woven:before{transition:none}}#kofaya-fitting.kf-app{clear:both;width:100%;padding-top:24px;display:block}.kf-app .launcher{font-family:var(--font-body);color:var(--ink);flex-direction:column;gap:20px;display:flex}.kf-app .launcher h1,.kf-app .launcher h2{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.kf-app .launcher h2{margin:0 0 4px;font-size:1.2rem}.kf-app .launcher-head .primary{flex:none;min-width:240px}.kf-app .draft-card{border:2px solid var(--accent);border-radius:var(--radius);background:var(--card);flex-wrap:wrap;align-items:center;gap:16px;padding:12px;display:flex}.kf-app .draft-card .thumb{width:200px}.kf-app .draft-card>div{flex-direction:column;gap:4px;display:flex}.kf-app .draft-card .actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:6px;display:flex}.kf-app .thumb{width:100%;display:block}.kf-app .thumb svg{width:100%;height:100%;display:block}.kf-app .gallery-strip{scroll-snap-type:x mandatory;gap:12px;margin:12px 0 0;padding:0 0 8px;list-style:none;display:flex;overflow-x:auto}.kf-app .gallery-card{border:2px solid var(--accent);border-radius:var(--radius);scroll-snap-align:start;background:#fff;flex-direction:column;flex:none;gap:6px;width:200px;padding:10px;display:flex}.kf-app .gallery-card .ok{color:var(--accent);font-size:.85rem}.kf-app .kf-atelier .showcase-consent{align-items:flex-start;gap:8px;margin:12px 0;display:flex}.kf-app .kf-atelier .showcase-consent small{display:block}.kf-app .showcase{margin:20px 0 0}.kf-app .showcase-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.kf-app .showcase-strip{scroll-snap-type:x mandatory;gap:12px;margin:12px 0 0;padding:0 0 8px;list-style:none;display:flex;overflow-x:auto}.kf-app .showcase-strip>li{scroll-snap-align:start;flex:none;width:min(280px,80vw)}.kf-app .before-after{margin:0}.kf-app .before-after-pictures{aspect-ratio:3/4;border-radius:var(--radius);background:#fff;position:relative;overflow:hidden}.kf-app .before-after-pictures img{object-fit:contain;background:#fff;width:100%;height:100%;position:absolute;inset:0}.kf-app .before-after-pictures img.after{object-fit:cover;clip-path:inset(0 calc(100% - var(--after,50%)) 0 0)}.kf-app .before-after input[type=range]{width:100%;accent-color:var(--accent);margin:8px 0 0}.kf-app .before-after figcaption{color:var(--muted);justify-content:space-between;font-size:.85rem;display:flex}.kf-app .launcher .link{min-height:0;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.kf-app .launcher .confirm{border:1px solid var(--line);border-radius:var(--radius);background:var(--gold-tint);padding:14px}.kf-app .launcher .confirm .actions{gap:8px;display:flex}.kf-app .added-backdrop{z-index:2147483000;font-family:var(--font-body);color:var(--ink);background:#28484973;place-items:end center;display:grid;position:fixed;inset:0}.kf-app .added{border-radius:var(--radius) var(--radius) 0 0;background:var(--card);width:100%;max-width:480px;max-height:85dvh;padding:16px 18px 24px;overflow-y:auto}@media (width>=720px){.kf-app .added-backdrop{align-items:center}.kf-app .added{border-radius:var(--radius)}}.kf-app .added-head{background:var(--accent);color:#fff;justify-content:space-between;align-items:center;margin:-16px -18px 12px;padding:8px 10px 8px 18px;display:flex}.kf-app .added-head .icon{color:#fff;background:0 0;border:0;width:44px;height:44px;font-size:1.2rem}.kf-app .added h2{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.05em;font-size:1.2rem}.kf-app .added-thumbs{grid-template-columns:1fr 1fr;gap:8px;display:grid}.kf-app .added .actions.stacked{flex-direction:column;gap:8px;margin:12px 0;display:flex}.kf-app .added .actions.stacked .button{justify-content:center;align-items:center;display:flex}.kf-app .cross-sells ul{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.kf-app .cross-sells a{color:var(--ink);flex-direction:column;gap:4px;font-size:.82rem;text-decoration:none;display:flex}.kf-app .cross-sells img{aspect-ratio:1;object-fit:cover;border-radius:var(--radius);width:100%}.kf-app .cross-sells .price{color:var(--cta-deep);font-weight:600}.kf-app .kf-atelier .kf-tour-backdrop{z-index:40;background:#28484973;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.kf-app .kf-atelier .kf-tour{background:var(--card);text-align:center;border-radius:6px;width:min(420px,100%);padding:20px 22px 18px;box-shadow:0 18px 50px #2848494d}.kf-app .kf-atelier .kf-tour h2{margin:12px 0 6px;font-size:1.3rem}.kf-app .kf-atelier .kf-tour p{max-width:32ch;color:var(--muted);margin:0 auto;line-height:1.45}.kf-app .kf-atelier .kf-tour-picture{background:var(--paper);border-radius:4px}.kf-app .kf-atelier .kf-tour-picture svg{width:100%;height:auto;display:block}.kf-app .kf-atelier .kf-tour-dots{justify-content:center;gap:6px;margin:14px 0 12px;display:flex}.kf-app .kf-atelier .kf-tour-dots span{background:var(--line);border-radius:50%;width:8px;height:8px}.kf-app .kf-atelier .kf-tour-dots span.on{background:var(--gold)}.kf-app .kf-atelier .kf-tour-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.kf-app .kf-atelier .kf-tour-actions .primary{min-width:9rem;margin-left:auto}.kf-app .kf-atelier .topbar .help{font-weight:700}.kf-app .kf-atelier .kf-tour-tap .swatch,.kf-app .kf-atelier .kf-tour-tap .hand{animation:3.2s ease-in-out infinite kf-tour-fly}.kf-app .kf-atelier .kf-tour-tap .fill{animation:3.2s ease-in-out infinite kf-tour-fill}@keyframes kf-tour-fly{0%,12%{opacity:1;transform:translate(0)}48%{opacity:1;transform:translate(-118px,10px)}58%,to{opacity:0;transform:translate(-118px,10px)}}@keyframes kf-tour-fill{0%,48%{opacity:0}60%,88%{opacity:1}to{opacity:0}}.kf-app .kf-atelier .kf-tour-move .slide{animation:4s ease-in-out infinite alternate kf-tour-slide}.kf-app .kf-atelier .kf-tour-move .button,.kf-app .kf-atelier .kf-tour-lock .free{transform-box:fill-box;transform-origin:50%;animation:1.6s ease-in-out infinite kf-tour-pulse}@keyframes kf-tour-slide{0%{transform:translate(-30px,-14px)}to{transform:translate(18px,10px)}}@keyframes kf-tour-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.kf-app .kf-atelier .kf-tour-gaps .part{animation:none}.kf-app .kf-atelier .kf-tour-gaps .p1{animation-name:kf-tour-p1}.kf-app .kf-atelier .kf-tour-gaps .p2{animation-name:kf-tour-p2}.kf-app .kf-atelier .kf-tour-gaps .p3{animation-name:kf-tour-p3}.kf-app .kf-atelier .kf-tour-gaps .p4{animation-name:kf-tour-p4}.kf-app .kf-atelier .kf-tour-gaps .p5{animation-name:kf-tour-p5}@keyframes kf-tour-p1{0%,15%{transform:translate(14px,22px)}55%,to{transform:translate(0)}}@keyframes kf-tour-p2{0%,15%{transform:translate(40px,10px)}55%,to{transform:translate(-4px)}}@keyframes kf-tour-p3{0%,15%{transform:translate(6px,30px)}55%,to{transform:translateY(-4px)}}@keyframes kf-tour-p4{0%,15%{transform:translate(30px,26px)}55%,to{transform:translate(-4px,-4px)}}@keyframes kf-tour-p5{0%,15%{transform:translate(22px,30px)}55%,to{transform:translate(-8px,-4px)}}.kf-app .kf-atelier .kf-tour-lock .lock{transform-box:fill-box;transform-origin:50% 100%;animation:2.4s ease-in-out infinite kf-tour-shake}@keyframes kf-tour-shake{0%,70%,to{transform:rotate(0)}76%{transform:rotate(-8deg)}82%{transform:rotate(8deg)}88%{transform:rotate(-4deg)}}.kf-app .kf-atelier .kf-tour-measure .tape{stroke-dasharray:60;animation:2.8s ease-in-out infinite kf-tour-tape}.kf-app .kf-atelier .kf-tour-measure .aim{transform-box:fill-box;transform-origin:50%;animation:1.4s ease-in-out infinite kf-tour-pulse}@keyframes kf-tour-tape{0%,10%{stroke-dashoffset:60px}60%,to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.kf-app .kf-atelier .kf-tour-picture *{animation:none!important}.kf-app .kf-atelier .kf-tour-tap .fill{opacity:1}.kf-app .kf-atelier .kf-tour-tap .swatch,.kf-app .kf-atelier .kf-tour-tap .hand{opacity:0}}
/*$vite$:1*/