/* Minestryger: skiferbordet (puslespil, se docs/DESIGNMANUAL-SPIL.md). Skrift, filt og bjælke kommer fra Solitaire.css og kabale-kort.css */
:root {
  --bord: #434D5D;
  --bjaelke: #252930;
  --knap: #464F5D;
  --kul: #1E2421;
  --roed: #C63F28;
  --flise: #F5EEE1;     /* lukket felt: creme flise */
  --aaben: #D5DBE3;     /* åbent felt: flad, lys skifer. Alle tal har mindst 5,1:1 mod den */
  --t1: #2A5889; --t2: #27633D; --t3: #9E2F1A; --t4: #1F3F66; --t5: #73291B; --t6: #724D0F; --t7: #1E2421; --t8: #465049;
}
html.kabale-mork {
  --bord: #272D37;
  --bjaelke: #111315;
  --knap: #343B47;
}
body { background: var(--filt), var(--bord); color: var(--creme); font-variant-numeric: tabular-nums; }
/* Solitaire.css giver alle svg filt og fuld størrelse (kabalernes bræt); her er svg kun små ikoner */
svg { background: none; width: auto; height: auto; }
#ikoner { position: absolute; width: 0; height: 0; overflow: hidden; }
button, select { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }

/* Bjælken: samme knapper som sudoku, niveauvælgeren ligner en knap */
#kk-bar { align-items: center; }
#kk-bar select {
  font: 600 15px/1.2 Poppins, system-ui, sans-serif; min-height: 44px; padding: 0 34px 0 14px; border: 1px solid rgba(252,247,238,.22); border-radius: 8px;
  background: var(--knap) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23FCF7EE' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center;
  color: var(--creme); cursor: pointer; -webkit-appearance: none; appearance: none;
}
#kk-bar select option { background: #FCF7EE; color: #1E2421; }
#kk-bar button:focus-visible, #kk-bar select:focus-visible, #info button:focus-visible, #panel button:focus-visible, #kk-besked button:focus-visible { outline: 3px solid var(--creme); outline-offset: 2px; }
@media (max-width: 420px) {
  #kk-bar { gap: 6px; padding: 6px; flex-wrap: nowrap; }
  #kk-bar button, #kk-bar select { flex: 1 1 auto; font-size: 14px; padding-left: 8px; padding-right: 8px; }
  #kk-bar select { padding-right: 26px; background-position: right 8px center; }
}

/* Spilleområdet: info, bræt og panel stablet. Brættet ligger i en ramme, der kan panoreres, når felterne ikke kan være der */
#spil { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; gap: 8px; padding: 6px 6px 8px; box-sizing: border-box; }
#info, #panel { width: 100%; max-width: var(--bredde, 100%); margin: 0 auto; box-sizing: border-box; }
#info { flex: none; display: flex; align-items: center; gap: 14px; min-height: 44px; font: 600 15px/1.3 Poppins, system-ui, sans-serif; }
#info .tael { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
#info .tael svg { width: 18px; height: 18px; flex: none; }
#rekord { font-weight: 400; opacity: .85; flex: 1 1 auto; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#info button {
  position: relative; flex: none; font: 600 14px/1.2 Poppins, system-ui, sans-serif; min-height: 44px; padding: 0 12px; border-radius: 8px; cursor: pointer;
  color: var(--creme); background: transparent; border: 1px solid rgba(252,247,238,.35);
}
#info button::before { content: ''; display: inline-block; width: 14px; height: 14px; margin-right: 8px; vertical-align: -2px; border: 2px solid currentColor; border-radius: 3px; box-sizing: border-box; }
#info #pause::before { display: none; }
#info button:disabled { opacity: .45; cursor: default; }
#info button[aria-checked="true"]::before { background: var(--creme) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1.5 5.2l2.3 2.3 4.7-5' fill='none' stroke='%23252930' stroke-width='1.8'/%3E%3C/svg%3E") center/100% no-repeat; }
@media (max-width: 380px) { #info { gap: 10px; font-size: 14px; } #info button { padding: 0 8px; } }

#ramme {
  position: relative; flex: 1 1 auto; min-height: 0; display: flex; overflow: hidden; border-radius: 8px;
  -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; touch-action: manipulation;
}
/* Panorering: rammen får en svag kant, så man kan se, at brættet fortsætter */
#ramme.pan { overflow: auto; touch-action: pan-x pan-y; overscroll-behavior: contain; box-shadow: inset 0 0 0 1px rgba(252,247,238,.18); background: rgba(0,0,0,.12); scrollbar-width: thin; scrollbar-color: rgba(252,247,238,.4) transparent; }
#braet {
  margin: auto; flex: none; display: grid; grid-template-columns: repeat(var(--kol), var(--celle)); grid-auto-rows: var(--celle); gap: var(--gab);
  padding: var(--gab); background: rgba(17,19,21,.35); border-radius: 6px; box-shadow: 0 4px 14px rgba(0,0,0,.32);
}
#braet .raekke { display: contents; }
.f {
  position: relative; display: flex; align-items: center; justify-content: center; box-sizing: border-box; border-radius: max(2px, calc(var(--celle) * .1));
  font: 600 calc(var(--celle) * .6)/1 Poppins, system-ui, sans-serif; color: var(--kul); cursor: pointer; outline: none;
  background: var(--flise); box-shadow: inset 0 0 0 1px rgba(30,36,33,.16), inset 0 -2px 0 rgba(30,36,33,.12);
}
.f svg { width: 68%; height: 68%; pointer-events: none; }
.f.aaben { background: var(--aaben); box-shadow: none; cursor: default; }
.f.aaben.n { cursor: pointer; }
.f.t1 { color: var(--t1); } .f.t2 { color: var(--t2); } .f.t3 { color: var(--t3); } .f.t4 { color: var(--t4); }
.f.t5 { color: var(--t5); } .f.t6 { color: var(--t6); } .f.t7 { color: var(--t7); } .f.t8 { color: var(--t8); }
.f.mine { background: var(--aaben); box-shadow: none; }
.f.sprang { background: var(--roed); box-shadow: inset 0 0 0 2px var(--kul); }
.f.forkert::after { content: ''; position: absolute; inset: 14%; background:
  linear-gradient(45deg, transparent 44%, var(--kul) 44% 56%, transparent 56%), linear-gradient(-45deg, transparent 44%, var(--kul) 44% 56%, transparent 56%); }
