/* Kairos home only. Do not target the existing event page or its bn-* components. */
body.kh-app { --kh-bg:#202c39; --kh-panel:#263543; --kh-line:rgba(183,207,225,.15); --kh-text:#f4f7fa; --kh-muted:#b0c2d1; --kh-accent:#80e6df; --kh-gradient:linear-gradient(110deg,#14bea0,#289abe 58%,#8056bc); }
.kh-header,.kh-belt,.kh-catalog,.kh-drawer,.kh-loading,.kh-error,.kh-update-notice { color:var(--kh-text,#f4f7fa); font-family:system-ui,-apple-system,"Segoe UI",sans-serif; }
.kh-header *, .kh-belt *, .kh-catalog *, .kh-drawer *, .kh-loading *, .kh-error * { box-sizing:border-box; }
.kh-header button,.kh-belt button,.kh-catalog button,.kh-drawer button,.kh-error button { font:inherit; color:inherit; cursor:pointer; }
.kh-header button:focus-visible,.kh-belt button:focus-visible,.kh-catalog :is(button,a,input):focus-visible,.kh-drawer :is(button,a):focus-visible { outline:2px solid #8cf0e7; outline-offset:4px; }
.kh-header button,.kh-drawer button { -webkit-tap-highlight-color:transparent; }
.kh-header { min-height:80px; padding:16px clamp(18px,3vw,48px); display:flex; align-items:center; gap:48px; background:rgba(32,44,57,.96); border-bottom:1px solid var(--kh-line); position:sticky; top:0; z-index:1020; backdrop-filter:blur(20px); }
.kh-brand { display:flex; flex-shrink:0; }
.kh-brand img { width:182px; height:42px; object-fit:contain; }
.kh-nav { display:flex; gap:28px; align-self:stretch; }
.kh-nav button { position:relative; background:none; border:0; padding:0 4px; font-size:14px; color:var(--kh-muted); }
.kh-nav button[aria-current="page"] { color:#fff; font-weight:650; }
.kh-nav button[aria-current="page"]:after { content:""; position:absolute; height:2px; bottom:-17px; left:0; right:0; background:var(--kh-gradient); }
.kh-header-actions { display:flex; align-items:center; margin-left:auto; gap:12px; min-width:0; }
.kh-icon-button { background:transparent; border:1px solid transparent; border-radius:12px; width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; font-size:20px!important; flex-shrink:0; position:relative; }
.kh-icon-button:hover { background:rgba(255,255,255,.06); border-color:var(--kh-line); }
.kh-notification-dot { position:absolute; right:2px; top:2px; border-radius:20px; background:#d5f52a; color:#172632; font-size:10px; font-weight:700; min-width:15px; height:15px; line-height:15px; }
.kh-login,.kh-register,.kh-account { min-height:44px; background:none; border:0; padding:8px 12px; border-radius:10px; display:flex; align-items:center; gap:8px; font-size:13px!important; }
.kh-login>i { display:none; }
.kh-register { border:1px solid #8094a5; padding:8px 22px; }
.kh-account { padding:0; max-width:190px; }
.kh-avatar { width:36px; height:36px; border-radius:50%; overflow:hidden; background:var(--kh-panel); flex-shrink:0; }
.kh-avatar img { object-fit:cover; width:100%; height:100%; }
.kh-account-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body.kh-app .app-header-fixed { padding-top:0; }
body.kh-browsing .pace { display:none; }
body.kh-app #content.kh-home-content { max-width:1600px; margin:0 auto; padding:24px clamp(18px,3vw,48px) 28px; }
.kh-belt { display:flex; align-items:center; padding:16px 18px 16px 24px; margin-bottom:24px; border:1px solid var(--kh-line); border-radius:18px; background:linear-gradient(110deg,rgba(72,100,119,.12),rgba(32,44,57,.4)); gap:28px; }
.kh-belt[hidden],.kh-catalog [hidden],.kh-drawer [hidden],.kh-media [hidden] { display:none!important; }
.kh-belt-intro { flex:1; min-width:220px; }
.kh-belt h1 { font-size:23px; font-weight:720; margin:0 0 6px; letter-spacing:-.7px; }
.kh-belt p { color:var(--kh-muted); font-size:12px; margin:0; }
.kh-shortcuts { flex:2.7; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.kh-shortcuts>button { position:relative; padding:12px 10px; min-height:76px; border:1px solid var(--kh-line); border-radius:12px; background:linear-gradient(155deg,rgba(255,255,255,.045),rgba(255,255,255,.015)); display:flex; flex-direction:column; gap:9px; align-items:center; justify-content:center; font-size:12px; transition:background .18s,transform .18s; }
.kh-shortcuts>button:after { content:""; position:absolute; bottom:-1px; left:22%; right:22%; height:2px; border-radius:3px; background:var(--kh-gradient); opacity:.8; }
.kh-shortcuts>button:hover { background:rgba(113,203,206,.07); transform:translateY(-2px); }
.kh-shortcuts>button>i:first-child { font-size:23px; color:#c0cbd4; filter:drop-shadow(0 2px 0 rgba(255,255,255,.14)); }
.kh-shortcuts .kh-more-access { flex-direction:row; gap:10px; }
.kh-shortcuts .kh-more-access:after { display:none; }
.kh-shortcut-arrow { font-size:10px; margin-left:4px; }
.kh-mobile-label { display:none; }
.kh-carousel { margin:0 0 20px; }
.kh-slides { position:relative; width:100%; aspect-ratio:4.5/1; min-height:220px; overflow:hidden; border-radius:18px; background:#192530; border:1px solid var(--kh-line); }
.kh-slide { position:absolute!important; inset:0; opacity:0; pointer-events:none; transition:opacity .55s ease; display:block; color:#fff; text-decoration:none; }
.kh-slide:hover { color:#fff; text-decoration:none; }
.kh-slide[aria-hidden="false"] { opacity:1; pointer-events:auto; z-index:1; }
.kh-slide img { width:100%; height:100%; object-fit:cover; }
.kh-slide-overlay { position:absolute; inset:0; z-index:2; display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:22px; background:linear-gradient(180deg,rgba(5,12,18,.02) 25%,rgba(5,12,18,.3) 58%,rgba(5,12,18,.85) 100%); }
.kh-slide-copy { min-width:0; }
.kh-slide-title { display:block; font-size:clamp(20px,1.8vw,26px); line-height:1.2; font-weight:800; letter-spacing:-.35px; text-shadow:0 2px 12px rgba(0,0,0,.4); overflow-wrap:anywhere; }
.kh-slide-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.kh-slide-meta-chip { display:inline-flex; align-items:center; gap:9px; max-width:100%; padding:8px 12px; border:1px solid rgba(255,255,255,.18); border-radius:999px; background:rgba(255,255,255,.1); backdrop-filter:blur(8px); font-size:12px; line-height:1.4; }
.kh-slide-meta-chip>i { flex-shrink:0; font-size:16px; }
.kh-slide-meta-chip>span { min-width:0; overflow-wrap:anywhere; }
.kh-slide-meta-separator { margin:0 5px; }
.kh-slide-badges { display:flex; flex-direction:column; align-items:flex-end; flex-shrink:0; gap:9px; }
.kh-slide-days,.kh-slide-status { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-width:88px; padding:10px 14px; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.12); backdrop-filter:blur(8px); border-radius:14px; line-height:1.2; }
.kh-slide-days strong { font-size:18px; font-weight:800; font-variant-numeric:tabular-nums; }
.kh-slide-days small { font-size:11px; color:rgba(255,255,255,.85); }
.kh-slide-status { border-radius:999px; font-size:12px; font-weight:700; }
.kh-slide-status-open { background:rgba(21,133,84,.3); border-color:rgba(68,204,141,.38); }
.kh-slide-status-last { background:rgba(170,106,21,.3); border-color:rgba(239,184,74,.4); }
.kh-slide-status-closed { background:rgba(162,48,68,.3); border-color:rgba(232,105,127,.4); }
.kh-slide-status-soon { background:rgba(107,75,164,.3); border-color:rgba(176,140,241,.4); }
.kh-carousel-controls { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:44px; padding:4px 2px 0; }
.kh-dots { display:flex; flex-wrap:wrap; gap:0; align-items:center; }
.kh-dots button { height:36px; width:24px; padding:0; border:0; background:none; position:relative; }
.kh-dots button:after { content:""; width:5px; height:5px; border-radius:9px; background:#6f8293; position:absolute; top:15px; left:9px; transition:width .2s,background .2s; }
.kh-dots button[aria-pressed="true"]:after { background:#71ddd4; width:16px; left:3px; }
.kh-carousel-buttons { display:flex; align-items:center; gap:3px; }
.kh-carousel-buttons button { width:36px; height:36px; border:1px solid transparent; background:none; color:#c4d3df; border-radius:50%; font-size:11px; }
.kh-carousel-buttons button:hover { border-color:var(--kh-line); background:rgba(255,255,255,.04); }
.kh-slide-count { font-size:11px; font-variant-numeric:tabular-nums; color:var(--kh-muted); margin-right:12px; white-space:nowrap; }
.kh-search { display:flex; align-items:center; gap:14px; padding:7px 8px 7px 20px; background:linear-gradient(100deg,rgba(49,67,82,.65),rgba(38,53,67,.3)); border:1px solid rgba(176,199,217,.25); border-radius:13px; margin-bottom:32px; }
.kh-search>i { font-size:18px; color:#bdcfdd; }
.kh-search input { min-width:0; flex:1; border:0; background:transparent!important; color:#fff; outline:none; font:inherit; font-size:14px; box-shadow:none!important; height:40px; }
.kh-search input::placeholder { color:#b0c2d1; opacity:1; }
.kh-search button { min-width:118px; min-height:42px; border:1px solid rgba(113,224,215,.5); border-radius:9px; background:linear-gradient(115deg,#0d8b7a,#176a91); display:flex; gap:15px; justify-content:center; align-items:center; font-size:13px; font-weight:650; }
.kh-list-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:20px; }
.kh-eyebrow { font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--kh-muted); display:block; margin-bottom:6px; }
.kh-list-heading h2 { font-size:30px; letter-spacing:-1px; font-weight:700; margin:0; line-height:1.2; }
.kh-title-dot { color:#67d8cd; }
.kh-view-switch { display:flex; padding:3px; gap:3px; border:1px solid var(--kh-line); border-radius:11px; background:rgba(15,26,38,.2); }
.kh-view-switch button { display:flex; align-items:center; gap:9px; min-height:36px; padding:7px 17px; border:1px solid transparent; border-radius:8px; background:none; font-size:12px; color:var(--kh-muted); }
.kh-view-switch button[aria-pressed="true"] { background:rgba(48,183,183,.12); border-color:rgba(119,220,218,.65); color:#efffff; }
.kh-list-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; }
.kh-filters { display:flex; gap:8px; flex-wrap:wrap; }
.kh-filters button { font-size:12px; border:1px solid var(--kh-line); min-height:36px; padding:7px 18px; border-radius:24px; color:#c6d4df; background:rgba(255,255,255,.02); }
.kh-filters button[aria-pressed="true"] { background:rgba(62,181,182,.19); border-color:#62babb; color:#efffff; }
.kh-results-count { font-size:11px; color:var(--kh-muted); white-space:nowrap; }
.kh-event-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.kh-event-card { overflow:hidden; background:linear-gradient(145deg,#293948,#243340); border:1px solid var(--kh-line); border-radius:14px; box-shadow:0 5px 20px rgba(10,19,26,.09); transition:border-color .2s,box-shadow .2s,transform .2s; min-width:0; }
.kh-event-card:hover { transform:translateY(-3px); border-color:rgba(129,199,206,.5); box-shadow:0 12px 26px rgba(10,19,26,.2); }
.kh-event-card>a { display:flex; flex-direction:column; height:100%; color:inherit; text-decoration:none; }
.kh-card-cover { aspect-ratio:2.7/1; background:#192731; border-bottom:1px solid var(--kh-line); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.kh-card-cover:before { content:""; position:absolute; inset:-24px; background-image:var(--kh-art); background-size:cover; background-position:center; filter:blur(20px); opacity:.25; pointer-events:none; }
.kh-card-cover>img { width:100%; height:100%; object-fit:cover; display:block; position:relative; transition:transform .4s; }
.kh-logo-cover>img { object-fit:contain; padding:24px; }
.kh-card-body { padding:16px; display:flex; flex-direction:column; flex:1; }
.kh-card-identity { display:flex; gap:11px; align-items:flex-start; }
.kh-card-identity>div { min-width:0; flex:1; }
.kh-card-logo { width:42px; height:42px; flex-shrink:0; border-radius:10px; overflow:hidden; background:rgba(255,255,255,.05); }
.kh-card-logo>img { width:100%; height:100%; object-fit:contain; }
.kh-card-body h3 { font-size:14px; line-height:1.4; font-weight:680; margin:0 0 7px; color:#fff; overflow-wrap:anywhere; }
.kh-card-date,.kh-card-location { font-size:11px; color:#b8cbd9; margin:0; display:flex; gap:7px; align-items:center; line-height:1.6; }
.kh-card-location { margin:11px 0 0; }
.kh-card-bottom { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-top:auto; padding-top:16px; }
.kh-status { font-size:10px; line-height:1.2; padding:6px 10px; border-radius:20px; white-space:nowrap; border:1px solid; }
.kh-status-open { background:rgba(209,169,42,.12); color:#ffe28c; border-color:rgba(235,195,73,.3); }
.kh-status-last { background:rgba(228,149,46,.14); color:#ffd792; border-color:rgba(228,149,46,.4); }
.kh-status-closed { background:rgba(211,82,103,.12); color:#ffb5bf; border-color:rgba(211,109,130,.3); }
.kh-status-soon { background:rgba(139,113,216,.13); color:#d7c8ff; border-color:rgba(164,135,242,.3); }
.kh-card-action { color:#90e0e1; font-size:11px; font-weight:600; display:flex; align-items:center; gap:8px; white-space:nowrap; }
.kh-card-action i { font-size:9px; }
.kh-load-more { text-align:center; padding:28px 0 12px; }
.kh-load-more button { min-width:220px; min-height:46px; border:1px solid #69babc; border-radius:26px; background:rgba(18,36,47,.2); font-size:14px; display:inline-flex; align-items:center; justify-content:center; gap:20px; padding:12px 30px; }
.kh-load-more button:hover { background:rgba(60,171,174,.13); }
.kh-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid var(--kh-line); margin-top:20px; padding-top:20px; font-size:10px; color:var(--kh-muted); }
.kh-footer a { color:#c7d9e6; display:flex; gap:9px; align-items:center; text-decoration:none; }
.kh-event-grid[data-view="list"] { grid-template-columns:1fr; gap:12px; }
.kh-event-grid[data-view="list"] .kh-event-card>a { flex-direction:row; }
.kh-event-grid[data-view="list"] .kh-card-cover { width:220px; flex-shrink:0; aspect-ratio:auto; border-bottom:0; border-right:1px solid var(--kh-line); }
.kh-event-grid[data-view="list"] .kh-card-body { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px 24px; align-items:center; }
.kh-event-grid[data-view="list"] .kh-card-bottom { grid-column:2; grid-row:1/3; margin:0; padding:0; gap:28px; }
.kh-event-grid[data-view="list"] .kh-card-location { margin:0 0 0 53px; }
.kh-drawer { position:fixed; inset:0 0 0 auto; height:100dvh; max-height:100dvh; width:420px; max-width:100%; margin:0; padding:28px; background:#202e3b; border:0; border-left:1px solid var(--kh-line); box-shadow:-18px 0 60px rgba(0,0,0,.24); overflow-y:auto; overscroll-behavior:contain; color:#f4f7fa; }
.kh-drawer::backdrop { background:rgba(9,18,27,.65); backdrop-filter:blur(4px); }
.kh-drawer[open] { animation:kh-drawer-in .22s ease-out; }
.kh-drawer-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:24px; position:sticky; top:0; z-index:2; background:#202e3b; padding-bottom:12px; }
.kh-drawer h2 { margin:0 0 6px; font-size:23px; font-weight:720; letter-spacing:-.6px; }
.kh-drawer-heading p { font-size:12px; color:#afc4d3; margin:0; }
.kh-drawer-account { display:flex; align-items:center; gap:14px; border:1px solid var(--kh-line); border-radius:14px; background:rgba(255,255,255,.025); padding:18px 16px; margin-bottom:26px; }
.kh-account-symbol { height:42px; width:42px; background:rgba(208,229,238,.09); border-radius:50%; display:grid; place-items:center; color:#c1d0dc; font-size:22px; flex-shrink:0; }
.kh-drawer-account strong { display:block; font-size:12px; overflow-wrap:anywhere; }
.kh-drawer-account>div>span { color:var(--kh-muted); display:block; font-size:11px; margin-top:5px; }
.kh-auth-links { display:flex; gap:20px; margin-top:9px; }
.kh-auth-links button { border:0; background:none; padding:0; color:#8ce6e5; font-size:12px; min-height:24px; }
.kh-drawer-group { margin:0 0 22px; }
.kh-drawer-group h3 { text-transform:uppercase; letter-spacing:1.7px; font-size:10px; color:#b3c6d7; margin:0 0 10px; }
.kh-drawer-group>button { display:flex; width:100%; align-items:center; gap:14px; text-align:left; min-height:49px; padding:12px 15px; background:rgba(255,255,255,.025); border:1px solid var(--kh-line); border-bottom:0; font-size:12px; }
.kh-drawer-group>button:nth-child(2) { border-radius:12px 12px 0 0; }
.kh-drawer-group>button:last-child { border-bottom:1px solid var(--kh-line); border-radius:0 0 12px 12px; }
.kh-drawer-group>button:hover { background:rgba(109,207,209,.08); }
.kh-drawer-group>button>i:first-child { width:24px; font-size:19px; color:#c5d0da; text-align:center; }
.kh-drawer-group>button>i:last-child { margin-left:auto; font-size:10px; color:#a9bfce; }
.kh-signout { background:none; border:1px solid var(--kh-line); width:100%; min-height:46px; border-radius:12px; color:#ffc2c7!important; display:flex; gap:14px; align-items:center; justify-content:center; }
.kh-empty,.kh-error { text-align:center; padding:50px 24px; border:1px dashed var(--kh-line); border-radius:16px; margin:16px 0; }
.kh-empty>i,.kh-error>i { font-size:28px; color:#90adbf; margin-bottom:16px; }
.kh-empty h3,.kh-error h3 { color:#f3f7fa; font-size:18px; margin:0 0 10px; }
.kh-empty p,.kh-error p { color:#b9c9d6; font-size:13px; line-height:1.7; }
.kh-empty button,.kh-error button { border:1px solid #76b9ba; background:transparent; color:#acf1e8; padding:12px 20px; border-radius:10px; min-height:44px; }
.kh-refresh-status { color:#b9d9df; font-size:12px; padding:12px 16px; background:rgba(114,191,208,.07); border:1px solid var(--kh-line); border-radius:10px; margin:0 0 16px; }
.kh-refresh-status button,.kh-update-notice button { color:#a0ede6; background:none; border:0; text-decoration:underline; margin-left:8px; }
.kh-update-notice { padding:12px 18px; font-size:12px; border-bottom:1px solid rgba(176,207,224,.18); background:#253d4b; }
.kh-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
/* Ghosts reserve dimensions. Already loaded content remains visible during a background refresh. */
.kh-media { position:relative; }
.kh-media img { opacity:0; transition:opacity .28s ease; }
.kh-media.kh-ready img { opacity:1; }
.kh-media:not(.kh-ready):not(.kh-failed):after,.kh-ghost:after { content:""; position:absolute; inset:0; background:linear-gradient(100deg,transparent 10%,rgba(174,212,231,.09) 45%,transparent 75%); transform:translateX(-100%); animation:kh-shimmer 1.7s infinite; pointer-events:none; }
.kh-media-fallback { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; color:#9bb7c8; text-align:center; width:100%; height:100%; font-size:12px; padding:16px; }
.kh-media-fallback>i { font-size:28px; }
.kh-media.kh-failed img { display:none; }
.kh-media.kh-failed .kh-media-fallback { display:flex!important; }
.kh-card-logo .kh-media-fallback { padding:0; }
.kh-card-logo .kh-media-fallback>i { font-size:17px; }
.kh-loading { padding:0; width:100%; }
.kh-loading-panel { padding:26px; }
.kh-ghost { background:rgba(161,192,211,.07); border:1px solid rgba(171,197,214,.04); border-radius:10px; position:relative; overflow:hidden; }
.kh-ghost-hero { aspect-ratio:4.5/1; min-height:220px; border-radius:18px; margin-bottom:22px; }
.kh-ghost-search { height:56px; margin-bottom:28px; }
.kh-ghost-title { height:32px; width:220px; margin-bottom:20px; }
.kh-ghost-filters { height:35px; width:65%; margin-bottom:22px; }
.kh-ghost-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.kh-ghost-card { border-radius:14px; border:1px solid rgba(182,207,225,.1); overflow:hidden; }
.kh-ghost-cover { aspect-ratio:2.7/1; border-radius:0; }
.kh-ghost-copy { padding:18px; display:grid; gap:12px; }
.kh-ghost-line { height:14px; width:90%; }
.kh-ghost-line:nth-child(2) { width:62%; height:11px; }
.kh-ghost-line:nth-child(3) { width:42%; height:22px; margin-top:8px; }
.kh-loading-panel .kh-ghost-grid { grid-template-columns:1fr; }
.kh-loading-panel .kh-ghost-card { padding:16px; }
.kh-loading-panel .kh-ghost-cover { height:80px; aspect-ratio:auto; border-radius:8px; }
@keyframes kh-shimmer { to { transform:translateX(100%); } }
@keyframes kh-drawer-in { from { transform:translateX(35px); opacity:0; } to { transform:translateX(0); opacity:1; } }
@media(min-width:1600px) { .kh-header { padding-left:max(48px,calc((100vw - 1504px)/2)); padding-right:max(48px,calc((100vw - 1504px)/2)); } }
@media(max-width:1100px) {
 .kh-header { gap:30px; }
 .kh-belt { gap:20px; }
 .kh-belt-intro { min-width:170px; }
 .kh-belt h1 { font-size:20px; }
 .kh-belt p { font-size:11px; }
 .kh-shortcuts { gap:8px; }
 .kh-event-grid { gap:16px; }
 .kh-card-body { padding:13px; }
 .kh-card-logo { width:35px; height:35px; }
 .kh-card-action { font-size:10px; gap:5px; }
 .kh-card-body h3 { font-size:13px; }
}
@media(max-width:900px) {
 .kh-event-grid,.kh-ghost-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .kh-belt-intro { min-width:0; }
 .kh-belt { display:block; padding:18px; }
 .kh-belt-intro { margin-bottom:16px; }
 .kh-belt h1 { font-size:20px; display:inline; }
 .kh-belt p { display:inline; margin-left:12px; }
 .kh-nav { gap:18px; }
 .kh-header { gap:20px; }
 .kh-brand img { width:155px; }
 .kh-header-actions { gap:4px; }
 .kh-event-grid[data-view="list"] .kh-card-cover { width:150px; }
 .kh-event-grid[data-view="list"] .kh-card-bottom { gap:12px; }
}
@media(max-width:600px) {
 .kh-header { min-height:66px; padding:10px 16px; gap:8px; }
 .kh-brand img { width:142px; height:34px; }
 .kh-nav,.kh-register,.kh-account-name,.kh-login>span { display:none; }
 .kh-login { padding:0; width:40px; justify-content:center; }
 .kh-login>i { display:block; font-size:19px; }
 .kh-header-actions { gap:1px; }
 .kh-icon-button { width:40px; height:42px; font-size:19px!important; }
 body.kh-app #content.kh-home-content { padding:16px 16px 28px; }
 .kh-belt { padding:16px 12px 12px; border-radius:15px; margin-bottom:18px; }
 .kh-belt-intro { margin:0 0 15px 2px; }
 .kh-belt h1 { display:block; font-size:19px; letter-spacing:-.5px; margin:0 0 4px; }
 .kh-belt p { display:block; font-size:11px; margin:0; }
 .kh-shortcuts { gap:7px; }
 .kh-shortcuts>button { min-height:74px; padding:10px 2px; gap:10px; font-size:11px; border-radius:10px; }
 .kh-shortcuts>button>i:first-child { font-size:21px; }
 .kh-shortcuts .kh-more-access { flex-direction:column; gap:10px; }
 .kh-shortcuts .kh-more-access:after { display:block; }
 .kh-shortcut-arrow,.kh-desktop-label { display:none!important; }
 .kh-mobile-label { display:inline; }
 .kh-slides,.kh-ghost-hero { aspect-ratio:1.5/1; min-height:260px; border-radius:13px; }
 .kh-slide-overlay { flex-direction:column; align-items:stretch; justify-content:flex-end; gap:12px; padding:16px; background:linear-gradient(180deg,rgba(5,12,18,.02),rgba(5,12,18,.25) 35%,rgba(5,12,18,.9) 100%); }
 .kh-slide-title { font-size:20px; }
 .kh-slide-meta { gap:6px; margin-top:9px; }
 .kh-slide-meta-chip { font-size:11px; gap:7px; padding:7px 9px; }
 .kh-slide-meta-chip>i { font-size:14px; }
 .kh-slide-meta-separator { margin:0 3px; }
 .kh-slide-badges { flex-direction:row; align-items:center; gap:8px; }
 .kh-slide-days,.kh-slide-status { min-width:76px; min-height:34px; padding:7px 11px; }
 .kh-slide-days { border-radius:11px; }
 .kh-slide-days strong { font-size:16px; }
 .kh-slide-status { font-size:11px; }
 .kh-carousel { margin-bottom:16px; }
 .kh-carousel-controls { gap:8px; min-height:42px; }
 .kh-dots { max-width:62%; }
 .kh-dots button { width:18px; height:32px; }
 .kh-dots button:after { top:14px; left:7px; width:4px; height:4px; }
 .kh-dots button[aria-pressed="true"]:after { left:3px; width:12px; }
 .kh-carousel-buttons button { width:34px; height:40px; }
 .kh-slide-count { display:none; }
 .kh-search { padding:6px 6px 6px 13px; gap:10px; margin-bottom:27px; border-radius:11px; }
 .kh-search input { font-size:16px; height:38px; width:100%; }
 .kh-search input::placeholder { font-size:12px; }
 .kh-search>i { font-size:15px; }
 .kh-search button { min-width:42px; min-height:40px; }
 .kh-search button>span { display:none; }
 .kh-list-heading { margin-bottom:17px; align-items:center; gap:8px; }
 .kh-list-heading h2 { font-size:23px; letter-spacing:-.7px; }
 .kh-eyebrow { font-size:8px; letter-spacing:1.6px; margin-bottom:5px; }
 .kh-view-switch { padding:2px; gap:1px; }
 .kh-view-switch button { padding:8px 10px; min-width:36px; min-height:38px; font-size:13px; }
 .kh-view-switch button span { display:none; }
 .kh-list-toolbar { display:block; margin-bottom:15px; }
 .kh-filters { display:grid; grid-template-columns:1fr 1.35fr; gap:8px; }
 .kh-filters button { min-height:39px; font-size:11px; padding:7px 8px; }
 .kh-results-count { display:block; font-size:10px; margin-top:13px; }
 .kh-event-grid,.kh-ghost-grid { grid-template-columns:1fr; gap:16px; }
 .kh-event-card { border-radius:13px; }
 .kh-card-cover { aspect-ratio:2.7/1; }
 .kh-card-body { padding:15px; }
 .kh-card-logo { width:42px; height:42px; border-radius:9px; }
 .kh-card-body h3 { font-size:14px; }
 .kh-card-date,.kh-card-location { font-size:11px; }
 .kh-card-action { font-size:11px; gap:8px; }
 .kh-card-bottom { padding-top:16px; }
 .kh-status { font-size:10px; padding:6px 10px; }
 .kh-load-more { padding:23px 0 8px; }
 .kh-load-more button { width:100%; min-height:48px; }
 .kh-footer { flex-direction:column; gap:15px; padding-top:22px; text-align:center; line-height:1.7; }
 .kh-event-grid[data-view="list"] .kh-card-cover { width:82px; }
 .kh-event-grid[data-view="list"] .kh-card-logo { display:none; }
 .kh-event-grid[data-view="list"] .kh-card-body { display:flex; padding:12px; gap:0; }
 .kh-event-grid[data-view="list"] .kh-card-body h3 { font-size:12px; }
 .kh-event-grid[data-view="list"] .kh-card-location { margin:6px 0 0; font-size:10px; }
 .kh-event-grid[data-view="list"] .kh-card-bottom { margin-top:10px; width:100%; gap:5px; }
 .kh-event-grid[data-view="list"] .kh-status { font-size:9px; padding:5px 7px; }
 .kh-event-grid[data-view="list"] .kh-card-action { font-size:9px; }
 .kh-drawer { width:100%; padding:24px 20px max(24px,env(safe-area-inset-bottom)); border:0; }
 .kh-drawer-group>button { min-height:54px; font-size:14px; }
 .kh-drawer-account strong { font-size:13px; }
 .kh-drawer-heading { margin-bottom:22px; }
 .kh-drawer .kh-icon-button { width:44px; height:44px; }
 .kh-ghost-grid .kh-ghost-card:nth-child(n+4) { display:none; }
 .kh-loading-panel { padding:20px; }
}
@media(max-width:359px) {
 .kh-brand img { width:122px; }
 .kh-header { padding:10px 12px; }
 body.kh-app #content.kh-home-content { padding-left:12px; padding-right:12px; }
 .kh-list-heading h2 { font-size:21px; }
 .kh-shortcuts>button { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) {
 .kh-header *,.kh-belt *,.kh-catalog *,.kh-drawer,.kh-drawer *,.kh-loading *,.kh-media:after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
