/* Wickline chrome: the shell is copied from Scorch's prototype/index.html (header, buttons, tries pips, map buttons, stats row, Daily/Weekly/
   Community rows, chapter header, sheets with X + Close, cosmetics, settings, achievements, more games, account, consent, toast).
   Only the board and map art are Wickline's own (style.css). Keep in step with Scorch: D:/Claude/shared/puzzle-game-standard/STANDARD.md */
:root { --radius: 10px; --font: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif; --hfont: "Fraunces", Georgia, serif; --btnshadow: none;
  --danger: #ef5a5a; --fire: #ff8a3d; --fire2: #ffc35c; --tint: #b07a3a; color-scheme: dark; }
body { font: 15px/1.4 var(--font); }
.app { max-width: 440px; margin: 0 auto; padding-block: max(12px, env(safe-area-inset-top, 0px)) 28px; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); display: flex; flex-direction: column; gap: 10px; }
header { display: flex; align-items: center; gap: 8px; margin: 0; }
.logo { flex: none; width: 30px; height: 28px; border-radius: 7px; }
header h1 { font: 800 20px/1.2 var(--hfont); margin: 0; flex: 1; letter-spacing: .3px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tries { display: flex; align-items: center; gap: 3px; background: var(--panel); padding: 5px 9px; border-radius: 999px; }
.tries .pip { width: 12px; height: 16px; border-radius: 50% 50% 45% 45%; background: var(--fire); box-shadow: 0 0 6px var(--fire); }
.tries .pip.off { background: color-mix(in srgb, var(--muted) 35%, var(--panel)); box-shadow: none; }
.tries .extra { font-weight: 800; font-size: 13px; color: var(--accent2); margin-left: 2px; }
header > button, .tries { flex: none; }
.tries .timer { font-size: 12px; color: var(--muted); margin-left: 5px; min-width: 36px; font-variant-numeric: tabular-nums; }
button { font: inherit; color: var(--text); background: var(--panel2); border: 1px solid var(--line); border-radius: var(--radius); padding: 9px 12px; cursor: pointer; box-shadow: var(--btnshadow); min-height: 0; font-weight: 400; }
button:hover { border-color: var(--line); }
button:active:not(:disabled) { transform: translateY(1px); }
button:disabled { opacity: .45; cursor: default; }
button.primary { background: var(--accent); color: var(--on-accent); border-color: var(--accent); font-weight: 800; }
button.sel { outline: 2px solid var(--accent2); outline-offset: 1px; }
.icon-btn { padding: 6px 10px; }
.small { font-size: 12px; color: var(--muted); }
button.small { color: var(--text); }
.overlay { position: fixed; inset: 0; background: rgba(8,5,3,.72); display: none; align-items: center; justify-content: center; padding: 16px; z-index: 5; }
.overlay.show { display: flex; }
.overlay.ask { z-index: 90; } .overlay.ask p { white-space: pre-line; margin: 0 0 12px; }
.card { position: relative; background: var(--panel); border: 1px solid var(--line); border-radius: calc(var(--radius) + 6px); padding: 20px; width: 100%; max-width: 360px; max-height: calc(100vh - 32px); overflow: auto; display: flex; flex-direction: column; gap: 10px; text-align: center; animation: pop .22s ease-out; }
@keyframes pop { from { transform: scale(.94); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.overlay .card { width: min(400px, 88vw); max-width: none; }
.overlay .card.scrollcard, .overlay .card.sheetcard { width: min(420px, 90vw); }
.card h2 { margin: 0; font: 800 22px/1.25 var(--hfont); }
.card p { margin: 0; color: var(--muted); }
.card input[type=text], .card input[type=email], .card textarea { font: inherit; padding: 10px 12px; border-radius: var(--radius); border: 1px solid var(--line); background: var(--panel2); color: var(--text); text-align: center; width: 100%; }
.card textarea { text-align: left; }
.row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.hidden { display: none !important; }
details summary { cursor: pointer; color: var(--muted); font-size: 13px; }
.btns { display: flex; gap: 8px; align-items: center; } .btns.wrap { flex-wrap: wrap; } .btns.center { justify-content: center; }
.daily { background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 9%, var(--panel)), var(--panel)); border: 1px solid color-mix(in srgb, var(--accent) 50%, var(--line)); border-radius: calc(var(--radius) + 4px); padding: 14px; display: flex; flex-direction: column; gap: 10px; }
.daily h2 { margin: 0; font: 800 18px/1.2 var(--hfont); display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
.daily h2 small { font: 600 12px var(--font); color: var(--muted); }
.daily p { margin: 0; color: var(--muted); font-size: 14px; }
.daily .btns { display: flex; gap: 8px; flex-wrap: wrap; }
.daily .btns button { flex: 0 0 auto; padding: 9px 16px; }
.daily .btns button.primary { padding: 9px 20px; }
.daily.slim { flex-direction: row; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 10px 10px 14px; }
.daily.slim .slimtext { font-size: 14px; color: var(--muted); min-width: 0; }
.daily.slim .slimtext > b { color: var(--text); font-weight: 800; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* Every compact row: name on line 1, a short grey status on line 2, so all rows are the same height (owner 2026-11-10). */
.daily.slim .slimtext .sub { display: block; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 1px; }
.daily.slim .btns button:not(.primary) { min-width: 66px; }
.daily.slim.event { border-color: var(--accent2); background: linear-gradient(100deg, rgba(255,160,60,.22), var(--panel) 70%); }
.daily.slim.event b { color: var(--accent2); }
.daily.slim .btns { flex-wrap: nowrap; flex: none; }
.daily.slim .btns button { padding: 8px 14px; }
.sheetcard .daily { border: 0; padding: 0; background: none; }
.dlinks { display: flex; gap: 14px; margin-top: 6px; }
.linkbtn { background: none; border: 0; box-shadow: none; padding: 2px 0; color: var(--accent2); font-size: 13px; font-weight: 700; text-decoration: underline; }
.lb { list-style: none; margin: 0; padding: 0; text-align: left; display: flex; flex-direction: column; gap: 4px; max-height: 260px; overflow: auto; }
.lb li { display: grid; grid-template-columns: 34px 1fr auto; gap: 8px; padding: 6px 10px; border-radius: 8px; background: var(--panel2); font-variant-numeric: tabular-nums; }
.lb li.you { outline: 2px solid var(--accent2); }
.lb .r { color: var(--muted); }
.big { font: 800 34px/1.1 var(--hfont); color: var(--accent2); font-variant-numeric: tabular-nums; }
.switch { display: flex; justify-content: space-between; align-items: center; gap: 10px; text-align: left; }
.toast { position: fixed; left: 50%; bottom: max(24px, env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); background: var(--text); color: var(--bg); padding: 8px 14px; border-radius: 999px; font-weight: 700; font-size: 14px; z-index: 9; opacity: 0; transition: opacity .2s; pointer-events: none; border: 0; }
.toast.show { opacity: 1; }
.nodev .devonly, .nopay .payonly, .noads .adonly { display: none !important; }
/* One-screen map with a chapter pager (header icons, stats row, rows, pager) */
.mapbtns { display: none; gap: 6px; flex: none; }
.app:has(#mapScreen:not(.hidden)) .mapbtns { display: flex; }
.app:has(#mapScreen:not(.hidden)) header { display: grid; grid-template-columns: auto 1fr auto; column-gap: 8px; row-gap: 2px; align-items: center; }
.app:has(#mapScreen:not(.hidden)) header .logo { grid-row: 1 / span 2; }
.app:has(#mapScreen:not(.hidden)) header h1 { grid-column: 2; grid-row: 1; align-self: end; }
.app:has(#mapScreen:not(.hidden)) header .tries#tries { grid-column: 2; grid-row: 2; justify-self: start; align-self: start; background: none; padding: 0; }
.app:has(#mapScreen:not(.hidden)) header .tries#tries .pip { width: 10px; height: 13px; }
.app:has(#mapScreen:not(.hidden)) header .mapbtns { grid-column: 3; grid-row: 1 / span 2; }
#footTries { display: none; }
.mapbtns .sq { position: relative; width: 40px; height: 40px; padding: 0; display: grid; place-items: center; border-radius: 12px; background: var(--panel); border: 1px solid var(--line); color: var(--text); text-decoration: none; }
.mapbtns .sq svg { width: 20px; height: 20px; }
.mapbtns .sq b { font: 800 19px/1 var(--hfont); }
.app:has(#mapScreen:not(.hidden)) { min-height: 100dvh; padding-bottom: max(10px, env(safe-area-inset-bottom, 0px)); }
.app:has(#mapScreen:not(.hidden)) #mapScreen { flex: 1; min-height: 0; }
.maplegal { display: none; }
.chap.pager { position: relative; flex: 1; min-height: 0; display: flex; flex-direction: column; margin: 0; padding: 8px; touch-action: pan-y; border-radius: var(--radius); overflow: hidden;
  background: radial-gradient(ellipse 60% 40px at 30% 0, color-mix(in srgb, var(--tint) 30%, transparent), transparent), linear-gradient(180deg, color-mix(in srgb, var(--tint) 34%, var(--panel)) 0, color-mix(in srgb, var(--tint) 16%, var(--bg)) 120px, color-mix(in srgb, var(--tint) 10%, var(--bg)) 100%); }
.chhead { position: relative; z-index: 2; display: flex; align-items: center; gap: 8px; background: color-mix(in srgb, #3b2516 80%, var(--tint)); border: 2px solid color-mix(in srgb, #8a5a32 70%, var(--tint)); border-radius: 12px; padding: 6px; box-shadow: 0 3px 0 rgba(0,0,0,.35); }
.chnav { flex: none; width: 40px; height: 40px; padding: 0; border-radius: 50%; font: 800 22px/1 var(--hfont); display: grid; place-items: center; background: rgba(0,0,0,.25); border: 2px solid color-mix(in srgb, #f3e6d6 35%, transparent); color: #fff3d6; }
.chnav.lock { font-size: 15px; opacity: .8; }
.chnav:disabled { opacity: .25; }
.chtitle { flex: 1; min-width: 0; display: flex; flex-direction: column; color: #fff3d6; text-align: left; }
.chtitle small { font: 700 11px/1.3 var(--font); letter-spacing: .08em; text-transform: uppercase; color: color-mix(in srgb, #fff3d6 70%, transparent); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.chtitle b { font: 800 17px/1.2 var(--hfont); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.chsub { position: relative; z-index: 2; display: flex; align-items: center; gap: 8px; margin: 6px 2px 0; min-height: 26px; }
.chsub .gate { flex: 1; font-size: 12px; color: #fff3d6; }
.chsub .medal { font: 700 12px var(--font); color: var(--on-accent); background: var(--accent2); border-radius: 999px; padding: 1px 8px; }
.chfilter { margin-left: auto; padding: 3px 10px; font-size: 12px; border-radius: 999px; background: rgba(0,0,0,.3); color: #fff3d6; border-color: color-mix(in srgb, #f3e6d6 30%, transparent); }
.chfilter.on { background: var(--accent2); color: var(--on-accent); border-color: var(--accent2); }
.pgrid { position: relative; flex: 1; min-height: 0; }
.pgrid svg.road { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.pgrid .node { position: absolute; width: var(--nd, 54px); height: var(--nd, 54px); margin: calc(var(--nd, 54px) / -2) 0 0 calc(var(--nd, 54px) / -2); border-radius: 50%; padding: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0;
  background: color-mix(in srgb, var(--tint) 70%, #1b130e); border: 3px solid color-mix(in srgb, var(--tint) 40%, #f3e6d6); box-shadow: 0 4px 0 rgba(0,0,0,.35); color: #fff; z-index: 1; }
.pgrid .node b { font: 800 calc(var(--nd, 54px) * .34)/1 var(--hfont); }
.pgrid .node .nst { font-size: 9px; letter-spacing: 0; color: var(--accent2); line-height: 1; margin-top: 2px; }
.pgrid .node.done { background: radial-gradient(circle at 50% 62%, #5a2a14 0, #2a160d 55%, #1a110b 100%); border-color: #ff8a3d; box-shadow: 0 4px 0 rgba(0,0,0,.35), 0 0 10px rgba(255,106,26,.45); }
.pgrid .node.locked { background: radial-gradient(circle at 40% 35%, #6b6660, #45403b 70%); border-color: #3a3530; color: #d8d2ca; box-shadow: 0 3px 0 rgba(0,0,0,.35); }
.pgrid .node.current { border-color: #ffd166; background: radial-gradient(circle at 50% 70%, #8a3a12, #3b1a0c 70%); animation: nodepulse 1.2s ease-in-out infinite alternate; }
.pgrid .node.dim { opacity: .35; }
@keyframes nodepulse { from { box-shadow: 0 4px 0 rgba(0,0,0,.35), 0 0 0 0 rgba(255,138,61,.6); } to { box-shadow: 0 4px 0 rgba(0,0,0,.35), 0 0 0 10px rgba(255,138,61,0); } }
.mapfoot { display: flex; align-items: center; gap: 8px; background: var(--panel); border: 1px solid var(--line); border-radius: calc(var(--radius) + 4px); padding: 6px 8px; }
.mapfoot .tries { background: none; padding: 0; }
.mapfoot .fstars { font-weight: 800; color: var(--accent2); white-space: nowrap; }
.mapfoot .emberchip { margin-right: auto; white-space: nowrap; font-weight: 800; color: var(--accent2); }
.mapfoot button { padding: 7px 10px; white-space: nowrap; }
@media (max-width: 420px) { .mapbtns { gap: 4px; } .mapbtns .sq { width: 34px; height: 34px; border-radius: 10px; } .mapbtns .sq svg { width: 18px; height: 18px; } .mapbtns .sq b { font-size: 17px; } }
@media (max-width: 360px) { .mapbtns .sq { width: 32px; height: 32px; } .mapfoot { gap: 6px; } .mapfoot .tries .pip { width: 9px; height: 13px; } }
/* centred pop-up over a dimmed page (owner rule: it must not push the map off screen) */
.consent { position: fixed; z-index: 60; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(92vw, 380px); box-shadow: 0 0 0 100vmax rgba(0,0,0,.6), 0 8px 30px rgba(0,0,0,.5); background: var(--panel); border: 1px solid var(--accent2); border-radius: var(--radius); padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.consent.hidden { display: none; }
.consent p { margin: 0; font-size: 14px; } .consent .btns { display: flex; gap: 8px; }
.legal { text-align: center; } .legal a { color: var(--muted); }
.boardlist { display: grid; gap: 8px; margin: 8px 0 12px; }
#acctBtn { position: relative; }
#acctBox h3 { margin: 4px 0; font-size: 18px; }
#acctBox hr { border: 0; border-top: 1px solid var(--line); margin: 12px 0; }
.signin { display: flex; flex-direction: column; align-items: center; gap: 8px; margin: 6px 0; }
#gbtn, #gbtn iframe { color-scheme: light; background: transparent; }
.signbtn { position: relative; width: 260px; max-width: 100%; height: 40px; padding: 0 12px 0 44px; border-radius: 20px; background: #131314; color: #e3e3e3; border: 0; font: 500 14px/1 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.signbtn:hover { background: #1f1f20; }
.signbtn .ico { position: absolute; left: 4px; top: 3px; width: 32px; height: 32px; border-radius: 50%; background: #fff; display: grid; place-items: center; }
.signbtn .ico svg { width: 18px; height: 18px; }
.mailbox { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; }
.mailbox input { font: inherit; font-size: 16px; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--muted); background: var(--panel2); color: var(--text); }
#codeIn { letter-spacing: 6px; text-align: center; font-size: 22px; }
.filterrow { display: flex; justify-content: flex-end; }
.ruleicon { font-size: 44px; line-height: 1; }
.benefits { list-style: none; margin: 6px 0 12px; padding: 0; text-align: left; display: flex; flex-direction: column; gap: 6px; font-size: 14px; }
.benefits li { display: flex; gap: 8px; align-items: flex-start; } .benefits li span { flex: none; }
.streak { font: 800 13px var(--font); color: var(--accent2); margin: -4px 0 4px; } .streak:empty { display: none; }
.frcode { text-align: center; background: var(--panel2); border-radius: 12px; padding: 10px; }
.frcode b { display: block; font: 800 24px/1.2 var(--hfont); letter-spacing: 2px; color: var(--accent2); }
.cosh { margin: 8px 0 2px; font-size: 14px; text-align: left; }
.cosgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.cos { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 8px 4px; border-radius: 12px; font-size: 12px; }
.cos.on { outline: 2px solid var(--accent); }
.cos:disabled { opacity: .55; }
.cos small { font-size: 11px; opacity: .85; }
.cosprev { width: 100%; height: 40px; border-radius: 10px; display: grid; place-items: center; font-weight: 800; }
.achlist { list-style: none; margin: 0; padding: 0; text-align: left; display: flex; flex-direction: column; gap: 6px; }
.achlist li { display: flex; gap: 10px; align-items: center; background: var(--panel2); border-radius: 10px; padding: 8px 10px; }
.achlist li b { display: block; } .achlist li small { color: var(--muted); }
.achlist li.off b, .achlist li.off small { opacity: .7; }
.achlist .ab { position: relative; flex: none; width: 52px; height: 52px; display: grid; place-items: center; font-size: 26px; border-radius: 50%; background: color-mix(in srgb, var(--accent2) 22%, var(--panel)); }
.achlist li.off .ab { filter: grayscale(1) brightness(.7); }
.achlist .ab i { position: absolute; right: -2px; bottom: -2px; font: 800 12px/1 var(--hfont); font-style: normal; background: var(--accent2); color: var(--on-accent); border-radius: 999px; padding: 3px 6px; }
.achlist .bar { height: 6px; background: #3a2d23; border-radius: 3px; overflow: hidden; margin-top: 4px; } .achlist .bar i { display: block; height: 100%; background: var(--accent); }
.achlist .ae { font-size: 12px; font-weight: 700; color: var(--accent2); white-space: nowrap; }
.morelist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; text-align: left; }
.morelist li { display: flex; align-items: center; gap: 12px; background: var(--panel2); border-radius: 12px; padding: 10px; }
.morelist img { flex: none; width: 56px; height: 56px; border-radius: 14px; box-shadow: 0 2px 6px rgba(0,0,0,.35); }
.morelist .mt { flex: 1; min-width: 0; } .morelist .mt b { display: block; } .morelist .mt small { color: var(--muted); }
.scrollcard { max-height: min(88dvh, 760px); display: flex; flex-direction: column; }
.scrollcard > ul, .scrollcard > .scrollbody { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.sheethead { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.sheethead h2 { margin: 0; }
.xbtn { flex: none; width: 36px; height: 36px; padding: 0; border-radius: 50%; font-size: 16px; line-height: 1; }
.shoplist { display: flex; flex-direction: column; gap: 6px; }
.shopitem { display: flex; align-items: center; gap: 10px; text-align: left; }
.shopitem .sn { flex: 1; } .shopitem .sp { font-weight: 800; color: var(--accent2); }
.plist { display: flex; flex-direction: column; gap: 6px; text-align: left; }
.plist button, .plist .row { display: flex; justify-content: space-between; align-items: center; gap: 8px; text-align: left; }
body.lefty .tools { direction: rtl; } body.lefty .tools button { direction: ltr; } body.lefty #checkBtn { direction: ltr; }
body.big { font-size: 17px; }
body.big .card p { font-size: 16px; }
body.big header h1 { font-size: 22px; }
body.rm *, body.rm *::before, body.rm *::after { animation: none !important; transition: none !important; }
html.nodev:has(#mapScreen:not(.hidden)), html.nodev:has(#mapScreen:not(.hidden)) body { overflow: hidden; }
[hidden] { display: none !important; }
.scrollbody > * { flex: none; }
.scrollbody { display: flex; flex-direction: column; gap: 10px; }
.sronly { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.frrow { display: flex; gap: 8px; align-items: center; background: var(--panel2); border-radius: 10px; padding: 8px 10px; text-align: left; }
.frrow.me { outline: 1px solid var(--accent); }
.frrow .nm { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 700; }
.frrow small { color: var(--muted); white-space: nowrap; }
.frlist { display: flex; flex-direction: column; gap: 6px; margin: 6px 0; }
.fradd { display: flex; gap: 8px; } .fradd input { flex: 1; min-width: 0; }
.frh { margin: 10px 0 2px; font-size: 14px; text-align: left; }
.frrow button { padding: 6px 10px; font-size: 13px; }
/* Map styles (nine, unlocked by total stars): the chapter map and the previews in Cosmetics */
.chap.pager[data-mapstyle="stones"] .pgrid .node { border-radius: 46%; }
.chap.pager[data-mapstyle="stones"] svg.road path:first-child { stroke-dasharray: 1 12; }
.chap.pager[data-mapstyle="sketch"] .pgrid .node { background: transparent; border: 2px dashed var(--muted); box-shadow: none; }
.chap.pager[data-mapstyle="sketch"] .pgrid .node.done { border-color: var(--accent2); }
.chap.pager[data-mapstyle="sketch"] svg.road path:first-child { stroke-dasharray: 8 6; stroke-width: 2; }
.chap.pager[data-mapstyle="neon"] .pgrid .node { background: transparent; border: 2px solid var(--accent); box-shadow: 0 0 10px var(--accent); }
.chap.pager[data-mapstyle="neon"] .pgrid .node.locked { border-color: #6b6660; box-shadow: none; }
.chap.pager[data-mapstyle="neon"] svg.road path { filter: drop-shadow(0 0 4px var(--accent)); }
.chap.pager[data-mapstyle="blueprint"] { background: linear-gradient(#6aa8ff18 1px, transparent 1px) 0 0 / 22px 22px, linear-gradient(90deg, #6aa8ff18 1px, transparent 1px) 0 0 / 22px 22px, linear-gradient(180deg, #14233f, #0c1424); }
.chap.pager[data-mapstyle="blueprint"] .pgrid .node { background: #3b82f622; border: 1.5px dashed #6aa8ff; border-radius: 8px; box-shadow: none; }
.chap.pager[data-mapstyle="blueprint"] svg.road path { stroke: #6aa8ff; }
.mapprev { display: grid; grid-template-columns: repeat(2, 12px); gap: 5px; justify-content: center; align-content: center; }
.mapprev i { width: 12px; height: 12px; background: var(--accent); border-radius: 50%; opacity: .85; }
.mapprev[data-ms="compact"] { gap: 2px; }
.mapprev[data-ms="roomy"] { gap: 10px; }
.mapprev[data-ms="zigzag"] i:nth-child(odd) { transform: translateX(-4px); } .mapprev[data-ms="zigzag"] i:nth-child(even) { transform: translateX(4px); }
.mapprev[data-ms="wave"] i:nth-child(2n) { transform: translateY(5px); }
.mapprev[data-ms="stones"] i { border-radius: 40%; }
.mapprev[data-ms="sketch"] i { background: none; border: 1.5px dashed var(--muted); }
.mapprev[data-ms="neon"] i { background: none; border: 2px solid var(--accent); box-shadow: 0 0 6px var(--accent); }
.mapprev[data-ms="blueprint"] i { background: #3b82f633; border: 1px dashed #6aa8ff; border-radius: 2px; }
.mapfoot button { height: 34px; padding-block: 0; display: inline-flex; align-items: center; justify-content: center; }
#mapBtns .sq, header .icon-btn { min-height: 0; }
/* Daily result sheet (owner 2026-11-10): the countdown on its own line under the title (never under the ✕), Share full width, the other actions in a 2-column grid, no bottom Close. */
.dailysub { margin: -4px 0 8px; font-size: 13px; color: var(--muted); padding-right: 44px; }
.dailysub:empty { display: none; }
.dailybtns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.dailybtns button { width: 100%; padding: 12px 10px; }
.dailybtns a { display: block; } .dailybtns a button { width: 100%; }
.dailybtns button.primary { grid-column: 1 / -1; font-size: 17px; padding: 13px; }
/* More games: the disabled "Coming soon" button is a small muted label; empty sign-in list takes no space */
.morelist button:disabled { background: none; border: 0; box-shadow: none; padding: 0 2px; font-size: 12px; font-weight: 700; color: var(--muted); max-width: 64px; min-width: 0; white-space: normal; text-align: center; line-height: 1.2; opacity: 1; }
#signupList:empty { display: none; }
