html.hw{--hw-ember:#ff7a1a;--hw-ember-soft:#ffb347;--hw-ghost:rgba(154,245,239,.32)}
html.hw body{background:radial-gradient(1100px 700px at 75% -160px,rgba(85,231,220,.1),transparent 70%),var(--ink)}
html.hw .hw-host{position:relative}
html.hw .hw-sprite{position:absolute;pointer-events:none;user-select:none;height:auto;max-width:none}

html.hw .os-hero .button{box-shadow:0 14px 40px -16px rgba(85,231,220,.7),0 0 0 0 rgba(255,122,26,0);transition:transform .2s,background .2s,box-shadow .3s}
html.hw .os-hero .button:hover{box-shadow:0 18px 50px -14px rgba(255,122,26,.75),0 0 0 2px rgba(255,122,26,.55)}
html.hw .os-hero h1 span{text-shadow:0 0 34px var(--hw-ghost);animation:hw-haunt 7s ease-in-out infinite}

html.hw .hw-tag{display:inline-flex;align-items:center;gap:6px;font-weight:600;white-space:nowrap}
html.hw .hw-tag::before{content:"";width:18px;height:18px;flex:none;background:url(/hw/jack.webp) center/contain no-repeat;filter:drop-shadow(0 0 6px rgba(255,122,26,.8));animation:hw-ember 2.4s ease-in-out infinite}
html.hw .promo-bar{background:linear-gradient(90deg,rgba(255,122,26,.2),rgba(85,231,220,.06) 45%,transparent 85%),var(--ink-2)}
html.hw .promo-bar .hw-tag{color:var(--hw-ember-soft)}
html.hw .hero-kicker b{background:var(--hw-ember);color:#140700}
html.hw .os-hero .button[data-hero-buy]::before{content:"";width:22px;height:22px;flex:none;margin-right:-8px;background:url(/hw/jack.webp) center/contain no-repeat;filter:drop-shadow(0 0 6px rgba(255,122,26,.7))}

html.hw .os-hero .hero-visual{aspect-ratio:3/2;z-index:1}
html.hw .os-hero .hero-visual>img:not(.hw-sprite){opacity:0}
html.hw .os-hero .hero-visual img.hw-jack,html.hw .os-hero .hero-visual img.hw-jack-glow{mix-blend-mode:normal;-webkit-mask-image:none;mask-image:none}
html.hw .hw-scene{position:absolute;inset:-6% -10%;width:120%;height:112%;display:block;pointer-events:none;-webkit-mask-image:radial-gradient(farthest-side at 55% 48%,#000 62%,transparent 100%);mask-image:radial-gradient(farthest-side at 55% 48%,#000 62%,transparent 100%)}
html.hw .hw-jack-rig{position:absolute;z-index:2;width:46%;left:22%;bottom:2%;aspect-ratio:794/833;pointer-events:none;animation:hw-rise-in 1.2s cubic-bezier(.2,.8,.25,1) both}
html.hw .hw-jack-body{position:absolute;inset:0;transition:translate .6s ease-out,rotate .6s ease-out;animation:hw-jack-breathe 5s ease-in-out 1.2s infinite}
html.hw .hw-jack-body .hw-sprite{left:0;top:0;width:100%}
html.hw .hw-jack{filter:drop-shadow(0 30px 40px rgba(0,0,0,.7)) drop-shadow(0 0 30px rgba(255,122,26,.28))}
html.hw .os-hero .hero-visual img.hw-jack-glow{mix-blend-mode:screen;filter:blur(2px) brightness(1.5) saturate(1.2);opacity:.75}
html.hw .hw-jack-fire{position:absolute;left:-20%;top:-20%;width:140%;height:140%;pointer-events:none}
@keyframes hw-rise-in{0%{opacity:0;transform:translateY(8%) scale(.94)}100%{opacity:1;transform:none}}
@keyframes hw-jack-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.012) translateY(-.6%)}}
html.hw .os-hero .hero-float{left:auto;right:2%;bottom:4%;z-index:2;background:rgba(8,14,18,.78);box-shadow:inset 0 2px 0 var(--hw-ember),inset 0 1px 0 rgba(255,255,255,.06),0 30px 70px -26px rgba(255,122,26,.45)}
html.hw .hero-float .hw-tag{color:var(--hw-ember-soft);font-size:13px;margin-bottom:2px}
html.hw .os-hero-copy{position:relative;z-index:2}
html.hw .hw-sky{position:absolute;inset:-40px 0 -20px;overflow:hidden;pointer-events:none;z-index:3}
html.hw .hw-bat{width:70px;left:66%;top:34%;opacity:0;transform:translate(-50%,-50%) scale(.1);animation:hw-burst 22s cubic-bezier(.2,.7,.3,1) infinite}
html.hw .hw-witch{width:clamp(130px,14vw,220px);top:4%;left:0;opacity:0;animation:hw-fly 14s linear 2.5s infinite;filter:drop-shadow(0 0 18px rgba(154,245,239,.35))}
html.hw .hw-spider{position:absolute;top:-24px;left:44%;z-index:4;width:72px;padding:0;border:0;background:none;cursor:pointer;animation:hw-dangle 4.5s ease-in-out infinite;transform-origin:50% 0;transition:translate .9s cubic-bezier(.5,-.3,.3,1.3)}
html.hw .hw-spider .hw-sprite{position:relative;width:72px;display:block;transform:rotate(180deg)}
html.hw .hw-thread{display:block;width:1px;height:150px;margin:0 auto;background:linear-gradient(rgba(220,245,243,0),rgba(220,245,243,.55))}
html.hw .hw-spider.up{translate:0 -170px}
html.hw .hw-spider:focus-visible{outline:2px solid var(--teal);outline-offset:4px;border-radius:8px}


html.hw .hw-vault{position:relative;isolation:isolate;overflow:hidden;padding-block:clamp(56px,7vw,110px);margin-block:clamp(24px,3vw,48px) 0}
html.hw .hw-vault-bg{position:absolute;inset:0;z-index:-2;background:url(/hw/bg_lair.webp) center 55%/cover no-repeat;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 14%,#000 86%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 14%,#000 86%,transparent 100%)}
html.hw .hw-vault::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,8,12,.94) 0,rgba(5,8,12,.82) 38%,rgba(5,8,12,.25) 70%,rgba(5,8,12,.55) 100%)}
html.hw .hw-vault-in{width:min(1380px,calc(100% - 32px));margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,4vw,64px);align-items:center}
html.hw .hw-vault-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:18px}
html.hw .hw-vault .hw-tag{color:var(--hw-ember-soft);font-size:14px}
html.hw .hw-vault h2{margin:0;font-size:clamp(46px,6.2vw,96px);line-height:.94;letter-spacing:-.045em;font-weight:500;text-wrap:balance}
html.hw .hw-vault h2 em{font-style:normal;background:linear-gradient(180deg,#ffd27a 0,#ff8a2a 55%,#e3520f 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 0 26px rgba(255,122,26,.45));animation:none}
html.hw .hw-vault-lede{margin:0;max-width:34em;color:#b9c7cc;font-size:clamp(15px,1.25vw,18px);line-height:1.6}
html.hw .hw-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;font-variant-numeric:tabular-nums}
html.hw .hw-price b{font-size:clamp(64px,8vw,124px);line-height:.9;font-weight:600;letter-spacing:-.05em;color:#fff;text-shadow:0 0 40px rgba(255,122,26,.55),0 0 2px rgba(255,180,90,.8)}
html.hw .hw-price s{font-size:clamp(20px,2vw,28px);color:#7d8f96}
html.hw .hw-price small{color:#8ea1a9;font-size:14px}
html.hw .hw-code{display:flex;align-items:center;gap:12px;padding:8px 8px 8px 16px;border:1px dashed rgba(255,122,26,.7);border-radius:14px;background:rgba(255,122,26,.08)}
html.hw .hw-code span{color:#8ea1a9;font-size:13px}
html.hw .hw-code code{font-family:inherit;font-size:22px;font-weight:700;letter-spacing:.06em;color:var(--hw-ember-soft)}
html.hw .hw-copy{border:0;border-radius:10px;padding:10px 14px;background:rgba(255,255,255,.08);color:#e9f3f4;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
html.hw .hw-copy:hover{background:rgba(255,255,255,.14)}
html.hw .hw-copy:focus-visible{outline:2px solid var(--hw-ember);outline-offset:2px}
html.hw .hw-timer{margin:0;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;color:#8ea1a9;font-size:14px}
html.hw .hw-timer b{color:#fff;font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.01em}
html.hw .hw-buy{margin-top:6px;background:linear-gradient(180deg,#ffbf5c,#ff7a1a);color:#1b0900;box-shadow:0 18px 50px -14px rgba(255,122,26,.8),inset 0 1px 0 rgba(255,255,255,.4)}
html.hw .hw-buy:hover{background:linear-gradient(180deg,#ffd27a,#ff8a2a);box-shadow:0 22px 60px -12px rgba(255,122,26,.95),0 0 0 2px rgba(255,210,122,.6)}
html.hw .hw-vault-art{position:relative;min-width:0;height:clamp(420px,46vw,640px);perspective:1100px}
html.hw .hw-vault-art::before{content:"";position:absolute;left:50%;top:40%;width:80%;aspect-ratio:1;translate:-50% -50%;background:radial-gradient(circle,rgba(85,231,220,.32),rgba(255,122,26,.12) 45%,transparent 70%);filter:blur(8px);animation:hw-pulse 4s ease-in-out infinite}
html.hw .hw-pot{width:clamp(200px,24vw,340px);left:50%;bottom:0;translate:-50% 0;filter:drop-shadow(0 0 60px rgba(85,231,220,.45))}
html.hw .hw-card{position:absolute;left:50%;top:2%;width:clamp(190px,21vw,300px);aspect-ratio:664/881;translate:-50% 0;transform:rotateX(var(--rx,4deg)) rotateY(var(--ry,-10deg));transform-style:preserve-3d;transition:transform .25s ease-out;animation:hw-rise 6s ease-in-out infinite;filter:drop-shadow(0 30px 50px rgba(0,0,0,.7)) drop-shadow(0 0 36px rgba(85,231,220,.35))}
html.hw .hw-card .hw-sprite{position:absolute;inset:0;width:100%;height:100%}
html.hw .hw-card span{position:absolute;left:12%;right:12%;text-align:center;color:#eaf6f7;font-variant-numeric:tabular-nums}
html.hw .hw-card-brand{top:24%;font-size:clamp(11px,1vw,14px);font-weight:700;letter-spacing:.32em;color:#9af5ef!important}
html.hw .hw-card-name{top:33%;font-size:clamp(20px,2.2vw,32px);font-weight:600;letter-spacing:-.02em}
html.hw .hw-card-price{top:47%;font-size:clamp(46px,5.4vw,78px);font-weight:700;letter-spacing:-.05em;line-height:1;color:#fff!important;text-shadow:0 0 30px rgba(255,122,26,.7)}
html.hw .hw-card-code{bottom:22%;font-size:clamp(13px,1.2vw,17px);font-weight:700;letter-spacing:.14em;color:var(--hw-ember-soft)!important}
@keyframes hw-rise{0%,100%{top:2%}50%{top:-2%}}
@keyframes hw-pulse{0%,100%{opacity:.75;scale:1}50%{opacity:1;scale:1.08}}
html.hw .hw-sparks{position:fixed;inset:0;width:100%;height:100%;display:block;pointer-events:none;z-index:55}
html.hw .hw-flash{position:fixed;inset:0;pointer-events:none;z-index:50;background:radial-gradient(120% 80% at 60% 0%,rgba(190,255,250,.32),rgba(190,255,250,.06) 60%,transparent);opacity:0}
html.hw .hw-flash.go{animation:hw-flash .5s ease-out}

@keyframes hw-ember{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(.88)}}
@keyframes hw-haunt{0%,100%{text-shadow:0 0 34px var(--hw-ghost)}50%{text-shadow:0 0 18px rgba(154,245,239,.15)}}
@keyframes hw-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.1)}1.5%{opacity:1}11%{opacity:1}13%,100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(var(--s))}}
@keyframes hw-fly{0%{opacity:0;transform:translate(46vw,60px) rotate(-6deg)}8%{opacity:1}70%{opacity:1;transform:translate(80vw,-6px) rotate(3deg)}100%{opacity:1;transform:translate(104vw,20px) rotate(-2deg)}}
@keyframes hw-dangle{0%,100%{rotate:-4deg}50%{rotate:4deg}}
@keyframes hw-flash{0%{opacity:0}10%{opacity:1}25%{opacity:.15}40%{opacity:.7}100%{opacity:0}}

@property --hw-a{syntax:"<angle>";inherits:false;initial-value:0deg}
html.hw .hw-tab{position:relative;overflow:visible}
html.hw .hw-tab.is-selected{border-color:rgba(255,122,26,.7);box-shadow:inset 0 -2px var(--hw-ember),0 0 30px -8px rgba(255,122,26,.65);background:linear-gradient(135deg,#2a1708,#0b151b 70%)}
html.hw .hw-tab-jack{width:34px;top:-14px;right:-10px;filter:drop-shadow(0 0 10px rgba(255,122,26,.8));animation:hw-wobble 2.6s ease-in-out infinite}
html.hw .hw-deal{position:relative;isolation:isolate;overflow:visible;background:radial-gradient(120% 120% at 100% 0,rgba(255,122,26,.22),transparent 60%),#120d0a}
html.hw .hw-deal::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--hw-a),#ff7a1a,#ffd27a,#55e7dc,#ff7a1a);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:hw-spin 3s linear infinite;pointer-events:none}
html.hw .hw-deal strong{display:inline;font-size:12px!important;color:#7d8f96;text-decoration:line-through;margin-right:6px}
html.hw .hw-deal-price{font-style:normal;font-weight:700;font-size:17px;color:var(--hw-ember-soft);text-shadow:0 0 14px rgba(255,122,26,.6)}
html.hw .hw-deal-jack{width:26px;top:-11px;right:-7px;filter:drop-shadow(0 0 8px rgba(255,122,26,.8));animation:hw-wobble 2.2s ease-in-out infinite}
html.hw .hw-deal:hover,html.hw .hw-deal.is-selected,html.hw .hw-deal[aria-pressed="true"]{border-color:transparent;background:radial-gradient(120% 120% at 100% 0,rgba(255,122,26,.34),transparent 65%),#1d120a}
html.hw .selection-card.hw-cursed{position:relative;isolation:isolate;border-color:rgba(255,122,26,.6);box-shadow:0 0 0 1px rgba(255,122,26,.25),0 30px 80px -30px rgba(255,122,26,.55)}
html.hw .selection-card.hw-cursed::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(180deg,rgba(8,12,15,.7),rgba(8,12,15,.95) 55%),url(/hw/bg_lair.webp) center top/cover no-repeat;pointer-events:none}
html.hw .selection-card.hw-cursed::after{content:"";position:absolute;top:-22px;right:18px;width:54px;height:54px;background:url(/hw/jack.webp) center/contain no-repeat;filter:drop-shadow(0 0 16px rgba(255,122,26,.8));animation:hw-wobble 2.6s ease-in-out infinite;pointer-events:none}
html.hw .selection-card.hw-cursed .add-button{background:linear-gradient(180deg,#ffbf5c,#ff7a1a);color:#1b0900;box-shadow:0 18px 50px -14px rgba(255,122,26,.8)}
html.hw .selection-card.hw-cursed .selection-content>p{color:var(--hw-ember-soft)}
html.hw .cart-offer.hw-offer>strong,html.hw .cart-offer.hw-offer b{color:var(--hw-ember-soft)}
html.hw .selection-offer.hw-offer>strong{color:var(--hw-ember-soft);font-size:30px;text-shadow:0 0 20px rgba(255,122,26,.55)}
html.hw .selection-offer.hw-offer b{color:var(--hw-ember-soft)}
html.hw .hw-cursed .selection-price strong{text-decoration:line-through;color:#7d8f96}
html.hw .hw-bat-pop{position:fixed;width:46px;z-index:60;opacity:0;transform:translate(-50%,-50%) scale(.2);animation:hw-pop 1.3s cubic-bezier(.2,.7,.3,1) forwards}
@keyframes hw-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}15%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1)}}
@keyframes hw-spin{to{--hw-a:360deg}}
@keyframes hw-wobble{0%,100%{rotate:-8deg;scale:1}50%{rotate:8deg;scale:1.08}}
@media (max-width:900px){
html.hw .os-hero::before{content:"";position:absolute;inset:auto;right:max(16px,env(safe-area-inset-right,0px));top:2px;width:58px;height:58px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f6fdfb,#cfeee9 65%,#8fcbc4);box-shadow:0 0 50px 14px rgba(154,245,239,.22);pointer-events:none;z-index:0}
html.hw .hw-bat{left:calc(100% - 45px);top:72px;width:44px}
html.hw .hw-witch{top:10px;width:120px}
html.hw .os-hero .hero-float{right:16px;bottom:2%}
html.hw .hw-jack-rig{width:50%;left:3%;bottom:10%}
html.hw .hw-spider{left:auto;right:max(30px,calc(env(safe-area-inset-right,0px) + 30px));top:-34px;width:44px}
html.hw .hw-spider .hw-sprite{width:44px}
html.hw .hw-thread{height:62px}
html.hw .hw-vault-in{grid-template-columns:1fr}
html.hw .hw-vault::before{background:linear-gradient(180deg,rgba(5,8,12,.9) 0,rgba(5,8,12,.78) 55%,rgba(5,8,12,.35) 100%)}
html.hw .hw-vault-art{height:clamp(380px,90vw,520px);order:-1}
html.hw .hw-card{width:clamp(170px,42vw,240px)}
html.hw .hw-pot{width:clamp(180px,48vw,280px)}
}
@media (max-width:560px){
html.hw .os-hero .hero-float{padding:10px 12px}
html.hw .os-hero .hero-float b{font-size:20px}
html.hw .hw-code code{font-size:19px}
html.hw .hw-buy{width:100%}
}
html.hw .site-header .brand{position:relative}
html.hw .brand img.hw-lbat{left:calc(100% + 6px);top:2px;width:42px;z-index:3;animation:hw-lbat 3.2s ease-in-out infinite}
@keyframes hw-lbat{0%,100%{transform:translate(0,0) rotate(-8deg)}25%{transform:translate(6px,-4px) rotate(4deg)}50%{transform:translate(12px,4px) rotate(-4deg)}75%{transform:translate(4px,6px) rotate(6deg)}}
@media (max-width:600px){html.hw .brand img.hw-lbat{width:32px;top:4px}}
@media (prefers-reduced-motion:reduce){
html.hw .hw-sprite,html.hw .hw-spider,html.hw .hw-lbat,html.hw .hw-jack-rig,html.hw .hw-jack-body,html.hw .hw-tag::before,html.hw .os-hero h1 span{animation:none!important;transition:none!important}
html.hw .hw-bat,html.hw .hw-witch,html.hw .hw-flash{display:none}
html.hw .hw-card,html.hw .hw-vault-art::before,html.hw .hw-deal::before,html.hw .hw-tab-jack,html.hw .hw-deal-jack,html.hw .selection-card.hw-cursed::after{animation:none!important}
}
