/* Freshlook: visual layer only. Existing routes, forms and action hooks stay intact. */
:root {
 --bg:#050807; --panel:#0d1510; --panel-2:#101c14; --text:#f3f8f4; --muted:#8d9e92;
 --line:rgba(158,214,173,.15); --green:#9cff3b; --lime:#9cff3b;
 --shadow:0 16px 44px rgba(0,0,0,.2); --ui-gap:12px;
 font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body { background:radial-gradient(circle at 14% 0%,rgba(104,255,113,.065),transparent 32rem),#050807; color:var(--text); }
.shell { width:min(1440px,100%); padding:0 28px 32px; overflow:visible; }
.hero.site-header {
 position:sticky; top:0; z-index:35; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center;
 gap:26px; min-height:76px; margin:0 0 22px; padding:12px 0;
 border:0; border-bottom:1px solid rgba(255,255,255,.07); background:rgba(5,8,7,.97); overflow:visible;
}
.hero.site-header::after,.hero.site-header::before { content:none; }
.site-header .brand-lockup { display:flex; align-items:center; gap:11px; min-width:0; }
.site-header .brand-logo { width:35px; height:35px; object-fit:contain; filter:none; flex:none; }
.site-header h1 { margin:0; font-size:24px; line-height:1; letter-spacing:-.045em; font-weight:800; text-shadow:none; white-space:nowrap; }
.site-header > .tabs {
 position:static; display:flex; grid-column:auto; grid-row:auto; gap:3px; margin:0; padding:0;
 min-width:0; width:auto; border:0; overflow:visible; background:none; justify-content:center;
}
.site-header .tab {
 position:relative; flex:0 1 auto; width:auto; min-width:0; height:44px; min-height:44px;
 padding:0 13px; border:0; border-radius:10px; background:none; color:#929e96;
 font-size:13px; font-weight:650; white-space:nowrap; box-shadow:none;
}
.site-header .tab:hover { color:var(--text); background:rgba(255,255,255,.035); }
.site-header .tab.active { color:var(--text); background:transparent; border:0; }
.site-header .tab.active::after { content:""; position:absolute; bottom:0; left:13px; right:13px; height:2px; border-radius:2px; background:linear-gradient(90deg,#9cff3b,#50ef91); }
.site-header #manageSpaceNav { border:0; margin:0; }
.site-header > .header-wallet { grid-column:auto; grid-row:auto; justify-self:end; gap:12px; height:44px; width:auto; min-width:0; }
.header-wallet .balance { flex:none; font-size:13px; }
.header-wallet .balance strong { color:var(--lime); font-size:13px; font-weight:750; white-space:nowrap; }
.header-wallet .hero-actions { width:auto; gap:7px; margin:0; }
.header-wallet #dailyBtn { min-height:36px; height:36px; border-radius:11px; font-size:11px; padding:0 11px; }
.primary { background:linear-gradient(135deg,#216b46,#164c34); border:1px solid rgba(115,255,158,.3); border-radius:11px; color:#f3fff5; box-shadow:none; }
.primary:hover { background:linear-gradient(135deg,#2b8156,#1e6343); border-color:rgba(115,255,158,.55); box-shadow:0 5px 20px #24ba6512; }
.ghost { background:#101b14; border-color:var(--line); border-radius:11px; }
input,select,textarea { background:#09100c; border-color:var(--line); border-radius:11px; min-width:0; }
input:focus,select:focus,textarea:focus { border-color:#76c96d; box-shadow:0 0 0 3px #9cff3b0a; }
button:focus-visible,a:focus-visible { outline:2px solid #9cff3b; outline-offset:3px; }
input::placeholder,textarea::placeholder { color:#6f8075; }
#marketTools { display:grid; grid-template-columns:minmax(180px,1fr) 174px 166px 286px; gap:12px; margin:0 0 20px; }
#marketTools > input,#marketTools > select,#localTools > input,#localTools > select,#localTools > button { height:48px; min-height:48px; border-radius:14px; font-size:13px; }
#marketSearch,#spaceSearch {
 padding-left:43px;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23748679' stroke-width='1.7'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m16 16 5 5'/%3E%3C/svg%3E");
 background-repeat:no-repeat; background-position:15px center; background-size:18px;
}
#marketTools .subtabs { display:flex; gap:4px; min-width:0; height:48px; padding:4px; margin:0; border:1px solid var(--line); border-radius:14px; background:#09100c; }
#marketTools .subtab { flex:1; min-width:0; min-height:38px; padding:0 10px; border:0; border-radius:10px; background:transparent; font-size:12px; color:#8d9e92; white-space:nowrap; }
#marketTools .subtab.active { background:linear-gradient(135deg,#9cff3b,#66ed7b); color:#071009; font-weight:750; box-shadow:none; }
#eventsView.local-catalog { grid-template-columns:minmax(180px,1fr) 174px 166px 286px; gap:12px; }
#eventsView.local-catalog #marketTools .subtabs { grid-column:4; }
#events.events { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
#events.events.local-catalog { grid-template-columns:repeat(3,minmax(0,1fr)); }
#events.events .compact-market {
 --card-accent:#9cff3b; position:relative; display:flex; flex-direction:column; height:auto; min-height:200px; padding:0;
 border:1px solid var(--line); border-radius:19px; overflow:hidden;
 background:linear-gradient(155deg,#111a14,#090f0b); box-shadow:none;
 transition:border-color 180ms ease,box-shadow 180ms ease;
}
#events.events .compact-market::after { content:""; position:absolute; pointer-events:none; top:0; left:18px; right:18px; height:1px; background:linear-gradient(90deg,transparent,var(--card-accent),transparent); opacity:.45; }
#events.events .compact-market:hover, #events.events .compact-market:has(.market-open:focus-visible) { border-color:#9cff3b; box-shadow:0 0 0 1px #9cff3b30,0 12px 30px #0003; }
.compact-market[data-topic="спорт"] { --card-accent:#62d7ff !important; }
.compact-market[data-topic="политика"] { --card-accent:#b09aff !important; }
.compact-market[data-topic="россия"] { --card-accent:#ffba77 !important; }
.compact-market[data-topic="медиа"] { --card-accent:#df9fff !important; }
.compact-market[data-topic="другое"] { --card-accent:#a9c7b1 !important; }
.compact-market .market-open { display:flex; flex-direction:column; flex:1; width:100%; height:auto; gap:13px; padding:17px; border-radius:inherit; overflow:visible; }
.compact-market .market-open:hover,.compact-market .market-open:focus-visible { background:transparent; outline:none; }
.market-card-top { display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; }
.market-id-group { display:flex; align-items:center; gap:8px; min-width:0; overflow:hidden; }
.compact-market .event-id { padding:0; color:var(--card-accent); font-size:12px; font-weight:800; white-space:nowrap; }
.market-topic { font-size:9px; text-transform:uppercase; letter-spacing:.09em; color:#819388; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.market-card-top > .status { font-size:10px; color:#8fa799; flex:none; }
.compact-market .market-title { display:block; height:auto; min-height:40px; max-height:none; overflow:visible; font-size:14px; line-height:1.4; font-weight:700; letter-spacing:-.015em; }
.compact-market .event-deadline { display:block; margin-top:auto; font-size:10px; color:#84988a; white-space:normal; }
.compact-market .event-deadline.closing-soon { color:#f0c66d; }
.compact-market .market-outcomes-preview { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); flex-wrap:nowrap; gap:7px; height:auto; width:100%; min-height:38px; overflow:visible; }
.compact-market .market-outcomes-preview.has-more { grid-template-columns:repeat(2,minmax(0,1fr)) minmax(62px,.65fr); }
.compact-market .market-outcomes-preview > span { display:flex; align-items:center; justify-content:space-between; gap:6px; min-width:0; border:1px solid var(--line); border-radius:10px; padding:9px; background:#070e09; white-space:normal; font-size:10px; }
.market-outcome-label { min-width:0; overflow-wrap:anywhere; }
.compact-market .market-outcomes-preview b { color:#9cff3b; font-size:12px; font-variant-numeric:tabular-nums; flex:none; }
.compact-market .market-outcomes-preview .market-more-outcomes { color:#a5b3a9; }
/* Hourly markets keep their existing native carousel and chart/action hooks. */
.live-carousel { grid-column:1/-1; gap:8px; overflow:visible; margin-bottom:6px; }
.live-carousel-arrow { align-self:center; width:30px; min-height:46px; height:46px; border-radius:10px; font-size:18px; }
.live-carousel-viewport { border-radius:22px; }
#events.events .live-carousel-viewport > .live-strip {
 position:relative; padding:24px; min-width:100%; border:1px solid rgba(153,228,169,.24); border-radius:22px;
 background:radial-gradient(ellipse at 75% 0%,#6aff671c,transparent 55%),linear-gradient(135deg,#121e16,#090f0c);
 box-shadow:0 12px 40px #0002; overflow:hidden;
}
.live-strip-head { grid-template-columns:auto minmax(0,1fr) auto auto; gap:12px; align-items:center; margin-bottom:20px; }
.live-strip-head > .event-id { color:#9cff3b; font-size:13px; }
.live-strip-head > .event-id::before { content:"LIVE"; display:inline-block; margin-right:10px; padding:5px 9px; background:#9cff3b; color:#071009; border-radius:20px; font-size:10px; font-weight:800; }
.live-strip-head h2 { font-size:22px; font-weight:750; line-height:1.2; letter-spacing:-.025em; }
.live-strip-head > .status,.live-carousel-position { font-size:11px; color:#8fa799; }
.live-strip-body { grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr); gap:28px; align-items:stretch; }
.live-strip .live-market-quote { min-width:0; }
.live-strip .live-market-values { margin-bottom:12px; gap:12px; }
.live-strip .live-market-values small { font-size:11px; color:#84988a; margin-bottom:5px; }
.live-strip .live-market-values strong { font-size:16px; font-weight:700; }
.live-strip .live-market-chart { height:116px; background:transparent; border-radius:0; }
.live-market-odds-note,.live-market-source { font-size:10px; color:#839b8c; line-height:1.5; }
.live-strip-betting { display:flex; flex-direction:column; gap:12px; padding:16px; background:#050c0899; border:1px solid var(--line); border-radius:16px; }
.live-strip .outcome-choice-hint { margin:0; color:#9caf9f; font-size:11px; }
.live-strip .outcomes { display:grid; grid-template-columns:minmax(0,1fr); gap:9px; }
.live-strip .outcome-bet { display:block; min-width:0; }
.live-strip .outcome { min-height:59px; padding:12px; border-radius:12px; background:linear-gradient(95deg,#18342199,#0c170f); }
.live-strip .outcome-choice-info strong { font-size:13px; }
.live-strip .outcome-choice-info .status { font-size:10px; }
.live-strip .odds { color:#9cff3b; font-size:22px; }
.live-strip-footer { margin-top:auto; }
.live-conditions summary { font-size:10px; }
.live-conditions p { font-size:12px; }
.live-carousel-navigation { grid-column:1/-1; display:flex; justify-content:center; align-items:center; gap:10px; margin-top:0; }
.live-carousel-dots { display:flex; gap:4px; }
.live-carousel-dot { display:grid; place-items:center; width:24px; height:24px; min-height:24px; padding:0; border:0; background:none; }
.live-carousel-dot span { width:6px; height:6px; border-radius:10px; background:#486451; }
.live-carousel-dot[aria-pressed="true"] span { width:18px; background:#9cff3b; }
.live-carousel-hint { color:#7c9384; font-size:10px; }
/* Shared visual vocabulary for account, bets and author workspace. */
.panel,.players-panel,.bet-card,#events.events .space-card,.space-stat,.owned-row { background:linear-gradient(145deg,#111a14,#0b120e); border:1px solid var(--line); border-radius:16px; box-shadow:none; }
#events.events .space-card { min-height:134px; padding:18px; gap:14px; }
.space-card .event-id { font-size:11px; }
.space-card-title { font-size:14px; }
.space-card-owner,.space-card-stats { font-size:11px; }
.profile-stats > div,.profile-recent-row,.profile-link,.bet-row { border-color:var(--line); }
.space-subtabs { border-bottom-color:var(--line); }
.space-subtab { border-radius:10px 10px 0 0; font-size:12px; }
.space-subtab.active { background:#9cff3b09; border-bottom-color:#9cff3b; }
.owned-filters button.selected,.bets-tabs button.selected { background:#9cff3b; border-color:#9cff3b; color:#071009; }
.modal-card,.section-action-dialog,.player-sheet .modal-card,.bet-coupon-modal .modal-card { background:#101a14; border-radius:19px; border-color:var(--line); }
.bet-coupon-modal .event-head { background:#101a14; }
.section-action-dialog .primary { min-height:44px; }
.app-notice { border-radius:14px; border-color:#507b50; background:#132418; }
@media (max-width:1200px) {
 .hero.site-header { grid-template-columns:auto 1fr; gap:12px; }
 .site-header > .header-wallet { grid-column:2; grid-row:1; }
 .site-header > .tabs { grid-column:1/-1; grid-row:2; justify-content:flex-start; }
 #marketTools,#eventsView.local-catalog { grid-template-columns:minmax(0,1fr) 154px 140px; }
 #marketTools .subtabs { grid-column:1/-1; width:max-content; min-width:286px; }
 #eventsView.local-catalog #marketTools .subtabs { grid-column:1/-1; width:max-content; min-width:286px; }
 #events.events,#events.events.local-catalog { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .live-strip-head h2 { font-size:20px; }
}
@media (max-width:900px) {
 .shell { padding:0 18px 24px; }
 .live-strip-head { grid-template-columns:auto 1fr auto; gap:10px; }
 .live-strip-head h2 { grid-column:1/-1; grid-row:2; font-size:24px; }
 .live-strip-head .status { justify-self:end; }
 .live-strip-body { grid-template-columns:minmax(0,1fr); gap:18px; }
 .live-strip .live-market-values { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .live-strip .outcomes { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .live-strip .outcome-choice-info strong { font-size:12px; }
 .live-strip .odds { font-size:20px; }
}
@media (max-width:620px) {
 .shell { padding:0 14px calc(86px + env(safe-area-inset-bottom,0px)); }
 .hero.site-header { grid-template-columns:minmax(0,1fr); gap:14px; padding:18px 0; margin-bottom:16px; }
 .site-header .brand-lockup { grid-column:1; grid-row:1; }
 .site-header h1 { font-size:24px; }
 .site-header .brand-logo { width:34px; height:34px; }
 .site-header > .header-wallet { grid-column:1; grid-row:2; width:100%; justify-self:stretch; justify-content:space-between; height:auto; }
 .header-wallet .balance strong { font-size:13px; }
 .header-wallet #dailyBtn { font-size:11px; padding:0 10px; min-height:36px; }
 .site-header > .tabs {
  position:fixed; z-index:45; top:auto; height:58px; max-height:58px; left:10px; right:10px; bottom:calc(8px + var(--tg-safe-area-inset-bottom,env(safe-area-inset-bottom,0px)));
  display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:3px; width:auto; min-height:58px; padding:6px;
  border:1px solid rgba(153,228,169,.25); border-radius:17px; background:#09110ced; backdrop-filter:blur(18px);
  margin:0; overflow:visible; box-shadow:0 5px 25px #0005;
 }
 .site-header .tab { width:100%; height:44px; min-height:44px; padding:0 3px; border-radius:11px; font-size:10px; white-space:normal; line-height:1.2; }
 .site-header .tab.active { background:#9cff3b; color:#071009; font-weight:750; }
 .site-header .tab.active::after { content:none; }
 #marketTools { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:9px; margin-bottom:15px; }
 #marketTools > input { grid-column:1/-1; grid-row:1; }
 #marketTools > select { grid-row:2; }
 #marketTools .subtabs { grid-column:1/-1; grid-row:3; width:100%; min-width:0; }
 #marketTools .subtab { padding:0 6px; font-size:11px; }
 #eventsView.local-catalog { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:9px; }
 #eventsView.local-catalog #spaceSearch { grid-column:1/-1; grid-row:1; }
 #eventsView.local-catalog #spaceCategory { grid-column:1; grid-row:2; }
 #eventsView.local-catalog #manageSpace { grid-column:2; grid-row:2; }
 #eventsView.local-catalog #marketTools .subtabs { grid-column:1/-1; grid-row:3; width:100%; min-width:0; }
 #events.events,#events.events.local-catalog { grid-template-columns:minmax(0,1fr); gap:12px; }
 #events.events .compact-market { min-height:185px; }
 .compact-market .market-open { padding:16px; }
 .compact-market .market-title { font-size:14px; }
 .live-carousel { grid-template-columns:minmax(0,1fr); gap:4px; margin:0 0 4px; }
 .live-carousel-arrow { display:none; }
 .live-carousel-viewport { border-radius:20px; }
 #events.events .live-carousel-viewport > .live-strip { padding:18px; border-radius:20px; }
 .live-strip-head { margin-bottom:16px; }
 .live-strip-head h2 { font-size:23px; }
 .live-strip .live-market-values { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .live-strip .live-market-values strong { font-size:16px; }
 .live-strip .live-market-chart { height:116px; }
 .live-strip-betting { padding:13px; gap:11px; }
 .live-strip .outcomes { grid-template-columns:minmax(0,1fr); }
 .live-strip .outcome { min-height:61px; }
 .live-strip .outcome-choice-info strong { font-size:13px; }
 .live-carousel-hint { font-size:9px; }
 .header-wallet .daily-info { right:0; width:270px; max-width:calc(100vw - 28px); font-size:12px; }
 .panel,.players-panel { padding:16px; }
}
@media (max-width:360px) {
 .shell { padding-left:10px; padding-right:10px; }
 .header-wallet .balance strong { font-size:11px; }
 .header-wallet #dailyBtn { font-size:10px; padding:0 7px; }
 .site-header > .header-wallet { gap:5px; }
 .site-header .tab { font-size:9px; }
 .market-topic { font-size:8px; }
 .market-card-top > .status { font-size:9px; }
 .compact-market .market-open { padding:13px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }

/* Independent outcome buttons: no nested interactive elements. */
.compact-market .market-open { padding-bottom:0; }
.compact-market .market-outcomes-preview { width:auto; margin:13px 17px 17px; }
.compact-market .market-outcomes-preview > button {
 display:flex; align-items:center; justify-content:space-between; gap:6px; min-width:0;
 min-height:40px; border:1px solid var(--line); border-radius:10px; padding:9px;
 background:#070e09; color:var(--text); white-space:normal; font-size:10px; text-align:left; cursor:pointer;
}
.compact-market .market-outcomes-preview > button:hover { background:#14261a; border-color:#79bd68; }
.compact-market .market-outcomes-preview > button:focus-visible { outline-offset:-2px; }
.tg-fullscreen .hero.site-header { top:max(56px,calc(var(--tg-safe-area-inset-top,0px) + var(--tg-content-safe-area-inset-top,0px) + 8px)); }
@media (max-width:620px) {
 .compact-market .market-outcomes-preview { margin:13px 16px 16px; }
 .compact-market .market-outcomes-preview > button { min-height:44px; }
}
@media (max-width:360px) { .compact-market .market-outcomes-preview { margin:13px; } }

/* Full-bleed sticky backing: no black rectangle over the desktop glow. */
@media (min-width:621px) {
 .hero.site-header { background:transparent; }
 .hero.site-header::before { content:""; position:absolute; z-index:-1; top:0; bottom:0; left:calc((100vw - 100%) / -2); right:calc((100vw - 100%) / -2); background:rgba(5,8,7,.96); pointer-events:none; opacity:0; transition:opacity 160ms ease; }
 .hero.site-header.scrolled::before { opacity:1; }
}
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.harchball-heading { margin:8px 0 20px; }
.harchball-heading .eyebrow { color:#9cff3b; font-size:10px; letter-spacing:.13em; margin:0 0 9px; }
.harchball-heading h2 { font-size:30px; letter-spacing:-.04em; margin:0 0 8px; }
.harchball-heading p { color:var(--muted); font-size:13px; margin:0; }
.harchball-search-label { max-width:480px; margin-bottom:20px; }
#harchballSearch { height:48px; border-radius:14px; }
.harchball-spaces { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.harchball-space-card { --banner:#456424; --ink:#d0ff73; display:flex; flex-direction:column; width:100%; min-width:0; padding:0; text-align:left; color:var(--text); border:1px solid var(--line); border-radius:20px; overflow:hidden; background:#0e1811; cursor:pointer; }
.harchball-space-card.palette-1 { --banner:#65517f; --ink:#c5a3ff; }
.harchball-space-card.palette-2 { --banner:#855a2e; --ink:#ffbb78; }
.harchball-space-card:hover { border-color:var(--ink); }
.harchball-card-banner { display:flex; align-items:center; width:100%; min-height:126px; padding:24px; background:linear-gradient(125deg,#142318,var(--banner)); color:var(--ink); font-size:42px; font-weight:850; letter-spacing:-.045em; }
.harchball-card-body { display:flex; flex:1; flex-direction:column; width:100%; min-width:0; padding:20px; }
.harchball-card-tag { color:#9cff3b; font-size:10px; font-weight:800; letter-spacing:.14em; }
.harchball-card-body > strong { font-size:16px; line-height:1.4; margin:9px 0 12px; overflow-wrap:anywhere; }
.harchball-card-owner,.harchball-card-currency { color:var(--muted); font-size:11px; line-height:1.7; }
.harchball-card-footer { display:flex; justify-content:space-between; gap:10px; margin-top:20px; padding-top:14px; border-top:1px solid var(--line); color:var(--muted); font-size:10px; }
.harchball-empty { grid-column:1/-1; padding:48px 24px; text-align:center; border:1px dashed var(--line); border-radius:20px; color:var(--muted); }
.harchball-empty-mark { display:inline-grid; place-items:center; width:56px; height:56px; border-radius:16px; background:#9cff3b14; color:#9cff3b; font-weight:850; font-size:28px; }
.harchball-empty h3 { color:var(--text); font-size:18px; }
.harchball-empty p { max-width:510px; margin:auto; font-size:13px; line-height:1.7; }
@media (max-width:1000px) { .harchball-spaces { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px) {
 .shell { padding-bottom:calc(110px + env(safe-area-inset-bottom,0px)); }
 .tg-fullscreen .shell { padding-bottom:calc(110px + max(env(safe-area-inset-bottom,0px),var(--tg-safe-area-inset-bottom,0px)) + var(--tg-content-safe-area-inset-bottom,0px)); }
 html { scroll-padding-bottom:calc(110px + env(safe-area-inset-bottom,0px)); }
 .site-header > .tabs { grid-template-columns:repeat(6,minmax(0,1fr)); }
 .site-header .tab { font-size:9px; padding:0 2px; }
 .harchball-spaces { grid-template-columns:minmax(0,1fr); gap:14px; }
 .harchball-heading h2 { font-size:26px; }
 .harchball-card-banner { min-height:116px; font-size:38px; }
}

/* Telegram's native controls stay above the sticky header on an opaque surface. */
@media (max-width:620px) {
 .tg-fullscreen .hero.site-header {
  --header-safe-top:max(56px,calc(var(--tg-safe-area-inset-top,0px) + var(--tg-content-safe-area-inset-top,0px) + 8px));
  top:var(--header-safe-top);
  isolation:isolate;
 }
 .tg-fullscreen .hero.site-header::before {
  content:""; position:absolute; z-index:-1; pointer-events:none;
  top:calc(0px - var(--header-safe-top)); bottom:0;
  left:calc((100vw - 100%) / -2); right:calc((100vw - 100%) / -2);
  background:#050807;
 }
}

/* Use Full HD desktop space without shrinking the market cards. */
@media (min-width:1600px) {
 .shell { width:min(1840px,100%); }
 #events.events, #events.events.local-catalog { grid-template-columns:repeat(4,minmax(0,1fr)); }
}

/* Keep the home link styled as the brand, including visited and hover states. */
.site-header a.brand-lockup,
.site-header a.brand-lockup:link,
.site-header a.brand-lockup:visited,
.site-header a.brand-lockup:hover,
.site-header a.brand-lockup:active {
 color:var(--text); text-decoration:none;
}
.site-header a.brand-lockup h1 { color:inherit; text-decoration:none; }
