.showcase-section{background:var(--surface);padding:24px 20px 40px;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,0.1);text-align:center}.showcase-section h2{color:var(--brand-text);font-size:2rem;margin-bottom:8px;text-shadow:2px 2px 4px rgba(0,0,0,0.08)}.showcase-subtitle{color:var(--text-muted);font-style:italic;margin-bottom:20px}.showcase-countdown-wrap{display:inline-flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:30px;padding:12px 28px;background:#1a2a6c;border-radius:12px;color:#fff;box-shadow:0 4px 14px rgba(0,0,0,0.25)}.showcase-countdown-label{font-size:0.78rem;text-transform:uppercase;letter-spacing:1.5px;opacity:0.85}.showcase-countdown{font-size:1.7rem;font-weight:bold;color:var(--gold);font-variant-numeric:tabular-nums;text-shadow:0 2px 4px rgba(0,0,0,0.4)}.showcase-card-frame{display:flex;justify-content:center;align-items:center;min-height:540px;perspective:1200px}.showcase-stage{position:relative;width:min(300px,80vw)}.showcase-glow{display:none}.showcase-card-el{position:relative;z-index:1;width:100%!important;max-width:none!important;margin:0 auto;box-shadow:0 18px 40px rgba(0,0,0,0.45);transform-style:preserve-3d;transform:rotateZ(-1.5deg);transition:transform 0.3s ease}.showcase-card-el:hover{transform:translateY(-12px) rotateZ(1deg) rotateY(6deg)}.showcase-card-el .card-img{height:auto}.showcase-empty{color:var(--text-muted);padding:60px 20px;text-align:center}@media (max-width: 768px){.showcase-card-frame{min-height:460px}.showcase-glow{inset:-28px;filter:blur(28px)}.showcase-countdown{font-size:1.4rem}}@media (max-width: 480px){.showcase-section h2{font-size:1.5rem}.showcase-card-frame{min-height:400px}}@media (prefers-reduced-motion: reduce){.showcase-glow,.showcase-card-el{animation:none}.showcase-card-el{transform:none}}.weekly-quests{max-width:620px;margin:36px auto 0;padding:24px 22px 26px;border-radius:14px;background:var(--surface-2);border:1px solid var(--border);box-shadow:0 4px 14px rgba(0,0,0,0.06);text-align:left}.weekly-quests .wq-title{color:var(--brand-text);font-size:1.4rem;margin-bottom:4px;text-align:center}.weekly-quests .wq-subtitle{color:var(--text-muted);font-size:0.9rem;text-align:center;margin-bottom:20px}.wq-list{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:22px}.wq-item{display:flex;align-items:center;gap:14px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:10px;transition:border-color 0.25s,background 0.25s,box-shadow 0.25s}.wq-item .wq-icon{font-size:1.5rem;flex-shrink:0;width:30px;text-align:center}.wq-body{flex-grow:1;min-width:0}.wq-label{display:block;font-weight:600;color:var(--text);margin-bottom:7px;font-size:0.98rem}.wq-bar{width:100%;height:9px;background:var(--surface-3);border-radius:6px;overflow:hidden}.wq-bar-fill{height:100%;width:0%;border-radius:6px;background:linear-gradient(90deg,#1a2a6c,#2a3a9c);transition:width 0.5s ease}.wq-count{flex-shrink:0;font-weight:bold;color:var(--brand-text);font-variant-numeric:tabular-nums;min-width:38px;text-align:right}.wq-check{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:#4CAF50;color:#fff;font-weight:bold;display:flex;align-items:center;justify-content:center;transform:scale(0);transition:transform 0.25s ease}.wq-item.completed{border-color:#4CAF50;background:var(--surface-ok)}.wq-item.completed .wq-bar-fill{background:linear-gradient(90deg,#2e7d32,#4CAF50)}.wq-item.completed .wq-check{transform:scale(1)}.weekly-quests .wq-claim{display:block;width:100%;max-width:320px;margin:0 auto}.weekly-quests.all-done .wq-claim:not(:disabled){background:linear-gradient(135deg,#d35400,var(--gold));color:#2c2100}.weekly-quests.all-done .wq-claim:not(:disabled):hover{filter:brightness(1.05)}.wq-status-msg{margin-top:12px;text-align:center;color:var(--text-muted);font-size:0.88rem;min-height:1.1em}@media (max-width: 480px){.weekly-quests{padding:18px 14px 20px}.wq-item{gap:10px;padding:10px}.wq-item .wq-icon{font-size:1.25rem;width:24px}.wq-label{font-size:0.9rem}}@media (prefers-reduced-motion: reduce){.weekly-quests.all-done .wq-claim:not(:disabled){animation:none}.wq-bar-fill,.wq-check{transition:none}}
