/* Home widgets row (Drew 2026-10-05, approved in the "Home page ideas" mockup). Replaces the logo/stream hero and the patch line.
   Six fixed-height widgets on one grid; every widget has the same three bands (label, art, value) so labels share a line and values
   share a baseline. Colours are the site palette: dark jewel tones, a corner glow, a gold hairline, cream and gold type. */
.hw{max-width:1240px;margin:22px auto 34px;padding:0 0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:184px;gap:16px;box-sizing:border-box}
.hw-w{position:relative;overflow:hidden;box-sizing:border-box;height:184px;padding:16px 16px 14px;border-radius:26px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:14px 1fr 46px;gap:8px;color:#f0e8d6;text-decoration:none;border:1px solid rgba(217,191,131,.22);box-shadow:0 18px 30px -18px rgba(0,0,0,.9),inset 0 1px 0 rgba(240,232,214,.08);animation:hwPop .6s cubic-bezier(.34,1.56,.64,1) both;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s,border-color .3s}
a.hw-w:hover,a.hw-w:focus-visible{transform:translateY(-5px) rotate(-1deg);color:#f0e8d6;border-color:rgba(217,191,131,.55);box-shadow:0 24px 36px -18px rgba(0,0,0,.95),0 0 0 1px rgba(217,191,131,.25),inset 0 1px 0 rgba(240,232,214,.1);outline:none}
a.hw-w:active{transform:scale(.96)}
@keyframes hwPop{from{opacity:0;transform:translateY(16px) scale(.92)}to{opacity:1;transform:none}}
.hw-top{display:flex;align-items:center;gap:6px;height:14px;min-width:0;position:relative}
.hw-kick{font:800 11px/14px 'Segoe UI',system-ui,sans-serif;letter-spacing:.14em;color:#d9bf83;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hw-mid{display:flex;align-items:center;justify-content:center;min-height:0;position:relative}
.hw-bot{display:flex;flex-direction:column;justify-content:flex-end;gap:4px;min-width:0;position:relative}
.hw-val{font:900 24px/26px Cinzel,Georgia,serif;height:26px;color:#f6efdd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hw-val small{font:700 13px/1 'Segoe UI',system-ui,sans-serif;color:#b5c0b9;margin-left:2px}
.hw-sub{font:600 12px/16px 'Segoe UI',system-ui,sans-serif;height:16px;color:#b5c0b9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hw [hidden]{display:none!important}
.hw-loading .hw-val,.hw-loading .hw-sub{color:transparent;background:rgba(240,232,214,.07);border-radius:6px}

.hw-patch{background:radial-gradient(110% 90% at 100% 0%,rgba(232,196,107,.24),transparent 60%),linear-gradient(170deg,#2c2416 0%,#18150e 100%)}
.hw-list{flex-direction:column;align-items:flex-start;justify-content:center;gap:5px}
.hw-list span{position:relative;max-width:100%;padding-left:14px;font:600 13px/16px 'Segoe UI',system-ui,sans-serif;color:#e3dccb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}
.hw-list span::before{content:"";position:absolute;left:1px;top:5px;width:6px;height:6px;background:#d9bf83;transform:rotate(45deg)}

.hw-weather{background:radial-gradient(120% 90% at 100% 0%,rgba(110,170,220,.32),transparent 60%),linear-gradient(170deg,#1a3040 0%,#101c26 100%)}
.hw-weather.w-warn{background:radial-gradient(120% 90% at 100% 0%,rgba(232,196,107,.2),transparent 60%),linear-gradient(170deg,#23262f 0%,#14171d 100%)}
.hw-weather.w-clear{background:radial-gradient(120% 100% at 100% 0%,rgba(232,196,107,.38),transparent 62%),linear-gradient(170deg,#2a2a1c 0%,#16201c 100%)}
.hw-weather.w-night{background:radial-gradient(120% 90% at 100% 0%,rgba(140,150,230,.22),transparent 60%),linear-gradient(170deg,#1a1d33 0%,#0f111f 100%)}
.hw-rain{position:absolute;inset:0;transform:rotate(14deg) scale(1.35);pointer-events:none;opacity:.7}
.hw-rain i{position:absolute;top:0;width:1.5px;height:30px;background:linear-gradient(transparent,rgba(169,214,240,.45));animation:hwRain .75s linear infinite}
@keyframes hwRain{from{transform:translateY(-40px)}to{transform:translateY(240px)}}
.hw-ico svg{filter:drop-shadow(0 4px 8px rgba(0,0,0,.25))}
.hw-drop{animation:hwDrop 1s linear infinite}
@keyframes hwDrop{0%{transform:translateY(-5px);opacity:0}30%{opacity:1}100%{transform:translateY(8px);opacity:0}}
.hw-sun{transform-origin:32px 32px;animation:hwSpin 16s linear infinite}
@keyframes hwSpin{to{transform:rotate(360deg)}}
.hw-flash{animation:hwFlash 2.4s ease-in-out infinite}
@keyframes hwFlash{0%,100%{opacity:.35}50%{opacity:1}}

.hw-mods{grid-column:span 2;grid-template-rows:14px 1fr;background:radial-gradient(90% 120% at 0% 0%,rgba(192,139,255,.18),transparent 60%),linear-gradient(170deg,#211c30 0%,#14131d 100%)}
.hw-mods .hw-mid{flex-direction:column;align-items:stretch;gap:6px}
.hw-mod{display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;padding:6px 10px;border-radius:12px;background:rgba(240,232,214,.05);box-shadow:inset 0 0 0 1px rgba(240,232,214,.08)}
.hw-mod>span:last-child{min-width:0}
.hw-tag{width:34px;height:34px;overflow:hidden;flex:none;border-radius:8px;display:flex;align-items:center;justify-content:center;font:900 15px/1 'Segoe UI',system-ui,sans-serif}
.hw-mod.good .hw-tag{background:rgba(143,224,122,.16);color:#8fe07a;box-shadow:inset 0 0 0 1px rgba(143,224,122,.4)}
.hw-mod-ico{width:100%;height:100%;object-fit:contain;display:block}
.hw-mod.bad .hw-tag{background:rgba(255,120,90,.14);color:#ff8a6b;box-shadow:inset 0 0 0 1px rgba(255,138,107,.4)}
.hw-mod-name{display:block;font:700 13px/16px Cinzel,Georgia,serif;color:#f0e8d6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hw-mod-blurb{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font:600 12px/15px 'Segoe UI',system-ui,sans-serif;color:#b5c0b9;overflow:hidden}

.hw-cards{background:radial-gradient(110% 90% at 100% 0%,rgba(143,224,122,.2),transparent 60%),linear-gradient(170deg,#1a3127 0%,#101d17 100%)}
.hw-fan{position:relative;width:110px;height:70px}
.hw-fan img{position:absolute;left:50%;top:4px;width:40px;margin-left:-20px;border-radius:5px;box-shadow:0 6px 12px rgba(0,0,0,.35);transform-origin:50% 120%;transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.hw-fan .f1{transform:rotate(-16deg) translateX(-14px)}.hw-fan .f2{transform:rotate(16deg) translateX(14px)}.hw-fan .f3{transform:translateY(-3px)}
.hw-cards:hover .f1{transform:rotate(-30deg) translateX(-26px) translateY(-4px)}.hw-cards:hover .f2{transform:rotate(30deg) translateX(26px) translateY(-4px)}.hw-cards:hover .f3{transform:translateY(-12px) scale(1.06)}

.hw-best{background:radial-gradient(110% 90% at 0% 0%,rgba(90,190,210,.22),transparent 60%),linear-gradient(180deg,#123040 0%,#0c1c24 100%)}
.hw-ff{width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.4));animation:hwBob 2.8s ease-in-out infinite;transition:transform .45s cubic-bezier(.34,1.56,.64,1)}
.hw-best:hover .hw-ff{transform:rotate(-12deg) scale(1.08)}
@keyframes hwBob{0%,100%{translate:0 0}50%{translate:0 -4px}}

.hw-lead{background:radial-gradient(110% 90% at 0% 0%,rgba(232,196,107,.18),transparent 60%),linear-gradient(170deg,#24211a 0%,#14130f 100%)}
.hw-lead .hw-val{color:#e8c46b}
.hw-coin{width:58px;height:58px;animation:hwCoin 5s linear infinite}
@keyframes hwCoin{0%,70%{transform:rotateY(0)}100%{transform:rotateY(360deg)}}

.hw-w:nth-child(2){animation-delay:.06s}.hw-w:nth-child(3){animation-delay:.12s}.hw-w:nth-child(4){animation-delay:.18s}.hw-w:nth-child(5){animation-delay:.24s}.hw-w:nth-child(6){animation-delay:.3s}

@media (max-width:1100px){.hw{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:700px){.hw{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row dense;grid-auto-rows:168px;gap:12px;margin:16px auto 26px}.hw-w{height:168px;padding:14px 14px 12px;border-radius:22px}.hw-mods{grid-column:span 2}.hw-patch{grid-column:span 2}}
@media (prefers-reduced-motion:reduce){.hw-w,.hw-rain i,.hw-drop,.hw-sun,.hw-flash,.hw-ff,.hw-coin{animation:none!important}a.hw-w:hover{transform:none}}

/* 🎣 DAILY CAST card (Drew 2026-10-06: "can you just put it in sushidrew.com main page?"). One link to the game on the NovaTokens page
   (the game lives only there). Shown by home-widgets.js from the day before daily_cast/config.start until config.end. */
.hw-dc{max-width:1240px;margin:22px auto -14px;display:grid;grid-template-columns:200px minmax(0,1fr) auto;align-items:center;gap:22px;box-sizing:border-box;min-height:112px;padding:0 26px 0 0;border-radius:26px;overflow:hidden;text-decoration:none;color:#f0e8d6;border:1px solid rgba(217,191,131,.35);background:radial-gradient(90% 140% at 100% 0%,rgba(232,196,107,.22),transparent 60%),linear-gradient(170deg,#173a36 0%,#0e1f1d 100%);box-shadow:0 16px 30px -18px rgba(0,0,0,.9);transition:transform .18s ease,border-color .18s ease}
.hw-dc:hover,.hw-dc:focus-visible{transform:translateY(-3px);border-color:rgba(217,191,131,.6);color:#f0e8d6;outline:none}
.hw-dc[hidden]{display:none!important}
.hw-dc-art{align-self:stretch;min-height:112px;background:url(/daily-cast-pond.jpg) 22% 60%/cover no-repeat;-webkit-mask-image:linear-gradient(90deg,#000 70%,transparent);mask-image:linear-gradient(90deg,#000 70%,transparent)}
.hw-dc-text{display:flex;flex-direction:column;gap:4px;min-width:0;padding:16px 0}
.hw-dc-text b{font:900 24px/28px Cinzel,Georgia,serif;color:#f6efdd}
.hw-dc-sub{font:600 14px/19px 'Segoe UI',system-ui,sans-serif;color:#c9d2cb}
.hw-dc-go{font:800 15px/1 'Segoe UI',system-ui,sans-serif;color:#1b1407;background:linear-gradient(180deg,#f0d58a,#d2a74c);padding:13px 22px;border-radius:12px;white-space:nowrap;box-shadow:inset 0 1px 0 rgba(255,255,255,.4)}
@media (max-width:1290px){.hw-dc{margin-left:16px;margin-right:16px}}
@media (max-width:640px){.hw-dc{grid-template-columns:1fr;gap:0;padding:0}.hw-dc-art{min-height:120px;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}.hw-dc-text{padding:10px 18px 4px}.hw-dc-go{margin:10px 18px 18px;text-align:center}.hw-dc-text b{font-size:21px;line-height:25px}}
