*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #7aabff;outline-offset:5px}a{color:inherit;text-decoration:none}.site-header{display:flex;gap:36px;border-bottom:1px solid var(--site-line)}.header-label{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--site-muted);letter-spacing:.2px}.status-dot{width:5px;height:5px;background:#7d9d87;border-radius:50%}.header-section{margin-left:auto;font-size:10px;letter-spacing:2.5px;font-weight:650;color:var(--site-muted)}.arcade-layout{display:grid;grid-template-columns:202px minmax(0,1fr);gap:54px;max-width:1370px;margin:0 auto;padding:49px 48px 60px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:2.15px;color:var(--site-muted)}h1{font-size:30px;letter-spacing:-1.5px;margin:16px 0 31px}h1>span{display:block;font-size:12px;letter-spacing:-.3px;font-weight:400;color:var(--site-muted);margin-top:11px}.game-card{display:block;width:100%;padding:0 0 18px;border:1px solid var(--site-line);border-radius:12px;background:transparent;color:var(--site-ink);text-align:left;overflow:hidden;margin-bottom:14px;transition:transform .2s,border-color .2s,background .2s}.game-card:hover{transform:translateY(-2px);background:var(--site-surface)}.game-card.active{border-color:#719489;background:var(--site-surface);box-shadow:0 0 0 1px #71948933}.mini-art{height:114px;display:block;position:relative;margin:9px 9px 16px;border-radius:7px;overflow:hidden;background:#20352f}.breakout-art{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:20px 30px 59px}.breakout-art i{height:10px;border-radius:2px;background:#d9ab80}.breakout-art i:nth-child(n+4){background:#8aa995}.breakout-art b{position:absolute;width:35px;height:5px;background:#bde2c7;left:calc(50% - 17px);bottom:19px;border-radius:5px}.breakout-art em{position:absolute;width:6px;height:6px;background:#f8ecd8;left:57%;bottom:34px;border-radius:50%}.card-copy{display:block;padding:0 16px}.card-copy small{font-size:8px;letter-spacing:1.2px;color:var(--site-muted)}.card-copy strong{display:block;font-size:15px;margin:7px 0 6px;letter-spacing:-.5px}.card-copy strong span{float:right;font-size:14px;font-weight:400;color:var(--site-muted)}.card-copy>span{font-size:10px;color:var(--site-muted)}.library-foot{margin-top:36px;border-top:1px solid var(--site-line);padding-top:20px}.library-foot>span{font-size:8px;letter-spacing:1.25px;color:var(--site-muted)}.library-foot p{font-size:11px;line-height:1.9;color:var(--site-muted)}.game-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.game-heading h2{font-size:36px;line-height:1;margin:15px 0 0;letter-spacing:-1.7px}.title-dot{color:#78a78d;padding-left:4px}.game-badge{font-size:9px;font-weight:650;letter-spacing:1.4px;color:var(--site-muted);border:1px solid var(--site-line);border-radius:30px;padding:9px 12px;margin-top:18px}.game-machine{border-radius:14px;overflow:hidden;background:#132a25;box-shadow:0 14px 36px #152b2414}.scoreboard{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#192d28;padding:22px 27px 18px;border-bottom:1px solid #bde0c310}.scoreboard>div{display:flex;flex-direction:column;gap:7px}.scoreboard span{font-size:8px;letter-spacing:1.8px;color:#b1c7bc}.scoreboard strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:20px;font-weight:500;letter-spacing:1px;color:#e6ead7;font-variant-numeric:tabular-nums}.scoreboard strong small{font-size:11px;color:#94b2a0}.scoreboard .lives-readout strong{font-size:10px;letter-spacing:2px;color:#b8d7ab;min-width:48px}.playfield{position:relative;height:clamp(405px,55vh,570px);overflow:hidden;background:#142b25}#game-canvas{width:100%;height:100%;display:block;touch-action:none;outline:none}.game-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0c21183d;backdrop-filter:blur(2px)}.game-overlay[hidden]{display:none}.overlay-card{padding:26px 36px 23px;min-width:290px;text-align:center;border:1px solid #a5ccaa30;border-radius:12px;background:#19312bed;box-shadow:0 15px 60px #05150e40;color:#edf1e2}.overlay-kicker{font-size:8px;letter-spacing:1.9px;color:#a9c2ad}.overlay-card h3{font-size:26px;font-weight:650;letter-spacing:-1px;margin:15px 0 12px}.overlay-card p{font-size:12px;line-height:1.9;color:#c0d0c3;margin:0 0 23px}.primary-button{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;border-radius:6px;padding:14px 18px;background:#c5e0ad;color:#183123;font-size:12px;font-weight:750;transition:background .2s,transform .2s}.primary-button:hover{background:#d3ecc0;transform:translateY(-1px)}.primary-button span{font-size:16px;font-weight:400}.overlay-hint{display:block;font-size:9px;letter-spacing:.8px;color:#a5bbaa;margin-top:13px}.board-bottom{position:absolute;left:25px;right:25px;bottom:12px;display:flex;justify-content:space-between;pointer-events:none;font-size:8px;letter-spacing:1.1px;color:#95b39f}.board-bottom span:first-child{letter-spacing:.3px}.game-toolbar{background:#192d28;border-top:1px solid #bde0c315;display:flex;align-items:center;justify-content:space-between;padding:14px 23px;gap:12px}.toolbar-state{font-size:10px;color:#c1d0c4;display:flex;align-items:center;gap:7px}.toolbar-state i{width:5px;height:5px;border-radius:50%;background:#96bd96}.tool-buttons{display:flex;gap:18px}.tool-buttons button{display:flex;gap:6px;align-items:center;border:0;background:none;color:#ccd6cd;font-size:10px;padding:5px 0}.tool-buttons button>span:first-child{font-size:15px;line-height:1}.game-guide{display:flex;justify-content:space-between;gap:15px;margin-top:24px;align-items:flex-end}.guide-label{font-size:8px;letter-spacing:1.4px;color:var(--site-muted);font-weight:700}.game-guide p{font-size:10px;color:var(--site-muted);line-height:2;margin:8px 0 0}kbd{display:inline-block;border:1px solid var(--site-line);padding:0 5px;min-width:20px;border-radius:3px;text-align:center;font-family:inherit;font-size:9px;line-height:19px;margin-right:4px;color:var(--site-ink)}.guide-divider{padding:0 8px;color:var(--site-line)}.personal-best-note{font-size:9px;color:var(--site-muted);white-space:nowrap;padding-bottom:3px}.mobile-instructions{display:none}.credits{border-top:1px solid var(--site-line);margin-top:25px;padding-top:16px;color:var(--site-muted);font-size:10px;line-height:1.9}.credits summary{cursor:pointer;list-style:none}.credits summary::-webkit-details-marker{display:none}.credits summary span{float:right}.credits p{max-width:720px}.credits a{text-decoration:underline;text-underline-offset:3px}.arcade-footer{max-width:1274px;margin:0 auto;padding:20px 0 30px;border-top:1px solid var(--site-line);display:flex;justify-content:space-between;gap:20px;font-size:9px;color:var(--site-muted)}.arcade-footer span:last-child{font-size:8px;letter-spacing:1.5px}@media(min-width:1560px){.playfield{height:550px}}@media(max-width:1100px){.arcade-layout{padding:35px 30px 50px;gap:28px;grid-template-columns:180px minmax(0,1fr)}.personal-best-note{display:none}.scoreboard{padding:19px 22px}.arcade-footer{margin:0 30px}}@media(max-width:760px){.arcade-layout{grid-template-columns:1fr;padding:23px 20px 35px;gap:25px}.library h1{font-size:23px;margin:8px 0 18px}.library h1>span,.library>.eyebrow,.library-foot{display:none}#game-list{display:flex;gap:10px}.game-card{display:flex;align-items:center;max-width:220px;margin:0;padding:8px;border-radius:9px}.mini-art{flex:none;width:49px;height:49px;margin:0;padding:10px 8px 23px;gap:3px;border-radius:4px}.breakout-art i{height:5px}.breakout-art b{width:18px;left:calc(50% - 9px);bottom:6px;height:3px}.breakout-art em{width:4px;height:4px;bottom:13px}.card-copy{padding:0 10px}.card-copy small{font-size:7px}.card-copy strong{font-size:12px;margin:4px 0}.card-copy strong span,.card-copy>span{display:none}.game-heading{margin-bottom:17px}.game-heading h2{font-size:29px;margin-top:11px}.game-badge{padding:7px 9px;font-size:8px;margin:9px 0 0}.playfield{height:clamp(400px,53svh,570px)}.scoreboard{gap:10px;padding:17px 19px}.scoreboard strong{font-size:17px}.scoreboard span{font-size:7px;letter-spacing:1.1px}.game-toolbar{padding:11px 17px}.tool-buttons{gap:14px}.game-guide{margin-top:19px}.game-guide #game-instructions{display:none}.game-guide .mobile-instructions{display:block}.arcade-footer{margin:0 20px}.game-overlay .overlay-card{min-width:260px;padding:23px 27px}.overlay-card h3{font-size:23px}.header-label{margin-left:auto;font-size:10px}.header-section{display:none}.game-machine{border-radius:10px}.board-bottom{left:20px;right:20px}.credits{margin-top:20px}}@media(max-width:380px){.arcade-layout{padding-left:13px;padding-right:13px}.scoreboard>.record-readout{display:none}.game-toolbar{padding:12px}.tool-buttons{gap:12px}.toolbar-state{font-size:9px}.overlay-card{min-width:235px!important}.header-label{font-size:9px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
#maze-canvas{display:block;width:100%;height:100%;outline:none;touch-action:none}#maze-canvas[hidden],#game-canvas[hidden],#hint-button[hidden],.maze-pad[hidden]{display:none}.game-overlay{z-index:3}.maze-art{background:#334535}.maze-art i{position:absolute;inset:21px 33px;border:7px solid #c8c1a8;border-bottom-width:6px;transform:rotate(-7deg);box-shadow:4px 5px 0 #16291f}.maze-art i:before,.maze-art i:after{content:'';position:absolute;background:#c8c1a8}.maze-art i:before{width:7px;height:27px;left:21px;top:0}.maze-art i:after{width:32px;height:6px;right:0;bottom:16px}.maze-art b{width:8px;height:8px;position:absolute;left:48px;bottom:34px;background:#edc06a;border-radius:50%;box-shadow:0 1px 3px #0006}.maze-art em{width:7px;height:7px;position:absolute;right:49px;top:37px;background:#d4eac1;border-radius:50%}.maze-active .lives-readout strong{font-size:16px;letter-spacing:0}.maze-active .playfield{background:#142b25}.maze-pad{display:none;position:absolute;z-index:2;right:18px;bottom:33px;grid-template-columns:repeat(3,39px);grid-template-rows:repeat(2,39px);gap:4px;touch-action:none;user-select:none}.maze-pad button{border:1px solid #dce8d844;background:#d7e4ceeb;color:#243e29;border-radius:8px;font-size:23px;touch-action:none;box-shadow:0 3px 0 #04180f66}.maze-pad button:first-child{grid-column:2}.maze-pad button:nth-child(2){grid-row:2;grid-column:1}.maze-pad button:nth-child(3){grid-row:2;grid-column:2}.maze-pad button:nth-child(4){grid-row:2;grid-column:3}.maze-pad button.pressed,.maze-pad button:active{background:#b3d49b;transform:translateY(2px);box-shadow:none}#hint-button[aria-pressed=true]{color:#d4eb9e;text-decoration:underline;text-underline-offset:4px}@media(max-width:760px),(pointer:coarse){.maze-pad:not([hidden]){display:grid}}@media(max-width:760px){.maze-art i{inset:7px;border-width:4px;transform:rotate(-7deg)}.maze-art i:before{width:4px;height:13px;left:11px;top:0}.maze-art i:after{width:12px;height:4px;bottom:7px}.maze-art b{width:5px;height:5px;left:16px;bottom:16px}.maze-art em{width:4px;height:4px;right:14px;top:14px}}@media(max-width:420px){.maze-active .game-toolbar{flex-wrap:wrap;row-gap:8px}.maze-active .tool-buttons{gap:14px}.maze-active .toolbar-state{font-size:9px}}

