@font-face{font-family:Galmuri11;src:url('/assets/fonts/Galmuri11.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Galmuri11;src:url('/assets/fonts/Galmuri11-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{color-scheme:dark;--bg:#000;--fg:#f8fafc;--muted:#9aa1ac;--line:#303236;--panel:#080808;--raised:#191919;--strong-line:#73777d;--board:#181818;--selected:#3a3a3a;--mono:'Galmuri11','Courier New',monospace;--sans:'Galmuri11','Malgun Gothic',system-ui,sans-serif}
:root[data-theme=light]{color-scheme:light;--bg:#fff;--fg:#111;--muted:#555b64;--line:#d1d1d1;--panel:#fafafa;--raised:#ededed;--strong-line:#777;--board:#eee;--selected:#ccc}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);line-height:1.7;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:5px}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}button,input{border-radius:0}button{background:none;border:1px solid var(--line)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.2;word-break:keep-all}p,.rules li{word-break:keep-all;overflow-wrap:break-word}::selection{background:var(--fg);color:var(--bg)}:focus-visible{outline:2px solid var(--fg);outline-offset:4px}main:focus{outline:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:fixed;top:8px;left:8px;transform:translateY(-150%);background:var(--fg);color:var(--bg);padding:12px 20px;z-index:100}.skip:focus{transform:none}.mono,.eyebrow{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.12em}.eyebrow{color:var(--muted);margin-bottom:20px}.muted{color:var(--muted)}.small{font-size:13px}.wrap{width:min(1200px,calc(100% - 64px));margin-inline:auto}.announcement{min-height:36px;display:flex;align-items:center;justify-content:space-between;padding:5px 32px;background:var(--fg);color:var(--bg);font-size:12px;letter-spacing:.08em}.site-header{height:60px;display:flex;align-items:stretch;position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line);padding-inline:32px}.brand{font-size:18px;font-weight:800;letter-spacing:-.02em;display:flex;gap:12px;align-items:center;text-decoration:none;margin-right:auto;white-space:nowrap}.mark{font-size:17px;display:grid;place-items:center;border:1px solid var(--fg);height:30px;width:30px}.navigation{display:flex}.navigation a{padding:0 24px;border-left:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:13px;text-decoration:none}.navigation a:last-child{border-right:1px solid var(--line)}.navigation a[aria-current]{background:var(--fg);color:var(--bg)}.theme-toggle,.menu-toggle{font:700 11px var(--mono);letter-spacing:.07em;padding:0 14px;margin:10px 0 10px 16px;min-height:40px;border-color:var(--strong-line)}.menu-toggle{display:none}.hero{text-align:center;padding:52px 24px 48px;border-bottom:1px solid var(--line)}.hero .eyebrow{margin-bottom:22px}.hero-title{font-family:'Arial Black',Arial,sans-serif;font-weight:900;letter-spacing:.02em;font-size:clamp(46px,7vw,90px);line-height:.94;max-width:850px;margin:auto}.hero-title span{display:block;transform:scaleX(1.07)}.hero-description{font-size:18px;line-height:1.85;color:var(--muted);max-width:672px;margin:28px auto 26px}.hero-actions{display:flex;gap:12px;justify-content:center}.button{border:1px solid var(--strong-line);display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;text-decoration:none;font:700 13px/1.5 var(--mono);letter-spacing:.07em;background:var(--bg);color:var(--fg);text-align:center}.button.primary{background:var(--fg);color:var(--bg);border-color:var(--fg)}.section{padding-block:64px 80px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:32px}.section-heading .eyebrow{margin-bottom:12px}.section-heading h2,.profile-strip h2{font-size:clamp(30px,4vw,48px);letter-spacing:-.04em}.section-heading>p{font-size:14px;color:var(--muted)}.game-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.game-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;text-decoration:none;min-width:0;background:var(--panel)}.card-top{padding:15px 20px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);color:var(--muted)}.game-preview{padding:16px;display:grid;place-items:center;border-bottom:1px solid var(--line);background:repeating-linear-gradient(45deg,transparent,transparent 3px,var(--line) 3px,var(--line) 4px);background-size:5px 5px}.game-preview svg{display:block;width:100%;max-width:190px;height:auto;border:1px solid #444}.card-copy{padding:24px 20px;display:flex;flex:1;flex-direction:column}.card-copy>.mono{font-size:10px;color:var(--muted);margin-bottom:8px}.card-copy h3{font-size:32px;margin-bottom:14px;font-weight:700}.card-copy>p:not(.mono){font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:24px}.card-play{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px;margin-top:auto;font-size:13px;font-weight:700}.profile-strip{border-top:1px solid var(--line);padding-block:64px 80px;display:grid;grid-template-columns:1fr 2fr;gap:40px}.profile-strip p:not(.eyebrow){margin-block:24px;max-width:640px;color:var(--muted);font-size:16px}.site-footer{padding:48px 32px;border-top:1px solid var(--line);display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;font-size:13px;background:var(--panel)}.footer-brand{font-size:22px;font-weight:800;text-decoration:none}.site-footer p{color:var(--muted);margin-top:16px}.site-footer nav{display:grid;gap:10px;align-content:start}.site-footer nav a{min-height:30px}.footer-note{color:var(--muted);justify-self:end;line-height:2}.page-heading{padding-block:0 36px}.page-heading h1{font-size:clamp(36px,5vw,64px);letter-spacing:-.04em;margin-bottom:20px}.intro{font-size:18px;color:var(--muted);max-width:760px;line-height:1.9}.collection-note{margin-top:28px;color:var(--muted)}.article{max-width:960px;padding-block:72px 96px}.article section{border-top:1px solid var(--line);padding-block:40px;margin-top:24px}.article h2{font-size:28px;margin-bottom:24px}.article p+p{margin-top:20px}.article section>p{max-width:760px}.editorial{display:grid;grid-template-columns:1fr 2fr;gap:40px;border-top:1px solid var(--line);padding-block:48px}.editorial h2{font-size:36px}.editorial p{color:var(--muted)}.editorial .button{margin-top:28px}.project-list{border-top:1px solid var(--line)}.project-list a{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:22px 0;text-decoration:none}.project-list strong{display:block;font-size:18px}.project-list a>span>span{display:block;color:var(--muted);font-size:14px;margin-top:4px}.project-list a>span:last-child{font-size:24px}.timeline>div{display:grid;grid-template-columns:150px 1fr;gap:32px;padding:24px 0;border-bottom:1px solid var(--line)}.timeline .mono{color:var(--muted)}.timeline h3{font-size:20px;margin-bottom:10px}.timeline p{color:var(--muted);font-size:15px}.skills{margin:0}.skills>div{display:grid;grid-template-columns:150px 1fr;gap:32px;padding:22px 0;border-bottom:1px solid var(--line)}.skills dt{font-weight:700}.skills dd{margin:0;color:var(--muted)}.article .skills>div>dt,.article .skills>div>dd{min-width:0;overflow-wrap:anywhere}.policy{max-width:850px}.policy h2{font-size:24px}.policy p{font-size:15px}.error-page{padding-block:100px 140px}.error-page h1{font-size:clamp(36px,5vw,64px);margin-bottom:28px}.error-page p{margin-bottom:32px;color:var(--muted)}.error-page .hero-actions{justify-content:flex-start}.game-page{padding-block:32px 80px}.back-link{font:13px var(--mono);display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:var(--muted);margin-bottom:16px}.game-page .page-heading{padding-bottom:24px}.game-page .page-heading h1{font-size:44px;margin-bottom:10px}.game-page .intro{font:13px var(--mono);letter-spacing:.04em}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start}.game-panel{border:1px solid var(--line);background:var(--panel);min-width:0}.panel-title{display:flex;justify-content:space-between;gap:16px;padding:14px 24px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.meters{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.meters>div{padding:16px 24px;min-width:0}.meters>div+div{border-left:1px solid var(--line)}.meters span{display:block;font:11px/1.5 var(--mono);color:var(--muted)}.meters strong{font-family:var(--mono);font-size:22px;line-height:1.6;display:block;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.meters strong span{display:inline;font:inherit;color:inherit}.meters small{font:12px var(--mono);color:var(--muted)}.game-status{font-size:14px;padding:18px 24px;min-height:64px;line-height:1.8;overflow-wrap:anywhere}.board-wrap{padding:0 24px 24px}.board{width:100%;margin-inline:auto;user-select:none;-webkit-user-select:none}.board-row{display:contents}.board-cell{min-width:0;min-height:0}.board-cell button{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:0;line-height:1;font-family:var(--mono);font-weight:700;position:relative}.board-cell button:disabled{opacity:1}.board-cell button:focus-visible{outline:2px solid var(--fg);outline-offset:-3px;z-index:2}.mines-board{display:grid;grid-template-columns:repeat(9,1fr);aspect-ratio:1;max-width:414px;border:1px solid var(--strong-line);background:var(--line);gap:1px}.mines-board button{background:var(--raised);border:1px solid var(--strong-line);font-size:20px}.mines-board button[data-open=true]{background:var(--bg);border-color:transparent}.mines-board button[data-flag=true]{background:var(--fg);color:var(--bg)}.mines-board button[data-hit=true]{outline:3px double var(--fg);outline-offset:-5px}.game-controls{display:flex;flex-wrap:wrap;gap:12px;padding:20px 24px;border-top:1px solid var(--line)}.game-controls .button{flex:1;font-size:12px;padding-inline:14px}.game-controls button[aria-pressed=true]{background:var(--fg);color:var(--bg)}.rules{padding-top:16px}.rules h2{font-size:24px}.rules ol{padding-left:20px;font-size:14px;color:var(--muted);line-height:1.9}.rules li{padding-left:8px;margin-bottom:18px}.rules li::marker{font-family:var(--mono);color:var(--fg)}.local-note{border-top:1px solid var(--line);padding-top:24px;margin-block:24px;color:var(--muted);font-size:13px}.rules .button{width:100%;font-size:12px}.omok-board{display:grid;grid-template-columns:repeat(15,1fr);aspect-ratio:1;max-width:540px;background:var(--board);padding:9px;border:1px solid var(--strong-line)}.omok-board button{border:0;isolation:isolate}.omok-board button::before,.omok-board button::after{content:'';position:absolute;background:var(--strong-line);z-index:-1}.omok-board button::before{width:100%;height:1px;left:0;top:50%}.omok-board button::after{width:1px;height:100%;left:50%;top:0}.omok-board .stone{width:80%;height:80%;border-radius:50%;border:1px solid #999;position:relative}.stone.black{background:#030303}.stone.white{background:#fafafa}.omok-board button[data-last=true] .stone::after{content:'';position:absolute;width:5px;height:5px;background:#777;top:calc(50% - 2.5px);left:calc(50% - 2.5px)}.omok-board button[data-selected=true]{outline:2px dashed var(--fg);outline-offset:-2px}.placement{margin-top:18px;display:flex;gap:12px;align-items:center;justify-content:space-between}.placement p{font-size:11px;color:var(--muted)}.placement .button{padding-inline:12px;font-size:12px}.sudoku-board{display:grid;grid-template-columns:repeat(9,1fr);max-width:450px;aspect-ratio:1;border:2px solid var(--fg);background:var(--board)}.sudoku-board .board-cell{border-right:1px solid var(--strong-line);border-bottom:1px solid var(--strong-line)}.sudoku-board [data-col="2"],.sudoku-board [data-col="5"]{border-right:2px solid var(--fg)}.sudoku-board [data-row="2"],.sudoku-board [data-row="5"]{border-bottom:2px solid var(--fg)}.sudoku-board [data-col="8"]{border-right:0}.sudoku-board [data-row="8"]{border-bottom:0}.sudoku-board button{border:0;font-size:23px;font-weight:400}.sudoku-board button[data-clue=true]{font-weight:900;background:var(--raised)}.sudoku-board button[data-selected=true]{background:var(--fg);color:var(--bg);outline:2px solid var(--fg);outline-offset:0;z-index:1}.sudoku-board button[data-conflict=true]{background-image:repeating-linear-gradient(135deg,transparent,transparent 4px,#8884 4px,#8884 6px);text-decoration:underline double;text-underline-offset:4px}.keypad{max-width:450px;margin:22px auto 0;display:grid;grid-template-columns:repeat(9,1fr);gap:4px}.keypad button{min-height:44px;font:700 18px var(--mono);padding:0;border-color:var(--strong-line)}.keypad .erase{grid-column:span 9;font:13px var(--mono)}.tiles-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:8px;background:var(--line);max-width:420px;aspect-ratio:1;touch-action:none}.tile{display:grid;place-items:center;min-width:0;background:var(--raised);border:1px solid var(--strong-line);font-family:var(--mono);font-weight:700;font-size:clamp(20px,3.5vw,38px);line-height:1}.tile[data-level="1"]{background:#ddd;color:#111}.tile[data-level="2"]{background:#b7b7b7;color:#111}.tile[data-level="3"]{background:#888;color:#000}.tile[data-level="4"]{background:#555;color:#fff}.tile[data-level="5"]{background:#222;color:#fff;border:3px double #ccc}.tile[data-level="6"]{background:#fff;color:#000;border:4px double #000;font-size:clamp(17px,3vw,30px)}.direction-pad{margin:22px auto 0;display:grid;grid-template-columns:repeat(3,52px);grid-template-rows:repeat(2,48px);gap:6px;justify-content:center}.direction-pad button{font:24px var(--mono);border-color:var(--strong-line)}.direction-pad [data-direction=up]{grid-column:2}.direction-pad [data-direction=left]{grid-column:1;grid-row:2}.direction-pad [data-direction=down]{grid-column:2;grid-row:2}.direction-pad [data-direction=right]{grid-column:3;grid-row:2}#storage-note{text-align:center;margin-top:16px}.notice{border:1px solid var(--strong-line);padding:20px;margin-block:16px}
@media(hover:hover){.button:not(:disabled):hover{background:var(--raised);color:var(--fg)}.button.primary:hover{background:var(--fg);color:var(--bg);opacity:.8}.navigation a:not([aria-current]):hover,.theme-toggle:hover,.menu-toggle:hover{background:var(--raised)}.game-card:hover{background:var(--raised)}.game-card:hover .card-play{text-decoration:underline}.project-list a:hover strong{text-decoration:underline}.board-cell button:not([aria-disabled=true]):hover{box-shadow:inset 0 0 0 2px var(--strong-line)}.keypad button:hover,.direction-pad button:hover{background:var(--raised)}}
@media(max-width:1000px){.game-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.game-layout{grid-template-columns:minmax(0,1fr) 260px;gap:28px}.navigation a{padding-inline:18px}.game-preview svg{max-width:210px}.hero-title{font-size:clamp(46px,8vw,80px)}}
@media(max-width:760px){.wrap{width:calc(100% - 32px)}.announcement{padding-inline:16px;font-size:10px;min-height:32px}.announcement .mono{font-size:9px;letter-spacing:.05em}.site-header{padding-inline:16px;height:60px}.brand{font-size:16px;gap:8px}.mark{width:26px;height:26px;font-size:15px}.theme-toggle,.menu-toggle{margin-left:8px;padding-inline:10px;min-width:44px}.navigation{position:absolute;top:59px;left:0;right:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:var(--bg);border-bottom:1px solid var(--strong-line);padding:8px 16px}.navigation a{min-height:48px;border:1px solid var(--line);margin:-1px 0 0 -1px}.navigation[data-collapsed=true]{display:none}.menu-toggle:not([hidden]){display:block}.site-header:has(.menu-toggle[hidden]){height:auto;flex-wrap:wrap}.site-header:has(.menu-toggle[hidden]) .navigation{position:static;order:3;width:100%}.hero{padding:44px 20px 40px}.hero-title{font-size:clamp(30px,9.8vw,60px);line-height:1;letter-spacing:.01em}.hero-title span{transform:scaleX(1.03)}.hero .eyebrow{font-size:10px;letter-spacing:.08em}.hero-description{font-size:15px;line-height:1.9;margin-block:24px}.hero-actions{flex-direction:column;max-width:360px;margin-inline:auto}.hero-actions .button{width:100%}.section{padding-block:44px 56px}.section-heading{display:block;margin-bottom:24px}.section-heading>p{margin-top:18px;font-size:13px}.game-layout{grid-template-columns:minmax(0,1fr);gap:24px}.game-page{padding-top:16px}.game-page .page-heading h1{font-size:36px}.game-page .page-heading{padding-bottom:22px}.rules{padding:24px 0;border-top:1px solid var(--line)}.rules .button{width:auto}.profile-strip{grid-template-columns:1fr;gap:12px;padding-block:44px}.profile-strip h2{font-size:30px}.site-footer{padding:32px 16px;grid-template-columns:1fr 1fr;gap:32px 20px}.site-footer>div{grid-column:span 2}.footer-note{font-size:10px}.site-footer nav a{min-height:36px}.article{padding-block:44px 56px}.page-heading h1{font-size:36px}.intro{font-size:16px}.editorial{grid-template-columns:1fr;gap:12px;padding-block:32px}.editorial h2{font-size:28px}.timeline>div,.skills>div{grid-template-columns:1fr;gap:10px}.article h2{font-size:24px}.game-controls{padding:16px}.board-wrap{padding:0 16px 20px}.game-status{padding:16px;min-height:70px}.meters>div{padding:14px 16px}.meters strong{font-size:18px}.meters .meter-text{font-family:var(--sans);font-size:16px;line-height:1.8;word-break:keep-all;overflow-wrap:normal}body[data-game=omok] .meters{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}body[data-game=sudoku] .meters{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}.panel-title{padding:12px 16px;font-size:10px}.placement{flex-wrap:wrap}.placement .button{flex:1}.error-page{padding-block:64px}.error-page .hero-actions{margin-left:0}.keypad{gap:5px;grid-template-columns:repeat(5,minmax(0,1fr))}.keypad .erase{grid-column:auto}.sudoku-board button{font-size:21px}.mines-board button{font-size:18px}}
@media(max-width:480px){.game-gallery{grid-template-columns:1fr}.game-preview{padding:20px}.game-preview svg{max-width:210px}.card-copy{padding:24px}.card-copy h3{font-size:32px}.game-card .card-top{padding-inline:24px}.collection-note{font-size:10px}.tiles-board{gap:6px;padding:6px}.tile{font-size:29px}.tile[data-level="6"]{font-size:clamp(12px,4.5vw,23px)}.omok-board{padding:6px}.omok-board .stone{width:85%;height:85%}.keypad button{font-size:16px}.sudoku-board button{font-size:20px}}
.game-page{max-width:680px}.game-layout{display:block;max-width:680px;margin-inline:auto}.game-page>.page-heading,.game-page>.back-link{max-width:680px}.game-page>.page-heading{margin-inline:auto}.control-note{font-size:12px;color:var(--muted);padding:0 24px 20px;line-height:1.9}.game-controls{align-items:end}.difficulty-label{font-size:12px;display:grid;gap:4px;flex:1;min-width:120px}.difficulty-label select{font:14px var(--sans);border:1px solid var(--strong-line);border-radius:0;min-height:48px;padding:8px 12px;background:var(--bg);color:var(--fg);width:100%}.tiles-board{position:relative}.moving-tile{position:absolute;pointer-events:none;z-index:3;will-change:transform}.project-group{margin-top:32px}.project-group h3{font:700 14px var(--mono);margin-bottom:12px}.home-tool{padding-bottom:64px}.tool-link{display:flex;align-items:center;gap:32px;justify-content:space-between;border-block:1px solid var(--line);padding:32px 0;text-decoration:none}.tool-link>div{flex:1}.tool-link h2{font-size:28px;margin-bottom:12px}.tool-link p{color:var(--muted);font-size:14px}.tool-link>span:last-child{font-size:28px}.tool-link:hover h2{text-decoration:underline;text-underline-offset:8px}.clock-page{padding-block:32px 80px;max-width:1100px}.clock-status{font-size:14px;margin-bottom:20px}.clock-status:empty{display:none}.clock-searches{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:32px}.city-search{min-width:0}.city-search>label{display:block;margin-bottom:10px;font-size:14px;font-weight:700}.city-search input{font:16px var(--sans);background:var(--panel);color:var(--fg);border:1px solid var(--strong-line);min-height:52px;padding:12px;width:100%;border-radius:0}.city-search input:disabled{opacity:.5}.city-search>p{font-size:12px;line-height:1.8}.city-search>p:not(:empty):not(.sr-only){margin-top:8px}.city-results{list-style:none;padding:0;margin:12px 0 0;max-height:280px;overflow:auto;border:1px solid var(--strong-line);scroll-padding:8px}.city-results li+li{border-top:1px solid var(--line)}.city-results button{display:block;width:100%;min-height:64px;padding:12px;text-align:left;border:0;background:var(--panel);line-height:1.7;overflow-wrap:anywhere}.city-results strong{font-size:14px;display:block;word-break:keep-all}.city-results button span{display:block;font:12px/1.9 var(--mono);color:var(--muted)}.city-results button:hover{background:var(--raised)}.city-results button:focus-visible{outline-offset:-3px}.clock-readings{border-block:1px solid var(--strong-line);display:grid;grid-template-columns:1fr 1fr;background:var(--panel)}.clock-reading{padding:28px;min-width:0}.clock-reading+.clock-reading{border-left:1px solid var(--line)}.clock-reading .eyebrow{margin-bottom:16px;font-size:11px;letter-spacing:.08em}.clock-reading h2{font-size:20px;min-height:60px;line-height:1.5;overflow-wrap:anywhere}.clock-reading time{display:block;font:700 clamp(30px,4.3vw,48px)/1.6 var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:.015em}.clock-date{font:16px/1.8 var(--mono);margin-top:8px}.clock-zone{font:12px/1.9 var(--mono);color:var(--muted);margin-top:12px;overflow-wrap:anywhere}.clock-comparison{padding-block:24px;border-bottom:1px solid var(--line)}.clock-comparison strong{font-size:22px}.clock-comparison>span{display:block;font-size:14px;margin-top:8px}.clock-comparison p{font-size:12px;color:var(--muted);margin-top:16px;max-width:800px}.world-map{margin:32px 0 16px;border:1px solid var(--line);background:var(--panel)}.map-viewport{position:relative}.map-viewport>svg{display:block;width:100%;height:auto}.map-pin{stroke:var(--bg);stroke-width:2;fill:var(--fg)}.base-pin rect{stroke:var(--fg);fill:var(--bg);stroke-width:3}.pin-halo{fill:none;stroke:var(--fg);stroke-width:2;opacity:.65;animation:pin-breathe 4s ease-in-out infinite}.destination-pin[data-overlap=true] .pin-core{r:9px;fill:none;stroke:var(--fg);stroke-width:2}.world-map figcaption{border-top:1px solid var(--line);padding:12px 20px;display:flex;flex-wrap:wrap;gap:8px 28px;font-size:12px}.source-note{font-size:12px;color:var(--muted);line-height:1.9}.location-control{display:flex;align-items:center;gap:24px;padding-block:24px;border-bottom:1px solid var(--line)}.location-control .button{flex-shrink:0}.location-control p{font-size:13px;color:var(--muted);max-width:720px}.clock-details{padding-top:24px;font-size:13px}.clock-details summary{cursor:pointer;min-height:44px;font-size:14px;text-decoration:underline;text-underline-offset:6px}.clock-details p{max-width:800px;color:var(--muted);margin-top:16px}.clock-details li{margin-bottom:10px}.clock-details a{overflow-wrap:anywhere}@keyframes pin-breathe{0%,100%{opacity:.3}50%{opacity:.9}}
@media(max-width:760px){.pin-core{r:9px}.pin-halo{r:22px}.base-pin rect{x:-9px;y:-9px;width:18px;height:18px}.destination-pin[data-overlap=true] .pin-core{r:15px}.game-layout{display:block}.control-note{padding-inline:16px}.clock-page{padding-top:16px}.clock-searches{grid-template-columns:1fr;gap:22px}.clock-readings{grid-template-columns:1fr}.clock-reading{padding:24px 20px}.clock-reading+.clock-reading{border-left:0;border-top:1px solid var(--line)}.clock-reading h2{min-height:0;font-size:18px;margin-bottom:12px}.clock-reading time{font-size:clamp(32px,9vw,44px)}.clock-reading .eyebrow{margin-bottom:12px}.clock-comparison strong{font-size:20px}.location-control{align-items:start;flex-direction:column;gap:16px}.location-control .button{width:100%}.world-map{margin-top:24px}.world-map figcaption{padding:12px;font-size:11px}.tool-link{gap:16px;flex-wrap:wrap;padding-block:24px}.tool-link>.mono{width:100%}.tool-link h2{font-size:24px}.home-tool{padding-bottom:44px}.game-controls .difficulty-label{flex-basis:100%}}
.clock-page .page-heading{padding-bottom:28px}.clock-page .page-heading h1{margin-bottom:0}#retry-clock{margin-bottom:24px}#destination-daylight{display:inline-block;white-space:nowrap;font-size:14px;letter-spacing:0;margin-left:8px}.preview-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 20px;border-bottom:1px solid var(--line);font-size:13px;min-height:73px}.preview-instant{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 12px}.preview-toolbar time{font:12px/1.8 var(--mono);font-variant-numeric:tabular-nums}.preview-toolbar .button{margin-left:auto;min-height:48px;padding:8px 16px;letter-spacing:0}.night-mask{pointer-events:none}.night-ground{fill:var(--bg);fill-opacity:.65}.night-stripe{stroke:var(--fg);stroke-width:1;stroke-opacity:.3;fill:none}.map-pin{pointer-events:none}.time-meridian{position:absolute;top:0;bottom:0;left:0;width:44px;max-width:100%;box-sizing:border-box;margin:0;padding:0;border:0;z-index:1;cursor:ew-resize;touch-action:none;user-select:none;-webkit-user-select:none}.meridian-line{pointer-events:none}.meridian-visible{stroke:var(--fg);stroke-width:1;stroke-dasharray:4 4;vector-effect:non-scaling-stroke;pointer-events:none}.meridian-handle{fill:var(--fg);stroke:var(--bg);stroke-width:1;vector-effect:non-scaling-stroke}.meridian-grip{stroke:var(--bg);stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}.time-meridian:focus-visible{outline-offset:-3px}.time-meridian:focus-visible+svg .meridian-visible{stroke-width:3;stroke-dasharray:none}.time-meridian:focus-visible+svg .meridian-handle{stroke:var(--fg);stroke-width:3}.location-control p:empty{display:none}.tool-link+.tool-link{border-top:0}
@media(max-width:760px){.preview-toolbar{padding:12px;gap:8px}.preview-toolbar>.preview-instant{order:3;width:100%}.preview-toolbar .button{flex-shrink:0}.clock-searches{gap:20px;margin-bottom:24px}}
#map-daylight{white-space:nowrap;font-size:13px}.server-page{max-width:980px;padding-block:24px 80px}.server-page .page-heading{padding-bottom:28px}.server-page .page-heading h1{margin-bottom:0}.server-form label{display:block;margin-bottom:10px;font-weight:700}.server-input-row{display:flex;align-items:stretch;gap:12px}.server-input-row input{min-width:0;flex:1;border:1px solid var(--strong-line);border-radius:0;background:var(--bg);color:var(--fg);font:16px/1.6 var(--mono);padding:12px;min-height:52px}.server-input-row .button{flex-shrink:0;letter-spacing:0}.server-status{margin:16px 0;font-size:14px}.server-status:empty{display:none}.server-reading{margin-top:28px;padding:24px 0;border-block:1px solid var(--line)}.server-reading-heading{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12px}.server-reading time{display:block;font:clamp(48px,12vw,88px)/1.6 var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.04em;margin-top:12px}.server-caveat{font-size:13px;color:var(--muted);margin:16px 0 0}.server-facts{display:grid;grid-template-columns:1fr 1fr;margin:0 0 24px}.server-facts>div{min-width:0;padding:16px 0;border-bottom:1px solid var(--line)}.server-facts dt{font-size:12px;color:var(--muted);margin-bottom:6px}.server-facts dd{margin:0;overflow-wrap:anywhere;font-size:14px}.server-target-row{grid-column:1/-1}.server-page[data-state=stale] .server-reading{border-block-style:dashed}.server-page[data-state=stale] #server-state{text-decoration:underline;text-underline-offset:4px}.server-page .clock-details{margin-top:24px}
@media(max-width:480px){.server-input-row{flex-direction:column}.server-input-row .button{width:100%;min-height:48px}.server-facts{column-gap:16px}.server-page{padding-top:16px}.server-reading{margin-top:24px}}
.tool-categories{display:flex;flex-wrap:wrap;gap:12px 24px;margin-bottom:32px}.tool-categories a,.tool-short{min-height:44px;display:inline-flex;align-items:center}.tool-directory .tool-category{scroll-margin-top:24px;margin-bottom:48px}.tool-category h2{font-size:22px;margin-bottom:16px}.tool-link h3{font-size:22px;margin-bottom:10px}.tool-overview{display:grid;grid-template-columns:1fr 1fr;gap:24px 40px}.tool-overview .tool-category{border-top:1px solid var(--line);padding-top:20px}.tool-overview h2{font-size:18px}.tool-short{font-size:14px;margin-right:20px;text-underline-offset:5px}.local-tool{max-width:980px;padding-block:24px 80px}.local-tool .page-heading{padding-bottom:28px}.local-tool fieldset{border:0;padding:0;margin:0;min-width:0}.local-field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;min-width:0}.local-field>span{font-size:14px}.local-tool input:not([type=checkbox]),.local-tool select,.local-tool textarea{width:100%;min-width:0;min-height:48px;border:1px solid var(--strong-line);border-radius:0;padding:10px 12px;font:16px/1.6 var(--mono);background:var(--bg);color:var(--fg)}.local-tool textarea{resize:vertical}.local-tool input[type=file]{font-size:14px;overflow-wrap:anywhere}.local-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.local-check{display:flex;align-items:center;gap:12px;font-size:14px;min-height:48px;margin-bottom:12px}.local-check input{width:20px;height:20px;flex-shrink:0;accent-color:var(--fg)}.local-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.local-actions .button{min-height:48px;letter-spacing:0;padding:12px 18px}.local-status{font-size:14px;overflow-wrap:anywhere;margin-bottom:20px}.local-status:empty{display:none}.local-result{font-size:18px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;padding:20px 0;border-block:1px solid var(--line);margin:20px 0}.local-result:empty{display:none}.local-tool h2{font-size:22px;margin:32px 0 20px}.count-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.count-grid dt{font-size:12px;color:var(--muted)}.count-grid dd{margin:8px 0;font:24px var(--mono);overflow-wrap:anywhere}.image-previews{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}.image-previews figure{margin:0;min-width:0}.image-previews figcaption{font-size:13px;margin-bottom:12px}.image-previews img{display:block;max-width:100%;max-height:360px;object-fit:contain;border:1px solid var(--line)}.pdf-list{padding-left:24px}.pdf-list li{padding:16px 0;border-bottom:1px solid var(--line)}.pdf-list p{overflow-wrap:anywhere;margin-bottom:12px}.pdf-list .button{min-height:44px;margin:0 8px 8px 0;padding:8px 12px;letter-spacing:0}.local-clock{display:block;font:clamp(28px,6vw,48px)/1.6 var(--mono);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.timer-row{border-block:1px solid var(--line);padding-top:20px;margin:20px 0}.timer-row h3{font-size:16px;overflow-wrap:anywhere}.timer-row[data-finished=true]{border-style:dashed}.lap-list{padding-left:24px;font:14px/2 var(--mono)}.qr-preview{display:block;width:100%;max-width:420px;height:auto;image-rendering:pixelated;border:1px solid var(--line);margin-top:24px}.local-tool .small{line-height:1.9}.local-tool :disabled{opacity:.5}@media(max-width:600px){.tool-overview,.local-grid{grid-template-columns:1fr;gap:0}.tool-overview{gap:24px}.image-previews{grid-template-columns:1fr}.count-grid{grid-template-columns:1fr 1fr}.local-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.local-actions .button{min-width:0;text-align:center}.local-tool{padding-top:16px}}
.classic-game fieldset{margin:0;padding:0;border:0;min-width:0}.classic-board-wrap{margin:0 24px 24px;min-width:0}.classic-board{user-select:none;-webkit-user-select:none}.puzzle-board,.noughts-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-width:420px;margin:auto}.noughts-board{grid-template-columns:repeat(3,minmax(0,1fr));max-width:360px}.classic-cell{min-width:0;min-height:48px;aspect-ratio:1;display:grid;place-items:center;font:700 clamp(22px,5vw,36px)/1 var(--mono);padding:0;background:var(--raised);border-color:var(--strong-line)}.classic-cell[data-face=up],.classic-cell[data-matched=true]{background:var(--fg);color:var(--bg)}.classic-cell[data-matched=true]{border:4px double var(--bg)}.classic-cell[data-empty=true]{background:var(--bg);border-style:dashed}.classic-board button:focus-visible,.maze-board:focus-visible{outline-offset:-4px}.classic-game .direction-pad{margin-bottom:24px}#classic-up{grid-column:2}#classic-left{grid-column:1;grid-row:2}#classic-down{grid-column:2;grid-row:2}#classic-right{grid-column:3;grid-row:2}.maze-board{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));max-width:440px;margin:auto;border:1px solid var(--fg);background:var(--bg);aspect-ratio:1}.maze-cell{aspect-ratio:1;min-width:0;border:1px solid transparent;display:grid;place-items:center;font:700 clamp(11px,3vw,18px)/1 var(--mono)}.maze-cell.wall-n{border-top-color:var(--fg)}.maze-cell.wall-e{border-right-color:var(--fg)}.maze-cell.wall-s{border-bottom-color:var(--fg)}.maze-cell.wall-w{border-left-color:var(--fg)}.maze-cell[data-current=true]{background:var(--raised)}.solitaire-game,.solitaire-game .game-layout{max-width:1100px}.solitaire-game>.page-heading{max-width:none}.solitaire-scroll{overflow-x:auto;overscroll-behavior-x:contain;padding:4px;scroll-padding:4px}.solitaire-board{min-width:568px;--card-red:#b91c1c;--pile-red:#fca5a5}:root[data-theme=light] .solitaire-board{--card-red:#fca5a5;--pile-red:#b91c1c}.solitaire-top,.solitaire-tableau{display:grid;gap:8px;align-items:start}.freecell-columns{grid-template-columns:repeat(8,minmax(0,1fr))}.klondike-columns{grid-template-columns:repeat(7,minmax(0,1fr))}.solitaire-top{padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:16px}.solitaire-slot,.solitaire-column{min-width:0}.pile-caption{font:12px/1.5 var(--mono);display:block;margin-bottom:8px;color:var(--muted);text-align:center;white-space:nowrap}.playing-card,.pile-target,.stock-card,.pile-empty{width:100%;height:72px;min-height:48px;display:flex;align-items:flex-start;justify-content:flex-start;padding:8px 6px;font:700 15px/1.5 var(--mono);position:relative;white-space:nowrap}.playing-card{background:var(--fg);color:var(--bg);border:1px solid var(--strong-line);letter-spacing:-.05em}.playing-card[data-tone=red]{color:var(--card-red)}.solitaire-slot[data-tone=red]>.pile-caption,.solitaire-slot[data-tone=red]>.foundation-target{color:var(--pile-red)}.playing-card .card-tone{position:absolute;bottom:6px;right:6px;font:10px/1 var(--mono)}.playing-card[aria-pressed=true]{outline:3px dashed var(--bg);outline-offset:-5px;box-shadow:0 0 0 2px var(--fg);z-index:1}.playing-card:focus-visible{outline:3px double var(--bg);outline-offset:-5px;z-index:2}.solitaire-column>.playing-card:not(:last-child){margin-bottom:-24px}.pile-target,.stock-card,.pile-empty{background:var(--bg);color:var(--muted);border:1px dashed var(--strong-line);font-size:12px;align-items:center;justify-content:center;text-align:center;padding:4px}.stock-card{background:repeating-linear-gradient(135deg,transparent,transparent 4px,var(--line) 4px,var(--line) 5px);color:var(--fg);border-style:solid}.column-target{width:100%;min-height:48px;font:12px var(--mono);margin-bottom:8px;border-color:var(--strong-line)}.card-back{height:48px;display:grid;place-items:center;border:1px solid var(--strong-line);background:repeating-linear-gradient(135deg,var(--raised),var(--raised) 4px,var(--line) 4px,var(--line) 5px);font:14px var(--mono)}@media(max-width:760px){.classic-board-wrap{margin-inline:16px}.solitaire-game .page-heading h1{font-size:32px}.classic-game .game-controls .button{min-width:0;word-break:keep-all}.classic-game .panel-title{letter-spacing:.04em}}
.extended-scroll{overflow-x:auto;overscroll-behavior-x:contain;padding:4px}.extended-options{flex-wrap:wrap}.extended-options:empty{display:none}.extended-board button:focus-visible,.snake-board:focus-visible,.bubble-shooter-board:focus-visible{outline:3px double var(--fg);outline-offset:-4px}.extended-cell{min-width:0;padding:0;aspect-ratio:1;min-height:40px;font:700 24px/1 var(--mono);background:var(--bg);color:var(--fg);border:1px solid var(--strong-line)}.nonogram-board{display:grid;gap:1px;min-width:260px;max-width:540px;margin:auto}.nonogram-board[data-size="10"]{min-width:500px}.nonogram-clue,.nonogram-corner{display:flex;align-items:center;justify-content:flex-end;padding:4px;font:13px/1.5 var(--mono);white-space:pre-line}.column-clue{align-items:flex-end;justify-content:center;text-align:center;min-height:60px}.nonogram-corner{color:var(--muted)}.nonogram-clue,.nonogram-corner{border:1px solid var(--strong-line)}.nonogram-board .row-clue,.nonogram-board .nonogram-corner{position:sticky;left:0;z-index:3;background:var(--panel)}.nonogram-board .extended-cell[data-mark="1"]{background:var(--fg);color:var(--bg)}.nonogram-board .extended-cell[data-mark="1"]:focus-visible{outline-color:var(--bg)}.extended-options button[aria-pressed=true]{background:var(--fg);color:var(--bg);outline:2px dashed var(--bg);outline-offset:-4px}.snake-board{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));aspect-ratio:1;max-width:460px;margin:auto;border:2px solid var(--fg);background:var(--bg)}.snake-cell{min-width:0;aspect-ratio:1;display:grid;place-items:center;border:1px solid var(--line);font:700 clamp(9px,3vw,18px)/1 var(--mono)}.snake-cell[data-snake=body],.snake-cell[data-snake=head]{background:var(--fg);color:var(--bg)}.snake-cell[data-snake=head]{border:3px double var(--bg)}.snake-cell[data-snake=food]{outline:1px dashed var(--fg);outline-offset:-2px}.mahjong-board{position:relative;width:272px;min-width:272px;height:250px;margin:auto}.mahjong-tile{position:absolute;width:50px;height:56px;min-height:48px;padding:2px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--fg);color:var(--bg);border:2px solid var(--strong-line);font:700 21px/1.1 var(--mono);box-shadow:3px 3px 0 var(--muted)}.tile-state{font:10px/1.5 var(--mono);margin-top:4px}.mahjong-tile[data-free=false]{background:repeating-linear-gradient(135deg,var(--panel),var(--panel) 4px,var(--line) 4px,var(--line) 5px);color:var(--muted);border-style:dashed;box-shadow:none}.mahjong-tile[aria-pressed=true]{outline:3px dashed var(--bg);outline-offset:-5px}.mahjong-board .mahjong-tile:focus-visible{outline-color:var(--bg);z-index:3!important}.mahjong-board .mahjong-tile[data-free=false]:focus-visible{outline-color:var(--fg)}.bubble-shooter-board{position:relative;width:100%;max-width:400px;aspect-ratio:16/26;background:var(--panel);border:2px solid var(--strong-line);margin:auto;overflow:hidden}.bubble{position:absolute;width:12.1%;aspect-ratio:1;transform:translate(-50%,-50%);border:1px solid #111;border-radius:50%;display:grid;place-items:center;font:700 clamp(11px,3.2vw,17px)/1 var(--mono);color:#111;z-index:1}.bubble[data-type="0"]{background:#bfdbfe}.bubble[data-type="1"]{background:#fecaca}.bubble[data-type="2"]{background:#fde68a}.bubble[data-type="3"]{background:#bbf7d0}.bubble-loaded{outline:2px solid var(--fg);outline-offset:2px}.bubble-aim{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.bubble-aim polyline{fill:none;stroke:var(--fg);stroke-width:.07;stroke-dasharray:.2 .25}.bubble-queue{position:absolute;right:4px;bottom:6px;font:12px var(--mono)}.bubble-limit{position:absolute;top:77.12%;width:100%;border-top:2px dashed var(--fg);color:var(--muted);font:10px var(--mono);padding:2px;pointer-events:none}.aim-label{display:grid;grid-template-columns:1fr auto;gap:8px;flex:1 1 220px;font:14px var(--mono)}.aim-label input{grid-column:1/-1;width:100%;min-height:48px;margin:0;accent-color:var(--fg)}.reversi-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));max-width:440px;margin:auto;border:2px solid var(--fg);background:var(--bg)}.reversi-board .extended-cell{min-height:0;font-size:clamp(22px,6vw,38px)}.reversi-board .extended-cell[data-legal=true]{background:var(--raised);border-style:dashed}.spider-board{min-width:740px}.spider-columns{grid-template-columns:repeat(10,minmax(0,1fr))}.spider-board .playing-card:focus-visible{outline-color:var(--bg)}@media(max-width:600px){.extended-options{gap:8px}.extended-options>.button{flex:1 1 calc(50% - 8px);font-size:14px}.extended-options>.difficulty-label{flex:1 1 100%}.extended-game .meters>div{padding-inline:16px}.extended-game .game-status{padding-inline:16px}}
.extended-game .bubble-controls{position:sticky;top:60px;z-index:5;background:var(--panel);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:8px 16px;border-bottom:1px solid var(--strong-line)}.bubble-current{grid-column:1/-1;font:12px/1.6 var(--mono)}.bubble-controls .aim-label{min-width:0;gap:0 8px}.bubble-controls .button{min-width:64px;min-height:48px;padding:8px 12px;align-self:end}.bubble-controls input{min-height:48px}.bubble-loaded{pointer-events:none}
#advanced-progress{display:block;width:100%;height:16px;margin:20px 0;accent-color:var(--fg)}#advanced-list>li>span{display:block;overflow-wrap:anywhere}#advanced-list .button{min-height:48px;margin:0}#advanced-file{font-size:16px}.checkerboard img{background-color:#fff;background-image:repeating-conic-gradient(#d1d1d1 0% 25%,#fff 0% 50%);background-size:20px 20px}#advanced-lossy{margin-top:20px}
/* The game room keeps its own cabinet palette in either outer site theme. */
.arcade-game{padding-top:12px}.arcade-game>.back-link{margin-bottom:4px;min-height:36px}.arcade-game .page-heading{padding-bottom:14px}.arcade-game .page-heading .eyebrow{margin-bottom:8px;font-size:10px}.arcade-game .page-heading h1{font-size:32px;margin-bottom:6px}.arcade-game .intro{font-size:12px;line-height:1.7}
.arcade-game .game-panel{--bg:#101827;--fg:#fff4d6;--muted:#b8c7d9;--line:#40516f;--strong-line:#91a4ba;--panel:#19263b;--raised:#2d4260;--board:#19263b;--selected:#32516a;color:var(--fg);background:var(--panel);border:2px solid #40516f;box-shadow:4px 4px 0 #101827;padding:4px;position:relative;color-scheme:dark}
.arcade-game .panel-title{padding:8px 14px;background:#101827;border-bottom:2px solid #40516f;color:#74dab9;letter-spacing:.09em}.arcade-game .panel-title>span:first-child::before{content:'';display:inline-block;width:6px;height:6px;margin-right:8px;background:#ffd166;box-shadow:2px 2px 0 #8e6236}
.arcade-game .meters{background:#101827;border-bottom:1px solid #40516f}.arcade-game .meters>div{padding:8px 14px}.arcade-game .meters span{font-size:10px;color:#b8c7d9}.arcade-game .meters strong{color:#ffd166;font-size:20px;line-height:1.5}.arcade-game .meters .meter-text{font-size:14px;line-height:1.8}.arcade-game .meters strong span{color:inherit;font-size:inherit}
.arcade-game .game-status{padding:10px 14px;min-height:44px;font-size:12px;line-height:1.8;color:#fff4d6;border-left:3px solid #74dab9;margin:8px 8px 12px;background:#101827}.arcade-game .board-wrap{padding:0 12px 14px}.arcade-game .classic-board-wrap{margin:0 12px 14px}.arcade-game .control-note{padding:0 14px 12px;font-size:11px;color:#b8c7d9;line-height:1.8}
.arcade-game .game-controls{padding:12px 14px;gap:10px;border-color:#40516f}.arcade-game .button,.arcade-game .keypad button,.arcade-game .direction-pad button,.arcade-game .column-target{background:#2d4260;color:#fff4d6;border:2px solid #91a4ba;box-shadow:inset 2px 2px 0 #526887,inset -2px -2px 0 #101827;font-weight:700;min-height:48px;letter-spacing:0}.arcade-game .button.primary,.arcade-game button[aria-pressed=true]:not(.playing-card):not(.mahjong-tile){background:#74dab9;color:#101827;border-color:#fff4d6;box-shadow:inset 2px 2px 0 #c8f3d8,inset -2px -2px 0 #37796b}
.arcade-game .button:disabled,.arcade-game .keypad button:disabled,.arcade-game .direction-pad button:disabled{opacity:1;color:#a1afc4;border-color:#40516f;background:#19263b;box-shadow:none}.arcade-game .difficulty-label{font-size:11px;min-width:110px}.arcade-game .difficulty-label select{font-size:16px;background:#101827;color:#fff4d6;border:2px solid #91a4ba}.arcade-game input[type=range]{accent-color:#74dab9}.arcade-game :focus-visible{outline:3px solid #ffd166;outline-offset:2px}.arcade-game .board-cell button:focus-visible,.arcade-game .classic-cell:focus-visible,.arcade-game .extended-cell:focus-visible{outline:3px dashed #b52f49;outline-offset:-4px;z-index:4}
.arcade-game .pixel-art{display:block;width:58%;height:58%;flex-shrink:0;pointer-events:none;image-rendering:pixelated}.arcade-game svg,.arcade-gallery svg{pointer-events:none}.arcade-game #storage-note{color:#b8c7d9;font-size:11px;margin-top:8px}.arcade-game .placement{margin-top:10px}.arcade-game .placement p{color:#b8c7d9}.arcade-game .keypad,.arcade-game .direction-pad{margin-top:14px}
.arcade-game .mines-board{border:4px solid #101827;gap:1px;background:#40516f;box-shadow:2px 2px 0 #91a4ba}.arcade-game .mines-board button{background:#6686a1;border:0;color:#101827;box-shadow:inset 3px 3px 0 #adcad8,inset -3px -3px 0 #334a67;font-size:21px}.arcade-game .mines-board button[data-open=true]{background:#c5d5ce;box-shadow:inset 1px 1px 0 #819a9c}.arcade-game .mines-board button[data-flag=true]{background:#6686a1;color:#9f2038}.arcade-game .mines-board button[data-hit=true]{background:#f49aaf;outline:3px double #791b32;outline-offset:-4px}.arcade-game .mines-board button[data-wrong=true]{color:#9f2038;background:#fff4d6;text-decoration:line-through}.arcade-game .mines-board button[data-number="1"]{color:#204f99}.arcade-game .mines-board button[data-number="2"]{color:#245d39}.arcade-game .mines-board button[data-number="3"]{color:#9f2038}.arcade-game .mines-board button[data-number="4"]{color:#523881}.arcade-game .mines-board button[data-number="5"],.arcade-game .mines-board button[data-number="6"]{color:#7b4019}.arcade-game .mines-board button[data-number="7"],.arcade-game .mines-board button[data-number="8"]{color:#101827}
.arcade-game .omok-board{background-color:#d7a966;background-image:repeating-linear-gradient(0deg,transparent 0 7px,#b8874b 7px 8px,transparent 8px 19px);border:5px solid #87623a;box-shadow:inset 0 0 0 2px #efca8e,3px 3px 0 #101827}.arcade-game .omok-board button::before,.arcade-game .omok-board button::after{background:#87623a}.arcade-game .omok-board .stone{border:0;border-radius:0;clip-path:polygon(25% 0,75% 0,75% 8%,92% 8%,92% 25%,100% 25%,100% 75%,92% 75%,92% 92%,75% 92%,75% 100%,25% 100%,25% 92%,8% 92%,8% 75%,0 75%,0 25%,8% 25%,8% 8%,25% 8%);box-shadow:inset -3px -3px 0 #0008}.arcade-game .stone.black{background:#101827}.arcade-game .stone.white{background:#fff4d6}.arcade-game .stone::before{content:'';position:absolute;left:24%;top:16%;width:32%;height:12%;background:#56647b}.arcade-game .stone.white::before{background:#fff}.arcade-game .omok-board button[data-last=true] .stone::after{width:24%;height:24%;left:38%;top:38%;background:#b52f49;border:1px solid #fff4d6}.arcade-game .omok-board button[data-selected=true]{outline:2px dashed #101827;outline-offset:-1px}.arcade-game .omok-board button:focus-visible{outline-color:#9f2038}
.arcade-game .sudoku-board{background:#fff4d6;color:#101827;border:3px solid #40516f}.arcade-game .sudoku-board .board-cell{border-color:#91a4ba}.arcade-game .sudoku-board [data-col="2"],.arcade-game .sudoku-board [data-col="5"],.arcade-game .sudoku-board [data-row="2"],.arcade-game .sudoku-board [data-row="5"]{border-color:#40516f}.arcade-game .sudoku-board button{color:#204f99;background:#fff4d6;font-size:22px}.arcade-game .sudoku-board button[data-clue=true]{color:#101827;background:#e4dcc3}.arcade-game .sudoku-board button[data-selected=true]{background:#74dab9;color:#101827;outline:2px solid #164c43;outline-offset:-2px}.arcade-game .sudoku-board button[data-conflict=true]{color:#9f2038;background-color:#ffe0d6;text-decoration:underline double;background-image:repeating-linear-gradient(135deg,transparent 0 5px,#b52f491a 5px 7px)}
.arcade-game .tiles-board{grid-template-rows:repeat(4,minmax(0,1fr));background:#101827;border:3px solid #40516f;box-shadow:inset 2px 2px 0 #050c17}.arcade-game .tile{background:#26354b;border:0;box-shadow:inset 2px 2px 0 #40516f,inset -3px -3px 0 #101827;color:#fff4d6}.arcade-game .tile:not([data-level="0"]){color:#101827;box-shadow:inset 3px 3px 0 #ffffff66,inset -3px -3px 0 #10182755}.arcade-game .tile[data-level="1"]{background:#c5d5ce}.arcade-game .tile[data-level="2"]{background:#74dab9}.arcade-game .tile[data-level="3"]{background:#ffd166}.arcade-game .tile[data-level="4"]{background:#e19b70}.arcade-game .tile[data-level="5"]{background:#bfc0e9;border:2px double #40516f}.arcade-game .tile[data-level="6"]{background:#fff4d6;border:4px double #b52f49;color:#791b32}
.arcade-game .puzzle-board{padding:8px;background:#101827;border:3px solid #40516f}.arcade-game .classic-cell{position:relative;border:0;color:#101827;background:#c5d5ce;box-shadow:inset 3px 3px 0 #f8f4df,inset -3px -3px 0 #718e91}.arcade-game .classic-cell[data-empty=true]{background:#19263b;box-shadow:inset 2px 2px 0 #101827;color:#fff4d6}.arcade-game .classic-cell[data-face=down]{background-color:#305489;background-image:repeating-conic-gradient(#305489 0% 25%,#24416c 0% 50%);background-size:12px 12px;box-shadow:inset 3px 3px 0 #779bc2,inset -3px -3px 0 #101827;color:#bcd8e9;font-size:0}.arcade-game .classic-cell[data-face=down]::after{content:'◆';font-size:24px;color:#74dab9}.arcade-game .classic-cell[data-face=up],.arcade-game .classic-cell[data-matched=true]{background:#fff4d6;color:#b52f49}.arcade-game .classic-cell[data-matched=true]{border:3px double #164c43;color:#164c43;box-shadow:inset 0 0 0 3px #74dab9}.arcade-game .classic-cell[data-matched=true]::after{content:'✓';position:absolute;right:3px;bottom:3px;font-size:13px;color:#164c43}.arcade-game .noughts-board{padding:8px;gap:4px;background:#40516f;border:4px solid #101827}.arcade-game .noughts-board .classic-cell{background:#19263b;box-shadow:inset 2px 2px 0 #2d4260;color:#74dab9}.arcade-game .noughts-board [data-piece="2"]{color:#ffd166}.arcade-game .noughts-board .pixel-art{width:60%;height:60%}
.arcade-game .maze-board{background:#273c4c;border:3px solid #91a4ba;padding:2px;box-shadow:3px 3px 0 #101827}.arcade-game .maze-cell{color:#b8c7d9;font-size:10px}.arcade-game .maze-cell.wall-n{border-top-color:#91a4ba}.arcade-game .maze-cell.wall-s{border-bottom-color:#91a4ba}.arcade-game .maze-cell.wall-e{border-right-color:#91a4ba}.arcade-game .maze-cell.wall-w{border-left-color:#91a4ba}.arcade-game .maze-cell[data-current=true]{background:#164c43;color:#74dab9}.arcade-game .maze-cell[data-goal=true]{color:#ffd166}.arcade-game .maze-cell .pixel-art{width:85%;height:85%}
.arcade-game .game-panel .solitaire-board{--card-red:#b52f49;--pile-red:#ffb5be;background-color:#164c43;background-image:repeating-conic-gradient(#164c43 0% 25%,#174f45 0% 50%);background-size:8px 8px;padding:10px;border:3px solid #39796a;color:#fff4d6}.arcade-game .solitaire-top{padding-bottom:12px;margin-bottom:12px;border-color:#39796a}.arcade-game .pile-caption{font-size:11px;color:#d0e6d6;margin-bottom:6px}.arcade-game .playing-card,.arcade-game .pile-target,.arcade-game .stock-card,.arcade-game .pile-empty{height:96px}.arcade-game .playing-card{background:#fff4d6;color:#101827;border:1px solid #baa986;box-shadow:2px 2px 0 #0b302c;padding:0;overflow:hidden;isolation:isolate;letter-spacing:-.06em}.arcade-game .playing-card[data-tone=red]{color:#b52f49}.arcade-game .playing-card .card-corner{position:absolute;left:4px;top:3px;z-index:1;font:700 14px/1.3 var(--mono);white-space:nowrap;letter-spacing:-.07em}.arcade-game .playing-card .card-corner-bottom{left:auto;top:auto;right:4px;bottom:3px;transform:rotate(180deg)}.arcade-game .card-art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.arcade-game .solitaire-column>.playing-card:not(:last-child){margin-bottom:-48px}.arcade-game .playing-card[aria-pressed=true]{outline:3px dashed #101827;outline-offset:-4px;box-shadow:0 0 0 3px #ffd166;z-index:2}.arcade-game .playing-card:focus-visible,.arcade-game .spider-board .playing-card:focus-visible{outline:3px double #b52f49;outline-offset:-5px;box-shadow:0 0 0 2px #fff4d6;z-index:3}.arcade-game .pile-target,.arcade-game .pile-empty{border:2px dashed #91bba4;color:#d0e6d6;background:#123d37;font-size:13px}.arcade-game .foundation-target{font-size:18px;border-style:double;border-width:3px}.arcade-game .stock-card,.arcade-game .card-back{background-color:#305489;background-image:repeating-conic-gradient(#305489 0% 25%,#24416c 0% 50%);background-size:8px 8px;border:3px double #bdd6ee;color:#fff4d6;box-shadow:inset 0 0 0 2px #101827}.arcade-game .card-back{height:48px;font-size:20px;color:#74dab9}.arcade-game .stock-card{font-size:12px;text-shadow:1px 1px #101827,-1px -1px #101827}.arcade-game .column-target{background:#123d37;border-color:#91bba4;color:#d0e6d6;box-shadow:none;font-size:11px;margin-bottom:6px}
.arcade-game .nonogram-board{background:#40516f;padding:3px;border:3px solid #101827}.arcade-game .nonogram-clue,.arcade-game .nonogram-corner{color:#101827;background:#e4dcc3;border-color:#91a4ba}.arcade-game .nonogram-board .row-clue,.arcade-game .nonogram-board .nonogram-corner{background:#e4dcc3;color:#101827}.arcade-game .nonogram-board .extended-cell{background:#fff4d6;color:#6e4b26;border:0;box-shadow:inset -1px -1px 0 #e4dcc3}.arcade-game .nonogram-board .extended-cell[data-mark="1"]{background:#19263b;color:#74dab9;box-shadow:inset 3px 3px 0 #40516f,inset -3px -3px 0 #101827}.arcade-game .nonogram-board .extended-cell[data-mark="1"]:focus-visible{outline-color:#ffd166}
.arcade-game .snake-board{background:#17382e;border:4px solid #39796a;box-shadow:inset 2px 2px 0 #101827}.arcade-game .snake-cell{border-color:#204538}.arcade-game .snake-cell[data-snake=body]{background:#74dab9;box-shadow:inset 2px 2px 0 #a7e8c9,inset -2px -2px 0 #3d9c7a;border:2px solid #17382e}.arcade-game .snake-cell[data-snake=head]{background:#17382e;border:0;color:#74dab9}.arcade-game .snake-cell[data-snake=food]{color:#f49aaf;outline:0}.arcade-game .snake-cell .pixel-art{width:100%;height:100%}
.arcade-game .mahjong-board{background:#164c43;box-shadow:0 0 0 4px #39796a;margin-block:6px}.arcade-game .mahjong-tile{background:#fff4d6;color:#164c43;border:2px solid #baa986;box-shadow:3px 4px 0 #4f9c87,inset 2px 2px 0 #fff;justify-content:start;padding-top:4px}.arcade-game .mahjong-tile .pixel-art{width:24px;height:24px;margin-right:8px}.arcade-game .mahjong-tile .tile-number{position:absolute;right:4px;top:8px;font-size:12px;color:#b52f49}.arcade-game .tile-state{font-size:9px;margin-top:3px;color:#164c43}.arcade-game .mahjong-tile[data-free=false]{background-color:#b9c2ae;background-image:repeating-linear-gradient(135deg,transparent 0 4px,#82958144 4px 5px);color:#364936;border-color:#6b806f;box-shadow:2px 3px 0 #245c50}.arcade-game .mahjong-tile[aria-pressed=true]{outline:3px dashed #9f2038;outline-offset:-4px;box-shadow:3px 4px 0 #ffd166}.arcade-game .mahjong-tile:focus-visible,.arcade-game .mahjong-board .mahjong-tile[data-free=false]:focus-visible{outline:3px double #9f2038;outline-offset:-4px}
.arcade-game .bubble-shooter-board{background-color:#101827;background-image:radial-gradient(#2d4260 1px,transparent 1px);background-size:16px 16px;border:4px solid #40516f;box-shadow:inset 0 0 0 2px #19263b}.arcade-game .bubble{border-radius:0;clip-path:polygon(20% 0,80% 0,80% 8%,92% 8%,92% 20%,100% 20%,100% 80%,92% 80%,92% 92%,80% 92%,80% 100%,20% 100%,20% 92%,8% 92%,8% 80%,0 80%,0 20%,8% 20%,8% 8%,20% 8%);border:0;box-shadow:inset 3px 3px 0 #ffffff88,inset -4px -4px 0 #10182766;color:#101827}.arcade-game .bubble::before{content:'';position:absolute;left:20%;top:12%;width:25%;height:8%;background:#fff4d6}.arcade-game .bubble[data-type="0"]{background:#82b9ed}.arcade-game .bubble[data-type="1"]{background:#f49aaf}.arcade-game .bubble[data-type="2"]{background:#ffd166}.arcade-game .bubble[data-type="3"]{background:#74dab9}.arcade-game .bubble .pixel-art{width:36%;height:36%;margin-right:22%}.arcade-game .bubble-number{position:absolute;right:17%;bottom:27%;font-size:11px}.arcade-game .bubble-loaded{outline:0;box-shadow:inset 3px 3px 0 #fff4d6,inset -4px -4px 0 #10182799}.arcade-game .bubble-shooter-board::after{content:'';position:absolute;left:42%;width:16%;bottom:0;height:5%;background:#40516f;border:3px solid #91a4ba;border-bottom:0;pointer-events:none}.arcade-game .bubble-queue{color:#b8c7d9;font-size:11px;bottom:4px}.arcade-game .bubble-limit{border-color:#f49aaf;color:#f49aaf;font-size:9px}.arcade-game .bubble-aim polyline{stroke:#fff4d6}.arcade-game .bubble-controls{background:#19263b;border-bottom:2px solid #40516f;padding:6px 12px;top:60px}.arcade-game .bubble-current{display:flex;gap:8px;align-items:center;color:#fff4d6;font-size:11px}.arcade-game .bubble-current .queue-item{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.arcade-game .bubble-current .pixel-art{width:16px;height:16px;color:#74dab9}.arcade-game .bubble-current .queue-item:last-child .pixel-art{color:#ffd166}.arcade-game .bubble-controls .aim-label{font-size:12px}
.arcade-game .reversi-board{background:#164c43;border:4px solid #39796a;gap:1px;padding:2px}.arcade-game .reversi-board .extended-cell{position:relative;background:#164c43;border:1px solid #39796a;font-size:0;box-shadow:inset 1px 1px 0 #205e51}.arcade-game .reversi-board .extended-cell[data-legal=true]{background:#205e51;border-style:dashed}.arcade-game .reversi-board .extended-cell[data-legal=true]::after{content:'';width:16%;height:16%;background:#ffd166;position:absolute;left:42%;top:42%}.arcade-game .reversi-board [data-disc="1"]::before,.arcade-game .reversi-board [data-disc="2"]::before{content:'';position:absolute;inset:12%;background:#101827;box-shadow:inset 3px 3px 0 #526887,inset -3px -3px 0 #050c17;clip-path:polygon(25% 0,75% 0,75% 8%,92% 8%,92% 25%,100% 25%,100% 75%,92% 75%,92% 92%,75% 92%,75% 100%,25% 100%,25% 92%,8% 92%,8% 75%,0 75%,0 25%,8% 25%,8% 8%,25% 8%)}.arcade-game .reversi-board [data-disc="2"]::before{background:#fff4d6;box-shadow:inset 3px 3px 0 #fff,inset -3px -3px 0 #baa986}.arcade-game .reversi-board .extended-cell:focus-visible{outline-color:#ffd166}
.arcade-gallery{gap:14px;border:0}.arcade-gallery .game-card{background:#19263b;color:#fff4d6;border:2px solid #40516f;box-shadow:3px 3px 0 #101827;padding:4px}.arcade-gallery .card-top{padding:8px 12px;border-color:#40516f;color:#b8c7d9;font-size:10px;background:#101827}.arcade-gallery .game-preview{padding:10px;background:#101827;border-bottom:2px solid #40516f}.arcade-gallery .game-preview svg{max-width:190px;border:0;image-rendering:pixelated}.arcade-gallery .card-copy{padding:16px 12px}.arcade-gallery .card-copy>.mono{color:#74dab9;font-size:9px;margin-bottom:6px;letter-spacing:.06em}.arcade-gallery .card-copy h3{font-size:24px;margin-bottom:10px;line-height:1.4}.arcade-gallery .card-copy>p:not(.mono){color:#b8c7d9;font-size:12px;line-height:1.8;margin-bottom:16px}.arcade-gallery .card-play{border-color:#40516f;color:#ffd166;font-size:12px;padding-top:12px}.arcade-gallery .game-card:focus-visible{outline:3px solid #b52f49;outline-offset:4px}
@media(hover:hover){.arcade-game .button:not(:disabled):hover,.arcade-game .column-target:hover,.arcade-game .keypad button:not(:disabled):hover,.arcade-game .direction-pad button:not(:disabled):hover{background:#40516f;color:#fff4d6}.arcade-game .classic-cell:not([aria-disabled=true]):hover{outline:2px solid #b52f49;outline-offset:-3px}.arcade-game .board-cell button:not([aria-disabled=true]):hover{box-shadow:inset 0 0 0 2px #9f2038}.arcade-gallery .game-card:hover{background:#243953;border-color:#74dab9}}
@media(max-width:760px){.arcade-game{padding-top:8px}.arcade-game .page-heading h1,.arcade-game.solitaire-game .page-heading h1{font-size:27px}.arcade-game .page-heading{padding-bottom:10px}.arcade-game .game-status{margin:6px 4px 10px;padding:8px 10px;min-height:40px;font-size:11px}.arcade-game .meters>div,.arcade-game.extended-game .meters>div{padding:6px 10px}.arcade-game .meters strong{font-size:18px}.arcade-game .meters .meter-text{font-size:12px;line-height:1.8;overflow-wrap:anywhere}.arcade-game .panel-title{padding:6px 10px;font-size:9px}.arcade-game .classic-board-wrap{margin-inline:4px}.arcade-game .board-wrap{padding:0 4px 10px}.arcade-game .control-note{padding-inline:10px}.arcade-game .game-controls{padding:10px;gap:8px}.arcade-game .game-controls .difficulty-label{flex-basis:auto}.arcade-game .sudoku-board button{font-size:20px}.arcade-game .mines-board button{font-size:20px}.arcade-game .bubble-controls{padding:6px 10px}.arcade-gallery .game-preview svg{max-width:210px}.arcade-gallery .card-copy h3{font-size:26px}.arcade-game .keypad{gap:5px}}
/* Bubble-only reference adaptation: geometry is the borderless 34 by 30 content box. */
.arcade-game.bubble-game{max-width:880px}.arcade-game.bubble-game>.page-heading{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding-bottom:12px}.bubble-game>.page-heading .eyebrow{grid-column:1/-1;margin-bottom:0}.arcade-game.bubble-game>.page-heading h1{font-size:28px;margin-bottom:0}.bubble-game>.page-heading .intro{align-self:end}.arcade-game.bubble-game .game-layout{max-width:none;width:100%}.bubble-game .game-panel{min-width:0}.bubble-game #classic-controls{display:grid;grid-template-columns:minmax(0,1fr) 204px;gap:16px;align-items:start;padding:8px}.bubble-game .bubble-play,.bubble-game .bubble-sidebar{min-width:0}.bubble-game .bubble-sidebar{display:grid;gap:10px}.arcade-game.bubble-game .meters>div{padding:6px 8px}.arcade-game.bubble-game .meters .meter-text{font-size:12px}.arcade-game.bubble-game .game-status{margin:0;min-height:44px;padding:8px 10px}.arcade-game.bubble-game .control-note{padding:0;font-size:10px}.arcade-game.bubble-game .classic-board-wrap{padding:4px;margin:0;overflow:hidden}.arcade-game.bubble-game .bubble-shooter-board{max-width:720px;aspect-ratio:34/30;border:0;padding:0;touch-action:none;cursor:crosshair;background-color:#101827;background-image:radial-gradient(#28384f 1px,transparent 1px);background-size:20px 20px;box-shadow:0 0 0 3px #40516f;isolation:isolate}.arcade-game.bubble-game .bubble-shooter-board::after{content:none}.bubble-game .bubble-field,.bubble-game .bubble-effects{position:absolute;inset:0;pointer-events:none}.bubble-game .bubble-field{z-index:2}.bubble-game .bubble-effects{z-index:5}.bubble-game .bubble-orb{position:absolute;width:5.8823529412%;aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;display:block}.bubble-game .bubble-orb-art{display:block;width:100%;height:100%;pointer-events:none;image-rendering:pixelated}.bubble-game .bubble-loaded{z-index:4;outline:0;box-shadow:none}.bubble-game .bubble-trail{filter:none;scale:.7}.bubble-game .bubble-burst::after{content:'';position:absolute;inset:-10%;border:2px dashed #fff4d6;border-radius:50%}.bubble-game .bubble-aim,.bubble-game .bubble-cannon{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.bubble-game .bubble-aim{z-index:1}.bubble-game .bubble-cannon{z-index:3;transform-origin:50% 93.333333%}.arcade-game.bubble-game .bubble-aim polyline{stroke:#b9ccdc;stroke-width:.08;stroke-dasharray:.18 .4}.bubble-game .bubble-danger{position:absolute;top:83.333333%;left:0;width:100%;border-top:1px dashed #f49aaf;color:#f49aaf;font:9px/1.6 var(--mono);padding-left:4px;pointer-events:none;z-index:1}.bubble-game .bubble-hud{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:center;padding:0}.arcade-game.bubble-game .bubble-current{grid-column:auto;display:flex;gap:12px;font-size:11px}.bubble-game .queue-item .bubble-orb-art{width:26px;height:26px}.bubble-game .bubble-pressure{font:11px/1.6 var(--mono);color:#c6d3e3}.bubble-game #bubble-misses{display:flex;gap:2px}.bubble-game .bubble-miss{width:18px;height:18px;display:block}.bubble-game .bubble-miss svg{width:100%;height:100%}.bubble-game .bubble-miss[data-available=false]{opacity:.2}.bubble-game .bubble-hud .difficulty-label{min-width:92px;gap:3px}.bubble-game .bubble-hud select{min-height:48px;padding:4px 8px;width:100%}.bubble-game .bubble-hud .button{min-width:80px;padding:8px 12px}.arcade-game.bubble-game .bubble-fallback{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;align-items:end;padding:8px 0 0}.bubble-game .bubble-fallback .aim-label{gap:0 8px;font-size:11px}.bubble-game .bubble-fallback .button{min-width:84px;min-height:48px}.bubble-game .bubble-fallback input{min-height:48px}.bubble-game .bubble-result{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);z-index:6;display:grid;gap:8px;min-width:190px;padding:16px;background:#19263bf5;border:3px double #ffd166;box-shadow:4px 4px 0 #080f20;text-align:center;cursor:default;color:#fff4d6}.bubble-game .bubble-result strong{font:700 24px/1.4 var(--mono);color:#ffd166}.bubble-game .bubble-score-pop{position:absolute;transform:translateX(-50%);color:#fff4d6;background:#101827;font:700 clamp(12px,3vw,22px)/1.5 var(--mono);padding:2px 6px;white-space:nowrap}
@media(max-width:760px){.arcade-game.bubble-game{max-width:680px}.arcade-game.bubble-game>.page-heading{grid-template-columns:minmax(0,1fr);gap:4px}.bubble-game>.page-heading .eyebrow{grid-column:auto}.arcade-game.bubble-game>.page-heading h1{font-size:27px}.bubble-game #classic-controls{grid-template-columns:minmax(0,1fr);gap:8px;padding:4px}.bubble-game .bubble-sidebar{gap:8px;padding:0 4px 4px}.bubble-game .bubble-hud{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}.arcade-game.bubble-game .bubble-current{gap:10px}.bubble-game .bubble-pressure{justify-self:end}.bubble-game .bubble-hud .difficulty-label{display:flex;align-items:center;gap:8px;min-width:0}.bubble-game .bubble-hud select{width:auto;flex:1;min-width:0}.bubble-game .bubble-hud>.button{min-width:92px}.arcade-game.bubble-game .bubble-fallback{grid-template-columns:minmax(0,1fr) auto;gap:8px}.bubble-game .bubble-result{padding:10px;min-width:170px}.bubble-game .bubble-result strong{font-size:20px}}
/* Five approved cartridges: board first, compact real controls beside it. */
.arcade-game.next-game{max-width:840px}.arcade-game.next-game>.page-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding-bottom:12px}.next-game>.page-heading .eyebrow{grid-column:1/-1;margin:0}.arcade-game.next-game>.page-heading h1{font-size:28px;margin:0}.next-game>.page-heading .intro{align-self:end}.next-game .game-layout{width:100%;max-width:none}.next-game #classic-controls{display:grid;grid-template-columns:minmax(0,1fr) 216px;gap:16px;padding:10px;min-width:0}.next-game .next-play,.next-game .next-sidebar{min-width:0}.next-game .next-sidebar{display:grid;gap:10px;align-content:start}.arcade-game.next-game .meters>div{padding:6px 8px}.arcade-game.next-game .meters .meter-text{font-size:12px}.arcade-game.next-game .game-status{margin:0;padding:10px;min-height:56px}.arcade-game.next-game .next-options{display:grid;gap:8px;padding:0}.next-game .next-options .difficulty-label{display:grid;gap:4px;min-width:0}.next-game .next-options select{width:100%;min-width:0;min-height:48px;font-size:16px}.next-game .next-options button{min-height:48px;width:100%}.arcade-game.next-game .control-note{padding:0;font-size:11px;line-height:1.8}.next-game .next-board{width:100%;margin:auto;position:relative;background:#101827;outline-offset:4px}.next-game .next-board:focus-visible,.next-game .next-board button:focus-visible{outline:3px solid #ffd166;outline-offset:-3px}.next-game .next-board .pixel-art{display:block;width:100%;height:100%;pointer-events:none}.next-game .next-board button{font:inherit;cursor:pointer;touch-action:manipulation}.next-game .next-board button:disabled{cursor:default;opacity:1}.next-game .water-sort-board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px 8px;padding:16px 8px;align-items:end;min-height:284px}.next-game .water-tube{border:2px solid transparent;background:transparent;color:#fff4d6;min-height:144px;min-width:0;position:relative;padding:4px 4px 22px}.next-game .water-tube .pixel-art{max-height:132px;aspect-ratio:40/112}.next-game .water-tube[aria-pressed=true]{border-color:#ffd166;background:#19263b;transform:translateY(-5px)}.next-game .water-transfer{position:absolute;width:28px;height:78px;pointer-events:none;z-index:2;transform-origin:50% 20%}.next-game .water-transfer svg{width:100%;height:100%}.next-game .tube-number{position:absolute;bottom:0;left:0;right:0;text-align:center;font:12px/20px var(--mono)}.next-game .box-push-board{aspect-ratio:1;max-width:420px;border:3px solid #40516f}.next-game .box-push-board>.pixel-art{object-fit:contain}.next-game .direction-pad{margin:10px auto 0;gap:6px}.next-game .direction-pad button{min-width:48px;min-height:48px}.next-game .pipe-connect-board{display:grid;gap:0;border:2px solid #40516f;max-width:444px}.next-game .pipe-tile{aspect-ratio:1;min-width:0;padding:0;background:#19263b;border:1px solid #40516f}.next-game .four-in-a-row-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;padding:4px;background:#253b5a;border:2px solid #40516f}.next-game .four-column{display:grid;grid-template-rows:28px repeat(6,minmax(0,1fr));gap:4px;border:1px solid transparent;background:transparent;padding:3px;min-width:0;color:#fff4d6}.next-game .four-column:not(:disabled):hover{border-color:#74dab9;background:#32516a}.next-game .four-column-number{text-align:center;font:14px/28px var(--mono)}.next-game .four-cell{display:block;aspect-ratio:1;position:relative}.next-game .four-cell[data-last=true]{outline:2px dashed #fff4d6;outline-offset:1px}.next-game .four-cell[data-win=true]{outline:3px solid #ffd166;outline-offset:1px}.next-game .brick-breaker-board{max-width:440px;aspect-ratio:320/380;touch-action:none;cursor:ew-resize;border:3px solid #40516f;background:repeating-linear-gradient(0deg,#101827 0 19px,#19263b 19px 20px)}.next-game .brick-layers,.next-game .brick-layers>svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
@media(max-width:760px){.arcade-game.next-game{padding-inline:12px;max-width:540px}.arcade-game.next-game>.page-heading{grid-template-columns:minmax(0,1fr)}.arcade-game.next-game>.page-heading h1{font-size:27px}.next-game #classic-controls{grid-template-columns:minmax(0,1fr);gap:10px;padding:4px}.next-game .next-sidebar{gap:8px}.arcade-game.next-game .next-options{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:8px}.next-game .next-options .difficulty-label{font-size:11px}.next-game .next-options button{padding:8px}.arcade-game.next-game .game-status{min-height:44px;font-size:11px}.next-game .water-sort-board{gap:12px 2px;padding:12px 2px;min-height:236px}.next-game .water-tube{min-height:120px;padding:2px 1px 22px}.next-game .four-column{padding:2px 0;gap:3px}.next-game .four-in-a-row-board{padding:3px;gap:0}.next-game .box-push-board{max-width:360px}.next-game .pipe-tile{min-height:48px}.next-game .brick-breaker-board{max-width:380px}}
/* Three original puzzle cartridges; touch policy stays inside their play surfaces. */
.puzzle-game .puzzle-play{min-width:0}.puzzle-game .puzzle-grid-wrap{width:100%;max-width:448px;min-width:0;margin:auto;padding:4px 0 12px}.puzzle-game .fruit-toolbar{max-width:340px;margin:0 auto 8px;display:grid;gap:6px}.puzzle-game .fruit-toolbar-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.puzzle-game .fruit-toolbar .button{min-height:48px;padding:6px 10px}.puzzle-game .fruit-toolbar .fruit-queue{padding:0;justify-content:space-between}.puzzle-game .puzzle-board{position:relative;width:100%;margin:auto;max-width:448px;background:#101827;outline-offset:3px;user-select:none;-webkit-user-select:none}.puzzle-game .puzzle-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));gap:0;min-width:0;aspect-ratio:1;touch-action:none;box-shadow:0 0 0 2px #40516f}.puzzle-game .puzzle-cell{min-width:0;min-height:0;aspect-ratio:1;padding:4px;border:1px solid #344862;background:#19263b;display:grid;place-items:center;position:relative;touch-action:none}.puzzle-game .puzzle-cell>svg{display:block;width:100%;height:100%;pointer-events:none;image-rendering:pixelated}.puzzle-game .puzzle-cell:focus-visible,.puzzle-game .puzzle-board:focus-visible,.puzzle-game .block-piece:focus-visible{outline:3px solid #ffd166;outline-offset:-3px;z-index:2}.puzzle-game .puzzle-cell[aria-pressed=true]{background:#32516a;box-shadow:inset 0 0 0 3px #ffd166}.puzzle-game .block-cell[data-filled=true]{padding:1px}.puzzle-game .block-cell[data-ghost=valid]{background:#39796a;box-shadow:inset 0 0 0 3px #74dab9}.puzzle-game .block-cell[data-ghost=invalid]{background:repeating-linear-gradient(135deg,#553549 0 5px,#19263b 5px 10px);box-shadow:inset 0 0 0 2px #f49aaf}.puzzle-game .block-cell[data-anchor=true]::after{content:'+';position:absolute;inset:0;display:grid;place-items:center;color:#fff4d6;font:24px var(--mono);pointer-events:none}.puzzle-game .block-tray{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;touch-action:none;padding-top:8px;max-width:448px;margin:auto}.puzzle-game .block-piece{min-width:48px;min-height:100px;padding:8px 6px 24px;position:relative;border:2px solid #40516f;background:#101827;display:grid;place-items:center;touch-action:none;color:#b8c7d9}.puzzle-game .block-piece>svg{width:100%;height:60px;pointer-events:none;image-rendering:pixelated}.puzzle-game .block-piece[aria-pressed=true]{border-color:#ffd166;background:#253b4e}.puzzle-game .block-piece:disabled{opacity:.45}.puzzle-game .block-slot-number{position:absolute;bottom:2px;left:0;right:0;font:11px/20px var(--mono);text-align:center}.puzzle-game .puzzle-progress{font:12px/1.8 var(--mono);color:#b8c7d9;padding:4px 8px;overflow-wrap:anywhere}.puzzle-game .next-options{border-top:0}.puzzle-game .fruit-board{display:block;max-width:340px;aspect-ratio:320/420;touch-action:none;cursor:crosshair;overflow:hidden;background:repeating-linear-gradient(0deg,#101827 0 39px,#1d2d40 39px 40px);box-shadow:inset 3px 0 #91a4ba,inset -3px 0 #91a4ba,inset 0 -12px #40516f}.puzzle-game .fruit-field,.puzzle-game .fruit-effects{position:absolute;inset:0;pointer-events:none}.puzzle-game .fruit-field{z-index:2}.puzzle-game .fruit-effects{z-index:4}.puzzle-game .fruit-body,.puzzle-game .fruit-loaded{position:absolute;aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none}.puzzle-game .fruit-body>svg,.puzzle-game .fruit-loaded>svg{display:block;width:100%;height:100%;image-rendering:pixelated}.puzzle-game .fruit-loaded{z-index:3;opacity:.8}.puzzle-game .fruit-warning{position:absolute;left:3px;right:3px;top:17.142857%;border-top:2px dashed #f49aaf;color:#f49aaf;font:9px/18px var(--mono);padding-left:6px;pointer-events:none;z-index:1}.puzzle-game .fruit-warning[data-danger=true]{background:#553549;color:#fff4d6}.puzzle-game .fruit-aim{position:absolute;top:8%;bottom:3%;border-left:1px dashed #b8c7d9;pointer-events:none}.puzzle-game .fruit-score-pop{position:absolute;transform:translate(-50%,-50%);color:#fff4d6;background:#101827;font:700 14px/1.5 var(--mono);padding:2px 4px}.puzzle-game .fruit-queue{display:flex;flex-wrap:wrap;gap:8px 16px;padding:8px 0;grid-column:1/-1}.puzzle-game .fruit-queue-item{display:grid;grid-template-columns:32px auto;align-items:center;gap:3px 6px;font:11px/1.6 var(--mono)}.puzzle-game .fruit-queue-item>svg{grid-row:1/3;grid-column:1;width:32px;height:32px}.puzzle-game .fruit-queue-item>span{grid-column:2}.puzzle-game #fruit-aim{width:100%;min-width:0;min-height:48px;margin:0;accent-color:#74dab9}.puzzle-game .puzzle-cell[aria-disabled=true]{cursor:default}.puzzle-game .puzzle-cell[aria-disabled=true]>svg{opacity:.8}
@media(max-width:760px){.arcade-game.puzzle-game{padding-inline:0}.puzzle-game #classic-controls{padding:6px;gap:8px}.puzzle-game .block-piece{min-height:88px}.puzzle-game .block-piece>svg{height:50px}.puzzle-game .next-sidebar{padding:0 2px}.puzzle-game .puzzle-grid-wrap{padding-top:3px}.puzzle-game .next-options .fruit-queue{grid-column:1/-1}.puzzle-game .fruit-board{max-width:320px}.puzzle-game .fruit-queue-item{font-size:10px}}
.studio-tool{max-width:1040px}.studio-tool .studio-icon{display:inline-block;width:40px;height:32px;margin-right:12px;vertical-align:middle;shape-rendering:crispEdges}.studio-tool #local-controls{min-width:0}.studio-tool .local-field input,.studio-tool .local-field select,.studio-tool .button{min-height:48px;font-size:16px}.studio-tool :is(p,a,li,label){overflow-wrap:anywhere}.studio-tool .local-result{white-space:pre-wrap}.studio-coordinates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.studio-image-stage{position:relative;max-width:760px;margin:16px auto;outline:1px solid var(--line);line-height:0;touch-action:none;user-select:none;overflow:hidden}.studio-image-stage canvas{display:block;width:100%;height:auto}.studio-image-stage canvas[hidden]{display:none}.studio-tool #edit-layer,.studio-tool #pdf-overlays{position:absolute;inset:0;pointer-events:none}.studio-region{position:absolute;border:2px dashed #fff;outline:1px solid #000;color:#fff;background:transparent;font-size:14px;line-height:1.5;text-shadow:1px 1px #000}.studio-color-marker{position:absolute;transform:translate(-50%,-50%);color:#fff;text-shadow:1px 1px #000,-1px -1px #000;font-size:30px;line-height:1}.color-palette{display:grid;gap:10px}.color-palette .color-swatch{border-left-width:24px;text-align:left;white-space:normal}.studio-pdf-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,1fr);gap:24px;align-items:start}.studio-preview-column,.studio-settings{min-width:0}.studio-pdf-stage{position:relative;max-width:100%;line-height:0;overflow:hidden;outline:1px solid var(--line);margin:16px 0}.studio-tool #pdf-base{display:block;width:100%;height:auto}.studio-tool #pdf-base[hidden]{display:none}.studio-tool #pdf-overlays img{position:absolute;max-width:none;transform-origin:center}.signature-pad{display:block;width:100%;height:auto;aspect-ratio:36/11;outline:1px solid var(--line);background:#fff;touch-action:none;user-select:none}.studio-tool .local-actions{flex-wrap:wrap}.studio-tool progress{width:100%;height:16px}.studio-file-list{padding-left:24px}.studio-file-list li{margin:18px 0}.studio-file-list .button{display:inline-flex;align-items:center}.studio-tool .studio-coordinates{margin-bottom:18px}.studio-tool :focus-visible{outline:3px solid var(--fg);outline-offset:4px}@media(max-width:760px){.studio-pdf-layout{grid-template-columns:minmax(0,1fr);gap:16px}.studio-coordinates{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-tool{padding-inline:16px}.studio-image-stage{margin-inline:0}.studio-tool .local-actions .button{white-space:normal}.studio-tool .local-grid{grid-template-columns:minmax(0,1fr)}}
.conversion-tool{min-width:0}.conversion-tool :is(input,select,.button){min-width:0;min-height:48px;font-size:16px;max-width:100%}.conversion-tool :is(p,li,label){overflow-wrap:anywhere}.conversion-tool progress{width:100%;height:18px}.conversion-preview{display:block;max-width:100%;height:auto;margin:18px auto;border:1px solid var(--line)}.conversion-preview[hidden]{display:none}.conversion-tool #gif-list img{object-fit:contain;flex:none}.conversion-tool #gif-list li{flex-wrap:wrap;gap:8px}.conversion-tool #gif-list span{min-width:0;flex:1 1 120px}.conversion-tool #office-results li{display:flex;flex-wrap:wrap;gap:12px;min-width:0}.conversion-tool #office-results a{display:inline-flex;align-items:center;overflow-wrap:anywhere;white-space:normal}.conversion-summary{white-space:pre-wrap;max-height:480px;overflow:auto;font-family:sans-serif}.conversion-tool :focus-visible{outline:3px solid var(--fg);outline-offset:3px}@media(max-width:760px){.conversion-tool .local-grid{grid-template-columns:minmax(0,1fr)}.conversion-tool .local-actions{flex-wrap:wrap}.conversion-tool .button{white-space:normal}}
/* Compact discovery only; individual game cabinets and workbenches stay unchanged. */
.launcher-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 24px;align-items:center;padding-block:16px;border-bottom:1px solid var(--line)}.launcher-intro h1{font:900 24px/1.2 'Arial Black',Arial,sans-serif;letter-spacing:.02em}.launcher-intro h1 span{color:var(--muted);font-size:16px}.launcher-intro p{font-size:12px;color:var(--muted);grid-column:1}.launcher-intro>a{grid-column:2;grid-row:1/3;display:inline-flex;align-items:center;min-height:44px;font-size:13px;text-decoration:none}
.directory{padding-block:20px 28px;scroll-margin-top:76px;min-width:0}.directory-heading{position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.directory-heading h1,.directory-heading h2{font-size:28px;line-height:1.3}.directory-heading>p{font-size:13px;color:var(--muted)}.directory-controls{margin-bottom:8px}.directory-filters{display:flex;gap:12px;align-items:center}.directory-search{flex:1;min-width:0}.directory input,.directory select{border:1px solid var(--strong-line);border-radius:0;background:var(--bg);color:var(--fg);font:16px/1.5 var(--sans);min-height:44px;padding:8px 10px;min-width:0;max-width:100%}.directory-search input{width:100%}.directory-category{display:flex;gap:8px;align-items:center;font-size:13px;min-width:0}.directory-category select{width:200px}.directory button{min-height:44px;min-width:44px;padding:8px 12px;font-size:13px;border-color:var(--strong-line);white-space:normal}.directory-scopes{display:flex;gap:0;margin-bottom:12px}.directory-scopes button{flex:1;max-width:160px}.directory-scopes button+button{border-left:0}.directory-scopes button[aria-pressed=true]{background:var(--fg);color:var(--bg);font-weight:700}.directory-count{font-size:12px;line-height:24px;color:var(--muted);margin-bottom:8px;font-variant-numeric:tabular-nums}.directory-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;align-content:start}.directory-list>li{position:relative;min-width:0;display:flex}.directory-link{display:flex;align-items:center;width:100%;min-height:68px;padding:10px 12px;border:1px solid var(--line);font-size:14px;font-weight:700;line-height:1.5;text-decoration:none;background:var(--panel)}.directory-link>span:first-child{min-width:0;word-break:keep-all;overflow-wrap:anywhere}.directory-game{background:#19263b;color:#fff4d6;border-color:#40516f;border-left:3px solid #74dab9}.directory-game:focus-visible{outline:3px solid #ffd166;outline-offset:2px}.directory-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:12px;min-height:48px}.directory-pagination select{width:112px;font-size:14px}.directory-pagination button{min-width:80px}.directory-empty{padding:20px 0}.directory-empty p{font-size:14px;margin-bottom:12px}.directory-empty button{font-weight:700}.directory-legacy{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:12px}.directory-legacy a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}.directory-anchor{position:absolute;left:0;top:0;scroll-margin-top:100px}.directory-recovery{font-size:13px;margin-top:16px}.directory-recovery a{display:inline-flex;align-items:center;min-height:44px}.directory :focus-visible{outline-offset:2px}
@media(hover:hover){.directory-link:hover{border-color:var(--fg);text-decoration:underline}.directory-game:hover{border-color:#74dab9}.directory button:not(:disabled):not([aria-pressed=true]):hover{background:var(--raised)}}
@media(max-width:1000px){.directory-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.launcher-intro{padding-block:10px;gap:0 8px}.launcher-intro h1{font-size:18px}.launcher-intro h1 span{display:block;font-size:12px}.launcher-intro p{grid-column:1/-1;font-size:11px;line-height:1.8}.launcher-intro>a{grid-row:1;min-height:44px;font-size:12px}.directory{padding-block:12px 20px}.directory-heading{margin-bottom:8px}.directory-heading h1,.directory-heading h2{font-size:24px}.directory-heading>p{font-size:11px}.directory-scopes{margin-bottom:8px}.directory-filters{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.directory-search{grid-column:1/-1}.directory-category select{width:100%;flex:1}.directory-category{min-width:0}.directory-scopes button{max-width:none;padding-inline:8px}.directory-list{grid-template-columns:repeat(3,minmax(0,1fr))}.directory-link{padding:8px;font-size:14px;min-height:68px}.directory-count{margin-bottom:8px}.directory-pagination{gap:8px}.directory-pagination button{min-width:76px}}
@media(max-width:320px){.directory-list{grid-template-columns:repeat(2,minmax(0,1fr))}.launcher-intro{grid-template-columns:minmax(0,1fr)}.launcher-intro>a{grid-column:1;grid-row:auto}.directory-pagination{gap:4px}.directory-pagination button{min-width:64px;padding-inline:6px}.directory-pagination select{width:96px}}
.variety-game #classic-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);gap:16px;min-width:0;padding:16px}.variety-game .variety-play,.variety-game .variety-sidebar,.variety-game .variety-board{min-width:0}.variety-game .variety-board{background:#101827;padding:12px;border:2px solid #40516f;max-width:560px;margin-inline:auto}.variety-game .variety-meter{color:#ffd166;font-size:13px;line-height:1.9;padding:10px 14px;border-bottom:2px solid #40516f;overflow-wrap:anywhere}.variety-game .variety-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 8px}.variety-game .variety-options>*{min-width:0;max-width:100%}.variety-game .variety-options label{font-size:12px;display:grid;gap:6px}.variety-game .variety-options input,.variety-game .variety-options select{width:100%;font:16px var(--sans);min-height:48px;background:#101827;color:#fff4d6;border:2px solid #91a4ba;padding:8px}.variety-game .variety-options .button{font-size:12px;padding:8px;white-space:normal}.variety-game .variety-retry{display:inline-flex;align-items:center;min-height:44px;margin:0 14px;color:#b8c7d9;font-size:12px}.variety-game .variety-board button{font-family:var(--sans);border-radius:0;color:#fff4d6}.variety-game .variety-board button:disabled{color:#a1afc4;background:#19263b;border-color:#40516f;opacity:1}.variety-game .variety-board button[aria-disabled=true]{cursor:default}.variety-game .reaction-signal{display:block;width:100%;min-height:240px;background:#2d4260;border:4px double #91a4ba;font-size:24px;line-height:1.8;touch-action:manipulation}.variety-game .reaction-signal[data-phase=wait]{background:#542634;border-color:#f49aaf}.variety-game .reaction-signal[data-phase=go]{background:#74dab9;color:#101827;border-color:#fff4d6;box-shadow:inset 0 0 0 8px #37796b}.variety-game .reaction-results{padding:12px 0 0 24px;font-size:13px;color:#ffd166;line-height:2}.variety-game .memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.variety-game .memory-pad{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:44px;min-height:72px;aspect-ratio:1;background:#19263b;border:2px solid #91a4ba;font-size:20px;position:relative}.variety-game .memory-pad .pixel-art{width:70%;height:65%}.variety-game .memory-pad[data-lit=true]{background:#ffd166;color:#101827;outline:4px solid #fff4d6;outline-offset:-6px}.variety-game .memory-pad[data-lit=true]::after{content:'●';position:absolute;right:6px;top:2px;font-size:12px}.variety-game .checker-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));padding:4px;gap:0;aspect-ratio:1}.variety-game .checker-cell{display:grid;place-items:center;min-width:0;min-height:0;width:100%;aspect-ratio:1;padding:0;border:0;background:#c5d5ce;position:relative}.variety-game .checker-cell[data-dark=true]{background:#2d4260}.variety-game .checker-cell .pixel-art{width:90%;height:90%}.variety-game .checker-cell[data-movable=true]::before{content:'';position:absolute;inset:5%;border:1px dashed #74dab9;pointer-events:none}.variety-game .checker-cell[data-selected=true]{outline:3px solid #fff4d6;outline-offset:-3px;z-index:1}.variety-game .checker-cell[data-legal=true]::after{content:'';position:absolute;inset:35%;border:3px solid #74dab9;background:#101827}.variety-game .checker-cell:focus-visible{outline:3px dashed #b52f49;outline-offset:-3px;z-index:2}.variety-game .domino-chain{display:flex;gap:4px;overflow-x:auto;min-height:100px;padding:12px 2px;border-bottom:2px solid #40516f;align-items:center}.variety-game .domino-chip{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:80px;min-height:48px;border:2px solid #91a4ba;background:#19263b;padding:3px}.variety-game .domino-chip .pixel-art{width:100%;height:auto}.variety-game .domino-hand{display:flex;flex-wrap:wrap;gap:8px;padding-top:12px}.variety-game .domino-summary{font-size:12px;line-height:1.8;color:#b8c7d9;padding-top:12px;overflow-wrap:anywhere}.variety-game .dice-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:16px}.variety-game .score-die{display:flex;align-items:center;flex-direction:column;justify-content:center;min-width:0;min-height:64px;padding:3px;border:2px solid #91a4ba;background:#19263b;font-size:11px}.variety-game .score-die .pixel-art{width:100%;max-width:56px;height:auto}.variety-game .score-die[aria-pressed=true]{border:3px double #fff4d6}.variety-game .dice-scorecard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.variety-game .score-category{min-width:0;min-height:48px;border:1px solid #91a4ba;background:#2d4260;padding:8px;font-size:12px;line-height:1.8;word-break:keep-all;overflow-wrap:anywhere}.variety-game .score-category:disabled{opacity:1;color:#a1afc4;background:#19263b;border-color:#40516f}.variety-game svg.tangram-stage{display:block;pointer-events:auto;touch-action:none;width:100%;height:auto;aspect-ratio:4/5;max-height:none;background:#101827}.variety-game .tangram-stage polygon{pointer-events:auto}.variety-game .tangram-stage [data-piece]{cursor:grab}.variety-game .tangram-stage [data-piece]:active{cursor:grabbing}
@media(max-width:900px){.variety-game #classic-controls{grid-template-columns:minmax(0,1fr);padding:10px;gap:12px}.variety-game .variety-board{width:100%}.variety-game .variety-sidebar{width:100%}.variety-game .memory-grid{max-width:420px}.variety-game .reaction-signal{min-height:200px}}
.utility-tool{min-width:0;max-width:1040px}.utility-tool #local-controls{min-width:0}.utility-tool :is(input,select,textarea,.button){min-width:0;max-width:100%;font-size:16px}.utility-tool :is(input:not([type=checkbox]),select,.button){min-height:48px}.utility-tool .local-check{min-height:44px}.utility-tool :is(p,label,a,li,output){overflow-wrap:anywhere}.utility-tool .local-actions{flex-wrap:wrap}.utility-tool .button{white-space:normal;word-break:keep-all;overflow-wrap:anywhere}.utility-tool :focus-visible{outline:3px solid var(--fg);outline-offset:3px}.utility-preview{display:block;max-width:100%;max-height:520px;width:auto;height:auto;object-fit:contain;margin:20px auto;border:1px solid var(--line)}.utility-preview[hidden],.utility-tool [hidden]{display:none}.utility-tool #pw-result{font-family:monospace}.utility-tool .wheel-stage{position:relative;max-width:400px;margin:20px auto}.wheel-stage svg{display:block;width:100%;height:auto}.wheel-pointer{display:block;text-align:center;line-height:1;color:var(--fg);font-size:26px}.wheel-list{padding-left:32px;columns:2;column-gap:32px}.wheel-list li{break-inside:avoid;font-size:14px;margin:8px 0}.diff-result{border-top:1px solid var(--line);margin-block:16px}.diff-row{display:grid;grid-template-columns:120px minmax(0,1fr);padding:8px;border-bottom:1px solid var(--line)}.diff-number{font-size:12px;font-variant-numeric:tabular-nums}.diff-text{white-space:pre-wrap;overflow-wrap:anywhere;font-family:monospace;font-size:15px;min-width:0}.diff-add{border-left:4px solid var(--fg)}.diff-remove{border-left:4px dashed var(--fg);background:var(--panel)}.diff-equal{border-left:4px solid transparent}.utility-tool canvas.crop-stage{display:block;width:100%;height:auto;max-width:900px;margin:16px auto;touch-action:none;cursor:crosshair;border:1px solid var(--strong-line)}.utility-tool canvas.crop-stage[hidden]{display:none}.utility-tool #mach-result{display:block;font-size:24px;white-space:pre-wrap}@media(max-width:760px){.utility-tool .local-grid{grid-template-columns:minmax(0,1fr)}.utility-tool .local-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.utility-tool .local-actions>*{min-width:0}.wheel-list{columns:1}.diff-row{grid-template-columns:84px minmax(0,1fr)}}
.purple-landing{max-width:1000px}.purple-intro{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:24px;padding:24px;align-items:center}.purple-cartridge svg{display:block;width:100%;height:auto}.purple-cartridge>span{display:block;font-size:11px;color:#b8c7d9;line-height:1.8;margin-top:8px}.purple-intro p{overflow-wrap:anywhere}.purple-lead{font-size:clamp(20px,3vw,28px);color:#fff4d6;line-height:1.8}.purple-intro .game-controls{padding-inline:0}.purple-intro .control-note{padding:0}.purple-facts{border-top:2px solid #40516f;margin:0;padding:8px 24px 20px;color:#fff4d6}.purple-facts>div{display:grid;grid-template-columns:160px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid #40516f}.purple-facts dt{font-size:13px;color:#74dab9}.purple-facts dd{margin:0;font-size:14px;overflow-wrap:anywhere}.purple-facts dd span{display:block;color:#b8c7d9;font-size:12px;margin-top:6px}.purple-notes{margin-top:28px;font-size:14px;line-height:1.9;overflow-wrap:anywhere}.purple-notes h2{font-size:20px}.purple-notes details{border-top:1px solid var(--line);margin-top:20px}.purple-notes summary{min-height:48px;display:list-item;align-content:center;cursor:pointer;padding-block:12px}.purple-notes summary:focus-visible{outline:3px solid var(--fg);outline-offset:3px}.purple-notes ol{padding-left:24px}.purple-notes li{margin-block:12px}.purple-notes a{text-decoration:underline;text-underline-offset:4px}.purple-landing .button:focus-visible{outline:3px solid #ffd166;outline-offset:4px}@media(max-width:600px){.purple-intro{grid-template-columns:minmax(0,1fr);padding:16px;gap:12px}.purple-cartridge{max-width:96px}.purple-facts{padding:8px 16px 16px}.purple-facts>div{grid-template-columns:minmax(0,1fr);gap:6px}.purple-intro .game-controls .button{width:100%}}
.cube-tool{max-width:1120px;padding-top:16px}.cube-tool>.back-link{margin-bottom:0}.cube-tool .page-heading{padding-bottom:8px}.cube-tool .page-heading h1{margin-bottom:0}.cube-tool #local-controls{padding:0}.cube-tool h2{font-size:20px;margin:0 0 12px}.cube-tool p{line-height:1.85}.cube-tool .clock-details p{max-width:78ch}.cube-tool .cube-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px}.cube-tool .cube-toolbar .local-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;flex:1;max-width:460px;margin:0}.cube-tool #cube-hold-cue{font-weight:700}.cube-tool #cube-view-title{margin-bottom:8px}.cube-tool #cube-view-help{margin-top:8px}.cube-tool #cube-controls-column>.clock-details{padding-top:0;margin-bottom:12px}.cube-tool #cube-input-panel>.local-field{margin-top:12px}.cube-tool .local-actions{margin-block:12px}.cube-tool #cube-playback{border-top:1px solid var(--line);padding-top:16px}.cube-tool #cube-lesson-panel>p+p{margin-top:12px}.cube-palette{display:flex;flex-wrap:wrap;gap:8px;margin-block:12px}.cube-tool .cube-palette .button{min-height:48px;padding:8px 12px;border:2px solid #101216}.cube-tool .cube-palette [aria-pressed=true]{outline:3px double var(--fg);outline-offset:2px}.cube-tool [data-color=U]{background:#f5d328;color:#07101b}.cube-tool [data-color=R]{background:#f28b28;color:#07101b}.cube-tool [data-color=F]{background:#13925a;color:#07101b}.cube-tool [data-color=D]{background:#f4f4ed;color:#07101b}.cube-tool [data-color=L]{background:#d83635;color:#ffffff}.cube-tool [data-color=B]{background:#2867d0;color:#ffffff}.cube-tool [data-color="?"]{background:#697181;color:#ffffff}.cube-paint{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-width:340px;background:#101216;padding:6px}.cube-tool .cube-paint .button{min-width:0;min-height:76px;padding:6px;font-size:16px;line-height:1.4;border:2px solid #101216;font-weight:700}.cube-tool .cube-paint .button:disabled{opacity:1;border:3px double #101216;cursor:default}.cube-tool .cube-workspace{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;margin-block:12px 24px;align-items:start}.cube-tool .cube-workspace>div{min-width:0}.cube-tool #cube-canvas{display:block;width:100%;height:auto;aspect-ratio:7/6;max-height:420px;background:#19202c;touch-action:none;cursor:grab;border:1px solid #657386}.cube-tool #cube-canvas:active{cursor:grabbing}.cube-tool .cube-goal,.cube-tool .cube-position{font-weight:700}.cube-tool #cube-move{min-height:6em;border-left:3px solid var(--fg);padding-left:12px}.cube-sequence{font-family:var(--mono);word-spacing:.4em;overflow-wrap:anywhere}.cube-tool #cube-playback .local-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cube-tool .button:focus-visible{outline:3px solid var(--fg);outline-offset:3px}.cube-tool .cube-paint .button:focus-visible,.cube-tool .cube-palette .button:focus-visible{outline:3px dashed #101216;outline-offset:-6px;box-shadow:0 0 0 3px var(--fg)}@media(max-width:760px){.cube-tool .cube-workspace{grid-template-columns:minmax(0,1fr);gap:24px}.cube-tool .cube-toolbar{align-items:stretch;flex-direction:column;gap:8px}.cube-tool .cube-toolbar .local-field{max-width:none}.cube-tool #cube-move{min-height:0}.cube-tool .cube-paint .button{min-height:68px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.pin-halo{opacity:.7}}
