:root{color-scheme:dark;--ink:#eef3ff;--muted:#94a0b8;--line:#273044;--panel:#111724;--blue:#66a8ff;--lime:#c8ff67;--bg:#090d14;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Noto Sans KR",sans-serif;background:var(--bg);color:var(--ink)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:radial-gradient(circle at 80% -10%,#16294c 0,transparent 32rem),var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}.skip,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip:focus{position:fixed;z-index:100;width:auto;height:auto;clip:auto;margin:12px;padding:12px 18px;background:#fff;color:#000}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 clamp(20px,5vw,72px);border-bottom:1px solid var(--line);background:#090d14dd;backdrop-filter:blur(12px);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.12em}.brand span{display:grid;place-items:center;width:34px;height:34px;background:var(--lime);color:#08100a;border-radius:9px;font-size:1.2rem}.topbar nav{display:flex;gap:24px;color:var(--muted);font-size:.9rem;font-weight:700}.topbar nav a:hover{color:var(--ink)}main{width:min(1480px,100%);margin:auto;padding:0 clamp(20px,5vw,72px)}.intro{min-height:470px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr);gap:64px;align-items:center;border-bottom:1px solid var(--line)}.eyebrow{margin:0 0 12px;color:var(--lime);font-size:.73rem;font-weight:900;letter-spacing:.18em}.intro h1{margin:0;font-size:clamp(3.5rem,9vw,8rem);line-height:.87;letter-spacing:-.075em}.intro h1 em{color:var(--blue);font-style:normal}.intro>div>p:last-child{max-width:650px;margin:32px 0 0;color:var(--muted);font-size:1.05rem;line-height:1.75}.now-playing{display:grid;padding:30px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,#151e2f,#0e131e);box-shadow:0 24px 80px #0005}.now-playing strong{font-size:5rem;line-height:1;color:var(--lime)}.now-playing span{margin-top:8px;font-size:1.05rem;font-weight:800}.now-playing small{margin-top:36px;color:var(--muted);line-height:1.5}.library{padding:72px 0}.library-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.library h2,.about h2{margin:0;font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.045em}.search input{width:min(360px,70vw);height:48px;border:1px solid var(--line);border-radius:14px;background:#0f1520;color:var(--ink);padding:0 16px;font:inherit}.search input:focus{outline:2px solid var(--blue);outline-offset:2px}.filters{display:flex;gap:8px;overflow:auto;padding-bottom:22px}.filters button{min-height:42px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:#0f1520;color:var(--muted);font:700 .86rem inherit;white-space:nowrap;cursor:pointer}.filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#0b1019}.game-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.game-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--panel);transition:transform .2s,border-color .2s;animation:rise .45s both;animation-delay:var(--delay)}.game-card:hover{transform:translateY(-5px);border-color:#546787}.game-card.featured{grid-column:span 2}.cover{position:relative;aspect-ratio:16/10;overflow:hidden;background:#192235}.cover img{width:100%;height:100%;object-fit:cover;image-rendering:auto;transition:transform .35s}.game-card:hover img{transform:scale(1.035)}.play-mark{position:absolute;right:14px;bottom:14px;padding:9px 13px;border-radius:999px;background:var(--lime);color:#08100a;font-size:.72rem;font-weight:950;letter-spacing:.1em;box-shadow:0 8px 30px #0008}.card-copy{padding:20px}.genre{color:var(--blue);font-size:.72rem;font-weight:900}.card-copy h3{margin:7px 0 8px;font-size:1.28rem;letter-spacing:-.025em}.card-copy p{margin:0;min-height:3.2em;color:var(--muted);font-size:.87rem;line-height:1.6}.card-meta{display:flex;gap:8px;margin-top:16px}.card-meta span,.tag-list span,.future-tags span{padding:6px 9px;border:1px solid var(--line);border-radius:8px;color:#bdc6d8;font-size:.72rem}.empty{padding:60px;text-align:center;color:var(--muted)}.about{margin:0 0 72px;padding:clamp(28px,5vw,64px);border-radius:28px;background:linear-gradient(130deg,#122342,#131a27 60%,#1c2834)}.about>p:not(.eyebrow){max-width:760px;color:#bdc6d8;line-height:1.75}.future-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.future-tags span{background:#0a0f17aa}.legal{max-width:780px;padding-top:80px;padding-bottom:120px}.legal h1{font-size:clamp(2.5rem,7vw,5rem)}.legal h2{margin-top:42px}.legal p{color:#bdc6d8;line-height:1.8}footer{display:flex;flex-wrap:wrap;gap:24px;padding:30px clamp(20px,5vw,72px);border-top:1px solid var(--line);color:var(--muted);font-size:.82rem}footer span{margin-right:auto}
.play-page{height:100dvh;min-height:100vh;overflow:hidden;background:#06090f}.playbar{height:64px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:0 16px;border-bottom:1px solid var(--line);background:#0b1019}.playbar .back{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;font-size:1.2rem}.playbar div{display:grid;min-width:0}.playbar strong,.playbar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playbar span{color:var(--muted);font-size:.72rem}.playbar button{min-height:40px;padding:0 14px;border:1px solid #4a5c7a;border-radius:10px;background:#152139;color:var(--ink);font-weight:800;cursor:pointer}.play-main{width:100%;height:calc(100dvh - 64px);display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;padding:18px}.game-stage{position:relative;height:100%;min-height:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#000}.game-stage iframe{display:block;width:100%;height:100%;min-height:0;border:0}.game-loading{position:absolute;inset:0;display:grid;place-items:center;background:#090d14;color:var(--muted)}.game-loading[hidden]{display:none}.play-info{display:flex;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;flex-direction:column;gap:16px;padding-right:3px}.play-info section,.ad-slot{padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.play-info h1{margin:0 0 10px;font-size:1.6rem}.play-info h2{font-size:1rem}.play-info p{color:var(--muted);line-height:1.6;font-size:.88rem}.play-info dl{display:grid;gap:9px;margin:20px 0}.play-info dl div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:8px}.play-info dt{color:var(--muted)}.play-info dd{margin:0;font-weight:700}.tag-list{display:flex;flex-wrap:wrap;gap:6px}.ad-slot{display:grid;place-items:center;min-height:110px;color:#5c687d;background:repeating-linear-gradient(-45deg,#0d131e,#0d131e 8px,#101724 8px,#101724 16px)}.ad-slot span{font-weight:950;letter-spacing:.2em}.ad-slot small{font-size:.7rem}.ad-bottom{display:none;margin:0 18px 18px;min-height:90px}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:1050px){.game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.play-page{height:auto;min-height:100dvh;overflow:auto}.play-main{height:auto;grid-template-columns:1fr}.play-info{display:grid;overflow:visible;grid-template-columns:repeat(2,1fr);padding-right:0}.play-info .ad-slot{display:none}.ad-bottom{display:grid}.game-stage{height:min(72vw,calc(100dvh - 100px));min-height:360px}.game-stage iframe{height:100%;min-height:0}.play-page[data-game-orientation="portrait"] .game-stage{height:calc(100dvh - 80px);max-height:900px}}@media(max-width:760px){.topbar{height:auto;min-height:68px;padding-top:12px;padding-bottom:12px}.topbar nav{gap:13px;font-size:.76rem}.intro{min-height:0;grid-template-columns:1fr;gap:34px;padding:70px 0}.intro h1{font-size:clamp(3.4rem,17vw,6rem)}.now-playing{grid-template-columns:auto 1fr;align-items:end;gap:10px}.now-playing small{grid-column:1/-1;margin-top:10px}.library-head{align-items:stretch;flex-direction:column}.search input{width:100%}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-card.featured{grid-column:span 2}.playbar{grid-template-columns:40px minmax(0,1fr) auto;padding:0 8px}.playbar button{padding:0 10px;font-size:.75rem}.play-main{padding:8px}.game-stage{height:56.25vw;min-height:220px;border-radius:10px}.play-page[data-game-orientation="portrait"] .game-stage,.play-page[data-game-orientation="adaptive"] .game-stage{height:calc(100dvh - 84px);min-height:520px;max-height:844px}.play-info{grid-template-columns:1fr}.ad-bottom{margin:0 8px 8px}}@media(max-width:520px){.brand{font-size:.8rem}.topbar nav a:first-child{display:none}.game-grid{grid-template-columns:1fr}.game-card.featured{grid-column:auto}.cover{aspect-ratio:16/9}.card-copy p{min-height:0}.intro h1{font-size:3.35rem}}

/* Dense character-first library and in-player discovery. */
.game-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.game-card.featured{grid-column:auto}
.cover{aspect-ratio:4/3}
.cover img{object-position:center 38%}
.card-copy{padding:15px}
.card-copy h3{font-size:1.08rem}
.card-copy p{font-size:.79rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.play-mark{right:10px;bottom:10px;padding:7px 10px}
.recommend h2{margin:0 0 12px}
.recommend-game{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.recommend-game img{width:72px;height:54px;border-radius:8px;object-fit:cover;object-position:center 38%}
.recommend-game span{display:grid;min-width:0}
.recommend-game strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem}
.recommend-game small{color:var(--muted);font-size:.68rem}
.recommend-game:hover strong{color:var(--lime)}
.input-mode{margin:10px 0 0!important;color:var(--lime)!important;font-size:.72rem!important;font-weight:800}
@media(max-width:1250px){.game-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1050px){.game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.game-grid{grid-template-columns:1fr}.cover{aspect-ratio:4/3}}
