html,body,#root{min-height:100%}body{margin:0;background:#121212;color:#fff;font-family:DM Sans,Pretendard,Noto Sans KR,sans-serif;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}button,input{font:inherit}button{border:0}a{color:inherit;text-decoration:none}:root{--surface-1: #181818;--surface-2: #242424;--surface-3: #2a2a2a;--text-2: #b3b3b3;--text-3: #6b6b6b;--accent: #1db954;--accent-soft: rgba(29, 185, 84, .18);--accent-glow: rgba(29, 185, 84, .38);--hero-from: #1a2e1a;--hero-to: #121212}.app-shell,.store-shell{min-height:100vh}.main-nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px;padding:0 32px;background:#121212e6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.06)}.landing-nav{position:relative}.logo-button{display:inline-flex;align-items:center;gap:10px;padding:0;background:transparent;color:#fff;cursor:pointer;font-size:1.08rem;font-weight:700}.logo-mark{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:var(--accent);box-shadow:0 0 16px var(--accent-glow)}.store-pill,.nav-chip,.admin-trigger,.store-thumb-label,.tag-badge,.genre-chip,.disabled-pill,.filter-chip,.store-card-cta,.card-badge{border-radius:999px}.store-pill{margin-left:8px;padding:2px 10px;font-size:.75rem;font-weight:500;color:var(--text-2);background:var(--surface-2)}.landing-page{min-height:calc(100vh - 64px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px 88px;background:radial-gradient(ellipse 80% 50% at 50% -10%,var(--accent-soft) 0%,transparent 60%)}.landing-eyebrow,.hero-label,.modal-eyebrow,.section-label,.sidebar-heading{letter-spacing:1.6px;text-transform:uppercase}.landing-eyebrow{margin-bottom:16px;color:var(--accent);font-size:.75rem;font-weight:700}.landing-page h1{margin:0;font-size:2.7rem;line-height:1.12;text-align:center;letter-spacing:-1px}.landing-sub{max-width:600px;margin:14px 0 48px;color:var(--text-2);text-align:center;line-height:1.7}.status-copy{color:var(--text-2);font-size:.92rem}.error-copy{color:#ff8f8f}.page-status{max-width:1240px;margin:18px auto 0;padding:0 32px}.store-card-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;width:100%;max-width:720px}.store-card{width:min(100%,330px);overflow:hidden;padding:0;background:#181818;border:1px solid rgba(255,255,255,.08);color:inherit;text-align:left;cursor:pointer;border-radius:18px;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.store-card:hover,.store-card:focus-visible{transform:translateY(-4px);border-color:#ffffff2e;box-shadow:0 18px 48px #00000073}.store-card-thumb{position:relative;display:flex;align-items:center;justify-content:center;height:170px}.store-card-emoji{font-size:4rem}.store-thumb-label{position:absolute;top:12px;left:12px;padding:4px 10px;background:#0000007a;border:1px solid rgba(255,255,255,.08);color:var(--text-2);font-size:.72rem}.store-card-body{padding:22px}.store-card-body h2{margin:0 0 8px;font-size:1.24rem}.store-card-body p{margin:0 0 18px;color:var(--text-2);font-size:.9rem;line-height:1.7}.store-card-meta{display:flex;gap:18px;margin-bottom:20px}.store-card-meta div{display:flex;flex-direction:column;gap:4px}.store-card-meta span{color:var(--text-3);font-size:.76rem}.store-card-meta strong{font-size:.92rem}.store-card-cta{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:12px 18px;background:var(--accent);color:#050505;font-weight:700}.nav-center{position:absolute;left:50%;transform:translate(-50%);display:flex;gap:4px}.nav-chip,.admin-trigger,.reset-button,.primary-button,.ghost-button,.filter-chip{cursor:pointer;transition:background-color .18s ease,color .18s ease,transform .18s ease,border-color .18s ease}.nav-chip{padding:8px 18px;background:var(--surface-1);color:var(--text-2);font-size:.82rem;font-weight:600}.nav-chip.active,.nav-chip:hover{color:#fff;background:var(--surface-3)}.admin-trigger{padding:9px 16px;background:var(--surface-2);color:#fff}.hero-panel{position:relative;overflow:hidden;padding:56px 32px 44px;background:linear-gradient(180deg,var(--hero-from) 0%,var(--hero-to) 100%);background-size:cover;background-position:center}.hero-panel:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 50% -20%,var(--accent-soft) 0%,transparent 60%)}.hero-panel-inner{position:relative;max-width:1240px;margin:0 auto;text-align:center}.hero-logo-block{display:flex;flex-direction:column;gap:4px;align-items:center;margin-bottom:28px}.hero-logo-block span,.hero-logo-block small{color:var(--accent)}.hero-logo-block span{font-size:.72rem;font-weight:700;letter-spacing:4px}.hero-logo-block strong{font-size:clamp(2.8rem,5vw,4rem);font-weight:800;letter-spacing:-2px;background:linear-gradient(135deg,#ffffff 30%,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-logo-block small{font-size:.78rem;letter-spacing:2px;opacity:.75}.hero-label,.modal-eyebrow{color:var(--accent);font-size:.72rem;font-weight:700}.hero-panel h1{display:flex;flex-direction:column;gap:2px;margin:0;font-size:clamp(2.1rem,4vw,3.2rem);letter-spacing:-1px;line-height:1.1}.hero-panel p{max-width:680px;margin:16px auto 0;color:var(--text-2);line-height:1.7}.store-page-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px;max-width:1240px;margin:0 auto;padding:32px 32px 72px}.filter-sidebar{position:sticky;top:84px;display:flex;flex-direction:column;gap:24px;height:fit-content}.sidebar-heading{margin-bottom:12px;color:var(--text-3);font-size:.68rem;font-weight:700}.sidebar-chip-row{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{padding:8px 14px;background:transparent;border:1px solid rgba(255,255,255,.08);color:var(--text-2)}.filter-chip.active,.filter-chip:hover{background:var(--surface-3);border-color:transparent;color:#fff}.reset-button,.ghost-button{padding:11px 18px;background:transparent;border:1px solid rgba(255,255,255,.12);color:var(--text-2)}.reset-button:hover,.ghost-button:hover{color:#fff;border-color:#ffffff38}.game-content-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}.game-content-header h2,.info-card h2,.admin-header h2{margin:0}.game-content-header p,.admin-header p{margin:6px 0 0;color:var(--text-2)}.game-content-header strong{color:var(--accent)}.search-field{display:flex;align-items:center;gap:10px;width:min(100%,260px);padding:10px 18px;border-radius:999px;background:var(--surface-2);color:var(--text-3)}.search-field input{width:100%;color:#fff;background:transparent;border:0;outline:none}.search-field input::placeholder{color:var(--text-3)}.game-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.game-card{overflow:hidden;padding:0;background:var(--surface-1);color:inherit;text-align:left;border-radius:14px;cursor:pointer;transition:transform .2s ease,background-color .2s ease}.game-card:hover{transform:translateY(-2px);background:var(--surface-2)}.card-cover{position:relative;aspect-ratio:1 / 1;background:var(--surface-2)}.card-cover img,.upload-preview img,.game-modal-cover img{width:100%;height:100%;object-fit:cover;display:block}.fallback-cover{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:3.2rem}.card-badge-stack{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;gap:6px}.card-badge,.tag-badge{padding:4px 10px;background:#0000007a;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.68rem;font-weight:700}.card-content{padding:14px}.card-content h3{margin:0 0 4px;font-size:.96rem}.card-content p{margin:0 0 8px;color:var(--text-2);font-size:.78rem}.card-meta-row{display:flex;gap:6px;align-items:center;color:var(--text-2);font-size:.78rem}.disabled-pill{display:inline-flex;margin-top:10px;padding:5px 10px;background:#ffffff14;color:#ffbdbd;font-size:.72rem}.empty-card{grid-column:1 / -1;padding:72px 24px;border-radius:16px;background:#ffffff08;color:var(--text-3);text-align:center}.store-info-page{display:grid;gap:18px;max-width:760px;margin:0 auto;padding:40px 32px 72px}.info-card{padding:28px;background:var(--surface-1);border:1px solid rgba(255,255,255,.05);border-radius:18px}.info-card h2{margin-bottom:18px;font-size:1.05rem}.info-row{display:grid;grid-template-columns:90px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.05)}.info-row:last-child{border-bottom:0}.info-row span{color:var(--text-3);white-space:pre-line}.info-row strong{white-space:pre-line;line-height:1.7}.modal-overlay,.admin-overlay{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:24px;background:#000000c7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.game-modal,.admin-modal{width:min(100%,620px);max-height:calc(100vh - 48px);overflow:auto;background:#282828;border-radius:20px;box-shadow:0 40px 100px #000000b8}.game-modal-cover{position:relative;height:240px;background:var(--surface-2)}.game-modal-cover-gradient{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 35%,#282828 100%)}.modal-close{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:#0000008f;color:#fff;border-radius:999px;cursor:pointer}.modal-close.muted{position:static;background:#ffffff12}.game-modal-body,.admin-body{padding:28px}.game-modal-loading{padding:48px 28px;color:var(--text-2)}.game-modal-body h2{margin:4px 0 0;font-size:1.86rem}.modal-title-en{margin:6px 0 18px;color:var(--text-2)}.modal-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stat-box{padding:14px 12px;border-radius:12px;background:#ffffff0d;text-align:center}.stat-box span{display:block;margin-bottom:6px;color:var(--text-3);font-size:.68rem;letter-spacing:1.2px;text-transform:uppercase}.badge-row,.genre-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.genre-chip{padding:5px 11px;background:#ffffff14;border:1px solid rgba(255,255,255,.08);color:var(--text-2);font-size:.76rem}.modal-section{margin-top:24px}.section-label{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--text-3);font-size:.7rem;font-weight:700}.section-label:after{content:"";flex:1;height:1px;background:#ffffff0f}.modal-section p{margin:0;color:#ffffffb8;line-height:1.78}.rule-list,.tip-list{display:flex;flex-direction:column;gap:10px;margin:0;padding-left:18px;color:#ffffffc2;line-height:1.7}.tip-list{list-style:disc}.video-shell{overflow:hidden;border-radius:12px;aspect-ratio:16 / 9;background:#000}.video-shell iframe{width:100%;height:100%;border:0}.admin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:28px 28px 0}.upload-block{display:grid;gap:10px;margin-bottom:18px;color:var(--text-2)}.upload-label{font-weight:700;color:#fff}.upload-sub{font-size:.84rem}.upload-block input{color:var(--text-2)}.upload-preview{display:flex;align-items:center;justify-content:center;width:100%;min-height:180px;overflow:hidden;border:1px dashed rgba(255,255,255,.16);border-radius:16px;background:#ffffff08;font-size:2rem}.admin-actions{display:flex;gap:10px;margin-top:18px}.primary-button{padding:11px 18px;background:var(--accent);color:#050505;font-weight:700}.primary-button:hover{transform:translateY(-1px)}.primary-button:disabled,.ghost-button:disabled{opacity:.6;cursor:progress}@media(max-width:1024px){.game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:860px){.main-nav{padding:0 20px}.nav-center{position:static;transform:none}.store-page-grid{grid-template-columns:1fr}.filter-sidebar{position:static}.game-content-header{flex-direction:column;align-items:stretch}.search-field{width:100%}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.landing-page h1{font-size:2rem}.hero-panel,.store-page-grid,.store-info-page{padding-left:20px;padding-right:20px}.game-grid{gap:12px}.modal-stats{grid-template-columns:1fr}.info-row{grid-template-columns:1fr;gap:6px}}
