/* Sluk lyset: 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;
  --okker: #D69A2D;
  --ramme: #2B313B;
  --fart: 180ms;
}
html.kabale-mork {
  --bord: #272D37;
  --bjaelke: #111315;
  --knap: #343B47;
  --ramme: #191D23;
}
@media (prefers-reduced-motion: reduce) { :root { --fart: 0ms; } }
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 pærer */
svg { background: none; width: auto; height: auto; }
button, select { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }

#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, #vaerktoej 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; min-width: 0; font-size: 14px; padding-left: 8px; padding-right: 8px; }
  #kk-bar select { padding-right: 24px; background-position: right 8px center; }
}

#spil { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; gap: 8px; padding: 6px 6px 8px; box-sizing: border-box; }
#info, #vaerktoej { width: 100%; max-width: var(--bredde, 100%); margin: 0 auto; box-sizing: border-box; }
#info { flex: none; display: flex; align-items: center; gap: 12px; min-height: 32px; font: 600 15px/1.3 Poppins, system-ui, sans-serif; }
#status { white-space: nowrap; }
#rekord { font-weight: 400; opacity: .85; flex: 1 1 auto; text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

#ramme { position: relative; flex: 1 1 auto; min-height: 0; display: flex; align-items: center; justify-content: center; -webkit-user-select: none; user-select: none; }
#braet {
  display: grid; grid-template: repeat(var(--n), 1fr) / repeat(var(--n), 1fr); gap: 6px; padding: 8px; box-sizing: border-box;
  background: var(--ramme); border-radius: 12px; box-shadow: inset 0 2px 8px rgba(0,0,0,.35);
}
.lampe {
  position: relative; min-width: 0; min-height: 0; padding: 0; border: 0; border-radius: 10px; cursor: pointer;
  background: rgba(252,247,238,.06); display: flex; align-items: center; justify-content: center; outline: none;
  transition: background var(--fart) ease-out;
}
.lampe svg { width: 84%; height: 84%; overflow: visible; }
/* Slukket: mørk ring uden stråler. Tændt: okker pære med creme stråler og et blødt skær */
.lampe .glas { fill: rgba(30,36,33,.35); stroke: rgba(252,247,238,.45); stroke-width: 2; transition: fill var(--fart) ease-out, stroke var(--fart) ease-out; }
.lampe .straaler line { stroke: var(--creme); stroke-width: 2.6; stroke-linecap: round; opacity: 0; transition: opacity var(--fart) ease-out; }
.lampe.taendt { background: rgba(214,154,45,.22); }
.lampe.taendt .glas { fill: var(--okker); stroke: #FCF7EE; stroke-width: 2.4; }
.lampe.taendt .straaler line { opacity: 1; }
.lampe.taendt svg { filter: drop-shadow(0 0 6px rgba(240,190,90,.55)); }
.lampe:focus-visible { box-shadow: 0 0 0 3px var(--creme); }
/* Tip: rød ring, der pulserer */
.lampe.tip { box-shadow: 0 0 0 4px var(--roed); animation: tip 1s ease-in-out infinite; }
@keyframes tip { 50% { box-shadow: 0 0 0 7px rgba(198,63,40,.55); } }
.lampe.tryk { animation: tryk var(--fart) ease-out; }
@keyframes tryk { 50% { transform: scale(.9); } }
#braet.vind .lampe { animation: vind 900ms ease-out; }
@keyframes vind { 30% { background: rgba(252,247,238,.25); } }
@media (prefers-reduced-motion: reduce) { .lampe.tip, .lampe.tryk, #braet.vind .lampe { animation: none; } }
@media (hover: hover) { .lampe:hover { background: rgba(252,247,238,.12); } .lampe.taendt:hover { background: rgba(214,154,45,.32); } }

#vaerktoej { flex: none; display: flex; gap: 8px; }
#vaerktoej button {
  flex: 1 1 0; min-width: 0; min-height: 48px; border-radius: 8px; cursor: pointer; font: 600 15px/1.2 Poppins, system-ui, sans-serif;
  border: 1px solid rgba(252,247,238,.22); background: var(--knap); color: var(--creme);
}
#vaerktoej button:disabled { opacity: .45; cursor: default; }

#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); }
/* Ugedagene i arkivet får dialogens baggrund, så kontrasten måles mod den og ikke mod brættet bag dialogen */
.sk-ugedag { background: var(--bjaelke); }
