.solkart {
  max-width:1440px;
  margin:32px auto 0;
  padding:0 28px;
  color:var(--ink);
  font-family:Inter,system-ui,sans-serif
}
.sk-intro {
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  margin-bottom:24px
}
.sk-overlinje {
  color:var(--accent);
  font-size:10px;
  letter-spacing:.16em;
  font-weight:700
}
.sk-intro h1 {
  font-family:Fraunces,Georgia,serif;
  font-size:clamp(30px,3.3vw,46px);
  font-weight:400;
  letter-spacing:-.04em;
  line-height:1.2;
  margin:8px 0 10px;
  display:flex;
  align-items:center;
  gap:15px;
  flex-wrap:wrap
}
.sk-prototype {
  font-family:Inter,sans-serif;
  letter-spacing:0;
  font-size:10px;
  font-weight:500;
  padding:5px 9px;
  border:1px solid var(--line);
  border-radius:5px;
  color:var(--muted)
}
.sk-intro p:not(.sk-overlinje) {
  font-size:13px;
  color:var(--muted);
  line-height:1.7
}
.sk-adresselenke {
  font-size:12px;
  color:var(--accent);
  text-decoration:none;
  white-space:nowrap
}
.sk-adresselenke span {
  margin-left:10px
}
.sk-flate {
  position:relative;
  isolation:isolate;
  height:700px;
  border:1px solid var(--line);
  border-radius:20px;
  overflow:hidden;
  background:#bdcbd0
}
.sk-flate #solkart-kart {
  height:100%;
  width:100%;
  z-index:0;
  background:#c7d8dc
}
.sk-flate .leaflet-tile-pane {
  filter:saturate(.55)
}
.sk-flate .leaflet-control-attribution {
  font-size:9px;
  color:#323d4a;
  background:rgba(255,253,248,.85);
  max-width:100%
}
.sk-flate .leaflet-control-attribution a {
  color:#354352
}
.sk-flate .leaflet-top {
  top:90px
}
.sk-flate .leaflet-control-zoom {
  border:1px solid #dbd6ca;
  box-shadow:0 3px 18px #15203715;
  border-radius:9px;
  overflow:hidden
}
.sk-flate .leaflet-control-zoom a {
  background:#fffdf8;
  color:#1d2b45;
  width:34px;
  height:34px;
  line-height:34px
}
.sk-topprad {
  position:absolute;
  inset:20px 20px auto;
  display:flex;
  justify-content:space-between;
  gap:12px;
  pointer-events:none;
  z-index:3
}
.sk-topprad>* {
  pointer-events:auto
}
.sk-kommunesok {
  display:flex;
  align-items:center;
  gap:10px;
  width:290px;
  border:1px solid var(--line);
  background:var(--surface);
  border-radius:10px;
  padding:0 14px;
  box-shadow:0 5px 20px #10203012
}
.sk-kommunesok>span:first-child {
  font-size:26px;
  color:var(--accent)
}
.sk-kommunesok select {
  appearance:none;
  border:0;
  background:transparent;
  color:var(--ink);
  padding:14px 0;
  width:100%;
  font-size:13px;
  cursor:pointer;
  font-family:inherit
}
.sk-kommunesok option {
  background:var(--surface);
  color:var(--ink)
}
.solkart button,.solkart input {
  font-family:inherit
}
.sk-knapp,.sk-ikon {
  border:1px solid var(--line);
  background:var(--surface);
  color:var(--ink);
  cursor:pointer;
  border-radius:8px;
  font-size:12px
}
.sk-knapp {
  padding:10px 14px
}
.sk-knapp span {
  margin-left:14px
}
.sk-ikon {
  border:0;
  min-width:30px;
  height:32px;
  font-size:22px
}
.solkart button:hover {
  background:var(--bg-alt)
}
.solkart button:disabled {
  opacity:.4;
  cursor:default
}
.sk-kort {
  position:absolute;
  top:88px;
  left:20px;
  width:290px;
  padding:21px 22px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:13px;
  box-shadow:0 10px 40px #10203024;
  z-index:3
}
.sk-stedlinje {
  display:flex;
  align-items:center;
  justify-content:space-between
}
.sk-stedlinje .sk-overlinje {
  font-size:9px
}
.sk-kort h2 {
  font-family:Fraunces,Georgia,serif;
  font-size:30px;
  font-weight:400;
  letter-spacing:-.03em;
  margin:2px 0 6px
}
.sk-punkt {
  font-size:10px;
  line-height:1.5;
  color:var(--muted)
}
.sk-status {
  display:flex;
  align-items:center;
  gap:8px;
  margin:20px 0 0;
  font-size:12px
}
.sk-status>span:first-child {
  color:var(--accent);
  font-size:18px
}
.sk-status>span:last-child {
  color:var(--muted);
  font-size:10px;
  margin-left:auto
}
.sk-solkurve {
  margin:5px 0 12px;
  height:76px;
  color:var(--ink)
}
.sk-solkurve svg {
  width:100%;
  height:100%;
  overflow:visible
}
.sk-tider {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px
}
.sk-tider dt {
  font-size:10px;
  color:var(--muted);
  margin-bottom:8px
}
.sk-tider dd {
  margin:0;
  font-size:23px;
  font-weight:500;
  letter-spacing:-.04em
}
.sk-tider dd.sk-ingen {
  font-size:11px;
  line-height:28px;
  letter-spacing:0
}
.sk-daglengde {
  display:flex;
  justify-content:space-between;
  margin-top:20px;
  padding:14px 0;
  border-top:1px solid var(--line);
  font-size:11px
}
.sk-daglengde>span {
  color:var(--muted)
}
.sk-daglengde strong {
  font-weight:500
}
.sk-presisjon {
  font-size:10px;
  color:var(--muted);
  line-height:1.7;
  margin:0 0 14px
}
.sk-kortlenke {
  display:flex;
  justify-content:space-between;
  font-size:10px;
  color:var(--accent);
  text-decoration:none;
  border-top:1px solid var(--line);
  padding-top:14px;
  gap:8px
}
.sk-polar {
  font-size:11px;
  color:var(--accent);
  margin:0 0 12px;
  line-height:1.5
}
.sk-tegnforklaring {
  position:absolute;
  right:20px;
  bottom:180px;
  display:flex;
  gap:13px;
  align-items:center;
  padding:9px 13px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface);
  font-size:10px;
  z-index:3
}
.sk-tegnforklaring span {
  display:flex;
  align-items:center;
  gap:6px
}
.sk-tegnforklaring i {
  width:8px;
  height:8px;
  display:block;
  border-radius:50%
}
.sk-dag {
  background:#e5be7c
}
.sk-skumring {
  background:#ac8e95
}
.sk-natt {
  background:#3e4964
}
.sk-tidslinje {
  position:absolute;
  bottom:30px;
  left:20px;
  right:20px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:13px;
  padding:16px 22px 18px;
  z-index:4;
  box-shadow:0 8px 36px #10203024
}
.sk-tidshode {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:14px
}
.sk-datovalg {
  display:flex;
  align-items:center;
  gap:5px
}
.sk-datovalg input {
  background:transparent;
  color:var(--ink);
  border:0;
  font-size:12px;
  min-width:128px;
  padding:6px;
  cursor:pointer;
  color-scheme:inherit
}
.sk-datovalg .sk-knapp {
  margin-left:9px;
  padding:6px 11px;
  color:var(--accent)
}
.sk-klokke {
  display:flex;
  align-items:baseline;
  gap:12px
}
.sk-klokke output {
  font-size:25px;
  font-weight:500;
  letter-spacing:-.04em;
  font-variant-numeric:tabular-nums
}
.sk-klokke>span {
  font-size:9px;
  color:var(--muted)
}
.sk-spiller {
  display:flex;
  align-items:flex-start;
  gap:20px
}
.sk-spill {
  flex-shrink:0;
  width:36px;
  height:36px;
  border:0;
  border-radius:50%;
  color:var(--bg);
  background:var(--accent);
  cursor:pointer;
  font-size:12px;
  margin-top:-2px
}
.solkart .sk-spill:hover {
  background:var(--accent);
  filter:brightness(1.15)
}
.sk-spill[aria-pressed=true] {
  box-shadow:0 0 0 4px var(--accent-soft)
}
.sk-spor {
  flex:1;
  position:relative;
  padding-top:5px
}
.sk-spor input {
  display:block;
  width:100%;
  height:6px;
  margin:0;
  appearance:none;
  border-radius:5px;
  cursor:pointer;
  background:var(--sk-bane,#a17d61);
  position:relative;
  z-index:1
}
.sk-spor input::-webkit-slider-thumb {
  appearance:none;
  width:18px;
  height:18px;
  border:3px solid var(--surface);
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 1px var(--accent),0 2px 5px #0003
}
.sk-spor input::-moz-range-thumb {
  width:13px;
  height:13px;
  border:3px solid var(--surface);
  border-radius:50%;
  background:var(--accent)
}
.sk-timer {
  position:relative;
  height:24px;
  margin:12px 0 0;
  font-size:9px;
  color:var(--muted);
  font-variant-numeric:tabular-nums
}
.sk-timer span {
  position:absolute;
  transform:translateX(-50%)
}
.sk-timer span:first-child {
  transform:none
}
.sk-timer span:last-child {
  transform:translateX(-100%)
}
.sk-undertekst {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:30px;
  font-size:10px;
  line-height:1.7;
  color:var(--muted);
  padding:14px 2px 0
}
.sk-undertekst details {
  max-width:450px
}
.sk-undertekst summary {
  cursor:pointer;
  color:var(--accent);
  text-align:right
}
.sk-undertekst details[open] {
  background:var(--surface);
  padding:12px;
  border-radius:8px;
  border:1px solid var(--line)
}
.sk-undertekst details p {
  margin:10px 0 0
}
.sk-undertekst a {
  color:var(--accent)
}
.sk-feil {
  position:absolute;
  top:90px;
  right:60px;
  left:340px;
  padding:16px;
  background:var(--surface);
  border:1px solid var(--accent);
  border-radius:10px;
  z-index:5;
  font-size:13px
}
.sk-markoer {
  width:13px;
  height:13px;
  background:#e9b77c;
  border:3px solid #fff8eb;
  border-radius:50%;
  box-shadow:0 0 0 5px #d4a57444,0 3px 10px #0004
}
.sk-kommune-tooltip {
  font-family:Inter,sans-serif;
  background:#fffdf8;
  color:#1d2b45;
  border:0;
  border-radius:6px;
  padding:6px 10px
}
.solkart [hidden] {
  display:none!important
}
@media(min-width:1600px) {
  .sk-flate {
    height:760px
  }
}
@media(max-width:850px) {
  .solkart {
    padding:0 16px;
    margin-top:22px
  }
  .sk-intro {
    display:block;
    margin-bottom:18px
  }
  .sk-adresselenke {
    display:inline-block;
    margin-top:12px
  }
  .sk-flate {
    height:940px
  }
  .sk-kort {
    top:auto;
    bottom:194px;
    left:12px;
    width:260px;
    padding:16px 18px
  }
  .sk-kort h2 {
    font-size:25px
  }
  .sk-topprad {
    inset:12px 12px auto
  }
  .sk-kommunesok {
    width:260px
  }
  .sk-tegnforklaring {
    right:12px;
    bottom:auto;
    top:72px
  }
  .sk-tidslinje {
    left:12px;
    right:12px;
    bottom:27px;
    padding:13px 15px
  }
  .sk-undertekst {
    display:block
  }
  .sk-undertekst details {
    margin-top:6px;
    max-width:none
  }
  .sk-undertekst summary {
    text-align:left
  }
  .sk-flate .leaflet-top {
    top:118px
  }
  .sk-feil {
    top:120px;
    right:12px;
    left:12px
  }
}
@media(max-width:540px) {
  .sk-flate {
    height:895px;
    border-radius:14px
  }
  .sk-topprad {
    gap:8px
  }
  .sk-kommunesok {
    width:calc(100% - 99px);
    padding:0 10px
  }
  .sk-kommunesok select {
    font-size:12px;
    padding:12px 0
  }
  .sk-topprad>.sk-knapp {
    font-size:10px;
    padding:8px
  }
  .sk-topprad>.sk-knapp span {
    margin-left:5px
  }
  .sk-kort {
    width:auto;
    right:12px;
    bottom:192px;
    padding:14px 18px
  }
  .sk-solkurve {
    height:52px;
    position:absolute;
    top:66px;
    right:20px;
    width:130px;
    opacity:.8
  }
  .sk-status {
    max-width:50%;
    flex-wrap:wrap;
    margin-top:12px
  }
  .sk-status>span:last-child {
    margin-left:0
  }
  .sk-punkt {
    font-size:9px
  }
  .sk-tider {
    margin-top:18px
  }
  .sk-daglengde {
    margin-top:14px;
    padding:12px 0
  }
  .sk-presisjon {
    font-size:9px;
    margin-bottom:10px
  }
  .sk-kortlenke {
    padding-top:10px
  }
  .sk-tegnforklaring {
    font-size:9px;
    gap:10px;
    padding:8px 10px
  }
  .sk-tidshode {
    align-items:flex-start;
    gap:4px
  }
  .sk-klokke {
    display:block;
    text-align:right
  }
  .sk-klokke output {
    font-size:22px
  }
  .sk-klokke>span {
    display:block;
    font-size:8px;
    margin-top:4px
  }
  .sk-datovalg {
    gap:0;
    flex-wrap:wrap;
    max-width:222px
  }
  .sk-datovalg input {
    padding:4px 0;
    min-width:118px;
    font-size:12px
  }
  .sk-datovalg .sk-ikon {
    min-width:24px;
    width:24px
  }
  .sk-datovalg .sk-knapp {
    margin-left:4px;
    font-size:10px
  }
  .sk-spiller {
    gap:14px
  }
  .sk-spill {
    width:32px;
    height:32px
  }
  .sk-undertekst {
    font-size:10px
  }
  .sk-intro h1 {
    gap:10px
  }
  .sk-prototype {
    font-size:9px
  }
  .sk-intro p:not(.sk-overlinje) {
    max-width:35ch;
    font-size:12px
  }
}
/* Holder kort og tidslinje atskilt også ved mørketid. */
body:has(.solkart) #main {
  max-width:none;
  padding:0 0 40px
}
.solkart {
  margin-top:26px
}
.sk-kort {
  max-height:calc(100% - 285px);
  overflow-y:auto;
  padding-top:16px;
  padding-bottom:16px
}
.sk-stedlinje {
  height:24px
}
.sk-kort h2 {
  line-height:1.2
}
.sk-solkurve {
  height:56px
}
.sk-status {
  margin-top:14px;
  line-height:1.3
}
.sk-daglengde {
  margin-top:14px;
  padding:12px 0
}
.sk-undertekst {
  margin-bottom:18px
}
.sol-land {
  padding-left:16px;
  padding-right:16px
}
.sk-kommunesok select {
  padding-right:15px;
  background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 5px) 50%,100% 50%;
  background-size:5px 5px;
  background-repeat:no-repeat
}
@media(max-width:850px) {
  .sk-kort {
    max-height:calc(100% - 290px)
  }
}
@media(max-width:540px) {
  .sk-kort {
    padding:14px 18px;
    max-height:420px
  }
  .sk-solkurve {
    height:52px
  }
  .sk-kort h2 {
    line-height:1.2
  }
  .sk-status {
    margin-top:12px
  }
  .sk-intro {
    padding-top:4px
  }
}
.sk-kort {
  max-height:calc(100% - 270px)
}
/* På mobil ligger informasjonen under kartet, slik at siden kan rulles. */
@media(max-width:850px) {
  .sk-flate {
    height:auto;
    background:var(--bg-alt)
  }
  .sk-flate #solkart-kart {
    height:430px
  }
  .sk-kort {
    position:relative;
    inset:auto;
    width:auto;
    max-height:none;
    overflow:visible;
    margin:12px;
    padding:18px 20px
  }
  .sk-tidslinje {
    position:relative;
    inset:auto;
    margin:0 12px 28px
  }
  .sk-tegnforklaring {
    top:74px;
    bottom:auto
  }
  .sk-flate .leaflet-control-attribution {
    font-size:8px
  }
  .sk-solkurve {
    height:62px
  }
  .sk-flate .leaflet-bottom {
    bottom:0
  }
  .sk-daglengde {
    margin-top:12px
  }
  .sk-presisjon {
    margin-bottom:10px
  }
}
@media(max-width:540px) {
  .sk-flate #solkart-kart {
    height:390px
  }
  .sk-kort {
    padding:14px 18px
  }
  .sk-solkurve {
    height:52px
  }
  .sk-topprad .sk-knapp {
    min-height:40px
  }
  .sk-datovalg .sk-ikon {
    min-height:36px
  }
  .sk-undertekst {
    padding-top:10px
  }
}

.sk-stedlinje a.sk-ikon{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--ink)}.sk-stedlinje a.sk-ikon:hover{background:var(--bg-alt);color:var(--accent)}.sol-kommunetider{margin:28px 0 36px}.sol-kommunetider h2{font-family:Fraunces,Georgia,serif;font-weight:400;font-size:28px;line-height:1.25;margin-bottom:14px}.sol-kommunetider p{line-height:1.7;margin:14px 0;color:var(--muted)}.sol-kommunetabell{overflow-x:auto;margin-top:20px;border:1px solid var(--line);border-radius:12px}.sol-kommunetabell table{width:100%;border-collapse:collapse;font-size:12px;min-width:440px}.sol-kommunetabell caption{text-align:left;padding:16px;background:var(--surface);color:var(--muted);font-size:11px}.sol-kommunetabell th,.sol-kommunetabell td{padding:12px 14px;text-align:left;border-top:1px solid var(--line);font-weight:400}.sol-kommunetabell thead th{background:var(--bg-alt);font-weight:600}.sol-kommunetider .sol-metode{font-size:12px}
