/* ============================================================================
   Ken marketing site (ken.quest.mx) — stylesheet.
   The design's token system (dark default + light override), base rules, keyframes and
   the few utility classes inline styles can't express, lifted verbatim from the .dc.html
   <helmet><style>. Everything else stays as faithful inline styles on each element.
   ============================================================================ */
:root{
 --bg:#0E1218;--surface:#151B23;--elevated:#1C232D;--line:#2A323D;--line-strong:#3A4552;--muted:#93A0AE;--text:#E6EBF0;
 --accent:#63A6E6;--accent-strong:#86BEF0;--accent-quiet:#12212E;--on-accent:#0B0F14;
 --success:#45BD86;--success-tint:#122A20;--success-ink:#7FD8AC;
 --warn:#E0AC4B;--warn-tint:#2A2212;--warn-ink:#F0C979;
 --danger:#EC6A5C;--danger-tint:#2E1815;--danger-ink:#F4998E;
 --info:#63A6E6;--info-tint:#12212E;--info-ink:#93C4F0;
 --neutral-tint:#1C232D;--neutral-ink:#B7C2CE;--neutral-line:#2E3742;
 --shadow-1:0 1px 2px rgba(0,0,0,.30);--shadow-2:0 8px 30px rgba(0,0,0,.45);
 --focus:0 0 0 2px var(--bg),0 0 0 4px var(--accent);
 --font-sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI","Helvetica Neue",Arial,sans-serif;
 --font-mono:"IBM Plex Mono",ui-monospace,"SF Mono","Cascadia Code",Menlo,Consolas,monospace;
 color-scheme:dark;
}
@media (prefers-color-scheme:light){:root:not([data-theme]){color-scheme:light;--bg:#F5F7F9;--surface:#FFFFFF;--elevated:#FFFFFF;--line:#E3E7EC;--line-strong:#CFD6DE;--muted:#59636F;--text:#10151B;--accent:#2E6FB3;--accent-strong:#245C97;--accent-quiet:#E4EFF8;--on-accent:#FFFFFF;--success:#1F8A5A;--success-tint:#E3F3EB;--success-ink:#146A44;--warn:#9A6B00;--warn-tint:#FBF0D8;--warn-ink:#7A5500;--danger:#C0392B;--danger-tint:#FBE6E3;--danger-ink:#9A2A20;--info:#2E6FB3;--info-tint:#E4EFF8;--info-ink:#235587;--neutral-tint:#EEF1F4;--neutral-ink:#4A5563;--neutral-line:#E3E7EC;--shadow-1:0 1px 2px rgba(16,21,27,.06);--shadow-2:0 10px 30px rgba(16,21,27,.12);}}
:root[data-theme="light"]{color-scheme:light;--bg:#F5F7F9;--surface:#FFFFFF;--elevated:#FFFFFF;--line:#E3E7EC;--line-strong:#CFD6DE;--muted:#59636F;--text:#10151B;--accent:#2E6FB3;--accent-strong:#245C97;--accent-quiet:#E4EFF8;--on-accent:#FFFFFF;--success:#1F8A5A;--success-tint:#E3F3EB;--success-ink:#146A44;--warn:#9A6B00;--warn-tint:#FBF0D8;--warn-ink:#7A5500;--danger:#C0392B;--danger-tint:#FBE6E3;--danger-ink:#9A2A20;--info:#2E6FB3;--info-tint:#E4EFF8;--info-ink:#235587;--neutral-tint:#EEF1F4;--neutral-ink:#4A5563;--neutral-line:#E3E7EC;--shadow-1:0 1px 2px rgba(16,21,27,.06);--shadow-2:0 10px 30px rgba(16,21,27,.12);}
:root[data-theme="dark"]{color-scheme:dark;}
*,*::before,*::after{box-sizing:border-box;}*{margin:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.55;min-height:100vh;}
a{color:var(--accent);text-decoration:none;}a:hover{color:var(--accent-strong);text-decoration:underline;text-underline-offset:2px;}
svg{display:block;}
::selection{background:color-mix(in oklab,var(--accent) 30%,transparent);}
:focus-visible{outline:none;box-shadow:var(--focus);border-radius:6px;}
button{font:inherit;color:inherit;}
.ken-th .sun{display:none;}.ken-th .moon{display:block;}
:root[data-theme="light"] .ken-th .moon{display:none;}:root[data-theme="light"] .ken-th .sun{display:block;}
@media (prefers-color-scheme:light){:root:not([data-theme]) .ken-th .moon{display:none;}:root:not([data-theme]) .ken-th .sun{display:block;}}
.ken-skip{position:absolute;left:16px;top:-60px;z-index:100;background:var(--accent);color:var(--on-accent);padding:10px 16px;border-radius:8px;transition:top .15s ease;}
.ken-skip:focus{top:12px;text-decoration:none;}
.ken-navcb{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none;}
.ken-navbtn{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:8px;cursor:pointer;color:var(--text);background:transparent;margin-inline-start:auto;order:1;}
.ken-nav{display:none;flex-direction:column;width:100%;gap:2px;padding-block:6px;order:3;}
.ken-tools{display:none;width:100%;gap:12px;padding-block:8px 12px;border-top:1px solid var(--line);order:4;align-items:center;flex-wrap:wrap;}
.ken-navcb:checked ~ .ken-nav,.ken-navcb:checked ~ .ken-tools{display:flex;}
.ken-navcb:focus-visible + .ken-navbtn{box-shadow:var(--focus);}
.ken-navlink:hover{color:var(--text);background:var(--surface);text-decoration:none;}
.ken-copybtn .done{display:none;}.ken-copybtn[data-copied="true"] .idle{display:none;}.ken-copybtn[data-copied="true"] .done{display:inline-flex;color:var(--success);}
@media (min-width:900px){
 .ken-navbtn{display:none;}
 .ken-nav{display:flex;flex-direction:row;width:auto;padding-block:0;order:0;margin-inline-start:6px;}
 .ken-tools{display:flex;width:auto;padding-block:0;border-top:0;order:0;margin-inline-start:auto;}
}
@keyframes kenFadeUp{0%{opacity:0;transform:translateY(10px);}100%{opacity:1;transform:none;}}
@keyframes kenProposedOut{0%{opacity:1;}40%{opacity:1;}52%{opacity:0;}90%{opacity:0;}100%{opacity:1;}}
@keyframes kenCuratedIn{0%{opacity:0;transform:scale(.55);}40%{opacity:0;transform:scale(.55);}56%{opacity:1;transform:scale(1);}90%{opacity:1;transform:scale(1);}100%{opacity:0;transform:scale(.55);}}
@keyframes kenCuratedFade{0%{opacity:0;}40%{opacity:0;}56%{opacity:1;}90%{opacity:1;}100%{opacity:0;}}
@keyframes kenTick{0%{opacity:0;transform:translateX(-50%) translateY(4px) rotate(45deg);}50%{opacity:0;}64%{opacity:1;transform:translateX(-50%) translateY(0) rotate(45deg);}90%{opacity:1;}100%{opacity:0;}}
@keyframes kenSweep{from{transform:rotate(0);}to{transform:rotate(360deg);}}
@keyframes kenRing{0%{transform:scale(.55);opacity:.5;}100%{transform:scale(1.75);opacity:0;}}
@keyframes kenBlink{0%,100%{opacity:1;}50%{opacity:0;}}
@media (prefers-reduced-motion:no-preference){
 [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;}
 [data-reveal].is-in{opacity:1;transform:none;}
}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}}

/* language switcher (replaces the prototype's native <select>) */
.ken-langlink{font-family:var(--font-mono);font-size:.82rem;color:var(--muted);padding:2px 5px;border-radius:5px;}
.ken-langlink:hover{color:var(--text);text-decoration:none;background:var(--surface);}
.ken-langlink.is-current{color:var(--text);font-weight:600;}
