/* Lotteriwiki — identitet v1.
   Motiv: TREKNINGSSEDDEL / lotteri-kupong — perforert kant, nummererte ball-chips.
   IKKE løpsprogram, IKKE warm parchment, IKKE grønn/kopper.

   Palett:
     papir    #eef2f6   kjølig papir
     ink      #0f2744   blå-ink brand
     ball     #c62828   lottery-ball rød
     kort     #ffffff
   Typografi: IBM Plex Serif + IBM Plex Sans.
   Prefiks: lw-
*/
:root,
html body {
  --lw-ink: #0f2744;
  --lw-ink-2: #1a3a5c;
  --lw-ink-9: #0a1a2e;
  --lw-ball: #c62828;
  --lw-ball-dim: #a51f1f;
  --lw-ball-light: #e53935;
  --lw-paper: #eef2f6;
  --lw-card: #ffffff;
  --lw-line: #c5ced8;
  --lw-line-2: #dce3eb;
  --lw-mute: #5a6b7d;
  --lw-tint: #e3e9f0;
  --lw-wrap: 68rem;
  --lw-serif: "IBM Plex Serif", Georgia, "Times New Roman", serif;
  --lw-sans: "IBM Plex Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
  --lw-mono: "IBM Plex Mono", Consolas, "SF Mono", monospace;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font: 16px/1.6 var(--lw-sans);
  color: var(--lw-ink);
  background:
    radial-gradient(circle at 12% 8%, rgba(198, 40, 40, 0.05), transparent 28%),
    radial-gradient(circle at 88% 0%, rgba(15, 39, 68, 0.06), transparent 32%),
    var(--lw-paper);
}
a { color: var(--lw-ball-dim); text-decoration-thickness: 1px; text-underline-offset: 2px; }
a:hover { color: var(--lw-ball); }
img { max-width: 100%; }

