:root{color-scheme:dark;--bg:#111310;--panel:#191c17;--panel-2:#20241d;--border:#33382d;--text:#f4f5ee;--muted:#a0a695;--lime:#c6f564;--font:Arial,"Malgun Gothic","Apple SD Gothic Neo",sans-serif;font-family:var(--font);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:16px;-webkit-font-smoothing:antialiased}button,a,canvas{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button{border:1px solid var(--border);background:var(--panel)}button:hover:not(:disabled){border-color:#6b7758;background:#282e22}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--lime);outline-offset:4px}button:disabled{opacity:.38;cursor:default}a{color:inherit;text-decoration:none}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}button svg{flex-shrink:0}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.app-shell{max-width:1456px;padding:0 48px;margin:auto}.topbar{height:110px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border)}.brand{display:flex;gap:12px;align-items:center;font-weight:900;font-size:23px;letter-spacing:-1px;line-height:1}.brand>span:last-child{position:relative}.brand-time{color:var(--lime)}.brand small{display:block;font-size:12px;color:var(--muted);letter-spacing:2.5px;font-weight:500;margin-top:9px}.brand-mark{width:46px;height:46px;background:var(--lime);border-radius:12px;display:grid;place-items:center}.brand-mark svg{fill:var(--bg);stroke:none;width:30px;height:30px}.header-end{display:flex;align-items:center;gap:10px}.edition{font-size:12px;letter-spacing:2px;color:var(--muted);margin-right:24px}.icon-button{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:transparent}.layout{display:grid;grid-template-columns:236px minmax(0,1fr);gap:56px;padding-top:38px}.section-label{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:14px;letter-spacing:.3px}.library>.section-label{margin:3px 0 18px}.library>.section-label>span{font-family:monospace;color:#d1d6c9}.game-list{display:grid;gap:12px}.game-card{position:relative;display:grid;text-align:left;border-radius:12px;padding:18px;overflow:hidden;min-height:161px;transition:border-color .15s,transform .15s;background:#181b16}.game-card:hover{transform:translateY(-2px)}.game-card.selected{border-color:var(--lime);background:#242c1d;box-shadow:inset 3px 0 0 var(--lime)}.game-art{height:64px;display:block}.game-art canvas{width:112px;height:70px;margin:-9px 0 0 -10px}.game-card-copy{display:grid;gap:6px}.game-card-copy strong{font-size:19px;letter-spacing:-.5px}.game-card-copy small{font-size:12px;color:var(--muted)}.selected .game-card-copy strong{color:var(--lime)}.game-number{position:absolute;right:17px;top:19px;font:12px monospace;color:#818a77}.selected .game-number{color:var(--lime)}.library-foot{margin-top:42px;color:var(--muted)}.tiny-cross{font-size:30px;color:var(--lime)}.library-foot p{font-size:14px;line-height:1.9}.library-foot strong{color:var(--text);font-weight:500}.vertical-line{display:block;height:38px;width:1px;background:var(--border);margin:23px 0}.library-foot small{font-size:10px;letter-spacing:1.5px}.game-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 24px;min-height:65px}.eyebrow{font-family:monospace;font-size:12px;color:var(--lime);letter-spacing:1.5px;margin-bottom:10px}h1{font-size:32px;letter-spacing:-1.5px;margin:0;line-height:1.25}h1 span{font-size:14px;color:var(--muted);font-weight:400;letter-spacing:2px;margin-left:15px}.play-tag{font-size:12px;border:1px solid var(--border);padding:9px 12px;border-radius:25px;color:#c4cbbb}.arcade{display:grid;grid-template-columns:minmax(260px,1fr) 230px;gap:32px;padding:24px 28px;background:var(--panel);border:1px solid var(--border);border-radius:18px}.play-column{max-width:380px;width:100%;margin:0 auto;align-self:start}.board-topline,.board-bottomline{display:flex;align-items:center;justify-content:space-between;font-family:monospace;font-size:10px;color:#929c84;letter-spacing:1px}.board-topline{margin-bottom:12px}.state-label{font-size:11px;color:var(--lime);letter-spacing:1px}.board-wrap{position:relative;width:min(100%,280px);margin:auto;background:#10130e;border:1px solid #3b4333;border-radius:5px;overflow:hidden;isolation:isolate}.board-wrap canvas{display:block;width:100%;height:auto;aspect-ratio:1/2;touch-action:none}.board-wrap.square{width:100%;max-width:390px;margin-top:48px;margin-bottom:48px}.board-wrap.square canvas{aspect-ratio:1}.board-bottomline{margin-top:12px;font-size:9px;letter-spacing:.4px;gap:8px}.game-overlay{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(180deg,#10130e48,#10130eee 45%,#10130ea8);padding:20px;text-align:center;z-index:1}.game-overlay[hidden]{display:none}.overlay-content{width:100%}.overlay-kicker{color:var(--lime);font:11px monospace;letter-spacing:2px}h2{font-size:30px;line-height:1.5;letter-spacing:-1px;margin:18px 0 12px}.overlay-content p{font-size:13px;color:#b3bca5;line-height:1.7;margin:0 0 24px;word-break:keep-all}.primary-button{background:var(--lime);color:#17200e;font-weight:700;border:1px solid var(--lime);border-radius:7px;min-height:48px;display:flex;align-items:center;justify-content:center;gap:26px;padding:12px 20px}.primary-button:hover:not(:disabled){background:#d7ff83;color:#0d1606;border-color:#d7ff83;transform:translateY(-1px)}.overlay-content .primary-button{width:100%}.overlay-content>small{display:block;color:#89977d;font-size:11px;margin-top:16px}.game-sidebar{display:flex;flex-direction:column;min-width:0}.score-card{padding:3px 0 18px;border-bottom:1px solid var(--border)}.score-value{display:block;font-size:50px;line-height:1.4;letter-spacing:-2px;font-weight:500;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.best-line{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}.best-line span{color:var(--muted);display:flex;align-items:center;gap:7px}.best-line svg{width:16px;height:16px;color:var(--lime)}.best-line strong{font-weight:500;font-variant-numeric:tabular-nums}.game-metrics{display:grid;grid-template-columns:1fr 1fr;padding:20px 0}.game-metrics>div{display:grid;gap:9px}.game-metrics>div+div{padding-left:23px;border-left:1px solid var(--border)}.game-metrics span{font-size:13px;color:var(--muted)}.game-metrics strong{font-size:24px;font-weight:500;font-variant-numeric:tabular-nums}.next-card{background:#12160f;border:1px solid #303827;border-radius:9px;padding:14px 16px;margin:0 0 18px}.next-card canvas{width:100%;max-height:66px;object-fit:contain;display:block}.next-card[hidden]{display:none}.session-actions{display:flex;gap:8px}.session-actions button{border-radius:7px;display:flex;align-items:center;justify-content:center;gap:9px;height:43px;font-size:13px}.session-actions button:first-child{flex:1}.session-actions button:last-child{width:43px}.session-actions svg{width:17px;height:17px}.controls-guide{margin-top:26px}.controls-guide>.section-label{margin-bottom:17px;font-size:13px}.controls-guide p{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#aeb7a3;margin:10px 0}.controls-guide p>span{display:flex;gap:4px}kbd{font:12px var(--font);border:1px solid #455038;box-shadow:0 2px 0 #343d2b;border-radius:4px;min-width:25px;height:24px;text-align:center;display:inline-grid;place-items:center;color:#ced6c4;background:#232b1c}.wide{padding:0 8px;font-size:9px}.local-note{color:#88917e;font-size:11px;margin:22px 0 0;line-height:1.7}.touch-controls{display:flex;justify-content:center;gap:10px;margin-top:18px}.touch-controls button{display:grid;place-items:center;width:58px;height:44px;border-radius:7px;font-size:22px;touch-action:none;user-select:none}.touch-controls button:active{background:var(--lime);color:#111310}.touch-controls .accent-control{border-color:#61733e;color:var(--lime);margin-left:8px;width:70px}.mobile-hint{font-size:11px;color:#89927f;text-align:center;margin:12px 0 0}footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);margin-top:36px;padding:24px 0;color:#859078;font-size:10px;letter-spacing:1px}footer span:nth-child(2){font-size:12px;letter-spacing:0}dialog{background:#1c2117;color:var(--text);border:1px solid #465237;border-radius:18px;padding:36px;width:min(460px,calc(100% - 32px));box-shadow:0 24px 120px #0008}dialog::backdrop{background:#070a05cc;backdrop-filter:blur(5px)}dialog h2{font-size:25px;margin:15px 0}dialog p,dialog li{font-size:15px;line-height:1.8;color:#b8c2ac}dialog ul{padding-left:20px}.dialog-close{position:absolute;top:15px;right:15px}.dialog-done{margin-top:28px;width:100%}.dialog-actions{display:flex;gap:10px;margin-top:24px}.dialog-actions>button{flex:1;border-radius:7px;padding:12px;font-size:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}button:disabled:hover{transform:none}
@media(min-width:1400px){.app-shell{padding:0 72px}.layout{gap:64px}.arcade{padding:28px 40px;grid-template-columns:minmax(280px,1fr) 240px;gap:42px}.board-wrap{width:280px}}
@media(max-width:1100px){.app-shell{padding:0 28px}.layout{grid-template-columns:190px 1fr;gap:28px}.arcade{padding:20px;grid-template-columns:minmax(210px,1fr) 190px;gap:22px}.game-card{padding:14px}.play-tag{display:none}.board-bottomline span:last-child{display:none}.edition{display:none}.game-card-copy small{font-size:11px}.score-value{font-size:42px}}
@media(max-width:800px){.app-shell{padding:0 20px;max-width:640px}.topbar{height:82px}.brand{font-size:20px}.brand-mark{width:40px;height:40px}.brand small{font-size:10px;margin-top:6px}.layout{display:block;padding-top:23px}.library>.section-label{font-size:12px;margin-bottom:12px}.game-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.game-card{min-height:104px;padding:12px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border-radius:9px}.game-card.selected{box-shadow:inset 0 -3px 0 var(--lime)}.game-art{height:37px}.game-art canvas{width:75px;height:47px;margin:-8px 0 0}.game-card-copy strong{font-size:15px;letter-spacing:-.5px}.game-card-copy small,.game-number,.library-foot{display:none}.game-heading{margin:24px 0 17px;min-height:50px}.eyebrow{font-size:10px;margin-bottom:8px}h1{font-size:27px}h1 span{font-size:11px;margin-left:11px}.arcade{grid-template-columns:minmax(160px,1fr) 140px;gap:16px;padding:16px;border-radius:12px}.board-topline{font-size:9px;letter-spacing:.3px}.state-label{font-size:9px}.board-wrap{max-width:260px;width:100%}.game-sidebar .section-label{font-size:11px}.score-value{font-size:34px;letter-spacing:-1px}.best-line{font-size:10px;gap:3px}.best-line span{gap:4px}.best-line svg{width:13px;height:13px}.game-metrics{padding:15px 0}.game-metrics>div{gap:6px}.game-metrics>div+div{padding-left:14px}.game-metrics span{font-size:11px}.game-metrics strong{font-size:20px}.next-card{padding:12px;margin-bottom:12px}.next-card canvas{max-height:45px}.session-actions{gap:5px}.session-actions button{height:36px;gap:4px;font-size:11px}.session-actions button:last-child{width:35px}.session-actions svg{width:15px;height:15px}.controls-guide{margin-top:18px}.controls-guide>.section-label{margin-bottom:12px}.controls-guide p{font-size:10px;gap:6px;margin:9px 0}kbd{min-width:20px;height:20px;font-size:10px}.wide{font-size:8px;padding:0 5px}.local-note{font-size:9px;margin-top:13px}.game-overlay{padding:16px}.overlay-kicker{font-size:9px}h2{font-size:25px;margin:13px 0}.overlay-content p{font-size:11px;margin-bottom:18px}.primary-button{font-size:14px;gap:15px;min-height:43px;padding:10px 13px}.overlay-content>small{font-size:9px}.board-bottomline{font-size:8px}.touch-controls button{height:49px;width:55px}.touch-controls{margin-top:16px}.board-wrap.square{margin-top:30px;margin-bottom:30px}footer{margin-top:28px;padding:20px 0;font-size:9px}footer span:last-child{display:none}footer span:nth-child(2){font-size:10px}}
@media(max-width:440px){.app-shell{padding:0 16px}.header-end{gap:6px}.icon-button{width:36px;height:36px}.arcade{grid-template-columns:minmax(0,1fr) 105px;gap:12px;padding:12px}.controls-guide{display:none}.game-sidebar .section-label{font-size:10px}.score-value{font-size:29px;margin:3px 0 9px}.best-line{display:block}.best-line strong{display:block;margin:5px 0 0 19px}.score-card{padding-bottom:12px}.game-metrics>div+div{padding-left:9px}.game-metrics span{font-size:10px}.game-metrics strong{font-size:18px}.session-actions{flex-wrap:wrap}.session-actions button:first-child{flex-basis:100%}.session-actions button:last-child{width:100%}.next-card{padding:10px 8px}.next-card canvas{max-height:40px}.overlay-content h2{font-size:23px;line-height:1.4}.overlay-content p{font-size:11px}.game-overlay{padding:12px}.overlay-content>small{font-size:8px}.primary-button{font-size:13px;gap:8px}.board-bottomline{font-size:7px}.local-note{font-size:9px;word-break:keep-all}.game-card{min-height:92px}.game-heading{margin-top:21px}.board-wrap.square{margin:10px 0}.touch-controls{gap:7px}.touch-controls button{width:48px;height:46px}.touch-controls .accent-control{width:58px;margin-left:4px}}
.is-square{min-height:560px}.is-square .play-column{align-self:center}.is-square .game-sidebar{justify-content:flex-start}.is-square .controls-guide{margin-top:34px}
@media(max-width:800px){.is-square{min-height:0}.is-square .play-column{align-self:start}.is-square .controls-guide{margin-top:20px}}
@media(max-width:600px){.arcade.is-square{display:flex;flex-direction:column;gap:16px}.is-square .play-column{max-width:none}.is-square .board-wrap{margin:0 auto;max-width:400px}.is-square .board-bottomline{margin-top:10px}.is-square .game-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:12px}.is-square .score-card{border:0;padding:0}.is-square .score-value{font-size:30px;line-height:1.2;margin:4px 0}.is-square .best-line{display:flex;justify-content:flex-start;gap:12px}.is-square .best-line strong{display:inline;margin:0}.is-square .game-metrics{padding:0;align-content:center}.is-square .session-actions{grid-column:1/-1;flex-wrap:nowrap}.is-square .session-actions button:first-child{flex-basis:auto}.is-square .session-actions button:last-child{width:44px}.is-square .local-note{grid-column:1/-1;margin:0;font-size:10px}.is-square .controls-guide{display:none}.is-square .overlay-content{max-width:240px}.is-square .overlay-content h2{font-size:29px}.is-square .overlay-content p{font-size:13px}.is-square .primary-button{font-size:15px;min-height:46px}.is-square .overlay-content>small{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* Keep small-screen labels readable while reserving space for the board. */
.game-card-copy small,.local-note,.mobile-hint,.library-foot small,footer,.board-topline,.board-bottomline,.state-label,.overlay-kicker,.overlay-content>small{font-size:12px}
.section-label,.best-line,.game-metrics span,.session-actions button,.controls-guide>.section-label,.controls-guide p{font-size:14px}
.overlay-content p{font-size:14px}.board-bottomline span:last-child{display:none}.board-topline{letter-spacing:0}.board-bottomline{letter-spacing:0}
@media(max-width:800px){.game-sidebar .section-label,.game-metrics span,.session-actions button,.best-line,.local-note,.overlay-content>small,.overlay-kicker,.mobile-hint,.game-heading .eyebrow{font-size:12px}.controls-guide{display:none}.overlay-content p{font-size:12px}.board-topline,.board-bottomline,.state-label{font-size:12px}.board-topline{gap:8px}.board-topline>span:first-child{letter-spacing:-.5px}.overlay-content h2{font-size:24px}.game-heading{min-height:54px}.is-square .local-note{font-size:12px}.is-square .overlay-content p{font-size:14px}footer span:nth-child(2){font-size:12px}.local-note{margin-top:14px}.next-card{margin-bottom:14px}}
@media(max-width:360px){.app-shell{padding:0 12px}.arcade{grid-template-columns:minmax(0,1fr) 90px;gap:10px;padding:10px}.overlay-content h2{font-size:20px}.overlay-content>small{display:none}.game-overlay{padding:10px}.overlay-content p{font-size:12px}.primary-button{padding:9px 8px;gap:4px}.brand{font-size:18px;gap:8px}.brand-mark{width:34px;height:34px}.header-end{gap:4px}.local-note{font-size:12px}.game-metrics>div+div{padding-left:6px}.game-metrics strong{font-size:18px}footer span:nth-child(2){display:none}}

/* Enjoy Time wordmark */
.brand{letter-spacing:-.7px;font-weight:800}.brand small{letter-spacing:1px}.brand-mark svg{width:32px;height:32px}
