/* Loaded exclusively by /events/hackathon/. */
html:has(body.event-hackathon) { background: #050806; }
body.event-hackathon {
    --doom-green: #73ff56;
    --doom-gold: #c7ab68;
    --color-cyan: #73ff56;
    --color-electric-cyan: #73ff56;
    --color-blue: #69ba77;
    --color-electric-blue: #69ba77;
    --color-purple: #47784d;
    --color-violet: #47784d;
    --color-neon-violet: #47784d;
    --color-magenta: #9bf56c;
    --color-neon-magenta: #9bf56c;
    --color-gold: #c7ab68;
    --color-orange: #c7ab68;
    --color-lavender: #b9c7b8;
    --text-primary: #eff3e9;
    --text-secondary: #b5c0b2;
    --text-muted: #879781;
    --bg-main: #050806;
    --bg-midnight-navy: #050806;
    --bg-surface: #0b120d;
    --bg-glass: rgba(12, 22, 14, .7);
    --bg-glass-heavy: rgba(8, 15, 10, .94);
    --border-glow: 0 0 14px rgba(155, 245, 108, .22);
    --border-hologram: 1px solid rgba(155, 245, 108, .22);
    background: #050806;
    color: var(--text-primary);
    accent-color: var(--doom-green);
}
body.event-hackathon ::selection { background: #9bf56c; color: #050806; }
body.event-hackathon .hud-navbar {
    background: rgba(12, 43, 27, .97);
    border-bottom-color: #46734a !important;
    box-shadow: 0 8px 32px #06190e66 !important;
}
body.event-hackathon .nav-links { background: #0a2117; border-color: #385b3d; }
body.event-hackathon .nav-links :is(.nav-item, .dropdown-toggle) { color: #dfcc9c; }
body.event-hackathon .nav-search-btn { color: #c7ab68; border-color: #c7ab6866; background: #102f1f; }
body.event-hackathon .nav-search-btn:hover,
body.event-hackathon .nav-search-btn.active { color: #e2c989; border-color: #c7ab68; box-shadow: 0 0 12px #c7ab6826; }
body.event-hackathon :is(.nav-techyon-logo, .footer-techyon-logo) { filter: grayscale(1) sepia(.45) hue-rotate(45deg); }
body.event-hackathon :is(.nav-item, .dropdown-toggle):hover { color: var(--doom-green) !important; text-shadow: 0 0 12px #9bf56c33 !important; }
body.event-hackathon :is(.cyber-dropdown, .nav-search-dropdown) { background: #09110b; border-color: #355136; box-shadow: 0 12px 35px #0009; }
body.event-hackathon :is(.nav-search-input, .search-dropdown-header, .search-result-item:hover) { background: #101c12; border-color: #355136; }
body.event-hackathon .section-label { color: var(--doom-green) !important; text-shadow: none !important; }
body.event-hackathon :is(.text-gradient-cyan, .text-gradient-purple) {
    background: linear-gradient(120deg, #d9f6cd, #9bf56c 65%, #66b874) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}
body.event-hackathon .text-gradient-orange {
    background: linear-gradient(120deg, #ded0a9, #c7ab68) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}
body.event-hackathon :is(.cinematic-spec-card, .cinematic-brief-panel, .cinematic-related-card, .cinematic-cta-banner, .podium-card, .prizes-pending-container, .rulebook-dialog, .rule-category-card, .rulebook-link-box) {
    background: linear-gradient(135deg, #101b12, #080d09) !important;
    border-color: #29442c !important;
    box-shadow: 0 12px 40px #0003 !important;
}
body.event-hackathon :is(.cinematic-spec-card, .cinematic-related-card, .podium-card):hover { border-color: #7dbb63 !important; box-shadow: 0 8px 28px #7dbb6314 !important; }
body.event-hackathon :is(.cinematic-spec-card, .cinematic-cta-banner, .cinematic-related-card, .podium-card)::before { background: linear-gradient(90deg, transparent, #9bf56c33, transparent) !important; }
body.event-hackathon :is(.card-value, .spec-val, .spec-value, .hud-val, .pending-prize-title, .related-parent, .related-link, .meta-tag, .article-number) { color: var(--doom-green) !important; text-shadow: none; }
body.event-hackathon :is(.card-label, .rulebook-header-pre, .article-tag, .rulebook-toc-label, .rulebook-toc-num, .article-num, .awaiting-footer) { color: #a5c594; }
body.event-hackathon :is(.card-icon-circle, .spec-pill, .rulebook-close-btn) { background: #152317; border-color: #40603b; color: #b4d9a3; box-shadow: none; }
body.event-hackathon .card-icon-circle svg { stroke: #9bf56c; }
body.event-hackathon :is(.card-icon-circle.prize-circle, .text-gold) { color: var(--doom-gold); border-color: #c7ab6866; }
body.event-hackathon .card-icon-circle.prize-circle svg { stroke: var(--doom-gold); }
body.event-hackathon .rulebook-link-box::before,
body.event-hackathon :is(.article-accent-line, .status-pulse-dot, .scroll-progress-bar) { background: var(--doom-green); box-shadow: 0 0 12px #9bf56c33; }
body.event-hackathon .cube-face { background: #0c1c10db; border-color: #9bf56c66; color: #a9e993; box-shadow: inset 0 0 30px #9bf56c0c; }
body.event-hackathon :is(.hologram-beam, .prize-glow, .divider-light) { background: linear-gradient(180deg, #9bf56c22, transparent) !important; }
body.event-hackathon .card-gold { border-color: #c7ab6866 !important; }
body.event-hackathon .card-gold h3 { color: var(--doom-gold); }
body.event-hackathon :is(.prize-total-display, .total-prize-value) { color: var(--doom-green); text-shadow: 0 0 28px #9bf56c22; }
body.event-hackathon .faq-item { border-color: #29442c; background: #0a120c; }
body.event-hackathon .faq-item:hover { border-color: #719763; }
body.event-hackathon :is(.rulebook-dialog-header, .rulebook-toc-sidebar, .rulebook-mobile-toc, .rulebook-dialog-footer, .rulebook-article-block) { background-color: #09110b; border-color: #29442c; }
body.event-hackathon :is(.rulebook-toc-link.active, .rulebook-mobile-pill.active, .rulebook-close-btn:hover) { background: #182b1a; color: #b6f894; border-color: #719763; }
body.event-hackathon :is(.article-tag, .rulebook-header-status, .rulebook-status-pill) { color: #b6d8a6; border-color: #40603b; background: #132016; }
body.event-hackathon .contact-section { background: #050806; border-top: 1px solid #253a26; }
body.event-hackathon :is(.btn-cinematic-primary, .btn-primary) {
    background: var(--doom-green);
    color: #0a1408;
    border: 1px solid var(--doom-green);
    box-shadow: 0 0 25px #9bf56c14;
}
body.event-hackathon :is(.btn-rulebook-trigger, .btn-cinematic-secondary, .btn-outline) {
    background: #0a130d;
    color: #d2e3cb;
    border-color: #496444;
    box-shadow: none;
}
body.event-hackathon :is(.btn-cinematic-pending, .btn-cinematic-soon, .btn-cinematic-closed, .btn-status) { background: #132016; color: #c2d1ba; border-color: #40583d; box-shadow: none; }
body.event-hackathon .btn:hover { box-shadow: 0 0 24px #9bf56c24; }
body.event-hackathon a.register-link[href] {
    background: linear-gradient(120deg, #ead18a, #c7a04c 65%, #b28a38) !important;
    color: #171204 !important;
    border: 1px solid #e6ca7d !important;
    box-shadow: 0 4px 24px #c7a04c30, inset 0 1px 0 #fff4c877;
}
body.event-hackathon a.register-link[href]:hover {
    background: linear-gradient(120deg, #f6e1a4, #d9b45e 65%, #c7a04c) !important;
    box-shadow: 0 5px 30px #c7a04c55;
}
body.event-hackathon a.register-link[href]::before { background: linear-gradient(90deg, transparent, #fff3c555, transparent); }

/* Black-site hero: breach screen, energy seal, then the persistent adversary. */
body.event-hackathon #event-detail-root { padding-top: calc(var(--header-height, 100px) + 20px); }
body.event-hackathon .doom-hero {
    position: relative;
    isolation: isolate;
    padding: 8px 0 0;
    overflow: hidden;
    background: radial-gradient(ellipse at 80% 40%, #17351a55, transparent 60%), #050806;
}
body.event-hackathon .doom-grid {
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .22;
    background-image: linear-gradient(#6d935412 1px, transparent 1px), linear-gradient(90deg, #6d935412 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(transparent, #000 20%, #000 80%, transparent);
}
body.event-hackathon .doom-hero-layout { display: grid; grid-template-columns: 1.15fr .85fr; align-items: start; gap: 42px; }
body.event-hackathon .doom-hero-copy { min-width: 0; position: relative; z-index: 2; padding: 0 0 28px; }
body.event-hackathon .doom-status { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 20px; color: #a2b49a; font: .65rem/1.5 var(--font-mono); letter-spacing: .13em; }
body.event-hackathon .doom-status-dot { width: 6px; height: 6px; flex-shrink: 0; border-radius: 50%; background: #9bf56c; box-shadow: 0 0 12px #9bf56c77; }
body.event-hackathon .doom-title { margin: 0 0 22px; font: 900 clamp(3rem, 6.2vw, 6.5rem)/1.05 var(--font-display); letter-spacing: -.055em; color: #e8eedc; }
body.event-hackathon .doom-title > span { display: block; }
body.event-hackathon .doom-title .doom-title-tail { margin-top: 7px; font-size: 1em; color: var(--doom-green); }
body.event-hackathon .doom-armor-sigil { position: absolute; width: 58%; height: 68%; top: 12%; left: 21%; stroke: #c7ab68; stroke-width: 1; opacity: .16; pointer-events: none; }
body.event-hackathon :is(.cinematic-brief-panel, .cinematic-spec-card) { border-top: 2px solid #c7ab6888 !important; }
body.event-hackathon .doom-facts { position: relative; }
body.event-hackathon .doom-facts::before,
body.event-hackathon .doom-facts::after { content: ''; position: absolute; top: -3px; width: 5px; height: 5px; background: var(--doom-gold); box-shadow: 0 0 8px #c7ab6822; }
body.event-hackathon .doom-facts::before { left: 0; }
body.event-hackathon .doom-facts::after { right: 0; }
body.event-hackathon .doom-manifesto { font: 600 clamp(1rem, 1.7vw, 1.3rem)/1.65 var(--font-mono); letter-spacing: .02em; color: #d4dece; }
body.event-hackathon .doom-manifesto > span { color: #7f947a; }
body.event-hackathon .doom-description { max-width: 560px; margin-top: 20px; font-size: 1.08rem; line-height: 1.8; color: #a7b3a1; }
body.event-hackathon .doom-facts { display: grid; grid-template-columns: .8fr .9fr 1.5fr; gap: 18px; padding: 22px 0; margin: 24px 0; border-block: 1px solid #2c3f28; }
body.event-hackathon .doom-facts > div { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
body.event-hackathon .doom-facts strong { color: #e1e9d9; font: 600 clamp(.95rem, 1.5vw, 1.25rem)/1.4 var(--font-heading); }
body.event-hackathon .doom-facts span { color: #84937c; font: .58rem/1.5 var(--font-mono); letter-spacing: .06em; }
body.event-hackathon .doom-hero-actions { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; }
body.event-hackathon .doom-hero-actions > span { display: flex; min-width: 0; }
body.event-hackathon .doom-hero-actions .btn { min-height: 48px; margin: 0; padding: 14px 19px; border-radius: 3px; font-size: .72rem; letter-spacing: .03em; white-space: normal; }
body.event-hackathon .doom-hero-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 18px; font: .62rem/1.7 var(--font-mono); color: #8d9e85; }
body.event-hackathon .doom-scope { color: var(--doom-gold); }
body.event-hackathon .doom-prize .hero-prize-callout { margin: 22px 0 0; padding: 0; background: none; border: none; box-shadow: none; display: flex; flex-wrap: wrap; gap: 12px; align-items: baseline; justify-content: flex-start; text-align: left; }
body.event-hackathon .doom-prize .prize-callout-label { font-size: .6rem; letter-spacing: .1em; color: #86927e; }
body.event-hackathon .doom-prize .prize-callout-val { font-size: 1.1rem; color: var(--doom-gold); text-shadow: none; }
body.event-hackathon .doom-art {
    position: relative;
    align-self: stretch;
    min-height: 620px;
    max-height: 800px;
    isolation: isolate;
    overflow: hidden;
    border: 1px solid #2b402a;
    background: radial-gradient(ellipse at 50% 45%, #264e25 0%, #0c190e 45%, #050806 78%);
}
body.event-hackathon .doom-art::before, body.event-hackathon .doom-art::after { content: ''; position: absolute; width: 28px; height: 28px; border-color: var(--doom-gold); z-index: 5; pointer-events: none; }
body.event-hackathon .doom-art::before { top: 10px; left: 10px; border-top: 1px solid var(--doom-gold); border-left: 1px solid var(--doom-gold); }
body.event-hackathon .doom-art::after { right: 10px; bottom: 10px; border-bottom: 1px solid var(--doom-gold); border-right: 1px solid var(--doom-gold); }
body.event-hackathon .doom-art-grid { position: absolute; inset: 0; background: repeating-linear-gradient(0deg, transparent 0 3px, #0003 3px 4px); opacity: .4; z-index: 4; pointer-events: none; }
body.event-hackathon .doom-seal { position: absolute; width: 115%; aspect-ratio: 1; top: 26%; left: -7.5%; border-radius: 50%; border: 1px solid #8fe96b33; box-shadow: 0 0 60px #75bd4214, inset 0 0 60px #75bd4214; }
body.event-hackathon .doom-seal span { position: absolute; inset: 18px; border: 1px dashed #85d36b44; border-radius: 50%; }
body.event-hackathon .doom-seal span:nth-child(2) { inset: 46px; border-style: solid; }
body.event-hackathon .doom-seal span:nth-child(3) { inset: 65px; border-color: #c7ab6822; }
body.event-hackathon .doom-villain-wrap { position: absolute; inset: 48px 12px 42px; z-index: 2; }
body.event-hackathon .doom-villain { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 0 18px #73ff5655) drop-shadow(0 0 38px #53df3933) drop-shadow(0 12px 18px #000b); }
body.event-hackathon .doom-power-aura {
    position: absolute; inset: 7% 4% 2%; z-index: 0; pointer-events: none;
    background: radial-gradient(ellipse at 50% 38%, #9bf56c44, #46db3522 35%, transparent 68%), radial-gradient(ellipse at 50% 82%, #73ff5633, transparent 60%);
    animation: doom-power-breathe 8s ease-in-out infinite;
}
body.event-hackathon .doom-lightning {
    position: absolute; inset: 4% 1%; width: 98%; height: 92%; z-index: 1; pointer-events: none;
    stroke: #adff91; stroke-width: 1.8; stroke-linejoin: round; stroke-linecap: round;
    filter: drop-shadow(0 0 3px #73ff56) drop-shadow(0 0 9px #73ff5677);
}
body.event-hackathon .doom-lightning path { stroke-dasharray: 160 840; animation: doom-arc-flow 7s linear infinite; }
body.event-hackathon .doom-lightning path:nth-child(2) { animation-delay: -3.5s; }
body.event-hackathon .doom-lightning path:nth-child(3) { animation-delay: -1.5s; stroke-width: 1; }
body.event-hackathon .doom-lightning path:nth-child(4) { animation-delay: -5s; stroke-width: 1; }
@keyframes doom-power-breathe { 0%, 100% { opacity: .6; transform: scale(.97); } 50% { opacity: 1; transform: scale(1.03); } }
@keyframes doom-arc-flow { 0% { stroke-dashoffset: 1000; opacity: .25; } 50% { opacity: .75; } 100% { stroke-dashoffset: 0; opacity: .25; } }
body.event-hackathon .doom-scan { position: absolute; inset: -8% 0 auto; height: 12%; z-index: 3; background: linear-gradient(transparent, #9bf56c14, #9bf56c55); opacity: 0; pointer-events: none; }
body.event-hackathon .doom-art-top, body.event-hackathon .doom-art-bottom { position: absolute; left: 26px; right: 26px; z-index: 5; display: flex; align-items: center; gap: 8px; font: .55rem/1.6 var(--font-mono); letter-spacing: .08em; color: #97b68c; }
body.event-hackathon .doom-art-top { top: 22px; justify-content: space-between; }
body.event-hackathon .doom-crosshair { font-size: 1.5rem; font-weight: 300; color: var(--doom-gold); }
body.event-hackathon .doom-art-bottom { bottom: 20px; font-size: .5rem; }
body.event-hackathon .doom-threat-light { width: 5px; height: 5px; background: #9bf56c; border-radius: 50%; flex-shrink: 0; }
body.event-hackathon .doom-code { color: #6d8263; margin-left: auto; }
body.event-hackathon .doom-hero-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px; padding-block: 24px; margin-top: 22px; border-bottom: 1px solid #2c3f28; color: #879c80; font: .58rem/1.7 var(--font-mono); letter-spacing: .06em; }
body.event-hackathon .doom-hero-footer > span { max-width: 50%; }
body.event-hackathon .doom-scroll-link { color: #c4ddba; display: inline-flex; gap: 18px; align-items: center; }
body.event-hackathon .doom-scroll-link > span { font-size: 1.1rem; }

/* Keep the still pose visible, with a restrained idle motion. */
body.event-hackathon .doom-villain-wrap,
body.event-hackathon .doom-villain { animation: none; opacity: 1; transform: none; clip-path: none; }
body.event-hackathon .doom-villain {
    transform-origin: center bottom;
    animation: doom-idle 8s ease-in-out infinite;
}
body.event-hackathon .doom-art:hover .doom-villain { animation-play-state: paused; }
body.event-hackathon .doom-is-ready .doom-seal { animation: doom-seal-breathe 5s ease-in-out 2s infinite; }
body.event-hackathon .doom-is-ready .doom-seal > span:first-child { animation: doom-orbit 50s linear infinite; }
body.event-hackathon .doom-is-ready .doom-scan { animation: doom-scan-pass 7s linear 2s infinite; }
@keyframes doom-emerge {
    0% { opacity: 0; transform: translateY(52px) scale(.9); clip-path: inset(100% 0 0); }
    45% { opacity: .8; }
    100% { opacity: 1; transform: translateY(0) scale(1); clip-path: inset(0); }
}
@keyframes doom-idle {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-5px) scale(1.008); }
}
@keyframes doom-seal-breathe { 0%, 100% { opacity: .45; transform: scale(.97); } 50% { opacity: .95; transform: scale(1.02); } }
@keyframes doom-orbit { to { transform: rotate(360deg); } }
@keyframes doom-scan-pass { 0%, 10% { top: -12%; opacity: 0; } 15% { opacity: .5; } 60% { top: 100%; opacity: .3; } 65%, 100% { top: 100%; opacity: 0; } }

/* =========================================================================
   LANDON NORRIS ELEMENT 1: HIGH-VELOCITY KINETIC CYBER MARQUEE (s home-marquee)
   ========================================================================= */
body.event-hackathon .doom-marquee-section {
    position: relative;
    overflow: hidden;
    padding: 18px 0;
    background: #040805;
    border-block: 1px solid #1f3622;
    z-index: 5;
}
body.event-hackathon .doom-marquee-track {
    display: flex;
    width: max-content;
    animation: doom-marquee-loop 24s linear infinite;
    will-change: transform;
}
body.event-hackathon .doom-marquee-section:hover .doom-marquee-track {
    animation-play-state: paused;
}
body.event-hackathon .doom-marquee-content {
    display: flex;
    align-items: center;
    gap: 32px;
    padding-right: 32px;
    font: 800 clamp(1.2rem, 2.5vw, 2rem)/1 var(--font-display);
    letter-spacing: .06em;
    color: #e5ede0;
    text-transform: uppercase;
    white-space: nowrap;
}
body.event-hackathon .doom-marquee-content span:hover {
    color: var(--doom-green);
    text-shadow: 0 0 16px rgba(115, 255, 86, 0.4);
}
body.event-hackathon .marquee-sep {
    color: var(--doom-green) !important;
    font-size: 1.1rem;
    filter: drop-shadow(0 0 6px var(--doom-green));
}
@keyframes doom-marquee-loop {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* =========================================================================
   LANDON NORRIS ELEMENT 2: CHALLENGE TRACKS WITH CHAMFERED SVG FRAMES (home-helmets)
   ========================================================================= */
body.event-hackathon .doom-tracks-section {
    position: relative;
    padding: 90px 0;
    background: #050806;
}
body.event-hackathon .doom-section-header {
    margin-bottom: 48px;
}
body.event-hackathon .doom-section-eyebrow {
    font: 600 .68rem/1.5 var(--font-mono);
    color: var(--doom-gold);
    letter-spacing: .14em;
    margin-bottom: 10px;
}
body.event-hackathon .doom-section-title {
    font: 900 clamp(2.2rem, 5vw, 3.8rem)/1.05 var(--font-display);
    color: #f1f7ec;
    letter-spacing: -.03em;
    margin: 0 0 16px;
}
body.event-hackathon .text-lime {
    color: var(--doom-green);
    text-shadow: 0 0 20px rgba(115, 255, 86, 0.25);
}
body.event-hackathon .doom-section-desc {
    max-width: 640px;
    font: .98rem/1.7 var(--font-primary);
    color: #a4b59f;
}
body.event-hackathon .doom-tracks-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
body.event-hackathon .doom-track-card {
    position: relative;
    aspect-ratio: 320 / 280;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 24px;
    color: #e5eee1;
    isolation: isolate;
    cursor: default;
    transition: transform .35s cubic-bezier(.2,.8,.2,1);
}
body.event-hackathon .doom-track-card:hover {
    transform: translateY(-6px);
}
body.event-hackathon .track-frame-svg {
    position: absolute;
    inset: 0;
    z-index: 1;
    color: #274028;
    background: linear-gradient(145deg, #0d1a10, #070e09);
    transition: all .35s ease;
    pointer-events: none;
}
body.event-hackathon .doom-track-card:hover .track-frame-svg {
    color: var(--doom-green);
    background: linear-gradient(145deg, #132717, #0b170e);
    filter: drop-shadow(0 12px 28px rgba(115, 255, 86, 0.16));
}
body.event-hackathon .track-card-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
}
body.event-hackathon .track-tag-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
body.event-hackathon .track-badge {
    font: 700 .62rem/1.2 var(--font-mono);
    color: var(--doom-gold);
    letter-spacing: .1em;
}
body.event-hackathon .track-pill {
    font: 600 .54rem/1.3 var(--font-mono);
    padding: 3px 8px;
    background: #142817;
    border: 1px solid #365b38;
    border-radius: 20px;
    color: #9cdb8f;
}
body.event-hackathon .track-title {
    font: 800 1.25rem/1.2 var(--font-heading);
    color: #ffffff;
    letter-spacing: .02em;
    margin: 12px 0 8px;
    transition: color .25s ease;
}
body.event-hackathon .doom-track-card:hover .track-title {
    color: var(--doom-green);
}
body.event-hackathon .track-desc {
    font: .82rem/1.5 var(--font-primary);
    color: #9eb09a;
    margin: 0;
}
body.event-hackathon .track-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid #203522;
    font: .58rem/1.3 var(--font-mono);
    color: #7b9677;
}
body.event-hackathon .track-arrow {
    font-size: 1.1rem;
    color: var(--doom-green);
    transition: transform .25s ease;
}
body.event-hackathon .doom-track-card:hover .track-arrow {
    transform: translate(3px, -3px);
}

/* =========================================================================
   LANDON NORRIS ELEMENT 3: DOOM.EXE INTERACTIVE HACKER TERMINAL (is-lando-exe)
   ========================================================================= */
body.event-hackathon .doom-terminal-section {
    position: relative;
    padding: 80px 0;
    background: radial-gradient(ellipse at 50% 30%, #112816, #050806 70%);
}
body.event-hackathon .doom-terminal-box {
    position: relative;
    background: #070e09;
    border: 1px solid #2e4d30;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 16px 48px #000a, 0 0 32px rgba(115, 255, 86, 0.08);
}
body.event-hackathon .terminal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 18px;
    background: #0d1b11;
    border-bottom: 1px solid #203623;
}
body.event-hackathon .terminal-dots {
    display: flex;
    gap: 7px;
}
body.event-hackathon .terminal-dots .dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}
body.event-hackathon .dot.red { background: #ff5f56; }
body.event-hackathon .dot.yellow { background: #ffbd2e; }
body.event-hackathon .dot.green { background: #27c93f; }
body.event-hackathon .terminal-title {
    font: 600 .65rem/1.2 var(--font-mono);
    color: #9ec994;
    letter-spacing: .08em;
}
body.event-hackathon .terminal-status {
    font: 700 .58rem/1.2 var(--font-mono);
    color: var(--doom-green);
    display: flex;
    align-items: center;
    gap: 6px;
}
body.event-hackathon .terminal-status .pulse {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--doom-green);
    box-shadow: 0 0 8px var(--doom-green);
    animation: doom-pulse 1.8s infinite;
}
body.event-hackathon .terminal-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px 18px;
    background: #09140c;
    border-bottom: 1px solid #1a2c1d;
}
body.event-hackathon .toolbar-label {
    font: .56rem/1 var(--font-mono);
    color: #728a6f;
    letter-spacing: .06em;
}
body.event-hackathon .term-btn {
    padding: 5px 11px;
    background: #112315;
    border: 1px solid #2c4a2e;
    border-radius: 3px;
    color: #b8e0b0;
    font: .62rem/1 var(--font-mono);
    cursor: pointer;
    transition: all .2s ease;
}
body.event-hackathon .term-btn:hover {
    background: #1d3c22;
    border-color: var(--doom-green);
    color: #ffffff;
    box-shadow: 0 0 10px rgba(115, 255, 86, 0.25);
}
body.event-hackathon .terminal-body {
    padding: 22px;
    min-height: 220px;
    max-height: 340px;
    overflow-y: auto;
    font: .78rem/1.65 var(--font-mono);
    color: #b5e4ad;
    background: #060c07 repeating-linear-gradient(0deg, transparent 0 2px, rgba(0, 0, 0, 0.3) 2px 4px);
    display: flex;
    flex-direction: column;
    gap: 6px;
}
body.event-hackathon .term-line.prompt { color: var(--doom-green); font-weight: 600; }
body.event-hackathon .term-line.system { color: #f2fad9; font-weight: 600; }
body.event-hackathon .term-line.dim { color: #6d846b; }
body.event-hackathon .term-line.user { color: #ffd666; font-weight: 600; }
body.event-hackathon .term-line.output { color: #a1dca2; padding-left: 12px; border-left: 2px solid #2a4c2e; }
body.event-hackathon .term-line.error { color: #ff7875; padding-left: 12px; border-left: 2px solid #ff4d4f; }
body.event-hackathon .terminal-input-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 18px;
    background: #0c180e;
    border-top: 1px solid #203623;
}
body.event-hackathon .term-prompt-sign {
    font: 700 .75rem/1 var(--font-mono);
    color: var(--doom-green);
    flex-shrink: 0;
}
body.event-hackathon .term-input {
    flex: 1;
    background: transparent;
    border: none;
    outline: none;
    color: #ffffff;
    font: .78rem/1.4 var(--font-mono);
}
body.event-hackathon .term-input::placeholder {
    color: #4b6348;
}
body.event-hackathon .term-submit-btn {
    padding: 7px 16px;
    background: var(--doom-green);
    border: none;
    border-radius: 3px;
    color: #071008;
    font: 700 .62rem/1 var(--font-mono);
    letter-spacing: .08em;
    cursor: pointer;
    transition: all .2s ease;
}
body.event-hackathon .term-submit-btn:hover {
    background: #90ff7a;
    box-shadow: 0 0 14px var(--doom-green);
}
@media (max-width: 1000px) {
    body.event-hackathon .doom-hero-layout { grid-template-columns: 1.1fr .9fr; gap: 24px; }
    body.event-hackathon .doom-art { min-height: 600px; }
    body.event-hackathon .doom-title { font-size: clamp(3rem, 6.5vw, 5.5rem); }
    body.event-hackathon .doom-tracks-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}
@media (max-width: 760px) {
    body.event-hackathon .doom-hero-layout { grid-template-columns: 1fr; gap: 18px; }
    body.event-hackathon .doom-hero-copy { display: contents; }
    body.event-hackathon .doom-status { grid-row: 2; margin: 0; }
    body.event-hackathon .doom-title { grid-row: 1; margin: 0; font-size: clamp(2.8rem, 13vw, 5.5rem); }
    body.event-hackathon .doom-art { grid-row: 3; min-height: 0; height: clamp(420px, 115vw, 620px); max-height: none; width: 100%; }
    body.event-hackathon .doom-manifesto { margin-top: 10px; }
    body.event-hackathon .doom-description { margin: 0; max-width: none; }
    body.event-hackathon .doom-facts { margin: 4px 0; }
    body.event-hackathon .doom-hero-meta { margin-top: 0; }
    body.event-hackathon .doom-prize .hero-prize-callout { margin-top: 0; }
    body.event-hackathon .doom-hero-footer > span { max-width: 100%; width: 100%; }
    body.event-hackathon .doom-art-top, body.event-hackathon .doom-art-bottom { left: 18px; right: 18px; }
    body.event-hackathon .doom-seal { top: 15%; }
}
@media (max-width: 600px) {
    body.event-hackathon .doom-tracks-grid { grid-template-columns: 1fr; }
}
@media (max-width: 400px) {
    body.event-hackathon .doom-hero-layout { padding-inline: 16px; }
    body.event-hackathon .doom-title { font-size: 13vw; }
    body.event-hackathon .doom-art { min-height: 0; height: clamp(380px, 120vw, 480px); }
    body.event-hackathon .doom-facts { grid-template-columns: 1fr 1fr; gap: 16px; }
    body.event-hackathon .doom-facts > div:last-child { grid-column: 1 / -1; }
    body.event-hackathon .doom-hero-actions { flex-direction: column; }
    body.event-hackathon .doom-hero-actions > span, body.event-hackathon .doom-hero-actions .btn { width: 100%; }
    body.event-hackathon .doom-code { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    body.event-hackathon .doom-art * { animation: none !important; }
    body.event-hackathon .doom-art .doom-villain-wrap { opacity: 1 !important; transform: none; clip-path: none; }
    body.event-hackathon .doom-scan { display: none; }
}

/* Original character punches procedural neon-green glass; shards fall fast. */
body.event-hackathon .doom-loader {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    height: 100dvh;
    z-index: 200000;
    display: block;
    overflow: hidden;
    background: transparent;
    opacity: 1;
    transition: none;
    isolation: isolate;
}
body.event-hackathon .doom-loader[hidden] { display: none; }
body.event-hackathon .doom-loader-shroud {
    position: absolute; inset: 0;
    background: radial-gradient(ellipse at 50% 40%, #143e19, #010503 66%);
}
body.event-hackathon .doom-loader-shroud::after {
    content: ''; position: absolute; inset: 0; opacity: .2;
    background-image: linear-gradient(#73ff5622 1px, transparent 1px), linear-gradient(90deg, #73ff5622 1px, transparent 1px);
    background-size: 38px 38px;
}
body.event-hackathon .doom-loader-character { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 1; pointer-events: none; }
body.event-hackathon .doom-punch-character { display: block; height: 100%; width: 100%; object-fit: contain; }
body.event-hackathon #doom-crack-screen { position: absolute; inset: 0; z-index: 3; display: block; width: 100%; height: 100%; pointer-events: none; }
body.event-hackathon .doom-glass-piece { opacity: 0; }
body.event-hackathon .doom-shard-edge { fill: none; stroke: #7dff64; stroke-width: 1; stroke-opacity: .65; }
body.event-hackathon .doom-glass-piece use { filter: drop-shadow(0 0 1.5px #73ff56); }
body.event-hackathon .doom-branch-ray { stroke-width: .7; stroke-opacity: .75; }
body.event-hackathon .doom-impact-ring { opacity: 0; transform-box: fill-box; transform-origin: center; }
body.event-hackathon .doom-falling-shard { transform-box: view-box; transform-origin: var(--pivot-x) var(--pivot-y); }
body.event-hackathon .doom-draw-ray { stroke-dasharray: 1; stroke-dashoffset: 1; }
body.event-hackathon .doom-loader-impact { opacity: 0; transform-box: fill-box; transform-origin: center; }
body.event-hackathon .doom-loader-running #doom-crack-screen { animation: doom-glass-jolt .18s ease-out .84s both; }
body.event-hackathon .doom-loader-running .doom-loader-shroud { animation: doom-uncover-page .16s ease  .98s forwards; }
body.event-hackathon .doom-loader-running .doom-draw-ray { animation: doom-fracture-line .18s ease-out var(--draw-delay) both; }
body.event-hackathon .doom-loader-running .doom-loader-impact { animation: doom-impact .35s ease-out .84s both; }
body.event-hackathon .doom-loader-running .doom-impact-ring { animation: doom-impact-ring .5s ease-out .84s both; }
body.event-hackathon .doom-loader-running .doom-glass-piece { animation: doom-glass-appear .045s linear .84s both; }
body.event-hackathon .doom-loader-running .doom-falling-shard { animation: doom-glass-fall var(--fall-duration) linear var(--fall-delay) forwards; }
@keyframes doom-fracture-line { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes doom-impact { 0% { opacity: 0; transform: scale(.2); } 20% { opacity: .9; transform: scale(2.8); } 100% { opacity: 0; transform: scale(6); } }
@keyframes doom-uncover-page { to { opacity: 0; } }
@keyframes doom-glass-jolt {
    0%, 100% { transform: translate(0, 0); }
    20% { transform: translate(5px, -3px); }
    45% { transform: translate(-4px, 3px); }
    70% { transform: translate(2px, -1px); }
}
@keyframes doom-impact-ring { 0% { opacity: .9; transform: scale(.2); } 100% { opacity: 0; transform: scale(7); } }
@keyframes doom-glass-appear { from { opacity: 0; } to { opacity: 1; } }
@keyframes doom-glass-fall {
    0% { transform: translate(0, 0) rotate(0); opacity: 1; }
    12% { transform: translate(calc(var(--fall-x) * .12), -7px) rotate(calc(var(--fall-rotation) * .06)); opacity: 1; }
    35% { transform: translate(calc(var(--fall-x) * .35), calc(var(--fall-y) * .12)) rotate(calc(var(--fall-rotation) * .25)); opacity: 1; }
    70% { transform: translate(calc(var(--fall-x) * .7), calc(var(--fall-y) * .5)) rotate(calc(var(--fall-rotation) * .65)); opacity: 1; }
    90% { opacity: 1; }
    100% { transform: translate(var(--fall-x), var(--fall-y)) rotate(var(--fall-rotation)); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
    body.event-hackathon .doom-loader { display: none; }
    body.event-hackathon .doom-loader * { animation: none !important; }
}
