.drama-card-wrap{position:relative;width:100%;min-width:0}.drama-card{display:flex;flex-direction:column;gap:var(--spacing-sm);text-decoration:none;width:100%;min-width:0;animation:fadeUp .4s ease-out both}.drama-card__list{position:absolute;top:8px;left:8px;z-index:3;box-sizing:border-box;display:flex;align-items:center;justify-content:center;height:calc(var(--font-sm) * 1.6 + 8px);padding:0 8px;border-radius:var(--radius-md);background:rgba(0,0,0,.55);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.1);font-size:var(--font-sm);line-height:1.6;color:#fff;cursor:pointer}.drama-card__list:before{content:"";position:absolute;inset:0}@media (pointer:coarse){.drama-card__list:before{top:-8px;left:-8px;right:auto;bottom:auto;width:52px;height:52px}}.drama-card__list svg{width:14px;height:14px;display:block}.drama-card__list.is-on{color:var(--color-primary)}.drama-card__list.is-pop svg{animation:list-pop .35s ease}@keyframes list-pop{0%{transform:scale(.72) rotate(-8deg)}55%{transform:scale(1.22) rotate(6deg)}to{transform:scale(1) rotate(0)}}@media (prefers-reduced-motion:reduce){.drama-card__list.is-pop svg{animation:none}}.drama-carousel .drama-card{gap:0}.drama-carousel .drama-card__info{display:none}.drama-card__image-wrapper{position:relative;aspect-ratio:var(--card-ratio);border-radius:var(--radius-lg);overflow:hidden;background-color:var(--color-bg-card);width:100%;box-shadow:var(--ring-subtle);transition:box-shadow .25s ease,transform .3s ease}.drama-card:hover .drama-card__image-wrapper{box-shadow:var(--shadow-card-glow),inset 0 0 0 1px hsla(0,0%,100%,.12)}.drama-card__image{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.drama-card__hover{position:absolute;inset:0;z-index:1;opacity:0;transition:opacity .3s ease;pointer-events:none}.drama-card__hover,.drama-card__play{display:flex;align-items:center;justify-content:center}.drama-card__play{width:48px;height:48px;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.45);transform:scale(.9);transition:transform .3s ease}.drama-card__play svg{width:20px;height:20px;margin-left:2px}.drama-card__hover-title{display:-webkit-box;position:absolute;inset-inline:0;bottom:0;padding:28px 8px 12px;background:linear-gradient(0deg,rgba(0,0,0,.75) 0,rgba(0,0,0,.2) 55%,transparent);font-family:var(--font-body);font-size:var(--font-sm);font-weight:var(--font-semibold);color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.9);-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.drama-card__badge{position:absolute;top:8px;right:8px;z-index:2;display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--radius-md);background:rgba(0,0,0,.55);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.1);font-size:var(--font-sm);font-weight:var(--font-bold);color:var(--color-text-primary)}.drama-card__badge-kind{width:12px;height:12px;color:var(--color-text-muted)}.drama-card__badge-star{width:14px;height:14px;color:#fcd34d;fill:#fcd34d}@media (hover:hover) and (pointer:fine){.drama-card:hover .drama-card__image{transform:scale(1.1)}.drama-card:hover .drama-card__hover{opacity:1}.drama-card:hover .drama-card__play{transform:scale(1)}.drama-carousel .drama-card:hover,.drama-carousel__item:hover{z-index:4}.drama-carousel .drama-card:hover .drama-card__image-wrapper{transform:scale(1.08);z-index:4}}@media (prefers-reduced-motion:reduce){.drama-card__image,.drama-card__image-wrapper,.drama-card__play{transition:none}.drama-card:hover .drama-card__image,.drama-card:hover .drama-card__image-wrapper,.drama-card:hover .drama-card__play,.drama-card__play{transform:none}.drama-card__hover{transition-duration:.1s}}.drama-card__info{display:flex;flex-direction:column;gap:4px}.drama-card__title{font-family:var(--font-body);font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--color-text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.drama-card__meta{display:flex;align-items:center;justify-content:space-between;font-size:var(--font-xs);color:var(--color-text-muted)}.drama-card__episodes{display:inline-flex;align-items:center;gap:4px}.drama-card__episodes svg{width:12px;height:12px}.drama-card__views{display:inline-flex;align-items:center;gap:4px}.drama-card__views svg{width:12px;height:12px}@media (max-width:374.98px){.drama-card__title{font-size:var(--font-xs)}}.rank-card{display:grid;grid-template-columns:auto auto;justify-content:start;align-items:end;text-decoration:none;color:inherit;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;--rank-poster-w:clamp(150px,13vw,210px)}.rank-card__row{display:contents}.rank-card__number{grid-column:1;grid-row:1;align-self:end;font-family:var(--font-display);font-weight:800;line-height:.78;letter-spacing:-.04em;font-size:calc(var(--rank-poster-w) * 1.35);color:transparent;-webkit-text-stroke:2px hsla(0,0%,100%,.16);margin-right:-.12em;margin-bottom:-.02em;transition:color .3s ease-out,transform .3s ease-out}.rank-card:focus-visible .rank-card__number,.rank-card:hover .rank-card__number{color:var(--color-text-primary);-webkit-text-stroke-width:0;transform:translateX(4px)}.rank-card__poster{grid-column:2;grid-row:1;position:relative;z-index:1;width:var(--rank-poster-w);aspect-ratio:2/3;border-radius:12px;overflow:hidden;border:1px solid hsla(0,0%,100%,.1);box-shadow:0 18px 50px -22px rgba(0,0,0,.7);transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s ease}.rank-card:focus-visible .rank-card__poster,.rank-card:hover .rank-card__poster{transform:scale(1.04);box-shadow:0 28px 60px -22px rgba(0,0,0,.85);outline:1px solid hsla(0,0%,100%,.25)}.rank-card__poster-img{-o-object-fit:cover;object-fit:cover}.rank-card__info{grid-column:2;grid-row:2;width:var(--rank-poster-w);min-width:0;margin-top:12px}.rank-card__title{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-card__meta{display:flex;align-items:center;gap:6px;margin-top:2px;font-size:var(--font-xs);color:var(--color-text-secondary)}.rank-card__meta>*+:before{content:"·";margin-right:6px;color:var(--color-text-muted)}.rank-card__rating{display:inline-flex;align-items:center;gap:3px;color:#fbbf24}.rank-card__rating svg{width:12px;height:12px;fill:currentColor}.drama-card--upcoming .drama-card__image,.rank-card--upcoming .rank-card__poster-img{filter:grayscale(.9) brightness(.65)}.drama-card--upcoming:hover .drama-card__image{transform:none}.card-coming-soon{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;overflow:hidden;pointer-events:none;opacity:.5}.card-coming-soon__text{display:block;width:150%;padding:6px 0;transform:rotate(-38deg);background:var(--color-primary,#ca1c1e);color:#fff;font-family:var(--font-display);font-size:clamp(9px,2.6vw,13px);font-weight:var(--font-bold,700);letter-spacing:.14em;text-transform:uppercase;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.55);box-shadow:0 2px 10px rgba(0,0,0,.4)}.drama-card__release{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-xs);font-weight:var(--font-semibold);color:var(--color-primary,#e11d48)}.drama-grid{display:grid;-moz-column-gap:12px;column-gap:12px;row-gap:28px;grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:480px){.drama-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:576px){.drama-grid{-moz-column-gap:var(--spacing-md);column-gap:var(--spacing-md);row-gap:32px}}@media (min-width:768px){.drama-grid{grid-template-columns:repeat(4,minmax(0,1fr));-moz-column-gap:var(--spacing-lg);column-gap:var(--spacing-lg);row-gap:44px}}@media (min-width:992px){.drama-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:1200px){.drama-grid{grid-template-columns:repeat(6,minmax(0,1fr));row-gap:48px}}.drama-grid__empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xxl);text-align:center;color:var(--color-text-muted)}.drama-grid__empty p{font-size:var(--font-lg)}