.play-hub,.play-page{padding:58px 24px 80px}.play-hub .category-kicker,.play-copy .category-kicker{display:block;margin-top:28px}.play-hub h1{font-size:clamp(2.6rem,5.6vw,4.9rem);line-height:1.16;letter-spacing:-.055em;margin:22px 0}.play-hub h1 span,.play-copy h1 span{color:var(--cyan)}.play-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:42px}.play-card{display:block;overflow:hidden;border:1px solid #293e59;border-radius:22px;background:linear-gradient(145deg,#102039,#0a1223);transition:transform .18s,border-color .18s}.play-card:hover{transform:translateY(-5px);border-color:#68cbd9}.play-card img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;background:#102039}.play-card>div{padding:25px}.play-tag{font-size:.74rem;color:#79e8db;letter-spacing:.05em}.play-card h2{font-size:1.45rem;letter-spacing:-.045em;margin:13px 0}.play-card h2 span{color:var(--cyan);float:right}.play-card p{line-height:1.85;color:#b2c0d5;font-size:.94rem;margin:10px 0}.play-card small{display:block;color:#92a8c5;font-size:.8rem;line-height:1.7}.play-link{display:block;border-top:1px solid #263a54;margin-top:24px;padding-top:18px;color:#e9f8ff;font-weight:650}.play-hub-note{padding:30px;border:1px solid #283b55;border-radius:18px;margin-top:40px}.play-hub-note h2{font-size:1.4rem;margin:0 0 14px}.play-hub-note p{color:#aebed4;line-height:1.9;margin:8px 0}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,520px);gap:65px;align-items:start}.play-copy h1{font-size:clamp(2.5rem,4.9vw,4.3rem);line-height:1.2;letter-spacing:-.06em;margin:20px 0}.play-cover{display:block;max-width:440px;width:100%;height:auto;border-radius:18px;margin-top:28px;border:1px solid #293d58}.play-note{color:#aebed5;font-size:.83rem;line-height:1.85;margin:18px 0}.play-copy .text-link{display:inline-block;margin-top:7px}.play-panel{padding:26px;border:1px solid #2a405d;border-radius:24px;background:linear-gradient(155deg,#13243d,#0a1222);box-shadow:0 24px 60px #0003;min-width:0}.play-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;text-align:center}.play-stats span{display:block;color:#aabed6;font-size:.73rem}.play-stats strong{display:block;font-size:1.32rem;line-height:1.9;color:#f4faff;white-space:nowrap;font-variant-numeric:tabular-nums}.play-message{text-align:center;padding:20px 0 18px;min-height:130px}.play-message>span{font-size:.7rem;letter-spacing:.16em;color:#78ebdb}.play-message h2{font-size:1.2rem;margin:9px 0;line-height:1.55}.play-message p{font-size:.83rem;line-height:1.65;color:#b2c5dc;margin:0}.play-board{display:grid;grid-template-columns:repeat(var(--board-side,3),minmax(0,1fr));gap:10px;user-select:none}.play-tile{aspect-ratio:1;min-width:0;width:100%;border:1px solid #3d5475;border-radius:13px;background:#20354f;color:#e1ecff;font:inherit;font-size:1.2rem;font-weight:750;cursor:pointer;touch-action:manipulation;transition:background .06s;-webkit-tap-highlight-color:transparent}.play-tile:disabled{opacity:1;cursor:default}.play-tile.is-lit{background:#7af2de;color:#0b2b2b;box-shadow:0 0 22px #52e3db55;border-color:#d4fff7}.play-tile.is-cleared{background:#13273a;color:#4c647e;border-color:#22384f}.number-order .play-tile{border-radius:9px}.color-match{gap:8px}.color-match .play-tile{border:0;border-radius:8px}.play-tile:focus-visible{outline:3px solid white;outline-offset:3px}.play-actions{display:flex;gap:12px;align-items:center;margin-top:24px}.play-actions .btn{flex:1;justify-content:center;min-height:48px}.play-secondary,.play-period button,.play-delete button{font:inherit;cursor:pointer;background:#14273f;border:1px solid #3b5371;color:#dbe9ff;border-radius:9px;padding:11px 15px}.play-actions button:disabled{opacity:.5;cursor:default}.play-panel>.play-note{font-size:.73rem;text-align:center;margin-bottom:0}.play-submit{margin-top:26px;padding-top:24px;border-top:1px solid #31445f}.play-submit[hidden],.play-delete [hidden]{display:none!important}.play-submit h3{font-size:1.1rem;margin:0 0 10px}.play-submit>p{font-size:.85rem;line-height:1.8;color:#c1d3ea}.play-submit>label{display:block;font-size:.88rem;line-height:1.7;margin:16px 0 9px}.play-submit small{color:#9cb2cf;font-size:.72rem}.play-submit input[type=text],#gameNickname{width:100%;background:#091629;border:1px solid #466380;color:white;padding:13px 14px;border-radius:9px;font:inherit;box-sizing:border-box}.play-consent{display:flex!important;gap:10px;align-items:flex-start}.play-consent input{margin-top:5px;width:18px;height:18px;flex:none}.play-consent span{font-size:.75rem;color:#b7cce5}.play-consent a{color:#7ceede;text-decoration:underline}.play-submit button{margin-top:8px}.play-submit button:disabled{opacity:.5}.play-ranking{margin-top:70px;padding:30px;border:1px solid #2c405b;border-radius:22px;background:#0b1627}.play-ranking-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}.play-ranking h2{font-size:1.6rem;margin:12px 0 0;line-height:1.5}.play-period{display:flex;gap:8px;flex-wrap:wrap}.play-period button{font-size:.85rem}.play-period [aria-pressed=true]{background:#70e6d5;color:#082b2a;border-color:#70e6d5;font-weight:700}#gameMyRank{font-size:.92rem;line-height:1.8;color:#79e7da;margin:18px 0}.play-table-wrap{overflow-x:auto}.play-ranking table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem}.play-ranking caption{text-align:left;color:#8ea8c9;font-size:.75rem;padding:10px 0}.play-ranking th,.play-ranking td{padding:15px 12px;border-bottom:1px solid #263c57;white-space:nowrap}.play-ranking th{color:#91a9c7;font-weight:500}.play-ranking td:nth-child(2){white-space:normal;overflow-wrap:anywhere}.play-ranking .is-mine{background:#113530}.play-delete{margin-top:24px;color:#a9bdd5;font-size:.8rem;line-height:2}.play-delete>button{font-size:.8rem}.play-delete span{display:block;margin-top:15px}.play-delete span button{font-size:.8rem;margin-left:7px}.play-faq{margin-top:54px}.play-faq h2{font-size:1.5rem;margin-bottom:18px}.play-faq details{padding:18px 0;border-bottom:1px solid #263a53}.play-faq summary{font-weight:600;cursor:pointer;line-height:1.7}.play-faq p{max-width:900px;color:#b4c7df;line-height:1.9;margin-top:12px;font-size:.92rem}.play-ranking button:focus-visible,.play-actions button:focus-visible,.play-submit button:focus-visible{outline:3px solid white;outline-offset:3px}@media(max-width:900px){.play-cards{gap:15px}.play-card>div{padding:20px}.play-card h2{font-size:1.2rem}.play-layout{gap:32px}}@media(max-width:760px){.play-hub,.play-page{padding:28px 18px 55px}.play-cards{grid-template-columns:1fr;gap:22px;max-width:500px;margin:30px auto 0}.play-card h2{font-size:1.4rem}.play-hub-note{padding:22px}.play-layout{grid-template-columns:1fr;gap:24px}.play-copy h1{font-size:2.6rem}.play-copy .play-cover{display:none}.play-copy>.play-note{margin:12px 0}.play-panel{padding:20px;width:100%;max-width:520px;justify-self:center;box-sizing:border-box}.play-ranking{padding:22px 16px;margin-top:40px}.play-ranking h2{font-size:1.35rem}.play-tile{border-radius:10px}.play-board{gap:8px}.color-match{gap:6px}.play-period button{padding:9px 11px}.play-stats strong{font-size:1.2rem}.play-faq{margin-top:36px}.play-hub h1{font-size:2.7rem}}@media(prefers-reduced-motion:reduce){.play-card,.play-tile{transition:none}.play-card:hover{transform:none}}
.arcade-board{display:block!important;overflow:hidden;border:1px solid #385571;border-radius:15px;aspect-ratio:3/4;background:#0b192b}.arcade-board canvas{display:block;width:100%;height:auto;aspect-ratio:3/4;touch-action:none;outline-offset:-4px}.arcade-board canvas:focus-visible{outline:2px solid #84f0de}.arcade-hint{font-size:.78rem;color:#aed7e2;line-height:1.8;text-align:center;min-height:28px;margin:12px 0}.arcade-controls{display:flex;flex-direction:column;align-items:center;gap:7px}.arcade-controls>div{display:flex;gap:8px;justify-content:center;width:100%}.arcade-controls button{min-width:58px;min-height:48px;padding:10px 18px;background:#1c3b54;border:1px solid #507495;border-radius:11px;color:#e3f7ff;font:700 1rem system-ui,sans-serif;touch-action:none;user-select:none;-webkit-user-select:none}.arcade-controls button:active{background:#386a79}.arcade-controls button:focus-visible{outline:3px solid #a9fff2;outline-offset:2px}.arcade-items{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:17px;font-size:.69rem;line-height:1.7;color:#c1d2e9}.game-audio{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid #29415f}.game-audio button{font-size:.76rem;padding:9px 12px;white-space:nowrap}.game-audio button[aria-pressed=true]{color:#8ff0d6;border-color:#6cbba9}.game-audio label{display:flex;align-items:center;gap:7px;font-size:.74rem;color:#b8c9df}.game-audio input{width:85px;accent-color:#79e6d1}.game-audio-note{font-size:.67rem;color:#829ab9;width:100%;line-height:1.6}.play-hub h1{word-break:keep-all}@media(max-width:760px){.play-hub h1{font-size:clamp(1.85rem,8.5vw,2.3rem)}.arcade-controls button{min-height:50px;flex:1;max-width:140px}.arcade-controls>button{min-width:65px;flex:none}.arcade-items{font-size:.67rem}.play-panel:has(.arcade-board){padding:16px}.play-copy .category-kicker{margin-top:18px}}

#arcadeCanvas{scroll-margin-top:90px}

#manoGame[data-game="maze-escape"] .play-stats strong{white-space:normal;font-size:clamp(.82rem,2.7vw,1.05rem);line-height:1.6;overflow-wrap:anywhere;padding-top:5px}
#manoGame[data-game="chess-defense"] .play-stats strong{white-space:normal;font-size:clamp(.82rem,2.7vw,1.05rem);line-height:1.6;overflow-wrap:anywhere;padding-top:5px}

/* Long presses on gameplay controls must not open mobile callouts or select labels. */
#manoGame .arcade-controls,#manoGame .arcade-controls *,#manoGame canvas,#manoGame .play-tile,#manoGame .strategy-actions button,#manoGame .fruit-controls button{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-tap-highlight-color:transparent}
#manoGame .arcade-controls,#manoGame .arcade-controls button{touch-action:none}

.game-music-credits{width:100%;color:#a9bed6;font-size:.7rem;line-height:1.8;overflow-wrap:anywhere}.game-music-credits summary{cursor:pointer;color:#abdcca;min-height:32px;display:list-item}.game-music-credits p{font-size:inherit;margin:8px 0}.game-music-credits a{color:#9ce9da;text-decoration:underline;text-underline-offset:3px}

/* Game collections */
.game-collection-filters{display:flex;flex-wrap:wrap;gap:10px;margin:32px 0 12px;padding:0;justify-content:flex-start}.game-collection-filters a{display:flex;align-items:center;gap:10px;border:1px solid #36506c;border-radius:999px;padding:12px 20px;color:#c3d3e8;font-size:14px;background:#0c1728}.game-collection-filters a[aria-current=true]{color:#061522;background:#7ce8e5;border-color:#7ce8e5;font-weight:750}.game-collection-filters span{font-size:12px;opacity:.75}.game-collection-filters a:focus-visible{outline:3px solid white;outline-offset:3px}.game-filter-status{color:var(--text-mute);font-size:13px}.game-collection{margin-top:40px;scroll-margin-top:125px}.game-collection[hidden]{display:none!important}.game-collection-heading h2{font-size:clamp(26px,4vw,34px);margin:0 0 12px}.game-collection-heading p{color:#b2c0d5;font-size:15px;line-height:1.8}.game-collection .play-cards{margin-top:24px}.play-card h3{font-size:1.45rem;letter-spacing:-.045em;margin:13px 0}.play-card h3 span{color:var(--cyan);float:right}[data-game-collection=special] .play-card{border-color:#416082}[data-game-collection=special] .game-collection-heading h2{color:#9deaf3}@media(max-width:760px){.game-collection-filters{gap:8px}.game-collection-filters a{padding:11px 13px;font-size:13px}.game-collection{scroll-margin-top:90px}.play-card h3{font-size:1.4rem}}

.game-collection-filters{scroll-margin-top:100px}
