@font-face { font-family: "Instrument Sans"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("/static/fonts/instrument-sans/instrument-sans-roman-latin.woff2") format("woff2"); unicode-range: U+0-FF, 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: "Instrument Sans"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("/static/fonts/instrument-sans/instrument-sans-roman-latin-ext.woff2") format("woff2"); 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: "Instrument Sans"; font-style: italic; font-weight: 400 700; font-display: swap; src: url("/static/fonts/instrument-sans/instrument-sans-italic-latin.woff2") format("woff2"); unicode-range: U+0-FF, 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: "Instrument Sans"; font-style: italic; font-weight: 400 700; font-display: swap; src: url("/static/fonts/instrument-sans/instrument-sans-italic-latin-ext.woff2") format("woff2"); 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: "Bricolage Grotesque"; font-style: normal; font-weight: 200 800; font-stretch: 75% 100%; font-display: swap; src: url("/static/fonts/bricolage-grotesque/bricolage-grotesque-latin.woff2") format("woff2"); unicode-range: U+0-FF, 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: "Bricolage Grotesque"; font-style: normal; font-weight: 200 800; font-stretch: 75% 100%; font-display: swap; src: url("/static/fonts/bricolage-grotesque/bricolage-grotesque-latin-ext.woff2") format("woff2"); 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: "Bricolage Grotesque"; font-style: normal; font-weight: 200 800; font-stretch: 75% 100%; font-display: swap; src: url("/static/fonts/bricolage-grotesque/bricolage-grotesque-vietnamese.woff2") format("woff2"); 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: Caveat; font-style: normal; font-weight: 500; font-display: swap; src: url("/static/fonts/caveat/caveat-note.woff2") format("woff2"); unicode-range: U+20-7E, U+A0, U+A7, U+AB, U+BB, U+C0-FF, U+152-153, U+178, U+2013-2014, U+2018-2019, U+201C-201D, U+2026, U+202F; }
@font-face { font-family: "Bricolage repli A"; src: local("Arial"), local("Liberation Sans"), local("Helvetica"); size-adjust: 92%; }
@font-face { font-family: "Bricolage repli B"; src: local("Roboto"), local("Segoe UI"), local("Helvetica Neue"); size-adjust: 101%; }
@font-face { font-family: "Instrument repli A"; src: local("Arial"), local("Liberation Sans"), local("Helvetica"); size-adjust: 101%; }
@font-face { font-family: "Instrument repli B"; src: local("Roboto"), local("Segoe UI"), local("Helvetica Neue"); size-adjust: 111%; }
:root { --c-bg: #ffffff; --c-bg-2: #f5f6f8; --c-surface: #ffffff; --c-surface-2: #eef0f3; --c-frame: #14181d; --c-frame-2: #1f252d; --c-on-frame: #f3f5f7; --c-ink: #111417; --c-ink-2: #5b6470; --c-ink-3: #8a919c; --c-line: #e1e4e9; --c-line-strong: #8a919c; --c-action: #1f55e6; --c-action-hover: #1746c4; --c-action-soft: #e9efff; --c-on-action: #ffffff; --c-premium: #6d28d9; --c-premium-soft: #f1eaff; --c-danger: #c8261b; --c-danger-soft: #fdecea; --c-warn: #8a5a00; --c-warn-soft: #fff4d6; --c-focus: #1f55e6; --c-focus-halo: #ffffff; --c-scrim: rgba(17,20,23,.48); --c-scrim-text: rgba(17,20,23,.76); --g-signature: linear-gradient(135deg,#06c2fb 0%,#6b2bfb 55%,#de13fc 100%); --f-sans: "Instrument Sans","Instrument repli A","Instrument repli B",system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",sans-serif; --f-display: "Bricolage Grotesque","Bricolage repli A","Bricolage repli B","Instrument Sans",system-ui,sans-serif; --f-mono: ui-monospace,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace; --f-note: "Caveat","Segoe Script","Bradley Hand",cursive; --fs-0: .8125rem; --fs-1: .875rem; --fs-2: 1rem; --fs-3: 1.125rem; --fs-4: 1.375rem; --fs-5: clamp(1.625rem,1.3rem + 1.2vw,2rem); --fs-6: clamp(2rem,1.35rem + 2.6vw,3.25rem); --lh-tight: 1.1; --lh-snug: 1.3; --lh-body: 1.55; --fw-text: 400; --fw-ui: 500; --fw-title: 600; --ls-title: -0.02em; --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 24px; --s-6: 32px; --s-7: 48px; --s-8: 64px; --s-9: 96px; --section-y: clamp(48px,8vw,96px); --r-1: 6px; --r-2: 10px; --r-3: 16px; --r-pill: 999px; --sh-1: 0 1px 2px rgba(17,20,23,.06),0 0 0 1px rgba(17,20,23,.05); --sh-2: 0 16px 40px -16px rgba(17,20,23,.28),0 0 0 1px rgba(17,20,23,.06); --t-fast: 120ms; --t-base: 200ms; --ease: cubic-bezier(.2,.7,.2,1); --w-content: 80rem; --w-text: 40rem; --w-narrow: 30rem; --gutter: clamp(16px,4vw,40px); --control-h: 44px; --control-h-sm: 36px; --header-h: 64px; color-scheme: light; }
[data-theme="dark"] { --c-bg: #0f1216; --c-bg-2: #14181d; --c-surface: #171b21; --c-surface-2: #1f252d; --c-frame: #0a0c0f; --c-frame-2: #171b21; --c-on-frame: #e8ebef; --c-ink: #e8ebef; --c-ink-2: #a3abb6; --c-ink-3: #6f7885; --c-line: #262c34; --c-line-strong: #6f7885; --c-action: #5b8cff; --c-action-hover: #7aa2ff; --c-action-soft: #182642; --c-on-action: #0f1216; --c-premium: #b794ff; --c-premium-soft: #241a3d; --c-danger: #ff7a6e; --c-danger-soft: #3a1714; --c-warn: #f2c14e; --c-warn-soft: #3a2d0c; --c-focus: #7aa2ff; --c-focus-halo: #0f1216; --c-scrim: rgba(0,0,0,.6); --c-scrim-text: rgba(0,0,0,.76); --sh-1: 0 1px 2px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.06); --sh-2: 0 16px 40px -16px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.08); color-scheme: dark; }
*, ::before, ::after { box-sizing: border-box; }
html { text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + var(--s-4)); }
body { margin: 0px; font-family: var(--f-sans); font-size: var(--fs-2); line-height: var(--lh-body); font-weight: var(--fw-text); color: var(--c-ink); background: var(--c-bg); -webkit-font-smoothing: antialiased; font-variant-numeric: tabular-nums; }
h1, h2, h3, h4, p, ul, ol, figure { margin: 0px; }
h1, h2, h3, h4 { font-weight: var(--fw-title); line-height: var(--lh-snug); letter-spacing: var(--ls-title); text-wrap: balance; }
h1, h2 { font-family: var(--f-display); font-variation-settings: "opsz" 40; }
h1 { font-size: var(--fs-6); line-height: var(--lh-tight); font-variation-settings: "opsz" 96; }
h2 { font-size: var(--fs-5); }
h3 { font-size: var(--fs-4); letter-spacing: -0.01em; }
p { text-wrap: pretty; }
ul, ol { padding: 0px; list-style: none; }
a { color: var(--c-action); text-underline-offset: 0.15em; text-decoration-thickness: 1px; }
a:hover { color: var(--c-action-hover); }
img, svg, video { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0px; padding: 0px; }
button:disabled { cursor: not-allowed; }
[hidden] { display: none !important; }
:focus { outline: none; }
:focus-visible { outline: 2px solid var(--c-focus); outline-offset: 2px; box-shadow: 0 0 0 4px var(--c-focus-halo); }
::selection { background: var(--c-action-soft); color: var(--c-ink); }
@media (prefers-reduced-motion: reduce){html { scroll-behavior: auto; }*, ::before, ::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }}
.k-visually-hidden { width: 1px; height: 1px; padding: 0px; margin: -1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); clip-path: inset(50%); white-space: nowrap; border: 0px; position: absolute !important; }
.k-skip { position: absolute; inset-inline-start: var(--s-4); top: -100px; z-index: 100; padding: var(--s-3) var(--s-4); background: var(--c-ink); color: var(--c-bg); border-radius: var(--r-1); font-weight: var(--fw-ui); text-decoration: none; }
.k-skip:focus-visible { top: var(--s-4); }
.k-container { width: 100%; max-width: calc(var(--w-content) + 2*var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }
.k-section { padding-block: var(--section-y); }
.k-section--alt { background: var(--c-bg-2); }
.k-section__head { max-width: var(--w-text); margin-bottom: var(--s-6); }
.k-section__head h2 { margin-bottom: var(--s-3); }
.k-lead { font-size: var(--fs-3); color: var(--c-ink-2); line-height: var(--lh-body); max-width: var(--w-text); }
.k-muted { color: var(--c-ink-2); }
.k-small { font-size: var(--fs-1); }
.k-mono { font-family: var(--f-mono); font-size: 0.92em; letter-spacing: -0.01em; font-variant-numeric: tabular-nums; }
.k-icon { width: 20px; height: 20px; flex: 0 0 auto; stroke: currentcolor; fill: none; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.k-icon--sm { width: 16px; height: 16px; }
.k-icon--lg { width: 28px; height: 28px; stroke-width: 1.5; }
[dir="rtl"] .k-icon--flip { transform: scaleX(-1); }
.k-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--s-2); min-height: var(--control-h); padding: 0 var(--s-5); border-radius: var(--r-1); border: 1px solid transparent; font-weight: var(--fw-ui); font-size: var(--fs-2); line-height: 1.2; text-decoration: none; white-space: nowrap; transition: background-color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease); -webkit-tap-highlight-color: transparent; }
.k-btn:active { transform: translateY(1px); }
.k-btn--primary { background: var(--c-action); color: var(--c-on-action); }
.k-btn--primary:hover { background: var(--c-action-hover); color: var(--c-on-action); }
.k-btn--secondary { background: var(--c-surface); color: var(--c-ink); border-color: var(--c-line-strong); }
.k-btn--secondary:hover { background: var(--c-surface-2); color: var(--c-ink); }
.k-btn--ghost { background: transparent; color: var(--c-ink); }
.k-btn--ghost:hover { background: var(--c-surface-2); color: var(--c-ink); }
.k-btn--sm { min-height: var(--control-h-sm); padding: 0 var(--s-4); font-size: var(--fs-1); }
.k-btn--block { width: 100%; }
.k-btn--icon { padding: 0px; width: var(--control-h); min-width: var(--control-h); }
.k-btn--icon.k-btn--sm { width: var(--control-h-sm); min-width: var(--control-h-sm); }
.k-btn:disabled, .k-btn[aria-disabled="true"] { opacity: 0.5; pointer-events: none; }
@keyframes k-spin {
  100% { transform: rotate(360deg); }
}
.k-link { display: inline-flex; align-items: center; gap: var(--s-1); font-weight: var(--fw-ui); text-decoration: none; color: var(--c-action); }
.k-link:hover { text-decoration: underline; }
.k-field { display: flex; flex-direction: column; gap: var(--s-2); }
.k-label { font-size: var(--fs-1); font-weight: var(--fw-ui); color: var(--c-ink); }
.k-hint { font-size: var(--fs-1); color: var(--c-ink-2); }
.k-input { width: 100%; min-height: var(--control-h); padding: 0 var(--s-4); border: 1px solid var(--c-line-strong); border-radius: var(--r-1); background: var(--c-surface); color: var(--c-ink); transition: border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease); }
.k-input::placeholder { color: var(--c-ink-2); opacity: 1; }
.k-input:hover { border-color: var(--c-ink-2); }
.k-input:focus-visible { outline: none; border-color: var(--c-focus); box-shadow: 0 0 0 3px var(--c-action-soft); }
.k-input:disabled { background: var(--c-surface-2); color: var(--c-ink-2); }
.k-error { display: flex; align-items: flex-start; gap: var(--s-2); font-size: var(--fs-1); color: var(--c-danger); }
.k-inputgroup { display: flex; gap: var(--s-2); }
.k-inputgroup .k-input { flex: 1 1 0%; min-width: 0px; }
@media (max-width: 560px){.k-inputgroup { flex-direction: column; }}
.k-frame { background: var(--c-frame); color: var(--c-on-frame); border-radius: var(--r-3); overflow: hidden; position: relative; }
.k-tag { display: inline-flex; align-items: center; gap: var(--s-1); min-height: 24px; padding: 0 var(--s-2); border-radius: var(--r-pill); font-size: var(--fs-0); font-weight: var(--fw-ui); background: var(--c-surface-2); color: var(--c-ink-2); line-height: 1; }
.k-tag--premium { background: var(--c-premium-soft); color: var(--c-premium); }
.k-tag--meta { font-family: var(--f-mono); text-transform: uppercase; letter-spacing: 0.04em; font-size: var(--fs-0); }
.k-progress { height: 6px; border-radius: var(--r-pill); background: var(--c-surface-2); overflow: hidden; }
.k-progress > span { display: block; height: 100%; background: var(--c-action); border-radius: inherit; transform-origin: 0px 50%; transition: transform var(--t-base) var(--ease); }
[dir="rtl"] .k-progress > span { transform-origin: 100% 50%; }
.k-drop { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--s-2); min-height: 148px; padding: var(--s-5); border: 1.5px dashed var(--c-line-strong); border-radius: var(--r-2); background: var(--c-surface); text-align: center; cursor: pointer; transition: border-color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease); }
.k-drop:hover { border-color: var(--c-action); background: var(--c-bg-2); }
.k-drop:focus-within { border-color: var(--c-focus); box-shadow: 0 0 0 3px var(--c-action-soft); }
.k-drop.is-drag { border-style: solid; border-color: var(--c-action); background: var(--c-action-soft); }
.k-drop.is-busy { cursor: progress; border-style: solid; border-color: var(--c-line); }
.k-drop.is-error { border-style: solid; border-color: var(--c-danger); background: var(--c-danger-soft); }
.k-drop strong { font-weight: var(--fw-ui); color: var(--c-ink); }
.k-drop .k-icon { color: var(--c-action); }
.k-drop.is-error .k-icon { color: var(--c-danger); }
.k-drop__state { display: flex; flex-direction: column; align-items: center; gap: var(--s-2); width: 100%; }
.k-drop__hint { font-size: var(--fs-1); color: var(--c-ink-2); }
.k-drop__busy { width: 100%; display: flex; flex-direction: column; gap: var(--s-2); text-align: start; }
.k-drop__busy-row { display: flex; justify-content: space-between; gap: var(--s-3); font-size: var(--fs-1); }
.k-drop__name { color: var(--c-ink-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.k-header { position: sticky; top: 0px; z-index: 50; background: color-mix(in srgb,var(--c-bg) 88%,transparent); backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--c-line); transition: transform var(--t-base) var(--ease); }
.k-header.is-hidden { transform: translateY(-100%); }
.k-header.is-open { transform: none; }
.k-header__bar { display: flex; align-items: center; gap: var(--s-4); min-height: var(--header-h); }
.k-logo { display: inline-flex; align-items: center; gap: var(--s-2); text-decoration: none; color: inherit; border-radius: var(--r-1); padding: var(--s-1); }
.k-logo__word { height: 30px; width: auto; }
.k-logo__word--dark { display: none; }
[data-theme="dark"] .k-logo__word--light { display: none; }
[data-theme="dark"] .k-logo__word--dark { display: block; }
.k-nav { display: none; align-items: center; gap: var(--s-1); margin-inline-start: var(--s-3); }
.k-nav__link { display: inline-flex; align-items: center; gap: var(--s-1); min-height: 40px; padding: 0 var(--s-3); border-radius: var(--r-1); color: var(--c-ink); font-weight: var(--fw-ui); text-decoration: none; font-size: var(--fs-1); }
.k-nav__link:hover, .k-nav__link[aria-expanded="true"] { background: var(--c-surface-2); color: var(--c-ink); }
.k-nav__link .k-icon { width: 16px; height: 16px; transition: transform var(--t-fast) var(--ease); }
.k-nav__link[aria-expanded="true"] .k-icon--chevron { transform: rotate(180deg); }
.k-header__right { margin-inline-start: auto; display: flex; align-items: center; gap: var(--s-2); }
.k-header__desktop { display: none; align-items: center; gap: var(--s-2); }
.k-header__mobile { display: flex; align-items: center; gap: var(--s-2); }
@media (min-width: 1024px){.k-nav { display: flex; }.k-header__desktop { display: flex; }.k-header__mobile { display: none; }}
.k-menu-wrap { position: relative; }
.k-menu { position: absolute; top: calc(100% + 6px); inset-inline-start: 0px; min-width: 240px; background: var(--c-surface); border-radius: var(--r-2); box-shadow: var(--sh-2); padding: var(--s-2); z-index: 60; }
.k-menu--end { inset-inline: auto 0px; }
.k-menu--wide { width: min(880px,calc(100vw - 2*var(--gutter))); padding: var(--s-4); }
.k-menu__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s-4); }
.k-menu__title { font-size: var(--fs-0); font-weight: var(--fw-ui); color: var(--c-ink-2); padding: var(--s-1) var(--s-2); margin-bottom: var(--s-1); }
.k-menu__item { display: flex; flex-direction: column; gap: 1px; padding: var(--s-2) var(--s-2); border-radius: var(--r-1); text-decoration: none; color: var(--c-ink); font-size: var(--fs-1); }
.k-menu__item:hover { background: var(--c-surface-2); color: var(--c-ink); }
.k-menu__item b { font-weight: var(--fw-ui); }
.k-menu__item span { color: var(--c-ink-2); font-size: var(--fs-0); }
.k-menu__item .k-tag { margin-inline-start: var(--s-1); vertical-align: middle; }
.k-menu__foot { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); margin-top: var(--s-3); padding-top: var(--s-3); border-top: 1px solid var(--c-line); }
.k-menu__row { display: flex; align-items: center; gap: var(--s-2); width: 100%; min-height: 40px; padding: 0 var(--s-3); border-radius: var(--r-1); text-align: start; text-decoration: none; color: var(--c-ink); font-size: var(--fs-1); }
.k-menu__row:hover { background: var(--c-surface-2); color: var(--c-ink); }
.k-menu__row[aria-current="true"] { font-weight: var(--fw-ui); color: var(--c-action); }
.k-menu__list { display: grid; grid-template-columns: repeat(2, minmax(120px, 1fr)); gap: 2px; }
.k-avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--c-action-soft); color: var(--c-action); font-weight: var(--fw-ui); font-size: var(--fs-1); display: inline-flex; align-items: center; justify-content: center; }
button.k-avatar { width: 44px; height: 44px; padding: 0px; border: 0px; font-family: var(--f-sans); cursor: pointer; }
button.k-avatar:hover, button.k-avatar[aria-expanded="true"] { box-shadow: inset 0 0 0 2px var(--c-action); }
button.k-avatar:focus-visible { outline: 2px solid var(--c-focus); outline-offset: 2px; }
.k-header.is-open { height: 100svh; overflow-y: auto; background: var(--c-bg); }
.k-sheet { border-top: 1px solid var(--c-line); background: var(--c-bg); padding: var(--s-4) 0 calc(var(--s-8) + env(safe-area-inset-bottom)); }
@media (min-width: 1024px){.k-sheet { display: none !important; }.k-header.is-open { height: auto; overflow: visible; }}
.k-sheet__cta { display: grid; gap: var(--s-2); margin-bottom: var(--s-5); }
.k-sheet__group { border-top: 1px solid var(--c-line); }
.k-sheet__head { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 52px; font-size: var(--fs-3); font-weight: var(--fw-ui); color: var(--c-ink); text-align: start; text-decoration: none; }
.k-sheet__head--col { flex-direction: column; align-items: flex-start; justify-content: center; gap: 2px; padding-block: var(--s-3); }
.k-sheet__head .k-icon { transition: transform var(--t-fast) var(--ease); }
.k-sheet__head[aria-expanded="true"] .k-icon { transform: rotate(180deg); }
.k-sheet__body { padding-bottom: var(--s-4); }
.k-sheet__sub { font-size: var(--fs-0); font-weight: var(--fw-ui); color: var(--c-ink-2); margin: var(--s-3) 0 var(--s-1); }
.k-sheet__item { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); min-height: 44px; padding: 0 var(--s-2); border-radius: var(--r-1); color: var(--c-ink); text-decoration: none; font-size: var(--fs-2); }
.k-sheet__item:hover { background: var(--c-surface-2); color: var(--c-ink); }
.k-sheet__util { display: flex; flex-wrap: wrap; gap: var(--s-2); padding-block: var(--s-4); border-top: 1px solid var(--c-line); }
.k-chip { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 0 var(--s-3); border-radius: var(--r-pill); border: 1px solid var(--c-line-strong); font-size: var(--fs-1); font-weight: var(--fw-ui); color: var(--c-ink); background: var(--c-surface); }
.k-chip[aria-pressed="true"], .k-chip.is-on { background: var(--c-ink); color: var(--c-bg); border-color: var(--c-ink); }
.k-footer { border-top: 1px solid var(--c-line); background: var(--c-bg-2); padding-block: var(--s-8) var(--s-6); font-size: var(--fs-1); }
@media (max-width: 899px){.k-footer { padding-bottom: calc(var(--s-9) + env(safe-area-inset-bottom)); }body:has(.k-sticky) .k-footer { padding-bottom: calc(var(--s-9) + var(--s-7) + env(safe-area-inset-bottom)); }}
.k-footer__grid { display: grid; grid-template-columns: minmax(0px, 1fr); gap: var(--s-6); }
@media (min-width: 720px){.k-footer__grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); column-gap: var(--s-7); }.k-footer__brand { grid-column: 1 / -1; }}
@media (min-width: 1040px){.k-footer__grid { grid-template-columns: 1.35fr repeat(4, minmax(0px, 1fr)); column-gap: var(--s-5); align-items: start; }.k-footer__brand { grid-column: 1; }}
.k-lang { margin-top: var(--s-6); }
.k-footer__brand p { color: var(--c-ink-2); max-width: 32ch; margin-top: var(--s-3); }
.k-footer__title { display: flex; align-items: center; justify-content: space-between; gap: var(--s-2); width: 100%; min-height: 44px; text-align: start; font-size: var(--fs-2); font-weight: var(--fw-title); color: var(--c-ink); border-radius: var(--r-1); }
.k-footer__title .k-icon { width: 16px; height: 16px; flex: 0 0 auto; transition: transform var(--t-fast) var(--ease); }
.k-footer__group.is-open .k-footer__title .k-icon { transform: rotate(180deg); }
.k-footer__group:not(.is-open) .k-footer__title { border-bottom: 1px solid var(--c-line); }
.k-footer__col { padding-top: var(--s-3); }
@media (min-width: 720px){.k-footer__title { pointer-events: none; min-height: 0px; margin-bottom: var(--s-4); }.k-footer__title .k-icon { display: none; }.k-footer__col { padding-top: 0px; }}
.k-footer__col { display: grid; gap: var(--s-2); }
.k-footer__col a { color: var(--c-ink-2); text-decoration: none; min-height: 24px; display: inline-flex; align-items: center; }
.k-footer__col a:hover { color: var(--c-ink); text-decoration: underline; }
.k-lang { position: relative; display: inline-block; }
.k-lang__btn { display: inline-flex; align-items: center; gap: var(--s-2); min-height: 44px; padding: 0 var(--s-3); border: 1px solid var(--c-line-strong); border-radius: var(--r-1); background: var(--c-surface); color: var(--c-ink); font-size: var(--fs-1); font-weight: var(--fw-ui); }
.k-lang__btn:hover { background: var(--c-surface-2); }
.k-lang__chev { transition: transform var(--t-fast) var(--ease); }
.k-lang__btn[aria-expanded="true"] .k-lang__chev { transform: rotate(180deg); }
.k-lang__menu { position: absolute; bottom: calc(100% + var(--s-2)); inset-inline-start: 0px; z-index: 20; display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 2px; width: max-content; max-width: min(320px, 80vw); max-height: min(420px, 60vh); overflow-y: auto; padding: var(--s-2); border: 1px solid var(--c-line); border-radius: var(--r-2); background: var(--c-surface); box-shadow: var(--sh-2); }
.k-lang__ok { visibility: hidden; flex: 0 0 auto; color: var(--c-action); }
.k-footer__legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--s-3); margin-top: var(--s-7); padding-top: var(--s-4); border-top: 1px solid var(--c-line); color: var(--c-ink-2); }
.k-footer__legal nav { display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-4); }
.k-footer__legal a { color: var(--c-ink-2); text-decoration: none; min-height: 24px; display: inline-flex; align-items: center; }
.k-footer__legal a:hover { color: var(--c-ink); text-decoration: underline; }
.k-cookie { position: fixed; inset-inline: 0px; bottom: 0px; z-index: 70; display: grid; gap: var(--s-2); background: var(--c-surface); border-radius: var(--r-3) var(--r-3) 0 0; box-shadow: var(--sh-2); padding: var(--s-3) var(--s-4) calc(var(--s-3) + env(safe-area-inset-bottom)); font-size: var(--fs-0); color: var(--c-ink-2); line-height: 1.4; }
.k-cookie__actions { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-2); align-items: center; }
.k-cookie__actions a { grid-column: 1 / -1; justify-self: start; }
@media (min-width: 720px){.k-cookie { inset-inline: var(--s-4); bottom: var(--s-4); max-width: 760px; margin-inline: auto; grid-template-columns: minmax(0px, 1fr) auto; align-items: center; gap: var(--s-4); border-radius: var(--r-2); padding: var(--s-3) var(--s-4); }.k-cookie__actions { display: flex; flex-wrap: nowrap; }.k-cookie__actions a { margin-inline-end: var(--s-2); }}
.k-credits-pill { display: inline-flex; align-items: center; gap: var(--s-1); min-height: 44px; padding: 0 var(--s-3); border: 0px; border-radius: var(--r-pill); background: var(--c-surface-2); color: var(--c-ink); font-family: var(--f-sans); font-size: var(--fs-1); font-weight: var(--fw-ui); text-decoration: none; cursor: pointer; }
.k-credits-pill:hover, .k-credits-pill[aria-expanded="true"] { box-shadow: inset 0 0 0 2px var(--c-line-strong); }
.k-credits-pill.is-abo { background: var(--c-premium-soft); color: var(--c-premium); }
.k-cutline { position: relative; display: block; height: 2px; border-radius: 1px; background: var(--c-line); overflow: visible; }
.k-cutline i, .k-cutline__seg { position: absolute; top: 0px; height: 100%; border-radius: inherit; background: var(--c-ink); }
.k-cutmark { display: inline-block; width: 7px; height: 10px; border-width: 0px 2px 2px; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-right-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: initial; border-top-style: initial; border-top-color: initial; vertical-align: -1px; }
.k-cutmark--in { border-inline-end: 0px; }
.k-cutmark--out { border-inline-start: 0px; }
.k-meta { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--s-1) var(--s-2); font-family: var(--f-mono); font-size: var(--fs-0); letter-spacing: 0.02em; text-transform: uppercase; color: var(--c-ink-2); font-variant-numeric: tabular-nums; line-height: 1.2; }
.k-meta b { font-weight: var(--fw-ui); color: var(--c-ink); }
.k-win { position: absolute; top: 0px; bottom: 0px; left: calc(var(--fx)*100%); width: calc(var(--fw)*100%); box-shadow: rgba(10, 12, 15, 0.32) 0px 0px 0px 999px; outline: 1px solid color-mix(in srgb,var(--c-action) 78%,transparent); outline-offset: -1px; pointer-events: none; z-index: 4; }
.k-win i { position: absolute; width: 7px; height: 7px; background: rgb(255, 255, 255); border: 1px solid var(--c-action); border-radius: 1px; }
.k-win i:nth-child(1) { top: 2px; left: -3px; }
.k-win i:nth-child(2) { top: 2px; right: -3px; }
.k-win i:nth-child(3) { bottom: 2px; left: -3px; }
.k-win i:nth-child(4) { bottom: 2px; right: -3px; }
.k-flux { display: grid; grid-template-columns: minmax(0px, 1fr); gap: 0px; }
.k-flux__phase { border-top: 1px solid var(--c-line); }
.k-flux__phase:last-child { border-bottom: 1px solid var(--c-line); }
.k-flux__tete { width: 100%; text-align: start; display: grid; grid-template-columns: auto minmax(0px, 1fr) auto; align-items: center; gap: var(--s-2) var(--s-3); min-height: 64px; padding-block: var(--s-3); color: inherit; }
button.k-flux__tete { cursor: pointer; }
.k-flux__ic { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: var(--r-1); background: var(--c-action-soft); color: var(--c-action); flex: 0 0 auto; }
.k-flux__ic .k-icon { width: 19px; height: 19px; }
.k-flux__nom { font-family: var(--f-display); font-size: var(--fs-4); font-weight: var(--fw-title); letter-spacing: -0.01em; line-height: 1.15; min-width: 0px; }
.k-flux__chev { display: inline-flex; color: var(--c-ink-2); }
.k-flux__chev .k-icon { width: 18px; height: 18px; transition: transform var(--t-fast) var(--ease); }
.k-flux__phase.is-open .k-flux__chev .k-icon { transform: rotate(180deg); }
.k-flux__quoi { grid-column: 1 / -1; font-size: var(--fs-1); color: var(--c-ink-2); line-height: var(--lh-snug); }
@media (max-width: 959px){.k-flux__phase:not(.is-open) .k-flux__quoi { display: none; }}
.k-flux__liste { display: grid; gap: 0px; padding-bottom: var(--s-4); }
@media (min-width: 960px){.k-flux { gap: var(--s-5); align-items: start; }.k-flux__phase { border-top: 1.5px solid var(--c-ink); border-bottom: 0px; }.k-flux__phase:last-child { border-bottom: 0px; }.k-flux__tete { grid-template-columns: auto minmax(0px, 1fr); align-content: start; gap: var(--s-2) var(--s-3); min-height: 142px; align-items: center; padding-block: var(--s-4); }button.k-flux__tete { pointer-events: none; }.k-flux__chev { display: none; }.k-flux__quoi { grid-column: 1 / -1; min-height: 2.6em; padding-top: var(--s-1); }.k-flux__liste { border-top: 1px solid var(--c-line); padding-top: var(--s-2); padding-bottom: 0px; }}
html:not([data-kl-viewport="iphone13-crios152-measured"]) body:has(> .k-header):has(> main > .tool-hero):not(.atelier-fit) > .k-header { position: fixed; left: 0px; right: 0px; }
html:not([data-kl-viewport="iphone13-crios152-measured"]) body:has(> .k-header):has(> main > .tool-hero):not(.atelier-fit) > main { padding-top: calc(var(--header-h) + 1px); }
@keyframes modal-sheet-up {
  0% { transform: translateY(100%); }
  100% { transform: translateY(0px); }
}
@keyframes auth-spin {
  100% { transform: rotate(360deg); }
}
.proj .btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--s-2); min-height: var(--control-h); padding-inline: var(--s-5); cursor: pointer; border: 1px solid transparent; border-radius: var(--r-2); font-family: inherit; font-size: var(--fs-1); font-weight: var(--fw-ui); text-decoration: none; transition: background var(--t-fast) var(--ease); }
.proj .btn-beam { background: var(--c-action); color: var(--c-on-action); }
.proj .btn-beam:hover { background: var(--c-action-hover); }
.proj .btn-full { width: 100%; }
.klpm-panel, .klsheet, .klc-offer, .kloffre, .ktar-grille, .ktar-comp, .tho-errbox.is-offre { --c-bg-2: #f5f6f8; --c-surface: #ffffff; --c-surface-2: #eef0f3; --c-ink: #111417; --c-ink-2: #5b6470; --c-ink-3: #8a919c; --c-line: #e1e4e9; --c-line-strong: #8a919c; --c-action: #1f55e6; --c-action-hover: #1746c4; --c-action-soft: #e9efff; --c-on-action: #ffffff; --c-premium: #6d28d9; --c-premium-soft: #f1eaff; color: var(--c-ink); }
@keyframes kf-sortie-fondu {
  0% { opacity: 1; transform: none; }
  100% { opacity: 0; transform: translateY(10px); }
}
@keyframes kf-sortie-bas {
  0% { transform: none; }
  100% { transform: translateY(100%); }
}
@keyframes klpm-in {
  0% { opacity: 0; transform: translateY(10px); }
  100% { opacity: 1; transform: none; }
}
.ktar-seg { display: inline-flex; gap: var(--s-1); padding: var(--s-1); border: 1px solid var(--c-line); border-radius: var(--r-pill); background: var(--c-bg-2); }
.ktar-seg button { display: inline-flex; align-items: center; min-height: var(--control-h-sm); padding: 0px 14px; border: 0px; border-radius: var(--r-pill); background: transparent; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: var(--fs-1); font-weight: var(--fw-ui); color: var(--c-ink-2); cursor: pointer; }
.ktar-seg button[aria-pressed="true"] { background: var(--c-surface); color: var(--c-ink); box-shadow: var(--sh-1); }
.ktar-seg button:focus-visible { outline: 2px solid var(--c-focus); outline-offset: 2px; }
.ktar-eco { margin-left: 6px; padding: 1px 6px; border-radius: var(--r-pill); background: var(--c-action-soft); color: var(--c-action); font-size: 12px; font-weight: var(--fw-title); }
.ktar-grille { display: grid; gap: 28px; margin-top: var(--s-5); }
@media (min-width: 720px){.ktar-grille { grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr); gap: var(--s-5); align-items: stretch; margin-top: 28px; }}
.ktar-carte { position: relative; display: flex; flex-direction: column; padding: var(--s-5) 20px 28px; border: 1px solid var(--c-line-strong); border-radius: var(--r-3); background: var(--c-surface); color: var(--c-ink); }
.ktar-carte.is-reco { padding: 23px 19px 27px; border: 2px solid var(--c-action); box-shadow: rgba(31, 85, 230, 0.45) 0px 24px 48px -28px; }
@media (min-width: 720px){.ktar-carte { padding: 28px 28px 32px; }.ktar-carte.is-reco { padding: 27px 27px 31px; }}
.ktar-badge { position: absolute; top: 0px; left: 18px; transform: translateY(-50%); padding: var(--s-1) var(--s-3); border-radius: var(--r-pill); background: var(--c-premium); color: var(--c-on-action); font-size: var(--fs-0); font-weight: var(--fw-ui); line-height: 1.3; white-space: nowrap; }
@media (min-width: 720px){.ktar-badge { left: 26px; }}
.ktar-tete { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--s-3); }
.ktar-nom { margin: 0px; font-family: var(--f-sans); font-size: var(--fs-4); font-weight: var(--fw-title); letter-spacing: 0px; line-height: 1.2; color: var(--c-ink); }
.ktar-etat { display: inline-block; margin-left: var(--s-1); padding: 2px var(--s-2); vertical-align: 3px; border: 1px solid var(--c-line); border-radius: var(--r-pill); background: var(--c-surface); font-family: var(--f-sans); font-size: var(--fs-0); font-weight: var(--fw-ui); line-height: 1.3; color: var(--c-ink-2); }
.ktar-pour { margin: var(--s-1) 0 0; font-size: var(--fs-1); line-height: 1.4; color: var(--c-ink-2); }
.ktar-prix { flex: 0 0 auto; margin: 0px; text-align: right; white-space: nowrap; font-family: var(--f-display); font-size: clamp(2rem, 1.7rem + 1vw, 2.5rem); font-weight: var(--fw-title); line-height: 1; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; color: var(--c-ink); }
.ktar-prix small { display: block; margin-top: var(--s-1); font-family: var(--f-sans); font-size: var(--fs-0); font-weight: var(--fw-text); letter-spacing: 0px; color: var(--c-ink-2); }
.ktar-note { margin: var(--s-3) 0 0; font-size: var(--fs-0); line-height: 1.45; color: var(--c-ink-2); }
.ktar-note.is-gain { margin-top: 2px; font-weight: var(--fw-title); color: var(--c-action); }
.ktar-cta { margin-top: var(--s-4); min-height: 48px; white-space: normal; text-align: center; line-height: 1.3; }
.ktar-carte:not(.is-reco) .ktar-cta { border-color: var(--c-action); color: var(--c-action); }
.ktar-bloc { margin-top: 28px; }
.ktar-bloc-t { display: flex; align-items: center; gap: var(--s-3); margin: 0 0 var(--s-4); white-space: nowrap; font-size: var(--fs-0); font-weight: var(--fw-title); color: var(--c-ink-2); }
.ktar-bloc-t::after { content: ""; flex: 1 1 0%; height: 1px; background: var(--c-line); }
.ktar-liste { display: grid; gap: var(--s-4); margin: 0px; padding: 0px; list-style: none; }
.ktar-liste li { display: grid; grid-template-columns: 22px minmax(0px, 1fr) auto; gap: var(--s-3); align-items: start; }
.ktar-puce { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--c-action); color: var(--c-on-action); }
.ktar-puce svg { width: 13px; height: 13px; fill: none; stroke: currentcolor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.ktar-lt { display: block; font-size: 15px; font-weight: var(--fw-ui); line-height: 1.35; color: var(--c-ink); }
.ktar-lt b { font-weight: 700; }
.ktar-ls { display: block; margin-top: 2px; font-size: var(--fs-0); line-height: 1.4; color: var(--c-ink-2); }
.ktar-plus { display: inline-flex; align-items: center; min-height: 24px; margin-top: -1px; padding: 0px 9px; border-radius: var(--r-pill); background: var(--c-action); color: var(--c-on-action); white-space: nowrap; font-size: 12px; font-weight: var(--fw-title); }
.ktar-plus.is-inf { padding: 0 var(--s-2); font-size: 17px; font-weight: var(--fw-ui); }
.ktar-gratuit { display: grid; gap: var(--s-1); margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--c-line); }
.ktar-gratuit p { margin: 0px; font-size: 15px; line-height: 1.55; color: var(--c-ink-2); }
.ktar-gratuit p b { font-weight: var(--fw-title); color: var(--c-ink); }
.ktar-gratuit .k-link { justify-self: start; min-height: var(--control-h); }
@media (min-width: 720px){.ktar-gratuit { grid-template-columns: 1fr auto; align-items: center; gap: var(--s-5); }.ktar-gratuit .k-link { justify-self: end; }}
.ktar-total { margin: var(--s-4) 0 0; text-align: center; font-size: var(--fs-0); color: var(--c-ink-2); }
@media (max-width: 719px){@keyframes klpm-up {
  0% { transform: translateY(100%); }
  100% { transform: none; }
}}
.progress-card h2 { font-family: var(--f-sans); font-size: var(--fs-3); letter-spacing: 0px; font-variation-settings: normal; }
@keyframes klfab-tour {
  100% { transform: rotate(360deg); }
}
