:root{--bg:#0f1115;--surface:#171a21;--surface-2:#1f2530;--border:#2a3038;--text:#e6e8eb;--text-muted:#9aa3ad;--text-faint:#6b7480;--accent:#4ea1ff;--accent-strong:#1f7ae0;--discount:#4caf50;--price:#ffffff;--history-low:#ff4f8b;--radius:8px;--gap:12px;--maxw:1200px;--touch:44px;--font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Apple SD Gothic Neo","Noto Sans KR",sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;max-width:100%;overflow-x:hidden}body{background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font-family:inherit}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 16px}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:var(--surface);border-bottom:1px solid var(--border)}.site-header__inner{display:flex;align-items:center;gap:16px;min-height:var(--touch);padding:8px 16px;max-width:var(--maxw);margin:0 auto}.site-header__logo{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:20px;color:var(--text)}.site-header__mark{width:28px;height:28px;display:block}.site-header__nav{display:flex;gap:8px}.site-header__nav a{display:inline-flex;align-items:center;min-height:var(--touch);padding:0 12px;border-radius:var(--radius);color:var(--text-muted);font-weight:600}.site-header__nav a:hover{color:var(--text);background:var(--surface-2)}.site-header__freshness{margin-left:auto;font-size:13px;color:var(--text-faint);white-space:nowrap}.site-footer{border-top:1px solid var(--border);margin-top:48px;padding:24px 16px 48px;color:var(--text-muted);font-size:13px}.site-footer__inner{max-width:var(--maxw);margin:0 auto;display:flex;flex-direction:column;gap:10px}.site-footer a{color:var(--accent)}.site-footer__links{display:flex;flex-wrap:wrap;gap:8px 16px}.site-main{min-height:60vh;padding-top:16px}.ad-slot{width:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;background:var(--surface-2);border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-faint);font-size:12px;margin:16px 0}.ad-slot__disclosure{font-size:11px;padding:0 12px;text-align:center;color:var(--text-faint)}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px}.filter-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}.filter-field input,.filter-field select{min-height:var(--touch);padding:0 10px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-size:14px}.filter-genres{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 100%}.filter-chip{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);font-size:13px;cursor:pointer}.filter-chip--on{border-color:var(--accent);color:var(--text);background:rgba(78,161,255,.12)}.filter-checkbox{display:inline-flex;align-items:center;gap:6px;min-height:var(--touch);cursor:pointer;color:var(--text-muted);font-size:14px}.filter-actions{display:flex;gap:8px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch);padding:0 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:14px;font-weight:600;cursor:pointer}.btn--primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.list-count{font-size:14px;color:var(--text-muted)}.card-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--gap);gap:var(--gap)}@media (min-width:640px){.card-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.card-grid{grid-template-columns:repeat(4,1fr)}}.game-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;height:100%}.game-card:hover{border-color:var(--accent)}.game-card__cover{position:relative;width:100%;aspect-ratio:460/215;background:var(--surface-2)}.game-card__cover img{width:100%;height:100%;object-fit:cover}.game-card__stamp{position:absolute;top:8px;left:8px;background:var(--history-low);color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:4px}.game-card__body{display:flex;flex-direction:column;gap:6px;padding:10px;flex:1 1}.game-card__title{font-size:14px;font-weight:700;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.badges{display:flex;flex-wrap:wrap;gap:4px}.badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px;border:1px solid var(--border);color:var(--text-muted);background:var(--surface-2)}.badge--korean{border-color:var(--accent);color:var(--accent)}.price-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px}.price-discount{background:var(--discount);color:#fff;font-weight:700;font-size:12px;padding:2px 6px;border-radius:4px}.price-current{font-size:16px;font-weight:800;color:var(--price)}.price-original{font-size:13px;color:var(--text-faint);text-decoration:line-through}.rating-line{font-size:12px;color:var(--text-muted)}.low-line{font-size:12px;color:var(--text-faint)}.low-line--hit{color:var(--history-low);font-weight:700}.countdown{font-size:12px;color:var(--accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pagination{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:24px 0}.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:var(--touch);min-height:var(--touch);padding:0 10px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:14px}.pagination a:hover{border-color:var(--accent);color:var(--text)}.pagination .is-current{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff;font-weight:700}.pagination .is-ellipsis{border:none;background:none}.state-block{text-align:center;padding:48px 16px;color:var(--text-muted)}.state-block__title{font-size:16px;font-weight:700;color:var(--text);margin-bottom:8px}.skeleton-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.skeleton-box{background:linear-gradient(90deg,var(--surface-2),var(--border),var(--surface-2));background-size:200% 100%;animation:skeleton 1.4s ease-in-out infinite}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.page-intro{font-size:14px;color:var(--text-muted);margin:4px 0 16px}.detail{gap:20px}.detail,.detail__header{display:flex;flex-direction:column}.detail__header{gap:12px}@media (min-width:768px){.detail__header{flex-direction:row;align-items:flex-start}}.detail__cover{position:relative;width:100%;max-width:460px;aspect-ratio:460/215;background:var(--surface-2);border-radius:var(--radius);overflow:hidden}.detail__cover img{width:100%;height:100%;object-fit:cover}.detail__info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:12px}.detail__title{font-size:30px;font-weight:800;line-height:1.15;margin:0}@media (min-width:768px){.detail__title{font-size:38px}}.detail__title-en{font-size:16px;color:var(--text-muted);margin:-4px 0 0}.badges--lg .badge{font-size:13px;padding:4px 10px;border-radius:6px}.rating-viz{max-width:420px}.rating-viz__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-bottom:6px}.rating-viz__label{font-size:17px;font-weight:800}.rating-viz__pct{font-size:14px;color:var(--text);font-weight:600}.rating-viz__count{font-size:12px;color:var(--text-faint)}.rating-viz__bar{height:10px;border-radius:999px;background:var(--surface-2);overflow:hidden}.rating-viz__bar>span{display:block;height:100%;border-radius:999px}.detail__facts{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.detail__fact{font-size:13px;color:var(--text-muted)}.metacritic{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border-radius:6px;color:#fff}.metacritic__label{font-size:11px;font-weight:600;opacity:.9}.metacritic__score{font-size:16px;font-weight:800}.detail__section-title{font-size:18px;font-weight:700;margin-bottom:10px}.price-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:8px}.price-block__main{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px}.price-block__current{font-size:28px;font-weight:800;color:var(--price)}.price-block__lows{font-size:14px;color:var(--text-muted)}.price-block__hit{color:var(--history-low);font-weight:700}.parent-note{background:var(--surface);border:1px solid var(--border);padding:12px 16px;font-size:14px;color:var(--text-muted)}.cta,.parent-note{border-radius:var(--radius)}.cta{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch);padding:0 24px;background:var(--accent-strong);color:#fff;font-size:16px;font-weight:700;align-self:flex-start}.cta:hover{background:var(--accent)}.graph-placeholder{border:1px dashed var(--border);border-radius:var(--radius);padding:24px;text-align:center;color:var(--text-faint);font-size:13px}.detail__about{margin-top:16px}.detail__desc{color:var(--text);line-height:1.75;font-size:17px}.shots{margin-top:24px}.shots__viewport{position:relative}.shots__strip{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:4px;scrollbar-width:thin}.shots__thumb{position:relative;flex:0 0 auto;width:320px;aspect-ratio:16/9;border-radius:10px;overflow:hidden;border:1px solid var(--border);padding:0;cursor:zoom-in;scroll-snap-align:start;background:var(--surface-2)}.shots__thumb:hover{border-color:var(--accent)}.shots__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:40px;height:40px;border-radius:999px;border:1px solid var(--border);background:rgba(15,17,21,.85);color:var(--text);font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.shots__arrow:hover{border-color:var(--accent)}.shots__arrow--prev{left:-6px}.shots__arrow--next{right:-6px}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center;padding:24px}.lightbox__stage{position:relative;width:min(92vw,1280px);aspect-ratio:16/9}.lightbox__counter{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.6);color:#fff;font-size:13px;padding:4px 10px;border-radius:999px}.lightbox__close{position:absolute;top:16px;right:20px;width:44px;height:44px;border:none;background:transparent;color:#fff;font-size:32px;cursor:pointer}.lightbox__nav{width:52px;height:52px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;font-size:28px;cursor:pointer;flex:0 0 auto;margin:0 8px}.lightbox__nav:hover{background:rgba(255,255,255,.18)}.reviews__summary{margin-bottom:14px}.reviews__ratio{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--surface-2)}.reviews__ratio-up{background:#66c0f4}.reviews__ratio-down{background:#c15c5c}.reviews__ratio-legend{display:flex;justify-content:space-between;margin-top:6px;font-size:12px;color:var(--text-faint)}.reviews{margin-top:24px;border-top:1px solid var(--border);padding-top:20px}.reviews__title{font-size:18px;font-weight:700;margin-bottom:14px}.reviews__empty{color:var(--text-faint);font-size:14px}.reviews__controls{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:14px}.reviews__filters{display:flex;gap:8px}.reviews__chip{padding:6px 14px;min-height:36px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text);font-size:13px;cursor:pointer}.reviews__chip[aria-pressed=true]{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.reviews__sort{color:var(--text-faint);font-size:13px}.reviews__list{list-style:none;display:flex;flex-direction:column;gap:12px}.review{border:1px solid var(--border);border-radius:10px;padding:14px 16px;background:var(--card)}.review__head{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;margin-bottom:8px}.review__verdict{font-size:13px;font-weight:700}.review__verdict.up{color:#66c0f4}.review__verdict.down{color:#e08a8a}.review__meta{color:var(--text-faint);font-size:12px}.review__text{white-space:pre-line;line-height:1.6;font-size:14px;color:var(--text)}.sale-banner{position:relative;border-radius:14px;overflow:hidden;margin-bottom:18px;min-height:160px;display:flex;align-items:flex-end;border:1px solid var(--border)}.sale-banner__bg{z-index:0;filter:saturate(1.1)}.sale-banner__overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(105deg,rgba(10,12,16,.94),rgba(10,12,16,.82) 38%,rgba(10,12,16,.35))}.sale-banner__content{position:relative;z-index:2;padding:22px 24px;max-width:640px}.sale-banner__status{display:inline-block;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;margin-bottom:10px}.sale-banner__status--live{background:var(--discount,#4c9f38);color:#fff}.sale-banner__status--upcoming{background:var(--accent-strong);color:#fff}.sale-banner__status--ended{background:var(--surface-2);color:var(--text-faint)}.sale-banner__title{font-size:26px;font-weight:800;margin:0;line-height:1.15}@media (min-width:768px){.sale-banner{min-height:200px}.sale-banner__title{font-size:34px}}.sale-banner__desc{margin:8px 0 0;font-size:14px;line-height:1.6;color:var(--text-muted)}.sale-banner__period{margin-top:12px;font-size:14px;font-weight:600;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sale-carousel{position:relative;margin-bottom:18px}.sale-carousel__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:14px}.sale-carousel__track::-webkit-scrollbar{display:none}.sale-carousel__slide{position:relative;flex:0 0 100%;scroll-snap-align:start;min-height:170px;display:flex;align-items:flex-end;border:1px solid var(--border);border-radius:14px;overflow:hidden}@media (min-width:768px){.sale-carousel__slide{min-height:210px}}.sale-carousel__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;border:none;background:none;padding:0;color:#fff;font-size:34px;line-height:1;cursor:pointer;text-shadow:0 1px 6px rgba(0,0,0,.9);opacity:.85}.sale-carousel__arrow:hover{opacity:1}.sale-carousel__arrow--prev{left:6px}.sale-carousel__arrow--next{right:6px}.sale-carousel__dots{display:flex;justify-content:center;gap:8px;margin-top:10px}.sale-carousel__dot{width:8px;height:8px;border-radius:999px;border:none;background:var(--surface-2);cursor:pointer}.sale-carousel__dot.is-active{background:var(--accent);width:22px}.sale-dot{display:inline-block;width:10px;height:10px;border-radius:999px;margin-bottom:10px}.sale-dot--live{background:#4caf50;box-shadow:0 0 0 4px rgba(76,175,80,.25)}.sale-dot--soon{background:var(--accent);box-shadow:0 0 0 4px rgba(78,161,255,.2)}.badge--dlc{border-color:#c08bff;color:#c08bff}.dlc-deals{margin-top:20px}.dlc-deals__list{list-style:none;display:flex;flex-direction:column;gap:8px}.dlc-deal{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.dlc-deal:hover{border-color:var(--accent)}.dlc-deal__title{font-weight:600;font-size:14px}.dlc-deal__price{display:inline-flex;align-items:baseline;gap:6px;flex:0 0 auto}.card-carousel{display:flex;align-items:center;gap:8px}.card-carousel__track{flex:1 1;min-width:0;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:4px;scrollbar-width:thin}.card-carousel__track>.game-card{flex:0 0 240px;scroll-snap-align:start}.card-carousel__arrow{flex:0 0 auto;width:40px;height:40px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.card-carousel__arrow:hover{border-color:var(--accent)}