@font-face{font-family:HeckaDisplay;src:url('brand/BodoniModa-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
body.hecka-library{margin:0;background:#090e20;color:#f7f1df}
.htv{--blue:#6479f6;--cream:#f7f1df;--muted:#abb5d1;--line:#748bd12b;--surface:#131d38;font:16px/1.7 Arial,Helvetica,sans-serif;background:radial-gradient(ellipse 100% 850px at 50% 0,#203b91 0,#101d48 50%,#090e20 100%);color:var(--cream);min-height:100vh}
.htv *{box-sizing:border-box}.htv [hidden]{display:none!important}.htv a{color:inherit;text-decoration:none}.htv a:hover{color:#c8d3ff}.htv :focus-visible{outline:2px solid #f7f1df;outline-offset:5px}.htv h1,.htv h2,.htv h3,.htv p{color:inherit;text-transform:none;margin:0 0 18px}.htv h1{font:400 clamp(42px,5.5vw,76px)/1.05 HeckaDisplay,'Bodoni MT',Georgia,serif;letter-spacing:-2px;max-width:1080px}.htv h2{font:400 clamp(30px,3vw,43px)/1.2 HeckaDisplay,'Bodoni MT',Georgia,serif;letter-spacing:-.8px}.htv h3{font:500 18px/1.5 Arial,sans-serif;letter-spacing:0}.htv img{max-width:100%}.htv button,.htv input,.htv select,.htv textarea{font:inherit}.htv button{cursor:pointer}.htv .masthead{display:flex;align-items:center;gap:35px;min-height:90px;padding:10px max(5%,calc((100% - 1240px)/2));border-bottom:1px solid var(--line);background:#090e20b8;position:relative;z-index:20}.htv .brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.htv .brand-mark{width:42px;height:48px;object-fit:contain}.htv .brand-type{width:155px;height:65px;object-fit:contain}.htv .masthead nav{display:flex;justify-content:flex-end;align-items:center;gap:26px;flex:1;font-size:13px}.htv .masthead nav>a,.htv .nav-parent>a{padding:12px 0;border-bottom:1px solid transparent}.htv .masthead nav [aria-current=page]{border-bottom-color:#c0caff;color:#fff}.htv .nav-group{position:relative}.htv .nav-parent{display:flex;align-items:center;gap:2px}.htv .submenu-toggle{display:grid;place-items:center;width:30px;height:38px;background:transparent;border:0;color:var(--cream);font-size:18px;padding:0}.htv .submenu-toggle[aria-expanded=true] span{transform:rotate(180deg)}.htv .submenu{position:absolute;top:100%;left:-22px;width:260px;background:#111c38f5;border:1px solid #52679877;box-shadow:0 18px 45px #0007;padding:10px;backdrop-filter:blur(16px)}.htv .submenu a{display:block;padding:12px 15px;border-radius:2px}.htv .submenu a:hover,.htv .submenu a:focus-visible{background:#2b408155;color:#fff}.htv .submenu span{display:block;font:400 26px/1.3 HeckaDisplay,Georgia,serif}.htv .submenu small{display:block;font:11px/1.6 Arial,sans-serif;color:var(--muted);margin-top:5px}.htv .wrap{width:min(1240px,90%);margin:0 auto;padding:52px 0}.htv .brand-hero{mask-image:linear-gradient(#000 65%,transparent 100%);position:relative;height:clamp(360px,51vw,700px);overflow:hidden;isolation:isolate;background:none}.htv .brand-hero::before{content:'';position:absolute;inset:-20%;z-index:-1;background:url('brand/banner.webp') center 50%/cover;filter:blur(80px);opacity:.25}.htv .brand-hero img{display:block;width:100%;height:100%;object-fit:contain;max-width:1500px;margin:0 auto;mix-blend-mode:screen;mask-image:radial-gradient(ellipse 70% 80% at 50% 38%,#000 35%,#000b 65%,transparent 90%)}.htv .intro{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:center;position:relative;margin-top:-75px;padding:15px 0 55px}.htv .intro h1{font-size:clamp(42px,5vw,67px)}.htv .intro>div>p:not(.eyebrow){color:var(--muted);max-width:440px}.htv .eyebrow,.htv .meta{font:10px/1.8 monospace;letter-spacing:1.7px;color:var(--muted)}.htv .eyebrow{text-transform:uppercase;color:#bac7f8}.htv .button{display:inline-flex;align-items:center;justify-content:center;gap:24px;border:1px solid #7b91da;background:#344d9b;color:#fff8e8;padding:12px 21px;min-height:47px;border-radius:3px;text-transform:none;letter-spacing:.2px;font-size:13px;box-shadow:inset 0 1px #ffffff14}.htv .button:hover{background:#455fb1;color:white}.htv .button.secondary{background:#111b32;border-color:#8292bc88}.htv .section-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:25px}.htv .section-heading h2{margin-bottom:0}.htv .section-heading .eyebrow{margin-bottom:8px}.htv .section-heading>a,.htv .text-link,.htv .byline a{color:#bdcaf4;text-decoration:underline;text-underline-offset:5px;font-size:13px}.htv .media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 26px;margin-top:30px}.htv .media-card{min-width:0}.htv .poster{aspect-ratio:16/9;background:#111a32;position:relative;overflow:hidden;border:1px solid #778bc33a;margin-bottom:16px;border-radius:5px;box-shadow:0 15px 40px #03081244}.htv .poster img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.htv .media-card>a:hover img{transform:scale(1.035)}.htv .duration{position:absolute;bottom:8px;right:8px;background:#090e20e6;padding:2px 7px;font:11px/1.8 monospace;border-radius:2px}.htv .placeholder{display:grid;place-items:center;height:100%;font:400 32px HeckaDisplay,Georgia,serif;color:#bdcaf4}.htv .chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 24px}.htv .chip{font-size:11px;padding:3px 9px;border:1px solid #56658c77;color:#bdc8e6;border-radius:3px}.htv .portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.htv .portal{display:block;padding:28px 0;border-top:1px solid #8197d052;border-bottom:1px solid var(--line);background:none;min-width:0}.htv .portal h2{font-size:31px}.htv .portal h2 span{font:22px Arial,sans-serif}.htv .portal p{color:var(--muted);font-size:14px}.htv .portal .eyebrow{font-size:10px}.htv .empty-state{padding:55px 30px;border:1px solid var(--line);margin:30px 0;background:#14203c55;border-radius:5px}.htv .empty-state p,.htv .muted,.htv .section-intro{color:var(--muted)}.htv .filters{display:flex;flex-wrap:wrap;gap:18px;align-items:end;margin:30px 0}.htv .filters label{font-size:12px;display:flex;flex-direction:column;gap:6px;color:var(--muted)}.htv .filters select{color:#f7f1df;background:#141f3a;border:1px solid #6d7eaa77;border-radius:3px;padding:11px 32px 11px 12px;min-width:170px;max-width:100%;height:auto}.htv .filters>a{padding:12px;font-size:13px}.htv .detail{max-width:1060px}.htv .detail h1{margin:24px 0 35px}.htv .feature-player{display:block;width:100%;max-height:75vh;background:#000;margin-bottom:25px;border:1px solid #6f83b944;border-radius:4px}.htv audio.feature-player{height:60px}.htv .prose{font-size:16px;line-height:1.9;overflow-wrap:anywhere;margin:28px 0;max-width:860px;color:#d2d8e6}.htv .prose a{color:#bdcaf4;text-decoration:underline}.htv .prose p{margin-bottom:22px}.htv .discussion{margin-top:60px;padding-top:35px;border-top:1px solid var(--line)}.htv .discussion input:not([type=checkbox]),.htv .discussion textarea{background:#121d36;border:1px solid #6d7eaa77;border-radius:3px;color:#f7f1df;padding:12px;max-width:100%}.htv .discussion textarea{width:100%;min-height:150px}.htv .discussion input[type=submit]{background:#344d9b;color:#fff8e8;cursor:pointer}.htv .discussion label{color:#c7cede}.htv .comment-list{padding-left:22px}.htv .comment-body{margin:24px 0}.htv .comment-metadata{font-size:12px}.htv .yasr-visitor-votes{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:26px 0;padding:22px;background:#14203c55;border:1px solid var(--line);border-radius:4px;max-width:100%}.htv .yasr-vv-second-row-container{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.htv .yasr-vv-bottom-container{font-size:13px;color:var(--muted)}.htv .pagination{display:flex;gap:16px;margin:35px 0}.htv .pagination a,.htv .pagination span{padding:8px 15px;border:1px solid var(--line)}.htv .pagination .current{background:#344d9b}.htv .footer{display:flex;justify-content:space-between;align-items:center;gap:22px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.htv .footer-brand img{width:105px;height:60px;display:block}.htv .skip{position:absolute;top:-100px;left:16px;z-index:100;background:#fff;color:#000;padding:10px}.htv .skip:focus{top:12px}.htv .game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px}.htv .game-tile .poster{aspect-ratio:1.35;background:radial-gradient(ellipse at 50% 65%,#273d70,#111b32 75%)}.htv .game-tile .poster img{object-fit:contain;image-rendering:pixelated}.htv .game-tile h3{font:400 32px/1.25 HeckaDisplay,Georgia,serif}.htv .game-presentation{text-align:center;max-width:680px;margin:0 auto 35px}.htv .game-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:20px 0}.htv .game-presentation .muted{font-size:12px;max-width:570px;margin:16px auto}.htv .cartridge-card{width:100%;display:block;aspect-ratio:1.2;position:relative;background:radial-gradient(ellipse,#2a4275,#121d34 75%);border:1px solid #677fab44;border-radius:6px;overflow:hidden;margin-bottom:20px}.htv .cartridge-card img{position:absolute;inset:0;object-fit:contain;width:100%;height:100%;image-rendering:pixelated}.htv .cartridge-spin{visibility:hidden}.htv .cartridge-card.spinning .cartridge-spin{visibility:visible}.htv .cartridge-card.spinning .cartridge-still{visibility:hidden}.htv .cartridge-card>span{position:absolute;bottom:12px;left:5%;right:5%;font:10px/1.5 monospace;letter-spacing:1px;color:#bdc9ee}.htv #game-dialog{padding:0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;background:#090e20;color:#f7f1df}.htv #game-dialog::backdrop{background:#000e}.htv #game-surface{width:100%;height:100%;background:#090e20;display:flex;flex-direction:column}.htv .game-toolbar{display:flex;gap:12px;align-items:center;padding:10px;font-size:12px}.htv .game-toolbar span{margin-right:auto}.htv .game-toolbar button{padding:10px;background:#202e59;border:1px solid #7583a1;color:#fff}.htv #game-frame{flex:1;min-height:0}.htv #game-frame iframe{width:100%;height:100%;border:0}.htv #fullscreen-status{padding:5px 12px;font-size:11px;margin:0}.htv .preview-note{padding:16px;border:1px dashed #6d7eaa77;color:#bac7e8;margin:25px 0;font-size:13px}.htv .media-error{border:1px solid #6576a2;padding:12px}
@media(max-width:1000px){.htv .masthead{flex-wrap:wrap;gap:0 30px;padding:8px 5% 14px}.htv .masthead nav{justify-content:flex-start;flex-wrap:wrap;gap:0 22px;font-size:12px}.htv .media-grid,.htv .portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.htv .intro{margin-top:-40px}.htv .brand-hero{height:52vw;min-height:330px}}
@media(max-width:600px){.htv .masthead{justify-content:center;gap:0;min-height:0}.htv .brand-type{height:58px;width:140px}.htv .brand-mark{width:35px;height:40px}.htv .masthead nav{flex-basis:100%;justify-content:center;font-size:12px;gap:0 15px}.htv .masthead nav>a,.htv .nav-parent>a{padding:8px 0}.htv .submenu{left:-30px;width:235px}.htv .wrap{padding:34px 0}.htv .intro,.htv .media-grid,.htv .portal-grid,.htv .game-grid{grid-template-columns:1fr}.htv .intro{gap:4px;margin-top:-35px;padding-top:0}.htv .brand-hero{height:310px;min-height:0}.htv .brand-hero img{object-fit:cover;width:125%;max-width:none;margin-left:-12.5%;mask-image:radial-gradient(ellipse 70% 80% at 50% 38%,#000 30%,#000b 65%,transparent 95%)}.htv .intro h1{font-size:45px}.htv .intro .eyebrow{font-size:9px}.htv .intro>div>p:not(.eyebrow){font-size:14px}.htv .section-heading{align-items:end;gap:12px}.htv .section-heading h2{font-size:31px}.htv .section-heading>a{font-size:11px;max-width:110px;text-align:right}.htv .footer{flex-wrap:wrap}.htv .footer>span{order:3;flex-basis:100%;text-align:center}.htv .filters label{flex:1;min-width:130px}.htv .filters select{min-width:0;width:100%}.htv .game-toolbar span{max-width:36%}.htv .game-toolbar button{padding:10px 7px}.htv .detail h1{font-size:39px;overflow-wrap:anywhere;letter-spacing:-1px}.htv .game-actions .button{width:100%}.htv #fullscreen-status{font-size:10px}.htv .portal{padding:24px 0}.htv .portal-grid{gap:12px}}
@media(prefers-reduced-motion:reduce){.htv *{transition:none!important}.htv .cartridge-card .cartridge-spin{display:none!important}.htv .cartridge-card .cartridge-still{visibility:visible!important}}

/* Keep VidoRev's higher-specificity button defaults out of library controls. */
.htv.htv button{min-width:0;text-transform:none;letter-spacing:normal}
.htv.htv button.button{background:#344d9b;color:#fff8e8;border:1px solid #7b91da;padding:12px 21px}
.htv.htv button.button:hover,.htv.htv button.button:focus{background:#455fb1}
.htv.htv button.cartridge-card,.htv.htv button.cartridge-card:hover,.htv.htv button.cartridge-card:focus{background:radial-gradient(ellipse,#2a4275,#121d34 75%);padding:0;border:1px solid #677fab44}
.htv.htv button.submenu-toggle{background:transparent;padding:0;border:0;color:var(--cream)}
.htv.htv .game-toolbar button{background:#202e59;color:#fff;border:1px solid #7583a1}

/* Feather the artwork itself, so the original CRT frame has no hard perimeter. */
.htv .brand-hero{mask-image:linear-gradient(transparent,#000 18%,#000 58%,transparent);background:none}
.htv .brand-hero::before{opacity:.10;filter:blur(120px)}
.htv .brand-hero img{mask-image:radial-gradient(ellipse 48% 48% at 50% 50%,#000 20%,#000d 42%,#0004 68%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 48% 48% at 50% 50%,#000 20%,#000d 42%,#0004 68%,transparent 100%)}
@media(max-width:600px){.htv .brand-hero img{mask-image:radial-gradient(ellipse 49% 48% at 50% 50%,#000 20%,#000d 42%,#0004 68%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 49% 48% at 50% 50%,#000 20%,#000d 42%,#0004 68%,transparent 100%)}}

/* Edge-only feathering restores the moon inside the frame without restoring the CRT border. */
.htv .brand-hero{mask-image:linear-gradient(transparent,#000 9%,#000 70%,transparent)}
.htv .brand-hero img{width:min(100%,1244px);max-width:1244px;height:100%;margin:0 auto;object-fit:cover;mask-image:linear-gradient(to right,transparent,#000 15%,#000 84%,transparent),linear-gradient(transparent,#000 15%,#000 72%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent,#000 15%,#000 84%,transparent),linear-gradient(transparent,#000 15%,#000 72%,transparent);-webkit-mask-composite:source-in}
.htv .brand-mark{width:52px}
@media(max-width:600px){.htv .brand-mark{width:44px}.htv .brand-hero img{width:125%;max-width:none;margin-left:-12.5%;mask-image:linear-gradient(to right,transparent,#000 14%,#000 86%,transparent),linear-gradient(transparent,#000 15%,#000 70%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 14%,#000 86%,transparent),linear-gradient(transparent,#000 15%,#000 70%,transparent)}}

/* Align the emblem and lettering together; brand left, navigation right. */
.htv .masthead{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:0 36px;padding:10px max(5%,calc((100% - 1240px)/2))}
.htv .masthead .brand{display:flex;align-items:flex-start;justify-content:flex-start;margin:0;gap:12px;grid-column:1;grid-row:1 / 3}
.htv .masthead nav{grid-column:2;justify-content:flex-end;flex-wrap:wrap;gap:0 24px}
.htv .language-switch{grid-column:2;display:flex;justify-content:flex-end;gap:5px;margin-top:2px}
.htv.htv .language-switch button{background:transparent;color:var(--muted);border:1px solid transparent;border-radius:3px;padding:4px 10px;min-width:0;font:12px/1.5 Arial,sans-serif}
.htv.htv .language-switch button[aria-pressed=true]{border-color:#778bc3;color:var(--cream);background:#14203c}
.htv .language-note{font-size:12px;color:var(--muted);border-left:2px solid #6479f6;padding-left:12px;margin:12px 0 24px}
@media(max-width:700px){.htv .masthead{grid-template-columns:1fr auto;gap:8px 12px;padding:10px 5% 14px}.htv .masthead .brand{grid-row:1;grid-column:1}.htv .language-switch{grid-row:1;grid-column:2;flex-direction:column;margin:0}.htv .masthead nav{grid-row:2;grid-column:1 / -1;gap:0 15px;justify-content:flex-end;flex-basis:auto}}
