@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@700;800;900;1000&family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap');
:root{--purple:#7548ef;--ink:#272335;--muted:#96909f;--lime:#d7ff70}*{box-sizing:border-box}body{margin:0;background:#f7f7fb;color:var(--ink);font-family:'Nunito','Noto Sans KR',sans-serif;font-size:14px}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #a68aff;outline-offset:4px}aside{position:fixed;width:220px;height:100dvh;top:0;left:0;background:#fff;border-right:1px solid #eeedf3;padding:38px 22px;display:flex;flex-direction:column}.logo{font:1000 53px/.85 'Nunito',sans-serif;color:var(--purple);text-decoration:none;letter-spacing:-4px;display:block;margin-left:15px}.logo>span{position:relative}.logo i{position:absolute;font-size:13px;color:white;left:10px;top:30px;letter-spacing:0}.logo b{display:block;font-size:8px;letter-spacing:2.2px;color:#aaa1ba;margin-top:13px;margin-left:2px}nav{margin-top:48px}.nav{width:100%;background:none;border-radius:12px;padding:14px 15px;display:flex;align-items:center;gap:12px;text-align:left;color:#8c8798;margin:4px 0;font-size:21px}.nav span{font-size:13px;font-weight:700}.nav.active{background:#eee8ff;color:var(--purple)}.nav em{font-style:normal;font-size:8px;color:var(--purple);background:#eee8ff;padding:3px 4px;margin-left:auto}.nav small{margin-left:auto;font-size:11px}.nav-label{font-size:9px;letter-spacing:1.5px;color:#b2acbc;margin:33px 15px 13px}.side-note{margin-top:auto;background:#f7f4ff;border-radius:16px;padding:20px;color:#6e55a6}.side-note>div{font-size:35px;color:var(--purple);margin-bottom:9px}.side-note strong{font-size:17px;line-height:1.7}.side-note p{font-size:11px;color:#a69ab9}aside footer{font-size:10px;color:#b5afbf;line-height:1.8;margin:24px 10px 0}.page{margin-left:220px}header{height:94px;display:flex;align-items:center;gap:20px;padding:0 40px;background:#fff;border-bottom:1px solid #eeedf3}.breadcrumb{font-size:10px;letter-spacing:1.6px;font-weight:900;flex:1}.breadcrumb span{color:var(--purple);margin-left:8px}.search{display:flex;align-items:center;gap:10px;background:#f7f7fa;border:1px solid #ecebf1;border-radius:11px;padding:10px 13px;width:310px}.search>span{font-size:25px;line-height:1;color:#888}.search input{width:100%;border:0;outline:none;background:transparent;font-size:11px}.search kbd{background:white;border:1px solid #e6e4ed;border-radius:4px;padding:1px 5px;color:#a5a0b0}.random{background:var(--lime);border-radius:10px;padding:12px 16px;font-size:17px}.random span{font-size:11px;font-weight:800;margin-left:5px}main{max-width:1540px;padding:32px 40px;margin:auto}.hero{background:#7548ef;border-radius:24px;min-height:350px;display:flex;position:relative;overflow:hidden;padding:36px 40px;color:white}.hero-copy{z-index:2;flex:1}.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:900}.hero .eyebrow{color:#e6dcff;display:flex;align-items:center;gap:8px}.eyebrow>span{display:inline-block;width:5px;height:5px;background:var(--lime);border-radius:50%}h1{font-size:39px;line-height:1.45;letter-spacing:-1.8px;margin:18px 0 10px;font-weight:900}h1 span{color:var(--lime)}.hero p{font-size:12px;color:#ded3ff;line-height:1.9;margin:0 0 20px}.hero-copy>button{background:var(--lime);padding:13px 20px;border-radius:10px;font-size:12px;font-weight:800}.hero-copy>button span{margin-left:25px;font-size:18px}.hero-meta{font-size:9px;color:#d2c2ff;margin-top:18px}.hero-meta span{margin:0 8px}.hero-art{width:45%;position:relative}.orbit{position:absolute;border:1px solid #ffffff20;border-radius:50%;width:390px;height:390px;left:0;top:-55px}.orbit2{width:510px;height:510px;left:-60px;top:-115px}.mascot{position:absolute;left:20%;top:44px;width:190px;height:185px;background:var(--lime);border-radius:65px 65px 55px 55px;transform:rotate(12deg);box-shadow:inset -14px -12px #b5e44d,0 20px 40px #4822aa44}.eyes{display:flex;gap:29px;justify-content:center;padding-top:45px}.eyes i{background:#292238;width:17px;height:28px;border-radius:50%;position:relative}.eyes i:after{content:'';position:absolute;width:5px;height:7px;background:white;border-radius:50%;left:3px;top:4px}.smile{width:39px;height:22px;border-radius:0 0 30px 30px;background:#292238;margin:17px auto}.controller{position:absolute;top:176px;left:31%;width:180px;height:96px;background:#f8f3ff;border-radius:38px 38px 28px 28px;transform:rotate(-16deg);box-shadow:0 11px 0 #c9b3ef,0 24px 30px #3e1b8d40;display:flex;align-items:center;justify-content:space-around}.controller>span{font-size:49px;color:#6943bb}.controller>div{display:grid;grid-template-columns:14px 14px;gap:7px;transform:rotate(-20deg)}.controller i{width:14px;height:14px;border-radius:50%;background:#a788ef}.controller i:nth-child(2){background:#b7e35a}.floating{position:absolute;background:#fff;color:#7548ef;font-size:10px;padding:10px 14px;border-radius:8px;font-weight:900;box-shadow:0 4px 0 #5031ac}.f1{left:0;top:30px;transform:rotate(-12deg)}.f2{right:0;bottom:15px;background:var(--lime);transform:rotate(8deg)}.spark{position:absolute;color:var(--lime);font-size:37px}.s1{right:9%;top:15px}.s2{left:5%;bottom:18px;font-size:42px}.s3{right:0;top:140px;font-size:22px}.bubble{position:absolute;right:3%;top:84px;color:white;background:#936bf7;border-radius:16px;width:47px;height:47px;display:grid;place-items:center;transform:rotate(20deg)}.catalog{margin-top:36px}.section-top{display:flex;justify-content:space-between;align-items:center}.muted{color:#a39bad;font-size:8px}h2{font-size:22px;letter-spacing:-.8px;margin:8px 0 0}h2>span{color:var(--purple);font-size:22px;margin-left:7px}#resultCount{font-size:11px;color:#9b94a5}.filters{display:flex;gap:8px;margin:23px 0}.filters button{padding:10px 17px;background:#fff;border:1px solid #e9e7ef;border-radius:24px;font-size:11px;color:#827a91;font-weight:700}.filters .selected{background:var(--ink);color:white;border-color:var(--ink)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 20px}.card{min-width:0}.art-button{display:block;width:100%;border-radius:17px;position:relative;overflow:hidden;padding:0;aspect-ratio:1.6;background:var(--bg)}.art-button svg{width:100%;height:100%;display:block;transition:transform .3s}.art-button:hover svg{transform:scale(1.06)}.art-button:after{content:'▶ 지금 플레이';position:absolute;inset:auto 0 0;padding:17px;color:white;background:linear-gradient(transparent,#0008);font-size:12px;opacity:0;transition:opacity .2s}.art-button:hover:after{opacity:1}.badge{position:absolute;top:11px;left:11px;background:white;color:#49414f;border-radius:5px;font-size:8px;font-weight:900;padding:5px 7px;box-shadow:0 2px 8px #0001}.card-info{display:flex;align-items:center;justify-content:space-between;padding:12px 3px 0}.card h3{font-size:14px;margin:0 0 5px}.card p{font-size:10px;color:#aaa3b1;margin:0}.card p span{color:#e1aa40;margin-left:10px}.favorite{border:1px solid #e9e5ef;background:white;width:31px;height:31px;border-radius:50%;font-size:17px;color:#9a90a8}.favorite.saved{color:var(--purple);background:#eee7ff}.bottom-banner{display:flex;align-items:center;gap:21px;background:#edebf6;border-radius:17px;padding:23px 28px;margin-top:38px}.banner-icon{color:var(--purple);font-size:48px}.bottom-banner h3{font-size:15px;margin:0 0 7px}.bottom-banner p{font-size:11px;color:#9a92a7;margin:0}.bottom-banner>span{margin-left:auto;font-size:11px;letter-spacing:1px;line-height:1.7;color:#9a8bb7}.bottom-line{display:flex;align-items:center;gap:20px;padding:27px 0 0}.wordmark{font-size:24px;color:#b4aabb;letter-spacing:-1px;text-decoration:none;font-weight:1000}.wordmark span{color:#b7d47c;font-size:8px;margin-left:4px}.bottom-line p{font-size:9px;color:#afa7b7}.bottom-line>span{font-size:8px;color:#b6aebe;margin-left:auto;letter-spacing:1px}#empty{text-align:center;padding:50px;color:#8f839f}#empty button{padding:12px 20px;border-radius:12px;background:#eae1ff;color:var(--purple)}dialog{border:0;border-radius:22px;padding:24px;width:min(700px,95vw);color:var(--ink)}dialog::backdrop{background:#211538b8;backdrop-filter:blur(6px)}.dialog-top{display:flex;align-items:center;justify-content:space-between}.dialog-top>button{width:35px;height:35px;border-radius:50%;background:#f1edf8;font-size:18px}.game-stats{display:flex;gap:20px;align-items:center;margin:20px 0;font-size:12px}.game-stats b{font-size:18px;color:var(--purple);margin-left:6px}.game-stats button{margin-left:auto;padding:9px 13px;border-radius:8px;background:#eee7ff;color:var(--purple)}.canvas-wrap{position:relative;background:#201b35;border-radius:14px;overflow:hidden}canvas{display:block;width:100%;touch-action:none}#gameOverlay{position:absolute;inset:0;background:#211a35e8;display:flex;align-items:center;justify-content:center;flex-direction:column;color:white;text-align:center;padding:20px}#gameOverlay[hidden]{display:none}#gameOverlay h3{font-size:28px;margin:0 0 10px}#gameOverlay p{font-size:13px;line-height:1.8;max-width:330px;color:#d7c9eb}#gameOverlay button{background:var(--lime);border-radius:10px;padding:13px 30px;font-weight:800;margin-top:15px}.game-tip{text-align:center;font-size:12px;color:#978ba5;line-height:1.7}#controls{display:flex;justify-content:center;gap:8px;margin-top:15px}#controls button{width:48px;height:38px;background:#eee7ff;color:var(--purple);border-radius:9px;font-size:22px}button{transition:filter .2s,transform .2s}button:hover{filter:brightness(.97)}@media(min-width:1500px){.hero{min-height:390px}h1{font-size:46px}.hero-art{max-width:450px;margin-right:50px}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1100px){aside{width:180px;padding:30px 14px}.page{margin-left:180px}header{padding:0 24px}.breadcrumb{display:none}.search{flex:1}main{padding:25px}.hero{padding:30px}h1{font-size:31px}.hero-art{transform:scale(.85);transform-origin:center right}.hero-meta{font-size:8px}.grid{gap:20px 14px}.bottom-line>span{display:none}}@media(max-width:760px){aside{width:70px;padding:25px 8px}.logo{font-size:28px;margin-left:0;letter-spacing:-2px}.logo i{font-size:7px;left:5px;top:16px}.logo b,.nav span,.nav em,.nav small,.nav-label,.side-note,aside footer{display:none}nav{margin-top:30px}.nav{justify-content:center;padding:12px 0;font-size:24px}.page{margin-left:70px}header{height:74px;padding:0 16px;gap:10px}.random{padding:9px 12px}.random span{display:none}.search{width:100px}.search input{font-size:10px}main{padding:18px 16px}.hero{padding:26px 23px;min-height:340px}.hero-art{position:absolute;right:-52px;bottom:-14px;width:240px;height:260px;transform:scale(.65);transform-origin:bottom right;opacity:.9}.hero-copy{z-index:2}h1{font-size:29px}.hero .eyebrow{font-size:7px;letter-spacing:.8px}.hero-meta{max-width:185px;line-height:1.8}.hero p{font-size:11px}.hero-copy>button{position:relative;z-index:5}.catalog{margin-top:28px}h2{font-size:18px}.section-top{align-items:end}#resultCount{font-size:9px}.filters{overflow:auto;white-space:nowrap;margin:18px 0;gap:6px;padding-bottom:4px}.filters button{padding:9px 13px;font-size:10px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.card h3{font-size:12px}.card p{font-size:9px}.card p span{margin-left:4px}.favorite{flex-shrink:0;width:26px;height:26px;font-size:15px}.badge{font-size:7px;top:7px;left:7px;padding:4px}.art-button{border-radius:13px;aspect-ratio:1.25}.art-button svg{width:128%;max-width:none;margin-left:-14%}.bottom-banner{padding:16px;gap:12px}.banner-icon{font-size:32px}.bottom-banner h3{font-size:12px;line-height:1.6}.bottom-banner p{font-size:9px}.bottom-banner>span{display:none}.bottom-line{align-items:start;gap:12px}.bottom-line p{font-size:8px;line-height:1.8;margin-top:4px}.wordmark{font-size:21px}dialog{padding:17px}.game-stats{gap:10px}.game-stats button{font-size:10px}#gameOverlay h3{font-size:21px}#gameOverlay p{font-size:11px;margin:5px}#gameOverlay button{margin-top:8px;padding:10px 22px}}
