/* Scoped additions: catalog, Reversi and solo discoveries. */
[data-sky] { --discovery-accent:#c0adff; --discovery-glow:#aa8fff26; }
[data-sky="mint"] { --discovery-accent:#8de1c3; --discovery-glow:#70e3b526; }
[data-sky="amber"] { --discovery-accent:#f5ce8b; --discovery-glow:#ffc86f26; }
.discovery-lobby { margin:0 0 22px; }
.discovery-banner { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:22px 26px; border:1px solid var(--line); border-left:3px solid var(--discovery-accent); border-radius:22px; background:var(--surface); }
.discovery-banner h2 { font-size:24px; margin:5px 0 8px; }
.discovery-banner p { margin:0; color:var(--muted); font-size:14px; }
.discovery-banner .primary { flex-shrink:0; }
.discovery-kicker { color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.1em; }
.discovery-toolbar { display:flex; flex-wrap:wrap; gap:6px; padding:6px; background:var(--surface); border:1px solid var(--line); border-radius:16px; margin:18px 0 0; }
.discovery-toolbar button { flex:1; min-height:44px; padding:8px 12px; white-space:nowrap; background:transparent; color:var(--muted); border:0; border-radius:11px; font-size:14px; }
.discovery-toolbar button[aria-pressed="true"] { background:var(--blue); color:white; }
.discovery-toolbar small { display:inline-block; margin-left:3px; font-size:10px; }
#discovery-personal { margin-top:14px; padding:20px; border:1px solid var(--line); border-radius:18px; background:var(--surface); }
#discovery-personal p { font-size:13px; color:var(--muted); margin:16px 0 8px; }
.discovery-records { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.discovery-records div { display:flex; flex-direction:column; gap:2px; }
.discovery-records strong { font-size:26px; line-height:1.25; font-variant-numeric:tabular-nums; color:var(--ink); }
.discovery-records strong small { font-size:13px; font-weight:500; }
.discovery-records span { font-size:12px; color:var(--muted); }
.sky-picker { display:flex; align-items:center; gap:6px; flex-wrap:wrap; border-top:1px solid var(--line); margin-top:18px; padding-top:12px; }
.sky-picker>span { font-size:13px; margin-right:6px; }
.sky-picker button { width:44px; height:44px; border:1px solid transparent; border-radius:50%; background:transparent; display:grid; place-items:center; }
.sky-picker button[aria-pressed="true"] { border-color:var(--ink); }
.sky-picker i { display:block; width:22px; height:22px; border-radius:50%; background:#c0adff; }
.sky-picker [data-sky-choice="mint"] i { background:#8de1c3; }
.sky-picker [data-sky-choice="amber"] i { background:#f5ce8b; }
.sky-picker small { margin-left:auto; color:var(--muted); font-size:11px; }
#main .grid .card { position:relative; }
#main .grid .card[hidden], #discovery-personal[hidden], #discovery-empty[hidden] { display:none; }
#main .game-favorite { position:absolute; right:10px; top:10px; z-index:2; width:44px; height:44px; padding:0; font-size:25px; line-height:1; border:1px solid #d0def33b; border-radius:50%; background:#182739; color:#f3f6ff; box-shadow:none; }
#main .game-favorite[aria-pressed="true"] { color:#ffc4d9; border-color:#ffc4d97a; }
#main .card-art.discovery-art { min-height:150px; height:180px; background:#202b40; display:grid; place-items:center; overflow:hidden; }
#main .card-art.art-reversi { background:#163d36; }
#main .card-art.art-merge2048 { background:#29324d; }
#main .card-art.art-constellation { background:#222a45; color:var(--discovery-accent,#c0adff); }
.reversi-cover { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; transform:rotate(-12deg); padding:12px; border:1px solid #a0d9bd40; border-radius:16px; background:#1d4c43; }
.reversi-cover .reversi-disc { width:43px; height:43px; }
.merge-cover { display:grid; grid-template-columns:repeat(2,1fr); gap:6px; transform:rotate(8deg); }
.merge-cover span { display:grid; place-items:center; width:54px; height:54px; border-radius:10px; color:#182138; font-size:24px; font-weight:800; background:#c3d6f7; }
.merge-cover span:nth-child(2) { background:#bba5f3; }
.merge-cover span:nth-child(3) { background:#f6c58a; }
.merge-cover span:nth-child(4) { background:#fa927b; }
.stars-cover { width:220px; max-width:85%; height:150px; }
.discovery-game,.reversi-panel { max-width:600px; margin:0 auto 24px; padding:28px; }
.discovery-game-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:22px; }
.discovery-game-heading h1 { margin:7px 0 0; font-size:34px; }
.discovery-tag { white-space:nowrap; padding:8px 12px; border-radius:12px; background:var(--soft); color:var(--muted); font-size:14px; }
.discovery-symbol { color:var(--discovery-accent); font-size:46px; line-height:1; }
.discovery-game .discovery-scoreline { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0 0 22px; }
.discovery-scoreline>div { background:var(--soft); border-radius:14px; padding:12px; min-width:0; }
.discovery-scoreline span { display:block; font-size:11px; color:var(--muted); margin-bottom:5px; }
.discovery-scoreline strong { font-size:23px; line-height:1.2; font-variant-numeric:tabular-nums; color:var(--ink); overflow-wrap:anywhere; }
.discovery-scoreline strong small { font-size:13px; font-weight:400; color:var(--muted); }
.discovery-tip { font-size:14px; line-height:1.6; color:var(--muted); margin:18px 0; }
.discovery-footnote { color:var(--muted); font-size:12px; margin:16px 0 0; }
.discovery-actions { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; margin:15px 0 0; }
.merge-board { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; padding:10px; border-radius:19px; background:#111d2c; touch-action:none; user-select:none; -webkit-user-select:none; }
.merge-tile { display:grid; place-items:center; aspect-ratio:1; border-radius:11px; font-size:clamp(23px,7vw,38px); font-weight:750; letter-spacing:-.045em; color:#18253b; background:#263548; transition:background .15s; }
.tile-2 { background:#e5ecf5; }.tile-4 { background:#c9d9ef; }.tile-8 { background:#a4bfee; }
.tile-16 { background:#b7a2f1; }.tile-32 { background:#d4acec; }.tile-64 { background:#f6b58d; }
.tile-128 { background:#f29182; }.tile-256 { background:#edba61; }.tile-512 { background:#f1d78e; }
.tile-1024 { background:#8fe0c6; }.tile-2048 { background:#a7ebdf; box-shadow:inset 0 0 0 2px #edfff8; }
.merge-tile.is-spawned:not(.tile-0) { animation:discovery-appear .18s ease-out; }
.merge-controls { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.merge-controls .secondary { font-size:24px; padding:7px; min-height:48px; }
.constellation-board { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; padding:14px; border:1px solid #5d658b; border-radius:22px; background:radial-gradient(ellipse at center,var(--discovery-glow),transparent 80%),#101d31; }
.constellation-board .star-cell { display:grid; place-items:center; aspect-ratio:1; min-width:0; padding:0; border:1px solid #67738e60; border-radius:12px; background:#1a2a42; color:#96a9c6; font-size:28px; line-height:1; transition:background .15s,color .15s; }
.constellation-board .star-cell.is-lit { color:var(--discovery-accent); background:var(--discovery-glow); border-color:var(--discovery-accent); text-shadow:0 0 18px var(--discovery-accent); }
.constellation-board .star-cell.is-hint { outline:3px solid #fff; outline-offset:1px; }
.constellation-board .star-cell:disabled { opacity:1; cursor:default; }
.constellation-board.is-complete { box-shadow:0 0 26px var(--discovery-glow); }
.discovery-success { text-align:center; padding:24px 12px 8px; }
.discovery-success h2 { margin:8px 0; font-size:25px; }
.discovery-success p { font-size:14px; color:var(--muted); }
.earned-stars { font-size:34px; letter-spacing:6px; color:#dfad54; }
.reversi-score { display:flex; gap:12px; margin:18px 0; }
.reversi-score>div { flex:1; display:flex; align-items:center; gap:8px; padding:12px; border:1px solid var(--line); border-radius:15px; background:var(--soft); }
.reversi-score strong { margin-left:auto; font-size:23px; font-variant-numeric:tabular-nums; }
.reversi-score span { font-size:13px; }
.reversi-disc { display:block; width:80%; height:80%; border-radius:50%; flex-shrink:0; }
.reversi-score .reversi-disc { width:24px; height:24px; }
.disc-0 { background:radial-gradient(circle at 35% 25%,#435262,#111b26 75%); border:1px solid #7c909c; box-shadow:0 3px 2px #0005; }
.disc-1 { background:radial-gradient(circle at 35% 25%,#fff,#d6e4dd 85%); border:1px solid #ecfff7; box-shadow:0 3px 2px #0005; }
.reversi-board { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:2px; padding:6px; border:1px solid #447666; border-radius:15px; background:#112d28; }
.reversi-board .reversi-cell { display:grid; place-items:center; aspect-ratio:1; min-width:0; min-height:0; padding:3px; border:0; border-radius:5px; background:#225345; opacity:1; }
.reversi-board .reversi-cell.is-last { box-shadow:inset 0 0 0 2px #f4d38c; }
.reversi-board .reversi-cell.is-legal::after { content:''; width:24%; height:24%; border-radius:50%; background:#a5e9c3; box-shadow:0 0 0 4px #a5e9c317; }
.reversi-board .reversi-cell.is-legal:hover { background:#34745e; }
.reversi-disc.is-flipped { animation:reversi-turn .28s ease-out; }
.reversi-pass { font-size:14px; padding:12px; border:1px solid var(--line); border-radius:12px; color:var(--ink); }
@keyframes discovery-appear { from { transform:scale(.8);opacity:.4 } to { transform:scale(1);opacity:1 } }
@keyframes reversi-turn { from { transform:scaleX(.35) } to { transform:scaleX(1) } }
@media(max-width:600px) {
  .discovery-banner { padding:18px; gap:14px; align-items:flex-start; flex-direction:column; }
  .discovery-banner h2 { font-size:22px; }
  .discovery-banner .primary { width:100%; }
  .discovery-toolbar button { padding:8px 6px; font-size:12px; }
  #discovery-personal { padding:14px; }
  .discovery-records strong { font-size:23px; }
  .discovery-records span { font-size:11px; }
  .sky-picker small { flex-basis:100%; margin:2px 0 0; }
  #main .card-art.discovery-art { height:145px; min-height:145px; }
  .reversi-cover .reversi-disc { width:33px; height:33px; }
  .merge-cover span { width:43px; height:43px; font-size:21px; }
  .discovery-game,.reversi-panel { padding:18px 14px; }
  .discovery-game-heading h1 { font-size:28px; }
  .discovery-game-heading .eyebrow { font-size:12px; }
  .discovery-game-heading .discovery-kicker { font-size:9px; }
  .discovery-scoreline>div { padding:10px 8px; }
  .discovery-scoreline strong { font-size:21px; }
  .merge-board { gap:7px; padding:8px; }
  .constellation-board { gap:5px; padding:8px; border-radius:16px; }
  .constellation-board .star-cell { font-size:24px; border-radius:9px; }
  .reversi-score>div { padding:10px 8px; gap:6px; }
  .reversi-score span { font-size:12px; }
  .reversi-board { padding:4px; gap:2px; }
}
@media(prefers-reduced-motion:reduce) {
  .merge-tile.is-spawned,.reversi-disc.is-flipped { animation:none; }
  .constellation-board .star-cell,.merge-tile { transition:none; }
}