@media(max-width:380px){.game-card .mini-art{width:40px}.card-copy{padding:0 6px}.card-copy strong{font-size:11px;white-space:nowrap}.card-copy small{font-size:6px;letter-spacing:.8px;white-space:nowrap}}

/* Leave a clear rally area below the bricks, with an undistorted court. */
body:not(.maze-active) .playfield{width:100%;height:auto;aspect-ratio:720/560;min-height:400px}

.rankings{margin-top:30px;padding-top:25px;border-top:1px solid var(--site-line)}.ranking-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.ranking-heading h3{font-size:18px;letter-spacing:-.6px;margin:8px 0 0}.ranking-heading>button{border:1px solid var(--site-line);background:transparent;color:var(--site-muted);border-radius:50%;width:32px;height:32px;font-size:20px}.ranking-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.85fr);gap:25px;align-items:center}#ranking-list{list-style:none;margin:0;padding:0}.ranking-row{display:flex;align-items:center;gap:12px;padding:14px 2px;border-bottom:1px solid var(--site-line);min-width:0}.ranking-row:last-child{border:0}.ranking-place{font-family:ui-monospace,monospace;font-size:13px;color:var(--site-muted);width:24px}.rank-1 .ranking-place{color:#b59c60}.rank-2 .ranking-place{color:#8a9aaa}.rank-3 .ranking-place{color:#b28c72}.ranking-row strong{font-size:12px;font-weight:550;overflow-wrap:anywhere;min-width:0}.ranking-score{font-family:ui-monospace,monospace;font-size:12px;white-space:nowrap;margin-left:auto;color:var(--site-muted)}.ranking-entry p{font-size:12px;line-height:1.8;margin:0 0 12px}.ranking-entry label{display:block;font-size:10px;color:var(--site-muted);margin-bottom:8px}.nickname-fields{display:flex;gap:7px}.nickname-fields input{min-width:0;flex:1;width:100%;background:var(--site-surface);color:var(--site-ink);border:1px solid var(--site-line);border-radius:6px;padding:11px 10px;font:inherit;font-size:12px}.nickname-fields button,#ranking-retry{border:0;border-radius:6px;background:#c5e0ad;color:#183123;font-size:11px;font-weight:650;white-space:nowrap;padding:11px 12px}.ranking-note{display:block;font-size:9px;line-height:1.7;color:var(--site-muted);margin-top:12px}#ranking-form[hidden],#ranking-retry[hidden]{display:none}@media(max-width:1000px){.ranking-content{grid-template-columns:1fr;gap:15px}}@media(max-width:760px){.rankings{margin-top:24px}.ranking-heading h3{font-size:16px}.nickname-fields input{font-size:16px}}

