.klat-go:focus-visible { outline: 2px solid var(--beam-bright, #4D82F3); outline-offset: 2px; }
:root { --klat-debord: 175px; --klat-debord-negatif: -175px; }
.klat-go:disabled { opacity: .5; cursor: not-allowed; }
.klat-go-bar { display: none; }
@media (min-width: 900px) {
    .klat-go-bar {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        max-width: 300px;
    }
}
@media (min-width: 900px) {
    body.klr-on .klat-go-bar { display: none; }
}
body.tool-engaged .klx-cta,
body.tool-engaged .klx-mobile-cta {
    background: transparent;
    color: var(--primary-ink);
    border: 1px solid var(--primary-ink);
    box-shadow: none;
}
body.tool-engaged .klx-cta:hover,
body.tool-engaged .klx-mobile-cta:hover { background: rgba(37, 99, 235, .06); }
body.atelier-on .klat-bar {
    top: 0;
    z-index: 100;
    height: 66px;
    min-height: 0;
    gap: 12px;
    padding: 0 28px;
    margin: 0 0 12px;
    background: rgba(7, 11, 20, .97);
    border: 0;
    border-bottom: 1px solid var(--line-d, rgba(77,130,243,.14));
    border-radius: 0;
    box-shadow: none;
}
body.atelier-on .feature-hero.tool-hero,
body.atelier-on .result-section,
body.atelier-on .job-section { padding-top: 0; }
@media (max-width: 960px) {
    body.atelier-on .klat-bar { height: 56px; padding: 0 16px; gap: 8px; }
}
@media (min-width: 900px) {
    body.tool-engaged .rf-formats-col,
    body.tool-engaged .tool-options-panel.atelier-split > .tool-preview,
    body.tool-engaged .feature-hero.tool-hero[data-tool-type="rotate"] .options-choices > .wysiwyg-stage { top: 68px; }
}
.klat-exit {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    flex: 0 0 auto;
    min-height: 44px;
    padding: 0 8px;
    margin-left: -8px;
    border-radius: 12px;
    color: var(--muted-d, #94A3BE);
    text-decoration: none;
}
.klat-exit:hover { background: rgba(77, 130, 243, .1); color: #fff; }
.klat-exit:focus-visible { outline: 2px solid var(--beam-bright, #4D82F3); outline-offset: 2px; }
.klat-exit svg { width: 18px; height: 18px; flex: 0 0 auto; }
.klat-exit img { height: 24px; width: auto; }
@media (min-width: 961px) { .klat-exit img { height: 34px; } }
@media (max-width: 640px) {
    .klat-bar-file { display: none; }
    .klat-bar-tool { font-size: 14px; font-weight: 700; color: #fff; }
}
body.atelier-fit .klat-exit svg { display: none; }
.klat-bar-tool {
    font-family: var(--mono, ui-monospace, "SF Mono", Menlo, monospace);
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--kick-d, #8FB0F9);
}
.klat-bar-file { color: #fff; }
body.atelier-on .klat-shell { align-self: stretch; width: 100%; }
body.klr-on .klat-back { display: none; }
body.atelier-go .options-start-btn,
body.atelier-go .cvf-cta { display: none; }
body.atelier-go .sbr-dl,
body.atelier-go .klc-board-dl { display: none; }
body.atelier-go.atelier-active .feature-hero.tool-hero .klc-board-acts .klc-board-dl { display: none; }
body.atelier-fit .klat-bar { position: relative; }
.klat-rail {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 3px;
    overflow: hidden;
    background: rgba(77, 130, 243, .15);
}
.klat-rail-fill {
    display: block;
    width: 100%;
    height: 100%;
    background: var(--beam-bright, #4D82F3);
    box-shadow: 0 0 10px rgba(77,130,243,.8);
    transform-origin: left center;
    transform: scaleX(.08);
    transition: transform .3s ease;
    will-change: transform;
}
@media (prefers-reduced-motion: reduce) { .klat-rail-fill { transition: none; } }
.klat-bar-meta { text-align: left; }
.klat-bar-tool { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 899px) {
    .klat-dock { padding: 10px 14px calc(16px + env(safe-area-inset-bottom, 0px)); }
    .klat-dock .klat-go { min-height: 52px; }
}
body.atelier-on .result-section > .container > .back-link,
body.atelier-on .result-section > .container > h1,
body.atelier-on .job-section > .container > .back-link,
body.atelier-on .job-section > .container > h1 { display: none; }
body:has(.result-section) .klat-dock,
body:has(.job-section) .klat-dock { bottom: 0; }
body.atelier-on:not(.atelier-result) .klplus { display: none; }
@media (max-width: 899px) {
    body.atelier-result.atelier-go .klplus {
        bottom: calc(var(--klat-dock-h, 72px) + env(safe-area-inset-bottom, 0px) + 16px);
    }
    body.atelier-result.atelier-go .klplus-menu {
        bottom: calc(var(--klat-dock-h, 72px) + env(safe-area-inset-bottom, 0px) + 82px);
    }
}
.klat-quota-item { flex: 0 0 auto; }
.klat-quota { flex: 0 0 auto; text-decoration: none; }
.klat-quota svg { width: 17px; height: 17px; flex: 0 0 auto; }
.klat-quota.is-ok    { color: var(--beam-bright, #4D82F3); border-color: var(--beam-bright, #4D82F3); }
.klat-quota.is-bas   { color: #FBBF24; border-color: #FBBF24; }
.klat-quota.is-vide  { color: #F87171; border-color: #F87171; }
.klat-quota.is-ok span, .klat-quota.is-bas span, .klat-quota.is-vide span { color: inherit; }
.klat-signin {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    min-height: 44px;
    padding: 0 12px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    color: var(--beam-bright, #4D82F3);
    text-decoration: none;
    white-space: nowrap;
}
.klat-signin:hover { background: rgba(77, 130, 243, .1); }
.klat-signin:focus-visible { outline: 2px solid var(--beam-bright, #4D82F3); outline-offset: 2px; }
@media (max-width: 960px) {
    .klat-signin { display: none; }
    .klat-quota { min-height: 44px; max-width: 150px; padding: 0 8px; font-size: 12px; }
}
.klat-compte { display: contents; }
.klat-user { flex: 0 0 auto; }
.klat-bar .logo-light { display: none; }
.klat-bar .logo-dark { display: inline-block; }
.klat-bar .klx-item { position: relative; }
.klat-bar .klx-credits-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 36px;
    max-width: 220px;
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 999px;
    background: rgba(255, 255, 255, .06);
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    color: rgba(255, 255, 255, .82);
    white-space: nowrap;
    cursor: pointer;
}
.klat-bar .klx-credits-btn:hover { background: rgba(255, 255, 255, .12); }
.klat-bar .klx-credits-btn:focus-visible { outline: 2px solid #4D82F3; outline-offset: 2px; }
.klat-bar .klx-credits-btn > span { overflow: hidden; text-overflow: ellipsis; }
.klat-bar .klat-quota.is-ok   { color: var(--beam-bright, #4D82F3); border-color: var(--beam-bright, #4D82F3); }
.klat-bar .klat-quota.is-bas  { color: #FBBF24; border-color: #FBBF24; }
.klat-bar .klat-quota.is-vide { color: #F87171; border-color: #F87171; }
@media (max-width: 640px) {
    .klat-bar-tool {
        font-family: inherit;
        letter-spacing: 0;
        text-transform: none;
        color: #fff;
        white-space: normal;
        line-height: 1.2;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        text-overflow: clip;
    }
}
@media (min-width: 900px) {
    body:has(.sbs-studio .sbs-burn-btn) .klat-go-bar { display: none; }
}
@media (max-width: 899px) {
    html:not(.klat-contained) body.atelier-go .sbs-studio .sbs-controls {
        margin-bottom: calc(var(--klat-dock-h, 72px) + env(safe-area-inset-bottom, 0px) + 16px);
    }
}
body.atelier-on {
    --bar-paper: #ffffff;
    --bar-ink: #111417;
    --bar-muted: #5b6470;
    --bar-line: #e1e4e9;
    --bar-blue: #1f55e6;
    --bar-soft: #e9efff;
}
body.atelier-on .klat-bar.klat-v2 {
    background: var(--bar-paper);
    color: var(--bar-ink);
    border-bottom: 1px solid var(--bar-line);
    box-shadow: 0 4px 20px rgba(17,20,23,.035);
    gap: 16px;
    font-family: var(--f-sans, sans-serif);
}
.klat-v2 .klat-exit { border-radius: 10px; transition: background .18s ease; }
.klat-v2 .klat-exit:hover { background: var(--bar-soft); }
.klat-v2 .klat-exit .logo-light { display: block; }
.klat-v2 .klat-exit .logo-dark { display: none; }
.klat-v2 .klat-mark { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; margin-left: 8px; color: var(--bar-blue); background: var(--bar-soft); border-radius: 12px; position: relative; }
.klat-v2 .klat-mark::before { content: ''; position: absolute; left: -17px; height: 26px; width: 1px; background: var(--bar-line); }
.klat-v2 .klat-mark svg { width: 23px; height: 23px; }
.klat-v2 .klat-bar-meta { display: flex; flex-direction: column; justify-content: center; gap: 3px; }
.klat-v2 .klat-bar-tool { font-family: var(--f-sans, sans-serif); font-size: 15px; font-weight: 600; letter-spacing: -.015em; text-transform: none; color: var(--bar-ink); line-height: 1.2; margin: 0; }
.klat-v2 .klat-bar-file { font-family: var(--f-sans, sans-serif); font-size: 13px; font-weight: 400; color: var(--bar-muted); line-height: 1.2; margin: 0; }
.klat-v2 .klat-bar-meta:not(:has(.klat-bar-tool:not([style*="display: none"]))) .klat-bar-file { font-family: var(--f-sans, sans-serif); font-size: 15px; font-weight: 600; color: var(--bar-ink); }
.klat-v2 .klat-quota.klx-credits-btn { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; padding: 0 12px; border-radius: 12px; background: #f5f6f8; border: 1px solid var(--bar-line); font-family: inherit; font-size: 13px; font-weight: 600; box-shadow: none; transition: background .18s ease, border-color .18s ease; }
.klat-v2 .klat-quota.klx-credits-btn:hover, .klat-v2 .klat-quota[aria-expanded="true"] { background: var(--bar-soft); border-color: var(--bar-blue); }
.klat-v2 .klat-quota.is-ok { color: var(--bar-blue); }
.klat-v2 .klat-quota.is-bas { color: #8a5a00; }
.klat-v2 .klat-quota.is-vide { color: #c8261b; }
.klat-v2 .klat-quota[data-anonymous="true"] { color: var(--bar-muted); border-color: var(--bar-line); }
.klat-v2 .klat-quota.klx-credits-btn { border: 0; border-radius: var(--r-pill, 999px); background: var(--c-surface-2, #eef0f3); color: var(--c-ink, #111417); font-family: var(--f-sans, "Instrument Sans", sans-serif); font-size: var(--fs-1, .875rem); font-weight: var(--fw-ui, 500); gap: var(--s-1, 4px); padding: 0 var(--s-3, 12px); }
.klat-v2 .klat-quota.klx-credits-btn:hover, .klat-v2 .klat-quota.klx-credits-btn[aria-expanded="true"] { background: var(--c-surface-2, #eef0f3); box-shadow: inset 0 0 0 2px var(--c-line-strong, #8a919c); }
.klat-v2 .klat-quota .klat-chevron { display: none; }
.klat-v2 .klat-quota.is-ok { color: var(--c-ink, #111417); }
.klat-v2 .klat-quota.is-bas { background: var(--c-warn-soft, #fff4d6); color: var(--c-warn, #8a5a00); }
.klat-v2 .klat-quota.is-vide { background: var(--c-danger-soft, #fdecea); color: var(--c-danger, #c8261b); }
.klat-v2 .klat-quota.is-abo, .klat-v2 .klat-quota.is-abo:hover { background: var(--c-premium-soft, #f1eaff); color: var(--c-premium, #6d28d9); }
.klat-v2 .klat-quota span { color: inherit; }
.klat-v2 .klat-quota > svg { width: 18px; height: 18px; flex: 0 0 18px; }
.klat-v2 .klat-quota .klat-chevron { width: 14px; height: 14px; flex-basis: 14px; transition: transform .18s ease; }
.klat-v2 .klat-quota[aria-expanded="true"] .klat-chevron { transform: rotate(180deg); }
.klat-v2 .klat-signin { color: var(--bar-ink); font-family: inherit; font-size: 13px; font-weight: 600; padding: 0 10px; border-radius: 10px; transition: background .18s ease; }
.klat-v2 .klat-signin:hover { color: var(--bar-blue); background: var(--bar-soft); text-decoration: none; }
.klat-v2 .klat-go-bar { min-height: 44px; border-radius: 12px; padding: 0 18px; border: 1px solid transparent; background: var(--bar-blue); color: #fff; box-shadow: 0 3px 8px rgba(31,85,230,.16); font-family: inherit; font-size: 13px; font-weight: 600; transition: background .18s ease, box-shadow .18s ease; }
.klat-v2 .klat-go-bar:not(:disabled):hover { background: #1746c4; box-shadow: 0 4px 12px rgba(31,85,230,.24); }
.klat-v2 .klat-go-bar:disabled { background: #eef0f3; color: #8a919c; box-shadow: none; opacity: 1; }
.klat-v2 .klat-back { width: 44px; height: 44px; border: 1px solid var(--bar-line); border-radius: 12px; background: #f5f6f8; color: var(--bar-ink); }
.klat-v2 .klat-back:hover { background: var(--bar-soft); color: var(--bar-blue); }
.klat-v2 :is(a,button):focus-visible { outline: 2px solid var(--bar-blue); outline-offset: 3px; }
.klat-v2 .klat-rail { height: 2px; background: var(--bar-soft); }
.klat-v2 .klat-rail-fill { background: var(--bar-blue); box-shadow: none; }
@media(max-width:960px) { body.atelier-on .klat-bar.klat-v2 { gap: 10px; } .klat-v2 .klat-mark { display: none; } }
@media(max-width:640px) {
    body.atelier-on .klat-bar.klat-v2 { padding: 0 12px; gap: 9px; }
    .klat-v2 .klat-exit img { width: 76px; height: auto; }
    .klat-v2 .klat-bar-tool { font-size: 13px; color: var(--bar-ink); line-height: 1.2; }
    .klat-v2 .klat-bar-file { display: none; }
    .klat-v2 .klat-bar-meta:not(:has(.klat-bar-tool:not([style*="display: none"]))) .klat-bar-file { display: block; font-size: 13px; white-space: normal; }
    .klat-v2 .klat-quota.klx-credits-btn { padding: 0 8px; gap: 5px; font-size: 13px; max-width: 130px; }
    .klat-v2 .klat-quota .klat-chevron { display: none; }
    .klat-v2 .klat-quota[data-anonymous="true"] > svg:not(.klat-chevron) { display: none; }
    .klat-v2 .klat-back { flex: 0 0 36px; width: 36px; }
}
@media(prefers-reduced-motion:reduce) { .klat-v2 *, .klat-v2 *::before { animation: none !important; transition: none !important; } }
body.atelier-on .klat-bar.klat-v2,
.klat-v2 .klat-bar-file { font-family: var(--f-sans, "Instrument Sans", sans-serif); }
.klat-v2 .klat-quota[data-anonymous="true"] > svg:not(.klat-guest-icon):not(.klat-chevron) { display: none; }
@keyframes klat-menu-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
body.atelier-on .klat-v2 .klat-bar-tool { display: block; }
@media(max-width:640px) {
    body.atelier-on .klat-v2 .klat-bar-tool { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
}
@media(max-width:360px) { .klat-v2 .klat-exit img { width: 60px; } }
body.atelier-on .klat-shell { min-height: 78px; }
body.atelier-on .klat-bar.klat-v2 {
    position: fixed;
    top: var(--klat-vue-haut, 0px);
    left: 0;
    right: 0;
    width: 100%;
    margin: 0;
    transform: translateY(0);
    transition: transform 240ms cubic-bezier(.22,1,.36,1), visibility 0s;
}
body.atelier-on .klat-bar.klat-v2.is-scroll-hidden:not(:focus-within) {
    transform: translateY(calc(-100% - 8px));
    visibility: hidden;
    transition: transform 200ms cubic-bezier(.4,0,1,1), visibility 0s 200ms;
}
@media(max-width:960px) { body.atelier-on .klat-shell { min-height: 68px; } }
@media(prefers-reduced-motion:reduce) {
    body.atelier-on .klat-bar.klat-v2,
    body.atelier-on .klat-bar.klat-v2.is-scroll-hidden:not(:focus-within) { transition: none; }
}
.klat-v2 .klat-signin { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; min-height: 44px; white-space: nowrap; }
@media(max-width:640px) { .klat-v2 .klat-signin { font-size: 13px; padding: 0 6px; } }
html[data-kl-viewport="iphone13-crios152-measured"] body {
    padding-top: var(--klat-document-haut, 0px);
}
html[data-kl-viewport="iphone13-crios152-measured"] .k-header {
    top: var(--klat-vue-haut, 0px);
}
@media (max-width: 899px) {
    html.klat-contained {
        height: calc(100svh + var(--klat-decalage-doc, 0px) + 1px);
        overscroll-behavior-y: none;
    }
    html.klat-contained body.atelier-on {
        box-sizing: content-box;
        height: 100svh;
        min-height: 0;
        margin: 0;
        padding: var(--klat-decalage-doc, 0px) 0 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        overscroll-behavior-y: none;
    }
    html.klat-contained body.atelier-on .klat-bar.klat-v2 {
        top: var(--klat-decalage-doc, 0px);
    }
    html.klat-contained body.atelier-on > main {
        display: block;
        flex: 1;
        min-height: 0;
        padding-bottom: 16px;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior-y: contain;
        -webkit-overflow-scrolling: touch;
    }
    html.klat-contained body.atelier-on > footer { display: none; }
    html.klat-contained.kl-feuille body.atelier-on > .klat-dock { display: none; }
    html.klat-contained body.atelier-on > .klat-dock {
        position: static;
        flex: none;
        box-sizing: content-box;
        padding-bottom: calc(16px + var(--klat-debord) + env(safe-area-inset-bottom, 0px));
        margin-bottom: var(--klat-debord-negatif);
    }
    html.klat-contained body.atelier-on.klr-on > .klat-dock {
        background-image: linear-gradient(to bottom,
                          transparent calc(100% - var(--klat-debord)),
                          var(--c-bg-2, #f5f6f8) calc(100% - var(--klat-debord)));
    }
    html.klat-contained body.rf-full > main,
    html.klat-contained.k-lock body.atelier-on > main { overflow: hidden; }
    html.klat-contained .modal-overlay { overscroll-behavior-y: contain; }
    html.klat-contained .modal-overlay { overscroll-behavior-y: contain; }
}
@media (max-width: 899px) {
    html.klat-contained body.atelier-on .k-cookie {
        bottom: var(--klat-dock-bas, 0px);
        max-height: calc(var(--klat-vue-h, 100svh) - 16px);
        overflow-y: auto;
        overscroll-behavior-y: contain;
    }
    html.klat-contained body.atelier-on.atelier-go .k-cookie {
        bottom: calc(var(--klat-dock-bas, 0px) + var(--klat-dock-h, 80px));
        max-height: calc(var(--klat-vue-h, 100svh) - var(--klat-dock-h, 80px) - 16px);
    }
}
.kp { position: relative; }
.kp::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    background: var(--bg-input, #e9edf3);
    animation: klat-attente 1.4s ease-in-out 7;
    pointer-events: none;
}
.kp > * { position: relative; z-index: 1; }
@keyframes klat-attente { 0%, 100% { opacity: 1 } 50% { opacity: .55 } }
@media (prefers-reduced-motion: reduce) {
    .kp::before { animation: none; opacity: .7; }
}
.klc-fmt-pick { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.klc-fmt-opt {
    min-height: 44px; min-width: 64px; padding: 0 14px;
    border-radius: 10px; border: 1px solid var(--c-line, rgba(15, 18, 22, .16));
    background: transparent; color: var(--c-ink-2, inherit);
    font-family: inherit; font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums;
    cursor: pointer;
}
.klc-fmt-opt[aria-pressed="true"] {
    border-color: var(--c-ink, currentColor); color: var(--c-ink, inherit);
    box-shadow: inset 0 0 0 1px var(--c-ink, currentColor);
}
body.atelier-boot .tool-hero :is(.tho-shell.k-import, .tho-under) { display: none; }
body.atelier-boot footer.k-footer { display: none; }
