/* Typsnitt, färger och trämaterial är hämtade från spelets egen meny (MenuPanel i SampleScene). */
@font-face{font-family:"Cinzel Decorative";src:url("/fonts/CinzelDecorative-Bold.woff") format("woff");font-weight:700;font-display:swap}
@font-face{font-family:"Cinzel";src:url("/fonts/Cinzel.woff") format("woff");font-weight:400 700;font-display:swap}
@font-face{font-family:"EB Garamond";src:url("/fonts/EBGaramond.woff") format("woff");font-weight:400;font-display:swap}

:root{
  --guld:#f5cc73;      /* spelets titel- och knappfärg  (0.96, 0.80, 0.45) */
  --kram:#f2e6c7;      /* undertitel och beskrivningar  (0.95, 0.90, 0.78) */
  --hint:#d9ccad;      /* hjälptext                     (0.85, 0.80, 0.68) */
  --mork:#1a120a;      /* reglagens bakgrund            (0.10, 0.07, 0.04) */
  --fel:#ff9a8f;
}

*{box-sizing:border-box}
html{color-scheme:dark}
body{
  margin:0;min-height:100vh;
  color:var(--kram);
  font-family:"EB Garamond",Georgia,serif;
  font-size:1.25rem;line-height:1.45;
  background:#141b11 url("/img/karta.jpg") center/cover fixed no-repeat;
  display:grid;place-items:center;
  padding:clamp(.75rem,3vw,2.5rem) 12px;
}
body::before{ /* samma 50 % svarta Dim som bakom spelets meny */
  content:"";position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:-1;
}

/* ---------- Skylten (spelets Board) ---------- */
.skylt-panel{
  width:min(1120px,100%);
  border:solid transparent;
  border-width:44px;
  border-image:url("/img/ui/Panel_Wood.png") 48 fill / 44px stretch;
  padding:clamp(.5rem,2vw,1.6rem) clamp(.5rem,2.5vw,2rem) clamp(.4rem,1.6vw,1.2rem);
  filter:drop-shadow(0 18px 36px rgba(0,0,0,.6));
}

h1{
  margin:0;text-align:center;
  font-family:"Cinzel Decorative",serif;font-weight:700;
  font-size:clamp(2.7rem,8vw,6.2rem);line-height:1.05;
  color:var(--guld);
  text-shadow:0 3px 0 rgba(0,0,0,.55),0 8px 22px rgba(0,0,0,.6);
}
.under{margin:.3rem 0 0;text-align:center;font-style:italic;font-size:clamp(1.25rem,3vw,2rem);color:var(--kram)}

.rutor{
  margin-top:clamp(1.2rem,3vw,2.2rem);
  display:grid;gap:clamp(1.2rem,3vw,2.4rem);
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:start;
}

