@import url('https://fonts.googleapis.com/css2?family=Anton&family=DM+Sans:wght@400;500;600;700&display=swap');

html body.jd-home, html.dark-mode body.jd-home {
    --jd-pink: #f85ca9;
    --jd-purple: #9d7fe8;
    --jd-ink: #171717;
    --jd-paper: #f4f1e8;
    --text-color: #171717;
    --card-bg: #f4f1e8;
    --menu-bg: #f4f1e8;
    padding: 0;
    margin: 0;
    background: var(--jd-ink);
    color: var(--jd-ink);
    font-family: 'DM Sans', Arial, sans-serif;
    letter-spacing: 0;
    text-align: left;
}
.jd-home *, .jd-home *::before, .jd-home *::after { box-sizing: border-box; }
.jd-home #app-wrapper.jd-shell { width: 100%; max-width: none; margin: 0; padding: 0; }
.jd-home main { margin: 0; padding: 0; max-width: none; width: 100%; }
.jd-home h1, .jd-home h2, .jd-home h3, .jd-home p { margin: 0; }
.jd-home h1, .jd-home h2 { font-family: 'Anton', Impact, 'Arial Narrow', sans-serif; font-weight: 400; letter-spacing: 0; color: inherit; text-shadow: none; line-height: 1.02; }
.jd-home a { color: inherit; }
.jd-home button { font-family: inherit; cursor: pointer; }
.jd-home button:disabled { cursor: wait; opacity: .5; }
.jd-home a:focus-visible, .jd-home button:focus-visible, .jd-home summary:focus-visible { outline: 3px solid currentColor; outline-offset: 5px; }
.jd-home .admin-only { display: none; }
.jd-home .admin-edit-button { position: static; width: fit-content; margin-top: 14px; }
.jd-skip { position: absolute; top: -100px; background: #fff; padding: 12px; z-index: 20000; }
.jd-skip:focus { top: 0; }
.jd-home #nav-placeholder { margin: 0; min-height: 80px; background: var(--jd-paper); }
.jd-home #nav-placeholder > header { border: 0; border-radius: 0; padding: 12px 4%; min-height: 80px; background: var(--jd-paper); box-shadow: none; backdrop-filter: none; }
.jd-home #nav-placeholder nav { gap: 28px; }
.jd-home .jd-brand { font-size: 21px; font-family: 'Anton', Impact, sans-serif; text-decoration: none; white-space: nowrap; }
.jd-home .nav-left-group { margin-left: auto; }
.jd-home .nav-center-links { display: none; }
.jd-home .jd-nav-links { display: flex; gap: 24px; align-items: center; }
.jd-home .jd-nav-links a { font-size: 12px; font-weight: 700; text-transform: uppercase; text-decoration: none; }
.jd-home .nav-right-group { margin-left: 0; gap: 12px; }
.jd-home .nav-theme-toggle { display: none; }
.jd-home .nav-left-group > .nav-dropdown .dropdown-button { border: 0; background: transparent; color: var(--jd-ink); font-size: 12px; text-transform: uppercase; padding: 10px 0; }
.jd-home #login-dropdown-container > button { background: var(--jd-ink); color: var(--jd-paper); border: 0; border-radius: 2px; box-shadow: none; font-size: 12px; padding: 12px 18px; }
.jd-home .dropdown-menu { border-radius: 2px; box-shadow: 4px 4px 0 var(--jd-ink); }
.jd-home .nav-jbucks-container { background: transparent; box-shadow: none; border: 0; }
.jd-hero { height: min(780px, calc(100svh - 145px)); min-height: 490px; position: relative; overflow: visible; background: #333; color: var(--jd-paper); }
.jd-hero > video { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: 60% center; }
.jd-hero-top { position: absolute; top: 26px; left: 4%; right: 4%; display: flex; justify-content: flex-end; align-items: center; font-size: 13px; font-weight: 600; text-shadow: 0 1px 5px #171717; }
.jd-hero-top > span { font-style: italic; font-size: 20px; }
.jd-hero-top a { text-decoration: none; }
.jd-home .jd-hero h1 { position: absolute; z-index: 2; bottom: -.47em; left: 4%; font-size: 132px; line-height: .94; text-align: left; background: none; padding: 0; }
.jd-hero h1 span { display: block; }
.jd-hero h1 span:first-child { color: var(--jd-pink); }
.jd-hero h1 span:not(:first-child) { color: var(--jd-paper); -webkit-text-stroke: 1px var(--jd-ink); paint-order: stroke fill; }
.jd-hero-bottom { position: absolute; top: 70px; left: 4%; right: 4%; display: flex; align-items: center; justify-content: flex-end; font-size: 12px; text-shadow: 0 1px 5px #171717; }
.jd-hero-bottom button { width: 40px; height: 40px; color: var(--jd-paper); background: var(--jd-ink); border: 1px solid var(--jd-paper); border-radius: 50%; }
.jd-section { padding: 90px max(5%, calc((100% - 1320px) / 2)); }
.jd-eyebrow { font-size: 12px; font-weight: 700; text-transform: uppercase; line-height: 1.4; }
.jd-home .jd-text-link { display: inline-block; font-size: 15px; font-weight: 700; text-decoration: none; padding-bottom: 5px; border-bottom: 1px solid currentColor; width: fit-content; }
.jd-text-link:hover { opacity: .7; }
.jd-home .jd-intro { padding-top: 140px; padding-bottom: 0; }
.jd-intro { background: var(--jd-purple); display: grid; grid-template-columns: 1fr 1fr; column-gap: 9%; row-gap: 32px; align-items: center; }
.jd-intro-heading > .jd-eyebrow { font-size: 24px; max-width: 310px; }
.jd-home .jd-intro h2 { font-size: 170px; margin-top: 10px; }
.jd-intro-copy > p { font-size: 25px; max-width: 490px; line-height: 1.4; margin-bottom: 30px; }
.jd-scrubber { grid-column: 1 / -1; margin: 32px 0 0; position: relative; z-index: 3; }
.jd-scrub-stage { height: 250px; position: relative; }
.jd-home .jd-scrub-title { position: absolute; top: 0; left: 0; font-family: 'Anton', Impact, sans-serif; font-size: 40px; line-height: 1; }
.jd-scrub-title br { display: inline-block; width: .2em; }
.jd-scrub-preview { position: absolute; width: 265px; right: auto; bottom: 48px; left: 0; background: var(--jd-ink); border: 2px solid var(--jd-ink); border-radius: 3px; overflow: hidden; box-shadow: 5px 5px 0 rgba(23,23,23,.22); }
.jd-scrub-preview video { width: 100%; aspect-ratio: 16 / 9; display: block; object-fit: cover; }
.jd-scrub-preview output { display: block; color: var(--jd-paper); font: 10px Consolas, monospace; text-align: center; padding: 3px; }
.jd-scrub-bar { position: absolute; top: 100%; left: 0; right: 0; transform: translateY(-50%); display: flex; gap: 20px; align-items: center; background: var(--jd-ink); color: var(--jd-paper); padding: 20px; border-radius: 3px; }
.jd-scrub-bar label { font: 11px Consolas, monospace; }
.jd-scrub-bar input { min-width: 0; flex: 1; accent-color: var(--jd-paper); cursor: ew-resize; height: 25px; padding: 0; }
.jd-scrub-bar a { font-size: 24px; text-decoration: none; }
.jd-home .jd-now { padding-top: 150px; }
.jd-live-status { display: block; margin-top: 16px; font-size: 12px; }
.jd-live-status.is-live::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #c41b46; display: inline-block; margin-right: 8px; }
.jd-now { background: var(--jd-pink); }
.jd-section-heading { max-width: none; margin-left: 0; }
.jd-now .jd-section-heading { position: relative; z-index: 2; left: 50%; transform: translateX(-50%); width: 92vw; }
.jd-home .jd-section-heading h2 { font-size: 170px; margin: 0; max-width: none; white-space: nowrap; }
.jd-section-heading > p:last-of-type { font-size: 17px; }
.jd-desktop { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); align-items: start; row-gap: 80px; column-gap: 32px; margin-top: -18px; }
.jd-project { min-width: 0; }
.jd-project-game { grid-column: 1 / 9; grid-row: 1; padding-right: 22px; }
.jd-project-work { grid-column: 9 / 13; grid-row: 1 / 3; margin-top: 235px; }
.jd-project-site { grid-column: 2 / 8; grid-row: 2; }
.jd-window, .jd-photo-viewer, .jd-browser-window { display: block; border: 2px solid var(--jd-ink); border-radius: 3px; background: var(--jd-paper); box-shadow: 8px 8px 0 var(--jd-ink); overflow: hidden; text-decoration: none; }
.jd-window { transform: rotate(-2deg); }
.jd-photo-viewer { transform: rotate(3deg); }
.jd-browser-window { transform: rotate(1deg); }
.jd-window-bar { display: flex; justify-content: space-between; padding: 10px 12px; border-bottom: 2px solid var(--jd-ink); font-family: Consolas, monospace; font-size: 11px; color: var(--jd-ink); gap: 8px; }
.jd-window-bar span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.jd-project-caption { display: grid; grid-template-columns: 36px 1fr; gap: 14px; margin-top: 28px; }
.jd-project-number { font-family: Consolas, monospace; font-size: 13px; padding-top: 3px; }
.jd-project-caption h3 { font-size: 29px; line-height: 1.08; margin: 9px 0 13px; }
.jd-project-caption p:not(.jd-eyebrow) { font-size: 15px; line-height: 1.55; max-width: 480px; }
.jd-project-caption .jd-text-link { margin-top: 18px; }
.jd-photo-viewer > img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; display: block; }
.jd-photo-footer { display: block; padding: 15px 10px; font-size: 9px; font-family: Consolas, monospace; }
.jd-browser-content { position: relative; padding: 22px; min-height: 245px; background: var(--jd-purple); overflow: hidden; }
.jd-browser-content > span { font-size: 10px; }
.jd-browser-content > strong { font-family: 'Anton', Impact, sans-serif; font-size: 43px; line-height: 1.08; font-weight: 400; display: block; margin-top: 20px; width: 70%; position: relative; z-index: 1; }
.jd-browser-content > img { position: absolute; width: 37%; height: auto; bottom: 18px; right: 8px; transform: rotate(12deg); }
.jd-announcement { margin-top: 95px; border-top: 1px solid var(--jd-ink); padding-top: 24px; display: flex; gap: 30px; align-items: baseline; flex-wrap: wrap; }
.jd-admin-events { padding-top: 25px; }
.jd-admin-events .upcoming-event-date, .jd-admin-events .upcoming-event-empty, .jd-admin-events .upcoming-event-count { color: var(--jd-ink); }
.jd-announcement #announcement-display { flex: 1; min-width: 200px; font-size: 17px; }
.jd-intro > .jd-announcement { grid-column: 1 / -1; margin: 0 0 12px; padding: 0 0 26px; border-top: 0; border-bottom: 1px solid var(--jd-ink); align-items: baseline; }
.jd-intro > .jd-announcement #announcement-display { font-size: 20px; line-height: 1.5; overflow-wrap: anywhere; }
.jd-intro > .jd-announcement #announcement-editor { flex-basis: 100%; min-width: 0; }
.jd-intro > .jd-announcement textarea { width: 100%; box-sizing: border-box; }
.jd-watch { background: var(--jd-ink); color: var(--jd-paper); }
.jd-watch-header { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 48px; }
.jd-home .jd-watch h2 { font-size: 76px; }
.jd-watch-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 25px; }
.jd-watch-featured { grid-template-columns: minmax(0,1.8fr) minmax(0,1fr); align-items: start; gap: 32px; }
.jd-clips { grid-row: span 2; min-width: 0; }
.jd-clips h3 { font-family: 'Anton', Impact, sans-serif; font-size: 32px; font-weight: 400; margin-bottom: 16px; }
.jd-clips video { display: block; width: 100%; aspect-ratio: 16/9; background: #000; object-fit: contain; }
.jd-clips #jd-clips-title { margin-top: 14px; font-size: 18px; font-weight: 600; overflow-wrap: anywhere; }
.jd-clips #jd-clips-status { min-height: 24px; font-size: 13px; margin-top: 5px; }
.jd-clips-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin-top: 12px; }
.jd-clips-actions button { padding: 10px 16px; background: var(--jd-purple); color: var(--jd-ink); border: 0; border-radius: 2px; font-weight: 700; }
.jd-watch-grid > article > .jd-eyebrow { margin-bottom: 14px; color: var(--jd-purple); }
.jd-media { min-width: 0; aspect-ratio: 16 / 9; background: #272727; color: var(--jd-paper); }
.jd-media > p { padding: 30px; }
.jd-home .jd-media .homepage-video-card, .jd-home .jd-watch-grid .homepage-video-card { border-radius: 0; box-shadow: none; border: 0; width: 100%; aspect-ratio: 16/9; min-height: 0; height: auto; }
.jd-home .jd-media .homepage-video-title, .jd-home .jd-watch-grid .homepage-video-title { font-family: 'DM Sans', sans-serif; font-size: 15px; line-height: 1.3; }
.jd-home .homepage-video-channel { font-size: 11px; }
.jd-home .homepage-video-content { padding: 14px; }
.jd-home .homepage-video-scrim { background: linear-gradient(0deg, rgba(0,0,0,.82), transparent 60%); }
.jd-home .homepage-video-destination { font-size: 10px; border-radius: 2px; }
.jd-home .jd-watch-grid .homepage-video-channel-icon { display: none; }
.jd-home .jd-watch-grid .homepage-video-content { grid-template-columns: 1fr; }
.jd-archive { border-top: 1px solid #777; margin-top: 55px; }
.jd-archive summary { padding: 25px 0; font-size: 18px; cursor: pointer; list-style: none; display: flex; justify-content: space-between; }
.jd-archive-heading { margin-bottom: 25px; }
.jd-archive-heading h3 { font-size: 24px; margin: 8px 0; }
.jd-buddy { background: var(--jd-paper); display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 50px; }
.jd-home .jd-buddy h2 { font-size: 112px; margin: 25px 0; }
.jd-buddy h2 span { color: #7952ca; }
.jd-buddy-copy > p:not(.jd-eyebrow) { font-size: 20px; max-width: 300px; line-height: 1.4; }
.jd-home .jd-solid-link { display: block; width: fit-content; background: var(--jd-ink); color: var(--jd-paper); padding: 18px 24px; font-weight: 700; text-decoration: none; margin: 30px 0 22px; }
.jd-solid-link:hover { background: #7952ca; }
.jd-buddy-playground { min-width: 0; }
#jd-buddy-canvas { position: static; inset: auto; transform: none; display: block; width: min(100%,440px); height: auto; aspect-ratio: 640/760; margin: -30px auto 0; }
.jd-buddy-controls { max-width: 440px; margin: auto; }
.jd-buddy-control { display: grid; grid-template-columns: 105px 40px minmax(70px,1fr) 40px; align-items: center; border-bottom: 1px solid #b5b1a8; padding: 6px 0; gap: 8px; }
.jd-buddy-control > span { font-size: 12px; text-transform: uppercase; font-weight: 700; }
.jd-buddy-control > output { text-align: center; font-size: 14px; }
.jd-buddy-control button { width: 40px; height: 40px; font-size: 22px; border: 0; background: transparent; color: var(--jd-ink); }
.jd-buddy-control button:hover { background: var(--jd-purple); }
#jd-buddy-status { min-height: 22px; margin-top: 10px; text-align: center; font-size: 12px; }
.jd-about { background: var(--jd-purple); display: grid; grid-template-columns: 1fr 1fr; gap: 70px; }
.jd-home .jd-about h2 { font-size: 66px; margin-top: 20px; }
.jd-home .jd-about .bio { font-size: 19px; line-height: 1.6; color: var(--jd-ink); text-align: left; }
.jd-socials { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 26px; font-size: 14px; font-weight: 600; }
.jd-footer { background: var(--jd-ink); color: var(--jd-paper); display: flex; justify-content: space-between; align-items: center; gap: 25px; padding: 40px 5%; font-size: 12px; }
.jd-footer > a:first-child { font-family: 'Anton', Impact, sans-serif; font-size: 25px; }
.jd-footer a { text-decoration: none; }
@media(min-width:1600px) { .jd-home .jd-hero h1 { font-size: 170px; } }
@media(max-width:1050px) {
    .jd-home .jd-nav-links { gap: 15px; }
    .jd-home #nav-placeholder nav { gap: 16px; }
    .jd-home .jd-hero h1 { font-size: 110px; }
    .jd-section { padding: 65px 6%; }
    .jd-home .jd-section-heading h2 { font-size: 100px; }
    .jd-section-heading { margin-left: 0; }
    .jd-desktop { gap: 65px 25px; }
    .jd-project-game { grid-column: 1/9; padding: 0; }
    .jd-project-work { grid-column: 8/13; margin-top: 340px; }
    .jd-project-site { grid-column: 1/7; }
    .jd-project-caption h3 { font-size: 24px; }
    .jd-browser-content > strong { font-size: 34px; }
    .jd-home .jd-buddy h2 { font-size: 86px; }
    .jd-home .jd-watch h2 { font-size: 60px; }
    .jd-buddy { gap: 25px; }
}
@media(max-width:760px) {
    .jd-home #nav-placeholder > header { padding: 10px 5%; min-height: 68px; }
    .jd-home #nav-placeholder { min-height: 68px; }
    .jd-home .jd-brand { font-size: 17px; }
    .jd-home .jd-nav-links, .jd-home #nav-jbucks-display { display: none !important; }
    .jd-home .nav-right-group { gap: 0; }
    .jd-home .nav-left-group { margin-left: auto; }
    .jd-hero { min-height: 480px; height: calc(85svh - 68px); max-height: 650px; }
    .jd-hero > video { object-position: 60% center; }
    .jd-home .jd-hero h1 { font-size: 91px; left: 6%; }
    .jd-hero-top { left: 6%; right: 6%; }
    .jd-hero-top > span { font-size: 16px; }
    .jd-hero-top a { font-size: 10px; }
    .jd-hero-bottom { left: 6%; right: 6%; font-size: 10px; }
    .jd-section { padding: 58px 7%; }
    .jd-intro { gap: 25px; grid-template-columns: 1fr; }
    .jd-home .jd-intro { padding-top: 110px; }
    .jd-intro-heading > .jd-eyebrow { font-size: 22px; max-width: 260px; }
    .jd-home .jd-intro h2 { font-size: 125px; }
    .jd-intro-copy { margin-left: 15%; }
    .jd-intro-copy > p { font-size: 19px; }
    .jd-scrubber { margin: 5px 0 0; }
    .jd-scrub-stage { height: 210px; }
    .jd-scrub-preview { width: 180px; }
    .jd-home .jd-scrub-title { font-size: 34px; }
    .jd-scrub-bar { padding: 12px; gap: 10px; }
    .jd-scrub-bar label { max-width: 60px; font-size: 9px; }
    .jd-home .jd-now { padding-top: 100px; }
    .jd-section-heading { margin-left: 0; }
    .jd-home .jd-section-heading h2 { font-size: 42px; }
    .jd-desktop { display: flex; flex-direction: column; gap: 65px; margin-top: -6px; }
    .jd-project-game { width: 96%; }
    .jd-project-work { margin: 0 0 0 auto; width: 84%; }
    .jd-project-site { width: 92%; }
    .jd-project-caption { grid-template-columns: 23px 1fr; gap: 10px; }
    .jd-project-caption h3 { font-size: 25px; }
    .jd-browser-content { min-height: 235px; }
    .jd-announcement { margin-top: 60px; gap: 15px; }
    .jd-watch-header { display: block; }
    .jd-home .jd-watch h2 { font-size: 49px; margin-bottom: 26px; }
    .jd-watch-grid { grid-template-columns: 1fr; gap: 32px; }
    .jd-clips { grid-row: auto; }
    .jd-buddy { grid-template-columns: 1fr; gap: 36px; }
    .jd-home .jd-buddy h2 { font-size: 89px; }
    #jd-buddy-canvas { max-width: 340px; margin-top: -15px; }
    .jd-buddy-control { grid-template-columns: 94px 36px minmax(65px,1fr) 36px; gap: 5px; }
    .jd-buddy-control button { width: 36px; }
    .jd-about { grid-template-columns: 1fr; gap: 24px; }
    .jd-home .jd-about h2 { font-size: 55px; }
    .jd-footer { flex-wrap: wrap; gap: 20px; }
    .jd-footer > span { display: none; }
}
@media(min-width:1051px) and (max-width:1599px) { .jd-home .jd-section-heading h2 { font-size: 120px; } }
@media(min-width:1051px) and (max-width:1199px) { .jd-home .jd-section-heading h2 { font-size: 112px; } }
@media(min-width:701px) and (max-width:900px) { .jd-home .jd-section-heading h2 { font-size: 76px; } }
@media(max-width:500px) { .jd-home .jd-section-heading h2 { font-size: 42px; } }
@media(max-width:380px) { .jd-home .jd-section-heading h2 { font-size: 34px; } }
@media(prefers-reduced-motion:reduce) { .jd-home *, .jd-home *::before, .jd-home *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