.lw-skip { position: absolute; left: -9999px; }
.lw-skip:focus { left: 1rem; top: 1rem; z-index: 30; background: #fff; padding: .5rem .75rem; }

.lw-wrap { max-width: var(--lw-wrap); margin: 0 auto; padding: 0 1.25rem; }

/* ---------- topp: én blå-ink-verden ---------- */
.lw-strip {
  background: var(--lw-ink-9);
  color: #c9d6e4;
  font-size: .76rem;
  letter-spacing: .01em;
}
.lw-strip-in { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .3rem 1.25rem; padding: .35rem 1.25rem; }
.lw-strip a { color: #ffb4b0; }

.lw-head { background: var(--lw-ink); color: #fff; padding-bottom: 0; }
.lw-head-in {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .3rem .9rem;
  padding: .65rem 1.25rem .55rem;
}
.lw-brand {
  font-family: var(--lw-serif);
  font-size: 1.55rem;
  font-weight: 700;
  letter-spacing: -.01em;
  color: #fff;
  text-decoration: none;
  border-bottom: 2px solid var(--lw-ball);
  padding-bottom: .05rem;
}
.lw-tag { margin: 0; color: #b8c9db; font-size: .82rem; flex: 1 1 auto; font-style: italic; font-family: var(--lw-serif); }

.lw-burger {
  display: none;
  align-items: center;
  gap: .45rem;
  margin-left: auto;
  padding: .35rem .65rem;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 3px;
  background: transparent;
  color: #fff;
  font: 600 .78rem/1 var(--lw-sans);
  letter-spacing: .04em;
  text-transform: uppercase;
  cursor: pointer;
}
.lw-burger-bars {
  display: block;
  width: 1rem;
  height: .7rem;
  border-top: 2px solid #fff;
  border-bottom: 2px solid #fff;
  background: linear-gradient(#fff, #fff) center / 100% 2px no-repeat;
}
.lw-burger[aria-expanded="true"] { background: rgba(255,255,255,.12); }

.lw-nav {
  background: var(--lw-ink);
  border-top: 1px solid rgba(255,255,255,.14);
}
.lw-nav-in {
  display: flex;
  flex-wrap: wrap;
  gap: 0 .1rem;
  padding: 0 1.25rem;
}
.lw-nav-link {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  padding: .5rem .6rem .46rem;
  color: #d5e0ec;
  text-decoration: none;
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .03em;
  text-transform: uppercase;
  border-bottom: 3px solid transparent;
}
.lw-nav-link:hover,
.lw-nav-link[aria-current="page"] {
  color: #fff;
  border-bottom-color: #fff;
}

@media (max-width: 52rem) {
  .lw-burger { display: inline-flex; }
  .lw-tag { display: none; }
  .lw-nav { display: none; }
  body.lw-nav-open .lw-nav { display: block; }
  .lw-nav-in { flex-direction: column; align-items: stretch; padding: .3rem .75rem .8rem; }
  .lw-nav-link { padding: .68rem .5rem; border-bottom: 1px solid rgba(255,255,255,.1); }
}

/* ---------- shell ---------- */
.lw-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 17rem;
  gap: 2rem;
  align-items: start;
  padding: 1.5rem 1.25rem 3.5rem;
}
.lw-shell-full { grid-template-columns: minmax(0, 1fr); }
.lw-doc { min-width: 0; }

.lw-bc { font-size: .8rem; color: var(--lw-mute); margin-bottom: .9rem; }
.lw-bc a { color: var(--lw-mute); }
.lw-bc span[aria-hidden] { margin: 0 .35rem; }

.lw-kicker {
  margin: 0 0 .3rem;
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--lw-ball-dim);
}
h1 {
  font-family: var(--lw-serif);
  font-size: clamp(1.75rem, 1.2rem + 2vw, 2.4rem);
  line-height: 1.14;
  margin: 0 0 1rem;
  font-weight: 700;
  letter-spacing: -.01em;
  color: var(--lw-ink);
}

/* ---------- trekningskupong (signatur: lw-ticket) ---------- */
.lw-ticket {
  position: relative;
  background: var(--lw-card);
  border: 1px solid var(--lw-line);
  border-radius: 4px;
  padding: 1.4rem 1.15rem 0;
  margin: 1.6rem 0 1.1rem;
  box-shadow: 0 1px 0 rgba(15, 39, 68, 0.04);
  /* perforert venstrekant */
  background-image:
    radial-gradient(circle at 0 12px, transparent 5px, var(--lw-card) 6px),
    linear-gradient(90deg, var(--lw-ball) 0 6px, transparent 6px);
  background-size: 12px 16px, 100% 100%;
  background-position: left top, 0 0;
  background-repeat: repeat-y, no-repeat;
  padding-left: 1.45rem;
}
.lw-ticket::before {
  content: attr(data-tag);
  position: absolute;
  top: -1px;
  left: 1.4rem;
  transform: translateY(-100%);
  background: var(--lw-ink);
  color: #fff;
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: .28rem .65rem;
  border-radius: 3px 3px 0 0;
}
.lw-ticket::after {
  content: "";
  display: block;
  margin: 0 -1.15rem 0 -1.45rem;
  height: 0;
  border-top: 2px dashed var(--lw-line);
}
.lw-svar {
  font-family: var(--lw-serif);
  font-size: 1.18rem;
  line-height: 1.45;
  margin: 0 0 1.1rem;
  color: var(--lw-ink);
}
.lw-fakta-top {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
  border-top: 1px dotted var(--lw-line);
  margin: 0 -1.15rem 0 -1.45rem;
}
.lw-fakta-top > div { padding: .8rem 1.15rem .9rem; border-right: 1px dotted var(--lw-line); }
.lw-fakta-top > div:last-child { border-right: 0; }
.lw-fakta-top dt {
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--lw-mute);
  margin-bottom: .3rem;
}
.lw-fakta-top dd { margin: 0; font-size: .92rem; font-weight: 600; color: var(--lw-ink); }

.lw-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .3rem .8rem;
  font-size: .8rem;
  color: var(--lw-mute);
  padding-bottom: 1.2rem;
  border-bottom: 1px solid var(--lw-line-2);
  margin-bottom: 1.6rem;
}
.lw-meta b { color: var(--lw-ink); font-weight: 600; }

/* numbered ball chips */
.lw-balls {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  list-style: none;
  margin: 0 0 1.4rem;
  padding: 0;
}
.lw-balls li,
.lw-ball {
  display: inline-grid;
  place-items: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 .45rem;
  border-radius: 999px;
  background: var(--lw-ball);
  color: #fff;
  font-family: var(--lw-serif);
  font-weight: 700;
  font-size: .88rem;
  box-shadow: inset 0 -2px 0 rgba(0,0,0,.18);
}
.lw-ball-ink {
  background: var(--lw-ink);
}

.lw-key {
  background: var(--lw-tint);
  border-left: 4px solid var(--lw-ball);
  border-radius: 0 3px 3px 0;
  padding: 1rem 1.1rem .9rem;
  margin: 0 0 1.6rem;
}
.lw-key h2 {
  font-family: var(--lw-sans);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin: 0 0 .6rem;
  padding: 0;
  border: 0;
  color: var(--lw-ink);
}
.lw-key ul { margin: 0; padding-left: 1.15rem; }
.lw-key li { margin-bottom: .38rem; }
.lw-key li::marker { color: var(--lw-ball); }

h2 {
  font-family: var(--lw-serif);
  font-size: 1.3rem;
  line-height: 1.25;
  margin: 2.1rem 0 .8rem;
  padding-bottom: .35rem;
  border-bottom: 2px solid var(--lw-ball);
  font-weight: 700;
  color: var(--lw-ink);
}
h3 { font-family: var(--lw-serif); font-size: 1.05rem; margin: 1.4rem 0 .5rem; color: var(--lw-ink); }
.lw-sec p { margin: 0 0 .9rem; }
.lw-sec > :last-child { margin-bottom: 0; }

.lw-lead { list-style: none; margin: 0 0 1.2rem; padding: 0; }
.lw-lead > li {
  position: relative;
  padding: .12rem 0 .12rem .9rem;
  margin-bottom: .55rem;
  border-left: 3px solid var(--lw-ball);
}
.lw-lead b { color: var(--lw-ink); }

.lw-steps { counter-reset: lwstep; list-style: none; margin: 0 0 1.3rem; padding: 0; }
.lw-steps > li {
  counter-increment: lwstep;
  position: relative;
  padding: .15rem 0 .15rem 2.5rem;
  margin-bottom: .8rem;
}
.lw-steps > li::before {
  content: counter(lwstep);
  position: absolute;
  left: 0;
  top: 0;
  width: 1.8rem;
  height: 1.8rem;
  display: grid;
  place-items: center;
  background: var(--lw-ball);
  color: #fff;
  font-family: var(--lw-serif);
  font-size: .88rem;
  border-radius: 50%;
  box-shadow: inset 0 -2px 0 rgba(0,0,0,.15);
}
.lw-steps b { color: var(--lw-ink); }

.lw-tablewrap { overflow-x: auto; margin: 0 0 1.4rem; }
table {
  width: 100%;
  border-collapse: collapse;
  font-size: .92rem;
  background: var(--lw-card);
  border: 1px solid var(--lw-line);
}
thead th {
  background: var(--lw-ink);
  color: #fff;
  text-align: left;
  font-size: .76rem;
  letter-spacing: .05em;
  text-transform: uppercase;
  padding: .55rem .7rem;
  border-bottom: 2px solid var(--lw-ball);
}
tbody td { padding: .55rem .7rem; border-top: 1px solid var(--lw-line-2); vertical-align: top; }
tbody tr:nth-child(even) td { background: #f5f8fb; }

.lw-note {
  background: var(--lw-card);
  border: 1px solid var(--lw-line);
  border-left: 4px solid var(--lw-ink-2);
  border-radius: 0 3px 3px 0;
  padding: .8rem 1rem;
  margin: 0 0 1.4rem;
  font-size: .93rem;
}
.lw-note::before {
  content: "Merk";
  display: block;
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--lw-ink-2);
  margin-bottom: .25rem;
}

.lw-warning {
  background: var(--lw-ink-9);
  color: #e8eef5;
  border-top: 3px solid var(--lw-ball);
  border-radius: 3px;
  padding: .85rem 1.05rem;
  margin: 0 0 1.6rem;
  font-size: .93rem;
}
.lw-warning strong { color: #ffb4b0; text-transform: uppercase; letter-spacing: .06em; font-size: .78rem; }
.lw-warning a { color: #ffc9c6; }

.lw-example {
  background: var(--lw-card);
  border: 1px solid var(--lw-line);
  border-top: 3px solid var(--lw-ink);
  border-radius: 3px;
  padding: 1rem 1.1rem .9rem;
  margin: 0 0 1.5rem;
}
.lw-example > h3 {
  font-size: 1.02rem;
  margin: 0 0 .7rem;
  padding-bottom: .4rem;
  border-bottom: 1px dotted var(--lw-line);
}
.lw-example .lw-steps { margin-bottom: .8rem; }
.lw-example-out {
  background: var(--lw-tint);
  border-left: 3px solid var(--lw-ball);
  padding: .55rem .8rem;
  margin: 0;
  font-size: .92rem;
}
.lw-example-out b { color: var(--lw-ink); }

.lw-fakta { margin: 0 0 1.4rem; background: var(--lw-tint); border: 1px solid var(--lw-line); border-radius: 3px; overflow: hidden; }
.lw-fakta-hd {
  margin: 0; padding: .4rem .8rem; background: var(--lw-ink); color: #fff;
  font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
}
.lw-fakta dl { display: flex; flex-wrap: wrap; margin: 0; }
.lw-fakta-row {
  display: flex; flex-direction: column; gap: .15rem;
  padding: .6rem .9rem; border-right: 1px dotted var(--lw-line);
  flex: 1 1 8rem;
}
.lw-fakta-row dt { font-size: .66rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--lw-mute); }
.lw-fakta-row dd { margin: 0; font-weight: 600; color: var(--lw-ink); }

.lw-feil { margin: 2.1rem 0 1.6rem; }
.lw-feil-grid { display: grid; gap: .6rem; }
.lw-feil-item {
  display: grid;
  grid-template-columns: 2rem 1fr;
  gap: .75rem;
  background: var(--lw-card);
  border: 1px solid var(--lw-line);
  border-left: 3px solid var(--lw-ball);
  border-radius: 0 3px 3px 0;
  padding: .7rem .85rem;
}
.lw-feil-no {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  background: var(--lw-ball);
  color: #fff;
  font-family: var(--lw-serif);
  border-radius: 50%;
}
.lw-feil-item b { display: block; color: var(--lw-ink); }
.lw-feil-item span { font-size: .92rem; }

.lw-next-wrap { display: grid; gap: .7rem; margin: 0 0 1.8rem; }
.lw-next-wrap:not(.lw-next-single) { grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
.lw-next {
  display: block;
  position: relative;
  background: var(--lw-card);
  border: 1px solid var(--lw-line);
  border-left: 5px solid var(--lw-ball);
  border-radius: 0 3px 3px 0;
  padding: .85rem 1rem;
  text-decoration: none;
  color: inherit;
}
.lw-next::after {
  content: "";
  position: absolute;
  right: 0; top: .6rem; bottom: .6rem;
  width: 0;
  border-right: 2px dashed var(--lw-line);
}
.lw-next:hover { border-left-color: var(--lw-ink); }
.lw-next .lw-next-lbl {
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--lw-ball-dim);
}
.lw-next strong { display: block; font-family: var(--lw-serif); font-size: 1.05rem; color: var(--lw-ink); margin-top: .1rem; }
.lw-next span { font-size: .9rem; color: var(--lw-ink); }

.lw-faq details, .lw-faq-sec details {
  background: var(--lw-card);
  border: 1px solid var(--lw-line);
  border-left: 3px solid var(--lw-ball);
  border-radius: 0 3px 3px 0;
  margin-bottom: .5rem;
}
.lw-faq summary, .lw-faq-sec summary {
  cursor: pointer;
  padding: .7rem .9rem;
  font-weight: 600;
  list-style: none;
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  color: var(--lw-ink);
}
.lw-faq summary::-webkit-details-marker,
.lw-faq-sec summary::-webkit-details-marker { display: none; }
.lw-faq summary::after, .lw-faq-sec summary::after { content: "+"; color: var(--lw-ball); font-weight: 700; }
.lw-faq details[open] summary::after, .lw-faq-sec details[open] summary::after { content: "\2013"; }
.lw-faq details[open] summary, .lw-faq-sec details[open] summary { border-bottom: 1px dotted var(--lw-line); }
.lw-faq p, .lw-faq-sec p { margin: 0; padding: .75rem .9rem .85rem; font-size: .94rem; }

.lw-chips ul { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; padding: 0; margin: 0; }
.lw-chips a {
  display: inline-block;
  padding: .3rem .7rem;
  border: 1px solid var(--lw-line);
  background: var(--lw-card);
  border-radius: 999px;
  font-size: .82rem;
  text-decoration: none;
  color: var(--lw-ink);
}
.lw-chips a:hover { border-color: var(--lw-ball); color: var(--lw-ball-dim); }

.lw-sources { margin: 0; padding-left: 1.3rem; font-size: .92rem; }
.lw-sources-inline { list-style: none; padding-left: 0; }
.lw-sources li { margin-bottom: .45rem; }
.lw-host {
  display: inline-block;
  margin-left: .4rem;
  font-family: var(--lw-mono);
  font-size: .76rem;
  color: var(--lw-mute);
}
.lw-empty { color: var(--lw-mute); font-style: italic; }
.lw-by {
  margin: 2rem 0 0;
  padding-top: .8rem;
  border-top: 1px solid var(--lw-line);
  font-size: .85rem;
  color: var(--lw-mute);
}

.lw-rail { position: sticky; top: 1rem; display: grid; gap: 1.1rem; }
.lw-rail-box {
  background: var(--lw-card);
  border: 1px solid var(--lw-line);
  border-radius: 3px;
  overflow: hidden;
}
.lw-rail-hd {
  background: var(--lw-ink);
  color: #fff;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: .45rem .75rem;
  border-bottom: 2px solid var(--lw-ball);
}
.lw-rail-quick dl { margin: 0; }
.lw-rail-quick .lw-fakta-row {
  display: grid;
  grid-template-columns: 5.8rem 1fr;
  gap: .5rem;
  padding: .45rem .75rem;
  border-top: 1px solid var(--lw-line-2);
  border-right: 0;
  font-size: .82rem;
  flex: none;
}
.lw-rail-quick .lw-fakta-row:first-child { border-top: 0; }
.lw-rail-quick .lw-fakta-row:nth-child(odd) { background: #f5f8fb; }
.lw-rail-quick dt { color: var(--lw-mute); font-weight: 400; text-transform: none; letter-spacing: 0; font-size: .8rem; }
.lw-rail-quick dd { margin: 0; font-weight: 600; color: var(--lw-ink); }

.lw-rail-toc ol { counter-reset: lwtoc; list-style: none; margin: 0; padding: .5rem .75rem .7rem; }
.lw-rail-toc li { counter-increment: lwtoc; display: grid; grid-template-columns: 1.3rem 1fr; gap: .35rem; margin-bottom: .35rem; font-size: .84rem; }
.lw-rail-toc li::before { content: counter(lwtoc) "."; color: var(--lw-ball); font-weight: 700; }
.lw-rail-toc a { text-decoration: none; color: var(--lw-ink); }
.lw-rail-toc a:hover { color: var(--lw-ball); text-decoration: underline; }

.lw-rail-more ul { list-style: none; margin: 0; padding: .5rem .75rem .7rem; }
.lw-rail-more li { margin-bottom: .4rem; font-size: .85rem; }
.lw-rail-more a { text-decoration: none; }
.lw-rail-more a:hover { text-decoration: underline; }

.lw-barn { list-style: none; padding: 0; margin: 0 0 1.6rem; }
.lw-barn li {
  display: grid;
  gap: .15rem;
  padding: .8rem .9rem;
  background: var(--lw-card);
  border: 1px solid var(--lw-line);
  border-left: 4px solid var(--lw-ball);
  border-radius: 0 3px 3px 0;
  margin-bottom: .5rem;
}
.lw-barn a { font-family: var(--lw-serif); font-size: 1.02rem; font-weight: 700; color: var(--lw-ink); text-decoration: none; }
.lw-barn a:hover { color: var(--lw-ball-dim); }
.lw-barn span { color: var(--lw-mute); font-size: .9rem; }

.lw-foot { background: var(--lw-ink-9); color: #d5e0ec; margin-top: 2rem; }
.lw-foot-in { padding: 2rem 1.25rem 2.4rem; display: grid; gap: 1.2rem; grid-template-columns: 1.4fr 1fr 1fr; }
.lw-foot a { color: #ffb4b0; }
.lw-foot-brand { font-family: var(--lw-serif); font-size: 1.15rem; margin: 0 0 .4rem; color: #fff; }
.lw-foot h2 { font-family: var(--lw-sans); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; border: 0; padding: 0; margin: 0 0 .5rem; color: #ffb4b0; }
.lw-foot ul { list-style: none; margin: 0; padding: 0; font-size: .88rem; }
.lw-foot li { margin-bottom: .3rem; }
.lw-foot-note { border-top: 1px solid rgba(255,255,255,.14); padding: .9rem 1.25rem 1.6rem; font-size: .8rem; color: #9aadc0; }

@media (max-width: 60rem) {
  .lw-shell { grid-template-columns: minmax(0, 1fr); }
  .lw-rail { position: static; order: 2; }
  .lw-foot-in { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 40rem) {
  .lw-fakta-top { grid-template-columns: 1fr; }
  .lw-fakta-top > div { border-right: 0; border-bottom: 1px dotted var(--lw-line); }
  .lw-fakta-top > div:last-child { border-bottom: 0; }
  .lw-fakta-row { border-right: 0; border-bottom: 1px dotted var(--lw-line); }
  .lw-foot-in { grid-template-columns: 1fr; }
  .lw-next-wrap:not(.lw-next-single) { grid-template-columns: 1fr; }
}

.lw-ymyl{margin:.75rem 0 1.25rem;padding:.65rem .9rem;background:var(--lw-tint);border-left:3px solid var(--lw-ball);font-size:.88rem;color:var(--lw-mute);border-radius:0 6px 6px 0}.lw-ymyl a{color:var(--lw-ball-dim)}
