:root{color-scheme:dark;--bg:#111820;--text:#e8e9e3;--muted:#8c989f;--line:#354048;--mint:#b5efd7;font-family:Arial,"Malgun Gothic",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--mint);outline-offset:5px}.header{max-width:1360px;margin:auto;padding:25px 48px;display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;font-size:28px;font-weight:900;letter-spacing:-1.5px}.keycap{height:35px;width:37px;border:1px solid #d7dcd6;border-bottom:4px solid #d7dcd6;border-radius:5px;font-size:20px;display:inline-flex;align-items:center;justify-content:center;margin-right:12px;position:relative;transform:rotate(-7deg)}.keycap span{position:absolute;right:3px;bottom:1px;font-size:9px}.brand-dot{color:var(--mint)}.header-note{font-size:11px;color:var(--muted);border-left:1px solid var(--line);padding-left:28px}.header-link{margin-left:auto;font-size:12px}.header-link span{font:10px monospace;color:var(--mint);padding-left:12px}main{max-width:1360px;margin:auto;padding:0 48px}.masthead{position:relative;display:flex;justify-content:space-between;overflow:hidden;padding:42px 0 34px;align-items:flex-end}.edition{font:10px monospace;letter-spacing:2px;color:var(--muted);margin:0 0 22px}h1{font-size:clamp(40px,5vw,66px);line-height:1.12;letter-spacing:-4px;font-weight:900;margin:0;position:relative;z-index:1}h1 span{color:var(--mint)}.masthead-aside{z-index:1;width:200px}.masthead-aside p{font-size:13px;line-height:1.9;margin:12px 0 21px;color:#b2bbc0}.tiny-cross{font:24px monospace;color:var(--mint)}.scroll-note{font:9px monospace;letter-spacing:1px;color:var(--muted)}.ghost-type{position:absolute;left:40%;bottom:-42px;font-size:200px;line-height:1;font-weight:900;letter-spacing:-17px;color:#ffffff03;transform:rotate(-9deg);user-select:none}.catalog-bar{border-top:1px solid var(--text);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;height:62px}.filters{display:flex;align-self:stretch;gap:28px}.filters button{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);padding:0 2px;font-size:13px}.filters button.active{color:var(--text);border-bottom-color:var(--mint);font-weight:700}.filters span{font:10px monospace;margin-left:6px;color:var(--mint)}.search{display:flex;gap:12px;align-items:center;color:var(--muted)}.search>span{font-size:25px}.search input{width:160px;background:none;border:0;color:var(--text);font-size:12px;padding:8px 0}.game-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,1fr);gap:clamp(30px,5vw,80px);padding-bottom:45px}.game-stage{background:#0b1117;border:1px solid var(--line);min-width:0}.stage-bar,.stage-bottom{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);padding:13px 17px;gap:12px}.stage-bar{border-bottom:1px solid var(--line)}.stage-bar>span:last-child{font:9px monospace;letter-spacing:1.6px}.stage-bar i{display:inline-block;height:5px;width:5px;background:var(--mint);border-radius:50%;margin-right:7px}.game-preview{display:block;width:100%;height:660px;border:0;background:#0a2528}.stage-bottom{border-top:1px solid var(--line);font-size:10px}.stage-bottom a{color:var(--text);white-space:nowrap}.game-details{padding:12px 0;max-width:420px}.game-number{font:28px monospace;color:var(--mint);display:flex;align-items:center;gap:14px}.game-number span{font:9px monospace;letter-spacing:1.5px;color:var(--muted)}.genre{font-size:11px;color:var(--muted);margin:35px 0 13px}.game-details h2{position:relative;font-size:clamp(40px,4.5vw,62px);line-height:1.1;letter-spacing:-3px;margin:0;font-weight:900}.game-details h2 span{position:absolute;right:8px;top:2px;font-size:45px;color:#57666d;font-weight:400}.english-title{font:11px monospace;letter-spacing:4px;color:var(--muted);margin:17px 0 26px}.description{font-size:14px;color:#bac2c5;line-height:1.95;margin-bottom:28px}.play{display:flex;align-items:center;justify-content:space-between;background:var(--mint);color:#142721;padding:19px 22px;font-size:15px;font-weight:bold;border-radius:3px;box-shadow:0 4px 0 #739886;transition:background .15s}.play:hover{background:#d2ffe9}.play:active{transform:translateY(2px);box-shadow:0 2px 0 #739886}.play>span:last-child{font-size:23px}.game-facts{margin:29px 0 0}.game-facts>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 0;font-size:11px}.game-facts dt{color:var(--muted)}.game-facts dd{margin:0}details{border-bottom:1px solid var(--line);font-size:12px}summary{padding:18px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between}summary::-webkit-details-marker{display:none}details p{font-size:12px;color:var(--muted);line-height:1.9;margin:0 0 18px}.prototype{font-size:10px;line-height:1.7;color:var(--muted);margin-top:18px}footer{max-width:1264px;margin:0 auto;padding:25px 0 30px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}footer .brand{font-size:19px;letter-spacing:-1px}footer>span,footer>a:last-child{font-size:10px;color:var(--muted)}[hidden]{display:none!important}.empty{text-align:center;padding:80px 0;color:var(--muted)}.empty button{color:var(--mint);background:none;border:0;padding:15px}.skip{position:absolute;top:-100px;background:var(--mint);color:var(--bg);padding:15px;z-index:5}.skip:focus{top:0}.player-main{max-width:1100px;padding-top:30px}.player-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.player-heading h1{font-size:30px;letter-spacing:-1px}.player-heading p{font-size:12px;color:var(--muted)}.player-frame{width:100%;height:85vh;min-height:600px;border:1px solid var(--line)}.player-frame:fullscreen{height:100%;border:0}.fullscreen{border:1px solid var(--line);background:transparent;color:var(--text);padding:12px;cursor:pointer}.instructions{margin:24px 0 40px;border-top:1px solid var(--line);padding-top:15px}.instructions h2{font-size:17px}.instructions p{font-size:13px;line-height:1.9;color:var(--muted)}
@media(max-width:850px){.header{padding:22px 25px}.header-note{display:none}main{padding:0 25px}.masthead-aside{width:145px}.game-layout{gap:30px;grid-template-columns:minmax(0,1fr) minmax(240px,.85fr)}.game-preview{height:650px}.game-details h2{font-size:45px}footer{margin:0 25px}.description{font-size:12px}.game-details{padding:8px 0}}
@media(max-width:640px){.header{padding:20px}.brand{font-size:25px}.keycap{width:31px;height:31px;font-size:17px}.header-link{font-size:11px}main{padding:0 20px}.masthead{padding:30px 0;align-items:flex-end}.edition{font-size:8px;letter-spacing:1px;margin-bottom:20px}h1{font-size:43px;letter-spacing:-2.5px}.masthead-aside{width:100px;padding-bottom:3px}.masthead-aside p{font-size:10px;margin:9px 0}.scroll-note{display:none}.tiny-cross{font-size:18px}.ghost-type{font-size:120px;left:30%;letter-spacing:-10px;bottom:0}.catalog-bar{height:58px;margin-bottom:20px}.filters{gap:23px}.search input{width:110px;font-size:11px}.game-layout{display:flex;flex-direction:column;gap:25px}.game-details{max-width:none;padding:0}.game-stage{order:2}.game-preview{height:640px}.game-number{font-size:18px}.genre{margin:18px 0 10px}.game-details h2{font-size:38px;letter-spacing:-2px}.game-details h2 br{display:none}.game-details h2 span{font-size:30px;top:0}.english-title{font-size:9px;letter-spacing:3px;margin:12px 0 17px}.description{font-size:12px;line-height:1.8;margin:0 0 20px}.description br:last-child{display:none}.play{padding:14px 18px;font-size:14px}.game-facts{display:flex;gap:20px;margin-top:22px;border-bottom:1px solid var(--line)}.game-facts>div{flex:1;display:block;padding:0 0 13px;border:0;font-size:10px}.game-facts dd{margin-top:7px}.prototype{margin:12px 0 0;font-size:9px}summary{padding:15px 0}.stage-bar,.stage-bottom{padding:11px;font-size:9px}.stage-bar>span:last-child{font-size:8px}footer{margin:0 20px;flex-wrap:wrap;padding:22px 0}footer>span{font-size:9px}footer>a:last-child{display:none}.player-main{padding-top:22px}.player-heading h1{font-size:25px}.fullscreen{font-size:11px}.player-frame{min-height:650px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Approved A: arcade sign typography. Font served locally with OFL. */
@font-face{font-family:'Black Han';src:url('../assets/fonts/BlackHanSans-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{--bg:#11120f;--text:#efe9d7;--muted:#a6a699;--line:#56574a;--mint:#f35a40}
body{background:#11120f;color:var(--text)}
.header{max-width:1500px;padding:18px 30px;border-bottom:1px solid #c6c3af;min-height:64px;justify-content:space-between}
.header-label{font:11px monospace;letter-spacing:1px}.header nav{display:flex;gap:44px;font-family:'Black Han',sans-serif;font-size:16px}.header-note{border:0;padding:0;color:#c2c2b3;font-size:11px}
main{max-width:1500px;padding:0 30px}.sign{display:flex;align-items:center;gap:34px;padding:25px 10px 21px}.sign h1{flex:1;min-width:0;margin:0;line-height:0}.sign img{width:100%;height:auto;display:block}.sign-slogan{font-family:'Black Han',sans-serif;font-size:clamp(30px,5.8vw,82px);line-height:1.03;letter-spacing:-4px;white-space:nowrap;transform:skew(-8deg);margin:0;padding-right:16px}.ribbon{display:flex;align-items:center;justify-content:space-between;padding:8px 15px;background:#f35a40;color:#11120f;font-family:'Black Han',sans-serif;font-size:15px}.ribbon>span:last-child{font:bold 11px monospace;letter-spacing:1px}
.catalog-bar{border-top:0;height:54px;margin-bottom:22px}.filters{gap:24px}.filters button{font-size:12px}.filters span{color:var(--text)}.filters button.active{border-bottom-color:#f35a40}.search input{font-size:11px}
.game-layout{grid-template-columns:minmax(0,1.65fr) minmax(290px,.85fr);gap:34px;padding-bottom:28px}.game-stage{border-color:#56574a;background:#090e0b}.stage-bar{padding:10px 13px;font-size:9px}.stage-bar i{background:#f35a40}.game-preview{height:560px}.stage-bottom{padding:11px 13px}.game-details{max-width:none;padding:4px 0}.game-number{font-size:17px;color:#f35a40}.genre{margin:27px 0 15px}.game-details h2{font-family:'Black Han',sans-serif;font-weight:400;font-size:clamp(32px,3.7vw,57px);line-height:1.1;letter-spacing:-2.5px;transform:skew(-6deg);white-space:nowrap}.english-title{font-size:10px;margin:15px 0 23px;letter-spacing:3px}.description{font-size:13px;line-height:1.9;margin:0 0 25px}.play{background:#f35a40;color:#11120f;box-shadow:none;border-radius:0;padding:23px;font:400 28px 'Black Han',sans-serif;transform:none}.play:hover{background:#ff765b}.play:active{transform:translateY(2px);box-shadow:none}.play>span:last-child{font:42px Arial;line-height:1}.game-facts{margin-top:23px}.game-facts>div{padding:12px 0}summary{padding:15px 0}.prototype{font-size:9px;margin-top:13px}footer{max-width:1440px;padding:24px 0;border-top:1px solid #b6b5a5}footer .brand{font-style:italic;font-size:23px}footer>span{color:#b4b4a6}.player-main{padding-top:30px}.player-heading h1,.instructions h2{font-family:'Black Han',sans-serif;font-weight:400}.fullscreen{border-color:#f35a40}
@media(min-width:1600px){.game-preview{height:640px}}
@media(max-width:950px){.header{padding:18px 24px}.header-note{display:none}main{padding:0 24px}.sign{gap:20px;padding:25px 0}.sign-slogan{letter-spacing:-2px;padding-right:5px}.game-layout{grid-template-columns:minmax(0,1.25fr) minmax(250px,1fr);gap:25px}.game-details h2{font-size:37px}.play{font-size:24px}.game-preview{height:600px}footer{margin:0 24px}}
@media(max-width:640px){.header{padding:16px 18px;min-height:54px}.header-label{font-size:9px;letter-spacing:0}.header nav{gap:20px;font-size:12px}main{padding:0 18px}.sign{gap:12px;padding:24px 0 20px}.sign-slogan{font-size:29px;letter-spacing:-1.7px;line-height:1.05;padding:0}.ribbon{padding:7px 9px;font-size:12px}.ribbon>span:last-child{font-size:7px;letter-spacing:0}.catalog-bar{height:53px;margin-bottom:20px}.game-layout{display:flex;flex-direction:column;gap:22px}.game-stage{order:2}.game-details{padding:0}.game-number{font-size:14px}.genre{font-size:10px;margin:16px 0 10px}.game-details h2{font-size:43px;letter-spacing:-2px}.english-title{margin:10px 0 15px;font-size:9px}.description{font-size:12px;line-height:1.8;margin-bottom:18px}.play{padding:18px 20px;font-size:26px}.play>span:last-child{font-size:30px}.game-facts{margin-top:21px}.game-facts>div{padding:0 0 12px}.game-preview{height:640px}.stage-bottom{font-size:9px;gap:5px}footer{margin:0 18px}footer>span{font-size:9px;line-height:1.6;max-width:195px}.player-main{padding-top:24px}.player-heading h1{font-size:25px}}
/* Give the live game's control dock sufficient vertical room. */
.game-preview{height:760px}
@media(max-width:640px){.game-preview{height:740px}}
.starfall-listing{border-top:1px solid var(--line);padding:32px 0;display:flex;align-items:center;justify-content:space-between;gap:30px}.starfall-listing h2{font:400 38px 'Black Han',sans-serif;margin:15px 0}.starfall-listing p{font-size:12px;color:var(--muted)}.starfall-listing .play{min-width:250px;gap:25px}.starfall-listing .game-number{color:#f35a40}@media(max-width:640px){.starfall-listing{display:block}.starfall-listing h2{font-size:32px}.starfall-listing .play{margin-top:22px}.starfall-listing p{line-height:1.8}}
/* Compact catalog: identity stays small; games share the first screen. */
.header{min-height:52px;padding-block:14px}main{max-width:1260px}.sign{padding:20px 0 18px;justify-content:space-between;gap:25px}.sign h1{flex:0 1 440px}.sign-slogan{font-size:38px;letter-spacing:-2px;padding-right:8px}.sign-slogan br{display:none}.ribbon{padding:6px 12px;font-size:12px}.ribbon>span:last-child{font-size:9px}.catalog-bar{height:54px;margin-bottom:20px}.game-shelf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding-bottom:32px}.shelf-card{min-width:0}.cover{height:190px;position:relative;display:block;overflow:hidden;border:1px solid #525448;padding:17px 22px}.cover-number{position:relative;z-index:1;display:block;font:9px monospace;letter-spacing:1px}.cover strong{display:block;font:900 italic 65px/.85 Arial,sans-serif;letter-spacing:-4px;margin-top:17px;position:relative;z-index:1}.cover-caption{position:absolute;bottom:16px;right:18px;font:18px 'Black Han',sans-serif}.cover-trail{background:linear-gradient(90deg,#142418d9,#14241870),url('../assets/forest.png') center 55%/cover;color:#efe9d7}.cover-starfall{background:#222c45;color:#b6cff1}.cover-starfall:after{content:'';position:absolute;width:250px;height:250px;border:1px solid #849cc44d;border-radius:50%;right:-15px;top:-28px;box-shadow:0 0 0 35px #849cc410,0 0 0 70px #849cc408;transform:rotate(-20deg)}.cover-cross{font-size:90px;position:absolute;left:210px;top:-2px;color:#f35a40}.cover:hover{border-color:#f35a40}.shelf-info{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.shelf-genre{font-size:10px;color:var(--muted)}.shelf-info h2{font:400 28px 'Black Han',sans-serif;letter-spacing:-1px;margin:9px 0 0}.free-label{font-size:10px;border:1px solid var(--line);padding:5px 8px}.shelf-description{font-size:12px;color:var(--muted);line-height:1.7;margin:11px 0 17px}.shelf-card .play{padding:14px 18px;font-size:20px}.shelf-card .play>span:last-child{font-size:27px}footer{max-width:1200px}.cover strong{font-family:'Black Han',sans-serif;font-weight:400}
@media(max-width:640px){.header{padding:13px 18px}.sign{padding:17px 0 16px;gap:17px}.sign h1{flex:0 1 245px}.sign-slogan{font-size:22px;letter-spacing:-1px;padding:0}.sign-slogan br{display:block}.ribbon{font-size:10px;padding:6px 8px}.ribbon>span:last-child{font-size:7px}.catalog-bar{margin-bottom:16px}.filters{gap:18px}.search{gap:5px}.search input{width:90px}.game-shelf{grid-template-columns:1fr;gap:27px}.cover{height:125px;padding:12px 15px}.cover strong{font-size:40px;letter-spacing:-2px;margin-top:12px}.cover-cross{font-size:65px;left:155px;top:-5px}.cover-caption{font-size:15px;bottom:12px;right:14px}.cover-number{font-size:8px}.shelf-info{margin-top:12px}.shelf-info h2{font-size:25px;margin-top:6px}.shelf-description{font-size:11px;margin:9px 0 12px}.shelf-card .play{font-size:19px;padding:12px 15px}.shelf-card .play>span:last-child{font-size:24px}}

.portal-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;margin-top:22px}.leaderboard{align-self:start;border:1px solid var(--line);padding:20px 16px;position:sticky;top:18px}.rank-kicker{font:9px monospace;color:#f35a40;letter-spacing:1.5px}.rank-title h2{font:26px 'Black Han',sans-serif;margin:12px 0 22px;display:flex;justify-content:space-between}.rank-title h2 span{color:#f35a40}.leaderboard label{display:block;font-size:10px;color:var(--muted);margin:15px 0 7px}.leaderboard select{width:100%;background:#1b1d18;color:var(--text);border:1px solid var(--line);padding:11px 8px;font:12px inherit;min-height:42px}.rank-scope{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);margin-top:20px;padding-bottom:10px;border-bottom:1px solid var(--line)}#rank-refresh{background:transparent;color:var(--text);border:1px solid var(--line);width:32px;height:32px;font-size:20px}#rank-status{text-align:center;padding:24px 0;font-size:12px;line-height:1.9;color:var(--muted)}.rank-note{font-size:10px;line-height:1.8;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-bottom:0}.rank-table{width:100%;border-collapse:collapse;font-size:11px;table-layout:fixed}.rank-table th{font-size:9px;color:var(--muted);font-weight:400;padding:14px 2px 8px;text-align:left}.rank-table th:first-child{width:32px}.rank-table th:last-child{width:64px;text-align:right}.rank-table td{padding:12px 2px;border-bottom:1px solid #35372e;overflow-wrap:anywhere}.rank-table td:last-child{text-align:right;font-variant-numeric:tabular-nums}.rank-table tbody tr:first-child td:first-child{color:#f35a40}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.portal-layout .catalog-bar{margin-top:0;height:44px}.portal-layout .cover{height:170px}.portal-layout .cover strong{font-size:52px}.portal-layout .cover-cross{left:170px;font-size:70px}.portal-layout .cover-caption{font-size:14px}.portal-layout .shelf-info h2{font-size:25px}
@media(max-width:950px){.portal-layout{grid-template-columns:205px minmax(0,1fr);gap:20px}.portal-layout .game-shelf{grid-template-columns:1fr}.leaderboard{padding:17px 13px}}
@media(max-width:640px){.portal-layout{display:flex;flex-direction:column;gap:26px;margin-top:15px}.portal-layout .catalog{order:0}.leaderboard{order:1;position:static;width:100%;margin-bottom:25px}.rank-title h2{margin-bottom:13px}.portal-layout .cover{height:125px}.portal-layout .cover strong{font-size:40px}.portal-layout .cover-cross{left:155px;font-size:65px}.rank-table{font-size:13px}.rank-table th:first-child{width:50px}.rank-table th:last-child{width:100px}}
/* Locally generated ComfyUI cover art, original images preserved. */
.portal-layout .cover{height:auto;aspect-ratio:16/9;padding:14px;background-size:cover;background-position:center}.cover-trail{background-image:linear-gradient(180deg,#030a1230,transparent 40%,#030a12a0),url('../assets/portal/covers-v1/trailguard.png')}.cover-starfall{background-image:linear-gradient(180deg,#030a1230,transparent 40%,#030a12a0),url('../assets/portal/covers-v1/starfall.png');color:var(--text)}.cover-starfall:after{display:none}.cover strong{display:none}.cover-number{font-size:9px;text-shadow:0 1px 4px #000}.portal-layout .cover-caption{font:24px 'Black Han',sans-serif;color:#fff3dd;bottom:15px;left:16px;right:auto;text-shadow:0 2px 6px #000}.shelf-card{background:#191b16;border:1px solid #414437;padding:10px 10px 12px;transition:border-color .15s}.shelf-card:hover{border-color:#f35a40}.shelf-info,.shelf-description{margin-left:5px;margin-right:5px}.portal-layout .shelf-info h2{font-size:23px}.shelf-card .play{font-size:18px}.leaderboard select:focus-visible{outline:2px solid #f35a40;outline-offset:3px}
.cover-catdash{background-image:linear-gradient(180deg,#09161930,transparent 40%,#091619b0),url('../relic-run/assets/city-v2/city.png')}.portal-layout .cover-catdash{background-position:center 42%}.cover-catdash:after{content:'';position:absolute;right:12%;bottom:0;width:32%;height:90%;background:url('../relic-run/assets/city-v2/cat-ginger.png') center/contain no-repeat}.cover-caption{z-index:2}@media(max-width:640px){.catalog-bar{gap:10px}.filters{gap:12px}.filters button{font-size:11px}.search input{width:75px}}

.cover-skystriker{background-image:linear-gradient(180deg,#030a1230,transparent 40%,#030a12a0),url('../claude-sky-striker/assets/title.jpg')}

.game-back{border:0;background:transparent;color:inherit;font:inherit;padding:10px 0;cursor:pointer}.game-back:disabled{opacity:.5;cursor:wait}

.cover-candy{background-image:linear-gradient(180deg,#25102c20,transparent 40%,#25102c99),url('../claude-candy/assets/bg1.jpg')}.cover-candy:after{content:'';position:absolute;right:14%;top:8%;width:36%;height:72%;background:url('../claude-candy/assets/rainbow.png') center/contain no-repeat}.cover-catdash-v2{background-image:linear-gradient(180deg,#281c2930,transparent 40%,#281c2999),url('../claude-catdash/game/assets/cute-v1/bg-city.png')}.cover-catdash-v2:after{content:'';position:absolute;right:12%;bottom:8%;width:37%;height:75%;background:url('../claude-catdash/game/assets/cute-v1/catf-ginger.png') center/contain no-repeat}.cover-rooftop{background-image:url('../assets/portal/rooftop-cover.svg')}.filters{flex-wrap:wrap}.catalog-bar{gap:10px}@media(max-width:640px){.catalog-bar{height:auto;min-height:54px;flex-wrap:wrap}.filters{gap:10px}}

@font-face{font-family:Kirang;src:url('../assets/fonts/kiranghaerang/KirangHaerang-Regular.ttf') format('truetype');font-display:swap}

/* Game-specific review board */
.player-main:has(.play-and-reviews){max-width:1480px;padding-left:28px;padding-right:28px}.play-and-reviews{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}.game-column{min-width:0}.review-board{position:sticky;top:18px;border:1px solid #47453f;background:#191916;padding:20px;max-height:calc(100dvh - 36px);overflow:auto;scrollbar-width:thin;color:#f4edd9}.review-heading{display:flex;justify-content:space-between;align-items:center}.review-kicker{color:#a39f92;font:10px Arial;letter-spacing:1.5px}.review-heading h2{font-family:'Black Han',sans-serif;font-weight:400;font-size:24px;margin:7px 0 16px}.review-heading button{background:none;color:#f4edd9;border:1px solid #565449;width:36px;height:36px;font-size:22px}.review-summary{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-top:1px solid #484539;border-bottom:1px solid #484539;font-size:12px}.review-summary>span:first-child{color:#edbd65}.review-summary strong{font-size:24px}.review-summary small{color:#a39f92}.review-form fieldset{padding:0;border:0;min-width:0;margin:18px 0 0}.review-form legend{font-size:14px;font-weight:bold;padding:0 0 12px}.review-label{display:block;font-size:11px;margin:0 0 7px;color:#c6c0af}.review-form input[name=nickname],.review-form textarea{width:100%;border:1px solid #514d40;border-radius:0;background:#11120f;color:#f4edd9;font:inherit;font-size:13px;line-height:1.6;padding:10px;box-sizing:border-box}.review-form textarea{resize:vertical;min-height:85px;font-family:inherit}.review-rating{display:flex;gap:8px;margin:12px 0 15px}.review-rating label{display:grid;grid-template-columns:1fr;position:relative;flex:1;text-align:center;cursor:pointer}.review-rating input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.review-rating span{border:1px solid #514d40;padding:6px 2px;color:#827d6e;font-size:24px}.review-rating small{font-size:10px;padding-top:4px;color:#bdb6a3}.review-rating input:checked+span{background:#edbd65;color:#211c13;border-color:#edbd65}.review-rating input:focus-visible+span{outline:2px solid #fff4d5;outline-offset:3px}.review-note{font-size:10px;color:#b8b09e;line-height:1.6;margin:8px 0 12px}.review-submit{width:100%;padding:12px;background:#ef654e;color:#171612;border:0;font-weight:bold;display:flex;justify-content:space-between}.review-form fieldset:disabled{opacity:.55}.review-status{font-size:12px;line-height:1.6;color:#e3c891;margin:14px 0}.review-list-heading{display:flex;justify-content:space-between;font-size:12px;padding:14px 0;border-top:1px solid #484539}.review-list-heading span{color:#999383;font-size:11px}.review-list{list-style:none;padding:0;margin:0}.review-entry{padding:14px 0;border-top:1px solid #333229;overflow-wrap:anywhere}.review-entry-head{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px}.review-entry-head strong{overflow-wrap:anywhere;min-width:0}.review-stars{color:#edbd65;white-space:nowrap;font-size:12px}.review-entry p{white-space:pre-wrap;font-size:13px;line-height:1.7;margin:10px 0;color:#e4dfcf}.review-entry time{font-size:10px;color:#a29c8a}.review-more{width:100%;border:1px solid #514d40;background:none;color:inherit;padding:12px}.review-board button:disabled{cursor:wait;opacity:.5}@media(max-width:1050px){.play-and-reviews{grid-template-columns:1fr}.review-board{position:static;max-height:none;overflow:visible}.player-main:has(.play-and-reviews){padding-left:18px;padding-right:18px}.review-rating{max-width:300px}}

/* Shared game fullscreen shell, with a browser-fit fallback. */
.game-screen{position:relative;display:grid;grid-template-rows:minmax(0,1fr);height:clamp(360px,78dvh,900px);background:#070908;overflow:hidden;border:1px solid var(--line)}.game-screen .player-frame{display:block;width:100%;height:100%;min-height:0;border:0}.screen-toolbar{display:none}.game-expanded{overflow:hidden;overscroll-behavior:none}.game-screen.is-expanded,.game-screen:fullscreen{position:fixed;inset:0;z-index:10000;width:var(--screen-width,100vw);height:var(--screen-height,100dvh);max-width:none;max-height:none;border:0;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);grid-template-rows:44px minmax(0,1fr);box-sizing:border-box}.game-screen.is-expanded .screen-toolbar,.game-screen:fullscreen .screen-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#11130f;padding:0 8px;border-bottom:1px solid #393c32}.screen-toolbar button{background:none;border:0;color:#f5efd9;min-height:44px;padding:0 12px;font:inherit;font-size:12px;touch-action:manipulation}.screen-hint{font-size:10px;color:#b9b5a8;text-align:center}.screen-hint span{display:none}.game-screen[data-orientation=landscape] .landscape-hint{display:inline}.game-screen[data-orientation=portrait] .portrait-hint{display:inline}.fullscreen{min-height:44px;touch-action:manipulation}.game-back{min-height:44px}html:has(.game-expanded){overscroll-behavior:none}@media(max-width:600px){.player-heading{gap:10px;align-items:center}.player-heading h1{font-size:22px}.player-heading .fullscreen{font-size:12px;white-space:nowrap;padding:10px}.game-screen{height:calc(100dvh - 160px);min-height:360px}.game-screen.is-expanded{min-height:0}.player-main:has(.play-and-reviews){padding-left:10px;padding-right:10px}.review-form input[name=nickname],.review-form textarea{font-size:16px}}@media(orientation:landscape) and (max-height:540px){.game-screen{height:80dvh;min-height:0}.game-screen.is-expanded{height:var(--screen-height,100dvh)}}

.cover-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.cover:has(.cover-video):after{display:none}.cover:has(.cover-video):before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#0004,transparent 35%,#0008);pointer-events:none}.cover:has(.cover-video) .cover-caption,.cover:has(.cover-video) .cover-number{z-index:2}.preview-motion{min-height:40px;border:1px solid #514d40;background:#191b16;color:#e8e3d5;font-size:11px;padding:8px 10px;white-space:nowrap;touch-action:manipulation}.catalog-bar{flex-wrap:wrap;height:auto;min-height:54px}.catalog-bar .filters{flex:1 1 auto}@media(max-width:640px){.preview-motion{font-size:10px}.catalog-bar .filters{flex-basis:100%}}

/* Editorial and operating information */
.info-page{max-width:900px;padding-top:55px;padding-bottom:70px}.info-page h1{font-family:'Black Han',sans-serif;font-weight:400;font-size:clamp(30px,5vw,54px);letter-spacing:-1px;line-height:1.3;margin:18px 0 35px}.info-page article{font-size:15px;line-height:1.95}.info-page h2{font-size:21px;margin:38px 0 12px}.info-page p,.info-page li{color:var(--muted)}.info-page a,.game-guide a,.portal-guide a{color:var(--text);text-decoration:underline;text-underline-offset:4px}.info-kicker{color:var(--mint)!important;font:12px monospace;letter-spacing:1.5px}.info-lead{font-size:18px}.contact-email{display:inline-block;overflow-wrap:anywhere;font-size:clamp(20px,4vw,30px);margin:12px 0}.site-footer{max-width:1440px;padding:26px 0;align-items:flex-start}.site-links{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:13px}.site-footer p{font-size:12px;color:var(--muted);margin:14px 0 0}.site-footer a{display:inline!important}.game-guide,.portal-guide{border-top:1px solid var(--line);padding:30px 0;margin:24px 0;color:var(--muted);font-size:14px;line-height:1.9}.game-guide h2,.portal-guide h2{font-size:24px;color:var(--text)}.game-guide h3,.portal-guide h3{font-size:17px;color:var(--text);margin:22px 0 8px}.portal-guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 40px}.ad-reserved:not([hidden]){margin:160px auto 40px;max-width:970px;min-height:100px;border:1px solid var(--line);font-size:11px;color:var(--muted)}
@media(max-width:640px){.info-page{padding-top:30px}.site-footer{flex-direction:column}.site-links{gap:12px 18px}.portal-guide-grid{grid-template-columns:1fr}.info-page article{font-size:14px}}

/* Suppress browser selection/callouts on the expanded game toolbar. */
.game-screen.is-expanded,.game-screen.is-expanded *{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important;-webkit-user-drag:none!important}