/* Fokus fra tastaturet og akkord-hint: rød ring som sudokuens valgte felt */
.f:focus-visible, #braet.tast .f:focus { box-shadow: inset 0 0 0 calc(2px + var(--celle) * .05) var(--roed); z-index: 1; }
.f.hint { box-shadow: inset 0 0 0 2px var(--roed); }
/* Tip: en gul ring, der pulserer, og en kort tekst øverst i rammen (dækker ikke trykket, den lader klik gå igennem) */
.f.tip { box-shadow: inset 0 0 0 calc(3px + var(--celle) * .06) #F0C463; z-index: 2; animation: tip-puls 1.1s ease-in-out 3; }
@keyframes tip-puls { 50% { transform: scale(1.08); } }
#tiptekst { position: absolute; left: 50%; top: 8px; z-index: 3; margin: 0; max-width: calc(100% - 24px); box-sizing: border-box; transform: translate(-50%, -6px);
  padding: 8px 14px; border-radius: 10px; background: rgba(17,19,21,.88); color: var(--creme); font: 600 15px/1.35 Poppins, system-ui, sans-serif; text-align: center;
  pointer-events: none; opacity: 0; transition: opacity .2s, transform .2s; }
#tiptekst.vis { opacity: 1; transform: translate(-50%, 0); }
@media (prefers-reduced-motion: reduce) { .f.tip { animation: none; } #tiptekst { transition: none; } }
@media (hover: hover) {
  .f:not(.aaben):not(.mine):hover { background: #FFF9EE; }
}
#braet.slut .f { cursor: default; }

/* Panelet under brættet: Åbn/Flag-skiftet, Fortryd og Zoom. Alt kan nås med tommelfingeren */
#panel { flex: none; display: flex; gap: 6px; }
#panel button {
  min-width: 0; min-height: 48px; padding: 0 12px; border-radius: 8px; cursor: pointer; font: 600 15px/1.1 Poppins, system-ui, sans-serif;
  border: 1px solid rgba(252,247,238,.22); background: var(--knap); color: var(--creme);
}
#panel button:disabled { opacity: .45; cursor: default; }
#panel #fortryd, #panel #zoom, #panel #tip { flex: 1 1 0; }
#panel #zoom[hidden] { display: none; }
/* Skiftet: én knap med to halvdele. Den aktive halvdel er en creme flise med rød streg under */
#skift { flex: 1.6 1 0; display: flex; padding: 3px !important; gap: 3px; }
#skift span { flex: 1 1 0; display: flex; align-items: center; justify-content: center; gap: 6px; border-radius: 6px; }
#skift svg { width: 18px; height: 18px; flex: none; }
#skift span.til { background: var(--flise); color: var(--kul); box-shadow: inset 0 -3px 0 var(--roed); }
@media (max-width: 420px) { #panel button { font-size: 14px; padding: 0 6px; } #skift svg { display: none; } }

/* Beskeden: flere linjer til reglerne, rød primærknap */
#kk-besked { width: max-content; max-width: min(calc(100vw - 32px), 440px); box-sizing: border-box; }
#kk-besked p { margin: 0 0 6px; font-size: 15px; }
#kk-besked.regler p { text-align: left; }
#kk-besked .knapper { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 10px; }
#kk-besked .knapper button { margin: 0; }
#kk-besked button.primaer { background: var(--roed); color: var(--creme); }

/* Sejr: en kort bølge hen over brættet */
.f.vind { animation: vind 380ms ease-out both; }
@keyframes vind { 0% { transform: scale(1); } 45% { transform: scale(.8); } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .f.vind { animation: none; } }
/* Ugedagene i arkivet får dialogens baggrund, så kontrasten måles mod den og ikke mod de lyse felter bag dialogen */
.sk-ugedag { background: var(--bjaelke); }