/* ---------- Alias ---------- */
label{display:block;margin:0 0 .35rem .4rem;font-family:"Cinzel",serif;font-size:1.25rem;color:var(--guld)}
.falt{
  display:block;width:100%;
  font:inherit;font-size:1.7rem;letter-spacing:.02em;color:var(--kram);
  background:var(--mork);
  border:solid transparent;border-width:14px;
  border-image:url("/img/ui/Bar_Wood.png") 20 fill / 14px stretch;
  padding:.3rem .5rem;
  border-radius:0;
}
.falt::placeholder{color:#7d7355}
.falt:focus-visible{outline:3px solid var(--guld);outline-offset:3px}
.falt[aria-invalid="true"]{outline:3px solid var(--fel);outline-offset:3px}
.hjalp{margin:.5rem .4rem 0;font-size:1.05rem;color:var(--hint)}
.fel{margin:.45rem .4rem 0;min-height:1.5em;font-size:1.15rem;color:var(--fel)}
.fel.info{color:var(--hint)}

/* ---------- Spela-skylten (spelets StartButton) ---------- */
.spela{
  display:block;width:100%;margin-top:.8rem;
  border:solid transparent;border-width:36px 32px;
  border-image:url("/img/ui/Button_Wood.png") 40 fill / 36px 32px stretch;
  background:none;cursor:pointer;
  padding:.1rem 0 .3rem;text-align:center;
  color:var(--guld);
  transition:filter .12s,transform .12s;
}
.spela .rubrik{display:block;font-family:"Cinzel",serif;font-weight:600;font-size:clamp(2rem,4vw,2.75rem);line-height:1.15;letter-spacing:.04em;text-shadow:0 2px 3px rgba(0,0,0,.6)}
.spela .besk{display:block;font-family:"EB Garamond",Georgia,serif;font-size:1.2rem;color:var(--kram);line-height:1.25}
.spela:hover{filter:brightness(1.18)}
.spela:active{filter:brightness(.92);transform:translateY(1px)}
.spela:focus-visible{outline:3px solid var(--guld);outline-offset:2px}
.spela[disabled]{cursor:progress;filter:grayscale(.5) brightness(.8)}

.hjalptext{margin:1.1rem .4rem 0;text-align:center;font-size:1.05rem;color:var(--hint);line-height:1.5}
.hjalptext b{font-weight:400;color:var(--kram)}

/* ---------- Tavlan ---------- */
.tavla{
  border:solid transparent;border-width:18px;
  border-image:url("/img/ui/Bar_Wood.png") 20 fill / 18px stretch;
  padding:.4rem .6rem .5rem;
  background:rgba(26,18,10,.35);
}
h2{margin:0;font-family:"Cinzel Decorative",serif;font-weight:700;font-size:clamp(1.5rem,3vw,2rem);color:var(--guld);line-height:1.15}
.vecka{margin:.1rem 0 .6rem;color:var(--hint);font-size:1.05rem}

.rader{list-style:none;margin:0;padding:0}
.rader li{
  display:grid;grid-template-columns:2.3rem minmax(0,1fr) 3.4rem 4.9rem;gap:.5rem;align-items:center;
  padding:.34rem 0;border-top:1px solid rgba(245,204,115,.16);
  font-size:1.28rem;font-variant-numeric:tabular-nums lining-nums;
}
.rader li:first-child{border-top:0}
.rader .kol{font-family:"Cinzel",serif;font-size:.85rem;color:var(--hint);padding:0 0 .3rem;border-bottom:1px solid rgba(245,204,115,.35)}
.plats{display:grid;place-items:center;width:1.9rem;height:1.9rem;color:var(--hint)}
.plats.etta{
  color:#2b1a05;font-weight:700;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#f6cf74,#d89a2b 70%,#a56f16);
  box-shadow:0 0 0 2px #7a4f0f,0 2px 6px rgba(0,0,0,.5);
}
.alias{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--kram)}
.num{text-align:right}
.rader .tom{display:block;padding:.8rem 0;color:var(--hint);font-size:1.15rem}
.manad{margin:.7rem 0 0;padding-top:.6rem;border-top:2px solid rgba(245,204,115,.3);font-size:1.12rem}
.manad b{font-weight:400;color:var(--guld)}
.not{margin:.5rem 0 0;font-size:1rem;color:var(--hint)}
.prov{margin:.4rem 0 0;font-size:.95rem;color:var(--hint);font-style:italic}

/* ---------- Musik (startsidan) ---------- */
.musik{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem 1rem;margin:1rem 0 0}
.musik label{display:inline;margin:0;font-size:1.1rem}
.musik .knapp{min-width:9.5rem}
.reglage{flex:0 1 12rem;min-width:7rem;height:1.6rem;margin:0;accent-color:var(--guld);background:transparent;cursor:pointer}
.reglage:focus-visible{outline:3px solid var(--guld);outline-offset:3px}

