:root{color-scheme:light;--bg:#f6f7f9;--kort:#ffffff;--tekst:#14171c;--dempet:#4a5160;--linje:#d5d9e0;--aksent:#0b5cad;--gronn:#1b7a3a;--gul:#8a5a00;--rod:#b42318}
@media (prefers-color-scheme:dark){:root:not([data-tema="lys"]){color-scheme:dark;--bg:#0f1216;--kort:#1a1f26;--tekst:#eef1f5;--dempet:#aab3c0;--linje:#2c333d;--aksent:#7cb8ff;--gronn:#5fd18a;--gul:#ffc94d;--rod:#ff8a80}}
:root[data-tema="mork"]{color-scheme:dark;--bg:#0f1216;--kort:#1a1f26;--tekst:#eef1f5;--dempet:#aab3c0;--linje:#2c333d;--aksent:#7cb8ff;--gronn:#5fd18a;--gul:#ffc94d;--rod:#ff8a80}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--tekst);display:flex;flex-direction:column;min-height:100%}
a{color:var(--aksent)}
.hopp{position:absolute;left:-999px}.hopp:focus{left:8px;top:8px;z-index:9999;background:var(--kort);padding:8px}
.topp{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#171a20;color:#fff;transition:background 1.2s}
.topp a{color:#fff}.merke{display:flex;align-items:center;gap:6px;margin-right:auto;font-weight:700;flex-wrap:wrap}.merke a{text-decoration:none}.logo{display:inline-flex;align-items:center;gap:5px;font-weight:800}.logo svg{width:28px;height:28px}.logo .aks{color:#ffa45c}
.topp.dag{background:linear-gradient(90deg,#0b4f8a,#171a20)}.topp.skumring{background:linear-gradient(90deg,#5b2a6e,#171a20)}.topp.natt{background:#0b0d12}
.sprak a{padding:6px 6px;text-decoration:none}.sprak a[aria-current]{text-decoration:underline;font-weight:700}
.topp .tema-knapp{background:none;border:1px solid #fff6;color:#fff;border-radius:8px;min-width:44px;min-height:44px;font-size:1.1rem;cursor:pointer}
main{height:100vh;max-width:none;margin:0;flex:none;display:grid;grid-template-columns:minmax(320px,400px) 1fr;min-height:0}
#kart{height:100%;z-index:0;position:relative}
.panel{padding:16px;overflow:auto;background:var(--bg);border-right:1px solid var(--linje)}
h1{font-size:1.5rem;margin:.2rem 0 .3rem}
.ingress{color:var(--dempet);margin:.2rem 0 1rem}
form.sok{display:flex;gap:6px;position:relative}
form.sok input{flex:1;min-height:44px;padding:8px 10px;border:1px solid var(--dempet);border-radius:10px;background:var(--kort);color:var(--tekst);font-size:1rem}
button.knapp{min-height:44px;padding:8px 14px;border-radius:10px;border:0;background:var(--aksent);color:var(--bg);font-weight:600;cursor:pointer;font-size:1rem}
button.knapp.sek{background:transparent;color:var(--aksent);border:1px solid var(--aksent)}
.rad{display:flex;gap:8px;margin:8px 0;flex-wrap:wrap}
#treff{list-style:none;padding:0;margin:4px 0;background:var(--kort);border-radius:10px}
#treff button{width:100%;text-align:left;background:none;border:0;color:var(--tekst);padding:10px;min-height:44px;cursor:pointer;font-size:.95rem}
#treff button:hover,#treff button:focus{background:var(--linje)}
.svar{background:var(--kort);border:1px solid var(--linje);border-left:8px solid var(--dempet);border-radius:14px;padding:14px 16px;margin-top:12px}
.svar.gronn{border-left-color:var(--gronn)}.svar.gul{border-left-color:var(--gul)}.svar.rod{border-left-color:var(--rod)}
.svar h2{margin:0 0 4px;font-size:1.3rem;display:flex;gap:10px;align-items:center}
.prikk{width:22px;height:22px;border-radius:50%;background:var(--dempet);flex:none}
.gronn .prikk{background:var(--gronn)}.gul .prikk{background:var(--gul)}.rod .prikk{background:var(--rod)}
.gronn h2{color:var(--gronn)}.gul h2{color:var(--gul)}.rod h2{color:var(--rod)}
.svar ul{padding-left:1.1rem;margin:.4rem 0}.svar li{margin:.2rem 0}
.sted{color:var(--dempet);margin:0;font-size:.9rem}
.anim .svar.ny{animation:inn .3s cubic-bezier(.2,.8,.2,1)}
.anim .svar.ny .prikk{animation:sprett .45s cubic-bezier(.3,1.6,.5,1)}
@keyframes inn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes sprett{from{transform:scale(.2)}to{transform:scale(1)}}
.solbue{width:100%;height:auto;margin-top:6px}.solbue text{fill:var(--dempet);font-size:11px}
.puls{width:18px;height:18px;border-radius:50%;background:var(--aksent);border:3px solid #fff;box-shadow:0 0 0 0 var(--aksent)}
.anim .puls{animation:puls 2s ease-out 3}
@keyframes puls{0%{box-shadow:0 0 0 0 rgba(11,92,173,.6)}100%{box-shadow:0 0 0 18px rgba(11,92,173,0)}}
.forbehold{font-size:.85rem;color:var(--dempet)}
footer{padding:10px 16px;border-top:1px solid var(--linje);font-size:.9rem;display:flex;flex-wrap:wrap;gap:12px;align-items:center;color:var(--dempet)}
footer details{background:var(--kort);border:1px solid var(--linje);border-radius:10px;padding:4px 10px}
footer summary{cursor:pointer;min-height:36px;display:flex;align-items:center;color:var(--tekst);font-weight:600}
footer textarea{width:100%;min-height:80px;margin:6px 0;background:var(--bg);color:var(--tekst);border:1px solid var(--dempet);border-radius:8px}
.epost{font-size:.75rem;width:100%}
.lukk-kart{position:fixed;top:12px;left:12px;z-index:1100;width:44px;height:44px;border-radius:50%;background:#e0453a;color:#fff;border:2px solid #fff;font-size:1.4rem;line-height:1;cursor:pointer;box-shadow:0 2px 8px #0006}
.lukk-kart[hidden]{display:none}
.apne-kart{display:none}
.skjult{position:absolute;left:-9999px}
#status{min-height:1.2em;font-size:.9rem}
@media (max-width:760px){
 main{height:auto;display:flex;flex-direction:column}
 #kart{height:50vh;order:1;transition:height .25s}
 body.kart-full #kart{position:fixed;inset:0;height:100vh;z-index:1000}
 .apne-kart{display:inline-block}
 #svar{scroll-margin-top:8px}
 .panel{order:2;border-right:0;border-radius:18px 18px 0 0;margin-top:-18px;position:relative;z-index:1;box-shadow:0 -4px 16px #0003}
 h1{font-size:1.25rem}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.tegn{font-size:.82rem;color:var(--dempet);margin:.8rem 0 .2rem}
footer .versjon-lenke{margin:0}
