


@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonter/jetbrains-mono.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonter/jetbrains-mono.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:600;font-display:swap;src:url(fonter/jetbrains-mono.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url(fonter/jetbrains-mono.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(fonter/inter.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(fonter/inter.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(fonter/inter.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(fonter/inter.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}


*{touch-action:manipulation}

  :root{
    --bg: #0b1220;
    --panel: #121b2e;
    --panel-2: #182338;
    --line: #25304a30;
    --border: #263353;
    --text: #e7ecf6;
    --dim: #8b95ab;
    --gull: #f0b93d;
    --gull-dim: #f0b93d55;
    --feil: #f2755a;
    --ok: #4fd6a8;
    --glans: #16213a;
    --dyp: #0d1526;
    --dyp-2: #0f1829;
    --tekst-sterk: #eef1f8;
    --tekst-2: #c7d0e3;
    --dempet: #4a5674;
    --plassholder: #526080;
    --dempet-lenke: #6c7aa0;
    --paa-gull: #1c1404;
    --ok-kant: #2a4a3d;
    --feil-kant: #4a2a2a;
    --fokusring: #ffffff;
  }

  
  @media (prefers-color-scheme: light){
    :root{
      --bg: #f1f4fb;
      --panel: #ffffff;
      --panel-2: #e6ecf8;
      --border: #c6d2e8;
      --text: #111826;
      --dim: #535f76;
      --gull: #8a4b12;
      --gull-dim: #8a4b1240;
      --feil: #b03418;
      --ok: #1c6339;
      --line: #11182618;
      --glans: #e4ebfa;
          --dyp: #eef2fa;
      --dyp-2: #f2f5fc;
    --tekst-sterk: #0d131f;
      --tekst-2: #2b3549;
    --dempet: #5c6880;
      --plassholder: #626d87;
      --dempet-lenke: #4a5878;
    --paa-gull: #ffffff;
      --ok-kant: #9ecab4;
      --feil-kant: #e0b0a4;
      --fokusring: #111826;
    }
  }
  *{box-sizing:border-box}
  
  [hidden]{display:none !important}
  html{-webkit-text-size-adjust:100%}
  body{
    margin:0;
    background:
      radial-gradient(1200px 600px at 15% -10%, var(--glans) 0%, transparent 60%),
      var(--bg);
    color:var(--text);
    font-family:"Inter",system-ui,sans-serif;
    min-height:100vh;
    padding:28px 16px 60px;
  }
  .wrap{max-width:620px;margin:0 auto}

  .eyebrow{
    font-family:"JetBrains Mono",monospace;
    font-size:12.5px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--gull);
    margin:0 0 8px;
  }
  h1{
    font-family:"JetBrains Mono",monospace;
    font-weight:700;
    font-size:clamp(28px,7vw,38px);
    margin:0 0 6px;
    letter-spacing:-0.01em;
  }
  p.sub{
    color:var(--dim);
    margin:0 0 28px;
    font-size:15px;
    line-height:1.5;
    max-width:46ch;
  }
  
  p.utvidet-lenke{ margin:-18px 0 28px }
  p.utvidet-lenke a{
    display:inline-block;
    color:var(--gull);
    text-decoration:none;
    padding:6px 0;
  }
  p.utvidet-lenke a:hover,p.utvidet-lenke a:focus-visible{ text-decoration:underline }

  .panel{
    background:linear-gradient(180deg, var(--panel-2), var(--panel));
    border:1px solid var(--border);
    border-radius:16px;
    padding:20px;
  }

  .inputrad{
    display:flex;
    gap:10px;
    align-items:stretch;
  }
  input#uttrykk{
    flex:1;
    min-width:0;
    background:var(--dyp);
    border:1.5px solid var(--border);
    border-radius:10px;
    color:var(--text);
    font-family:"JetBrains Mono",monospace;
    font-size:17px;
    padding:13px 14px;
    outline:none;
  }
  input#uttrykk:focus-visible{
    border-color:var(--gull);
    box-shadow:0 0 0 3px var(--gull-dim);
  }
  input#uttrykk::placeholder{ color:var(--plassholder) }

  button#regn{
    background:var(--gull);
    color:var(--paa-gull);
    border:none;
    border-radius:10px;
    padding:0 20px;
    font-family:"Inter",sans-serif;
    font-weight:700;
    font-size:15px;
    cursor:pointer;
    white-space:nowrap;
  }
  button#regn:hover{ filter:brightness(1.08) }
  button#regn:focus-visible{ outline:3px solid var(--fokusring); outline-offset:2px }
  button#regn:active{ transform:translateY(1px) }

  .modusvalg{
    margin-top:10px;
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    font-size:13px;
    color:var(--dim);
  }
  .modusvalg-label{ color:var(--tekst-2); font-weight:600 }
  .modusvalg label{
    display:inline-flex;
    align-items:center;
    gap:5px;
    cursor:pointer;
  }
  .modusvalg input[type="radio"]{ accent-color:var(--gull) }

  .hint{
    margin:12px 2px 0;
    font-size:13px;
    color:var(--dim);
    line-height:1.6;
  }
  .hint code{
    font-family:"JetBrains Mono",monospace;
    background:var(--dyp);
    border:1px solid var(--border);
    border-radius:5px;
    padding:1px 6px;
    color:var(--tekst-2);
  }

  .forhandsvisning{
    margin-top:14px;
    min-height:52px;
    display:flex;
    align-items:center;
    padding:14px 18px;
    background:var(--dyp);
    border:1px solid var(--border);
    border-radius:12px;
    overflow-x:auto;
  }
  .fv-tom{
    font-size:14px;
    color:var(--dempet);
    font-style:italic;
  }
  .fv-rad{
    font-family:Georgia,"Times New Roman",serif;
    font-size:22px;
    color:var(--text);
    white-space:nowrap;
    line-height:1;
  }
  .fv-rad .fv-var{ font-style:italic }
  .fv-rad .fv-op{ margin:0 7px; color:var(--dim) }
  .fv-rad .fv-eq{ margin:0 10px; color:var(--gull) }
  .fv-rad .fv-neg{ margin-right:1px }
  .fv-rad .fv-paren{ color:var(--dim) }

  .fv-brok{
    display:inline-flex;
    flex-direction:column;
    align-items:center;
    vertical-align:middle;
    margin:0 4px;
    line-height:1.25;
  }
  .fv-brok .fv-teller{ padding:0 4px 2px }
  .fv-brok .fv-nevner{ padding:2px 4px 0; border-top:1.6px solid currentColor }

  .fv-rot{
    display:inline-flex;
    align-items:flex-start;
    margin:0 2px;
  }
  .fv-rot-tegn{
    font-size:1.15em;
    line-height:1;
    transform:translateY(1px);
  }
  .fv-rot-inn{
    border-top:1.6px solid currentColor;
    padding:1px 4px 0 3px;
    margin-left:1px;
  }

  .fv-sup{
    font-size:0.62em;
    vertical-align:super;
    position:relative;
    top:-0.5em;
  }

  .fv-sigma-stabel{
    display:inline-flex;
    flex-direction:column;
    align-items:center;
    margin:0 5px;
    line-height:1;
    vertical-align:middle;
  }
  .fv-sigma{
    font-size:1.55em;
    line-height:0.85;
    margin:2px 0;
  }
  .fv-sigma-sup, .fv-sigma-sub{
    font-size:0.48em;
    color:var(--dim);
    font-style:italic;
    white-space:nowrap;
    font-family:"JetBrains Mono",monospace;
  }

  .fv-system{
    display:flex;
    flex-direction:column;
    gap:4px;
  }
  .fv-sys-rad{
    display:block;
  }

  .resultat{
    margin-top:22px;
    display:none;
  }
  .resultat.vis{ display:block }

  .svar{
    font-family:"JetBrains Mono",monospace;
    font-size:clamp(22px,6vw,30px);
    font-weight:700;
    color:var(--ok);
    padding:16px 18px;
    background:var(--dyp);
    border:1px solid var(--ok-kant);
    border-radius:12px;
    word-break:break-word;
    opacity:0;
    transform:translateY(4px);
    animation: dukk .35s ease forwards;
  }
  .svar.feil{
    color:var(--feil);
    border-color:var(--feil-kant);
    font-family:"Inter",sans-serif;
    font-weight:600;
    font-size:15px;
  }
  @keyframes dukk{ to{ opacity:1; transform:translateY(0) } }

  .spor{
    margin-top:14px;
    display:flex;
    flex-direction:column;
    gap:7px;
  }
  .spor div{
    font-family:"JetBrains Mono",monospace;
    font-size:14.5px;
    color:var(--dim);
    padding-left:14px;
    border-left:2px solid var(--border);
    opacity:0;
    animation: dukk .3s ease forwards;
  }

  .historikk{
    margin-top:30px;
  }
  .historikk h2{
    font-family:"JetBrains Mono",monospace;
    font-size:12px;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--dim);
    margin:0 0 10px;
    font-weight:600;
  }
  .hlinje{
    display:flex;
    justify-content:space-between;
    gap:10px;
    padding:9px 0;
    border-top:1px solid var(--border);
    font-family:"JetBrains Mono",monospace;
    font-size:13.5px;
  }
  .hlinje:first-of-type{ border-top:none }
  .hlinje .venstre{ color:var(--dim); overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
  .hlinje .hoyre{ color:var(--text); font-weight:600; flex-shrink:0 }

  .ref-knapp{
    background:none;
    border:none;
    padding:0;
    margin-top:12px;
    font-family:"Inter",sans-serif;
    font-size:13px;
    font-weight:600;
    color:var(--gull);
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    gap:5px;
  }
  .ref-knapp:hover{ text-decoration:underline }
  .ref-knapp:focus-visible{ outline:2px solid var(--gull); outline-offset:3px; border-radius:3px }
  .ref-knapp .pil{ transition:transform .15s ease; display:inline-block; font-size:11px }
  .ref-knapp.apen .pil{ transform:rotate(180deg) }

  .referanse{
    margin-top:16px;
    padding-top:16px;
    border-top:1px solid var(--border);
  }
  .ref-gruppe{ margin-bottom:18px }
  .ref-gruppe:last-child{ margin-bottom:0 }
  .ref-gruppe h3{
    font-family:"JetBrains Mono",monospace;
    font-size:11px;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--gull);
    margin:0 0 8px;
    font-weight:600;
  }
  .ref-rad{
    padding:10px 0;
    border-bottom:1px solid var(--line);
  }
  .ref-rad:last-child{ border-bottom:none }
  .ref-topp{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:10px;
    flex-wrap:wrap;
  }
  .ref-syntaks{
    font-family:"JetBrains Mono",monospace;
    font-size:13.5px;
    color:var(--text);
    background:var(--dyp);
    border:1px solid var(--border);
    border-radius:5px;
    padding:2px 7px;
  }
  .ref-forklaring{
    font-size:13px;
    color:var(--dim);
    text-align:right;
  }
  .ref-eksempel{
    font-family:"JetBrains Mono",monospace;
    font-size:12.5px;
    color:var(--ok);
    margin-top:6px;
  }
  .ref-eksempel span{ color:var(--dim) }

  .avkastning-seksjon{
    margin-top:48px;
    padding-top:36px;
    border-top:1px solid var(--border);
  }
  .avk-felter{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
    gap:14px;
    margin-top:16px;
  }
  .avk-felt{
    display:flex;
    flex-direction:column;
    gap:6px;
  }
  .avk-felt label{
    font-size:13px;
    color:var(--dim);
    display:flex;
    align-items:center;
    gap:6px;
  }
  .avk-felt input{
    background:var(--dyp);
    border:1px solid var(--border);
    border-radius:10px;
    padding:10px 12px;
    font-size:16px;
    color:var(--tekst-sterk);
    font-family:"JetBrains Mono",monospace;
  }
  .avk-felt input:focus{ outline:2px solid var(--gull); outline-offset:1px }
  
  .avk-hjelp{
    min-width:32px; min-height:32px;
    border-radius:50%;
    border:1px solid var(--border);
    background:transparent;
    color:var(--dim);
    font-size:14px;
    line-height:1;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0;
    flex:none;
  }
  @media (pointer: coarse){ .avk-hjelp{ min-width:44px; min-height:44px } }
  .avk-hjelp:hover{ color:var(--gull); border-color:var(--gull) }
  .avk-hjelpeboks{
    margin-top:14px;
    padding:14px 16px;
    background:var(--dyp);
    border:1px solid var(--border);
    border-radius:10px;
    font-size:13px;
    color:var(--tekst-2);
    line-height:1.6;
  }
  .avk-hjelpeboks p{ margin:0 0 8px }
  .avk-hjelpeboks ul{ margin:0; padding-left:18px }
  .avk-hjelpeboks code{
    font-family:"JetBrains Mono",monospace;
    background:var(--panel-2);
    border-radius:4px;
    padding:1px 5px;
  }
  #avkBeregn{
    width:100%;
    justify-content:center;
    margin-top:18px;
  }
  .avk-detaljer{
    margin-top:10px;
    font-size:14px;
    color:var(--dim);
    line-height:1.8;
  }
  .avk-detaljer .rad{ display:flex; justify-content:space-between; gap:10px }
  .avk-detaljer .rad span:last-child{ color:var(--tekst-sterk); font-family:"JetBrains Mono",monospace }
  .avk-standardnote{
    margin-top:8px; padding-top:8px; border-top:1px solid var(--border);
    font-size:12.5px; color:var(--dim); font-style:italic; line-height:1.5;
  }

  .avansert-knapp{
    background:none;border:1.5px solid var(--border);border-radius:9px;
    color:var(--dim);padding:8px 14px;margin-top:12px;
    font-family:"Inter",sans-serif;font-size:13px;font-weight:600;cursor:pointer;
  }
  .avansert-knapp:hover{border-color:var(--gull);color:var(--gull)}
  .avansert-boks{
    margin-top:12px;padding:14px 16px;
    border:1px solid var(--border);border-radius:11px;background:var(--dyp-2);
  }
  .avansert-boks .modusvalg:first-child{margin-top:0}

  
  .scenario{
    border:1px solid var(--border);
    border-radius:12px;
    padding:16px;
    margin-bottom:14px;
    background:var(--dyp-2);
  }
  .scenario-topp{
    display:flex; align-items:center; justify-content:space-between;
    gap:10px; margin-bottom:12px;
  }
  .scenario-navn{
    display:flex; align-items:center; gap:8px;
    font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:600;
  }
  .scenario-prikk{ width:11px; height:11px; border-radius:50%; flex-shrink:0 }
  .scenario-fjern{
    background:none; border:none; color:var(--dim); cursor:pointer;
    font-size:18px; line-height:1; padding:2px 6px; border-radius:6px;
  }
  .scenario-fjern:hover{ color:var(--feil) }
  .scenario-svar{
    margin-top:12px; font-family:"JetBrains Mono",monospace;
    font-size:15px; font-weight:700; color:var(--ok);
  }
  .scenario-svar.feil{ color:var(--feil); font-family:"Inter",sans-serif; font-weight:600; font-size:13.5px }

  #avkLeggTil{
    background:none; border:1.5px dashed var(--border); border-radius:10px;
    color:var(--dim); padding:11px 16px; width:100%;
    font-family:"Inter",sans-serif; font-size:14px; font-weight:600; cursor:pointer;
    margin-bottom:14px;
  }
  #avkLeggTil:hover{ border-color:var(--gull); color:var(--gull) }
  #avkLeggTil:disabled{ opacity:.4; cursor:default }
  #avkLeggTil:disabled:hover{ border-color:var(--border); color:var(--dim) }

  .tid-felter{ display:flex; align-items:center; gap:6px }
  .tid-felter input{ flex:1; min-width:0 }
  .tid-enhet{
    font-family:"JetBrains Mono",monospace; font-size:12px;
    color:var(--dim); flex-shrink:0;
  }

  .speil-note{
    display:block;margin-top:5px;font-size:11.5px;font-style:italic;
    color:var(--dim);line-height:1.35;
  }

  .rente-tolkning{
    display:block; margin-top:5px; min-height:16px;
    font-family:"JetBrains Mono",monospace; font-size:12px;
    color:var(--ok); line-height:1.3;
  }
  .rente-tolkning.feil{ color:var(--feil) }
  .rente-tolkning.standard{ color:var(--dim); font-style:italic }

  
  .sammenlign-boks{ margin-top:22px; display:none }
  .sammenlign-boks.vis{ display:block }
  .sammenlign-rull{ overflow-x:auto; -webkit-overflow-scrolling:touch }
  table.sammenlign{
    border-collapse:collapse; width:100%; min-width:340px;
    font-size:13.5px; font-family:"JetBrains Mono",monospace;
  }
  table.sammenlign th, table.sammenlign td{
    padding:9px 12px; text-align:right; white-space:nowrap;
    border-bottom:1px solid var(--border);
  }
  table.sammenlign th:first-child, table.sammenlign td:first-child{
    text-align:left; font-family:"Inter",sans-serif; color:var(--dim);
    position:sticky; left:0; background:var(--panel);
  }
  table.sammenlign thead th{
    color:var(--text); font-weight:700; border-bottom:1.5px solid var(--border);
  }
  table.sammenlign thead th .prikk{
    display:inline-block; width:9px; height:9px; border-radius:50%;
    margin-right:6px; vertical-align:middle;
  }
  table.sammenlign tbody tr:last-child td{ border-bottom:none }
  table.sammenlign tr.diff td{
    color:var(--dim); font-size:12.5px;
    border-top:1.5px solid var(--border);
  }
  table.sammenlign .opp{ color:var(--ok) }
  table.sammenlign .ned{ color:var(--feil) }
  table.sammenlign .basis{ color:var(--dim) }

  
  .graf-boks{ margin-top:22px; display:none }
  .graf-boks.vis{ display:block }
  .graf-tittel{
    font-family:"JetBrains Mono",monospace; font-size:12px;
    letter-spacing:.1em; text-transform:uppercase; color:var(--gull);
    margin-bottom:10px; font-weight:600;
  }
  .graf-boks svg{ width:100%; height:auto; display:block; overflow:visible }
  .graf-tegnforklaring{
    display:flex; flex-wrap:wrap; gap:14px; margin-top:10px;
    font-size:12.5px; color:var(--dim);
  }
  .graf-tegnforklaring span{ display:flex; align-items:center; gap:6px }
  .graf-strek{ width:18px; height:0; border-top-width:2.5px; border-top-style:solid; flex-shrink:0 }

  .odds-lenke-seksjon{
    margin-top:48px;
    padding-top:36px;
    border-top:1px solid var(--border);
  }
  .odds-lenke-knapp{
    display:inline-block;
    margin-top:14px;
    background:var(--gull);
    color:var(--paa-gull);
    font-weight:600;
    text-decoration:none;
    padding:12px 20px;
    border-radius:10px;
    font-size:15px;
  }
  .odds-lenke-knapp:hover{ filter:brightness(1.08) }

  .versjon{
    display:block;margin-top:6px;font-size:10.5px;letter-spacing:.06em;
    opacity:.55;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  }
  footer{
    margin-top:40px;
    font-size:12px;
    color:var(--dempet);
    text-align:center;
  }
  footer a{ color:var(--dempet-lenke) }

  @media (prefers-reduced-motion: reduce){
    .svar, .spor div{ animation:none; opacity:1; transform:none }
    
    .ref-knapp .pil{ transition:none }
  }

.bunnlenker>*{display:inline-block;white-space:nowrap;margin:0}
.bunnlenker>*+*::before{content:"· "}
.bunnlenker a{color:inherit;font-size:inherit;text-decoration:none;min-width:24px}
.bunnlenker a:hover,.bunnlenker a:active,.bunnlenker a:focus-visible{text-decoration:underline}
.bunnlenker .versjon{display:inline-block;margin:0}