.launch-prompt{position:absolute;pointer-events:none;left:20px;right:20px;bottom:100px;text-align:center;color:#cbdec0;font-size:12px;line-height:1.8;letter-spacing:.2px}.launch-prompt b{color:#e1eebc}.launch-prompt span{display:block;font-size:9px;color:#93ac9c}.bonus-status{position:absolute;z-index:1;top:12px;left:50%;transform:translateX(-50%);background:#1c352de6;color:#e3eac9;border:1px solid #bcd7ad33;border-radius:20px;padding:6px 12px;font-size:10px;white-space:nowrap;pointer-events:none}.bonus-guide{font-size:10px;line-height:1.8;color:var(--site-muted);margin:15px 0 0}.launch-prompt[hidden],.bonus-status[hidden]{display:none}

.scoreboard #lives.time-low{color:#f5ae91}

.mouse-feedback{font-size:10px;line-height:1.8;color:var(--site-muted);margin:12px 0 0}#mouse-lock-button[hidden],#mouse-feedback[hidden]{display:none}#mouse-lock-button[aria-pressed=true]{color:#d4eb9e}.bonus-status{max-width:calc(100% - 30px);white-space:normal;text-align:center;line-height:1.5}@media(max-width:640px){.game-toolbar{flex-wrap:wrap}.tool-buttons{flex-wrap:wrap;gap:13px}}@media(pointer:coarse){#mouse-lock-button,.mouse-feedback{display:none}}

.arcade-header{display:grid;grid-template-columns:1fr auto 1fr;gap:24px}.arcade-header .brand-lockup{justify-self:start}.arcade-title{display:flex;align-items:center;gap:11px;font-size:11px;font-weight:650;letter-spacing:2.7px;white-space:nowrap}.arcade-mark{display:inline-flex;flex:none;width:28px;height:28px;color:#789887}.arcade-mark svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.arcade-header .home-link{justify-self:end;display:flex;align-items:center;gap:8px;min-height:44px;padding:0 4px;white-space:nowrap}.arcade-header .home-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.library h1>.arcade-mark{display:inline-flex;vertical-align:-4px;margin:0 7px 0 0}@media(max-width:700px){.arcade-header{gap:10px}.arcade-title{font-size:9px;letter-spacing:1.5px;gap:6px}.arcade-title .arcade-mark{width:23px;height:23px}}@media(max-width:365px){.arcade-header{gap:6px}.arcade-header .home-link{gap:3px;letter-spacing:.8px;padding:0}.arcade-title{font-size:8px;letter-spacing:.8px;gap:4px}.arcade-title .arcade-mark{width:20px;height:20px}}

/* Keep the complete board and paddle visible together on laptop displays. */
@media(min-width:761px){.game-detail{width:100%;max-width:min(720px,max(560px,calc((100dvh - 180px)*1.285714)))}}
.library,.game-detail{min-width:0}
@media(max-width:760px){.arcade-layout{grid-template-columns:minmax(0,1fr)}.game-card{flex:1 1 0;min-width:0}.card-copy{min-width:0;padding:0 7px}.card-copy small{letter-spacing:.5px}.tool-buttons{min-width:0}.scoreboard>div{min-width:0}}
@media(max-width:380px){.mini-art{width:40px;height:40px}.card-copy{padding:0 5px}.card-copy small{font-size:6px;letter-spacing:0}.card-copy strong{font-size:11px}}
