/* Full-screen desktop search. Native dialog provides focus containment and Escape. */
#jap-search-dialog { position:fixed!important; inset:0!important; width:100vw!important; max-width:none!important; height:100dvh!important; max-height:none!important; margin:0!important; padding:0!important; border:0!important; border-radius:0!important; color:#fff3e8!important; background:#100c0d!important; overflow:auto; font-family:Rubik,Arial,sans-serif; isolation:isolate; color-scheme:dark; }
#jap-search-dialog:not([open]) { display:none!important; }
#jap-search-dialog[open] { display:flex!important; flex-direction:column; background-image:linear-gradient(90deg,rgba(9,8,11,.64),rgba(9,8,11,.18) 56%,rgba(9,8,11,.08)),url('/images/search/steve-case-devil-aolforever.webp')!important; background-size:cover,auto calc(100% - 90px)!important; background-position:center,right top 70px!important; background-repeat:no-repeat!important; }
#jap-search-dialog::backdrop { background:#100c0d; }
#jap-search-dialog * { box-sizing:border-box; }
#jap-search-dialog .jap-search-top { display:flex; align-items:center; justify-content:space-between; padding:30px 4.5vw; }
#jap-search-dialog .jap-search-brand { color:#fff3e8!important; font-size:23px; font-weight:800; letter-spacing:-1px; line-height:1.15; }
#jap-search-dialog .jap-search-brand>span { font-weight:400; font-style:italic; }
#jap-search-dialog .jap-search-brand small { display:block; font-size:9px; letter-spacing:4px; margin-top:7px; color:#d8aaa0!important; }
#jap-search-dialog .jap-search-close { display:flex; gap:16px; align-items:center; padding:10px 16px!important; font:30px/1 Arial,sans-serif; background:#140d10b8!important; color:#fff4e9!important; border:1px solid #ffffff40!important; border-radius:9px!important; cursor:pointer; box-shadow:none!important; }
#jap-search-dialog .jap-search-close span { font:10px/1 Rubik,Arial,sans-serif; letter-spacing:2px; color:#e0c3bc!important; }
#jap-search-dialog .jap-search-content { width:57%; max-width:800px; margin:auto 0; padding:25px 0 38px 6vw; }
#jap-search-dialog .jap-search-eyebrow { display:flex; align-items:center; gap:10px; color:#ffb47e!important; font-size:10px; font-weight:500; letter-spacing:3px; margin:0 0 25px; }
#jap-search-dialog .jap-search-eyebrow span { width:7px; height:7px; background:#ff883e!important; border-radius:50%; box-shadow:0 0 16px #ff783e; }
#jap-search-dialog #jap-search-title { font-size:clamp(52px,6.3vw,108px)!important; font-weight:700; letter-spacing:-.055em; line-height:.99!important; margin:0 0 23px!important; color:#fff2e7!important; -webkit-text-fill-color:#fff2e7!important; text-shadow:0 3px 30px #0008; }
#jap-search-dialog #jap-search-title em { color:#ff985c!important; -webkit-text-fill-color:#ff985c!important; font-style:normal; }
#jap-search-dialog .jap-search-description { font-size:16px; line-height:1.7; color:#dcc8c2!important; margin:0 0 30px; }
#jap-search-dialog .jap-search-form { margin:0; }
#jap-search-dialog .jap-search-form label { display:block; font-size:10px; letter-spacing:2px; font-weight:500; color:#d8b6a8!important; margin-bottom:11px; }
#jap-search-dialog .jap-search-field { display:flex; align-items:center; gap:14px; padding:9px 9px 9px 20px; background:rgba(24,16,19,.92)!important; border:1px solid #e895606e!important; border-radius:14px; box-shadow:0 16px 55px #0007,0 0 30px #f66a1510; transition:border-color .15s,box-shadow .15s; }
#jap-search-dialog .jap-search-field:focus-within { border-color:#ffad74!important; box-shadow:0 0 0 3px #ff91472b,0 18px 50px #0006; }
#jap-search-dialog .jap-search-field svg { width:22px; height:22px; flex-shrink:0; fill:none; stroke:#f6ad7d; stroke-width:1.7; }
#jap-search-dialog #jap-search-query { width:100%; min-width:0; height:48px; padding:0!important; margin:0!important; font-size:16px!important; color:#fff4e9!important; -webkit-text-fill-color:#fff4e9!important; background:transparent!important; border:0!important; outline:0!important; box-shadow:none!important; border-radius:0!important; }
#jap-search-dialog #jap-search-query::placeholder { color:#bca59e!important; opacity:1; -webkit-text-fill-color:#bca59e!important; }
#jap-search-dialog .jap-search-field button { display:flex; align-items:center; gap:20px; height:48px; padding:0 23px!important; flex-shrink:0; border:1px solid #ffc498!important; border-radius:8px!important; background:linear-gradient(135deg,#ffb374,#f48546)!important; color:#25120b!important; font-size:14px; font-weight:600; cursor:pointer; box-shadow:none!important; }
#jap-search-dialog .jap-search-field button span { color:#25120b!important; font-size:23px; }
#jap-search-dialog .jap-search-field button:hover { background:#ffc393!important; }
#jap-search-dialog .jap-search-suggestions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:20px; }
#jap-search-dialog .jap-search-suggestions>span { color:#ae9690!important; font-size:9px; letter-spacing:1.5px; margin-right:5px; }
#jap-search-dialog .jap-search-suggestions a { color:#efc5ad!important; background:#24171ab3!important; border:1px solid #b977534a; border-radius:100px; padding:7px 12px; font-size:11px; text-decoration:none!important; }
#jap-search-dialog .jap-search-suggestions a:hover { border-color:#ffb374; color:#fff!important; }
#jap-search-dialog .jap-search-bottom { display:flex; justify-content:space-between; padding:22px 4.5vw; color:#ba9388!important; font-size:9px; letter-spacing:2px; }
#jap-search-dialog .jap-search-bottom b { color:#ff985c!important; margin-left:10px; }
#jap-search-dialog :is(button,a):focus-visible { outline:2px solid #ffd0ad!important; outline-offset:4px; }
@media(max-height:700px) { #jap-search-dialog .jap-search-top { padding-top:20px; padding-bottom:15px; } #jap-search-dialog #jap-search-title { font-size:65px!important; } #jap-search-dialog .jap-search-content { padding-top:10px; padding-bottom:15px; } #jap-search-dialog .jap-search-eyebrow { margin-bottom:16px; } #jap-search-dialog .jap-search-description { margin-bottom:20px; } }
@media(prefers-reduced-motion:reduce) { #jap-search-dialog * { transition:none!important; } }
#jap-search-dialog .jap-popular-searches { margin-top:18px; border:1px solid #e8956055; border-radius:12px; overflow:hidden; background:rgba(21,14,18,.55)!important; backdrop-filter:blur(10px); box-shadow:0 12px 35px #0003; }
#jap-search-dialog .jap-popular-heading { display:flex; align-items:center; justify-content:space-between; padding:12px 17px; border-bottom:1px solid #e8956033; background:#ffb47e08!important; }
#jap-search-dialog .jap-popular-heading h3 { margin:0!important; font-size:14px!important; font-weight:500; color:#ffcfad!important; -webkit-text-fill-color:#ffcfad!important; }
#jap-search-dialog .jap-popular-heading>span { font-size:8px; letter-spacing:2px; color:#c4a398!important; }
#jap-search-dialog .jap-popular-searches ul { display:grid; grid-template-rows:repeat(10,auto); grid-auto-flow:column; grid-template-columns:1fr 1fr; counter-reset:popular; list-style:none!important; margin:0!important; padding:5px 0!important; }
#jap-search-dialog .jap-popular-searches li { counter-increment:popular; list-style:none!important; margin:0!important; min-width:0; border-bottom:1px solid #ffffff09; }
#jap-search-dialog .jap-popular-searches li:nth-child(-n+10) { border-right:1px solid #e8956033; }
#jap-search-dialog .jap-popular-searches li a { display:flex; align-items:center; gap:12px; padding:6px 16px; color:#eedbd2!important; font-size:12px; line-height:1.3; text-decoration:none!important; background:transparent!important; overflow-wrap:anywhere; }
#jap-search-dialog .jap-popular-searches li a::before { content:counter(popular,decimal-leading-zero); flex-shrink:0; font-size:9px; width:18px; color:#ce895f!important; font-variant-numeric:tabular-nums; }
#jap-search-dialog .jap-popular-searches li a::after { content:'\2197'; margin-left:auto; color:#cf916a; }
#jap-search-dialog .jap-popular-searches li a:hover { background:#ff99551a!important; color:#fff!important; }
#jap-search-dialog:has(.jap-popular-searches) .jap-search-content { padding-top:8px; padding-bottom:12px; }
#jap-search-dialog:has(.jap-popular-searches) #jap-search-title { font-size:clamp(42px,4vw,64px)!important; margin-bottom:12px!important; }
#jap-search-dialog:has(.jap-popular-searches) #jap-search-title br { display:none; }
#jap-search-dialog:has(.jap-popular-searches) #jap-search-title em::before { content:' '; }
#jap-search-dialog:has(.jap-popular-searches) .jap-search-description { font-size:14px; margin-bottom:16px; }
#jap-search-dialog:has(.jap-popular-searches) .jap-search-description br { display:none; }
#jap-search-dialog:has(.jap-popular-searches) .jap-search-eyebrow { margin-bottom:14px; }
@media(max-height:750px) {
 #jap-search-dialog:has(.jap-popular-searches) .jap-search-top { padding-top:16px; padding-bottom:12px; }
 #jap-search-dialog:has(.jap-popular-searches) #jap-search-title { font-size:42px!important; }
 #jap-search-dialog:has(.jap-popular-searches) .jap-search-description { margin-bottom:12px; }
 #jap-search-dialog .jap-popular-searches { margin-top:14px; }
 #jap-search-dialog .jap-popular-searches li a { padding-top:4px; padding-bottom:4px; }
 #jap-search-dialog:has(.jap-popular-searches) .jap-search-bottom { padding-top:12px; padding-bottom:12px; }
}
/* Native details provides keyboard-accessible expand/collapse behavior. */
#jap-search-dialog summary.jap-popular-heading { cursor:pointer; list-style:none; user-select:none; }
#jap-search-dialog summary.jap-popular-heading::-webkit-details-marker { display:none; }
#jap-search-dialog summary.jap-popular-heading>span:not(.jap-popular-chevron) { margin-left:auto; margin-right:14px; }
#jap-search-dialog .jap-popular-chevron { width:7px; height:7px; border-right:1.5px solid #ffcfad; border-bottom:1.5px solid #ffcfad; transform:rotate(45deg); margin-top:-4px; }
#jap-search-dialog details[open] .jap-popular-chevron { transform:rotate(225deg); margin-top:4px; }
#jap-search-dialog details:not([open]) summary.jap-popular-heading { border-bottom:0; }
#jap-search-dialog summary.jap-popular-heading:hover { background:#ff995518!important; }
#jap-search-dialog summary.jap-popular-heading:focus-visible { outline:2px solid #ffd0ad!important; outline-offset:-3px; border-radius:10px; }
/* Fit the entire desktop search within the available viewport, expanded or closed. */
#jap-search-dialog[open] { overflow:hidden!important; }
#jap-search-dialog .jap-search-top { flex-shrink:0; padding:clamp(10px,2vh,24px) 4.5vw!important; }
#jap-search-dialog .jap-search-content { flex-shrink:0; margin:auto 0; width:58%; max-width:820px; padding:0 0 0 6vw!important; }
#jap-search-dialog .jap-search-bottom { flex-shrink:0; padding:10px 4.5vw!important; }
#jap-search-dialog:has(.jap-popular-searches) #jap-search-title { font-size:clamp(30px,5.5vh,58px)!important; margin-bottom:clamp(6px,1.4vh,12px)!important; }
#jap-search-dialog .jap-search-eyebrow { margin-bottom:clamp(6px,1.6vh,14px)!important; }
#jap-search-dialog .jap-search-description { margin-bottom:clamp(8px,1.8vh,16px)!important; line-height:1.4!important; }
#jap-search-dialog .jap-search-form label { margin-bottom:7px!important; }
#jap-search-dialog .jap-search-field { padding:7px 7px 7px 16px!important; }
#jap-search-dialog #jap-search-query,
#jap-search-dialog .jap-search-field button { height:clamp(32px,6.2vh,48px)!important; }
#jap-search-dialog .jap-popular-searches { margin-top:clamp(8px,1.8vh,16px)!important; }
#jap-search-dialog .jap-popular-heading { padding:clamp(7px,1.4vh,12px) 16px!important; }
#jap-search-dialog .jap-popular-searches ul { grid-template-rows:repeat(10,minmax(0,1fr)); padding:3px 0!important; }
#jap-search-dialog .jap-popular-searches li a { height:clamp(20px,3.65vh,29px); padding:0 14px!important; font-size:clamp(10px,1.8vh,12px)!important; white-space:nowrap; overflow:hidden; }
#jap-search-dialog .jap-popular-searches li a::after { flex-shrink:0; }
@media(max-height:600px) {
 #jap-search-dialog .jap-search-eyebrow,#jap-search-dialog .jap-search-description { display:none!important; }
 #jap-search-dialog .jap-search-top { padding-top:8px!important; padding-bottom:8px!important; }
 #jap-search-dialog .jap-search-brand { font-size:19px!important; }
 #jap-search-dialog .jap-search-brand small { margin-top:3px!important; font-size:8px!important; }
 #jap-search-dialog .jap-search-close { padding:7px 12px!important; font-size:24px!important; }
 #jap-search-dialog .jap-search-bottom { padding-top:7px!important; padding-bottom:7px!important; font-size:8px!important; }
}
@media(max-height:460px) {
 #jap-search-dialog .jap-search-bottom,#jap-search-dialog .jap-search-form label { display:none!important; }
 #jap-search-dialog .jap-popular-searches li a { height:18px!important; font-size:10px!important; }
 #jap-search-dialog .jap-popular-heading { padding:6px 14px!important; }
 #jap-search-dialog .jap-search-content { margin:0 0 auto!important; }
}
/* Supplied transparent white-FOREVER brand artwork. */
#jap-search-dialog .jap-search-brand { display:block; line-height:1!important; }
#jap-search-dialog .jap-search-brand img { display:block; width:230px!important; max-width:28vw!important; height:auto!important; max-height:48px; object-fit:contain; filter:none!important; background:transparent!important; }
@media(max-height:600px) { #jap-search-dialog .jap-search-brand img { width:190px!important; max-height:34px; } }
/* Full-viewport artwork: preserve the full main image, extend mismatched edges. */
#jap-search-dialog[open] { background:#100c0d!important; }
#jap-search-dialog[open]::before,
#jap-search-dialog[open]::after { content:''; position:absolute; pointer-events:none; }
#jap-search-dialog[open]::before { inset:0; z-index:-2; background:linear-gradient(90deg,#09080bd9,#09080b55),url('/images/search/steve-case-devil-aolforever.webp') center/cover no-repeat; filter:blur(16px); opacity:.7; }
#jap-search-dialog[open]::after { inset:64px 0 0; z-index:-1; background-image:linear-gradient(90deg,rgba(9,8,11,.6),rgba(9,8,11,.12) 56%,transparent),url('/images/search/steve-case-devil-aolforever.webp'); background-size:100% 100%,contain; background-position:center,right center; background-repeat:no-repeat; }
@media(min-aspect-ratio:2/1) { #jap-search-dialog[open]::after { background-position:center,right center; } }
/* Lightweight atmosphere, aligned to the uncropped wallpaper rather than the viewport. */
#jap-search-dialog .jap-wallpaper-effects { position:absolute; inset:64px 0 0; pointer-events:none; z-index:0; mix-blend-mode:screen; overflow:hidden; }
#jap-search-dialog .jap-wallpaper-effects svg { width:100%; height:100%; display:block; }
#jap-search-dialog :is(.jap-search-top,.jap-search-content,.jap-search-bottom) { position:relative; z-index:1; }
#jap-search-dialog .jap-lava-streams path { stroke:#ff8a24; stroke-width:8px; stroke-dasharray:12 28 35 65; opacity:.45; animation:jap-lava-flow 4s linear infinite; }
#jap-search-dialog .jap-lava-streams path:nth-child(2) { animation-duration:5.5s; animation-delay:-2s; stroke-width:6px; }
#jap-search-dialog .jap-lava-streams path:nth-child(3) { animation-duration:3.5s; animation-delay:-1s; }
#jap-search-dialog .jap-horn-glow { animation:jap-horn-pulse 4s ease-in-out infinite alternate; }
#jap-search-dialog .jap-ember { opacity:0; animation:jap-ember-rise 7s linear infinite; }
@keyframes jap-lava-flow { to { stroke-dashoffset:-140; } }
@keyframes jap-horn-pulse { from { opacity:.15; } to { opacity:.65; } }
@keyframes jap-ember-rise { 0% { opacity:0; transform:translate(0,0); } 15% { opacity:.8; } 70% { opacity:.5; } 100% { opacity:0; transform:translate(var(--drift),calc(-1 * var(--rise))); } }
#jap-search-dialog:not([open]) .jap-wallpaper-effects *,
#jap-search-dialog.jap-effects-paused .jap-wallpaper-effects * { animation-play-state:paused!important; }
#jap-search-dialog .jap-motion-toggle { color:#d6b1a1!important; background:#201416a6!important; border:1px solid #b9775355!important; border-radius:20px!important; padding:4px 10px!important; font:10px/1.2 Rubik,Arial,sans-serif!important; cursor:pointer; }
@media(prefers-reduced-motion:reduce) { #jap-search-dialog .jap-wallpaper-effects,#jap-search-dialog .jap-motion-toggle { display:none!important; } }
/* Transparent AI-illustrated infernal wordmark, animated locally. */
#jap-search-dialog .jap-search-brand { position:relative; width:260px; max-width:28vw; }
#jap-search-dialog .jap-search-brand img { width:100%!important; max-width:100%!important; max-height:55px; animation:jap-logo-heat 2.6s ease-in-out infinite alternate; }
#jap-search-dialog .jap-logo-flames { position:absolute; inset:0; display:block; background:url('/images/search/aolforever-infernal.webp') center/contain no-repeat; clip-path:inset(0 0 65% 0); transform-origin:50% 35%; animation:jap-logo-flame 1.7s ease-in-out infinite alternate; pointer-events:none; }
@keyframes jap-logo-flame { 0% { transform:scaleY(1) skewX(-1deg); opacity:.55; } 35% { transform:scaleY(1.12) skewX(1deg); opacity:.85; } 70% { transform:scaleY(.94) skewX(-.5deg); opacity:.65; } 100% { transform:scaleY(1.16) skewX(1.2deg); opacity:.9; } }
@keyframes jap-logo-heat { from { filter:drop-shadow(0 0 2px #ff5b2222); } to { filter:drop-shadow(0 0 7px #ff5b2266); } }
#jap-search-dialog.jap-effects-paused .jap-search-brand *,#jap-search-dialog:not([open]) .jap-search-brand * { animation-play-state:paused!important; }
@media(max-height:600px) { #jap-search-dialog .jap-search-brand { width:190px; } #jap-search-dialog .jap-search-brand img { max-height:38px; } }
@media(prefers-reduced-motion:reduce) { #jap-search-dialog .jap-search-brand * { animation:none!important; } #jap-search-dialog .jap-logo-flames { display:none!important; } }