/* ---------- Smalare skärmar ---------- */
@media (max-width:860px){
  .rutor{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:480px){
  .skylt-panel{border-width:30px;border-image-width:30px}
  h1{font-size:2.4rem}
  .tavla{border-width:14px;border-image-width:14px}
  .rader li{grid-template-columns:1.9rem minmax(0,1fr) 3rem 4.3rem;font-size:1.12rem;gap:.35rem}
  .spela{border-width:30px 26px;border-image-width:30px 26px}
}
@media (prefers-reduced-motion:reduce){.spela{transition:none}}

/* ---------- Gemensamt för alla sidor ---------- */
a{color:var(--guld);text-underline-offset:.18em}
a:hover{filter:brightness(1.18)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--guld);outline-offset:3px}
.lankar{margin:.7rem 0 0;font-size:1.05rem}
.tillbaka{margin:clamp(1rem,2.5vw,1.6rem) 0 0;text-align:center;font-family:"Cinzel",serif;font-size:1.15rem}
.visuellt-dold{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.hjalp b{font-weight:400;color:var(--kram)}
h1.mindre{font-size:clamp(1.9rem,5.6vw,4.4rem)}
.hel{white-space:nowrap}
.ensam{margin-top:clamp(1.2rem,3vw,2.2rem)}

/* ---------- Månadens vinnare (vinnare.html) ---------- */
.manader{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:clamp(1rem,2.5vw,1.6rem)}
.manader h3{margin:.2rem 0 0;font-family:"Cinzel",serif;font-weight:600;font-size:1.3rem;color:var(--guld)}
.manader .tom{color:var(--hint);font-size:1.15rem}
.vinnare{margin:.1rem 0 .5rem;font-size:1.2rem}
.vinnare b{font-weight:400;color:var(--guld);font-family:"Cinzel",serif}

/* ---------- Mindre träskylt som knapp (admin.html) ---------- */
.knapp{
  display:inline-block;
  border:solid transparent;border-width:18px 18px;
  border-image:url("/img/ui/Button_Wood.png") 40 fill / 18px 18px stretch;
  background:none;cursor:pointer;
  padding:0 .3rem;
  font-family:"Cinzel",serif;font-weight:600;font-size:1rem;line-height:1.2;letter-spacing:.03em;
  color:var(--guld);text-shadow:0 1px 2px rgba(0,0,0,.6);
  transition:filter .12s;
}
.knapp:hover{filter:brightness(1.18)}
.knapp:active{filter:brightness(.92)}
.knapp[disabled]{cursor:default;filter:grayscale(.6) brightness(.75)}
.rad-form{display:flex;flex-wrap:wrap;gap:.5rem .8rem;align-items:center;margin:.3rem 0 0}
.rad-form .falt{flex:1 1 14rem;width:auto;min-width:0;font-size:1.25rem}
.adminrutor{margin-top:clamp(1rem,2.5vw,1.6rem);display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(1rem,2.5vw,1.6rem)}
.adminrutor .tavla h2{font-size:clamp(1.2rem,2.4vw,1.5rem)}
.status{margin:.4rem 0 0;min-height:1.4em;font-size:1.05rem;color:var(--hint)}
.status.fel{color:var(--fel)}

.tabellruta{overflow-x:auto;margin-top:.4rem}
.tabell{width:100%;border-collapse:collapse;font-size:1.05rem;font-variant-numeric:tabular-nums lining-nums}
.tabell th{font-family:"Cinzel",serif;font-weight:400;font-size:.85rem;color:var(--hint);text-align:left;
  padding:.2rem .45rem .3rem;border-bottom:1px solid rgba(245,204,115,.35);white-space:nowrap}
.tabell td{padding:.25rem .45rem;border-top:1px solid rgba(245,204,115,.16);white-space:nowrap;color:var(--kram)}
.tabell td.num,.tabell th.num{text-align:right}
.tabell tr.dold td{color:#7d7355;text-decoration:line-through}
.tabell tr.dold td:last-child{text-decoration:none}
.tabell .knapp{font-size:.85rem;border-width:12px 14px;border-image-width:12px 14px}

@media (max-width:480px){
  .knapp{border-width:14px;border-image-width:14px}
}
@media (prefers-reduced-motion:reduce){.knapp{transition:none}}

/* ======================================================================
   School Edition: skolval, skola mot skola, flikar, justerade tabellkolumner
   ====================================================================== */
select.falt{appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--guld) 50%),linear-gradient(135deg,var(--guld) 50%,transparent 50%);
  background-position:calc(100% - 22px) 55%,calc(100% - 16px) 55%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:2.4rem}
