/* Nettvy – designsystem. 8px-skala, navy + én grønn aksent, rosa kun som detalj. */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap');
:root{--navy:#0d1b33;--navy2:#16294a;--ink:#14213a;--muted:#6b7689;--line:#e4e8ef;--bg:#f4f6f9;--card:#fff;--soft:#f7f9fb;
--acc:#1f9d63;--acc2:#e8f6ef;--accink:#126b43;--pink:#e0528f;--warn:#b7791f;--warnbg:#fff7e6;--bad:#c53b3b;--badbg:#fdeeee;
--r:10px;--s1:8px;--s2:16px;--s3:24px;--s4:32px;--sh:0 1px 2px rgba(16,24,40,.05),0 1px 3px rgba(16,24,40,.06)}
body[data-theme=rosa]{--acc:#d24b86;--acc2:#fcecf3;--accink:#9c2f60}
body[data-theme=hav]{--acc:#2b7bd6;--acc2:#e9f2fc;--accink:#1b5aa3}
body[data-theme=natt]{--acc:#6c5ce7;--acc2:#efedfd;--accink:#4b3db8}
@media(prefers-color-scheme:dark){:root{--ink:#e7ebf2;--muted:#9aa5b8;--line:#263248;--bg:#0b1324;--card:#111c31;--soft:#152239;--acc2:#12342a;--accink:#6fd6a4;--warnbg:#3a2e14;--badbg:#3a1a1a;--sh:none}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--accink);text-decoration:none;transition:color .15s}a:hover{color:var(--acc)}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:600;letter-spacing:-.01em;margin:0}
.ic{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px;flex:none}
.wrap{max-width:1000px;margin:0 auto;background:var(--card);min-height:100vh;border-inline:1px solid var(--line)}
/* header */
header.top{position:relative;z-index:20}
.night{position:relative;height:136px;overflow:hidden;background:linear-gradient(180deg,#081325 0%,#0f2244 60%,#1a3563 100%)}
.light{height:96px}
.sky{position:absolute;inset:auto 0 0 0;width:100%;height:78px}
.logo{position:absolute;left:var(--s3);top:28px;z-index:2;font:600 40px/1 Fraunces,Georgia,serif;letter-spacing:-.03em;color:#fff}
.light .logo{top:22px}.logo:hover{color:#fff}.logo b{color:#5fd39a;font-weight:600}.logo small{display:block;font:500 11px/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#9fb2d3;margin-top:10px}
.feat{position:absolute;right:var(--s3);top:24px;display:flex;gap:var(--s1);z-index:2}
.fcard{display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(6px);padding:8px 12px 8px 8px;border-radius:var(--r);color:#fff;font-size:12px;transition:background .2s}
.fcard:hover{background:rgba(255,255,255,.14);color:#fff}.fcard span.m{color:#9fb2d3}
nav.main{display:flex;background:var(--navy);padding:0 var(--s2);overflow-x:auto;scrollbar-width:none;border-top:1px solid rgba(255,255,255,.06)}
nav.main a{color:#c4cfe2;font-weight:500;font-size:13px;padding:12px 14px;white-space:nowrap;position:relative}
nav.main a:hover{color:#fff}nav.main a.on{color:#fff}nav.main a.on::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;border-radius:2px;background:#5fd39a}
nav.main .sp{flex:1}
.burger{display:none}
/* avatar */
.av{position:relative;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:600;flex:none;border-radius:12px;letter-spacing:.02em;transition:transform .2s}
a:hover>.av{transform:translateY(-2px)}
.av.on::after,.av.off::after{content:"";position:absolute;right:-2px;bottom:-2px;width:10px;height:10px;border-radius:50%;border:2px solid var(--card)}
.av.on::after{background:#22c55e}.av.off::after{background:#a3acb9}
/* layout */
.cols{display:flex;gap:var(--s3);padding:var(--s3)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);margin-bottom:var(--s2);box-shadow:var(--sh)}
.card>h3{font-size:15px;padding:14px var(--s2) 0}.card .in{padding:12px var(--s2) var(--s2)}
.card.acc{border-color:color-mix(in srgb,var(--acc) 35%,var(--line));background:linear-gradient(var(--acc2),var(--card) 70%)}
.kicker{font:600 11px Inter;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
input,textarea,select{width:100%;margin:4px 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;background:var(--card);color:var(--ink);transition:border-color .15s,box-shadow .15s}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 20%,transparent)}
label{font-size:12px;font-weight:600;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font:500 13px Inter,sans-serif;cursor:pointer;transition:all .15s}
.btn:hover{border-color:#c9d1dd;background:var(--soft);color:var(--ink)}.btn:active{transform:translateY(1px)}
.btn:focus-visible,a:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 30%,transparent)}
.btn.pri{background:var(--acc);border-color:var(--acc);color:#fff}.btn.pri:hover{filter:brightness(1.07)}
.btn.ghost{border-color:transparent;color:var(--muted)}.btn.ghost:hover{color:var(--bad);background:var(--badbg)}
.btn.sm{padding:4px 8px;font-size:12px}
.teaser{display:grid;grid-template-columns:200px 1fr;gap:var(--s2);padding:var(--s2) 0;border-bottom:1px solid var(--line)}
.teaser:first-child{padding-top:0}.teaser h2{font-size:19px;margin:4px 0 6px}.teaser h2 a{color:var(--ink)}.teaser h2 a:hover{color:var(--acc)}.teaser p{margin:0 0 6px;color:var(--muted)}
.img{height:120px;border-radius:var(--r)}
.mini{display:grid;grid-template-columns:repeat(4,1fr);gap:12px var(--s1);text-align:center;font-size:11px}
.mini a,.g3 a{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;flex-direction:column;align-items:center;gap:4px}
.rank{list-style:none;margin:0;padding:0}.rank li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}.rank li:last-child{border:0}.rank b{color:var(--muted);font-weight:500;font-variant-numeric:tabular-nums}
.stat{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}.stat div{font-size:12px;color:var(--muted)}.stat b{display:block;font:600 18px Inter;color:var(--ink);font-variant-numeric:tabular-nums}
footer{border-top:1px solid var(--line);color:var(--muted);padding:var(--s3);text-align:center;font-size:12px}footer a{margin:0 6px}
/* profil */
.pl{display:grid;grid-template-columns:232px 1fr}
.tabs{grid-column:1/-1;display:flex;gap:4px;padding:var(--s2) var(--s3) 0;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.tabs a{padding:10px 14px;color:var(--muted);font-weight:500;font-size:13px;border-bottom:2px solid transparent;white-space:nowrap;display:flex;gap:6px;align-items:center}
.tabs a:hover{color:var(--ink)}.tabs a.on{color:var(--accink);border-bottom-color:var(--acc)}
.side{padding:var(--s3) var(--s2) var(--s3) var(--s3);border-right:1px solid var(--line);background:var(--soft)}
.side h4{font:600 11px Inter;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:var(--s3) 0 12px;display:flex;justify-content:space-between}
details.sec summary{list-style:none}details.sec summary::-webkit-details-marker{display:none}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 8px;text-align:center;font-size:11px}
.bar{height:6px;background:var(--line);border-radius:6px;overflow:hidden;margin:6px 0 12px}.bar i{display:block;height:100%;background:var(--acc);border-radius:6px}
.fakta{list-style:none;padding:0;margin:0;font-size:12px}.fakta li{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px dashed var(--line)}.fakta li span{color:var(--muted)}
.pic{width:184px;height:230px;font-size:56px;border-radius:14px}
main.main{padding:var(--s3);min-width:0}
.ident{display:flex;gap:var(--s2);align-items:flex-start}.ident .who{flex:1}
.ident h1{font-size:30px;line-height:1.15}
.meta{color:var(--muted);font-size:13px;display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px;align-items:center}
.status{display:inline-flex;align-items:center;gap:6px;font:500 12px Inter;color:#15803d;background:#eafaf0;padding:2px 10px;border-radius:20px;vertical-align:middle;margin-left:8px}
.status::before{content:"";width:7px;height:7px;border-radius:50%;background:#22c55e}
.status.off{color:var(--muted);background:var(--soft)}.status.off::before{background:#a3acb9}
.lock{display:inline-flex;gap:6px;align-items:center;font-size:12px;color:var(--muted);background:var(--soft);border:1px solid var(--line);padding:2px 10px;border-radius:20px}
.acts{display:flex;flex-wrap:wrap;gap:var(--s1);margin:var(--s2) 0 var(--s3)}
.badge{width:180px;border:1px solid var(--line);border-radius:var(--r);padding:12px var(--s2);flex:none;background:var(--card)}
.badge b{font-family:Fraunces,serif;font-size:17px;display:block}.badge small{color:var(--muted);font-size:11px}
.ptext{padding:var(--s2) 0;line-height:1.75;font-size:15px;border-bottom:1px solid var(--line)}
.ptext blockquote{margin:12px 0 0;padding-left:12px;border-left:3px solid var(--pink);color:var(--muted);font-style:italic}
.content>h2{font-size:20px;margin:var(--s3) 0 var(--s2)}
.post{display:flex;gap:12px;padding:var(--s2) 0;border-bottom:1px solid var(--line)}
.post .body{flex:1;min-width:0}.post .top2{display:flex;align-items:center;gap:8px}.post .top2 .t{font-size:12px;color:var(--muted)}.post .top2 .x{margin-left:auto;display:flex;gap:2px;opacity:.55;transition:opacity .15s}.post:hover .x{opacity:1}
.post p{margin:4px 0}
.reply{margin-top:8px;padding:10px 12px;background:var(--soft);border-radius:8px;font-size:13px;border-left:3px solid var(--acc)}
.rbtn{font-size:12px;font-weight:500}
.list{width:100%;border-collapse:collapse}.list td,.list th{padding:12px 8px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.list th{font:600 11px Inter;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.list tr.unread td{font-weight:600}.list tr.unread td:first-child::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--acc);margin-right:8px}
.list tr[data-i]:hover td{background:var(--soft);cursor:pointer}
.ladder{list-style:none;padding:0;margin:0;counter-reset:l}.ladder li{display:flex;justify-content:space-between;padding:10px 12px;border-radius:8px}.ladder li:nth-child(odd){background:var(--soft)}.ladder li.me{background:var(--acc2);color:var(--accink);font-weight:600}
.themes{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.themes button{border:1px solid var(--line);border-radius:var(--r);padding:12px;cursor:pointer;font:500 13px Inter;background:var(--card);color:var(--ink)}.themes button.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.sw{display:block;height:36px;border-radius:6px;margin-bottom:8px}
.grp{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.grp .gi{width:44px;height:44px;border-radius:10px;flex:none}.grp div{flex:1}
.tag{font:600 10px Inter;padding:2px 8px;border-radius:20px;letter-spacing:.04em}.tag.g{background:#e7f7ee;color:#15803d}.tag.r{background:var(--badbg);color:var(--bad)}.tag.w{background:var(--warnbg);color:var(--warn)}
.note{display:flex;gap:12px;padding:12px var(--s2);border-radius:var(--r);background:var(--warnbg);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent);color:var(--ink);font-size:13px;margin:12px 0}
.note.info{background:var(--acc2);border-color:color-mix(in srgb,var(--acc) 30%,transparent)}.note.bad{background:var(--badbg);border-color:color-mix(in srgb,var(--bad) 30%,transparent)}
.note .ic{width:20px;height:20px;margin-top:1px;color:var(--warn)}.note.info .ic{color:var(--acc)}.note.bad .ic{color:var(--bad)}
.note b{display:block;margin-bottom:2px}
.sev{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.sev.h{background:var(--bad)}.sev.m{background:#f59e0b}.sev.l{background:#94a3b8}
.alert{border:1px solid var(--line);border-radius:var(--r);padding:var(--s2);margin-bottom:12px;display:grid;gap:8px}.alert.h{border-left:4px solid var(--bad)}.alert.m{border-left:4px solid #f59e0b}.alert.l{border-left:4px solid #94a3b8}
.alert .hd{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.alert .hd .t{margin-left:auto;font-size:12px;color:var(--muted)}.alert q{color:var(--muted);font-style:italic}
.alert .ab{display:flex;gap:8px;flex-wrap:wrap}.alert.done{opacity:.5}
.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,8px);background:var(--navy);color:#fff;padding:10px 18px;border-radius:24px;opacity:0;transition:all .25s;pointer-events:none;font-size:13px;z-index:99;box-shadow:0 8px 24px rgba(0,0,0,.2)}.toast.show{opacity:1;transform:translate(-50%,0)}
.hidden{display:none!important}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:12px}.seg button{border:0;background:var(--card);padding:6px 12px;font:500 12px Inter;color:var(--muted);cursor:pointer}.seg button.on{background:var(--ink);color:var(--card)}
/* mobil */
@media(max-width:760px){
.wrap{border:0;overflow-x:clip}
header.top{position:sticky;top:0}
.night,.light{height:56px}.feat,.logo small{display:none}.sky{opacity:.5;height:40px}
.logo,.light .logo{font-size:24px;top:15px;left:var(--s2)}
.burger{display:flex;align-items:center;justify-content:center;position:absolute;right:8px;top:6px;width:44px;height:44px;border:0;border-radius:10px;background:rgba(255,255,255,.08);color:#fff;z-index:3}
.burger .ic{width:22px;height:22px}
nav.main{display:none;flex-direction:column;padding:8px}nav.main.open{display:flex}nav.main a{padding:14px 12px;font-size:15px;border-radius:8px}nav.main a.on{background:rgba(255,255,255,.06)}nav.main a.on::after{display:none}
.cols{flex-direction:column;padding:var(--s2);gap:0}
.fp .cols>*{display:contents}.fp .first{order:1}.fp .news{order:2;margin-bottom:var(--s2)}.fp .later{order:3}
.teaser{grid-template-columns:1fr}.img{height:140px}.duo{flex-direction:column;gap:0!important}
.pl{grid-template-columns:96px 1fr}
.side,main.main{display:contents}
.pic{order:1;width:80px;height:100px;font-size:28px;margin:var(--s2) 0 0 var(--s2);border-radius:12px}
.ident{order:2;padding:var(--s2) var(--s2) 0 12px;display:block}.ident h1{font-size:22px}.status{margin:4px 0 0}
.ident .badge{width:auto;padding:6px 10px;margin-top:8px;display:flex;gap:8px;align-items:center}.badge b{font-size:14px;display:inline}.badge .bar,.badge .lvl{display:none}
.acts{order:3;grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:var(--s2)}.acts .btn{padding:12px 8px;font-size:14px}
.tabs{order:4;padding:0 var(--s1);position:sticky;top:56px;background:var(--card);z-index:5}.tabs a{padding:14px 12px}
.content{order:5;grid-column:1/-1;padding:0 var(--s2) var(--s2)}
details.sec{order:6;grid-column:1/-1;padding:0 var(--s2);border-top:1px solid var(--line);background:var(--soft)}
details.sec summary{cursor:pointer;padding:16px 0}details.sec summary h4{margin:0}
details.sec summary h4::after{content:"+";font-size:16px}details.sec[open] summary h4::after{content:"–"}
details.sec>*:last-child{padding-bottom:var(--s2)}
.themes{grid-template-columns:1fr 1fr}.list td:nth-child(3),.list th:nth-child(3){display:none}
.alert .hd .t{margin-left:0;width:100%}
}
.moon{position:absolute;right:120px;top:22px;width:40px;height:40px;z-index:1}
.mini a .nm,.g3 a .nm{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mini a,.g3 a{min-width:0}
.modr{display:contents}
.ident{min-height:0}
@media(max-width:760px){.moon{display:none}.acts .modr{display:flex;grid-column:1/-1;justify-content:center;gap:8px}.acts .modr .btn{padding:6px 10px;font-size:12px}}
#read .top2{flex-wrap:wrap}
.img{position:relative;overflow:hidden;display:block}
.img::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.35),transparent 45%),linear-gradient(transparent 55%,rgba(13,27,51,.35));}
@media(max-width:760px){#read .top2>span:last-child{margin-left:0!important;width:100%}}
.acts .modr .btn{padding:8px 10px}
/* ===== Varsel-bjelle + panel ===== */
.bell{position:absolute;right:var(--s3);top:20px;z-index:4;width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#e7edf7;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,transform .2s}
.bell:hover{background:rgba(255,255,255,.14)}.bell:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(95,211,154,.5)}.bell .ic{width:19px;height:19px}
.bell.ring .ic{animation:ring .9s ease}@keyframes ring{0%,100%{transform:rotate(0)}20%{transform:rotate(14deg)}40%{transform:rotate(-12deg)}60%{transform:rotate(7deg)}80%{transform:rotate(-4deg)}}
.bell .cnt{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--pink);color:#fff;font:700 10.5px/19px Inter;text-align:center;box-shadow:0 0 0 2px #0f2244}
.light .feat{right:84px}.night:not(.light) .moon{right:96px}
.npanel{position:absolute;top:70px;right:16px;width:384px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 48px -12px rgba(13,27,51,.28),0 4px 12px rgba(13,27,51,.08);z-index:60;opacity:0;transform:translateY(-6px) scale(.98);transform-origin:top right;pointer-events:none;transition:opacity .18s ease,transform .18s ease;overflow:hidden}
.npanel.open{opacity:1;transform:none;pointer-events:auto}
.npanel::before{content:"";position:absolute;top:-6px;right:28px;width:12px;height:12px;background:var(--card);border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}
.nhd{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 10px}.nhd h3{font-size:17px}
.nhd button,.nft a{background:none;border:0;color:var(--accink);font:500 12px Inter;cursor:pointer;padding:4px 6px;border-radius:6px}.nhd button:hover{background:var(--acc2)}
.nscroll{max-height:440px;overflow:auto;padding:0 8px 8px;overscroll-behavior:contain}
.ngrp{font:600 10.5px Inter;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:12px 8px 6px}
.nitem{position:relative;display:flex;gap:12px;padding:10px 28px 10px 8px;border-radius:12px;color:var(--ink);transition:background .15s;cursor:pointer;outline:none}
.nitem:hover,.nitem:focus-visible{background:var(--soft);color:var(--ink)}.nitem:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--acc) 40%,transparent)}
.nitem.unread{background:color-mix(in srgb,var(--acc2) 55%,transparent)}
.nitem.unread::after{content:"";position:absolute;right:10px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--acc)}
.nav2{position:relative;flex:none}.nav2 .tb{position:absolute;right:-4px;bottom:-4px;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 0 0 2px var(--card)}.nav2 .tb .ic{width:11px;height:11px;stroke-width:2.4}
.tb.gb{background:#1f9d63}.tb.brev{background:#2b7bd6}.tb.venn{background:#e0528f}.tb.besok{background:#8b5cf6}.tb.tittel{background:#d4a017}.tb.gruppe{background:#0ea5a4}
.ntx{flex:1;min-width:0;font-size:13px;line-height:1.45}.ntx b{font-weight:600}.ntx .q{display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ntx time{display:block;font-size:11.5px;color:var(--muted);margin-top:2px}
.nitem.unread .ntx time{color:var(--accink);font-weight:500}
.nbtns{display:flex;gap:6px;margin-top:8px}.nbtns .btn{padding:5px 12px;font-size:12px}
.nft{border-top:1px solid var(--line);padding:10px;text-align:center}.nft a{display:block;padding:8px;font-size:13px}.nft a:hover{background:var(--acc2)}
.nempty{padding:32px 16px;text-align:center;color:var(--muted)}
.nlist .nitem{padding:14px 32px 14px 12px}.nlist .ngrp{padding-left:12px}
.nback{display:none}
@media(max-width:760px){
.bell{right:58px;top:6px;width:44px;height:44px;border:0;background:transparent}
.npanel{position:fixed;top:0;left:0;right:0;width:auto;border-radius:0 0 20px 20px;border-top:0;transform:translateY(-100%);transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .2s;max-height:88vh;display:flex;flex-direction:column}
.npanel.open{transform:none}.npanel::before{display:none}
.npanel .nscroll{max-height:none;flex:1}
.npanel .nhd{padding:18px 16px 10px}.npanel .nhd::before{content:"";position:absolute;left:50%;bottom:8px;width:40px;height:4px;margin-left:-20px;border-radius:4px;background:var(--line)}
.nft{position:relative}
.nback{display:block;position:fixed;inset:0;background:rgba(8,15,30,.45);z-index:55;opacity:0;pointer-events:none;transition:opacity .25s}.nback.open{opacity:1;pointer-events:auto}
.nitem{padding:12px 28px 12px 8px}.nbtns .btn{padding:9px 16px;font-size:13px}
}
/* ===== Meldingskomponent (note) ===== */
.note{position:relative;display:flex;gap:12px;align-items:flex-start;padding:14px 40px 14px 14px;margin:14px 0;border-radius:12px;border:1px solid var(--nb);background:var(--nbg);color:var(--ink);font-size:13.5px;line-height:1.55;box-shadow:inset 3px 0 0 var(--nc);animation:nin .25s ease}
@keyframes nin{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.note,.note.warn{--nc:#d18a12;--nbg:#fffaf0;--nb:#f6e3bf}.note.info{--nc:#2b7bd6;--nbg:#f3f8fe;--nb:#d6e6f8}.note.ok{--nc:#1f9d63;--nbg:#f1faf5;--nb:#cdeedd}.note.bad{--nc:#d14343;--nbg:#fef5f5;--nb:#f7d4d4}
.note.care{--nc:#7c5cd6;--nbg:#f7f4fe;--nb:#e2dafa}
@media(prefers-color-scheme:dark){.note{--nbg:color-mix(in srgb,var(--nc) 12%,var(--card));--nb:color-mix(in srgb,var(--nc) 30%,transparent)}}
.note .nic{flex:none;width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--nc) 14%,transparent);color:var(--nc)}.note .nic .ic,.note>.ic{width:17px;height:17px;color:var(--nc);margin:0}
.note b{display:block;font-weight:600;font-size:14px;margin-bottom:2px;color:var(--ink)}
.note .nx{position:absolute;top:10px;right:10px;width:26px;height:26px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:16px;line-height:1}.note .nx:hover{background:color-mix(in srgb,var(--nc) 12%,transparent);color:var(--ink)}
.note .nact{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.note.out{opacity:0;transform:translateY(-4px);transition:all .2s}
/* toasts */
.toasts{position:fixed;right:24px;bottom:24px;display:flex;flex-direction:column;gap:10px;z-index:99;pointer-events:none;width:340px}
.toast2{pointer-events:auto;display:flex;gap:12px;align-items:flex-start;padding:12px 38px 12px 12px;border-radius:14px;background:var(--card);border:1px solid var(--line);box-shadow:0 16px 40px -12px rgba(13,27,51,.3),inset 3px 0 0 var(--nc);position:relative;font-size:13px;animation:tin .3s cubic-bezier(.2,.8,.2,1)}
.toast2 .nic{flex:none;width:28px;height:28px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--nc) 14%,transparent);color:var(--nc)}.toast2 .nic .ic{width:15px;height:15px}
.toast2 b{display:block;font-weight:600}.toast2 span{color:var(--muted)}
.toast2 .nx{position:absolute;top:8px;right:8px;width:24px;height:24px;border:0;border-radius:7px;background:none;color:var(--muted);cursor:pointer;font-size:15px}
.toast2.ok{--nc:#1f9d63}.toast2.info{--nc:#2b7bd6}.toast2.warn{--nc:#d18a12}.toast2.bad{--nc:#d14343}
.toast2.out{animation:tout .25s forwards}
@keyframes tin{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}@keyframes tout{to{opacity:0;transform:translateY(8px) scale(.97)}}
@media(max-width:760px){.toasts{left:12px;right:12px;bottom:16px;width:auto;align-items:center}.toast2{width:100%}}
/* moderatorkort */
.alert{position:relative;border:1px solid var(--line);border-radius:14px;padding:16px 16px 16px 20px;margin-bottom:12px;display:grid;gap:10px;background:var(--card);box-shadow:var(--sh);overflow:hidden;transition:opacity .2s}
.alert::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--nc)}
.alert.h{--nc:#d14343;background:linear-gradient(90deg,#fef5f5,var(--card) 40%)}.alert.m{--nc:#d18a12;background:linear-gradient(90deg,#fffaf0,var(--card) 40%)}.alert.l{--nc:#94a3b8}
.alert.h,.alert.m,.alert.l{border-left:1px solid var(--line)}
@media(prefers-color-scheme:dark){.alert.h,.alert.m{background:var(--card)}}
.alert q{display:block;padding:10px 12px;border-radius:10px;background:var(--soft);font-style:normal;color:var(--ink);quotes:none}
.alert .ab{border-top:1px solid var(--line);padding-top:10px}
.nitem+.nitem{margin-top:2px}
/* ---------- Moderatorpanel ---------- */
.mbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 16px;flex-wrap:wrap}
.live{font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}.live i{width:8px;height:8px;border-radius:50%;background:#aaa}.live.ok i{background:#1f9d63;box-shadow:0 0 0 4px rgba(31,157,99,.18)}
.mgrid{display:grid;grid-template-columns:340px 1fr;gap:16px;align-items:start}
.mq{display:flex;flex-direction:column;gap:8px;max-height:78vh;overflow:auto}
.mc{all:unset;cursor:pointer;display:block;padding:12px 14px;border:1px solid var(--line);border-left:4px solid #ccc;border-radius:12px;background:var(--card);font-size:13px}
.mc.on{outline:2px solid var(--acc)}.mc.s-kritisk{border-left-color:#c0283c}.mc.s-hoy{border-left-color:#e0662e}.mc.s-middels{border-left-color:#d6a019}.mc.s-lav{border-left-color:#1f9d63}
.mct{display:flex;gap:6px;align-items:center;margin-bottom:6px}.mst{margin-left:auto;font-size:11px;color:var(--muted)}
.mwhy{color:var(--muted);font-size:12px;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mft{display:flex;justify-content:space-between;gap:6px;margin-top:8px;font-size:11px;color:var(--muted)}
.sla{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--muted)}.sla .ic{width:12px;height:12px}.sla.soon{color:#b87a00}.sla.late{color:#c0283c;font-weight:600}
.md{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 24px;min-height:300px}
.mempty{color:var(--muted);text-align:center;padding:40px 12px;font-size:14px}
.mh{display:flex;justify-content:space-between;gap:12px;align-items:start}
.mpp{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.mwho{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;font-size:13px;flex-wrap:wrap}.mwho .kicker{width:100%}.mwho span{color:var(--muted);font-size:12px}
.msec{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:20px 0 8px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mpriv{text-transform:none;letter-spacing:0;font-weight:400;font-size:12px;display:inline-flex;gap:4px;align-items:center}
.mfac{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.mfac li{display:flex;gap:10px;font-size:14px}.mfac b{min-width:36px;text-align:center;background:rgba(192,40,60,.1);color:#c0283c;border-radius:6px;font-size:12px;padding:2px 0}
.mitem{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:8px}.mit{font-size:12px;color:var(--muted);margin-bottom:6px}.mitem q{display:block;white-space:pre-wrap;font-size:14px;quotes:none}
mark{background:rgba(224,102,46,.22);color:inherit;border-radius:3px;padding:0 2px;box-shadow:inset 0 -2px 0 #e0662e}
.mact{display:flex;gap:6px;flex-wrap:wrap}.btn.danger{color:#c0283c;border-color:rgba(192,40,60,.35)}#mreason{margin-top:8px;width:100%}
.mcols{display:grid;grid-template-columns:1fr 1fr;gap:24px}.mtl{list-style:none;padding:0;margin:0;font-size:12px;max-height:240px;overflow:auto}.mtl li{padding:4px 0;border-bottom:1px solid var(--line)}.mtl time{color:var(--muted);margin-right:6px}
.mnote{font-size:13px;padding:8px 10px;background:rgba(127,127,127,.08);border-radius:8px;margin-bottom:6px}.mnote span{display:block;font-size:11px;color:var(--muted)}#mnf textarea{width:100%}
.mconv{max-height:320px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:8px 12px}.mconv>div{padding:6px 0;border-bottom:1px solid var(--line)}.mconv span{font-size:11px;color:var(--muted)}.mconv p{margin:2px 0 0;font-size:14px}
.rdlg{position:fixed;z-index:91;left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,92vw);margin:0}.rdlg select,.rdlg textarea{width:100%}
@media(max-width:860px){.mgrid,.mpp,.mcols{grid-template-columns:1fr}.mq{max-height:none}}
.g3>span:only-child{grid-column:1/-1}
/* ---------- Profilfelter ---------- */
.slink{color:inherit;text-decoration:none;border-bottom:1px dotted color-mix(in srgb,currentColor 45%,transparent)}.slink:hover{color:var(--acc);border-color:var(--acc)}
.gsym{font-family:system-ui,sans-serif;font-size:.7em;color:var(--muted);margin-left:8px;font-weight:400}
.pstatus{margin:12px 0 0;font-size:15px;color:var(--ink);background:var(--soft);border-radius:12px;padding:10px 14px;position:relative;max-width:560px;line-height:1.45}
.prow{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center;position:relative}
.mood{all:unset;display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 8px;border:1px solid var(--line);border-radius:999px;background:var(--card);font-size:13px;line-height:1.2}
.mood .me{font-size:22px;width:32px;height:32px;display:grid;place-items:center;background:var(--soft);border-radius:50%}
.mood small{display:block;color:var(--muted);font-size:11px}.mood.own{cursor:pointer;transition:.15s}.mood.own:hover,.mood.own:focus-visible{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc2)}
.moodpop{position:absolute;z-index:40;top:calc(100% + 8px);left:0;width:min(380px,calc(100vw - 32px));background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px rgba(13,27,51,.18);padding:12px;animation:pop .16s ease-out}
@keyframes pop{from{opacity:0;transform:translateY(-6px) scale(.98)}}
.mph{font-weight:600;font-size:13px;padding:2px 4px 10px}
.mpg{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.mpg button,.relpop button{all:unset;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px;border-radius:10px;font-size:11px;color:var(--ink);text-align:center}
.mpg button span{font-size:24px;line-height:1}.mpg button:hover,.mpg button:focus-visible,.relpop button:hover,.relpop button:focus-visible{background:var(--soft)}.mpg button.on{background:var(--acc2);color:var(--accink);font-weight:600}
.mpclear{all:unset;cursor:pointer;display:block;width:100%;text-align:center;font-size:12px;color:var(--muted);padding:8px 0 2px;border-top:1px solid var(--line);margin-top:8px}
.relwrap{position:relative;display:inline-block}.relpop{width:250px}.relpop button{flex-direction:row;width:calc(100% - 16px);padding:8px;font-size:14px;gap:10px}.relpop button span{font-size:18px}.relpop small{color:var(--muted);font-size:11px}
.mpnote{font-size:11px;color:var(--muted);margin:8px 4px 0}
.relp{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:6px 12px 6px 10px;border-radius:999px;background:linear-gradient(135deg,rgba(224,82,143,.10),rgba(124,58,237,.08));border:1px solid rgba(224,82,143,.25)}
.relp a{display:inline-flex;align-items:center;gap:6px;color:var(--ink);text-decoration:none}.relp .av{border:0}
.omh{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 6px;font-family:Inter,system-ui,sans-serif}
.fakta2{list-style:none;padding:0;margin:0;font-size:12.5px}.fakta2 li{display:grid;grid-template-columns:22px 1fr auto;gap:6px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line)}.fakta2 li:last-child{border:0}
.fakta2 .fi{text-align:center;font-size:14px}.fakta2 .fk{color:var(--muted)}.fakta2 .fv{text-align:right;font-weight:500;max-width:150px}
.pedit{margin-top:16px}.pedit summary{padding:12px 16px;cursor:pointer;font-weight:600;display:flex;gap:8px;align-items:center}.pedit label small{color:var(--muted);font-weight:400;margin-left:6px}
.pedit input,.pedit select,.pedit textarea{width:100%}.g2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.g3i{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.relrow{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:6px 0}
/* Søk */
.sform .in{display:flex;gap:8px;flex-wrap:wrap}.sform select{flex:0 0 170px}.sform input,.sform .in>select[name=value]{flex:1;min-width:160px}.shd{color:var(--muted);margin:16px 0 8px}
.ugrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.ucard{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);text-decoration:none;position:relative;transition:.15s}.ucard:hover{border-color:var(--acc);transform:translateY(-1px)}
.ucard div{min-width:0}.ucard b{display:block}.ucard span{font-size:12px;color:var(--muted)}.ucard small{display:block;font-size:12px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ucard .st{position:absolute;top:10px;right:12px;font-size:10px;color:var(--acc)}
@media(max-width:760px){.g2,.g3i{grid-template-columns:1fr}.mpg{grid-template-columns:repeat(4,1fr)}.moodpop{position:fixed;left:16px;right:16px;top:auto;bottom:16px;width:auto}.relpop{position:fixed;left:16px;right:16px;bottom:16px;top:auto;width:auto}.pstatus{font-size:14px}.sform select{flex:1 1 100%}}
/* presence */
.av.on::after{background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.6);animation:pulse 2s infinite}.av.away::after{content:"";position:absolute;right:-2px;bottom:-2px;width:10px;height:10px;border-radius:50%;border:2px solid var(--card);background:#f59e0b}
.av.on{box-shadow:0 0 0 2px var(--card),0 0 0 4px #22c55e,0 0 10px 3px rgba(34,197,94,.35)}.av.away{box-shadow:0 0 0 2px var(--card),0 0 0 4px #f59e0b}.av.off::after{display:none}
#ppic.pres.on{box-shadow:0 0 0 3px var(--card),0 0 0 6px #22c55e,0 0 22px 6px rgba(34,197,94,.35)}#ppic.pres.away{box-shadow:0 0 0 3px var(--card),0 0 0 6px #f59e0b}
.status.on::before,.status.away::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;background:#22c55e;animation:pulse 2s infinite}.status.away::before{background:#f59e0b;animation:none}.status.away{color:#b45309}.status.off{color:var(--muted)}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}70%{box-shadow:0 0 0 7px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
/* place picker */
.plpick{margin-bottom:12px}.plbox{position:relative}.plbox ul,.rcpt .sugg{position:absolute;z-index:30;left:0;right:0;top:100%;margin:4px 0 0;padding:4px;list-style:none;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.12);max-height:300px;overflow:auto;animation:popin .15s ease-out}
.plbox li,.sugg li{padding:8px 10px;border-radius:8px;cursor:pointer;display:flex;gap:8px;align-items:center}.plbox li span,.sugg li small{color:var(--muted);font-size:12px}.plbox li.on,.sugg li.on,.plbox li:hover,.sugg li:hover{background:var(--soft,#f1f5f9)}.plempty{color:var(--muted)}
.plsel{margin:8px 0}.plchip,.rchip{display:inline-flex;align-items:center;gap:6px;padding:5px 6px 5px 12px;border-radius:999px;background:var(--soft,#eef2ff);font-size:14px}.plchip button,.rchip button{border:0;background:none;font-size:18px;cursor:pointer;line-height:1;padding:0 6px;color:var(--muted)}.plnone{color:var(--muted);font-size:13px}
.pop{animation:popin .35s cubic-bezier(.2,1.6,.4,1)}@keyframes popin{from{transform:scale(.85);opacity:0}to{transform:none;opacity:1}}
.plbtns{display:flex;gap:8px;flex-wrap:wrap}.plmapw{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:14px;margin-top:10px;align-items:start}.plmap svg{width:100%;height:auto}
.plmap path{fill:#dbe4f0;stroke:#fff;stroke-width:.8;cursor:pointer;transition:fill .15s}.plmap path:hover,.plmap path:focus{fill:#93c5fd;outline:none}.plmap path.on{fill:var(--pri,#2563eb)}
.plchips{display:flex;flex-wrap:wrap;gap:6px;max-height:280px;overflow:auto}.plchips button{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:5px 10px;cursor:pointer;font-size:13px}.plchips button:hover,.plchips button:focus{background:var(--pri,#2563eb);color:#fff}
.plhint{color:var(--muted);font-size:13px}.attr{display:block;color:var(--muted);font-size:11px;margin-top:6px}
@media(max-width:600px){.plmapw{grid-template-columns:1fr}.plmap svg{max-width:200px;margin:auto;display:block}}
/* recipient */
.rcpt{position:relative}.rchip small{color:var(--muted)}.rchip .av{border-radius:50%}
/* fun */
.confetti{position:fixed;inset:0;pointer-events:none;z-index:9999;overflow:hidden}.confetti i{position:absolute;top:60%;width:9px;height:14px;animation:conf 2.3s cubic-bezier(.2,.6,.4,1) forwards}
@keyframes conf{0%{transform:translate(0,0) rotate(0)}40%{transform:translate(calc(var(--dx)*.6),var(--dy)) rotate(var(--r))}100%{transform:translate(var(--dx),70vh) rotate(calc(var(--r)*2));opacity:0}}
.shake{animation:shake .8s cubic-bezier(.36,.07,.19,.97)}@keyframes shake{10%,90%{transform:translateX(-2px)}20%,80%{transform:translateX(4px)}30%,50%,70%{transform:translate(-8px,2px)}40%,60%{transform:translate(8px,-2px)}}
.wiggle{animation:shake .5s}.btn{transition:transform .12s}.btn:active{transform:scale(.96)}.mempty .big{display:block;font-size:34px;margin-bottom:6px}
.tgl{display:flex;align-items:center;gap:8px;font-weight:400;margin:6px 0;cursor:pointer}
@media(prefers-reduced-motion:reduce){.av.on::after,.status.on::before,.pop,.shake,.wiggle,.plbox ul,.sugg{animation:none!important}}
/* news */
.nvnytt{margin-bottom:14px}.nvh{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.nvedit{font-size:13px}
.nvrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.nvcard{display:flex;gap:10px;align-items:center;text-align:left;border:1px solid var(--line);background:linear-gradient(135deg,#fff7ed,#fef3c7);border-radius:14px;padding:10px 12px;cursor:pointer;transition:transform .15s,box-shadow .15s;font:inherit;color:inherit}
.nvcard:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.08)}.nve{font-size:26px}.nvcard small{display:block;color:var(--muted);font-size:12px}
.feeds{margin-bottom:18px}.fhd{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding-right:12px}.flist{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fitem{display:flex;gap:10px;align-items:flex-start;text-align:left;background:none;border:0;border-radius:10px;padding:6px;cursor:pointer;font:inherit;color:inherit;transition:background .15s}.fitem:hover,.fitem:focus-visible{background:var(--soft,#f1f5f9)}
.fitem img,.nothumb{width:84px;height:56px;border-radius:8px;object-fit:cover;flex:none;background:#e2e8f0;display:flex;align-items:center;justify-content:center;font-size:22px}.ft b{display:block;font-size:14px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ft small{color:var(--muted);font-size:12px;display:flex;align-items:center;gap:4px;margin-top:3px}
.slogo{display:inline-flex;width:18px;height:18px;border-radius:5px;background:#334155;color:#fff;font-size:9px;font-weight:700;align-items:center;justify-content:center;flex:none}.s-vg{background:#d0021b}.s-tv2{background:#002bff}.s-nrk{background:#0b1b3f}.s-dagbladet{background:#e0002a}.s-aftenposten{background:#00205b}.s-nettavisen{background:#d91e1e}.s-sportsbibelen{background:#0f7b3c}.s-document{background:#111}.s-nettvy{background:linear-gradient(135deg,#f97316,#ec4899)}
.fload{color:var(--muted)}.fsrc{display:block;color:var(--muted);font-size:11px;margin-top:8px}
.lb{position:fixed;inset:0;z-index:1000;background:rgba(15,23,42,.6);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:16px;animation:fadein .18s}.noscroll{overflow:hidden}
.lbc{position:relative;background:var(--card,#fff);border-radius:18px;max-width:640px;width:100%;max-height:92vh;overflow:auto;padding:22px;box-shadow:0 24px 60px rgba(0,0,0,.3);animation:popin .22s cubic-bezier(.2,1.4,.4,1);outline:none}
.lbx{position:absolute;top:10px;right:12px;border:0;background:none;font-size:28px;cursor:pointer;color:var(--muted)}.lbsrc{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.lbc h2{font-size:22px;margin:8px 0 12px;line-height:1.25}
.lbimg{width:100%;border-radius:12px;margin-bottom:12px;aspect-ratio:3/2;object-fit:cover;background:#e2e8f0}.lbtxt{font-size:15px;line-height:1.6}.lbgo{display:flex;justify-content:center;margin:16px 0 4px;font-size:15px}
.lbnav{display:flex;justify-content:space-between;align-items:center;margin-top:12px;color:var(--muted);font-size:13px}@keyframes fadein{from{opacity:0}}
@media(max-width:700px){.flist{grid-template-columns:1fr}.lb{padding:0;align-items:flex-end}.lbc{border-radius:18px 18px 0 0;max-height:94vh}}
/* points */
.tprog .tpt{margin-bottom:8px}.bar.big{height:12px}.bar i{transition:width 1.1s cubic-bezier(.2,.8,.2,1)}.ladder li.got span:first-child::before{content:"✓ ";color:#16a34a}
.ptbl{border:1px solid var(--line);border-radius:14px;overflow:hidden}.ptr{display:grid;grid-template-columns:1fr 70px 150px 80px;gap:8px;padding:9px 12px;align-items:center;border-top:1px solid var(--line);font-size:14px}.ptr:first-child{border-top:0}
.ph{background:var(--soft,#f8fafc);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.ptr:not(.ph):hover{background:#fffbeb}.pe{font-style:normal;margin-right:8px}.pp{color:#16a34a}.ptr.soon{opacity:.6}.pnote{color:var(--muted);font-size:13px}
@media(max-width:600px){.ptr{grid-template-columns:1fr 50px;font-size:13px}.ptr span:nth-child(n+3){grid-column:1/-1;color:var(--muted);font-size:12px;margin-top:-6px}.ph span:nth-child(n+3){display:none}}
[hidden]{display:none!important}
.nothumb{background:linear-gradient(135deg,#334155,#64748b);color:#fff}
.tbar{position:sticky;top:10px;bottom:auto}
.nothumb{font-size:11px;font-weight:700;text-align:center;line-height:1.1}
/* engagement */
.daily .dq{font-size:18px;font-weight:600;margin:0 0 10px}.dform{display:flex;gap:8px}.dform input{flex:1;margin:0}
.dans{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px}.dans li{display:flex;gap:8px;align-items:center;font-size:14px}.dans small{color:var(--muted)}
.ffeed,.daily{margin-bottom:14px}
.starlist{display:grid;gap:6px}.srow{display:flex;align-items:center;gap:10px;padding:6px;border-radius:10px;text-decoration:none;color:inherit}.srow:hover{background:var(--soft,#f1f5f9)}.srow small{display:block;color:var(--muted);font-size:12px}.srk{width:24px;text-align:center;font-weight:700}.srow .pop{margin-left:auto}
.pop{font-size:13px;letter-spacing:-2px}.pop0{filter:grayscale(1);opacity:.25}
.vbadge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(135deg,#0ea5e9,#2563eb);box-shadow:0 2px 8px rgba(37,99,235,.35)}.v-supervokter{background:linear-gradient(135deg,#8b5cf6,#db2777)}.v-helt{background:linear-gradient(135deg,#f59e0b,#dc2626);animation:popin .6s}
.eng{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:6px 0}.streak{font-size:12px;font-weight:600;color:#c2410c;background:#ffedd5;border-radius:999px;padding:2px 8px}
.badges{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}.bdg{font-size:12px;border:1px solid var(--line);border-radius:999px;padding:3px 9px;background:var(--card);transition:transform .15s}.bdg:hover{transform:translateY(-2px) rotate(-2deg)}
.cmeter{margin:10px 0;padding:10px 12px;border-radius:12px;background:#fef9c3;color:#713f12}.cmeter small{display:block;opacity:.8}.cmeter .bar{margin-top:6px}
.vbox{margin:16px 0;background:linear-gradient(135deg,#eff6ff,#f5f3ff)}.rhero{font-size:13px;margin-top:10px;padding:8px 10px;border-radius:10px;background:#eff6ff;color:#1e3a8a}
#sbands{margin:10px 0}#sbands a{text-decoration:none}
#sbands{display:flex;gap:6px}#sbands a{padding:5px 12px;border:1px solid var(--line);border-radius:999px;font-size:13px;color:inherit}#sbands a.on{background:#0f172a;color:#fff}
.fhd{display:flex;align-items:center;gap:8px;flex-wrap:wrap}#fpbtn{margin-left:auto}
.fprefs{padding:10px 16px 4px;background:linear-gradient(135deg,#fdf4ff,#eff6ff);border-bottom:1px solid var(--line)}.fpt{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:6px 0}
.nchips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.nchip{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:5px 12px;font:inherit;font-size:13px;cursor:pointer;opacity:.6;transition:all .15s}
.nchip.on{opacity:1;border-color:#22c55e;background:#dcfce7;font-weight:600}.nchip.on::before{content:'✓ '}.nchip:hover{transform:translateY(-1px)}.boing{animation:popin .35s}
.ffilt .in{display:flex;gap:8px;flex-wrap:wrap}.ffilt input,.ffilt select{margin:0;flex:1;min-width:110px}.ffilt input[name=q]{flex:3;min-width:180px}
.advs{margin:10px 0}.advs summary{cursor:pointer;font-size:14px;color:var(--muted)}.advs .sform{margin-top:8px}
.ucard .dist{font-size:12px;color:#15803d;font-weight:600}.fmore{text-align:center;color:var(--muted);padding:20px;min-height:20px}
.dbadge{font-size:12px;font-weight:700;color:#9d174d;background:#fce7f3;border-radius:999px;padding:3px 10px}
.seek,.fdat{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0;font-size:13px}.fdat{width:100%}.seek .nchip,.fdat .nchip{cursor:pointer}
.ucard{position:relative}.dheart{position:absolute;top:8px;right:8px;font-size:18px}
/* Flytt inn-kort */
.movein{position:relative;overflow:hidden;margin:0 0 16px;padding:22px 18px 18px;border-radius:20px;color:#fff;background:linear-gradient(140deg,#0f1d3a 0%,#1e3a8a 55%,#7c3aed 100%);box-shadow:0 12px 30px rgba(30,58,138,.35);animation:miup .5s ease-out}
.movein h2{font-size:26px;line-height:1.15;margin:4px 0 8px;color:#fff}.mi-k{margin:0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#c7d2fe}.mi-sub{margin:0 0 14px;color:#e0e7ff;font-size:14px}
.mi-glow{position:absolute;width:220px;height:220px;right:-60px;top:-70px;border-radius:50%;background:radial-gradient(circle,rgba(110,231,183,.45),transparent 65%);animation:miglow 6s ease-in-out infinite alternate;pointer-events:none}
.mi-in{display:flex;align-items:center;background:#fff;border-radius:14px;padding:0 12px;border:2px solid transparent;transition:border-color .2s}.mi-in span{color:#64748b;font-size:15px}.mi-in input{border:0;outline:0;flex:1;font-size:18px;font-weight:600;padding:12px 2px;margin:0;background:transparent;color:#0f172a;min-width:0}
.movein.ok .mi-in{border-color:#34d399}.movein.no .mi-in{border-color:#fb7185}.mi-msg{display:block;margin:6px 2px 10px;color:#e0e7ff;min-height:18px}.movein.ok .mi-msg{color:#6ee7b7;font-weight:700}.movein.no .mi-msg{color:#fecdd3}
.mi-cta{width:100%;padding:14px;font-size:17px;border-radius:14px;background:#34d399!important;border-color:#34d399!important;color:#052e1c!important;font-weight:800}.mi-cta:disabled{opacity:.55}
.movein.ok .mi-cta{animation:pulse 1.6s ease-in-out infinite}
.mi-proof{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:13px;color:#e0e7ff}.mi-avs{display:flex}.mi-avs>*{margin-left:-8px;border:2px solid #1e3a8a;border-radius:50%}.mi-avs>*:first-child{margin-left:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@keyframes miup{from{opacity:0;transform:translateY(12px)}}@keyframes miglow{to{transform:translate(-30px,40px) scale(1.15)}}@keyframes pulse{50%{box-shadow:0 0 0 6px rgba(52,211,153,.25)}}
@media(min-width:761px){.movein{display:none}}
@media(prefers-reduced-motion:reduce){.movein,.mi-glow,.movein.ok .mi-cta{animation:none}}
body[data-pt] #pframe .nchip{background:var(--t-soft);color:var(--t-ink);border-color:var(--t-line)}body[data-pt] #pframe .nchip.on{background:#dcfce7;color:#14532d}
.mi-in input{border:0!important;box-shadow:none!important;border-radius:0!important}
html:not(.authed) .bell{display:none!important}
.dbrow{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:8px}
.dbe .dbhd{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:baseline}.dbe h3{margin:0}
.dbc{border-top:1px solid var(--line);margin-top:8px}.dbcm{display:flex;gap:10px;padding:8px 0;align-items:flex-start}.dbcm .nm{display:none}
.dbcf{display:flex;gap:8px;margin-top:6px}.dbcf input{flex:1}
.gtools{display:flex;gap:8px;margin:12px 0}.gtools input{flex:1}
.gi{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:10px;color:#fff;font-weight:700;font-size:20px;flex:none}
.gc0{background:#2f5d8a}.gc1{background:#3b6e8f}.gc2{background:#8a4b2f}.gc3{background:#7a2f6b}.gc4{background:#2f7a4b}.gc5{background:#5b3f8a}.gc6{background:#2f6e2f}.gc7{background:#8a2f3f}
.ghead{display:flex;gap:14px;align-items:flex-start}.ghead .gi{width:64px;height:64px;font-size:28px}.ghead h1{margin:0 0 4px}
.gact{margin:10px 0 18px}.thr{padding:10px 0;border-bottom:1px solid var(--line)}
.vbanner{background:var(--soft,#fff8d6);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:8px;font-size:13px}
.gcl{height:260px;overflow-y:auto;font-size:13px;padding:4px 0;border-bottom:1px solid var(--line)}.gcm{padding:3px 0}.gcm.me b{color:var(--pri)}
.gcf{display:flex;gap:8px;margin:8px 0 4px}.gcf input{flex:1}.live{font-size:11px;color:var(--pri);font-weight:600;vertical-align:middle}
.lnk{background:none;border:0;color:var(--muted);cursor:pointer;padding:0 4px}
/* ===== Mobil profil v2 (360–414px) ===== */
@media(max-width:760px){
#pframe.pl{display:flex;flex-direction:column;padding:0 0 calc(76px + env(safe-area-inset-bottom));gap:0}
#pframe::before{order:-2;height:112px;margin:0;border-radius:0;border:0}
#pframe>.vbanner{order:-3;margin:8px 12px}
#pframe .pic{order:1;align-self:flex-start;width:96px;height:96px;margin:-52px 0 0 16px;border-radius:22px;border:4px solid var(--card);box-shadow:0 4px 14px rgba(0,0,0,.18);position:relative;z-index:2;font-size:30px;flex:none}
#pframe .ident{order:2;padding:10px 16px 4px;display:flex;flex-direction:column;gap:8px;min-width:0}
#pframe .ident .who{min-width:0}
#pframe .ident h1{font-size:24px;line-height:1.15;margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;word-break:break-word}
#pframe .ident h1 .status{margin:0;font-size:12px}
#pframe .meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;font-size:13px}
#pframe .meta>span{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;background:var(--soft);border:1px solid var(--line);color:var(--ink);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
#pframe #pextra{display:flex;flex-direction:column;gap:8px}
#pframe #pextra .prow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
#pframe #pextra .pstatus{margin:0;font-size:14px}
#pframe .ident .badge{margin:0;width:100%;box-sizing:border-box;padding:10px 12px;border-radius:12px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
#pframe .ident .badge .kicker{display:none}#pframe .ident .badge a{margin-left:auto}
#pframe .acts{order:3;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 16px;margin:0}
#pframe .acts .btn{min-height:44px;padding:8px 6px;font-size:13px;justify-content:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#pframe .acts .modr{grid-column:1/-1;display:flex;justify-content:center;gap:16px}
#pframe .acts .modr .btn{min-height:36px;font-size:12px;border:0;background:none;color:var(--muted)}
#pframe .acts.other{display:flex;flex-wrap:wrap;justify-content:center}
#pframe .acts.other>*{flex:1 1 30%}
#pframe .acts.other>a.pri,#pframe .acts.other>[data-friend],#pframe .acts.other>span.btn:not(.modr *),#pframe .acts.other>#pnudge{position:fixed;bottom:calc(10px + env(safe-area-inset-bottom));z-index:40;width:calc((100vw - 40px)/3);flex:none;box-shadow:0 6px 18px rgba(0,0,0,.18)}
#pframe .acts.other>a.pri{left:10px}
#pframe .acts.other>[data-friend],#pframe .acts.other>span.btn:first-of-type{left:calc(20px + (100vw - 40px)/3)}
#pframe .acts.other>#pnudge{left:calc(30px + 2*(100vw - 40px)/3)}
#pframe .acts.other>[data-friend],#pframe .acts.other>span.btn:first-of-type,#pframe .acts.other>#pnudge{background:var(--card)}
#pframe .acts.other::after{content:"";position:fixed;left:0;right:0;bottom:0;height:calc(64px + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--line);z-index:39}
#pframe .tabs{order:4;position:sticky;top:56px;z-index:6;background:var(--card);padding:0 8px;border-top:1px solid var(--line);margin:0;gap:0;scroll-snap-type:x mandatory}
#pframe .tabs a{scroll-snap-align:start;padding:14px 12px;flex:none}
#pframe .content{order:5;padding:12px 16px 16px;min-width:0}
#pframe .content .fakta,#pframe .content dl{display:grid;grid-template-columns:minmax(96px,38%) 1fr;gap:8px 12px}
#pframe details.sec{order:6;padding:0 16px}
#pframe .content input,#pframe .content textarea,#pframe .content select{max-width:100%;box-sizing:border-box}
#pframe img{max-width:100%}
}
@media(max-width:760px){
#pframe .ident,#pframe .acts,#pframe .tabs,#pframe .content,#pframe details.sec{background:var(--t-card,var(--card));color:var(--t-ink,var(--ink))}
#pframe .pic{box-sizing:border-box;height:104px;width:104px;margin-top:-52px}
#pframe .ident{margin-top:-52px;padding-top:60px;border-radius:20px 20px 0 0}
#pframe .acts.other::after{background:var(--t-card,var(--card))}
#pframe details.sec{border-top:1px solid var(--t-line,var(--line))}
#pframe>.content{border-bottom:0}
}
@media(max-width:760px){#pframe .acts:not(.other){grid-template-columns:1fr 1fr}#pframe .acts:not(.other)>.pri{grid-column:1/-1}#pframe .meta>span:has(.ic){display:none}}
/* Mobil: kompakt profilhode på undersider (brev, dagbok, venner …) så innholdet kommer først */
@media(max-width:760px){
html:not([data-pg="profil.html"]) #pframe::before{height:56px}
html:not([data-pg="profil.html"]) #pframe .pic{width:56px;height:56px;margin:-28px 0 0 16px;border-radius:14px;border-width:3px;font-size:18px}
html:not([data-pg="profil.html"]) #pframe .ident{margin-top:-28px;padding:6px 16px 8px 84px;min-height:28px;border-radius:16px 16px 0 0}
html:not([data-pg="profil.html"]) #pframe .ident h1{font-size:18px}
html:not([data-pg="profil.html"]) #pframe :is(.meta,#pextra,.badge,.acts,details.sec,.cmeter,.engp){display:none!important}
html:not([data-pg="profil.html"]) #pframe.pl{padding-bottom:0}
}
/* ===== Mobil bunnmeny ===== */
.mbar{display:none}
@media(max-width:760px){
body.has-tbar{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
.mbar{display:grid;grid-template-columns:repeat(5,1fr);align-items:center;position:fixed;left:0;right:0;bottom:0;z-index:60;height:calc(60px + env(safe-area-inset-bottom));padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--card);border-top:1px solid var(--line);box-shadow:0 -4px 18px rgba(0,0,0,.08);transition:transform .25s cubic-bezier(.2,.8,.2,1)}
body.tb-hide .mbar{transform:translateY(calc(100% + 24px))}
.tb{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:60px;color:var(--muted);text-decoration:none;font-size:11px;font-weight:600;background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.tb .ic{width:24px;height:24px}.tb.on{color:var(--accink)}.tb.on::before{content:"";position:absolute;top:0;width:28px;height:3px;border-radius:0 0 3px 3px;background:var(--accink)}
.tb:focus-visible{outline:2px solid var(--accink);outline-offset:-4px;border-radius:10px}
.tbplus b{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:var(--acc);color:#fff;font-size:30px;line-height:1;font-weight:400;box-shadow:0 4px 12px rgba(0,0,0,.2);margin-top:-14px}
.tbn{position:absolute;top:6px;left:calc(50% + 6px);min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;border-radius:9px;background:#d1365a;color:#fff;font:700 11px/18px system-ui;font-style:normal;text-align:center;border:2px solid var(--card)}
.tbme .av{border-radius:50%!important;box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--line)}.tbme .av.on{box-shadow:0 0 0 2px var(--card),0 0 0 4px #1fae6a}.tbme .av::after{display:none}
.tbme.on .av{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--accink)}
.tb.bounce{animation:tbb .35s cubic-bezier(.3,1.6,.5,1)}@keyframes tbb{40%{transform:scale(.86)}100%{transform:none}}
.qback{position:fixed;inset:0;background:rgba(8,15,30,.45);z-index:70;opacity:0;transition:opacity .2s}.qback.open{opacity:1}
.qsheet{position:fixed;left:0;right:0;bottom:0;z-index:71;background:var(--card);color:var(--ink);border-radius:20px 20px 0 0;padding:10px 16px calc(16px + env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .22s cubic-bezier(.2,.8,.2,1);max-height:80vh;overflow:auto}
.qsheet.open{transform:none}.qgrab{width:40px;height:4px;border-radius:4px;background:var(--line);margin:0 auto 10px}.qsheet h3{margin:0 0 8px;font-size:16px}
.qa{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;column-gap:10px;padding:12px 6px;border-radius:12px;color:var(--ink);text-decoration:none}.qa>span{grid-row:1/3;font-size:24px;display:grid;place-items:center}
.qa small{color:var(--muted)}.qa:hover,.qa:focus-visible{background:var(--soft)}.qg small a{display:inline-block;margin:6px 6px 0 0;padding:6px 10px;border-radius:999px;background:var(--soft);border:1px solid var(--line);color:var(--ink);text-decoration:none}
/* profilens handlingslinje legges over bunnmenyen */
body.has-tbar #pframe .acts.other>a.pri,body.has-tbar #pframe .acts.other>[data-friend],body.has-tbar #pframe .acts.other>span.btn:first-of-type,body.has-tbar #pframe .acts.other>#pnudge{bottom:calc(70px + env(safe-area-inset-bottom));transition:bottom .25s cubic-bezier(.2,.8,.2,1)}
body.has-tbar #pframe .acts.other::after{bottom:calc(60px + env(safe-area-inset-bottom));height:64px;transition:bottom .25s cubic-bezier(.2,.8,.2,1)}
body.has-tbar.tb-hide #pframe .acts.other>a.pri,body.has-tbar.tb-hide #pframe .acts.other>[data-friend],body.has-tbar.tb-hide #pframe .acts.other>span.btn:first-of-type,body.has-tbar.tb-hide #pframe .acts.other>#pnudge{bottom:calc(10px + env(safe-area-inset-bottom))}
body.has-tbar.tb-hide #pframe .acts.other::after{bottom:0}
body.has-tbar #pframe.pl{padding-bottom:76px}
body.has-tbar .toasts{bottom:calc(76px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){.mbar,.qsheet,.tb.bounce{transition:none;animation:none}}
.tipc{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.tvote.on{background:var(--acc);color:#fff;border-color:var(--acc)}
.tthx{text-align:center}.tbig{font-size:48px;animation:tbb .5s cubic-bezier(.3,1.6,.5,1)}
.tcl summary{cursor:pointer;list-style:none;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.tprio{display:inline-grid;place-items:center;min-width:30px;height:24px;border-radius:6px;background:var(--soft);border:1px solid var(--line);font-weight:700;font-size:12px}
.tipi{border-top:1px solid var(--line);padding:8px 0}.tipi p{margin:0 0 4px}
/* ===== Stemning: tid på døgnet + årstider ===== */
@property --sky1{syntax:'<color>';inherits:true;initial-value:#081325}
@property --sky2{syntax:'<color>';inherits:true;initial-value:#1a3563}
@property --glow{syntax:'<color>';inherits:true;initial-value:transparent}
html[data-amb] .top .night{background:radial-gradient(120% 90% at var(--gx,80%) 110%,var(--glow) 0%,transparent 60%),linear-gradient(180deg,var(--sky1) 0%,var(--sky2) 100%);transition:--sky1 4s,--sky2 4s,--glow 4s}
html[data-phase=natt]{--sky1:#050b1f;--sky2:#14214a;--glow:#1c2b5a00}
html[data-phase=morgen]{--sky1:#2c2560;--sky2:#8e3f5e;--glow:#e0805a;--gx:20%}
html[data-phase=formiddag]{--sky1:#174f8a;--sky2:#2a6aa6;--glow:#5b9ad455;--gx:60%}
html[data-phase=ettermiddag]{--sky1:#164a80;--sky2:#2b6699;--glow:#d8a34a44;--gx:75%}
html[data-phase=kveld]{--sky1:#22184a;--sky2:#8a3528;--glow:#e0703a;--gx:85%}
html[data-season=sommer][data-phase=natt]{--sky1:#1a2152;--sky2:#5b3a6e;--glow:#d9785a88;--gx:50%}
html[data-amb]:not([data-phase=natt]):not([data-phase=kveld]) .top .night>svg:first-child,html[data-amb]:not([data-phase=natt]):not([data-phase=kveld]) .top .moon{opacity:0;transition:opacity 3s}
html[data-season=sommer][data-phase=natt] .top .moon{opacity:.25}
.amb-sun{position:absolute;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle,#fff6d8 0 40%,#ffd27a 60%,#ffd27a00 72%);top:var(--sy,18px);left:var(--gx,70%);transform:translateX(-50%);opacity:0;transition:opacity 3s,top 4s,left 4s;pointer-events:none}
html[data-phase=morgen] .amb-sun{opacity:.9;--sy:84px}html[data-phase=formiddag] .amb-sun,html[data-phase=ettermiddag] .amb-sun{opacity:.85;--sy:14px}html[data-phase=kveld] .amb-sun{opacity:.7;--sy:92px}
.amb-greet{position:absolute;right:12px;bottom:10px;z-index:3;font:600 13px/1.3 system-ui,sans-serif;color:#fff;background:rgba(0,0,0,.45);padding:4px 10px;border-radius:999px;max-width:70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:520px){.amb-greet{font-size:12px;bottom:6px;right:8px;max-width:62%}}
.amb-fx{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.amb-fx i{position:absolute;top:-12px;left:var(--x);width:var(--s);height:var(--s);opacity:.85;animation:ambfall var(--d) linear var(--dl) infinite;will-change:transform}
html[data-season=vinter] .amb-fx i{border-radius:50%;background:#fff;box-shadow:0 0 3px #fff}
html[data-season=høst] .amb-fx i{border-radius:0 70% 0 70%;background:var(--c,#d8641e);animation-name:ambleaf}
html[data-season=vår] .amb-fx i{border-radius:60% 0 60% 0;background:#f7c6d6;animation-name:ambleaf}
html[data-season=sommer] .amb-fx i{border-radius:50%;background:#fff3b0;box-shadow:0 0 6px #ffe27a;animation-name:ambfly;opacity:.6}
@keyframes ambfall{to{transform:translate3d(20px,160px,0)}}
@keyframes ambleaf{0%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(-24px,80px,0) rotate(180deg)}100%{transform:translate3d(10px,160px,0) rotate(360deg)}}
@keyframes ambfly{0%,100%{transform:translate3d(0,90px,0)}50%{transform:translate3d(30px,60px,0)}}
.amb-aurora{position:absolute;inset:-20% -10% 40%;opacity:0;pointer-events:none;background:linear-gradient(100deg,transparent 10%,#3cf2a455 30%,#5ad1ff44 45%,transparent 60%,#a67cff33 75%,transparent 90%);filter:blur(14px);transition:opacity 4s}
html[data-season=vinter][data-phase=natt] .amb-aurora{opacity:1;animation:ambaur 18s ease-in-out infinite alternate}
@keyframes ambaur{to{transform:translate3d(-6%,4%,0) skewX(-8deg)}}
html[data-season=vinter] .top .night{box-shadow:inset 0 -3px 0 #cfe6ff55}
html[data-season=vår] .top .night{box-shadow:inset 0 -3px 0 #8fd07a66}
html[data-season=sommer] .top .night{box-shadow:inset 0 -3px 0 #ffd27a66}
html[data-season=høst] .top .night{box-shadow:inset 0 -3px 0 #e0702a66}
.amb-off .amb-fx i,.fxpause .amb-fx i,.fxpause .amb-aurora{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.amb-fx{display:none}.amb-aurora{animation:none!important}html[data-amb] .top .night,.amb-sun,.amb-aurora{transition:none}}
.setrow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.setrow input{width:22px;height:22px}
/* ===== Høytider: Halloween (oktober, sterkest 24.–31.) ===== */
html[data-hol=halloween] body[data-theme=gronn]:is(:not([data-pt]),[data-pt=standard]){--acc:#b8480b;--acc2:#fff1e6;--accink:#9a3c08;--bg:#fbf6f1;--line:#efe1d3;--soft:#fdf8f3;--pink:#8e3fb5}
html[data-hol=halloween][data-holp=peak] body[data-theme=gronn]:is(:not([data-pt]),[data-pt=standard]){--bg:#140f1c;--card:#1f1829;--soft:#271f33;--ink:#f3ecfb;--muted:#bcaed0;--line:#3a2e4a;--acc:#c4520a;--acc2:#3a2212;--accink:#ffab66;--warnbg:#3a2e14;--badbg:#3a1a1a;--sh:0 1px 0 #00000055;color-scheme:dark}
html[data-hol=halloween][data-holp=peak] body[data-theme=gronn]:is(:not([data-pt]),[data-pt=standard]){background:radial-gradient(1200px 500px at 50% -10%,#3b1f4d55,transparent),var(--bg) fixed}
html[data-hol=halloween] .top .night{--sky1:#120a22!important;--sky2:#4a1d3d!important;--glow:#ff7a1a66!important;--gx:78%!important}
html[data-hol=halloween] .top .moon circle:first-child{fill:#ffcf7a}
html[data-hol=halloween] .logo b{color:#ff9a3c}
html[data-hol=halloween] .logo b::after{content:" 🎃";font-size:.55em;vertical-align:middle}
.hol-bats{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.hol-bats i{position:absolute;left:-30px;top:var(--y);font-style:normal;font-size:var(--s);filter:brightness(.2);animation:holbat var(--d) linear var(--dl) infinite;will-change:transform}
@keyframes holbat{0%{transform:translate3d(0,0,0)}25%{transform:translate3d(30vw,-10px,0)}50%{transform:translate3d(60vw,8px,0)}100%{transform:translate3d(115vw,-6px,0)}}
html[data-hol=halloween] body[data-theme=gronn]:is(:not([data-pt]),[data-pt=standard]) .btn.pri{box-shadow:0 0 0 1px #00000010,0 4px 14px -6px #ff7a1a}
html[data-hol=halloween] body[data-theme=gronn]:is(:not([data-pt]),[data-pt=standard]) .card{position:relative}
html[data-hol=halloween] body[data-theme=gronn]:is(:not([data-pt]),[data-pt=standard]) .card::after{content:"";position:absolute;top:0;right:0;width:46px;height:46px;pointer-events:none;opacity:.22;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 46 46' fill='none' stroke='%23999' stroke-width='.8'%3E%3Cpath d='M46 0L10 36M46 0L24 40M46 0L6 22M46 0L40 46M46 0L2 6'/%3E%3Cpath d='M38 0q2 6 8 8M28 0q3 13 18 18M18 0q4 22 28 28'/%3E%3C/svg%3E") no-repeat}
html[data-hol=halloween][data-holp=peak] body[data-theme=gronn]:is(:not([data-pt]),[data-pt=standard]) .card::after{opacity:.35}
html[data-hol=halloween][data-holp=peak] body[data-theme=gronn]:is(:not([data-pt]),[data-pt=standard]) .top nav,html[data-hol=halloween][data-holp=peak] body[data-theme=gronn]:is(:not([data-pt]),[data-pt=standard]) footer{background:#1a1323;border-color:#3a2e4a}
html[data-hol=halloween][data-holp=peak] body[data-theme=gronn]:is(:not([data-pt]),[data-pt=standard]) :is(.card,.in,form) :is(input,textarea,select):not(.movein *){background:#271f33;color:var(--ink);border-color:#4a3c5c}
html[data-hol=halloween] body:not([data-theme=gronn]) .top .night{--glow:#ff7a1a33!important}
@media (prefers-reduced-motion:reduce){.hol-bats{display:none}}
.fxpause .hol-bats i{animation-play-state:paused}
html[data-hol=halloween][data-holp=peak] body[data-theme=gronn]:is(:not([data-pt]),[data-pt=standard]) .tag.r{background:#3a1a1a;color:#ff9b9b}
html[data-hol=halloween] body[data-theme=gronn]:is(:not([data-pt]),[data-pt=standard]) .movein{background:linear-gradient(140deg,#1a0f2a 0%,#4a1d3d 55%,#9a3c08 100%);box-shadow:0 12px 30px rgba(154,60,8,.3)}
.gi{font-weight:700;margin-right:3px}.gm{color:#1d5fb8}.gf{color:#b8336a}.go{color:#6b46c1}
@media(prefers-color-scheme:dark){.gm{color:#7fb3ff}.gf{color:#ff8fbd}.go{color:#c3a6ff}}
#svisits .ga{display:block;font-size:11px;color:var(--muted);line-height:1.2}
.slp{background:var(--card);border-bottom:1px solid var(--line);padding:8px 12px}
.slp-h{display:flex;gap:8px;align-items:baseline;font-size:12px;margin:0 auto 4px;max-width:1100px}.slp-h small{color:var(--muted)}
.slp-l{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;max-width:1100px;margin:0 auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}
.slp-u{flex:0 0 auto;width:62px;text-align:center;scroll-snap-align:start;color:var(--ink);text-decoration:none;font-size:11px;line-height:1.25}
.slp-a{display:inline-block;margin:5px}
.slp-a img,.slp-a .av{border-radius:50%}
.slp-n{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.slp .ga{color:var(--muted);display:block}
.logo{z-index:4}.amb-aurora,.amb-sun{z-index:0}.hol-bats{z-index:1}
/* hotfix: avatar-ring og prikk skal aldri klippes */
.slp-l{padding:4px 6px 6px}
a>.av:first-child{margin:5px}
a:hover>.av{transform:none}
.mbar .av{margin:0}
.mbar{overflow:visible}
.ferr{display:block;color:var(--bad);font-size:12px;min-height:0;margin-top:2px}.ferr:empty{display:none}[aria-invalid=true]{border-color:var(--bad)!important}
.pwbox{position:relative}.pwbox input{padding-right:44px;width:100%}.pweye{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;background:none;cursor:pointer;font-size:18px}.pwm{display:block;font-size:12px;margin-top:2px}.pwm.ok{color:var(--accink)}.pwm.bad{color:var(--bad)}#rsub:disabled{opacity:.55;cursor:not-allowed}
.pwform{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.pwform h4{margin:0 0 8px}
