/* HiDoof · Homepage showcase, top-up gift invitation, Library showcase section.
   Cards reuse the Library card (.cgrid .item: float, rarity halo, caption). */
.showcase{max-width:1180px;margin:0 auto;padding:clamp(28px,5vw,56px) 16px 8px;text-align:center}
.showcase .chead{margin-bottom:22px}
.showcase h2::after{margin-left:auto;margin-right:auto;width:96px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.showcase .sub{max-width:62ch;margin-left:auto;margin-right:auto}
.scbody{--k:.3}
/* desktop 5 per row · tablet 3 · phone 2 (one level per row) */
.cgrid.scgrid{display:flex;flex-wrap:wrap;justify-content:center;gap:30px 22px;margin:0 auto}
.cgrid.scgrid .item{flex:0 0 auto;width:var(--w);--w:clamp(138px,14.6vw,196px)}
.cgrid.scgrid .card{--w:clamp(138px,14.6vw,196px)}
.cgrid.scgrid .cap{max-width:var(--w);text-align:center}
@media(max-width:1024px){.cgrid.scgrid{max-width:720px}.cgrid.scgrid .item,.cgrid.scgrid .card{--w:clamp(150px,25vw,200px)}}
@media(max-width:600px){.cgrid.scgrid{gap:24px 14px}.cgrid.scgrid .item,.cgrid.scgrid .card{--w:clamp(124px,41vw,190px)}}
.scmore{margin:26px 0 6px}
/* Library section */
.sclib{margin:8px 0 34px}
.sclib .cgrid.scgrid{justify-content:flex-start}
@media(max-width:600px){.sclib .cgrid.scgrid{justify-content:center}}
.sclib .scnote{font-size:12.5px;color:var(--mut);font-weight:400;margin-left:auto}
/* zoom: one free original */
#zor.done{opacity:.7;cursor:default}
/* top-up gift invitation */
.giftpromo{max-width:1180px;margin:clamp(26px,5vw,48px) auto;padding:clamp(18px,3vw,28px);display:grid;grid-template-columns:minmax(300px,460px) 1fr;gap:clamp(16px,3vw,34px);align-items:center;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#fffaf0,#fbf1dc);box-shadow:0 10px 30px rgba(154,111,28,.10);text-align:left}
#home>.giftpromo{margin-left:16px;margin-right:16px}
@media(min-width:1032px){#home>.giftpromo{margin-left:auto;margin-right:auto}}
.giftpromo h3{font-size:clamp(19px,2.3vw,25px);font-weight:600;line-height:1.25;margin:4px 0 8px}
.giftpromo h3 em{font-style:normal;color:var(--gold)}
.giftpromo .gstate{font-weight:600;color:#2f7a3a;min-height:0;margin:6px 0}
.giftpromo .gstate:empty{display:none}
.giftpromo .prkick{margin:0;font:600 11.5px 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.gfan{position:relative;min-width:0;width:100%;height:clamp(140px,18vw,190px);padding:10px 12px;box-sizing:border-box;display:flex;justify-content:center;align-items:center;overflow:hidden}
.gtext{min-width:0}
.gfan img{width:clamp(34px,calc(420px / var(--gift-count,5)),92px);aspect-ratio:540/840;border-radius:7px;margin:0 -2px;rotate:calc(var(--k)*var(--gift-spread,8deg));translate:0 calc(var(--k)*var(--k)*1.6px);box-shadow:0 6px 16px rgba(0,0,0,.3),0 0 14px -2px var(--gc,#e3bf62);animation:giftFloat 4.6s ease-in-out infinite;animation-delay:calc(var(--k)*.4s);background:#efe5cc}
.gfan img:nth-child(1),.gfan img:nth-child(5){z-index:1}
.gfan img:nth-child(2),.gfan img:nth-child(4){z-index:2}
.gfan img:nth-child(3){z-index:3}
@keyframes giftFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.giftpromo.compact{grid-template-columns:minmax(240px,340px) 1fr;margin:22px 0;padding:16px}
.giftpromo.compact .gfan{height:150px;padding:8px 10px}
.giftpromo.compact .gfan img{width:clamp(30px,calc(315px / var(--gift-count,5)),66px);margin:0 -2px;rotate:calc(var(--k)*var(--gift-spread,8deg))}
@media(max-width:900px) and (min-width:701px){.gfan img{margin:0 -2px;rotate:calc(var(--k)*var(--gift-spread,8deg))}}
@media(max-width:700px){.giftpromo,.giftpromo.compact{grid-template-columns:1fr;text-align:center}.gfan{height:160px}.gfan img,.giftpromo.compact .gfan img{width:clamp(30px,calc(320px / var(--gift-count,5)),68px);margin:0 -1px;rotate:calc(var(--k)*var(--gift-spread,8deg));translate:0 calc(var(--k)*var(--k)*1.4px)}}
html.calm .gfan img{animation:none}
@media(prefers-reduced-motion:reduce){.gfan img{animation:none}}


.gfan img[role=button]{cursor:pointer;pointer-events:auto}.gfan img[role=button]:focus-visible{outline:3px solid #9c7422;outline-offset:4px}