select.falt option{background:#1a120a;color:var(--kram)}
.rad2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.8rem}
@media (max-width:300px){.rad2{grid-template-columns:minmax(0,1fr)}}
.faltgrupp{margin-top:1rem}
.faltgrupp:first-of-type{margin-top:0}
.kodruta[hidden]{display:none}

.rader li{grid-template-columns:2rem minmax(0,1fr) 2.6rem 5.2rem 5rem}
.rader li .liten{font-size:.85em;color:var(--hint)}
.rader li.skolrad{grid-template-columns:2rem minmax(0,1fr) 5.6rem 5.2rem}
.rader li.kol.skolrad{font-size:.8rem}
.rader .kol{font-size:.8rem}

.flikar{display:flex;flex-wrap:wrap;gap:.3rem .5rem;margin:.1rem 0 .4rem}
.flik{font:inherit;font-family:"Cinzel",serif;font-size:.9rem;color:var(--hint);background:rgba(26,18,10,.55);
  border:1px solid rgba(245,204,115,.3);border-radius:2px;padding:.2rem .7rem;cursor:pointer}
.flik[aria-pressed="true"]{color:#2b1a05;background:linear-gradient(#f6cf74,#d89a2b);border-color:#7a4f0f}
.flik:focus-visible{outline:3px solid var(--guld);outline-offset:2px}
.tavlor{display:grid;gap:clamp(1rem,2.5vw,1.6rem)}
.vinnarband{margin:.2rem 0 0;font-size:1.1rem}
.vinnarband b{font-weight:400;color:var(--guld)}
.kodtext{font-family:"Cinzel",serif;letter-spacing:.12em;font-size:1.4rem;color:var(--guld)}
.engang{margin:.5rem 0;padding:.6rem .8rem;border:1px solid var(--guld);background:rgba(26,18,10,.6)}
.liten-text{font-size:.95rem;color:var(--hint)}
.rutnat2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.5vw,1.6rem)}
@media (max-width:860px){.rutnat2{grid-template-columns:minmax(0,1fr)}}
pre.kod{white-space:pre-wrap;word-break:break-all;background:var(--mork);border:1px solid rgba(245,204,115,.3);padding:.6rem;font-size:.9rem;color:var(--kram);margin:.4rem 0}
.lista-text{margin:.4rem 0 1rem 1.2rem;padding:0;line-height:1.5}
.lista-text li{margin:.25rem 0}

/* ---------- Skolval med sökning ---------- */
.valdskola{text-align:left;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--guld) 50%),linear-gradient(135deg,var(--guld) 50%,transparent 50%);
  background-position:calc(100% - 22px) 55%,calc(100% - 16px) 55%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:2.4rem}
.valdskola span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.skolpanel[hidden],.egenruta[hidden]{display:none}
.skolpanel{margin-top:.6rem}
.skollista{list-style:none;margin:.5rem 0 0;padding:0;max-height:19rem;overflow-y:auto}
.skolrad{margin:0 0 .3rem}
.skolval-knapp{display:block;width:100%;text-align:left;cursor:pointer;font:inherit;font-size:1.2rem;color:var(--kram);
  background:rgba(26,18,10,.85);border:1px solid rgba(245,204,115,.35);border-radius:.4rem;padding:.5rem .7rem}
.skolval-knapp:hover,.skolval-knapp:focus-visible{border-color:var(--guld);outline:none;background:rgba(60,42,20,.9)}
.skolval-knapp b{color:var(--guld);font-weight:700}
.skolkommun,.skolsenast{color:var(--hint);font-size:1.05rem}
.lankknapp{margin:.6rem .4rem 0;padding:0;font:inherit;font-size:1.1rem;color:var(--guld);background:none;border:0;text-decoration:underline;cursor:pointer;text-align:left}
.egenruta{margin-top:.4rem}
.egenruta label{margin-top:.6rem}
