/* TEKCON Underground — site-wide visual language.
   Deliberately distinct from DEF CON's official branding. */
:root {
  --bg:#090909;--bg-deep:#050505;--surface:#151515;--surface-2:#1b1b1b;--surface-3:#252525;
  --line:#373737;--line-bright:#595959;--text:#f2f0e8;--muted:#b0ada5;
  --cyan:#baff36;--cyan-soft:#ddff92;--green:#baff36;--amber:#ffca54;--red:#ff4149;--purple:#e6a2ff;
  --neon-blue:#ff4149;--neon-green:#baff36;--neon-pink:#ff627c;--neon-red:#ff4149;--neon-orange:#ffb45b;--neon-purple:#e6a2ff;--neon-yellow:#ffe06b;
  --text-main:var(--text);--text-muted:var(--muted);--panel-bg:var(--surface);
  --shadow:0 20px 60px rgba(0,0,0,.48);--radius-sm:4px;--radius:8px;--radius-lg:12px;
}
html {scroll-behavior:smooth}
body {background:#080808;color:var(--text);font-family:"IBM Plex Mono","Courier New",ui-monospace,monospace;line-height:1.65;}
body::before {z-index:-1;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.048) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.048) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,black,transparent 95%);}
::selection {background:#baff36;color:#080808;}
h1,h2,h3,h4,.display-title,.page-title,.section-title {font-family:"Arial Narrow","Roboto Condensed",Impact,system-ui,sans-serif;letter-spacing:-.035em;font-weight:900;}
h1,h2,h3 {text-wrap:balance}
.eyebrow,.feature-kicker,.village-mission {color:#baff36;letter-spacing:.14em;font-weight:850;}
.eyebrow::before {background:#ff4149;}
.site-header {background:rgba(8,8,8,.96)!important;border-bottom:1px solid #494949;backdrop-filter:blur(18px);}
.site-header__inner {min-height:80px;}
.site-brand__text strong {font-weight:1000;letter-spacing:.08em;}
.site-brand__text small {color:#baff36;text-transform:uppercase;font-size:.64rem;letter-spacing:.06em;}
.site-nav>a,.community-nav-dropdown__trigger {color:#e2e0d8;}
.site-nav>a:hover,.site-nav>a:focus-visible {color:#baff36;}
.community-nav-dropdown__panel {background:#141414;border-color:#555;border-radius:7px;}
.community-nav-dropdown__panel>a:hover,.community-nav-dropdown__logout button:hover {background:#282828;color:#baff36;}
.site-nav__actions .button--portal {border-color:#ff4149;color:#ffddd9;}
.button,.btn {border-radius:4px;text-transform:uppercase;letter-spacing:.055em;font-size:.83rem;font-weight:900;min-height:46px;}
.button--primary,.btn-primary {background:#baff36!important;border:1px solid #baff36!important;color:#101010!important;box-shadow:5px 5px 0 rgba(186,255,54,.13);}
.button--primary:hover,.btn-primary:hover {background:#e0ff99!important;box-shadow:6px 6px 0 rgba(186,255,54,.22);}
.button--secondary,.button--quiet,.button--portal {background:#191919!important;color:#efeee7!important;border:1px solid #666!important;}
.button--secondary:hover,.button--quiet:hover,.button--portal:hover {color:#baff36!important;border-color:#baff36!important;}
.text-link {color:#baff36;text-decoration:underline;text-decoration-color:#526d24;text-underline-offset:5px;}
.text-link:hover {color:#fff;text-decoration-color:#fff;}
.hero-section,.page-hero {background:radial-gradient(ellipse at 85% 15%,rgba(255,65,73,.12),transparent 42%),linear-gradient(135deg,#080808,#151515)!important;border-bottom:1px solid #343434;}
.hero-section::before,.page-hero::before {pointer-events:none;}
.display-title,.page-title {text-transform:uppercase;}
.hero-sidecard,.path-card,.info-card,.panel,.event-feature,.feature-card,.archive-box,.partner-rule,.logo-card,.level-card,.audience-card,.village-card,.game-panel,.terminal,.mesh-terminal {background:linear-gradient(150deg,#1c1c1c,#101010)!important;border:1px solid #444!important;border-radius:7px!important;box-shadow:none;}
.hero-sidecard {border-left:4px solid #ff4149!important;}
.path-card,.info-card,.partner-rule {transition:transform .15s,border-color .15s;}
.path-card:hover,.info-card:hover,.partner-rule:hover {border-color:#baff36!important;}
.path-card__icon,.partner-rule__icon {background:#242424!important;color:#baff36!important;border:1px solid #5b6d3b;}
.path-card__action {color:#baff36!important;}
.content-section--surface,.section-alt {background:#111!important;border-block:1px solid #292929;}
.content-section:not(.content-section--surface) {background:#090909;}
.section-heading h2,.section-title {text-transform:uppercase;}
.lede,.section-copy,.section-heading p {color:#c7c4bc;}
.metric strong,.level-xp {color:#baff36;}
.metric span {color:#c8c6be;}
.status-pill,.chip,.village-levels span {border-radius:3px;}
.site-footer {background:#070707!important;border-top:3px solid #ff4149;}
.site-footer__brand,.site-footer__grid h2 {color:#f6f2e8;text-transform:uppercase;}
.site-footer__brand span {color:#baff36;}
.site-footer a:hover {color:#baff36;}
.gallery-item {border-radius:3px!important;filter:saturate(.72) contrast(1.09);}
.gallery-item:hover {filter:none;}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible {outline:2px solid #baff36;outline-offset:3px;}
input,textarea,select {background:#171717;color:#f4f2ea;border:1px solid #555;border-radius:4px;}
input:focus,textarea:focus,select:focus {border-color:#baff36;outline:2px solid rgba(186,255,54,.38);}
hr {border-color:#383838;}
/* Conference page inherits site-wide palette, and retains its guided structure. */
.tekcon-experience {--tek27-aqua:#ff4149;--tek27-lime:#baff36;--tek27-ink:#060606;--tek27-card:#151515;--conference-cyan:#ff4149;--conference-green:#baff36;--conference-pink:#ff6473;}
.tekcon-experience .tekcon-hero {background:linear-gradient(108deg,rgba(7,7,7,.97) 25%,rgba(10,10,10,.86) 75%),url('pathfinder_bg.jpg') center/cover!important;border-bottom:2px solid #ff4149;}
.tekcon-experience .tek27-overline,.tek27-event-pills span {background:#181818;border-color:#545454;}
.tekcon-experience .tek27-hero-lede {color:#d4d0c6;}
.tekcon-experience .tek27-glow {background:radial-gradient(circle,rgba(255,65,73,.19),transparent 72%);}
.tekcon-experience .tek27-orbit {border-color:rgba(255,65,73,.6);box-shadow:0 0 0 30px rgba(255,65,73,.025),inset 0 0 70px rgba(255,65,73,.08);}
.tekcon-experience .tek27-orbit span {background:#141414;border-color:#baff36;}
.tekcon-experience .tek27-hero-stat {background:#141414;border-color:#656565;}
.tekcon-experience .tek27-jump {background:rgba(8,8,8,.97);border-color:#3e3e3e;}
.tekcon-experience .tek27-intro {background:#090909;}
.tekcon-experience .tek27-pillar,.tekcon-experience .flow-step,.tekcon-experience .village-card {background:linear-gradient(150deg,#1e1e1e,#101010)!important;border-color:#4a4a4a!important;}
.tekcon-experience .tek27-pillar:hover {border-color:#baff36!important;}
.tekcon-experience .signals-feature {background:linear-gradient(140deg,#0a0a0a,#181111)!important;border-block:1px solid #4d2426;}
.tekcon-experience .chip {background:#292929;border-color:#515151;color:#e7e7dd;}
.tekcon-experience .gallery-item {border-color:#505050;}
/* Preserve useful visual hierarchy without turning the site into illegible novelty UI. */
@media(max-width:760px){.site-header__inner {min-height:68px;}.display-title {font-size:clamp(2.45rem,12vw,4.3rem);}.site-container {width:min(calc(100% - 1.5rem),var(--max));}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after {scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important;}}

/* Keep desktop navigation on one line; use the menu earlier on narrower screens. */
@media (min-width:1381px) {
  .site-header .site-container {width:min(1520px,calc(100% - 2.5rem));}
  .site-header__inner {gap:.8rem;}
  .site-nav {flex-wrap:nowrap;gap:clamp(.35rem,.7vw,.8rem);font-size:.78rem;min-width:0;}
  .site-nav > a,.site-nav__actions .button,.community-nav-dropdown__trigger {white-space:nowrap;}
  .site-nav__actions {gap:.35rem;margin-left:.2rem;flex-wrap:nowrap;}
  .site-nav__actions .button {font-size:.69rem;padding:.5rem .55rem;min-height:38px;}
  .site-brand {flex-shrink:0;}
  .site-brand__text small {font-size:.56rem;letter-spacing:.01em;white-space:nowrap;}
}
@media (max-width:1380px) {
  .site-menu-toggle {display:inline-flex;background:#191919;border-color:#5b5b5b;white-space:nowrap;}
  .site-nav {display:none;position:absolute;top:100%;left:0;right:0;background:#101010;border-bottom:1px solid #555;padding:1rem 1.25rem 1.35rem;flex-direction:column;align-items:stretch;gap:.25rem;box-shadow:var(--shadow);max-height:calc(100dvh - 70px);overflow-y:auto;}
  .site-nav.is-open {display:flex;}
  .site-nav > a:not(.button) {padding:.7rem .2rem;}
  .site-nav__actions {margin:.7rem 0 0;flex-wrap:wrap;}
  .community-nav-dropdown {width:100%;border-block:1px solid #454545;padding:.6rem 0;}
  .community-nav-dropdown__trigger {width:100%;justify-content:space-between;padding:.1rem .2rem;}
  .community-nav-dropdown__panel {position:static;transform:none;width:auto;margin-top:.55rem;border:0;box-shadow:none;background:transparent;padding:0 0 0 .65rem;}
}
