@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css');
@import url('https://cdn.jsdelivr.net/npm/galmuri@2.40.3/dist/galmuri.css');
:root{--ink:#fff0be;--muted:#c4c4dd;--paper:#202044;--line:#505078;font-family:Pretendard,Arial,'Malgun Gothic',sans-serif;color:var(--ink);background:var(--paper)}body{background-image:radial-gradient(#66628a 1px,transparent 1px);background-size:32px 32px}h1,h2,h3,.brand,.primary,.play-button,.section-kicker,.arcade-sign,.arcade-base,.card-record strong{font-family:Galmuri11,'Malgun Gothic',monospace}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #80dec1}.header,main,footer{max-width:1200px}.header{height:96px;border-bottom:2px solid var(--line);background:#202044}.brand{font-size:23px;letter-spacing:0;gap:12px}.brand-mark{font-size:37px;color:#ff929b;text-shadow:3px 3px #10152d}.brand small{font-size:10px;letter-spacing:1px;color:#c4c4dd}.header nav{gap:23px;font-size:13px}.header nav a span{color:#c4c4dd}.profile-button{border:2px solid #66658a;border-radius:0;color:#fff0be;font-size:12px}.language-link{color:#80dec1}.hero{min-height:390px;padding:44px 30px;grid-template-columns:1.5fr 1fr;gap:32px;border-bottom:2px solid var(--line);background:#202044;overflow:hidden}.hero h1{font-size:clamp(32px,4.5vw,56px);line-height:1.3;letter-spacing:-1px;text-shadow:4px 4px #10152d;color:#fff0be}.hero-label{font-family:Galmuri11,monospace;font-size:12px;color:#80dec1;margin-bottom:18px}.hero-label:before{display:none}.hero-english{font-family:Galmuri11,monospace;font-size:23px;letter-spacing:0;margin-top:12px;color:#80dec1}.hero-description{font-size:15px;color:#eee4cb;line-height:1.7;margin:20px 0}.hero-description span{font-size:13px;color:#c4c4dd}.primary,.play-button{background:#ff929b;border:2px solid #10152d;border-radius:0;color:#202044;box-shadow:4px 4px 0 #10152d;font-weight:700;min-height:48px;padding:12px 18px;font-size:14px}.primary:hover,.play-button:hover{background:#fff0be;color:#202044;border-color:#10152d}.primary>span{color:#202044;font-size:12px}.hero-meta{font-size:11px;color:#c4c4dd;flex-wrap:wrap;gap:14px}.hero-art{position:relative;width:230px;max-width:100%;margin:auto;border:6px solid #10152d;background:#7775a4;box-shadow:12px 12px 0 #14142d;transform:rotate(3deg)}.arcade-sign{background:#fff0be;color:#202044;border-bottom:6px solid #10152d;text-align:center;padding:10px;font-size:28px;font-weight:bold;line-height:1.1}.arcade-sign span{font-size:15px;letter-spacing:4px}.arcade-screen{margin:17px;background:#202044;border:5px solid #10152d;padding:12px;text-align:center}.arcade-screen>span{font-size:17px;color:#ff929b;float:left}.arcade-screen strong{font:12px Galmuri11;color:#80dec1}.pixel-invader{font-size:58px;line-height:1.25;color:#80dec1;text-shadow:5px 5px #4b6683}.arcade-screen small{font:9px Galmuri11;color:#fff0be}.arcade-controls{height:38px;border-top:5px solid #10152d;border-bottom:5px solid #10152d;background:#ff929b;display:flex;align-items:center;justify-content:center;gap:18px}.arcade-controls i{width:9px;height:24px;background:#202044;transform:rotate(-15deg);position:relative}.arcade-controls i:before{content:'';width:18px;height:13px;background:#fff0be;position:absolute;top:-5px;left:-5px}.arcade-controls b{width:16px;height:9px;background:#202044;box-shadow:2px 2px #fff0be}.arcade-base{text-align:center;font-size:10px;line-height:1.7;padding:13px;color:#202044}.games-section{padding:36px 0 40px}.section-heading h2{font-size:27px;letter-spacing:0}.section-heading h2 span{font-size:15px;color:#c4c4dd}.section-heading>p,.section-heading>p span{color:#c4c4dd;font-size:12px}.section-kicker{font-size:11px;color:#80dec1}.game-grid{gap:26px}.game-card{border:3px solid #10152d;border-radius:0;background:#fff0be;color:#202044;box-shadow:6px 6px #10152d;overflow:hidden}.game-card:hover{border-color:#80dec1}.card-art{height:200px;border-bottom:3px solid #10152d;background:#292955}.card-tag{top:12px;left:12px;background:#202044;color:#fff0be;border:1px solid #7775a4;border-radius:0;font-size:10px}.card-body{padding:18px 22px}.card-body h3{font-size:23px;letter-spacing:0}.game-en{font-family:Galmuri11,monospace;color:#51516b;font-size:15px;margin-top:6px}.level-tag{background:#80dec1;color:#202044;border:1px solid #202044;font-size:10px}.card-description{color:#484854;font-size:13px;line-height:1.7;margin-top:12px;min-height:44px}.card-bottom{border-color:#beb395;padding-top:13px;margin-top:12px}.card-record{color:#51516b;font-size:12px}.card-record strong{color:#202044;font-size:18px}.play-button span{font-family:Pretendard,Arial,'Malgun Gothic',sans-serif;font-size:12px}.ranking-section{background:#292955;border:2px solid #64618a;padding:28px;margin:0 0 36px;gap:30px;grid-template-columns:1fr 1.7fr}.ranking-intro h2{font-size:27px;color:#fff0be}.ranking-intro h2>span{font-size:19px;color:#80dec1}.connection,.fine-print,.my-rank,.rank-level{color:#c4c4dd;font-size:12px}.rank-row.mine{color:#80dec1}.table-head,.rank-row{border-color:#505078}.table-head{font-size:11px;color:#c4c4dd}.empty-rank{font-size:14px;color:#c4c4dd}.ranking-board{min-height:220px}select{background:#202044;color:#fff0be;border:1px solid #7775a4;font-size:13px}.segmented .active{background:#80dec1;color:#202044}.principles{padding:0 0 36px;gap:25px}.principles article>span{color:#80dec1}.principles h3{font-size:17px}.principles p,.principles p span{color:#c4c4dd;font-size:12px;line-height:1.8}.guide-directory{background:#202044;border-color:#505078;padding:32px 0}.guide-directory h2{font-size:24px}.guide-directory h3{font-size:18px}.guide-directory p,.guide-columns p,.guide-lead{color:#d4d3e6;font-size:15px;line-height:1.85}.guide-links a{border:2px solid #66658a;font-size:14px}.guide-links a:hover{background:#343464}.game-guide{border-color:#505078;padding-top:40px}.game-guide h1{color:#fff0be}footer{background:#202044;border-top:2px solid #505078;padding-top:28px;padding-bottom:28px}.footer-brand{font-family:Galmuri11,monospace;color:#80dec1;font-size:19px}footer button,footer small{font-size:12px;color:#c4c4dd}.tool-links{flex-wrap:wrap;gap:18px;width:100%;font-size:12px;color:#c4c4dd}
dialog{color:#202044;background:#fff8e3;border:3px solid #10152d;border-radius:0;box-shadow:8px 8px #10152d}dialog h2,dialog h3{color:#202044}dialog .section-kicker{color:#52556f}dialog .primary{color:#202044}dialog p,dialog small,dialog .field-hint,dialog .status-text,dialog .info-body{color:#51516b}dialog::backdrop{background:#10152dcc}dialog input{background:white;color:#202044}dialog .secondary,dialog .icon-button,dialog .touch-controls button{color:#202044;border-color:#7775a4}.game-overlay{background:#fff8e3ed}.game-stats{color:#51516b}.game-stats strong{color:#202044}.game-mode,.control-hint{color:#51516b}.toast{background:#fff0be;color:#202044;border:2px solid #10152d}
@media(max-width:760px){.header,main,footer{padding-left:20px;padding-right:20px}.header{height:auto;min-height:110px;padding-top:16px;padding-bottom:16px;flex-wrap:wrap;gap:18px}.header nav{width:100%;justify-content:space-between;gap:10px;font-size:12px}.header nav>a{display:inline-block}.header nav a span{display:none}.profile-button{font-size:11px;max-width:155px}.brand{font-size:21px}.hero{padding:30px 0;grid-template-columns:1fr;gap:24px}.hero-copy{text-align:center}.hero h1{font-size:38px;line-height:1.35}.hero-english{font-size:21px}.hero-description{font-size:13px}.hero-meta{justify-content:center}.hero-art{position:relative;width:180px;height:auto;right:auto;top:auto;margin:0 auto;transform:rotate(2deg)}.arcade-sign{font-size:22px;padding:7px}.arcade-screen{margin:12px;padding:8px}.pixel-invader{font-size:37px}.arcade-base{padding:7px}.section-heading{align-items:start}.section-heading h2{font-size:22px}.section-heading>p{display:none}.game-grid{grid-template-columns:1fr;gap:22px}.card-art{height:180px}.card-body h3{font-size:22px}.game-en{font-size:14px}.card-description{font-size:13px}.ranking-section{grid-template-columns:1fr;padding:20px;gap:18px}.ranking-controls{flex-wrap:wrap}select{font-size:12px}.principles{grid-template-columns:1fr;gap:20px}.guide-links{grid-template-columns:1fr 1fr}.game-dialog{max-width:calc(100vw - 20px)}footer>div{flex-wrap:wrap}.fine-print{font-size:12px}}

.square-game{max-width:560px}.square-game .canvas-wrap{min-height:0}.square-game #gameCanvas{width:100%;height:auto;aspect-ratio:1;object-fit:contain;touch-action:none}.square-game .game-overlay{inset:0}.square-game .overlay-card h3{font-size:23px}.square-game .overlay-card>p{font-size:13px}@media(max-width:650px){.square-game #gameCanvas{height:auto}.square-game .overlay-card>p{font-size:12px}.square-game .canvas-wrap{min-height:0}}

.game-dialog.square-game{width:min(560px,calc(100vw - 20px));max-width:560px}.square-game .canvas-wrap{width:min(100%,calc(94dvh - 235px));min-width:270px;margin:auto}
