/* K.A.T 2026 component classes (.kat-*) ported 1:1 from the Vercel design,
   @media queries preserved (mobile overrides stay mobile-only). */
.kat-page{background-image:radial-gradient(ellipse 42% 28% at 18% 8%,rgba(255,245,199,.95),transparent 68%),radial-gradient(ellipse 42% 34% at 84% 14%,rgba(215,237,245,.9),transparent 66%),linear-gradient(rgba(32,41,64,.035) 1px,transparent 0),linear-gradient(90deg,rgba(32,41,64,.035) 1px,transparent 0);background-size:100% 100%,100% 100%,52px 52px,52px 52px}
.kat-hero,.kat-page{background-color:#FBFAF4}
.kat-hero{background-image:radial-gradient(ellipse 55% 40% at 18% 18%,rgba(255,248,222,.98),transparent 72%),radial-gradient(ellipse 46% 36% at 82% 22%,rgba(214,238,246,.86),transparent 72%),radial-gradient(ellipse 70% 45% at 50% 100%,rgba(232,202,117,.24),transparent 72%),linear-gradient(rgba(32,41,64,.035) 1px,transparent 0),linear-gradient(90deg,rgba(32,41,64,.035) 1px,transparent 0),linear-gradient(145deg,#FFFFFF,#FBFAF4 50%,#FFF2C9);background-size:100% 100%,100% 100%,100% 100%,54px 54px,54px 54px,100% 100%}
.kat-hero:before,.kat-section:before,.kat-white-band:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0 34%,rgba(197,161,90,.12) 34.2%,transparent 34.7% 100%),linear-gradient(128deg,transparent 0 58%,rgba(255,255,255,.75) 58.2%,transparent 58.7% 100%);opacity:.62}
.kat-section{background:radial-gradient(ellipse 38% 26% at 10% 10%,rgba(255,247,215,.95),transparent 70%),radial-gradient(ellipse 32% 26% at 86% 0,rgba(219,241,248,.78),transparent 70%),linear-gradient(180deg,#FBFAF4,#FFFFFF)}
.kat-white-band{background:radial-gradient(ellipse 46% 30% at 50% 0,rgba(255,239,181,.56),transparent 72%),linear-gradient(180deg,#FFFFFF,#FBFAF4)}
.kat-card{border:1px solid rgba(255,255,255,.9);border-radius:1.35rem;background:linear-gradient(180deg,rgba(255,255,255,.84),rgba(255,255,255,.58)),radial-gradient(ellipse 72% 46% at 78% 0,rgba(255,236,166,.34),transparent 70%);box-shadow:0 22px 70px rgba(139,103,27,.12);backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%)}
.kat-chip{display:inline-flex;align-items:center;gap:.45rem;border:1px solid rgba(212,172,98,.44);border-radius:999px;background:rgba(255,255,255,.7);padding:.55rem .85rem;box-shadow:0 12px 30px rgba(139,103,27,.09);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.kat-cta{background:linear-gradient(135deg,#FFE69A,#E5BF58 46%,#C5A15A);box-shadow:0 0 34px rgba(229,191,88,.42),0 16px 34px rgba(139,103,27,.18);transition:transform .2s ease,box-shadow .3s ease}
.kat-cta:hover{transform:translateY(-1px);box-shadow:0 0 50px rgba(229,191,88,.58),0 16px 34px rgba(139,103,27,.18)}
.kat-gold-text{color:#202940;text-shadow:0 0 18px rgba(255,230,154,.64),0 0 54px rgba(197,161,90,.34)}
.kat-gold-beam{background:linear-gradient(90deg,transparent,rgba(197,161,90,.9),rgba(255,230,154,.85),transparent)}
.kat-visual{isolation:isolate}
.kat-circuit{opacity:.58;background-image:linear-gradient(rgba(32,41,64,.06) 1px,transparent 0),linear-gradient(90deg,rgba(32,41,64,.06) 1px,transparent 0),radial-gradient(circle at 18% 28%,rgba(197,161,90,.32) 0 2px,transparent 2.5px),radial-gradient(circle at 76% 64%,rgba(197,161,90,.28) 0 2px,transparent 2.5px),radial-gradient(circle at 58% 18%,rgba(117,170,185,.26) 0 2px,transparent 2.5px);background-size:42px 42px,42px 42px,100% 100%,100% 100%,100% 100%}
.kat-gold-wave{background:radial-gradient(ellipse 56% 32% at 48% 48%,rgba(255,255,255,.96),transparent 58%),conic-gradient(from 228deg at 50% 50%,transparent 0deg,rgba(255,221,116,.72) 18deg,rgba(255,255,255,.76) 30deg,transparent 48deg),conic-gradient(from 42deg at 50% 50%,transparent 0deg,rgba(197,161,90,.38) 18deg,rgba(255,255,255,.7) 34deg,transparent 54deg);filter:blur(.1px)}
.kat-orbit{box-shadow:0 0 70px rgba(229,191,88,.34),inset 0 0 50px rgba(255,255,255,.86)}
.kat-core{box-shadow:inset 0 0 32px rgba(255,230,154,.42),0 16px 54px rgba(139,103,27,.16)}
.kat-agenda-row{display:grid;grid-template-columns:8rem 1fr;gap:1rem;align-items:stretch}
.kat-time{align-self:start;border:1px solid rgba(212,172,98,.5);border-radius:1rem;background:rgba(255,255,255,.68);padding:.9rem 1rem;color:#202940;font-size:.82rem;font-weight:800;font-variant-numeric:tabular-nums;text-align:center;box-shadow:0 12px 30px rgba(139,103,27,.09);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.kat-lab-pattern{opacity:.5;background:linear-gradient(135deg,transparent 0 42%,rgba(197,161,90,.16) 42.2%,transparent 42.8% 100%),radial-gradient(ellipse 44% 34% at 86% 0,rgba(255,230,154,.42),transparent 70%),linear-gradient(rgba(32,41,64,.035) 1px,transparent 0),linear-gradient(90deg,rgba(32,41,64,.035) 1px,transparent 0);background-size:100% 100%,100% 100%,34px 34px,34px 34px}
.kat-portrait{background:radial-gradient(ellipse at 50% 32%,rgba(255,230,154,.55),transparent 54%),linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,248,226,.72))}
.kat-page{background-image:radial-gradient(ellipse 58% 38% at 82% 8%,rgba(0,174,255,.24),transparent 70%),radial-gradient(ellipse 44% 30% at 14% 10%,rgba(58,112,255,.18),transparent 70%),linear-gradient(rgba(89,215,255,.035) 1px,transparent 0),linear-gradient(90deg,rgba(89,215,255,.035) 1px,transparent 0),linear-gradient(180deg,#071226,#0c2343 48%,#071226);background-size:100% 100%,100% 100%,54px 54px,54px 54px,100% 100%;color:#ffffff}
.kat-hero,.kat-page{background-color:#071226}
.kat-hero{background-image:linear-gradient(90deg,rgba(7,18,38,.9) 0 46%,rgba(7,18,38,.56) 62%,rgba(7,18,38,.9)),radial-gradient(ellipse 54% 40% at 86% 20%,rgba(0,174,255,.36),transparent 72%),radial-gradient(ellipse 62% 40% at 50% 100%,rgba(45,189,255,.18),transparent 72%),linear-gradient(145deg,#071226,#0b2448 55%,#071226)}
.kat-hero:before,.kat-section:before,.kat-white-band:before{background:linear-gradient(115deg,transparent 0 34%,rgba(89,215,255,.14) 34.2%,transparent 34.7% 100%),linear-gradient(128deg,transparent 0 58%,rgba(255,255,255,.08) 58.2%,transparent 58.7% 100%);opacity:.8}
.kat-section,.kat-white-band{background:radial-gradient(ellipse 45% 28% at 88% 0,rgba(0,174,255,.2),transparent 70%),radial-gradient(ellipse 40% 26% at 10% 4%,rgba(58,112,255,.16),transparent 70%),linear-gradient(180deg,#071226,#0b2344)}
.kat-card,.kat-lab-card{border-color:rgba(89,215,255,.18);background:linear-gradient(180deg,rgba(255,255,255,.095),rgba(255,255,255,.045)),radial-gradient(ellipse 72% 46% at 82% 0,rgba(0,174,255,.18),transparent 70%);box-shadow:0 22px 70px rgba(0,14,34,.34)}
.kat-page .text-\[\#202940\],.kat-page h1,.kat-page h2,.kat-page h3{color:#ffffff}
.kat-page .text-\[\#32475F\],.kat-page .text-\[\#39506A\],.kat-page .text-\[\#42566F\],.kat-page .text-\[\#4A5F76\],.kat-page .text-\[\#52687F\],.kat-page p{color:#c6efff}
.kat-page .text-\[\#9A6A13\],.kat-page .text-\[\#B88618\],.kat-page .text-\[\#C5A15A\]{color:#59d7ff}
.kat-chip{border-color:rgba(89,215,255,.26);background:rgba(89,215,255,.08);color:#ffffff;box-shadow:0 0 30px rgba(0,174,255,.12)}
.kat-cta{background:linear-gradient(135deg,#59d7ff,#1f95ff 52%,#2446a9);color:#ffffff;box-shadow:0 0 34px rgba(0,174,255,.45),0 16px 34px rgba(0,14,34,.38)}
.kat-page .kat-cta,.kat-page .kat-cta *,.kat-page .kat-cta svg{color:#ffffff!important;stroke:currentColor}
.kat-cta:hover{box-shadow:0 0 52px rgba(0,174,255,.66),0 16px 34px rgba(0,14,34,.38)}
.kat-page a[href="#kat-tracks"]{border-color:rgba(89,215,255,.38);background:rgba(89,215,255,.1);color:#dff8ff;box-shadow:0 0 30px rgba(0,174,255,.16)}
.kat-page a[href="#kat-tracks"]:hover{border-color:rgba(89,215,255,.7);background:rgba(89,215,255,.18);color:#ffffff}
.kat-gold-text{color:#ffffff;text-shadow:0 0 18px rgba(89,215,255,.72),0 0 54px rgba(31,149,255,.48)}
.kat-gold-beam{background:linear-gradient(90deg,transparent,rgba(89,215,255,.95),rgba(31,149,255,.86),transparent)}
.kat-time{border-color:rgba(89,215,255,.28);background:rgba(89,215,255,.09);color:#ffffff;box-shadow:0 0 30px rgba(0,174,255,.13)}
.kat-page .bg-\[\#FFF4CF\],.kat-page .bg-\[\#FFF7DC\],.kat-page .bg-\[\#FFF8E5\],.kat-page .bg-white\/62,.kat-page .bg-white\/68{background-color:rgba(89,215,255,.1)}
.kat-page .border-\[\#D4AC62\]\/55,.kat-page .border-\[\#E5BF58\]\/45,.kat-page .border-\[\#F0E4C7\],.kat-page .border-\[\#F2D893\],.kat-page .border-\[\#F2D893\]\/60{border-color:rgba(89,215,255,.26)}
.kat-portrait{background:radial-gradient(ellipse at 50% 30%,rgba(89,215,255,.28),transparent 58%),linear-gradient(180deg,rgba(12,35,67,.96),rgba(7,18,38,.88))}
.kat-anchor{border:1px solid rgba(89,215,255,.38);background:rgba(89,215,255,.1);color:#dff8ff;box-shadow:0 0 30px rgba(0,174,255,.16);transition:border-color .2s ease,background .2s ease,color .2s ease}
.kat-anchor:hover{border-color:rgba(89,215,255,.7);background:rgba(89,215,255,.18);color:#ffffff}
@media (max-width:720px){.kat-agenda-row{grid-template-columns:1fr;gap:.75rem}.kat-time{width:-moz-fit-content;width:fit-content;text-align:left}}
@media (prefers-reduced-motion:reduce){.kat-cta,.kat-cta:hover{transform:none}}

/* Dark-skin remaps scoped to the body flag (.amlab-kat-page) so they cover every
   section (not all sit under a .kat-page ancestor). Recolour the light-palette
   text/bg/border tokens to the dark cyan/white skin. Values 1:1 with the reference. */
.amlab-kat-page .text-\[\#202940\]{color:#ffffff}
.amlab-kat-page .text-\[\#32475F\],.amlab-kat-page .text-\[\#42566F\],.amlab-kat-page .text-\[\#4A5F76\]{color:#c6efff}
.amlab-kat-page .text-\[\#9A6A13\],.amlab-kat-page .text-\[\#B88618\],.amlab-kat-page .text-\[\#C5A15A\]{color:#59d7ff}
.amlab-kat-page .bg-\[\#FFF4CF\],.amlab-kat-page .bg-\[\#FFF7DC\],.amlab-kat-page .bg-\[\#FFF8E5\],.amlab-kat-page .bg-white\/62,.amlab-kat-page .bg-white\/68{background-color:rgba(89,215,255,.1)}
/* Hero D-day chip authored bg-white/58 — the reference renders it with NO fill (a
   transparent glass outline over the dark hero), so neutralise the white tint here. */
.amlab-kat-page .bg-white\/58{background-color:transparent}
.amlab-kat-page .border-\[\#E5BF58\]\/45,.amlab-kat-page .border-\[\#F0E4C7\],.amlab-kat-page .border-\[\#F2D893\],.amlab-kat-page .border-\[\#F2D893\]\/60{border-color:rgba(89,215,255,.26)}
.amlab-kat-page .border-\[\#D4AC62\]\/55{border-color:rgba(89,215,255,.38)}
/* kat-2026.css loads before tailwind, so bg-white/* and border-white/* utilities
   on the cards override the component rule -> light cards. Re-assert the dark glass
   bg + cyan hairline at higher specificity so the cards match the reference. */
.amlab-kat-page .kat-card,.amlab-kat-page .kat-lab-card{border-color:rgba(89,215,255,.18);background:linear-gradient(180deg,rgba(255,255,255,.095),rgba(255,255,255,.045)),radial-gradient(ellipse 72% 46% at 82% 0,rgba(0,174,255,.18),transparent 70%)}
