/* Self-hosted fonts: @fontsource/inter 5.3.0 and @fontsource/outfit 5.3.0 (npm), latin subset, SIL OFL 1.1 — see assets/fonts/OFL-*.txt */
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/inter-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/inter-latin-600-normal.woff2) format('woff2');}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/inter-latin-700-normal.woff2) format('woff2');}
@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/outfit-latin-500-normal.woff2) format('woff2');}
@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/outfit-latin-600-normal.woff2) format('woff2');}
@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/outfit-latin-700-normal.woff2) format('woff2');}
/* Vibe Tech shared stylesheet — palette from lovable-src.zip src/styles/tokens.css */
:root{--bg-start:#080810;--bg-mid:#0D0D1A;--bg-end:#111125;--glass-bg:rgba(13,15,28,.65);--glass-border:rgba(0,255,255,.22);
--c-primary:#00FFFF;--c-secondary:#B933FF;--c-accent:#FF00AA;--c-tertiary:#00FFCC;--text-primary:#FFFFFF;--text-secondary:rgba(155,161,204,1);color-scheme:dark}
*{box-sizing:border-box}
html{background:var(--bg-start)}
body{margin:0;min-height:100vh;background-color:#080810;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:1rem;line-height:1.7;color:var(--text-primary);
background:radial-gradient(ellipse at top,rgba(185,51,255,.14),transparent 55%),radial-gradient(ellipse at bottom right,rgba(0,255,255,.08),transparent 60%),linear-gradient(160deg,var(--bg-start) 0%,var(--bg-mid) 50%,var(--bg-end) 100%)}
.site-nav{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;gap:.25rem 1rem;justify-content:center;padding:.7rem 1rem;background:rgba(8,8,16,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--glass-border);font-family:Outfit,Inter,system-ui,sans-serif;font-weight:500}
.site-nav a{color:var(--text-primary);text-decoration:none;padding:.15rem .25rem;border-radius:.35rem}
.site-nav a:hover,.site-nav a:focus-visible{color:var(--c-primary);text-shadow:0 0 8px rgba(0,255,255,.6)}
main{max-width:56rem;margin:2rem auto 3rem;padding:2.25rem 1.5rem 2.5rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:1.25rem;box-shadow:0 0 32px rgba(0,255,255,.08),0 0 60px rgba(185,51,255,.08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
@media (max-width:640px){main{margin:1rem .6rem 2rem;padding:1.5rem 1rem 2rem}}
h1,h2,h3{font-family:Outfit,Inter,system-ui,sans-serif;color:var(--text-primary);line-height:1.25}
h1{font-size:2.3rem;font-weight:700;margin:0 0 .75rem;background:linear-gradient(90deg,var(--c-primary),var(--c-secondary) 60%,var(--c-accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 12px rgba(0,255,255,.25))}
h2{font-size:1.3rem;font-weight:600;margin:1.75rem 0 .5rem;color:var(--c-primary);text-shadow:0 0 10px rgba(0,255,255,.35)}
h3{font-size:1.1rem;font-weight:600;margin:1.25rem 0 .4rem;color:var(--c-tertiary)}
.card h2{margin-top:0}
p,li{margin:0 0 .9rem;color:#E6E8F5}
ul{padding-left:1.25rem;margin:0 0 1rem}
a{color:var(--c-primary);text-underline-offset:2px}
a:hover{color:var(--c-tertiary)}
.lede{font-size:1.12rem;color:var(--text-primary)}
.updated,.dates,.muted{color:var(--text-secondary);font-size:.95rem}
.price{font-weight:600;color:var(--c-tertiary)}
.cards{display:grid;gap:1rem;margin:2rem 0}
@media (min-width:640px){.cards{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}}
.card{border:1px solid var(--glass-border);border-radius:1rem;padding:1.25rem;margin:1rem 0;background:rgba(17,17,37,.7);box-shadow:0 0 18px rgba(185,51,255,.1)}
.cards .card{margin:0}
.cta{display:inline-block;margin:.5rem .75rem 0 0;padding:.6rem 1rem;border-radius:.6rem;background:linear-gradient(90deg,var(--c-primary),var(--c-tertiary));color:#080810;text-decoration:none;font-weight:700;box-shadow:0 0 14px rgba(0,255,255,.35)}
.cta:hover{color:#080810;box-shadow:0 0 22px rgba(0,255,255,.6)}
.cta.secondary{background:transparent;border:1px solid var(--c-secondary);color:#E2B8FF;box-shadow:0 0 12px rgba(185,51,255,.3)}
.cta.secondary:hover{color:#fff;background:rgba(185,51,255,.18)}
.watch a{font-weight:600}
table{width:100%;border-collapse:collapse;margin:1rem 0}
th,td{border:1px solid var(--glass-border);padding:.5rem .65rem;text-align:left;vertical-align:top}
th{background:rgba(0,255,255,.08);font-family:Outfit,Inter,sans-serif;color:var(--text-primary)}
code{background:rgba(0,255,255,.08);color:var(--c-tertiary);padding:.1rem .3rem;border-radius:.25rem}
footer{margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--glass-border);color:var(--text-secondary);font-size:.95rem}
.chessday-banner{background:linear-gradient(90deg,#B933FF,#FF00AA);color:#080810;text-align:center;padding:.6rem 1rem;font-weight:700;line-height:1.5}
.chessday-banner a{color:#080810;text-decoration:underline}
@media (max-width:640px){table{display:block;overflow-x:auto}}
