/* Firends – stil
   Layout: én mobilkolonne (maks 480px) over en uskarp «himmel» i invitasjonens tema.
   Plakaten er helten; alt annet er rolig glass rundt den. */

@font-face{font-family:'Onest';font-weight:400;font-display:swap;src:url(/fonts/onest-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Onest';font-weight:500;font-display:swap;src:url(/fonts/onest-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Onest';font-weight:600;font-display:swap;src:url(/fonts/onest-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Onest';font-weight:700;font-display:swap;src:url(/fonts/onest-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Gloock';font-weight:400;font-display:swap;src:url(/fonts/gloock-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Unbounded';font-weight:700;font-display:swap;src:url(/fonts/unbounded-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Great Vibes';font-weight:400;font-display:swap;src:url(/fonts/great-vibes-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-weight:500;font-display:swap;src:url(/fonts/cormorant-garamond-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-weight:500;font-style:italic;font-display:swap;src:url(/fonts/cormorant-garamond-latin-500-italic.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-weight:600;font-display:swap;src:url(/fonts/cormorant-garamond-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Shrikhand';font-weight:400;font-display:swap;src:url(/fonts/shrikhand-latin-400-normal.woff2) format('woff2')}

/* ---------- vennr Glass (B211/B212): tokens. Regler i docs/design/vennr-glass.md og JURY-2026-11-09.md ---------- */
@property --sa{syntax:'<angle>';inherits:false;initial-value:300deg}
:root{
  --vennr-grad:linear-gradient(120deg,#ffb347 0%,#ff6b5b 48%,#e84393 100%);
  --vennr-plum:#2a0716;
  --glass-rgb:10 20 48;
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;
  --shadow-1:0 1px 2px rgb(0 0 0 / .25);
  --shadow-2:0 14px 34px -14px rgb(0 0 0 / .7);
  --shadow-3:0 24px 60px -20px rgb(0 0 0 / .6);
  --ease-out:cubic-bezier(.2,.8,.2,1);--ease-sheet:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.2,.9,.3,1.2);
}
:root,[data-tema]{
  --glass-thin:rgb(var(--glass-rgb) / .40);--glass-thin-fx:blur(12px) saturate(140%);
  --glass-regular:rgb(var(--glass-rgb) / .62);--glass-regular-fx:blur(18px) saturate(150%);
  --glass-thick:rgb(var(--glass-rgb) / .82);--glass-thick-fx:blur(28px) saturate(160%);
  --glass-edge:rgb(255 255 255 / .14);
  --glass-spec:inset 0 1px 0 rgb(255 255 255 / .12);
  /* klart glass over foto: lys tone, bildet skal synes gjennom */
  --glass-photo:linear-gradient(180deg,rgb(255 255 255 / .16),rgb(255 255 255 / .07));--glass-photo-fx:blur(14px) saturate(190%) brightness(1.08);
  /* innholdsflater (ingen blur) */
  --surface-1:rgb(255 255 255 / .06);--surface-2:rgb(255 255 255 / .10);--surface-edge:rgb(255 255 255 / .12);
  /* rosa: valgt, primær, nytt, fokus. Glød uten kant */
  --hl-tint:linear-gradient(135deg,rgb(255 179 71 / .26),rgb(255 107 91 / .22) 48%,rgb(232 67 147 / .36));
  --hl-glow:0 0 22px -6px rgb(232 67 147 / .55);
}
[data-tema="nordlys"]{--glass-rgb:4 22 26}[data-tema="midnattssol"]{--glass-rgb:43 12 44}[data-tema="fjord"]{--glass-rgb:3 17 41}[data-tema="blatimen"]{--glass-rgb:17 12 49}[data-tema="hyttekos"]{--glass-rgb:28 12 5}[data-tema="jubileum"]{--glass-rgb:15 27 51}
[data-tema="sne"],[data-tema="bryllup"],[data-tema="bursdag"],[data-tema="dap"],[data-tema="konfirmasjon"]{--glass-rgb:248 250 252;--glass-edge:rgb(18 34 48 / .12);--glass-spec:inset 0 1px 0 rgb(255 255 255 / .7);--surface-1:rgb(255 255 255 / .55);--surface-2:rgb(255 255 255 / .75);--surface-edge:rgb(18 34 48 / .10)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){:root,[data-tema]{--glass-thin:rgb(var(--glass-rgb) / .86);--glass-regular:rgb(var(--glass-rgb) / .92);--glass-thick:rgb(var(--glass-rgb) / .96)}}
@media (prefers-reduced-transparency:reduce){:root,[data-tema]{--glass-thin:rgb(var(--glass-rgb) / .94);--glass-regular:rgb(var(--glass-rgb) / .96);--glass-thick:rgb(var(--glass-rgb) / .98);--glass-thin-fx:none;--glass-regular-fx:none;--glass-thick-fx:none;--glass-photo:rgb(var(--glass-rgb) / .9);--glass-photo-fx:none}}
@media (prefers-contrast:more){:root,[data-tema]{--glass-regular:rgb(var(--glass-rgb) / .94);--glass-thick:rgb(var(--glass-rgb) / .97);--glass-edge:rgb(255 255 255 / .6);--surface-edge:rgb(255 255 255 / .45);--hl-glow:0 0 0 0 transparent}}

:root{
  color-scheme:dark;
  --night:#0a1222;
  --f-ui:'Onest',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --f-elegant:'Gloock',Georgia,'Times New Roman',serif;
  --f-moderne:'Unbounded','Arial Black',system-ui,sans-serif;
  --f-leken:'Shrikhand','Cooper Black',Georgia,serif;
  --f-script:'Great Vibes','Snell Roundhand',cursive;
  --f-garamond:'Cormorant Garamond',Garamond,Georgia,serif;
  --r-lg:28px;--r-md:20px;--r-sm:12px;
  --ok:#5fe0a1;--maybe:#ffd36b;--no:#ff8f8f;
  --base:#0a1222;--c1:#1d3f7a;--c2:#22708f;--c3:#3b2a6e;
  --ink:#f2f6fb;--ink-2:rgba(242,246,251,.7);--glass:rgba(255,255,255,.08);--line:rgba(255,255,255,.15);
  --field:rgba(0,0,0,.22);--btn:#f2f6fb;--btn-ink:#0a1222;--err:#ff9b9b;
}
[data-tema="natt"]{--base:#0a1222;--c1:#1d3f7a;--c2:#22708f;--c3:#3b2a6e;--ink:#f2f6fb;--ink-2:rgba(242,246,251,.7);--glass:rgba(255,255,255,.08);--line:rgba(255,255,255,.15);--field:rgba(0,0,0,.22);--btn:#f2f6fb;--btn-ink:#0a1222;--err:#ff9b9b;color-scheme:dark}
[data-tema="nordlys"]{--base:#04161a;--c1:#19c98a;--c2:#127f86;--c3:#6a45d6;--ink:#effff8;--ink-2:rgba(239,255,248,.74);--glass:rgba(255,255,255,.09);--line:rgba(255,255,255,.17);--field:rgba(0,0,0,.24);--btn:#effff8;--btn-ink:#04161a;--err:#ffb0a8;color-scheme:dark}
[data-tema="midnattssol"]{--base:#2b0c2c;--c1:#ff7556;--c2:#ffb84d;--c3:#d63f7e;--ink:#fff5ec;--ink-2:rgba(255,245,236,.78);--glass:rgba(255,255,255,.12);--line:rgba(255,255,255,.22);--field:rgba(40,6,30,.3);--btn:#fff5ec;--btn-ink:#2b0c2c;--err:#ffe0a0;color-scheme:dark}
[data-tema="fjord"]{--base:#031129;--c1:#1c66cc;--c2:#35b9e0;--c3:#0a3470;--ink:#eef6ff;--ink-2:rgba(238,246,255,.74);--glass:rgba(255,255,255,.09);--line:rgba(255,255,255,.17);--field:rgba(0,0,0,.24);--btn:#eef6ff;--btn-ink:#031129;--err:#ffb0a8;color-scheme:dark}
[data-tema="blatimen"]{--base:#110c31;--c1:#5446ff;--c2:#a057d4;--c3:#2763ff;--ink:#f4f1ff;--ink-2:rgba(244,241,255,.74);--glass:rgba(255,255,255,.09);--line:rgba(255,255,255,.17);--field:rgba(0,0,0,.24);--btn:#f4f1ff;--btn-ink:#110c31;--err:#ffb0c0;color-scheme:dark}
[data-tema="hyttekos"]{--base:#1c0c05;--c1:#ff8a1e;--c2:#b8390b;--c3:#ffcf73;--ink:#fff4e6;--ink-2:rgba(255,244,230,.76);--glass:rgba(255,255,255,.1);--line:rgba(255,255,255,.18);--field:rgba(0,0,0,.28);--btn:#fff4e6;--btn-ink:#1c0c05;--err:#ffd0a0;color-scheme:dark}
[data-tema="sne"]{--base:#e3ecf3;--c1:#ffffff;--c2:#a9cbe6;--c3:#f2cddc;--ink:#122230;--ink-2:rgba(18,34,48,.68);--glass:rgba(255,255,255,.55);--line:rgba(18,34,48,.13);--field:rgba(255,255,255,.75);--btn:#122230;--btn-ink:#f6fafc;--err:#b4233c;color-scheme:light}

html,body{height:100%;margin:0}
html{background:none} /* B133: den mørke bakgrunnen i <head> gjelder bare til stilarket er lastet */
body{background:var(--night);color:var(--ink);font-family:var(--f-ui);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}
img{max-width:100%}
[hidden]{display:none!important}
button,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
p{margin:0}
a{color:inherit}

.sky{position:fixed;inset:0;z-index:0;background:var(--base);overflow:hidden;transition:background-color .8s ease}
.sky .bl{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55;transition:background-color .8s ease}
.sky::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent,var(--base) 92%);opacity:.6}
.sky .b1{width:70vmax;height:70vmax;left:-25vmax;top:-30vmax;background:var(--c1);animation:d1 24s ease-in-out infinite alternate}
.sky .b2{width:60vmax;height:60vmax;right:-30vmax;top:10vmax;background:var(--c2);animation:d2 28s ease-in-out infinite alternate}
.sky .b3{width:65vmax;height:55vmax;left:-10vmax;bottom:-35vmax;background:var(--c3);animation:d3 32s ease-in-out infinite alternate}
@keyframes d1{to{transform:translate(18%,14%) scale(1.12)}}
@keyframes d2{to{transform:translate(-16%,10%) scale(.92)}}
@keyframes d3{to{transform:translate(12%,-12%) scale(1.08)}}

.app{position:relative;z-index:1;max-width:480px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:14px 72px;display:flex;flex-direction:column;gap:18px;color:var(--ink);min-height:100%}

/* plakaten */
.poster{position:relative;aspect-ratio:4/5;width:100%;max-width:100%;border-radius:var(--r-lg);overflow:hidden;background:var(--base);color:var(--ink);container-type:inline-size;isolation:isolate;box-shadow:0 30px 60px -24px rgba(0,0,0,.6),0 0 0 1px var(--line)}
.poster .bl{position:absolute;border-radius:50%;filter:blur(9cqi);opacity:.95}
.poster .b1{width:85%;height:85%;left:-22%;top:-18%;background:var(--c1);animation:p1 16s ease-in-out infinite alternate}
.poster .b2{width:72%;height:72%;right:-28%;top:22%;background:var(--c2);animation:p2 20s ease-in-out infinite alternate}
.poster .b3{width:80%;height:62%;left:2%;bottom:-28%;background:var(--c3);animation:p3 23s ease-in-out infinite alternate}
@keyframes p1{to{transform:translate(20%,14%) scale(1.1)}}
@keyframes p2{to{transform:translate(-18%,-8%) scale(.9)}}
@keyframes p3{to{transform:translate(14%,-14%) scale(1.12)}}
.poster::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,color-mix(in srgb,var(--base) 78%,transparent) 0%,color-mix(in srgb,var(--base) 35%,transparent) 38%,transparent 62%)}
.poster.has-photo::before{display:none}
.poster .grain{position:absolute;inset:0;opacity:.22;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.poster .photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.poster.has-photo{--ink:#fff;--ink-2:rgba(255,255,255,.84)}
.poster.has-photo::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(0,0,0,.78) 0%,rgba(0,0,0,.35) 45%,rgba(0,0,0,0) 70%)}
.ptxt{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:7.5cqi;display:flex;flex-direction:column;gap:1.6cqi}
.p-host{margin:0;font-size:4.2cqi;font-weight:600;color:var(--ink-2)}
.p-title{margin:0;font-size:13cqi;line-height:.98;text-wrap:balance;overflow-wrap:anywhere;font-weight:400}
.p-title.empty{opacity:.45}
.poster[data-font="elegant"] .p-title{font-family:var(--f-elegant);font-size:15.5cqi;letter-spacing:-.01em;line-height:.95}
.poster[data-font="moderne"] .p-title{font-family:var(--f-moderne);font-weight:700;font-size:10.5cqi;letter-spacing:-.03em;line-height:1.02}
.poster[data-font="leken"] .p-title{font-family:var(--f-leken);font-size:13.5cqi;line-height:1.04}
.p-when{margin:2.4cqi 0 0;font-size:4.8cqi;font-weight:600}
.p-where{margin:0;font-size:4.2cqi;color:var(--ink-2)}
.poster.mini{border-radius:14px;box-shadow:0 0 0 1px var(--line)}
.poster.mini .p-host,.poster.mini .p-where,.poster.mini .p-when{display:none}
.poster.mini .ptxt{padding:9cqi}

/* felles */
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}
.word{font-family:var(--f-elegant);font-size:28px;letter-spacing:-.01em;line-height:1;text-decoration:none}
.tag{font-size:12px;font-weight:600;padding:5px 10px;border-radius:999px;background:var(--glass);border:1px solid var(--line);color:var(--ink-2)}
.iconbtn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--glass);border:1px solid var(--line);cursor:pointer;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:var(--ink);text-decoration:none;flex:none}
.iconbtn svg{width:20px;height:20px}
.spacer{width:44px;flex:none}
.card{background:var(--glass);border:1px solid var(--line);border-radius:var(--r-md);padding:18px;display:flex;flex-direction:column;gap:14px;-webkit-backdrop-filter:blur(26px) saturate(1.3);backdrop-filter:blur(26px) saturate(1.3);min-width:0}
.card h2,.card h3{margin:0;font-size:17px;font-weight:600;line-height:1.25}
.muted{color:var(--ink-2)}
.small{font-size:13px}
.btn{appearance:none;border:0;font-weight:600;font-size:16px;line-height:1;padding:0 22px;min-height:52px;border-radius:999px;background:var(--btn);color:var(--btn-ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:transform .15s ease,opacity .2s}
.btn:active{transform:scale(.97)}
.btn[disabled]{opacity:.55;cursor:progress}
.btn.ghost{background:var(--glass);color:var(--ink);border:1px solid var(--line)}
.btn.wide{width:100%}
.btn.sm{min-height:40px;font-size:14px;padding:0 16px}
.row{display:flex;gap:10px;flex-wrap:wrap}
.row>.btn{flex:1 1 140px}
.link{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:3px;background:none;border:0;padding:0;cursor:pointer;font-size:inherit}
.x{background:none;border:0;color:var(--ink-2);cursor:pointer;font-size:13px;padding:4px;text-decoration:underline;text-underline-offset:2px}

/* forside */
.hero{display:flex;flex-direction:column;gap:12px;padding-block:18px 6px}
.hero h1{margin:0;font-family:var(--f-ui);font-weight:700;font-size:clamp(38px,10.5vw,52px);line-height:1;letter-spacing:-.04em;text-wrap:balance}
.hero p{font-size:17px;color:var(--ink-2);max-width:34ch}
.list{display:flex;flex-direction:column;gap:10px}
.evrow{display:grid;grid-template-columns:76px 1fr;gap:14px;align-items:center;text-align:left;width:100%;background:var(--glass);border:1px solid var(--line);border-radius:var(--r-md);padding:10px;cursor:pointer;text-decoration:none;color:var(--ink);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.evrow .meta{display:flex;flex-direction:column;gap:3px;min-width:0}
.evrow strong{font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.chip{font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--glass);border:1px solid var(--line);color:var(--ink-2)}
.section-title{font-size:15px;font-weight:600;color:var(--ink-2);margin:6px 2px 0}
.points{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.points li{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start}
.points b{display:block}
.points .n{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--field);border:1px solid var(--line);font-size:13px;font-weight:700}

/* skjema */
form{display:flex;flex-direction:column;gap:18px;margin:0}
.field{display:grid;gap:6px;font-size:13px;font-weight:500;color:var(--ink-2)}
.field input,.field textarea{width:100%;font-size:16px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:var(--r-sm);padding:13px 14px;outline:none}
.field input:focus,.field textarea:focus{border-color:var(--ink)}
.field textarea{min-height:92px;resize:vertical}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.two>*{min-width:0}
.swatches{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.sw{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:0;cursor:pointer;padding:4px;border-radius:14px;font-size:13px;font-weight:500;color:var(--ink-2)}
.sw .dot{width:100%;aspect-ratio:1.6;border-radius:12px;background:radial-gradient(circle at 25% 30%,var(--c1),transparent 62%),radial-gradient(circle at 80% 55%,var(--c2),transparent 60%),radial-gradient(circle at 40% 95%,var(--c3),transparent 62%),var(--base);box-shadow:0 0 0 1px rgba(255,255,255,.12)}
.sw[aria-pressed="true"]{color:var(--ink)}
.sw[aria-pressed="true"] .dot{box-shadow:0 0 0 2px var(--ink),0 0 0 5px var(--glass)}
.fonts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.fo{background:var(--field);border:1px solid var(--line);border-radius:14px;padding:12px 6px 10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:13px;color:var(--ink-2)}
.fo b{font-size:28px;line-height:1.1;color:var(--ink);font-weight:400}
.fo[data-f="elegant"] b{font-family:var(--f-elegant)}
.fo[data-f="moderne"] b{font-family:var(--f-moderne);font-weight:700;font-size:24px}
.fo[data-f="leken"] b{font-family:var(--f-leken)}
.fo[aria-pressed="true"]{border-color:var(--ink);color:var(--ink)}
.switch{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer}
.switch>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.switch input{appearance:none;-webkit-appearance:none;flex:none;width:52px;height:32px;border-radius:999px;background:var(--field);border:1px solid var(--line);position:relative;cursor:pointer;transition:background .2s;margin:0}
.switch input::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:var(--ink-2);transition:transform .2s,background .2s}
.switch input:checked{background:var(--btn)}
.switch input:checked::after{transform:translateX(20px);background:var(--btn-ink)}
.err{color:var(--err);font-size:14px;font-weight:500}
.filebtn{position:relative;overflow:hidden}
.filebtn input{position:absolute;inset:0;opacity:0;cursor:pointer}
.preview-wrap{width:min(100%,320px);margin:0 auto}

/* invitasjonen */
.seg{display:inline-flex;padding:4px;border-radius:999px;background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.seg button{border:0;background:none;padding:9px 14px;border-radius:999px;font-size:14px;font-weight:600;color:var(--ink-2);cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--btn);color:var(--btn-ink)}
.rsvp{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.rsvp button{min-height:56px;border-radius:16px;border:1px solid var(--line);background:var(--field);font-weight:600;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:15px;transition:transform .15s}
.rsvp button:active{transform:scale(.96)}
.rsvp button i{width:8px;height:8px;border-radius:50%}
.rsvp button[aria-pressed="true"]{background:var(--btn);color:var(--btn-ink);border-color:transparent}
.st-ja{background:var(--ok)}.st-kanskje{background:var(--maybe)}.st-nei{background:var(--no)}
.info{display:flex;flex-direction:column;gap:14px}
.it{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center}
.it .ic{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--field);border:1px solid var(--line)}
.it .ic svg{width:19px;height:19px}
.it>div{min-width:0}
.it strong{display:block;font-weight:600}
.note{font-size:16px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.avs{display:flex;align-items:center;padding-left:8px}
.av{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;color:#fff;margin-left:-8px;box-shadow:0 0 0 2px var(--base);flex:none}
.counts{display:flex;gap:16px;flex-wrap:wrap;font-size:14px;font-variant-numeric:tabular-nums}
.counts span{display:inline-flex;align-items:center;gap:6px}
.counts i,.dotx{width:8px;height:8px;border-radius:50%;display:inline-block}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.stat{background:var(--field);border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:2px}
.stat b{font-size:28px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1}
.stat span{font-size:13px;color:var(--ink-2);display:flex;align-items:center;gap:6px}
.glist{display:flex;flex-direction:column}
.gl{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}
.gl:first-child{border-top:0}
.gl .av{width:32px;height:32px;margin:0;font-size:12px;box-shadow:none}
.gl .nm{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pill{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;background:var(--field);border:1px solid var(--line)}
.pill i{width:7px;height:7px;border-radius:50%}
details summary{cursor:pointer;font-weight:600;font-size:14px;list-style:none}
details summary::-webkit-details-marker{display:none}
details summary::after{content:" +";color:var(--ink-2)}
details[open] summary::after{content:" –"}
.cm{display:flex;flex-direction:column;gap:12px}
.cmi{display:grid;grid-template-columns:32px 1fr;gap:10px}
.cmi .av{width:32px;height:32px;margin:0;font-size:12px;box-shadow:none}
.cmi p{font-size:15px;overflow-wrap:anywhere;white-space:pre-wrap}
.who{font-size:13px;font-weight:600;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.cmform{display:flex;flex-direction:column;gap:8px}
.cmform textarea{min-height:52px}
.album{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.album figure{margin:0;position:relative}
.album img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;display:block;background:var(--field)}
.album .x{position:absolute;right:4px;bottom:4px;background:rgba(0,0,0,.55);color:#fff;border-radius:8px;text-decoration:none;padding:3px 7px;font-size:12px}
.spleis{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.amt{font-size:30px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1}
.keybox{border:1px dashed var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--field)}

/* deling */
.bubble{align-self:flex-start;max-width:92%;background:var(--field);border:1px solid var(--line);border-radius:20px 20px 20px 6px;padding:12px 14px;font-size:15px;line-height:1.45;overflow-wrap:anywhere}
.linkrow{display:flex;gap:8px;align-items:center}
.linkrow input{flex:1;min-width:0;font-size:15px;background:var(--field);border:1px solid var(--line);border-radius:12px;padding:11px 12px;color:var(--ink)}
.done-title{margin:0;font-family:var(--f-ui);font-weight:700;letter-spacing:-.035em;font-size:34px;line-height:1;text-wrap:balance}

/* ark og beskjed */
.sheet-bg{position:fixed;inset:0;z-index:20;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center;animation:fade .2s ease}
.sheet{width:100%;max-width:480px;max-height:92vh;overflow:auto;background:var(--base);color:var(--ink);border-radius:26px 26px 0 0;border:1px solid var(--line);border-bottom:0;padding:22px max(18px,env(safe-area-inset-right,0px)) calc(22px + env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:16px;animation:up .28s cubic-bezier(.2,.8,.2,1);background-image:radial-gradient(circle at 15% 0%,color-mix(in srgb,var(--c1) 35%,transparent),transparent 55%)}
.sheet h3{margin:0;font-size:20px;font-weight:600}
.sheet>*{flex-shrink:0}
@keyframes up{from{transform:translateY(40px);opacity:0}}
@keyframes fade{from{opacity:0}}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:30;background:var(--btn);color:var(--btn-ink);padding:12px 18px;border-radius:999px;font-weight:600;font-size:14px;box-shadow:0 12px 30px rgba(0,0,0,.35);max-width:calc(100% - 32px);text-align:center;animation:up .25s ease}
.view{display:flex;flex-direction:column;gap:18px;animation:fade .3s ease}
.foot{text-align:center;font-size:13px;color:var(--ink-2);display:flex;flex-direction:column;gap:8px;align-items:center;padding-top:8px}
.loading{min-height:60vh;display:grid;place-items:center;color:var(--ink-2)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* rapportering */
.choice{display:flex;gap:10px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--field);cursor:pointer;font-weight:500}
.choice input{width:18px;height:18px;accent-color:var(--btn);margin:0}
.album .x[data-rp]{opacity:.85}
.foot .link{color:var(--ink-2)}

/* Personvern og vilkår */
.legal{gap:14px;padding-bottom:40px}
.legal h1{margin:12px 0 0;font-family:var(--f-ui);font-weight:700;font-size:clamp(36px,10vw,48px);line-height:1;letter-spacing:-.015em}
.legal h2{margin:14px 0 0;font-size:18px;font-weight:600}
.legal p,.legal ul{margin:0;color:var(--ink-2);line-height:1.55}
.legal .lead{font-size:17px;color:var(--ink)}
.legal ul{padding-left:20px;display:flex;flex-direction:column;gap:8px}
.legal b{color:var(--ink);font-weight:600}
.legal code{font-size:.92em}

/* Statistikk */
.wk{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.wk th{text-align:right;font-weight:500;color:var(--ink-2);font-size:12px;padding:0 0 6px}
.wk td{text-align:right;padding:6px 0;border-top:1px solid var(--line)}
.wk th:first-child,.wk td:first-child{text-align:left}
.stpage{display:flex;flex-direction:column;gap:14px}
.stats.key .stat b{font-size:22px;white-space:nowrap}

/* Hvem tar med hva, sangønsker */
.gl.it-row{grid-template-columns:1fr auto}
.gl.it-row .nm{white-space:normal}
.itm{display:flex;align-items:center;gap:6px}
.gl.wish{grid-template-columns:32px 1fr auto}
.wt{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}
.wt a{font-weight:600}
.card h3{margin:4px 0 0}
.btn svg{width:18px;height:18px;margin-right:8px;vertical-align:-3px}

/* Hva skjer */
.areas .chip{cursor:pointer;font:inherit;font-size:13px;font-weight:600;padding:7px 12px}
.areas .chip[aria-pressed="true"]{background:var(--btn);color:var(--btn-ink);border-color:var(--btn)}
#wf{display:flex;flex-direction:row;gap:8px;align-items:center;width:100%}
#wf input{flex:1;min-width:0;font-size:15px;background:var(--field);border:1px solid var(--line);border-radius:12px;padding:11px 12px;color:var(--ink);margin:0}
#wf .btn{flex:0 0 auto}

/* Fanelinje */
body.has-tabs .app{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:15;display:flex;justify-content:center;gap:4px;padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));background:rgba(10,18,34,.82);-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);border-top:1px solid rgba(255,255,255,.1)}
.tabbar a{position:relative;flex:1;max-width:120px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;border-radius:12px;text-decoration:none;color:rgba(242,246,251,.6);font-size:11.5px;font-weight:600}
.tabbar a[aria-current]{color:#f2f6fb}
.tabbar svg{width:23px;height:23px}
.badge{min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#ff5a5f;color:#fff;font-size:11px;font-weight:700;display:inline-grid;place-items:center;font-style:normal}
.tabbar .badge{position:absolute;top:0;left:calc(50% + 6px)}
/* Grupper og chat */
.evrow.grow{grid-template-columns:44px 1fr auto;align-items:center}
.evrow.grow .av{width:44px;height:44px;margin:0;font-size:15px}
.evrow.grow .meta .small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat{padding-bottom:84px}
.gname{background:none;border:0;color:var(--ink);font:inherit;font-weight:600;font-size:17px;display:flex;flex-direction:column;align-items:center;cursor:pointer;min-width:0}
.gname span{font-weight:400;font-size:12px}
.msgs{display:flex;flex-direction:column;gap:10px;min-height:50vh}
.msg{display:grid;grid-template-columns:30px 1fr;gap:8px;align-items:end;max-width:86%;cursor:pointer}
.msg .av{width:30px;height:30px;margin:0;font-size:11px;box-shadow:none}
.msg.mine{grid-template-columns:1fr;align-self:flex-end}
.mb{background:var(--glass);border:1px solid var(--line);border-radius:18px 18px 18px 6px;padding:8px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.msg.mine .mb{background:var(--btn);color:var(--btn-ink);border-color:var(--btn);border-radius:18px 18px 6px 18px}
.mb p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15.5px}
.mn{font-size:12px;font-weight:600;color:var(--ink-2)}
.mt{font-size:11px;opacity:.6;align-self:flex-end}
.composer{position:fixed;left:0;right:0;bottom:0;z-index:15;display:flex !important;flex-direction:row !important;gap:8px;align-items:flex-end;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(10,18,34,.88);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.1)}
.composer textarea{flex:1;max-width:560px;margin:0 auto;resize:none;font-size:16px;background:var(--field);border:1px solid var(--line);border-radius:20px;padding:10px 14px;color:var(--ink);min-height:42px}
.empty-chat{text-align:center;padding:40px 0}
/* Les */
.card.news{text-decoration:none;gap:6px}
.card.news strong{font-size:17px;line-height:1.3}
.card.news .muted{font-size:14.5px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

.upd{display:flex;flex-direction:column;gap:2px;padding:10px 0;border-top:1px solid var(--line)}
.upd:first-of-type{border-top:0;padding-top:0}
.upd p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.lst{border-top:1px solid var(--line);padding:8px 0}
.lst summary{cursor:pointer;padding:4px 0}
.lstb{display:flex;flex-direction:column;gap:8px;padding-top:8px}

/* Varselkort */
.nudge p{margin:0}
/* Les med bilder */
.card.news.has-img{padding-top:0;overflow:hidden}
.card.news img{display:block;width:calc(100% + 36px);margin:0 -18px 6px;aspect-ratio:16/9;object-fit:cover;background:var(--field)}
/* Øyeblikk */
.moments{display:flex;gap:14px;overflow-x:auto;padding:4px 2px 2px;scrollbar-width:none;align-items:flex-start}
.moments::-webkit-scrollbar{display:none}
.mo{flex:0 0 auto;background:none;border:0;color:var(--ink);font:inherit;font-size:12px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;width:72px}
.mo span:last-child{max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mo .ring{width:66px;height:66px;border-radius:50%;padding:3px;background:var(--line);display:grid;place-items:center}
.mo .ring.new{background:linear-gradient(135deg,#ffb84d,#ff5a7a,#7a5cff)}
.mo .ring img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2px solid var(--base)}
.mo.add .ring{background:var(--glass);border:1px dashed var(--line)}
.mo .plus{font-size:28px;line-height:1}
.mo-help{align-self:center;margin:0;max-width:200px}
.mo-prev{width:100%;max-height:40vh;object-fit:contain;border-radius:14px;background:#000}
.mo-view{position:fixed;inset:0;z-index:60;background:#000;display:flex;align-items:center;justify-content:center;color:#fff}
.mo-view img{max-width:100%;max-height:100%;object-fit:contain}
.mo-bars{position:absolute;top:calc(10px + env(safe-area-inset-top,0px));left:10px;right:10px;display:flex;gap:4px;z-index:3}
.mo-bars i{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.35)}
.mo-bars i.done{background:#fff}
.mo-bars i.now{background:linear-gradient(90deg,#fff 50%,rgba(255,255,255,.35) 50%);background-size:200% 100%;background-position:100% 0;animation:mo-fill 6s linear forwards}
@keyframes mo-fill{to{background-position:0 0}}
.mo-head{position:absolute;top:calc(22px + env(safe-area-inset-top,0px));left:12px;right:12px;display:flex;align-items:center;gap:10px;z-index:3;font-size:14px}
.mo-head .av{width:32px;height:32px;margin:0;font-size:12px}
.mo-head span{opacity:.7}
.mo-x{margin-left:auto;background:none;border:0;color:#fff;font-size:34px;line-height:1;cursor:pointer;padding:0 6px}
.mo-cap{position:absolute;bottom:calc(60px + env(safe-area-inset-bottom,0px));left:16px;right:16px;text-align:center;font-size:17px;text-shadow:0 1px 6px rgba(0,0,0,.8);z-index:3}
.mo-del{position:absolute;bottom:calc(18px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);background:rgba(255,255,255,.15);color:#fff;border:0;border-radius:999px;padding:8px 18px;font:inherit;z-index:3;cursor:pointer}
.mo-prev-z,.mo-next-z{position:absolute;top:80px;bottom:80px;width:35%;background:none;border:0;z-index:2;cursor:pointer}
.mo-prev-z{left:0}.mo-next-z{right:0}
/* Lasteanimasjon: båndet tegnes, og tre hoder dukker opp én etter én */
.loading{grid-template-rows:auto auto;align-content:center;gap:14px}
.loading::before{content:"";width:110px;height:52px;background:linear-gradient(90deg,#ffb347,#ff6b5b,#e84393,#ff6b5b,#ffb347) 0 0/200% 100%;-webkit-mask:url(/logo.svg) center/contain no-repeat;mask:url(/logo.svg) center/contain no-repeat;animation:vflow 1.6s linear infinite,vpulse 1.6s ease-in-out infinite}
.loader-inline{display:inline-block;width:64px;height:30px;vertical-align:middle;background:linear-gradient(90deg,#ffb347,#ff6b5b,#e84393,#ff6b5b,#ffb347) 0 0/200% 100%;-webkit-mask:url(/logo.svg) center/contain no-repeat;mask:url(/logo.svg) center/contain no-repeat;animation:vflow 1.6s linear infinite}

/* Ordmerket: båndet + navnet */
/* Merket og navnet står på samme bunnlinje: bunnen av V-ene flukter med bunnen av bokstavene */
.word{font-family:var(--f-ui);font-weight:700;font-size:21px!important;letter-spacing:-.04em;display:inline-flex;align-items:baseline;gap:8px;color:var(--ink);line-height:1;text-decoration:none}
.word img{height:20px;width:auto;display:block}
/* Ringen rundt øyeblikk: alltid en perfekt sirkel, uansett bildets form */
.mo .ring{display:block;box-sizing:border-box;width:66px;height:66px;min-height:66px;flex:0 0 66px;overflow:hidden}
.mo .ring img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.mo .ring .plus{display:grid;place-items:center;height:100%}

/* Hvorfor Vennr */
.om{gap:22px;padding-bottom:40px}
.om-hero{display:flex;flex-direction:column;gap:14px;padding-top:10px}
.om-mark{width:120px;height:auto}
.om-hero h1{margin:0;font-weight:700;font-size:clamp(38px,10.5vw,52px);line-height:1;letter-spacing:-.04em}
.om-hero p{margin:0;font-size:17.5px;line-height:1.5;color:var(--ink-2)}
.om-list{display:flex;flex-direction:column;gap:6px}
.om-pt{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:14px 0;border-top:1px solid var(--line)}
.om-pt:first-child{border-top:0}
.om-ic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(255,179,71,.18),rgba(232,67,147,.18));border:1px solid var(--line);color:#ff8a6b}
.om-ic svg{width:22px;height:22px}
.om-pt h2{margin:0 0 4px;font-size:18px;font-weight:700;letter-spacing:-.02em}
.om-pt p{margin:0;color:var(--ink-2);line-height:1.5}
.om-cmp table{width:100%;border-collapse:collapse;font-size:14px}
.om-cmp th{text-align:left;font-weight:600;color:var(--ink-2);font-size:12.5px;padding:0 6px 8px 0;vertical-align:bottom}
.om-cmp th:last-child{color:#ff8a6b}
.om-cmp td{padding:10px 6px 10px 0;border-top:1px solid var(--line);vertical-align:top;line-height:1.35}
.om-cmp td:first-child{font-weight:600;width:28%}
.om-cmp td:last-child{color:var(--ink)}
.om-cmp td:nth-child(2){color:var(--ink-2)}
.om-end{display:flex;flex-direction:column;gap:10px;text-align:center;padding-top:6px}
.om-end h2{margin:0;font-size:26px;font-weight:700;letter-spacing:-.03em}
.om-end p{margin:0;color:var(--ink-2)}

/* Øyeblikk: likerklikk og kommentarer */
.mo-foot{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:40px 14px calc(12px + env(safe-area-inset-bottom,0px));background:linear-gradient(transparent,rgba(0,0,0,.75));display:flex;flex-direction:column;gap:8px}
.mo-foot .mo-cap{position:static;text-align:left;margin:0}
.mo-cms{display:flex;flex-direction:column;gap:4px;max-height:30vh;overflow:auto}
.mo-cms p{margin:0;font-size:14.5px;text-shadow:0 1px 4px rgba(0,0,0,.8)}
.mo-likes{margin:0;font-size:14px;opacity:.9}
.mo-bar{display:flex;flex-direction:row;gap:8px;align-items:center;margin:0}
.mo-in{flex:1;min-width:0;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:10px 14px;color:#fff;font:inherit;font-size:16px}
.mo-in::placeholder{color:rgba(255,255,255,.65)}
.mo-send,.mo-del-s,.mo-keep,.mo-cdel{background:none;border:0;color:#fff;font:inherit;font-weight:600;cursor:pointer;padding:6px}
.mo-cdel{font-size:12px;opacity:.7;font-weight:400}
.mo-del-s{margin-left:auto;font-weight:500;opacity:.85}
.mo-del-s+.mo-x{margin-left:0}
.mo-like{background:none;border:0;color:#fff;font-size:30px;line-height:1;cursor:pointer;padding:0 4px;width:40px}
.mo-like.on{color:#ff5a7a}
.mo-bars i.now.paused{animation-play-state:paused}
.mo-prev-z,.mo-next-z{bottom:170px}
/* Forsiden som oversikt */
.dash{gap:16px}
.why{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;text-decoration:none;border-color:rgba(255,138,107,.45);background:linear-gradient(135deg,rgba(255,179,71,.14),rgba(232,67,147,.14))}
.why img{width:64px;height:auto}
.why-t{display:flex;flex-direction:column;gap:3px}
.why-t strong{font-size:18px;letter-spacing:-.02em}
.why-t span{font-size:14px;color:var(--ink-2);line-height:1.4}
.why-go{font-size:30px;color:var(--ink-2)}
.dsec{display:flex;flex-direction:column;gap:10px}
.dhead{display:flex;justify-content:space-between;align-items:baseline}
.dhead h2{margin:0;font-size:19px;font-weight:700;letter-spacing:-.02em}
.dsec .loader-inline{margin:8px auto}
.glist.pick .gl{background:none;border:0;border-top:1px solid var(--line);color:var(--ink);font:inherit;text-align:left;cursor:pointer;width:100%}
.glist.pick .gl:first-child{border-top:0}
.glist.pick input{width:22px;height:22px}
.tabbar a span{font-size:10.5px}

/* Profilbilder */
.av.has-img{padding:0;overflow:hidden;background:var(--field)}
.av.has-img img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.me-tag{display:inline-flex;align-items:center;gap:7px;padding:3px 10px 3px 3px}
.me-tag .av{width:24px;height:24px;margin:0;font-size:10px;box-shadow:none}
.prof{display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center}
.prof>.av{width:72px;height:72px;margin:0;font-size:24px}
/* Reaksjoner på øyeblikk */
.mo-tray{display:flex;gap:6px;justify-content:center;background:rgba(20,20,28,.85);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:6px 10px;align-self:flex-start;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.mo-tray button{background:none;border:0;font-size:28px;line-height:1;cursor:pointer;padding:4px;border-radius:50%;transition:transform .15s}
.mo-tray button:hover,.mo-tray button[aria-pressed="true"]{transform:scale(1.25)}
.mo-like{font-size:26px}
.mo-like.on{color:inherit}
.mo-bub{position:absolute;bottom:150px;z-index:5;display:flex;align-items:center;gap:4px;animation:mo-up 3.1s ease-out forwards;pointer-events:none}
.mo-bub .e{font-size:34px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}
.mo-bub .av{width:26px;height:26px;margin:0;font-size:10px;border:2px solid #fff}
@keyframes mo-up{0%{transform:translateY(0) scale(.6);opacity:0}12%{opacity:1;transform:translateY(-30px) scale(1.1)}100%{transform:translateY(-55vh) scale(1);opacity:0}}

/* Passnøkler (B52) */
.or { display: flex; align-items: center; gap: 10px; margin: 4px 0; color: var(--ink-2); font-size: 13px; }
.or::before, .or::after { content: ""; flex: 1; height: 1px; background: currentColor; opacity: .3; }
.pkoffer .row { margin-top: 4px; }

/* Bilder og video i chat (B53) */
.msg.has-media .mb{padding:4px 4px 6px;gap:4px}
.msg.has-media .mb .mn,.msg.has-media .mb p{padding:0 8px}
.msg.has-media .mt{padding:0 8px}
.cmedia{display:block;width:min(70vw,320px);max-height:60vh;object-fit:cover;border-radius:14px;background:rgba(0,0,0,.25)}
video.cmedia{object-fit:contain;background:#000}
.mopt{background:none;border:0;color:inherit;font:inherit;font-weight:700;letter-spacing:1px;padding:0 2px;cursor:pointer;opacity:.9}
.clipbtn{flex:none;width:42px;height:42px;cursor:pointer}
.clipbtn svg{width:22px;height:22px}
.attach{position:absolute;left:12px;right:12px;bottom:100%;margin-bottom:8px;display:flex;align-items:center;gap:10px;padding:8px;border-radius:16px;background:rgba(10,18,34,.92);border:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.attach[hidden]{display:none}
.attach img,.attach video{width:52px;height:52px;object-fit:cover;border-radius:10px;background:#000}
.attach .small{flex:1}
.attach .x{background:none;border:0;color:var(--ink);font-size:24px;line-height:1;padding:4px 8px;cursor:pointer}
.msg.sending .mb{min-width:180px;gap:6px}
.bar{display:block;height:4px;border-radius:2px;background:rgba(10,18,34,.2);overflow:hidden}
.bar i{display:block;height:100%;width:0;background:currentColor;transition:width .2s}
.msg.failed .mb{background:var(--glass);color:var(--err);border-color:var(--err)}
.lightbox{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;padding:env(safe-area-inset-top,0) 0 env(safe-area-inset-bottom,0)}
.lightbox img{max-width:100%;max-height:100%;object-fit:contain}
.lb-x{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));right:12px;font-size:26px}

/* Lasteanimasjonen vises bare når noe faktisk tar tid (over 0,5 s). Raske sider blir ikke blinkende. */
@keyframes loader-in{to{opacity:1}}
.loader-inline,.loading,.card:has(> .loader-inline:only-child){opacity:0;animation:loader-in .25s ease .5s forwards}

/* Planlegg sammen (B58) */
.dopts{display:grid;gap:8px}
.drow{display:grid;grid-template-columns:1fr 110px 32px;gap:8px;align-items:center}
.drow input{min-width:0;font:inherit;font-size:16px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px}
.sheet .drow{grid-template-columns:1fr 110px}
.dhead .pa,.popt .pa{display:flex;gap:6px}
.poll .popts{display:flex;flex-direction:column}
.popt{display:grid;grid-template-columns:1fr auto;grid-template-areas:"l c" "b b" "a a";gap:6px 10px;padding:12px 0;border-top:1px solid var(--line);align-items:center}
.popt:first-child{border-top:0}
.popt .pl{grid-area:l;display:flex;flex-direction:column;gap:2px;min-width:0}
.popt .pl strong{font-size:16px}
.popt .pc{grid-area:c;font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;min-width:32px;text-align:right}
.popt .pc small{font-size:12px;font-weight:600;opacity:.6;margin-left:2px}
.popt .vbtns{grid-area:b;display:flex;gap:8px}
.popt .pa{grid-area:a}
.vb{flex:1;border:1px solid var(--line);background:var(--glass);color:var(--ink);border-radius:999px;padding:9px 12px;font:inherit;font-weight:600;font-size:14px;cursor:pointer}
.vb[aria-pressed="true"]{background:var(--btn);color:var(--btn-ink);border-color:var(--btn)}
.vb[data-v="kanskje"][aria-pressed="true"]{background:var(--maybe);border-color:var(--maybe);color:#2a2000}
.popt.lead .pc{color:var(--ok)}
.popt.chosen .pl strong{color:var(--ok)}
.padd{display:flex !important;flex-direction:row !important;flex-wrap:wrap;gap:8px;margin-top:6px}
.padd input{flex:1 1 140px;min-width:0;font:inherit;font-size:16px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 12px}
.seg.wide{display:flex}.seg.wide button{flex:1}

/* Designrunden (B61): ryddigere topp, roligere lenker, finere øyeblikk */
.topr{display:flex;align-items:center;gap:10px}
.plusbtn{width:40px;height:40px}
.plusbtn svg{width:20px;height:20px}
.me-av{display:block;border-radius:50%;text-decoration:none}
.me-av .av{width:40px;height:40px;margin:0;font-size:14px;box-shadow:0 0 0 1px var(--line)}
.hello{display:flex;flex-direction:column;gap:6px}
.hello p{margin:0;text-transform:none;letter-spacing:.01em}
.dhead .more{font-size:14px;font-weight:600;color:var(--ink-2);text-decoration:none}
.dhead .more::after{content:" ›"}
.acts{display:flex;flex-direction:column}
.act{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:center;padding:12px 4px;border:0;border-top:1px solid var(--line);background:none;color:var(--ink);font:inherit;text-align:left;text-decoration:none;cursor:pointer;width:100%}
.act:first-child{border-top:0}
.act>span:last-child{display:flex;flex-direction:column;gap:2px}
.act b{font-size:16px}
.ai{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--glass);border:1px solid var(--line)}
.ai svg{width:20px;height:20px}
.empty-cta{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:center;text-decoration:none;color:var(--ink)}
.empty-cta>span:last-child{display:flex;flex-direction:column;gap:2px}
.whyline{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px 10px 14px;border-radius:16px;border:1px solid rgba(255,138,107,.35);background:linear-gradient(135deg,rgba(255,179,71,.10),rgba(232,67,147,.10))}
.whyline a{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:600;font-size:14.5px}
.whyline img{width:34px;height:auto}
.whyline .x{background:none;border:0;color:var(--ink-2);font-size:22px;line-height:1;cursor:pointer;padding:2px 6px}
.pillink{font-size:13px;font-weight:600;color:var(--ink);text-decoration:none;padding:6px 12px;border-radius:999px;background:var(--glass);border:1px solid var(--line);white-space:nowrap}
.card.info .note{margin:2px 0 0;padding-top:12px;border-top:1px solid var(--line)}
/* Øyeblikk: hele bildet, med uskarp bakgrunn i stedet for svarte felt */
.mo-view .mo-bd{position:absolute;inset:-40px;width:calc(100% + 80px);height:calc(100% + 80px);max-width:none;max-height:none;object-fit:cover;filter:blur(36px) saturate(1.3) brightness(.7);z-index:0}
.mo-view .mo-img{position:relative;z-index:1;max-width:100%;max-height:100%;object-fit:contain;border-radius:0}
.mo-view .mo-img.fill{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}
/* Rolig «Ken Burns»-zoom mens øyeblikket vises, så stillbilder føles levende */
@keyframes mo-drift{from{transform:scale(1)}to{transform:scale(1.06)}}
.mo-view .mo-img{animation:mo-drift 6.5s ease-out forwards}
@media (prefers-reduced-motion:reduce){.mo-view .mo-img{animation:none}}
.quiet{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:8px 0}
.quiet p{margin:0;max-width:320px}
.link.danger{color:var(--err)}
/* Bare første visning tones inn; nye tegninger av samme side står stille (ingen blinking) */
body.settled .view{animation:none}

/* Annonser (B63): tydelig merket, rolig og i samme stil som resten */
.adslot[hidden]{display:none}
.adcard{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;text-decoration:none;color:var(--ink)}
.adcard img{width:72px;height:72px;border-radius:14px;object-fit:cover}
.adcard:not(:has(img)){grid-template-columns:1fr}
.adt{display:flex;flex-direction:column;gap:3px;min-width:0}
.adl{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.adprev .adcard{border:0;padding:0;background:none}
.refbar{display:flex;gap:12px;align-items:center}
.refbar .dots{display:flex;gap:5px;flex:none}
.refbar .dots i{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--ink-2)}
.refbar .dots i.on{background:var(--ok);border-color:var(--ok)}
.adcard.gad{display:flex;flex-direction:column;gap:8px}
.adcard.gad ins{min-height:90px}
/* Ett valg for alle typer arrangement (B69) */
.kinds{gap:12px}
.kind{display:flex;flex-direction:column;gap:6px}
.kind .seg button{font-size:13.5px;padding:9px 10px}
/* Øyeblikk: forhåndsvisning med venting (B70) */
.mo-prevw{position:relative;min-height:120px;display:grid;place-items:center;border-radius:14px;background:#000}
.mo-prevw .loader-inline{position:absolute}
.mo-prevw img.mo-prev:not([src]){visibility:hidden}
/* Filtre (B71): fem små forhåndsvisninger, styrke ved behov */
.mo-prevw canvas.mo-prev{width:100%;height:auto;max-height:40vh;object-fit:contain;border-radius:14px;display:block}
.mo-prevw canvas[hidden]{display:none}
.filters{display:flex;gap:6px;justify-content:space-between;overflow-x:auto;padding:2px 2px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.filters::-webkit-scrollbar{display:none}
.flt{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:0;color:var(--ink-2);font:inherit;font-size:11.5px;font-weight:600;cursor:pointer;padding:0;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.flt .th{width:54px;height:54px;border-radius:14px;overflow:hidden;background:var(--glass);border:2px solid transparent;display:block}
.flt .th canvas{width:100%;height:100%;object-fit:cover;display:block}
.flt[aria-checked="true"]{color:var(--ink)}
.flt[aria-checked="true"] .th{border-color:var(--ink)}
.fstr{display:flex;align-items:center;gap:12px}
.fstr[hidden]{display:none}
.fstr input[type=range]{flex:1;accent-color:var(--ink)}
.fstr span{min-width:44px;text-align:right}
/* B72: øyeblikk fyller alltid skjermen */
.mo-view .mo-img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}
/* Eget kamera i fullskjerm (B73) */
.cam{position:fixed;inset:0;z-index:70;background:#000;color:#fff}
.cam video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cam video.mirror{transform:scaleX(-1)}
.cam.flash::after{content:"";position:absolute;inset:0;background:#fff;animation:camflash .25s ease-out forwards}
@keyframes camflash{from{opacity:.85}to{opacity:0}}
.cam-x{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));right:14px;background:rgba(0,0,0,.35);border:0;color:#fff;font-size:30px;line-height:1;width:44px;height:44px;border-radius:50%;cursor:pointer;z-index:2}
.cam-msg{position:absolute;left:24px;right:24px;top:40%;text-align:center;font-size:15px;z-index:2}
.cam-bar{position:absolute;left:0;right:0;bottom:0;padding:18px 28px calc(26px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;justify-content:space-between;z-index:2;background:linear-gradient(transparent,rgba(0,0,0,.45))}
.cam-gal,.cam-flip{width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.18);color:#fff;display:grid;place-items:center;cursor:pointer}
.cam-gal svg,.cam-flip svg{width:24px;height:24px}
.cam-shot{width:78px;height:78px;border-radius:50%;border:4px solid #fff;background:none;padding:5px;cursor:pointer}
.cam-shot i{display:block;width:100%;height:100%;border-radius:50%;background:#fff;transition:transform .1s}
.cam-shot:active i{transform:scale(.88)}
.cam-shot:disabled{opacity:.4}
/* B74: søkeren vises først når den er klar, og fullskjerm kan sveipes ned */
.cam video{opacity:0;transition:opacity .2s ease}
.cam video.on{opacity:1}
.cam,.mo-view{will-change:transform;overflow:hidden}
/* Siter-svar i chat (B76) */
.quote{display:flex;flex-direction:column;gap:1px;text-align:left;border:0;border-left:3px solid currentColor;background:rgba(127,127,127,.16);color:inherit;font:inherit;padding:5px 9px;border-radius:8px;cursor:pointer;margin:2px 0;max-width:100%}
.quote b{font-size:12px}
.quote span{font-size:13px;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}
.msg.has-media .quote{margin:4px 8px 0}
.replybar{position:absolute;left:12px;right:12px;bottom:100%;margin-bottom:8px;display:flex;align-items:center;gap:10px;padding:8px 8px 8px 12px;border-radius:14px;background:rgba(10,18,34,.92);border:1px solid var(--line);border-left:3px solid var(--ink);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.replybar[hidden]{display:none}
.replybar .rq{flex:1;display:flex;flex-direction:column;min-width:0;font-size:13px}
.replybar .rq span{color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.replybar .x{background:none;border:0;color:var(--ink);font-size:22px;cursor:pointer;padding:2px 8px}
.msg.flash .mb{animation:msgflash 2s ease}
@keyframes msgflash{0%,30%{box-shadow:0 0 0 3px var(--maybe)}100%{box-shadow:0 0 0 0 transparent}}

/* Feed og innlegg (B75): rolig, bildebasert, samme kort for alt */
button.more{background:none;border:0;cursor:pointer;font:inherit;padding:0}
.feedf{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.feedf::-webkit-scrollbar{display:none}
.feedf .chip{flex:none}
.feed{display:flex;flex-direction:column;gap:18px}
.fitem{display:flex;flex-direction:column;gap:10px;border-radius:var(--r-lg);background:var(--glass);border:1px solid var(--line);padding:12px;overflow:hidden}
.fhead{display:flex;align-items:center;gap:10px;min-width:0}
.fhead .av{width:34px;height:34px;margin:0;font-size:12px;box-shadow:none}
.fhead>span{flex:1;min-width:0;line-height:1.25}
.fname{color:var(--ink);font-weight:700;text-decoration:none}
.fstar{margin-left:auto;align-self:flex-start;color:var(--muted);font-size:22px;line-height:1;background:none;border:0;padding:4px 2px 8px 10px;cursor:pointer;transition:transform .2s,color .2s}
.fstar.on{color:var(--maybe)}
button.fstar:active{transform:scale(1.25)}
span.fstar{cursor:default}
.fimg{display:block;position:relative;border-radius:16px;overflow:hidden;aspect-ratio:4/5;background:rgba(0,0,0,.25)}
.fimg img{width:100%;height:100%;object-fit:cover;display:block}
.fcar{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -12px;padding:0 12px}
.fcar::-webkit-scrollbar{display:none}
.fcar .fimg{flex:0 0 88%;scroll-snap-align:center}
.fcount{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.55);color:#fff;font-size:12px;font-weight:600;padding:3px 8px;border-radius:999px}
.flink{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:rgba(0,0,0,.2);text-decoration:none;color:var(--ink)}
.flink img,.flink-ph{width:100%;aspect-ratio:1.91/1;object-fit:cover;display:block}
.flink-ph{display:grid;place-items:center;background:var(--glass)}
.flink-ph svg{width:40px;height:40px;opacity:.5}
.fl-t{display:flex;flex-direction:column;gap:2px;padding:10px 12px 12px}
.fl-t strong{font-size:16px;line-height:1.3}
.tlink{text-decoration:none;color:inherit}
.tcard{aspect-ratio:4/5;display:grid;place-items:center;padding:28px;border-radius:16px}
.tcard .tc-t{position:relative;z-index:1;margin:0;text-align:center;font-size:26px;line-height:1.25;color:#fff;text-wrap:balance;white-space:pre-wrap;overflow-wrap:anywhere}
.tcard .tc-t.long{font-size:19px}
.tcard[data-font="elegant"] .tc-t{font-family:var(--f-elegant)}
.tcard[data-font="moderne"] .tc-t{font-family:var(--f-moderne);font-size:21px}
.tcard[data-font="leken"] .tc-t{font-family:var(--f-leken)}
.ftext{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15.5px}
.fact{display:flex;gap:8px;align-items:center}
.fbtn{display:inline-flex;align-items:center;gap:6px;background:none;border:0;color:var(--ink-2);font:inherit;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;padding:6px 8px;border-radius:999px}
.fbtn svg{width:20px;height:20px}
.fbtn .emo{font-size:20px;line-height:1}
.freact.on{color:var(--ink)}
.uptodate{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:14px 0}
.uptodate>span:first-child{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--ok);color:#06311d;font-weight:800}
.older{display:flex;flex-direction:column;gap:18px}
.older[hidden]{display:none}
.rtray{display:flex;justify-content:space-between;gap:6px}
.rtray button{font-size:30px;background:none;border:0;cursor:pointer;padding:6px}
.post .pimgs{display:flex;flex-direction:column;gap:8px}
.post .pimgs img{width:100%;border-radius:16px;display:block}
/* Profil (B125): toppbilde som toner ut, ansiktet over kanten, rolig typografi */
.pview>*:not(.phero){position:relative;z-index:1}
.pview>.top{z-index:3}
.phero{position:absolute;top:calc(-14px - env(safe-area-inset-top,0px));left:50%;width:min(100vw,720px);transform:translateX(-50%);height:calc(min(56vh,440px) + env(safe-area-inset-top,0px));overflow:hidden;z-index:0;pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,#000 45%,rgba(0,0,0,.55) 72%,transparent);mask-image:linear-gradient(180deg,#000 45%,rgba(0,0,0,.55) 72%,transparent)}
.phero img{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transform:scale(1.04);transition:opacity .7s ease,transform 1.2s cubic-bezier(.2,.7,.2,1)}
.phero img.in{opacity:1;transform:none}
.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,18,34,.35),transparent 30%,rgba(10,18,34,.25) 70%,var(--base))}
.phero.plain{background:radial-gradient(120% 80% at 30% 0%,var(--c1),transparent 60%),radial-gradient(90% 70% at 90% 10%,var(--c3),transparent 60%);opacity:.75}
.profhead{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.pview .profhead{margin-top:clamp(120px,26vh,240px)}
.pview .phero.plain~.profhead{margin-top:clamp(40px,10vh,90px)}
.profhead .av{width:88px;height:88px;font-size:28px}
.pview .profhead .av{width:108px;height:108px;font-size:34px;box-shadow:0 0 0 3px var(--base),0 12px 32px rgba(0,0,0,.45);margin-bottom:8px}
.pname{margin:0;font-weight:700;letter-spacing:-.035em;font-size:32px;line-height:1.05;text-wrap:balance}
.pbio{margin:2px 0 0;max-width:34ch;font:inherit;font-size:16px;line-height:1.4;color:var(--ink);background:none;border:0;padding:4px 8px;border-radius:10px;text-wrap:pretty}
button.pbio{cursor:text}
@media (hover:hover){button.pbio:hover{background:var(--glass)}}
.pbio.empty{color:var(--ink-2);font-style:italic}
.pbio-edit{width:min(100%,34ch);font:inherit;font-size:16px;line-height:1.4;text-align:center;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:14px;padding:8px 12px;resize:none}
.pbio-n{font-size:12px;color:var(--ink-2)}
.psince{margin:0;font-size:13px;color:var(--ink-2)}
.pacts{display:flex;gap:10px;margin-top:10px;align-items:center}
.pacts .btn svg{width:17px;height:17px;margin-right:6px;vertical-align:-3px}
.pstate{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--ink-2);padding:0 10px}
.pstate svg{width:16px;height:16px;color:var(--ok)}
.psec{margin:0 0 10px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);display:flex;justify-content:space-between;align-items:baseline}
.pcount{font-weight:500;letter-spacing:0;text-transform:none}
.pchips{display:flex;flex-wrap:wrap;gap:8px}
.pchip{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:999px;background:var(--glass);border:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:14px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.pchip svg{width:16px;height:16px;opacity:.8}
.pevents{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.pev{display:flex;align-items:center;gap:12px;padding:8px 12px 8px 8px;border-radius:16px;background:var(--glass);border:1px solid var(--line);color:var(--ink);text-decoration:none}
.pev-d{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.1);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);line-height:1.1}
.pev-d b{font-size:18px;color:var(--ink);letter-spacing:0}
.pev-t{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pempty{margin:0;padding:22px 16px;text-align:center;color:var(--ink-2);border:1px dashed var(--line);border-radius:var(--r-md)}
.pfoot{justify-content:center;gap:18px}
.pview .pgrid{gap:3px;border-radius:14px;overflow:hidden}
.pview .pg{border-radius:0}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.pg{aspect-ratio:1;overflow:hidden;border-radius:8px;display:block;background:var(--glass)}
.pg img{width:100%;height:100%;object-fit:cover;display:block}
.pg .tcard{aspect-ratio:1;padding:8px;border-radius:0}
.pg .tc-t{font-size:12px!important}
.np-photos{display:flex;gap:8px;flex-wrap:wrap}
.np-ph{position:relative;width:76px;height:76px;border-radius:12px;overflow:hidden}
.np-ph img{width:100%;height:100%;object-fit:cover}
.np-ph .x{position:absolute;top:2px;right:2px;background:rgba(0,0,0,.6);color:#fff;border:0;border-radius:50%;width:24px;height:24px;line-height:1;cursor:pointer}
.np-add{width:76px;height:76px;border-radius:12px;border:1px dashed var(--line);background:var(--glass);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font:inherit;font-size:12px;cursor:pointer}
.np-add svg{width:22px;height:22px}
#np-tprev .tcard{max-height:280px;aspect-ratio:auto;min-height:200px}
.pav{display:grid;place-items:center;background:var(--glass);border:1px solid var(--line)}
.pav svg{width:20px;height:20px}
/* Valgbare brikker (feedfilter, publikum) */
button.chip{cursor:pointer;font:inherit;font-size:13px;font-weight:600;padding:7px 12px}
button.chip[aria-pressed="true"]{background:var(--btn);color:var(--btn-ink);border-color:var(--btn)}
/* Øyeblikk i feeden (B77) */
button.fimg{border:0;padding:0;width:100%;cursor:pointer}
.mclock{position:absolute;top:10px;right:10px;display:flex;align-items:center;gap:4px;background:rgba(0,0,0,.5);color:#fff;padding:4px 8px 4px 6px;border-radius:999px;font-size:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.mclock svg{width:15px;height:15px}
.fhead a{text-decoration:none}
/* «Nytt og snart»: små kvadratiske kort i karusell (B80) */
.ecar{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -16px;padding:0 16px}
.ecar::-webkit-scrollbar{display:none}
.ecard{position:relative;flex:0 0 calc((100% - 10px) / 2);aspect-ratio:1;border-radius:20px;overflow:hidden;scroll-snap-align:start;text-decoration:none;color:#fff;background:#000;isolation:isolate}
.ecar.n1 .ecard{flex-basis:100%;aspect-ratio:2/1}
.ecar.n3 .ecard{flex-basis:42%}
.ecard img,.ecard .ec-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0;aspect-ratio:auto;margin:0;box-shadow:none}
.ecard::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.05) 55%,rgba(0,0,0,.35));z-index:1}
.ec-t{position:absolute;left:12px;right:12px;top:11px;z-index:2;display:flex;flex-direction:column;gap:2px}
.ec-t strong{font-size:15.5px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ec-t span{font-size:12px;opacity:.85}
.ec-tag{position:absolute;left:10px;bottom:10px;z-index:2;font-size:11.5px;font-weight:700;padding:4px 9px;border-radius:999px;background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ec-tag.new{background:var(--maybe);color:#2a2000}

/* Store arrangementskort (B83): plakaten som bilde, kort info under */
.list.ebigs{gap:16px}
.ebig{text-decoration:none;color:var(--ink);gap:12px}
.ebig .poster{box-shadow:none;border-radius:16px}
.ebig .poster .bl{animation:none}
.eb-info{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:0 4px 2px}
.eb-rel{font-size:15px;font-weight:700;margin-right:2px}
.eb-rel.now{color:var(--maybe)}
.chip.new{background:var(--maybe);color:#2a2000;border-color:transparent}
.endrow{margin-top:10px}
.erow{display:flex;align-items:center;gap:6px}
.erow input{flex:1;min-width:0}
.erow .x{text-decoration:none;font-size:20px;line-height:1;padding:4px 6px}

/* Gruppebilde av medlemmenes profilbilder (B85) */
.gav{position:relative;width:44px;height:44px;flex:none;display:block}
.gav .av,.evrow.grow .gav .av{position:absolute;margin:0;font-size:11px;box-shadow:0 0 0 2px var(--base)}
.gav.n2 .av{width:30px;height:30px}
.gav.n2 .av:nth-child(1){left:0;top:0}
.gav.n2 .av:nth-child(2){right:0;bottom:0}
.gav.n3 .av{width:26px;height:26px;font-size:10px}
.gav.n3 .av:nth-child(1){left:9px;top:0}
.gav.n3 .av:nth-child(2){left:0;bottom:0}
.gav.n3 .av:nth-child(3){right:0;bottom:0}
.p-title{-webkit-hyphens:auto;hyphens:auto}

/* Sveip mellom sidene (B92): nabosiden glir inn ved siden av den som følger fingeren */
.app.peer{position:fixed;inset:0;margin:0 auto;overflow:hidden;pointer-events:none;z-index:2}
.app.peer .view,.no-fade .view{animation:none}
body.has-tabs .app{will-change:auto}
.card.skel{min-height:180px;background:linear-gradient(100deg,var(--glass) 30%,rgba(255,255,255,.09) 50%,var(--glass) 70%);background-size:300% 100%;animation:skel 1.4s ease infinite}
.card.skel.short{min-height:90px}
@keyframes skel{from{background-position:100% 0}to{background-position:0 0}}
html,body{overflow-x:clip}

/* Store arrangementer (B91) */
.bigc{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:rgba(255,200,80,.1);border:1px solid rgba(255,200,80,.35)}
.bigc.full{background:rgba(255,200,80,.16)}

/* Bare første visning tones inn; senere bytter skal ikke blinke eller miste glasseffekten (B92) */
body.settled .view{animation:none}

/* Pilot bare for inviterte (B96) */
.pilotc h2{margin:0}
.pilotc .linkrow input{min-width:0}

/* Claudes vurdering i moderering (B97) */
.aibox{padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--glass)}
.aibox.brudd{border-color:rgba(255,120,120,.5);background:rgba(255,120,120,.1)}
.aibox.ok{border-color:rgba(120,220,160,.45);background:rgba(120,220,160,.08)}

/* God start (B98) */
.startc{gap:12px}
.sc-h{display:flex;align-items:flex-start;gap:8px}
.sc-h h2{margin:0;flex:1;font-size:19px;line-height:1.25}
.sc-h .x{text-decoration:none;font-size:22px;line-height:1;padding:0 4px}
.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ss{display:flex;align-items:center;gap:12px}
.ss .ck{flex:none;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font-size:14px;font-weight:700}
.ss.done .ck{background:var(--yes,#4fd18b);border-color:transparent;color:#05220f}
.ss .st{flex:1;display:flex;flex-direction:column;min-width:0}
.ss.done .st b{text-decoration:line-through;opacity:.6}
.startc .link{align-self:flex-start}
/* Tilbakemelding (B98) */
.fb-prev{max-width:100%;max-height:220px;border-radius:12px;object-fit:contain;align-self:flex-start;margin-top:6px}
.fbi{padding:10px 0;border-top:1px solid var(--line)}
.fbi:first-of-type{border-top:0}
.ss .row{flex:none;flex-wrap:nowrap;gap:6px}
.ss .btn{flex:none;width:auto;padding-inline:14px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- Temaer for de store dagene (B100): papirkort med ornamenter ---------- */
[data-tema="bryllup"]{--base:#f8f3ea;--paper:#f8f3ea;--c1:#fffaf2;--c2:#eadbc2;--c3:#f3e2e0;--accent:#b48b4c;--ink:#3b3027;--ink-2:rgba(59,48,39,.72);--fine-ink:#3b3027;--fine-ink2:rgba(59,48,39,.72);--glass:rgba(255,255,255,.6);--line:rgba(59,48,39,.14);--field:rgba(255,255,255,.8);--btn:#3b3027;--btn-ink:#f8f3ea;--err:#a8323e;color-scheme:light}
[data-tema="konfirmasjon"]{--base:#f1f4ee;--paper:#f3f6ef;--c1:#ffffff;--c2:#d7e2cc;--c3:#eef0dc;--accent:#7f9152;--ink:#22352a;--ink-2:rgba(34,53,42,.72);--fine-ink:#22352a;--fine-ink2:rgba(34,53,42,.72);--glass:rgba(255,255,255,.62);--line:rgba(34,53,42,.14);--field:rgba(255,255,255,.82);--btn:#22352a;--btn-ink:#f3f6ef;--err:#a8323e;color-scheme:light}
[data-tema="dap"]{--base:#eef4fb;--paper:#f2f7fc;--c1:#ffffff;--c2:#cfe0f2;--c3:#f4e9f1;--accent:#6f99c8;--ink:#1d3350;--ink-2:rgba(29,51,80,.7);--fine-ink:#1d3350;--fine-ink2:rgba(29,51,80,.7);--glass:rgba(255,255,255,.62);--line:rgba(29,51,80,.13);--field:rgba(255,255,255,.82);--btn:#1d3350;--btn-ink:#f2f7fc;--err:#a8323e;color-scheme:light}
[data-tema="bursdag"]{--base:#fff6ea;--paper:#fff7ec;--c1:#ffe0e8;--c2:#fff0c4;--c3:#d9f2ec;--accent:#e0567a;--ink:#2b1d3d;--ink-2:rgba(43,29,61,.72);--fine-ink:#2b1d3d;--fine-ink2:rgba(43,29,61,.72);--glass:rgba(255,255,255,.62);--line:rgba(43,29,61,.13);--field:rgba(255,255,255,.82);--btn:#2b1d3d;--btn-ink:#fff7ec;--err:#a8323e;color-scheme:light}
[data-tema="jubileum"]{--base:#0f1b33;--paper:#101c35;--c1:#1d3160;--c2:#3a2f5c;--c3:#5b4a1f;--accent:#d8b46a;--ink:#f6efe2;--ink-2:rgba(246,239,226,.76);--fine-ink:#f6efe2;--fine-ink2:rgba(246,239,226,.76);--glass:rgba(255,255,255,.09);--line:rgba(255,255,255,.17);--field:rgba(0,0,0,.24);--btn:#f6efe2;--btn-ink:#0f1b33;--err:#ffb0a8;color-scheme:dark}

.poster.fine{background:radial-gradient(120% 80% at 50% 0%,color-mix(in srgb,var(--c1) 70%,transparent),transparent 60%),radial-gradient(90% 60% at 100% 100%,color-mix(in srgb,var(--c3) 60%,transparent),transparent 70%),var(--paper)}
.poster.fine .bl{display:none}
.poster.fine::before,.poster.fine.has-photo::after{display:none}
.poster.fine .grain{opacity:.14;mix-blend-mode:multiply}
[data-tema="jubileum"].poster.fine .grain{mix-blend-mode:overlay;opacity:.2}
.poster.fine .orn{position:absolute;inset:4.5cqi;z-index:2;border:.35cqi solid var(--accent);pointer-events:none}
.poster.fine .orn::before{content:"";position:absolute;inset:1.5cqi;border:.15cqi solid color-mix(in srgb,var(--accent) 70%,transparent)}
.poster.fine .orn::after{content:"";position:absolute;left:50%;top:6cqi;width:26cqi;height:13cqi;transform:translateX(-50%);background:var(--ornament) center/contain no-repeat}
.poster.fine .ptxt{inset:0;justify-content:center;align-items:center;text-align:center;padding:16cqi 13cqi 13cqi;gap:2.2cqi;z-index:3}
.poster.fine .p-host{text-transform:uppercase;letter-spacing:.2em;font-size:3.1cqi;color:var(--accent);font-weight:700}
.poster.fine .p-title{color:var(--fine-ink);font-family:var(--f-elegant);font-size:12.5cqi;line-height:1;letter-spacing:-.005em}
.poster.fine[data-font="moderne"] .p-title{font-family:var(--f-moderne);font-weight:700;font-size:10cqi}
.poster.fine[data-font="leken"] .p-title{font-family:var(--f-leken);font-size:11.5cqi}
.poster.fine .p-when{color:var(--fine-ink);font-size:4cqi;margin-top:3cqi;padding-top:3cqi;border-top:.15cqi solid color-mix(in srgb,var(--accent) 60%,transparent);min-width:30cqi}
.poster.fine .p-where{color:var(--fine-ink2);font-size:3.8cqi}
.poster.fine.has-photo{--ink:var(--fine-ink);--ink-2:var(--fine-ink2)}
.poster.fine.has-photo .photo{inset:auto;top:11cqi;left:50%;width:46cqi;height:50cqi;transform:translateX(-50%);border-radius:23cqi 23cqi 1.5cqi 1.5cqi;box-shadow:0 0 0 .8cqi var(--paper),0 0 0 1.1cqi var(--accent);z-index:2}
.poster.fine.has-photo .orn::after{display:none}
.poster.fine.has-photo .ptxt{justify-content:flex-end;padding-bottom:12cqi}
.poster.fine.has-photo .p-title{font-size:10cqi}
.poster.fine.mini .orn::after,.poster.fine.mini .orn::before{display:none}
.poster.fine.mini .p-title{font-size:13cqi}
[data-tema="bryllup"]{--ornament:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 40'><g fill='none' stroke='%23b48b4c' stroke-width='1.5'><circle cx='33' cy='22' r='11'/><circle cx='47' cy='22' r='11'/></g><g fill='%23b48b4c'><path d='M40 4l1.6 3.4 3.4 1.6-3.4 1.6L40 14l-1.6-3.4L35 9l3.4-1.6z'/></g><path d='M2 22h15M63 22h15' stroke='%23b48b4c' stroke-width='.8'/></svg>")}
[data-tema="konfirmasjon"]{--ornament:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 40'><path d='M8 30 Q40 6 72 30' fill='none' stroke='%237f9152' stroke-width='1.3'/><g fill='%237f9152'><ellipse cx='16' cy='23' rx='5' ry='2' transform='rotate(-40 16 23)'/><ellipse cx='24' cy='17' rx='5' ry='2' transform='rotate(-25 24 17)'/><ellipse cx='32' cy='13' rx='5' ry='2' transform='rotate(-12 32 13)'/><ellipse cx='48' cy='13' rx='5' ry='2' transform='rotate(12 48 13)'/><ellipse cx='56' cy='17' rx='5' ry='2' transform='rotate(25 56 17)'/><ellipse cx='64' cy='23' rx='5' ry='2' transform='rotate(40 64 23)'/><circle cx='40' cy='11' r='2.4'/></g></svg>")}
[data-tema="dap"]{--ornament:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 40'><path d='M40 6l3.2 8.4 8.8.6-6.8 5.6 2.2 8.6L40 24.4l-7.4 4.8 2.2-8.6-6.8-5.6 8.8-.6z' fill='none' stroke='%236f99c8' stroke-width='1.3' stroke-linejoin='round'/><g fill='%236f99c8'><circle cx='22' cy='14' r='1.4'/><circle cx='58' cy='14' r='1.4'/><circle cx='16' cy='24' r='1'/><circle cx='64' cy='24' r='1'/></g><path d='M2 30h22M56 30h22' stroke='%236f99c8' stroke-width='.8'/></svg>")}
[data-tema="bursdag"]{--ornament:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 40'><g><circle cx='12' cy='12' r='2.5' fill='%23e0567a'/><rect x='22' y='24' width='4' height='7' rx='1' fill='%23f2b134' transform='rotate(25 24 27)'/><circle cx='34' cy='8' r='2' fill='%234fb7a9'/><path d='M40 30c0-6 0-12 0-18' stroke='%23e0567a' stroke-width='1'/><ellipse cx='40' cy='9' rx='5.5' ry='7' fill='%23e0567a'/><circle cx='48' cy='26' r='2.2' fill='%237a6ff0'/><rect x='56' y='10' width='4' height='7' rx='1' fill='%234fb7a9' transform='rotate(-20 58 13)'/><circle cx='68' cy='20' r='2.5' fill='%23f2b134'/></g></svg>")}
[data-tema="bursdag"].poster.fine .orn{background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><circle cx='8' cy='12' r='1.6' fill='%23e0567a'/><circle cx='22' cy='5' r='1.1' fill='%23f2b134'/><rect x='4' y='26' width='2.4' height='4.4' rx='.6' fill='%234fb7a9' transform='rotate(30 5 28)'/><circle cx='92' cy='88' r='1.6' fill='%237a6ff0'/><circle cx='78' cy='95' r='1.1' fill='%23e0567a'/><rect x='93' y='70' width='2.4' height='4.4' rx='.6' fill='%23f2b134' transform='rotate(-25 94 72)'/><circle cx='95' cy='8' r='1.3' fill='%234fb7a9'/><circle cx='6' cy='92' r='1.3' fill='%23f2b134'/></svg>") center/100% 100% no-repeat}
[data-tema="jubileum"]{--ornament:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 40'><path d='M10 32 Q40 14 70 32' fill='none' stroke='%23d8b46a' stroke-width='1.2'/><g fill='%23d8b46a'><ellipse cx='17' cy='26' rx='4.6' ry='1.8' transform='rotate(-38 17 26)'/><ellipse cx='25' cy='21.5' rx='4.6' ry='1.8' transform='rotate(-24 25 21.5)'/><ellipse cx='55' cy='21.5' rx='4.6' ry='1.8' transform='rotate(24 55 21.5)'/><ellipse cx='63' cy='26' rx='4.6' ry='1.8' transform='rotate(38 63 26)'/><path d='M40 4l2.4 5.6 6 .5-4.6 4 1.4 5.9L40 17l-5.2 3 1.4-5.9-4.6-4 6-.5z'/></g></svg>")}
.swatches .fine-h{grid-column:1/-1;margin:8px 0 0;font-size:13px;color:var(--ink-2);font-weight:600;display:flex;gap:8px;align-items:center}
.pill-plus{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:linear-gradient(90deg,#d8b46a,#f2d79a);color:#2b1d0a}
.sw .dot.fine{background:var(--ornament) center/58% no-repeat,var(--paper);box-shadow:inset 0 0 0 4px var(--paper),inset 0 0 0 5px var(--accent),0 0 0 1px rgba(255,255,255,.12)}

/* Ønskeliste (B100) */
.wl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.wli{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}
.wli:first-child{border-top:0}
.wli .wt{flex:1;display:flex;flex-direction:column;min-width:0}
.wli .wt a{color:inherit}
.wli.taken .wt{opacity:.5}
.wli .chip.on{background:var(--yes,#4fd18b);color:#05220f;border-color:transparent}
.wli .x{text-decoration:none;font-size:20px;line-height:1;padding:2px 6px}
.wladd{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.wladd input{width:100%}
.wladd .btn{align-self:flex-start}

/* Utskrift (B100): kortet fyller A5 eller A6, med QR-kode til invitasjonen */
.pwrap{display:flex;justify-content:center}
.pcv{display:block;width:100%;max-width:420px;height:auto;aspect-ratio:148/210;border-radius:6px;box-shadow:0 24px 60px -24px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.06);background:rgba(255,255,255,.04)}
.pcv[data-size="a6"]{aspect-ratio:105/148}
@media print{
  html,body{background:#fff!important;padding:0!important;margin:0!important}
  body *{visibility:hidden}
  .pcv{visibility:visible;position:fixed;left:0;top:0;width:100vw;height:100vh;max-width:none;border-radius:0;box-shadow:none}
  .tabbar,.sky,.layer,.noprint{display:none!important}
}

/* ---------- Fullskjermkortet for de store dagene (B101) ---------- */
[data-tema="bryllup"],[data-tema="konfirmasjon"]{--foil:linear-gradient(105deg,#8a6526 0%,#e6c97f 18%,#b48b4c 34%,#fff0c2 48%,#a77c39 62%,#e9cd88 80%,#8a6526 100%)}
[data-tema="dap"]{--foil:linear-gradient(105deg,#4f6f98 0%,#cfe0f4 18%,#7f9fc6 34%,#ffffff 48%,#6787b0 62%,#d9e7f7 80%,#4f6f98 100%)}
[data-tema="bursdag"]{--foil:linear-gradient(105deg,#b83a62 0%,#ffb9cc 18%,#e0567a 34%,#fff0f4 48%,#c94770 62%,#ffc7d6 80%,#b83a62 100%)}
[data-tema="jubileum"]{--foil:linear-gradient(105deg,#b48b40 0%,#f7e2a6 18%,#d8b46a 34%,#fff8de 48%,#c49a4e 62%,#f2d999 80%,#b48b40 100%)}
html.kort-open,html.kort-open body{overflow:hidden}
.kort{position:fixed;inset:0;z-index:18;overflow:clip;display:flex;align-items:center;justify-content:center;color:var(--fine-ink);--kbg:1;overscroll-behavior:contain}
.kort::before{content:"";position:absolute;inset:0;background:rgba(5,9,18,.62);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);opacity:var(--kbg);animation:k-fade .5s ease backwards}
.kort.closing::before{transition:opacity .42s ease;opacity:0}
.k-card{position:relative;width:100%;height:100%;max-width:560px;perspective:1700px;perspective-origin:30% 50%;animation:k-rise .75s cubic-bezier(.16,.84,.24,1) backwards;-webkit-user-select:none;user-select:none}
@media (min-width:640px){.k-card{height:min(calc(100dvh - 56px),880px);aspect-ratio:auto}.k-page,.k-paper{border-radius:10px}.k-page{box-shadow:0 40px 90px -30px rgba(0,0,0,.7)}}
.k-page{position:absolute;inset:0;transform-origin:left center;backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform;overflow:hidden;overflow:clip;background:var(--paper)}
.k-card.anim .k-page{transition:transform .62s cubic-bezier(.3,.7,.2,1)}
.k-card.anim .k-sh1,.k-card.anim .k-sh2{transition:opacity .62s ease}
.k-card.peek .k-page{transition-duration:.6s;transition-timing-function:cubic-bezier(.45,0,.3,1)}
.k-paper{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;
  background:linear-gradient(128deg,rgba(255,255,255,.62) 0%,rgba(255,255,255,0) 34%,rgba(255,255,255,0) 66%,rgba(255,255,255,.3) 100%),
  radial-gradient(120% 70% at 50% 0%,color-mix(in srgb,var(--c1) 85%,transparent),transparent 62%),
  radial-gradient(100% 60% at 100% 100%,color-mix(in srgb,var(--c3) 75%,transparent),transparent 70%),
  radial-gradient(80% 50% at 0% 85%,color-mix(in srgb,var(--c2) 45%,transparent),transparent 70%),var(--paper)}
.k-paper::-webkit-scrollbar{display:none}
[data-tema="jubileum"] .k-paper{background:linear-gradient(128deg,rgba(255,255,255,.1) 0%,rgba(255,255,255,0) 34%,rgba(255,255,255,0) 70%,rgba(255,255,255,.05) 100%),radial-gradient(120% 70% at 50% 0%,#1f3567,transparent 65%),radial-gradient(90% 60% at 100% 100%,rgba(91,74,31,.55),transparent 70%),radial-gradient(70% 50% at 0% 80%,rgba(58,47,92,.6),transparent 70%),var(--paper)}
.k-frame{position:absolute;inset:calc(12px + env(safe-area-inset-top,0px)) 12px calc(12px + env(safe-area-inset-bottom,0px));border:1.5px solid transparent;border-image:var(--foil) 1;pointer-events:none;z-index:2}
.k-frame::before{content:"";position:absolute;inset:5px;border:.75px solid transparent;border-image:var(--foil) 1;opacity:.7}
.k-grain{position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.2;mix-blend-mode:multiply;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .5  0 0 0 0 .45  0 0 0 0 .4  0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
[data-tema="jubileum"] .k-grain{mix-blend-mode:overlay;opacity:.28}
.k-sheen{position:absolute;inset:-10% -60%;pointer-events:none;z-index:3;background:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.55) 49%,rgba(255,255,255,.75) 50%,rgba(255,255,255,.55) 51%,transparent 60%);mix-blend-mode:soft-light;transform:translateX(-70%);opacity:0}
.kort.go .k-page:first-child .k-sheen{animation:k-sheen 1.9s 3.1s cubic-bezier(.4,0,.2,1) both}
.k-sh1{position:absolute;inset:0;pointer-events:none;z-index:4;opacity:0;background:linear-gradient(to left,rgba(0,0,0,.42),rgba(0,0,0,.08) 55%,rgba(255,255,255,.12))}
.k-sh2{position:absolute;inset:0;pointer-events:none;z-index:4;opacity:0;background:linear-gradient(to right,rgba(0,0,0,.34),rgba(0,0,0,0) 45%)}
.k-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:200}
.k-top{position:absolute;left:0;right:0;top:0;z-index:210;height:calc(44px + env(safe-area-inset-top,0px));display:flex;justify-content:center;align-items:flex-start;padding-top:calc(18px + env(safe-area-inset-top,0px));pointer-events:none}
.k-grab{width:42px;height:5px;border-radius:3px;background:color-mix(in srgb,var(--fine-ink) 28%,transparent)}
.k-x{pointer-events:auto;position:absolute;right:22px;top:calc(24px + env(safe-area-inset-top,0px));width:34px;height:34px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;color:var(--fine-ink);background:color-mix(in srgb,var(--paper) 70%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--fine-ink) 14%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.k-x svg{width:16px;height:16px}
.k-dots{position:absolute;left:0;right:0;bottom:calc(26px + env(safe-area-inset-bottom,0px));z-index:210;display:flex;justify-content:center;gap:7px;pointer-events:none}
.k-dots i{width:6px;height:6px;border-radius:3px;background:color-mix(in srgb,var(--fine-ink) 24%,transparent);transition:width .35s ease,background .35s ease}
.k-dots i.on{width:20px;background:var(--accent)}
.foil{background:var(--foil);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:k-foil 9s linear infinite}
.kp{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:calc(78px + env(safe-area-inset-top,0px)) max(13%,38px) calc(92px + env(safe-area-inset-bottom,0px));position:relative;z-index:2}
.kp p{margin:0}
.k-orn{width:min(52%,230px);aspect-ratio:2/1;margin-bottom:14px;background:var(--foil);background-size:260% 100%;-webkit-mask:var(--ornament) center/contain no-repeat;mask:var(--ornament) center/contain no-repeat;animation:k-foil 9s linear infinite}
[data-tema="bursdag"] .k-orn{background:var(--ornament) center/contain no-repeat;-webkit-mask:none;mask:none;animation:none}
.k-photo{width:min(56%,250px);aspect-ratio:5/6;object-fit:cover;border-radius:999px 999px 8px 8px;margin-bottom:18px;box-shadow:0 0 0 5px var(--paper),0 0 0 6.5px var(--accent),0 24px 50px -24px rgba(0,0,0,.5)}
.k-host{font:700 12px/1.3 var(--f-ui);letter-spacing:.26em;text-transform:uppercase}
.k-title{margin:8px 0 4px;width:100%;min-height:1em;font-weight:400;line-height:1}
.k-title svg{display:block;margin:0 auto;overflow:visible}
.k-title text{fill:var(--fine-ink);fill-opacity:0;stroke:var(--accent);stroke-width:1.1;stroke-linejoin:round;stroke-dasharray:1500;stroke-dashoffset:1500;paint-order:stroke}
.kort.go .k-title text{animation:k-draw 2.8s cubic-bezier(.55,.05,.35,1) var(--dl) forwards,k-ink 1.2s ease calc(var(--dl) + 1.7s) forwards}
.k-when{font:600 22px/1.25 var(--f-garamond);padding-top:14px;margin-top:6px!important;position:relative}
.k-when::before{content:"";position:absolute;top:0;left:50%;width:56px;height:1px;transform:translateX(-50%);background:var(--foil)}
.k-where{font:italic 500 20px/1.3 var(--f-garamond);color:var(--fine-ink2)}
.k-hint{position:absolute;left:0;right:0;margin:0 auto;width:max-content;min-height:44px;padding:16px 18px;bottom:calc(36px + env(safe-area-inset-bottom,0px));border:0;background:none;cursor:pointer;font:600 11px/1 var(--f-ui);letter-spacing:.24em;text-transform:uppercase;color:var(--fine-ink2);-webkit-tap-highlight-color:transparent}
.k-hint:focus-visible{outline:2px solid var(--accent);outline-offset:-4px;border-radius:12px}
.k-hint span{display:inline-block;margin-left:4px;font-size:15px;animation:k-nudge 1.8s ease-in-out infinite}
.kp-cover>*{opacity:0}
.kort.go .kp-cover>.k-orn,.kort.go .kp-cover>.k-photo{animation:k-bloom 1.3s cubic-bezier(.2,.8,.2,1) .25s both,k-foil 9s linear infinite}
.kort.go .kp-cover>.k-photo{animation:k-bloom 1.3s cubic-bezier(.2,.8,.2,1) .25s both}
.kort.go .kp-cover>.k-host{animation:k-up .9s cubic-bezier(.2,.8,.2,1) .7s both,k-foil 9s linear infinite}
.kort.go .kp-cover>.k-title{opacity:1}
.kort.go .kp-cover>.k-when{animation:k-up .9s cubic-bezier(.2,.8,.2,1) 2.7s both}
.kort.go .kp-cover>.k-where{animation:k-up .9s cubic-bezier(.2,.8,.2,1) 2.95s both}
.kort.go .kp-cover>.k-hint{animation:k-show 1s ease 3.8s both}
.k-script{margin:0 0 10px;font:400 clamp(50px,15vw,74px)/1.05 var(--f-script);padding:0 .12em}
.kort[data-font="moderne"] .k-script{font:700 clamp(28px,8vw,40px)/1.1 var(--f-moderne);letter-spacing:-.02em}
.kort[data-font="leken"] .k-script{font:400 clamp(36px,10vw,52px)/1.1 var(--f-leken)}
.k-block{display:flex;flex-direction:column;align-items:center;gap:4px}
.k-lbl{font:700 11px/1 var(--f-ui);letter-spacing:.26em;text-transform:uppercase;color:var(--accent);margin-bottom:4px!important}
.k-big{font:600 25px/1.2 var(--f-garamond);text-wrap:balance}
.k-sub{font:italic 500 19px/1.35 var(--f-garamond);color:var(--fine-ink2);max-width:28ch;text-wrap:balance}
.k-note{font:500 20px/1.45 var(--f-garamond);white-space:pre-line;max-width:30ch;text-wrap:pretty}
.k-rule{display:block;width:48px;height:1px;background:var(--foil);margin:18px auto}
.k-link{margin-top:10px;font:600 13px/1 var(--f-ui);letter-spacing:.02em;color:var(--fine-ink);text-decoration:none;padding:9px 16px;border-radius:999px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,#fff 28%,transparent)}
[data-tema="jubileum"] .k-link{background:rgba(255,255,255,.05)}
.k-rsvp{display:grid;gap:10px;width:100%;max-width:300px;margin-top:16px}
.k-rsvp button{font:600 21px/1 var(--f-garamond);letter-spacing:.01em;color:var(--fine-ink);padding:15px 18px;border-radius:999px;border:0;cursor:pointer;background:color-mix(in srgb,#fff 40%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 60%,transparent),0 1px 0 rgba(255,255,255,.5);transition:transform .2s ease,background .25s ease,color .25s ease}
.k-rsvp button:active{transform:scale(.97)}
.k-rsvp button[aria-pressed="true"]{background:var(--fine-ink);color:var(--paper);box-shadow:0 10px 24px -12px rgba(0,0,0,.55)}
.k-rsvp button:disabled{opacity:.55;cursor:default}
[data-tema="jubileum"] .k-rsvp button{background:rgba(255,255,255,.06)}
[data-tema="jubileum"] .k-rsvp button[aria-pressed="true"]{background:var(--foil);color:#0f1b33}
.k-count{margin-top:12px!important;font:italic 500 18px var(--f-garamond);color:var(--fine-ink2)}
.k-next{margin-top:22px!important;font:600 12px var(--f-ui);letter-spacing:.06em;color:var(--fine-ink2)}
.k-more{margin-top:26px;font:600 13px/1 var(--f-ui);color:var(--fine-ink2);background:none;border:0;padding:10px;cursor:pointer;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 60%,transparent);text-underline-offset:4px}
.k-wl{list-style:none;margin:14px 0 0;padding:0;width:100%;max-width:380px;text-align:left}
.k-wl li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 2px;border-bottom:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}
.k-wl li:first-child{border-top:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}
.k-wl li>span{display:flex;flex-direction:column;gap:3px;min-width:0}
.k-wl b{font:600 20px/1.2 var(--f-garamond)}
.k-wl small{font:500 12.5px/1.3 var(--f-ui);color:var(--fine-ink2)}
.k-wl small a{color:inherit}
.k-wl li.taken b{text-decoration:line-through;text-decoration-color:var(--accent);opacity:.55}
.k-pill{flex:none;font:600 13px/1 var(--f-ui);padding:10px 14px;border-radius:999px;border:0;cursor:pointer;color:var(--fine-ink);background:color-mix(in srgb,#fff 40%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 60%,transparent)}
.k-pill.on{background:var(--fine-ink);color:var(--paper);box-shadow:none}
.k-tag{flex:none;font:600 12px var(--f-ui);color:var(--fine-ink2)}
.kp.in>*{animation:k-up .7s cubic-bezier(.2,.8,.2,1) both}
.kp.in>:nth-child(2){animation-delay:.08s}.kp.in>:nth-child(3){animation-delay:.16s}.kp.in>:nth-child(4){animation-delay:.24s}.kp.in>:nth-child(5){animation-delay:.32s}.kp.in>:nth-child(6){animation-delay:.4s}.kp.in>:nth-child(n+7){animation-delay:.48s}
.kp.in>.k-script{animation:k-up .7s cubic-bezier(.2,.8,.2,1) both,k-foil 9s linear infinite}
.kopen{align-self:center;margin-top:-6px;display:inline-flex;align-items:center;gap:8px;font:600 14px/1 var(--f-ui);color:var(--ink);padding:12px 18px;border-radius:999px;border:0;cursor:pointer;background:var(--glass);box-shadow:inset 0 0 0 1px var(--line)}
.kopen span{color:var(--accent)}
@keyframes k-fade{from{opacity:0}}
@keyframes k-show{from{opacity:0}to{opacity:1}}
@keyframes k-rise{from{opacity:0;transform:translateY(46px) scale(.96)}}
@keyframes k-up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes k-bloom{from{opacity:0;transform:scale(.82);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes k-foil{to{background-position:-260% 0}}
@keyframes k-draw{to{stroke-dashoffset:0}}
@keyframes k-ink{to{fill-opacity:1;stroke-opacity:.0}}
@keyframes k-sheen{0%{opacity:0;transform:translateX(-70%)}15%{opacity:1}100%{opacity:0;transform:translateX(70%)}}
@keyframes k-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
@media (prefers-reduced-motion:reduce){
  .kort *,.kort::before{animation:none!important;transition:none!important}
  .kp-cover>*{opacity:1}
  .k-title text{fill-opacity:1;stroke:none}
}
/* Kortene i «Nytt og snart» for de store dagene: papir, folieramme og skrivskrift (B102) */
.ecard.fine{color:var(--fine-ink);background:linear-gradient(128deg,rgba(255,255,255,.6),rgba(255,255,255,0) 40%,rgba(255,255,255,0) 70%,rgba(255,255,255,.25)),radial-gradient(120% 80% at 50% 0%,color-mix(in srgb,var(--c1) 85%,transparent),transparent 62%),radial-gradient(90% 70% at 100% 100%,color-mix(in srgb,var(--c3) 75%,transparent),transparent 70%),var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14px 18px 34px;gap:6px}
.ecard.fine[data-tema="jubileum"]{background:radial-gradient(120% 80% at 50% 0%,#1f3567,transparent 65%),radial-gradient(90% 60% at 100% 100%,rgba(91,74,31,.6),transparent 70%),var(--paper)}
.ecard.fine::after{display:none}
.ec-frame{position:absolute;inset:7px;border:1px solid transparent;border-image:var(--foil) 1;pointer-events:none}
.ec-frame::before{content:"";position:absolute;inset:3px;border:.5px solid transparent;border-image:var(--foil) 1;opacity:.6}
.ec-orn{display:block;flex:none;width:30%;max-width:84px;aspect-ratio:2/1;background:var(--foil);-webkit-mask:var(--ornament) center/contain no-repeat;mask:var(--ornament) center/contain no-repeat}
.ecard.fine[data-tema="bursdag"] .ec-orn{background:var(--ornament) center/contain no-repeat;-webkit-mask:none;mask:none}
.ecard.fine .ec-ph{position:static;flex:none;width:34%;max-width:96px;height:auto;aspect-ratio:5/6;object-fit:cover;border-radius:999px 999px 4px 4px;box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--accent)}
.ecard.fine .ec-t{position:static;align-items:center;gap:1px}
.ecard.fine .ec-t strong{font:400 clamp(22px,7.4vw,30px)/1.02 var(--f-script);padding:0 .1em;-webkit-line-clamp:2}
.ecard.fine .ec-t span{font:600 13.5px/1.2 var(--f-garamond);opacity:1;color:var(--fine-ink2)}
.ecar.n1 .ecard.fine .ec-t strong{font-size:clamp(28px,9vw,40px)}
.ecard.fine .ec-tag{background:var(--fine-ink);color:var(--paper);left:50%;transform:translateX(-50%);bottom:13px;-webkit-backdrop-filter:none;backdrop-filter:none}
.ecard.fine .ec-tag.new{background:var(--accent);color:#fff}

.ecar:not(.n1) .ecard.fine{padding:12px 12px 40px;gap:4px}
.ecar:not(.n1) .ecard.fine .ec-orn{width:34%}
.ecar:not(.n1) .ecard.fine .ec-t strong{font-size:clamp(20px,6vw,25px);line-height:1.05}
.ecar:not(.n1) .ecard.fine .ec-t span{font-size:12px}
.ecar:not(.n1) .ecard.fine .ec-ph{width:30%}
.ecard.fine .ec-tag{white-space:nowrap;font-size:11px;padding:4px 10px}
/* Plakaten for de store dagene bruker samme skrifter som kortet (B102) */
.poster.fine[data-font="elegant"] .p-title,.poster.fine:not([data-font]) .p-title{font-family:var(--f-script);font-weight:400;font-size:15cqi;line-height:1.02;letter-spacing:0;padding:0 .08em}
.poster.fine.mini[data-font="elegant"] .p-title{font-size:16cqi}
.poster.fine .p-when{font-family:var(--f-garamond);font-weight:600;font-size:4.6cqi}
.poster.fine .p-where{font-family:var(--f-garamond);font-style:italic;font-weight:500;font-size:4.3cqi}
/* Kortet som hele invitasjonen (B103): meny, samtale og innhold på papiret */
.kort .k-paper{-webkit-user-select:text;user-select:text}
.k-menu{pointer-events:auto;position:absolute;left:22px;top:calc(24px + env(safe-area-inset-top,0px));height:34px;min-width:34px;padding:0 10px;border-radius:999px;border:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font:600 13px var(--f-ui);color:var(--fine-ink);background:color-mix(in srgb,var(--paper) 70%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--fine-ink) 14%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.k-menu svg{width:17px;height:17px}
.k-prev{pointer-events:auto;position:absolute;left:50%;transform:translateX(-50%);top:calc(64px + env(safe-area-inset-top,0px));border:0;border-radius:999px;padding:7px 14px;font:600 12px var(--f-ui);background:var(--fine-ink);color:var(--paper);cursor:pointer;white-space:nowrap}
.k-cta{margin-top:18px;font:600 21px/1 var(--f-garamond);color:var(--paper);background:var(--fine-ink);border:0;border-radius:999px;padding:16px 26px;cursor:pointer;box-shadow:0 12px 26px -14px rgba(0,0,0,.6)}
[data-tema="jubileum"] .k-cta{background:var(--foil);color:#0f1b33}
.k-stats{display:flex;gap:26px;justify-content:center;margin:6px 0 4px}
.k-stats span{display:flex;flex-direction:column;align-items:center;font:500 13px var(--f-ui);color:var(--fine-ink2)}
.k-stats b{font:600 38px/1.1 var(--f-garamond);color:var(--fine-ink)}
.k-wx{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:14px!important;font:500 18px var(--f-garamond);color:var(--fine-ink)}
.k-wx .ic{width:22px;height:22px;display:inline-flex;color:var(--accent)}
.k-wx .ic svg{width:100%;height:100%}
.k-wx small{font:500 11px var(--f-ui);color:var(--fine-ink2);margin-left:4px}
.k-cards{width:100%;max-width:420px;display:flex;flex-direction:column;gap:14px;margin-top:18px;text-align:left}
.k-cards:empty{display:none}
.kp .card{background:color-mix(in srgb,#fff 34%,transparent);border:1px solid color-mix(in srgb,var(--accent) 32%,transparent);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:16px;padding:16px;color:var(--fine-ink)}
[data-tema="jubileum"] .kp .card{background:rgba(255,255,255,.05)}
.kp .card h2{font:600 21px/1.2 var(--f-garamond);letter-spacing:0;margin:0 0 6px}
.kp .card h3{font:700 11px/1.2 var(--f-ui);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:12px 0 6px}
.kp .card .muted,.kp .card .small.muted{color:var(--fine-ink2)}
.kp-svar .k-rsvp{margin-bottom:4px}
.mlist{display:flex;flex-direction:column;gap:2px;margin:6px 0 10px}
.mitem{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;width:100%;padding:12px 4px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);font:inherit;cursor:pointer;text-decoration:none}
.mitem b{font-weight:600}
.mitem.danger b{color:var(--err)}
.mitem:last-child{border-bottom:0}
.kort.still::before,.kort.still .k-card{animation:none}
.kort.still .kp-cover>*{opacity:1;animation:none}
.kort.still .kp-cover>.foil,.kort.still .kp-cover>.k-orn{animation:k-foil 9s linear infinite}
.kort.still .k-title text{fill-opacity:1;stroke-opacity:0;stroke-dashoffset:0;animation:none}
.kort.still .k-page:first-child .k-sheen{animation:none}
/* Invitasjonen som banner øverst i samtalen (B103) */
.evban{position:sticky;top:calc(8px + env(safe-area-inset-top,0px));z-index:5;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:16px;text-decoration:none;color:var(--ink);overflow:hidden;isolation:isolate;background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.evban .eb-bg{position:absolute;inset:0;z-index:-1;border-radius:0;aspect-ratio:auto;width:100%;height:100%;margin:0;box-shadow:none;opacity:.85}
.eb-t{flex:1;display:flex;flex-direction:column;min-width:0}
.eb-t small{font:700 10.5px var(--f-ui);letter-spacing:.18em;text-transform:uppercase;opacity:.75}
.eb-t b{font-size:17px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.eb-t span{font-size:12.5px;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.eb-go{flex:none;font:600 13px var(--f-ui);padding:8px 14px;border-radius:999px;background:var(--btn);color:var(--btn-ink)}
.evban.fine{color:var(--fine-ink);background:linear-gradient(128deg,rgba(255,255,255,.55),rgba(255,255,255,0) 50%),radial-gradient(120% 120% at 50% 0%,color-mix(in srgb,var(--c1) 85%,transparent),transparent 70%),var(--paper);border:0;padding:14px 18px}
.evban.fine[data-tema="jubileum"]{background:radial-gradient(120% 120% at 50% 0%,#1f3567,transparent 70%),var(--paper)}
.evban.fine .ec-frame{inset:5px}
.evban.fine .eb-t small{color:var(--accent);opacity:1}
.evban.fine .eb-t b{font:400 26px/1.1 var(--f-script);padding:2px 0}
.evban.fine .eb-t span{font:600 13.5px var(--f-garamond);color:var(--fine-ink2);opacity:1}
.evban.fine .eb-go{background:var(--fine-ink);color:var(--paper)}
/* Prat-lista (B105): samtaler til en invitasjon får en liten invitasjon som ikon og invitasjonens farger,
   andre samtaler får en tonet bakgrunn fra siste delte bilde */
.evrow.grow{position:relative;isolation:isolate;overflow:hidden}
.gbg{position:absolute;left:-30px;top:-30px;width:calc(100% + 60px);height:calc(100% + 60px);max-width:none;object-fit:cover;z-index:-2;filter:blur(20px) saturate(1.4) brightness(.6);border-radius:0;pointer-events:none}
.evrow.grow.hasbg::before,.evban.hasbg::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,14,28,.5),rgba(8,14,28,.12) 75%);pointer-events:none}
.evrow.grow.hasbg{border-color:rgba(255,255,255,.14)}
.evrow.grow.hasbg .meta .small{color:rgba(255,255,255,.82)}
.gev{background:radial-gradient(90% 140% at 0% 0%,color-mix(in srgb,var(--c1) 70%,transparent),transparent 65%),radial-gradient(80% 140% at 100% 100%,color-mix(in srgb,var(--c3) 65%,transparent),transparent 70%),radial-gradient(60% 120% at 70% 0%,color-mix(in srgb,var(--c2) 45%,transparent),transparent 70%),var(--base);color:var(--ink);border-color:rgba(255,255,255,.12)}
.gev .meta .small{color:var(--ink-2)}
.gsub{font:700 10.5px/1.3 var(--f-ui);letter-spacing:.12em;text-transform:uppercase;opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gev.fine{background:linear-gradient(128deg,rgba(255,255,255,.55),rgba(255,255,255,0) 50%),radial-gradient(120% 160% at 0% 0%,color-mix(in srgb,var(--c1) 85%,transparent),transparent 70%),radial-gradient(90% 160% at 100% 100%,color-mix(in srgb,var(--c3) 70%,transparent),transparent 70%),var(--paper);color:var(--fine-ink);border:0}
.gev.fine[data-tema="jubileum"]{background:radial-gradient(120% 160% at 30% 0%,#1f3567,transparent 70%),radial-gradient(90% 140% at 100% 100%,rgba(91,74,31,.6),transparent 70%),var(--paper)}
.gev.fine .gsub{color:var(--accent);opacity:1}
.gev.fine strong{font:400 24px/1.1 var(--f-script)}
.gev.fine .meta .small{color:var(--fine-ink2)}
.gev.fine.hasbg .gbg{filter:blur(20px) saturate(1.2) brightness(1.05)}
.gev.fine.hasbg::before{background:linear-gradient(90deg,color-mix(in srgb,var(--paper) 82%,transparent),color-mix(in srgb,var(--paper) 55%,transparent))}
.gev.fine[data-tema="jubileum"].hasbg::before{background:linear-gradient(90deg,rgba(16,28,53,.82),rgba(16,28,53,.5))}
.ginv{position:relative;flex:none;display:block;width:38px;height:50px;margin-left:3px;border-radius:5px;overflow:hidden;background:radial-gradient(120% 80% at 20% 10%,var(--c1),transparent 65%),radial-gradient(100% 70% at 90% 100%,var(--c3),transparent 70%),var(--base);box-shadow:0 6px 14px -6px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.18);transform:rotate(-4deg)}
.ginv img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0}
.ginv .gi-l{position:absolute;left:7px;right:7px;bottom:9px;height:9px;border-top:2px solid rgba(255,255,255,.75);border-bottom:2px solid rgba(255,255,255,.4)}
.ginv.fine{background:linear-gradient(128deg,rgba(255,255,255,.6),rgba(255,255,255,0) 50%),var(--paper)}
.ginv.fine .gi-f{position:absolute;inset:3px;border:1px solid transparent;border-image:var(--foil) 1}
.ginv .gi-orn{position:absolute;left:15%;right:15%;top:30%;aspect-ratio:2/1;background:var(--foil);-webkit-mask:var(--ornament) center/contain no-repeat;mask:var(--ornament) center/contain no-repeat}
.ginv.fine[data-tema="bursdag"] .gi-orn{background:var(--ornament) center/contain no-repeat;-webkit-mask:none;mask:none}
.evban .ginv{width:34px;height:44px}
.evban.hasbg:not(.fine){color:#fff}
.evban.fine.hasbg::before{background:linear-gradient(90deg,color-mix(in srgb,var(--paper) 85%,transparent),color-mix(in srgb,var(--paper) 60%,transparent))}
.evban.fine.hasbg .gbg{filter:blur(18px) saturate(1.2) brightness(1.05)}
/* Prat-lista (B106): like høye rader, og profilbilder med dybde i stedet for mørk ramme */
.evrow.grow{min-height:88px;padding:12px 14px}
.evrow.grow .av,.ginv{transition:transform .2s ease}
.evrow.grow>.av{position:relative;width:50px;height:50px;font-size:16px;box-shadow:0 10px 18px -8px rgba(0,0,0,.65),0 2px 4px rgba(0,0,0,.25)}
.evrow.grow{grid-template-columns:52px 1fr auto}
.evrow.grow .av::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(120% 90% at 30% 18%,rgba(255,255,255,.38),rgba(255,255,255,0) 46%),radial-gradient(100% 80% at 50% 115%,rgba(0,0,0,.28),transparent 60%);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -1px 2px rgba(0,0,0,.25)}
.evrow.grow .gav{width:52px;height:52px}
.gav.n3 .av:nth-child(1){left:11px}
.gav .av,.evrow.grow .gav .av{box-shadow:0 8px 14px -6px rgba(0,0,0,.7),0 0 0 1.5px rgba(255,255,255,.22)}
.gav.n2 .av{width:34px;height:34px}
.gav.n3 .av{width:29px;height:29px}
.evrow.grow:active .av,.evrow.grow:active .ginv{transform:scale(.96)}
.ginv{width:42px;height:54px;margin-left:5px}
/* Merket (B107): større vvv i forhold til navnet, og fargene glir sakte gjennom (av ved redusert bevegelse) */
.word picture,.why picture,.whyline picture{display:block;flex:none}
.word img{height:27px}
.word{gap:10px}
.om-mark{width:150px}
.why img{width:72px}
/* Levende bakgrunn: fargeflatene driver i lengre, mykere baner, og et svakt lysskjær dreier rundt */
.sky .bl{opacity:.62;will-change:transform}
.sky .b1{animation:d1 19s ease-in-out infinite alternate}
.sky .b2{animation:d2 23s ease-in-out infinite alternate}
.sky .b3{animation:d3 27s ease-in-out infinite alternate}
@keyframes d1{0%{transform:translate(0,0) scale(1)}35%{transform:translate(20%,9%) scale(1.16)}70%{transform:translate(8%,24%) scale(.94)}100%{transform:translate(-8%,8%) scale(1.1)}}
@keyframes d2{0%{transform:translate(0,0) scale(1)}40%{transform:translate(-22%,12%) scale(.9)}75%{transform:translate(-8%,-10%) scale(1.12)}100%{transform:translate(-18%,4%) scale(1)}}
@keyframes d3{0%{transform:translate(0,0) scale(1)}30%{transform:translate(16%,-14%) scale(1.1)}65%{transform:translate(-6%,-20%) scale(.95)}100%{transform:translate(10%,-6%) scale(1.06)}}
.sky::before{content:"";position:absolute;inset:-60%;z-index:1;pointer-events:none;background:conic-gradient(from 0deg at 50% 50%,transparent 0deg,rgba(255,255,255,.045) 50deg,transparent 110deg,transparent 190deg,rgba(255,255,255,.035) 240deg,transparent 300deg);animation:skyspin 120s linear infinite}
@keyframes skyspin{to{transform:rotate(360deg)}}

/* B107b: merket tegnes med CSS (maske + glidende fargeflate), så animasjonen virker i alle nettlesere */
.vmark{display:block;flex:none;aspect-ratio:558/266;height:34px;background:linear-gradient(90deg,#ffb347,#ff6b5b,#e84393,#ff6b5b,#ffb347) 0 0/200% 100%;-webkit-mask:url(/logo.svg) center/contain no-repeat;mask:url(/logo.svg) center/contain no-repeat;animation:vflow 9s linear infinite}
.word .vmark{height:34px}
.word{gap:11px}
.why .vmark{height:auto;width:72px}
.whyline .vmark{height:auto;width:34px}
.vmark.om-mark{height:auto;width:150px}
@keyframes vflow{to{background-position:-200% 0}}
/* B161: en lysende rosa prikk som løper langs v-ene, med en hale som fader bak og et skinn rundt.
   Farten følger en sinus: sakte på toppen, raskere ned mot bunnen, og bremser opp mot toppen igjen.
   .pulse: én gang, prikken fyker ut av siste v som en ball. .loop: gjentas mens noe lastes. */
.vlogo{position:relative;display:block;flex:none;width:fit-content;height:fit-content;line-height:0}
.vlogo>svg{position:absolute;inset:0;width:100%!important;height:100%!important;overflow:visible;opacity:0;pointer-events:none}
.vtrail path,.vglow path{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:.01 300;stroke-dashoffset:0;opacity:0}
.vtrail path{stroke:#ff5fa8}
.vtrail .vhead{stroke:#ffb3d6;stroke-width:50}
.vtrail{filter:blur(1px) drop-shadow(0 0 5px #ff4fa0) drop-shadow(0 0 12px rgba(232,67,147,.8))}
.vglow,.vbglow{mix-blend-mode:screen;filter:blur(9px)}
.vglow path{stroke:#ff3d96;stroke-width:150}
.vball{filter:drop-shadow(0 0 6px #ff4fa0) drop-shadow(0 0 14px rgba(232,67,147,.8))}
.vball circle,.vbglow circle{fill:#ffb3d6;opacity:0;transform-box:view-box;transform-origin:546px 40px}
.vbglow circle{fill:#ff3d96}
.vlogo.pulse>svg,.vlogo.loop>svg{opacity:1}
.vlogo.pulse path{animation:vrunp 2.1s linear calc(var(--k) * 15ms) both,vshow 2.1s linear calc(var(--k) * 15ms) both}
.vlogo.pulse circle{animation:vfling 2.6s linear both}
.vlogo.loop path{opacity:1;stroke-dasharray:.01 1296.93;animation:vrunl 2.4s linear calc(var(--k) * 15ms) infinite both}
.vlogo.loop .vtrail{-webkit-mask:url(/logo.svg) center/contain no-repeat;mask:url(/logo.svg) center/contain no-repeat}
@keyframes vrunl{0.0%{stroke-dashoffset:-60.00;animation-timing-function:cubic-bezier(.33,.1,.67,.47)}16.667%{stroke-dashoffset:-276.16;animation-timing-function:cubic-bezier(.33,.53,.67,.9)}33.333%{stroke-dashoffset:-492.31;animation-timing-function:cubic-bezier(.33,.1,.67,.47)}50.0%{stroke-dashoffset:-708.47;animation-timing-function:cubic-bezier(.33,.53,.67,.9)}66.667%{stroke-dashoffset:-924.63;animation-timing-function:cubic-bezier(.33,.1,.67,.47)}83.333%{stroke-dashoffset:-1140.79;animation-timing-function:cubic-bezier(.33,.53,.67,.9)}100.0%{stroke-dashoffset:-1356.94}}
@keyframes vrunp{0.0%{stroke-dashoffset:-0.0;animation-timing-function:cubic-bezier(.33,.1,.67,.47)}16.667%{stroke-dashoffset:-16.667;animation-timing-function:cubic-bezier(.33,.53,.67,.9)}33.333%{stroke-dashoffset:-33.333;animation-timing-function:cubic-bezier(.33,.1,.67,.47)}50.0%{stroke-dashoffset:-50.0;animation-timing-function:cubic-bezier(.33,.53,.67,.9)}66.667%{stroke-dashoffset:-66.667;animation-timing-function:cubic-bezier(.33,.1,.67,.47)}83.333%{stroke-dashoffset:-83.333;animation-timing-function:cubic-bezier(.33,.53,.6,.75)}100.0%{stroke-dashoffset:-100.0}}
@keyframes vshow{0%{opacity:0}5%,95%{opacity:1}100%{opacity:0}}
@keyframes vfling{0%,80.7%{opacity:0;transform:none}80.8%{opacity:1;transform:none;animation-timing-function:cubic-bezier(.25,.6,.5,1)}100%{opacity:0;transform:translate(42px,-102px) scale(.6)}}
.loading.lv::before{display:none}
.loading .vlogo{margin:0 auto}
.loading .vlogo .vmark{height:52px}
/* Velkomstskjermen første gang appen åpnes, og forsiden for dem som ikke er med ennå */
.splash{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;align-content:center;gap:28px;padding:24px;text-align:center;color:#f2f6fb;background:radial-gradient(120% 80% at 50% 30%,#1d2d52,#0d1630 70%);transition:opacity .6s ease,visibility .6s}
.splash.gone{opacity:0;visibility:hidden}
.splash .vlogo .vmark,.waitw .vlogo .vmark{height:min(26vw,150px)}
.splash .vglow,.splash .vbglow,.waitw .vglow,.waitw .vbglow{filter:blur(22px)}
.splash .vtrail,.waitw .vtrail{filter:blur(2px) drop-shadow(0 0 10px #ff4fa0) drop-shadow(0 0 26px rgba(232,67,147,.8))}
.splash h1,.waitw h1{margin:0;font:700 clamp(44px,11vw,72px)/1 var(--f-ui);letter-spacing:-.045em}
.splash p{margin:-14px 0 0;font-size:clamp(17px,4.4vw,21px);color:rgba(242,246,251,.78);opacity:0;animation:vtext .8s ease .5s forwards}
.splash h1{opacity:0;animation:vtext .8s ease .2s forwards}
@keyframes vtext{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.waitw{display:grid;justify-items:center;gap:18px;min-height:100vh;min-height:100dvh;align-content:center;padding:24px 4px calc(32px + env(safe-area-inset-bottom));text-align:center}
.waitw .btn{min-width:220px;margin-top:10px}
.waitw .link{color:var(--ink-2)}
.view.waitv{padding-top:0;padding-bottom:0}
.waitw .lead{margin:-4px 0 6px;max-width:22ch;font-size:clamp(20px,5.4vw,26px);line-height:1.3;font-weight:600;color:var(--ink);text-wrap:balance}
@media (prefers-reduced-motion:reduce){.vlogo>svg{display:none}.loading .vlogo .vmark{animation:vflow 1.6s linear infinite}.splash p,.splash h1{animation:none;opacity:1}}
@keyframes vpulse{50%{opacity:.7}}
/* Tydeligere liv i bakgrunnen */
.sky .bl{opacity:.72}
.sky .b1{animation-duration:13s}
.sky .b2{animation-duration:16s}
.sky .b3{animation-duration:19s}
@keyframes d1{0%{transform:translate(0,0) scale(1)}35%{transform:translate(30%,14%) scale(1.22)}70%{transform:translate(12%,32%) scale(.9)}100%{transform:translate(-10%,10%) scale(1.14)}}
@keyframes d2{0%{transform:translate(0,0) scale(1)}40%{transform:translate(-32%,18%) scale(.86)}75%{transform:translate(-12%,-16%) scale(1.18)}100%{transform:translate(-26%,6%) scale(1)}}
@keyframes d3{0%{transform:translate(0,0) scale(1)}30%{transform:translate(24%,-20%) scale(1.16)}65%{transform:translate(-10%,-28%) scale(.92)}100%{transform:translate(14%,-8%) scale(1.1)}}
.sky::before{background:conic-gradient(from 0deg at 50% 50%,transparent 0deg,rgba(255,255,255,.08) 50deg,transparent 110deg,transparent 190deg,rgba(255,255,255,.06) 240deg,transparent 300deg);animation-duration:70s}
/* ---------- PC og store skjermer (B108) ---------- */
.dmain,.dside,.d-ev{display:contents}
@media (min-width:1100px){
  .tabbar{top:0;bottom:0;right:auto;left:calc(50% - 610px);width:210px;flex-direction:column;justify-content:flex-start;gap:6px;padding:108px 0 24px;background:none;border:0;-webkit-backdrop-filter:none;backdrop-filter:none}
  .tabbar a{flex:none;max-width:none;flex-direction:row;gap:14px;padding:12px 18px;font-size:16px;color:rgba(242,246,251,.66);transition:background .2s ease,color .2s ease}
  .tabbar a span{font-size:16px}
  .tabbar a:hover{background:rgba(255,255,255,.06);color:#f2f6fb}
  .tabbar a[aria-current]{background:rgba(255,255,255,.1);color:#f2f6fb;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
  .tabbar svg{width:24px;height:24px}
  .tabbar .badge{position:static;margin-left:auto}
  .app{max-width:680px;margin-left:auto;margin-right:auto;padding-bottom:64px}
  .fcar .fimg{flex-basis:84%}
}


/* Kortet som oppslag på PC (B109) */
.kort.spread .k-card{max-width:none;width:min(1240px,calc(100vw - 170px));height:min(calc(100dvh - 90px),880px);perspective:2600px;perspective-origin:50% 50%}
.kort.spread .k-page{border-radius:0;box-shadow:none;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.kort.spread .k-page.sp-l{left:0;right:50%;border-radius:12px 0 0 12px}
.kort.spread .k-page.sp-r{left:50%;right:0;border-radius:0 12px 12px 0}
.kort.spread .k-page.sp-off{left:50%;right:0;visibility:hidden}
.kort.spread .k-paper{border-radius:inherit}
.kort.spread .k-card::before{content:"";position:absolute;inset:0;border-radius:12px;box-shadow:0 50px 120px -40px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.05);pointer-events:none}
.kort.spread .k-card::after{content:"";position:absolute;top:0;bottom:0;left:50%;width:70px;transform:translateX(-50%);z-index:40;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,0),rgba(0,0,0,.14) 44%,rgba(0,0,0,.24) 50%,rgba(255,255,255,.08) 51%,rgba(0,0,0,.1) 58%,rgba(0,0,0,0))}
.kort.spread .sp-l .k-frame{right:0;border-right:0}
.kort.spread .sp-r .k-frame{left:0;border-left:0}
.kort.spread .sp-l .k-frame,.kort.spread .sp-r .k-frame{border-image:var(--foil) 1}
.kort.spread .k-top{left:0;right:0}
.kort.spread .k-grab{display:none}
.kort.spread .kp{padding-left:max(10%,40px);padding-right:max(10%,40px)}
.kort.spread .k-hint{display:none}
.kort.spread .k-dots{bottom:-34px}
.kort.spread .k-dots i{background:rgba(255,255,255,.28)}
.kort.spread .k-dots i.on{background:var(--accent)}
.kort.spread .k-card.bump{animation:k-bump .35s ease}
@keyframes k-bump{30%{transform:translateX(-8px)}60%{transform:translateX(5px)}}
.kp-end .k-orn{width:min(40%,200px);opacity:.8}
.kp-end .k-sub{font-size:22px}
.kort.spread .k-nav{display:grid}
.k-nav{display:none;position:absolute;top:50%;z-index:220;width:48px;height:48px;margin-top:-24px;border-radius:50%;border:0;place-items:center;cursor:pointer;color:#fff;background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.k-nav svg{width:22px;height:22px}
.k-nav.prev{left:-64px}.k-nav.next{right:-64px}
.k-nav:hover{background:rgba(255,255,255,.22)}
/* B153: på mobil finnes forrige/neste også, for tastatur og skjermleser. De er usynlige og slipper trykk gjennom til de får fokus, så kortet ser og virker likt for den som trykker */
.kort:not(.spread) .k-nav{display:grid;opacity:0;top:auto;bottom:calc(20px + env(safe-area-inset-bottom,0px));margin-top:0;width:44px;height:44px;background:rgba(0,0,0,.35);pointer-events:none}
.kort:not(.spread) .k-nav.prev{left:8px}.kort:not(.spread) .k-nav.next{right:8px}
.kort:not(.spread) .k-nav:focus-visible{opacity:1;pointer-events:auto;outline:2px solid #fff;outline-offset:2px}

/* PC (B110): logoen står øverst i menyen, invitasjonene over feeden, ett bilde i fokus om gangen og bakgrunn fra bildet */
.tb-logo,.tb-foot{display:none}
.amb{display:none}
@media (min-width:1100px){
  .tabbar{padding-top:34px}
  .tb-logo{display:inline-flex;align-items:flex-end;gap:11px;padding:4px 18px;margin-bottom:38px;font:700 23px/1 var(--f-ui);letter-spacing:-.04em;color:#f2f6fb;text-decoration:none}
  .tabbar a.tb-logo{flex-direction:row;background:none;box-shadow:none}
  .tb-logo .vmark{height:38px}
  .tb-foot{display:block;margin:auto 18px 0;font-size:12px;line-height:1.7;color:rgba(242,246,251,.5)}
  .tb-foot a{color:inherit;text-decoration:none;padding:0;display:inline;font-size:12px;font-weight:500;background:none!important}
  .tb-foot a:hover{color:#f2f6fb}
  body.has-tabs .app .top>.word{display:none}
  body.has-tabs .app .top{justify-content:flex-end}
  .view.dash #dash-pub-s,.view.dash #dash-news,.view.dash .dsec:has(#dash-news),.view.dash .whyline,.view.dash .foot{display:none}
  html:has(.view.dash #feed .fitem){scroll-snap-type:y mandatory}
  html:has(.ebigs .ebig){scroll-snap-type:y proximity} /* B133: Skjer hektet seg fast på bildet, så «Tidligere» ble uoppnåelig */
  .view.dash>.top,.view>.top{scroll-snap-align:start}
  .view.dash .fitem,.ebigs .ebig{scroll-snap-align:center}
  .ebigs .ebig .poster{width:auto;height:min(820px,calc(100dvh - 190px));aspect-ratio:4/5;margin:0 auto;border-radius:18px;box-shadow:0 30px 70px -30px rgba(0,0,0,.7)}
  .ebigs .ebig{align-items:center}
  .ebigs .eb-info{justify-content:center}
  .view.dash .fimg{aspect-ratio:auto;height:min(820px,calc(100dvh - 250px))}
  .amb{display:block;position:fixed;inset:0;z-index:0;pointer-events:none}
  .amb img{position:absolute;left:-10%;top:-10%;width:120%;height:120%;object-fit:cover;filter:blur(80px) saturate(1.5) brightness(.6);opacity:0;transform:scale(1.05);transition:opacity 1.1s ease}
  .amb img.on{opacity:.75}
}
@media (min-width:1100px) and (prefers-reduced-motion:reduce){.amb img{transition:none}}

/* Prat på PC (B111): samtalene som store ruter i et rutenett, med bildet eller invitasjonen som bakgrunn */
@media (min-width:1100px){
  .app:has(#gl){max-width:1000px;margin-left:calc(50% - 380px);margin-right:auto}
  #gl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  #gl>.card{grid-column:1/-1}
  #gl .evrow.grow{aspect-ratio:1;min-height:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:14px;padding:22px;border-radius:24px;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease;box-shadow:0 18px 40px -24px rgba(0,0,0,.7)}
  #gl .evrow.grow:hover{transform:translateY(-4px);box-shadow:0 28px 60px -26px rgba(0,0,0,.8)}
  #gl .evrow.grow>.av{width:72px;height:72px;font-size:24px}
  #gl .evrow.grow .gav{width:78px;height:78px}
  #gl .evrow .gav.n2 .av{width:52px;height:52px;font-size:15px}
  #gl .evrow .gav.n3 .av{width:44px;height:44px;font-size:14px}
  #gl .evrow .gav.n3 .av:nth-child(1){left:17px}
  #gl .evrow .ginv{width:72px;height:94px;margin:0 0 4px 4px;border-radius:8px}
  #gl .meta{width:100%;gap:4px}
  #gl .meta strong{font-size:21px;line-height:1.15}
  #gl .gev.fine .meta strong{font-size:34px}
  #gl .meta .small{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  #gl .evrow .badge{position:absolute;top:18px;right:18px;min-width:24px;height:24px;font-size:12.5px}
  #gl .gbg{filter:blur(6px) saturate(1.25) brightness(.72);left:-12px;top:-12px;width:calc(100% + 24px);height:calc(100% + 24px)}
  #gl .evrow.grow.hasbg::before{background:linear-gradient(180deg,rgba(8,14,28,.05) 30%,rgba(8,14,28,.7))}
  #gl .gev.fine.hasbg::before{background:linear-gradient(180deg,color-mix(in srgb,var(--paper) 25%,transparent) 20%,color-mix(in srgb,var(--paper) 90%,transparent))}
  #gl .gev.fine{justify-content:center;align-items:center;text-align:center}
  #gl .gev.fine .meta{align-items:center}
  #gl .gev.fine .ec-frame,#gl .gev.fine::after{display:none}
  #plw .list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
}
.fitem.just{animation:just 2.4s ease}
@keyframes just{0%{box-shadow:0 0 0 0 rgba(255,184,77,0)}20%{box-shadow:0 0 0 3px rgba(255,184,77,.85),0 0 40px rgba(255,107,91,.35)}100%{box-shadow:0 0 0 0 rgba(255,184,77,0)}}
@media (min-width:1100px){
  .tb-logo{flex-direction:column!important;align-items:flex-start!important;gap:10px!important;font-size:30px!important;letter-spacing:-.045em;padding-left:18px}
  .tb-logo .vmark{height:44px}
}
@media (min-width:1100px){
  .tabbar a.tb-logo{align-self:flex-start;align-items:center!important;gap:8px!important;font-size:37px!important;line-height:.9;color:#f2f6fb;padding:4px 18px}
}
/* B114: deling med valg mellom øyeblikk og fast innlegg, lukkeknapp i arket */
.sh-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sh-head h3{margin:0}
.sh-x{width:36px;height:36px;flex:none}
.sh-x svg{width:18px;height:18px}
.choice[hidden]{display:none}
#mo-kind{width:100%}
#mo-kind button{flex:1}
/* B114: også på mobil legger feeden og Skjer seg med ett innlegg midt på skjermen */
html:has(.view.dash #feed .fitem){scroll-snap-type:y mandatory}
html:has(.ebigs .ebig){scroll-snap-type:y proximity}
/* B142: Skjer har festepunkter også under arrangementene, så siden ikke trekkes tilbake til det siste bildet */
.view:has(.ebigs) .dsec>.dhead,.view:has(.ebigs) .dsec .evrow,.view:has(.ebigs) .foot{scroll-snap-align:start;scroll-margin:12px}
.dsec.past .evrow{opacity:.85}
.view.dash>.top,.view>.top,.view.dash .hello,.view.dash .dsec>.dhead{scroll-snap-align:start}
.view.dash #feed .fitem,.ebigs .ebig{scroll-snap-align:center;scroll-margin:12px}
/* B116–B118: én og én post. Rammen er full bredde, får bildets format og fylles helt, så høy som skjermen tillater */
.view.dash #feed .fitem{scroll-snap-stop:always}
#feed a.fimg{cursor:default;-webkit-touch-callout:none}
#feed .fimg{-webkit-user-select:none;user-select:none;touch-action:manipulation}
@media (max-width:1099px){
  html:has(.view.dash #feed .fitem){scroll-snap-type:y mandatory;scroll-padding:calc(env(safe-area-inset-top,0px) + 6px) 0 calc(70px + max(0px,env(safe-area-inset-bottom,0px) - 12px))}
  .view.dash .dsec,.view.dash .uptodate,.view.dash .foot,.view.dash #moments,.view.dash>.top,.view.dash .hello,.view.dash #bday>*,.view.dash .agecard,.view.dash .sugg{scroll-snap-align:start}
  .view.dash #feed .fitem{padding:10px;gap:8px;scroll-margin:0}
  .view.dash #feed .fhead .av{width:32px;height:32px}
  .view.dash #feed .fimg{width:100%;aspect-ratio:var(--ar,.8);height:auto;max-height:calc(100svh - 232px - env(safe-area-inset-top,0px) - max(0px,env(safe-area-inset-bottom,0px) - 12px));min-height:220px;border-radius:14px}
  .view.dash #feed .fcar .fimg{width:auto;aspect-ratio:var(--ar,.8)}
  .view.dash #feed .ftext{margin:0}
  /* Bakgrunnen tones av bildet i fokus, også på mobil */
  .amb{display:block;position:fixed;inset:0;z-index:0;pointer-events:none}
  .amb img{position:absolute;left:-10%;top:-10%;width:120%;height:120%;object-fit:cover;filter:blur(60px) saturate(1.5) brightness(.6);opacity:0;transform:scale(1.05);transition:opacity 1s ease}
  .amb img.on{opacity:.8}
  /* Menyen: en flytende glasskapsel, lav og luftig. Logoen er bare merket. */
  .tabbar{left:14px;right:14px;bottom:max(8px,calc(env(safe-area-inset-bottom,0px) - 12px));padding:5px 6px;gap:2px;align-items:center;border-radius:26px;border:0;background:rgba(14,20,38,.5);-webkit-backdrop-filter:blur(26px) saturate(1.8);backdrop-filter:blur(26px) saturate(1.8);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 0 0 1px rgba(255,255,255,.07),0 14px 34px -14px rgba(0,0,0,.7)}
  .tabbar a{padding:6px 0 5px;gap:2px;border-radius:20px;transition:background .2s ease,color .2s ease}
  .tabbar a[aria-current]{background:rgba(255,255,255,.12)}
  .tabbar svg{width:21px;height:21px}
  .tabbar a span{font-size:10px;letter-spacing:.01em}
  .tabbar a.tb-logo{flex:0 0 52px;font-size:0;gap:0;padding:6px 0}
  .tabbar a.tb-logo .vmark{height:24px}
  body.has-tabs .app{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
}
.hburst{position:absolute;z-index:3;font-size:84px;line-height:1;pointer-events:none;transform:translate(-50%,-50%) scale(.2);filter:drop-shadow(0 8px 24px rgba(0,0,0,.45));animation:hburst .85s cubic-bezier(.2,.9,.3,1.2) forwards}
@keyframes hburst{35%{transform:translate(-50%,-50%) scale(1.1);opacity:1}60%{transform:translate(-50%,-50%) scale(.95)}100%{transform:translate(-50%,-90%) scale(1);opacity:0}}
.freact.pop .emo{display:inline-block;animation:rpop .4s cubic-bezier(.2,.9,.3,1.4)}
@keyframes rpop{0%{transform:scale(.4)}60%{transform:scale(1.3)}}
.freact{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}
.rpop{position:fixed;z-index:60;display:flex;gap:2px;padding:6px;border-radius:999px;background:rgba(18,24,42,.62);-webkit-backdrop-filter:blur(22px) saturate(1.7);backdrop-filter:blur(22px) saturate(1.7);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 0 0 1px rgba(255,255,255,.08),0 18px 40px -12px rgba(0,0,0,.6);animation:rpin .22s cubic-bezier(.2,.9,.3,1.2) both;transform-origin:20% 100%}
.rpop.out{animation:vw-fadeout .16s ease both}
.rpop button{width:44px;height:44px;border:0;border-radius:50%;background:none;font-size:27px;line-height:1;cursor:pointer;animation:rpin .3s cubic-bezier(.2,.9,.3,1.3) both;animation-delay:calc(var(--i) * 25ms);transition:transform .15s ease}
.rpop button:hover,.rpop button:active{transform:scale(1.28) translateY(-4px)}
.rpop button.on{background:rgba(255,255,255,.16)}
@keyframes rpin{from{opacity:0;transform:scale(.5) translateY(8px)}}
.hh{display:inline-grid;place-items:center;vertical-align:middle}
.hh svg{width:1em;height:1em;filter:drop-shadow(0 0 6px rgba(255,255,255,.35))}
.freact .emo.hh svg{width:24px;height:24px}
.rpop .hh svg{width:26px;height:26px}
.hburst.hh svg{width:92px;height:92px;opacity:.92;filter:drop-shadow(0 0 18px rgba(255,255,255,.55)) drop-shadow(0 10px 30px rgba(0,0,0,.35))}
/* B116: kommentarer i et gjennomsiktig glassark over den nedtonede feeden */
.cmov{position:fixed;inset:0;z-index:45;display:flex;flex-direction:column;justify-content:flex-end;--dim:1;background:rgba(3,6,14,calc(.42 * var(--dim)));animation:vw-fade .25s ease both;color:#f4f7fb}
.cmov.out{animation:vw-fadeout .28s ease both}
.cm-panel{position:relative;max-height:min(72vh,680px);min-height:38vh;display:flex;flex-direction:column;margin:0 auto;width:100%;max-width:620px;border-radius:28px 28px 0 0;
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(16,22,40,.34) 30%,rgba(10,14,28,.62) 75%,rgba(8,12,24,.86));
  -webkit-backdrop-filter:blur(26px) saturate(1.8);backdrop-filter:blur(26px) saturate(1.8);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 0 0 1px rgba(255,255,255,.07),0 -24px 60px -20px rgba(0,0,0,.55);
  padding:0 0 calc(10px + env(safe-area-inset-bottom,0px));animation:cm-up .42s cubic-bezier(.16,1,.3,1) both;will-change:transform;touch-action:pan-y}
.cm-grab{display:flex;justify-content:center;padding:9px 0 2px;cursor:grab}
.cm-grab i{width:38px;height:5px;border-radius:9px;background:rgba(255,255,255,.38)}
.cm-head{display:flex;align-items:center;justify-content:space-between;padding:4px 14px 6px 20px}
.cm-head b{font-size:15px;font-weight:600;letter-spacing:.01em;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.cm-x{width:32px;height:32px;border-radius:50%;border:0;display:grid;place-items:center;background:rgba(255,255,255,.14);color:#fff;cursor:pointer}
.cm-x svg{width:15px;height:15px}
.cm-body{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:14px;padding:8px 20px 14px;min-height:90px;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 14px,#000 calc(100% - 18px),transparent);mask-image:linear-gradient(180deg,transparent,#000 14px,#000 calc(100% - 18px),transparent)}
.cm-cap{margin:0;font-size:15px;line-height:1.45;text-shadow:0 1px 10px rgba(0,0,0,.45)}
.cm-meta{margin:-6px 0 0;font-size:12.5px;color:rgba(244,247,251,.62)}
.cm-empty{margin:auto 0;text-align:center;color:rgba(244,247,251,.65);font-size:14px}
.cm-i{display:flex;gap:11px;align-items:flex-start;animation:cm-in .35s ease both}
.cm-i .av{width:34px;height:34px;font-size:12px;flex:none;box-shadow:0 4px 14px -4px rgba(0,0,0,.5)}
.cm-t{min-width:0;flex:1}
.cm-who{display:flex;gap:8px;align-items:baseline;font-size:13px}
.cm-who b{font-weight:600}
.cm-who span{color:rgba(244,247,251,.55);font-size:12px}
.cm-t p{margin:2px 0 0;font-size:15px;line-height:1.42;overflow-wrap:anywhere;text-shadow:0 1px 10px rgba(0,0,0,.4)}
.cm-acts{display:flex;gap:14px;margin-top:3px}
.cm-acts:empty{display:none}
.cm-a{background:none;border:0;padding:0;font:inherit;font-size:12px;font-weight:600;color:rgba(244,247,251,.5);cursor:pointer}
.cm-a:hover{color:#fff}
.cmov .cm-form{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center;gap:8px;margin:2px 12px 0;padding:5px 5px 5px 16px;border-radius:999px;background:rgba(12,16,30,.5);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.cmov .cm-form input{flex:1;min-width:0;border:0;background:none;color:#fff;font:inherit;font-size:16px;padding:8px 0;outline:none}
.cmov .cm-form input::placeholder{color:rgba(244,247,251,.55)}
.cm-send{flex:none;width:36px;height:36px;border-radius:50%;border:0;display:grid;place-items:center;background:#f4f7fb;color:#0b1220;cursor:pointer;transition:transform .2s ease,opacity .2s ease}
.cm-send svg{width:18px;height:18px}
.cm-send:disabled{opacity:.35;transform:scale(.88);cursor:default}
@keyframes cm-up{from{transform:translateY(100%)}}
@keyframes cm-in{from{opacity:0;transform:translateY(6px)}}
@keyframes vw-fade{from{opacity:0}}
@keyframes vw-fadeout{to{opacity:0}}
@media (prefers-reduced-motion:reduce){.cm-panel,.cm-i,.cmov{animation:none}}
/* Ark: bakgrunnen ruller ikke mens et ark er åpent */
html:has(.sheet-bg),html:has(.sheet-bg) body{overflow:hidden}
.sheet{overscroll-behavior:contain}
/* B117: hvem som har reagert, som ansikter med en liten reaksjon, og navn uten tall */
.fact{align-items:center}
.rstrip{margin-left:auto;display:flex;align-items:center;gap:8px;min-width:0;max-width:58%;padding:4px 4px 4px 2px;border:0;background:none;color:var(--ink-2);font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;animation:cm-in .3s ease both}
.rstrip[hidden]{display:none}
.rs-f{display:flex;flex:none}
.rs-a{position:relative;margin-left:-5px;z-index:calc(3 - var(--i))}
.rs-a:first-child{margin-left:0}
.rs-a .av{width:26px;height:26px;font-size:10px;box-shadow:0 0 0 2px rgba(20,28,48,.9),0 4px 10px -4px rgba(0,0,0,.6)}
.rs-a i,.rx-p i{position:absolute;right:-4px;bottom:-3px;font-style:normal;font-size:11px;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}
.rs-a i .hh svg{width:11px;height:11px}
.rs-t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rx-i{display:flex;align-items:center;gap:12px;animation:cm-in .35s ease both}
.rx-p{position:relative;flex:none;text-decoration:none}
.rx-p .av{width:40px;height:40px;font-size:14px;box-shadow:0 6px 16px -6px rgba(0,0,0,.6)}
.rx-p i{font-size:15px;right:-5px;bottom:-4px}
.rx-p i .hh svg{width:15px;height:15px}
.rx-n{flex:1;min-width:0;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 10px rgba(0,0,0,.4)}
.rx-ask{flex:none;border:0;border-radius:999px;padding:8px 14px;font:inherit;font-size:13px;font-weight:600;background:rgba(255,255,255,.9);color:#0b1220;cursor:pointer}
.rx-ask:disabled{opacity:.5}
.rx-s{flex:none;font-size:12.5px;color:rgba(244,247,251,.55);font-weight:600}
/* B119: skjulte meldinger, gruppe på pause og meldingsforespørsler */
.msg.hiddenmsg .mb{background:rgba(255,255,255,.05);border:1px dashed rgba(255,255,255,.18)}
.msg.hiddenmsg .hm{display:flex;gap:8px;align-items:flex-start;margin:0;font-size:13.5px;color:rgba(242,246,251,.7);font-style:italic}
.msg.hiddenmsg .hm svg{width:16px;height:16px;flex:none;margin-top:2px}
.gnote{position:sticky;bottom:calc(10px + env(safe-area-inset-bottom,0px));margin:10px 12px;display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:18px;background:rgba(18,26,46,.72);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);font-size:14px;color:rgba(242,246,251,.85)}
.gnote>span b{display:block;color:#f2f6fb;margin-bottom:2px}
.gnote.frozen{flex-direction:row;align-items:flex-start;gap:10px}
.gnote.frozen svg{width:20px;height:20px;flex:none;margin-top:1px}
.gnote .row{gap:8px;flex-wrap:wrap}
.rqtag{display:inline-block;font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;background:rgba(255,255,255,.14);color:#f2f6fb}
.modx{display:flex;flex-direction:column;gap:6px;margin:6px 0;padding:10px;border-radius:12px;background:rgba(0,0,0,.18)}
.modx .xm{font-size:13.5px;padding:6px 8px;border-radius:8px}
.modx .xm.t{background:rgba(255,184,77,.16);box-shadow:inset 0 0 0 1px rgba(255,184,77,.4)}
.modx .xm b{margin-right:6px}
.modx .xm img,.modx .xm video{display:block;max-width:100%;max-height:220px;border-radius:8px;margin-top:6px}
.srcki{background:rgba(127,209,185,.2)!important}
/* B121: kryptering */
.e2eline{display:block;margin:4px 16px 0;font-size:12px;color:rgba(242,246,251,.55);text-align:center}
.e2eline svg{width:13px;height:13px;vertical-align:-2px;margin-right:5px}
.e2eline.on{color:rgba(127,209,185,.85)}
.msg .locked{display:flex;gap:8px;align-items:flex-start;margin:0;font-size:13px;font-style:italic;color:rgba(242,246,251,.65)}
.msg .locked svg{width:15px;height:15px;flex:none;margin-top:2px}
.devic{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);flex:none}
.devic svg{width:18px;height:18px}
img.cmedia[data-encurl]:not([src]){min-height:160px;background:rgba(255,255,255,.06)}
/* B122: finn venner */
.searchbox{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:999px;background:var(--glass);border:1px solid var(--line)}
.searchbox svg{width:20px;height:20px;flex:none;opacity:.7}
.searchbox input{flex:1;min-width:0;border:0;background:none;color:inherit;font:inherit;font-size:16px;outline:none}
.searchbox input::-webkit-search-cancel-button{filter:invert(1)}
.plist{gap:4px}
.prow{display:flex;align-items:center;gap:10px;padding:8px 4px;border-radius:14px;transition:opacity .25s ease,transform .25s ease}
.prow.gone,.pcard.gone{opacity:0;transform:scale(.96)}
.prow-a{flex:1;min-width:0;display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}
.prow-a .av{width:44px;height:44px;font-size:15px;flex:none}
.prow-t{display:flex;flex-direction:column;min-width:0}
.prow-t b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prow-t span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prow .btn.sm{flex:none}
.prow-x{flex:none;font-size:20px;opacity:.6}
.sugg .pcards{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -16px;padding:2px 16px 6px}
.pcard{position:relative;flex:0 0 150px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 10px 12px;border-radius:20px;background:var(--glass);border:1px solid var(--line);text-align:center;transition:opacity .25s ease,transform .25s ease}
.pcard>a{display:flex;flex-direction:column;align-items:center;gap:6px;color:inherit;text-decoration:none;min-width:0;width:100%}
.pcard .av{width:64px;height:64px;font-size:20px;box-shadow:0 10px 24px -10px rgba(0,0,0,.6)}
.pcard b{font-weight:600;font-size:14.5px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pcard .small{font-size:12px;line-height:1.3;min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pcard .btn{width:100%}
.pc-x{position:absolute;top:4px;right:6px;font-size:18px;opacity:.55}
.agecard{transition:opacity .25s ease,transform .25s ease}.agecard.gone{opacity:0;transform:scale(.97)}
.bkline{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.bkline p{margin:0}
/* B124: forhåndsvisning av lenker i samtaler */
.lcard{display:flex;flex-direction:column;margin:2px 0 4px;border-radius:14px;overflow:hidden;background:rgba(0,0,0,.22);color:inherit;text-decoration:none;max-width:320px}
.msg.mine .lcard{background:rgba(11,18,32,.08)}
.lcard img{display:block;width:100%;aspect-ratio:1.91/1;object-fit:cover;background:rgba(255,255,255,.06)}
.lcard .lc-t{display:flex;flex-direction:column;gap:2px;padding:10px 12px 11px}
.lcard .lc-t b{font-size:14.5px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.lcard .lc-t span{font-size:12.5px;opacity:.65}
.msg.has-link .mb{max-width:min(320px,78vw)}
.msg .mb p a{color:inherit;text-decoration:underline;text-underline-offset:2px;word-break:break-all}
.linkprev{position:absolute;left:12px;right:12px;bottom:100%;margin-bottom:8px;display:flex;align-items:center;gap:8px;padding:6px;border-radius:16px;background:rgba(10,18,34,.92);border:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.linkprev[hidden]{display:none}
.linkprev .lcard{flex-direction:row;align-items:center;max-width:none;flex:1;margin:0}
.linkprev .lcard img{width:64px;height:64px;aspect-ratio:auto;flex:none}
.linkprev .lp-x{font-size:20px;opacity:.7;align-self:center}
/* B126: hold inne på en melding. Meldingen krymper litt mens du holder, og løftes så over et uskarpt lag med valgene under. */
.chat .msg .mb{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.chat .msg.pressing .mb{transform:scale(.96);transition-duration:.43s}
.msg.vanish{opacity:0;transform:scale(.92);height:0!important;margin:0!important;padding:0!important;overflow:hidden;transition:opacity .2s ease,transform .25s ease,height .3s ease .05s,margin .3s ease .05s}
.mmenu-bg{position:fixed;inset:0;z-index:90;background:rgba(6,10,20,.35);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);opacity:0;transition:opacity .18s ease}
.mmenu-bg.in{opacity:1}
.mmenu-bg.out{opacity:0}
.mm-lift{position:fixed;overflow:hidden;display:flex;transform:scale(.97);transition:transform .32s cubic-bezier(.2,.9,.25,1.2)}
.mm-lift.mine{justify-content:flex-end}
.mmenu-bg.in .mm-lift{transform:scale(1.02)}
.mm-lift .msg{display:flex;margin:0;width:100%;justify-content:flex-start}
.mm-lift .msg.mine{justify-content:flex-end}
.mm-lift .mb{box-shadow:0 18px 40px rgba(0,0,0,.45);max-width:100%;pointer-events:none}
.mm-lift .msg:not(.mine) .mb{background:rgba(48,54,70,.94)}
.mmenu{position:fixed;min-width:220px;border-radius:16px;overflow:hidden;background:rgba(36,40,52,.82);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 50px rgba(0,0,0,.45);transform:scale(.6);opacity:0;transform-origin:top left;transition:transform .3s cubic-bezier(.2,.9,.25,1.15),opacity .15s ease}
.mmenu.mine{transform-origin:top right}
.mmenu-bg.in .mmenu{transform:none;opacity:1}
.mmenu button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:24px;padding:13px 16px;background:none;border:0;color:#f2f6fb;font:inherit;font-size:16px;text-align:left;cursor:pointer}
.mmenu button+button{border-top:1px solid rgba(255,255,255,.09)}
.mmenu button svg{width:20px;height:20px;flex:none;opacity:.9}
.mmenu button:focus-visible{background:rgba(255,255,255,.08);outline:none}
@media (hover:hover){.mmenu button:hover{background:rgba(255,255,255,.08)}}
.mmenu button.danger{color:#ff8f8f}
.mmenu button.danger.confirm{background:rgba(255,90,90,.18);font-weight:600}
@media (prefers-reduced-motion:reduce){.mm-lift,.mmenu,.chat .msg .mb,.msg.vanish{transition:none}}
/* B129: bursdager. Rolig: et kort på dagen, en linje når det er snart, en liste under Skjer. */
.bdcard{display:flex;flex-direction:column;gap:10px}
.bdcard.self{flex-direction:row;align-items:center;gap:14px;background:linear-gradient(135deg,rgba(255,184,77,.16),rgba(214,63,126,.14));border-color:rgba(255,200,120,.28)}
.bdcard.self div{display:flex;flex-direction:column;gap:2px}
.bdcake{font-size:30px;line-height:1}
.bdh{margin:0;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.bdrow{display:flex;align-items:center;justify-content:space-between;gap:10px}
.bdrow .prow-a{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;min-width:0}
.bdrow .av{width:40px;height:40px;font-size:15px;flex:none}
.bdrow b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bdsoon{display:flex;flex-direction:column;gap:4px}
.bdsoon a{color:var(--ink-2);text-decoration:none;font-size:14px}
.bdsoon b{color:var(--ink);font-weight:600}
.bdpick{display:grid;grid-template-columns:1fr 1.6fr;gap:10px}
.bdpick select{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:var(--r-sm);padding:13px 14px;outline:none;-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-2) 50%),linear-gradient(135deg,var(--ink-2) 50%,transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-size:5px 5px;background-repeat:no-repeat}
.bdpick select:focus{border-color:var(--ink)}
.bdpick option{color:#0a1222}
.bdline{display:flex;align-items:center;gap:12px;padding:8px 12px 8px 8px;border-radius:16px;background:var(--glass);border:1px solid var(--line);color:var(--ink);text-decoration:none}
.bdline .av{width:40px;height:40px;font-size:15px;flex:none}
.bdline .bdl-t{display:flex;flex-direction:column;flex:1;min-width:0}
.bdline.today{border-color:rgba(255,200,120,.4);background:linear-gradient(135deg,rgba(255,184,77,.14),rgba(214,63,126,.1))}
.pbday{margin:0;font:inherit;font-size:14px;color:var(--ink-2);background:none;border:0;padding:2px 8px;border-radius:10px}
button.pbday{cursor:pointer}
@media (hover:hover){button.pbday:hover{background:var(--glass)}}
.pbday.today{color:var(--ink);font-weight:600}
#bday{display:flex;flex-direction:column;gap:12px}
#bday:empty{display:none}
/* B130: innlegg i Prat får bildet sitt som tonet bakgrunn og som miniatyr */
.pav.pimg{overflow:hidden;padding:0;border-radius:14px}
.pav.pimg img{width:100%;height:100%;object-fit:cover;display:block}
/* B130: aktivitet */
.bell{position:relative}
.bdot{position:absolute;top:9px;right:10px;width:9px;height:9px;border-radius:50%;background:#ff6b6b;box-shadow:0 0 0 2px var(--base)}
.bdot[hidden]{display:none}
.actsec{display:flex;flex-direction:column}
.actlist{display:flex;flex-direction:column;gap:6px}
.actrow{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 10px;border-radius:16px;color:var(--ink);text-decoration:none;border:1px solid transparent}
.actrow.new{background:var(--glass);border-color:var(--line)}
@media (hover:hover){.actrow:hover{background:var(--glass)}}
.actrow .av{width:44px;height:44px;font-size:16px;flex:none}
.actrow .pav svg{width:20px;height:20px}
.act-t{display:flex;flex-direction:column;min-width:0;flex:1;gap:1px}
.act-t b{font-weight:600;font-size:15px;line-height:1.3}
.act-t span{color:var(--ink-2);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.act-at{font-size:12px;color:var(--ink-2);flex:none;align-self:flex-start;margin-top:3px}
.actempty{flex-direction:row;align-items:flex-start;gap:12px}
.actempty svg{width:24px;height:24px;opacity:.7}
.cmi.flash,.post .fact.flash,.post .rstrip.flash{animation:actflash 2.4s ease;border-radius:14px}
@keyframes actflash{0%,35%{background:rgba(255,211,107,.18);box-shadow:0 0 0 6px rgba(255,211,107,.18)}100%{background:transparent;box-shadow:0 0 0 0 transparent}}
/* B131: del som innlegg */
.sp-prev{width:100%;max-height:34vh;object-fit:contain;border-radius:16px;background:rgba(0,0,0,.25);display:block}
.mo-head .mo-keep{margin-left:auto;font-weight:500;opacity:.9}
.mo-head .mo-keep+.mo-del-s{margin-left:0}
.mo-view~.sheet-bg{z-index:70}
/* B132: åpne grupper */
.vbadge{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#4aa3ff;color:#fff;vertical-align:2px;margin-left:2px}
.vbadge svg{width:12px;height:12px;stroke-width:3}
.oglist{display:flex;flex-direction:column;gap:10px}
.ogcard{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:var(--r-md);background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.og-h{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}
.og-ic{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;flex:none;background:linear-gradient(135deg,var(--c1),var(--c3));color:#fff}
.og-ic svg{width:22px;height:22px}
.og-ic.big{width:72px;height:72px;border-radius:22px}
.og-ic.big svg{width:34px;height:34px}
.og-t{display:flex;flex-direction:column;min-width:0}
.og-t b{font-weight:650}
.og-about{margin:0;font-size:15px;color:var(--ink);opacity:.92;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap}
.og-about.full{-webkit-line-clamp:unset;display:block}
.og-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}
.og-foot .btn{margin-left:auto}
.og-known{display:flex;align-items:center;gap:0;min-width:0}
.og-known .av{width:26px;height:26px;font-size:10px;margin-left:-6px;box-shadow:0 0 0 2px var(--base)}
.og-known .av:first-child{margin-left:0}
.og-known span:last-child{margin-left:8px;font-size:13px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ogpre{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}
.ogpre .done-title{font-size:30px}
.gs-of{display:flex;flex-direction:column;gap:12px}
.gs-of[hidden]{display:none}
/* B134: store emojier og reaksjoner */
.msg.jumbo .mb{background:none!important;border-color:transparent!important;box-shadow:none;padding:0 2px}
.msg.jumbo .mb>p{font-size:54px;line-height:1.08;letter-spacing:2px}
.msg.jumbo .mt{color:var(--ink);opacity:.5}
.mb{position:relative}
.msg.has-rx,.msg:has(.mreact){margin-top:14px}
.mreact{position:absolute;top:-16px;right:-8px;display:flex;align-items:center;gap:0;padding:3px 6px;border-radius:999px;background:rgba(40,46,62,.96);border:1.5px solid var(--base);box-shadow:0 4px 12px rgba(0,0,0,.35);font-size:14px;line-height:1;cursor:pointer;z-index:2}
.msg.mine .mreact{right:auto;left:-8px}
.mreact span+span{margin-left:-2px}
.mreact.mine{background:#3b6fd8}
.mreact.pop{animation:rxpop .42s cubic-bezier(.2,1.6,.4,1)}
@keyframes rxpop{0%{transform:scale(.2)}100%{transform:none}}
.rxe{font-size:26px;width:36px;text-align:center}
.mm-rx{position:fixed;display:flex;gap:2px;padding:6px;border-radius:999px;background:rgba(36,40,52,.86);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border:1px solid rgba(255,255,255,.12);box-shadow:0 14px 40px rgba(0,0,0,.4);transform:scale(.6) translateY(10px);opacity:0;transform-origin:bottom left;transition:transform .32s cubic-bezier(.2,.9,.25,1.2),opacity .15s ease}
.mm-rx.mine{transform-origin:bottom right}
.mmenu-bg.in .mm-rx{transform:none;opacity:1}
.mm-rx button{width:44px;height:44px;border:0;border-radius:50%;background:none;font-size:26px;line-height:1;cursor:pointer;transition:transform .15s}
.mm-rx button:active{transform:scale(1.25)}
.mm-rx button[aria-pressed="true"]{background:rgba(74,163,255,.35)}
/* B135: meldingseffekter */
.fxl{grid-column:2;justify-self:start;background:none;border:0;color:var(--ink-2);font:inherit;font-size:11.5px;padding:2px 4px;cursor:pointer;opacity:.85}
.msg.mine .fxl{grid-column:1;justify-self:end}
.msg.fx-play.fx-boble-smell .mb{animation:fxSlam .62s cubic-bezier(.2,.8,.3,1)}
@keyframes fxSlam{0%{transform:scale(2.6) rotate(-6deg);opacity:0}45%{transform:scale(.9);opacity:1}62%{transform:scale(1.05)}100%{transform:none}}
.msgs.fx-shake{animation:fxShake .45s ease .28s}
@keyframes fxShake{0%,100%{transform:none}20%{transform:translate(-4px,2px)}40%{transform:translate(4px,-2px)}60%{transform:translate(-3px,1px)}80%{transform:translate(2px,-1px)}}
.msg.fx-play.fx-boble-hoyt .mb{animation:fxLoud 1.3s ease}
@keyframes fxLoud{0%{transform:none}18%{transform:scale(1.65)}24%{transform:scale(1.65) rotate(-3deg)}30%{transform:scale(1.65) rotate(3deg)}36%{transform:scale(1.65) rotate(-3deg)}42%{transform:scale(1.65) rotate(2deg)}60%{transform:scale(1.65)}100%{transform:none}}
.msg.fx-play.fx-boble-lavt .mb{animation:fxGentle 1.9s cubic-bezier(.3,.6,.3,1)}
@keyframes fxGentle{0%{transform:scale(.35);opacity:.25}55%{transform:scale(.6);opacity:.8}100%{transform:none;opacity:1}}
.msg.mine.fx-play .mb{transform-origin:right bottom}
.msg:not(.mine).fx-play .mb{transform-origin:left bottom}
.msg.fx-boble-blekk:not(.revealed) .mb>p,.msg.fx-boble-blekk:not(.revealed) .mb>img,.msg.fx-boble-blekk:not(.revealed) .mb>.lcard{filter:blur(7px);opacity:.75}
.msg.fx-boble-blekk:not(.revealed) .mb{background-image:radial-gradient(rgba(255,255,255,.55) 1px,transparent 1.5px);background-size:7px 7px;animation:fxInk 1.2s linear infinite}
@keyframes fxInk{to{background-position:7px 7px}}
.msg.fx-boble-blekk .mb>p{transition:filter .5s ease,opacity .5s ease}
.fxc{display:inline-block;white-space:pre}
.msg.fx-play.fx-tekst-stor .fxc{animation:fxBig 1.3s ease calc(var(--i) * 40ms)}
@keyframes fxBig{0%,100%{transform:none}35%{transform:scale(1.9)}}
.msg.fx-play.fx-tekst-rist .fxc{animation:fxJit .12s linear 10 calc(var(--i) * 7ms)}
@keyframes fxJit{0%{transform:translate(0,0)}25%{transform:translate(-1.5px,1px) rotate(-4deg)}50%{transform:translate(1.5px,-1px)}75%{transform:translate(-1px,-1.5px) rotate(4deg)}100%{transform:none}}
.msg.fx-play.fx-tekst-bolge .fxc{animation:fxWave 1.1s ease-in-out 2 calc(var(--i) * 45ms)}
@keyframes fxWave{0%,100%{transform:none}50%{transform:translateY(-7px)}}
.msg.fx-play.fx-tekst-hopp .fxc{animation:fxHop .55s cubic-bezier(.3,1.6,.5,1) calc(var(--i) * 55ms)}
@keyframes fxHop{0%,100%{transform:none}40%{transform:translateY(-12px) scale(1.15)}}
.sfx{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:96;transition:opacity .9s ease}
.sfx.out{opacity:0}
.sfx.hearts i{position:absolute;bottom:-60px;font-style:normal;animation:fxHeart linear forwards;will-change:transform}
@keyframes fxHeart{0%{transform:translateY(0) scale(.6);opacity:0}10%{opacity:1}100%{transform:translateY(-115vh) scale(1.1) rotate(12deg);opacity:0}}
.fxp{position:fixed;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom,0px));max-width:520px;margin:0 auto;padding:14px;border-radius:22px;background:rgba(30,34,46,.9);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 60px rgba(0,0,0,.5);transform:translateY(20px) scale(.96);opacity:0;transition:transform .3s cubic-bezier(.2,.9,.25,1.1),opacity .15s ease;color:#f2f6fb}
.mmenu-bg.in .fxp{transform:none;opacity:1}
.fxp-prev{display:flex;justify-content:flex-end;margin-bottom:6px}
.fxp-prev span{background:var(--btn);color:var(--btn-ink);border-radius:18px 18px 6px 18px;padding:8px 12px;max-width:80%;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fxp-h{margin:10px 2px 6px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(242,246,251,.6)}
.fxp-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -14px;padding:0 14px}
.fxp-row button{flex:none;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:74px;padding:10px 8px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.06);color:inherit;font:inherit;font-size:13px;cursor:pointer}
.fxp-row button:focus-visible,.fxp-row button:hover{background:rgba(255,255,255,.14);outline:none}
.fxp-ic{font-size:24px;line-height:1}
@media (prefers-reduced-motion:reduce){.msg.fx-play .mb,.msg.fx-play .fxc,.msgs.fx-shake{animation:none!important}}
.chips.wrap{flex-wrap:wrap;overflow:visible}
#ogcats:empty,#ogareas:empty{display:none}
/* B139: bursdagsinnlegg og hjerter på hilsener */
.fitem.bday{border-color:rgba(255,200,120,.45);background:linear-gradient(160deg,rgba(255,184,77,.16),rgba(214,63,126,.12) 45%,var(--glass))}
/* B161: bursdagskortet */
.bdhero{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;gap:4px;padding:30px 18px 26px;margin:2px 0 4px;border-radius:18px;overflow:hidden;text-decoration:none;color:#fff;text-align:center;background:radial-gradient(130% 95% at 50% -5%,#ffd27f 0%,#f5847a 38%,#b1478f 72%,#53287a 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.bdhero::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.55;background:radial-gradient(circle,rgba(255,255,255,.55) 0 1.2px,transparent 2px) 0 0/34px 34px,radial-gradient(circle,rgba(255,240,200,.4) 0 1px,transparent 1.6px) 17px 17px/34px 34px}
.bdhero .bdface{width:116px;height:116px;margin-bottom:8px}
.bdtxt{display:flex;flex-direction:column;align-items:center;gap:4px}
/* B187: stjernebildet som bakgrunn, profilbildet øverst og hilsenen nederst på ett kort */
.bdhero.photo{aspect-ratio:4/5;max-height:620px;width:100%;max-width:520px;margin-inline:auto;box-sizing:border-box;justify-content:space-between;padding:26px 18px 24px;background:linear-gradient(180deg,rgba(20,8,40,.28) 0%,rgba(20,8,40,0) 30%,rgba(20,8,40,.05) 52%,rgba(28,10,52,.78) 100%),var(--bdbg) center/cover,#53287a}
.bdhero.photo::before{opacity:.22}
.bdhero.photo .bdtxt{text-shadow:0 1px 14px rgba(0,0,0,.45)}
.bdface{position:relative;flex:none;display:block;width:56px;height:56px;border-radius:50%;padding:4px;background:conic-gradient(from 40deg,rgba(255,255,255,.75),rgba(255,190,240,.6),rgba(180,235,255,.6),rgba(255,250,190,.6),rgba(255,255,255,.75));box-shadow:0 10px 28px rgba(60,10,60,.35),inset 0 0 0 1px rgba(255,255,255,.7);animation:bdfloat 6s ease-in-out infinite}
.bdface img,.bdini{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;object-fit:cover;color:#fff;font-weight:700;font-size:38%}
.bdhero .bdini{font-size:40px}
.bdface::after{content:"";position:absolute;left:20%;top:11%;width:32%;height:19%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.9),transparent);transform:rotate(-32deg);pointer-events:none}
.bdtag{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.9}
.bdgreet{max-width:20ch;font-size:clamp(23px,6.4vw,29px);font-weight:750;line-height:1.14;letter-spacing:-.01em;text-wrap:balance;text-shadow:0 2px 16px rgba(80,0,60,.4)}
.bdb{position:absolute;inset:0;z-index:-1;pointer-events:none}
.bdb i{position:absolute;left:var(--x);bottom:var(--y);width:var(--s);height:calc(var(--s) * 1.18);border-radius:50% 50% 46% 46%/54% 54% 46% 46%;
  background:radial-gradient(circle at 30% 24%,rgba(255,255,255,.9) 0 5%,rgba(255,255,255,.35) 11%,transparent 24%),radial-gradient(circle at 68% 82%,rgba(0,0,0,.28),transparent 58%),var(--c);
  box-shadow:inset -3px -5px 10px rgba(0,0,0,.18),0 8px 18px rgba(0,0,0,.18);opacity:.96;transform-origin:50% 120%;animation:bdbob var(--d) ease-in-out infinite alternate}
/* B194: knute og en snor som svinger */
.bdb i::before{content:"";position:absolute;left:50%;top:97%;width:calc(var(--s) * .2);height:calc(var(--s) * .13);transform:translateX(-50%);background:var(--c);clip-path:polygon(50% 0,100% 100%,0 100%);filter:brightness(.82)}
.bdb i::after{content:"";position:absolute;left:50%;top:calc(100% + var(--s) * .12);width:10px;height:calc(var(--s) * 1.6);transform:translateX(-50%);opacity:.75;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 60' preserveAspectRatio='none'%3E%3Cpath d='M5 0 C1 8 9 15 5 23 S1 38 5 46 S9 55 6 60' fill='none' stroke='white' stroke-width='1.1' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat}
/* B194: når kortet kommer til syne, stiger ballongene opp fra bunnen før de svaier */
.bdhero.wait .bdb i{opacity:0}
.bdhero.go .bdb i{animation:bdrise 1.9s cubic-bezier(.2,.75,.3,1) var(--w,0s) both,bdbob var(--d) ease-in-out calc(var(--w,0s) + 1.9s) infinite alternate}
@keyframes bdrise{from{transform:translateY(260%) rotate(-8deg);opacity:0}25%{opacity:.96}to{transform:translateY(0) rotate(0);opacity:.96}}
.bdconf{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2}
.bdconf i{position:absolute;top:-14px;left:var(--x);width:7px;height:12px;border-radius:2px;background:var(--c);animation:bdfall var(--d) cubic-bezier(.25,.6,.45,1) var(--w) both}
@keyframes bdfall{from{transform:translate(0,0) rotate(0)}to{transform:translate(var(--dx),380px) rotate(var(--r));opacity:.15}}
@keyframes bdbob{from{transform:translateY(0) rotate(-5deg)}to{transform:translateY(-9px) rotate(5deg)}}
@keyframes bdfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.bdcard.self{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:radial-gradient(140% 120% at 0% 0%,#ffcf7a,#f07f7e 45%,#9c3f8c 85%);border-color:rgba(255,220,170,.4)}
.bdcard.self b{font-size:18px;line-height:1.2}
.bdcard.self .small{color:rgba(255,255,255,.88)}
.bdcard.self .bdb i{opacity:.4}.bdcard.self .bdb i:nth-child(-n+2){display:none}
.bdcard.self .bdface{width:64px;height:64px}.bdcard.self .bdini{font-size:22px}
@media (prefers-reduced-motion:reduce){.bdface,.bdb i,.bdhero.go .bdb i{animation:none}.bdhero.wait .bdb i{opacity:.96}.bdconf{display:none}}
.fgrat{background:rgba(255,200,120,.16)!important;border-color:rgba(255,200,120,.35)!important}
.cm-tools{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.cm-i.cm-new{background:rgba(255,211,107,.07);border-radius:14px}
.cm-hb{flex:none;align-self:center;display:grid;place-items:center;width:44px;height:44px;margin:-6px -8px -6px 0;border:0;background:none;color:rgba(244,247,251,.62);font-size:18px;line-height:1;cursor:pointer;border-radius:50%}
.cm-hb svg{width:20px;height:20px}
.cm-hb:hover{color:#fff}
.cm-hb.on{color:#ff6b81}
.cm-hb.pop{animation:rxpop .42s cubic-bezier(.2,1.6,.4,1)}
.cm-oh{font-size:12px;color:var(--ink-2)}
.cm-i.flash{animation:actflash 1.6s ease}
/* B140: @-nevning */
a.ment{color:#8ec5ff;font-weight:600;text-decoration:none}
.msg.mine a.ment{color:#1d5fc4}
.mpop{position:fixed;z-index:120;display:flex;flex-direction:column;padding:6px;border-radius:16px;background:rgba(30,34,46,.94);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border:1px solid rgba(255,255,255,.12);box-shadow:0 16px 44px rgba(0,0,0,.45);max-height:260px;overflow:auto}
.mpop button{display:flex;align-items:center;gap:10px;padding:8px 10px;border:0;border-radius:12px;background:none;color:#f2f6fb;font:inherit;font-size:15px;text-align:left;cursor:pointer}
.mpop button:hover,.mpop button:focus-visible{background:rgba(255,255,255,.1);outline:none}
.mpop .av{width:30px;height:30px;font-size:11px;flex:none}
.tagq{margin-top:10px}
body:has(.cmov) .sheet-bg{z-index:60} /* ark som åpnes fra kommentarene (Takk alle, rapporter) legger seg over dem */
/* B144: kontrollrommet (/drift). Laget for PC, virker på mobil. */
@media (min-width:1100px){body:has(.view.drift) .app{max-width:1120px}}
.view.drift .dr-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.view.drift .dr-head .done-title{margin:0}
.dcount{display:inline-flex;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#ff4f6d;color:#fff;font-size:12px;align-items:center;justify-content:center;margin-left:4px}
.dcount[hidden]{display:none}
.dr-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media (max-width:640px){.dr-tiles{grid-template-columns:repeat(2,1fr)}}
.dtile{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 16px;border-radius:18px;background:var(--glass);border:1px solid var(--line);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background .2s ease}
.dtile:hover{background:rgba(255,255,255,.09)}
.dtile b{font-size:28px;line-height:1.1;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.dtile span{font-size:13px;color:var(--ink-2)}
.dtile.warn{border-color:rgba(255,176,46,.5);background:rgba(255,176,46,.1)}
.dr-filters{margin:4px 0 2px}
.dr-filters .cn{opacity:.75;font-weight:700}
.dr-list{gap:12px}
.case .case-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.case .case-who{margin-left:auto}
.case-t{margin:0;white-space:pre-wrap;line-height:1.5}
.case-act{flex-wrap:wrap;align-items:center;gap:8px}
.case-act .dec{display:inline-flex;gap:6px;margin-right:6px}
.case-act .dec [aria-pressed="true"]{box-shadow:0 0 0 2px #fff}
.case-act .kindsel{margin-left:auto}
.case-act select{font:inherit;font-size:13px;padding:6px 10px;border-radius:999px;background:var(--field);color:var(--ink);border:1px solid var(--line)}
.case.st-lost,.case.st-avvist,.case.st-parkert{opacity:.78}
.pill.k-feil{background:rgba(255,79,109,.16);border-color:rgba(255,79,109,.4)}
.pill.k-forslag{background:rgba(123,108,255,.18);border-color:rgba(123,108,255,.45)}
.pill.k-personvern{background:rgba(255,176,46,.16);border-color:rgba(255,176,46,.45)}
.pill.k-ros{background:rgba(47,191,168,.16);border-color:rgba(47,191,168,.45)}
.pill.s-venter{background:rgba(255,176,46,.2);border-color:rgba(255,176,46,.55)}
.pill.s-claude{background:rgba(217,166,255,.16);border-color:rgba(217,166,255,.45)}
.pill.s-lost{background:rgba(47,191,168,.16)}
.case-ai{border-color:rgba(217,166,255,.4)}
.case-log,.dlog{display:flex;flex-direction:column;gap:6px}
.case-log{padding-top:8px;border-top:1px solid var(--line)}
.lline{display:flex;gap:10px;align-items:baseline;font-size:13px}
.lline .ltext{flex:1;white-space:pre-wrap}
.lwho{font-weight:700;font-size:12px;flex:none;min-width:48px}
.lwho.w-claude{color:#d9a6ff}
.case-reply{display:flex;flex-direction:column;gap:8px}
.kindsel .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.drtiles{grid-template-columns:repeat(4,1fr);margin-bottom:16px}
@media (max-width:640px){.drtiles{grid-template-columns:repeat(2,1fr)}}
.drgrid{display:grid;gap:16px}
@media (min-width:1100px){.drgrid{grid-template-columns:1fr 1fr;align-items:start}}
.trakt{display:flex;flex-direction:column;gap:10px}
.tr-row{display:grid;grid-template-columns:minmax(120px,1.3fr) 2fr 48px;gap:10px;align-items:center;font-size:14px}
.tr-bar,.ubar{display:block;height:10px;border-radius:5px;background:rgba(255,255,255,.08);overflow:hidden}
.tr-bar i,.ubar i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#7b6cff,#2fbfa8)}
.ubar{display:inline-block;width:64px;height:8px;margin-right:8px;vertical-align:middle}
.tr-n{text-align:right;font-variant-numeric:tabular-nums}
.wk.use td.up{color:#2fbfa8}
.wk.use td.down{color:#ff7a8a}
.view.drift #dpane{display:flex;flex-direction:column;gap:14px}
.view.drift .drtiles{margin-bottom:0}
.case-act .btn{flex:none;width:auto}
.pill.k-ukjent{cursor:pointer;font:inherit;font-size:12px;font-weight:600;color:var(--ink);background:rgba(255,176,46,.18);border-color:rgba(255,176,46,.55)}
.case-sum{margin:0;font-size:17px;font-weight:650;line-height:1.35}
.case-t.orig{font-size:14px;color:var(--ink-2);padding-left:12px;border-left:2px solid var(--line)}
.case-note{display:flex;gap:8px;align-items:flex-end}
.case-note textarea{flex:1;resize:none;font:inherit;font-size:14px;line-height:1.4;padding:9px 12px;border-radius:14px;background:var(--field);color:var(--ink);border:1px solid var(--line);min-height:38px}
.case-note .btn{flex:none;width:auto}
.case-orig summary{cursor:pointer;font-size:13px;color:var(--ink-2)}
.case-orig .case-t{margin-top:8px}
.rcode{margin:4px 0;padding:16px 12px;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid var(--line);font:600 19px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;text-align:center;word-break:break-all;user-select:all}
.rcode .rg{display:block}
.rcode i{font-style:normal;opacity:.45}
.rcode .rsep{display:none}
.rcline{border-top:1px solid var(--line);padding-top:12px}
.case-act.sub{gap:14px;align-items:center}
.case-act.sub .kindsel{margin-left:auto}
.case-hint{margin:-4px 0 0}
.case-act .link{background:none;border:0;padding:10px 2px;min-height:44px;color:var(--ink-2);font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* Taushetserklæring for piloten (B157) */
.ndacheck{display:flex;gap:10px;align-items:center;min-height:44px;margin:0 0 10px;font-size:15px;cursor:pointer}.ndacheck input{width:22px;height:22px;flex:none;accent-color:var(--accent,#3d5bd9)}

/* B159: med tilbakemeldingsknappen er det fem knapper øverst. På smale skjermer vises bare logoen uten navnet. */
@media (max-width:430px){.top .word{gap:0;font-size:0!important}.top .word .vmark,.top .word picture,.top .word img{font-size:21px}.topr{gap:6px}.topr .iconbtn{width:40px;height:40px}}
@media (max-width:340px){.topr .iconbtn{width:36px;height:36px}.topr{gap:4px}}
.sheet .pilotc{display:grid;gap:14px}
.sheet .pilotc h3{margin:0}
.sheet #wl{display:grid;gap:10px;width:100%}
.sheet #wl input{width:100%}
.sheet #wl .btn{width:100%}
/* B162: Les som magasinforside */
.lesv .ls-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:4px 2px 2px}
.lesv .ls-head h1{margin:0;font:400 38px/1 var(--f-elegant);letter-spacing:-.01em}
.lesv #news{display:flex;flex-direction:column;gap:12px}
.ls{position:relative;display:block;border-radius:18px;overflow:hidden;background:rgba(255,255,255,.045);border:1px solid var(--line,rgba(255,255,255,.1));isolation:isolate}
.ls>a{display:block;color:inherit;text-decoration:none;height:100%}
.ls .ls-i{display:block;position:relative;overflow:hidden;background:linear-gradient(135deg,#2a3b66,#3a2754)}
.ls .ls-i img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
@media (hover:hover){.ls:hover .ls-i img{transform:scale(1.03)}}
.ls-k{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffb3a8}
.ls-k i{font-style:normal;padding:2px 6px;border-radius:6px;background:#e84393;color:#fff;letter-spacing:.04em}
.ls h3,.ls h4{margin:4px 0 0;font-family:var(--f-elegant);font-weight:400;text-wrap:balance;letter-spacing:-.005em}
.ls-hero{aspect-ratio:4/4.5;border:0}
.ls-hero .ls-i,.ls-wide .ls-i{position:absolute;inset:0}
.ls-hero .ls-t,.ls-wide .ls-t{position:absolute;left:0;right:0;bottom:0;padding:80px 18px 18px;background:linear-gradient(transparent,rgba(5,8,24,.55) 30%,rgba(5,8,24,.94))}
.ls-hero h3{font-size:clamp(27px,7.4vw,36px);line-height:1.08}
.ls-hero p{margin:8px 0 0;color:#d5dbf5;font-size:14.5px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ls-wide{aspect-ratio:16/9;border:0}
.ls-wide .ls-t{padding:50px 16px 14px}
.ls-wide h4{font-size:21px;line-height:1.15}
.ls-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ls-small .ls-i{aspect-ratio:4/3}
.ls-small .ls-t{display:block;padding:10px 12px 13px}
.ls-small h4{font-size:16.5px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.ls-small.noimg .ls-i{display:none}
.ls-small.noimg{background:linear-gradient(160deg,rgba(232,67,147,.18),rgba(255,179,71,.08))}
.ls-small.noimg h4{font-size:19px}
.ls-row>a{display:flex;gap:14px;align-items:center;padding:12px 14px}
.ls-row .ls-t{flex:1;min-width:0}
.ls-row h4{font-size:17px;line-height:1.22}
.ls-row .ls-i{flex:none;width:86px;height:86px;border-radius:12px}
.ls-friend{display:flex;gap:14px;align-items:center;padding:12px 14px;color:inherit;text-decoration:none}
.ls-friend .ls-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.ls-friend .ls-k{color:#9fd8ff}
.ls-strip{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -16px;padding:0 16px 4px;scrollbar-width:none}
.ls-strip::-webkit-scrollbar{display:none}
.ls-photo{flex:none;width:64%;max-width:280px;aspect-ratio:3/4;scroll-snap-align:start;border:0}
.ls-photo .ls-i{position:absolute;inset:0}
.ls-photo .ls-t{position:absolute;left:0;right:0;bottom:0;padding:40px 12px 12px;background:linear-gradient(transparent,rgba(0,0,0,.8));font:400 16px/1.2 var(--f-elegant)}
.ls-photo .ls-t b{display:block;margin-bottom:4px;font:700 10.5px/1 var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:#ffb3a8}
.ls-sh{position:absolute;top:10px;right:10px;z-index:2;width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(8,12,30,.55);color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer}
.ls-sh svg{width:19px;height:19px}
.ls-small .ls-sh{top:8px;right:8px;width:32px;height:32px}
.ls-row .ls-sh,.ls-photo .ls-sh{display:none}
.ls-small .ls-sh svg{width:16px;height:16px}
.ls-small.noimg:has(.ls-sh) .ls-t{padding-right:44px}
.lesv #srcs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:2px 16px}
.lesv #srcs::-webkit-scrollbar{display:none}
.lesv #srcs .chip{flex:none}
.ls-sec{display:flex;align-items:baseline;justify-content:space-between;margin:22px 2px 0}
.ls-sec h2{margin:0;font:400 26px/1 var(--f-elegant)}
.ls-day{margin:16px 2px 0;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.ls-pick{display:flex;flex-direction:column;gap:4px;text-align:left;cursor:pointer;font:inherit;color:inherit}
.ls-end{display:flex;flex-direction:column;align-items:center;gap:4px;margin:24px 0 4px;text-align:center}
.ls-end b{font:400 22px/1.2 var(--f-elegant)}
.ls-foot{text-align:center}
@media (min-width:900px){.lesv #news{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.lesv #news>.ls-hero{grid-column:1/-1;aspect-ratio:16/8}.lesv #news>.ls-grid,.lesv #news>.ls-sec,.lesv #news>.ls-strip,.lesv #news>.ls-end,.lesv #news>.ls-day,.lesv #news>.card,.lesv #news>.adslot{grid-column:1/-1}.lesv .ls-grid{grid-template-columns:repeat(4,1fr)}}
/* B163: bildestrømmen */
.bview{position:fixed;inset:0;background:#000;color:#fff;z-index:5}
.bvp{position:absolute;inset:0;overflow-y:hidden;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none;outline:0;touch-action:none;-webkit-overflow-scrolling:touch}
.bvp.grid{touch-action:pan-y}
.bvp::-webkit-scrollbar{display:none}
.btrack{position:relative;width:100%}
.btile{position:absolute;left:0;top:0;transform-origin:0 0;overflow:hidden;background:#0b0f1e;transition:transform .42s cubic-bezier(.2,.8,.2,1),border-radius .42s}
.bvp.live .btile{transition:none} /* B182: fingeren styrer, ingen CSS-overgang */
.bvp.zoomed .bim::before{display:none}
.bims{position:absolute;inset:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x}
.bims::-webkit-scrollbar{display:none}
.bload{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;color:#fff;opacity:.8}
.bload[hidden]{display:none}
.bpeer{position:absolute;inset:0;height:auto}
.bim{position:relative;flex:none;width:100%;height:100%;scroll-snap-align:start;overflow:hidden}
.bim::before{content:"";position:absolute;inset:-40px;background:var(--bg) center/cover;filter:blur(36px) brightness(.55);transform:scale(1.1)}
.bim img{position:relative;width:100%;height:100%;object-fit:contain;display:block}
.bmom::after{content:"";position:absolute;inset:0;border:5px solid #ffd166;pointer-events:none;border-radius:inherit}
.bdots{position:absolute;top:calc(64px + env(safe-area-inset-top));left:0;right:0;display:flex;justify-content:center;gap:5px;pointer-events:none}
.bdots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.4)}
.bdots i.on{background:#fff}
.bover{position:absolute;left:0;right:0;bottom:0;padding:70px 16px calc(18px + env(safe-area-inset-bottom));background:linear-gradient(transparent,rgba(0,0,0,.72));display:flex;flex-direction:column;gap:8px;transition:opacity .25s}
.bwho{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.bwho .av{width:36px;height:36px}
.bwho span{display:flex;flex-direction:column;font-size:12.5px;color:rgba(255,255,255,.75)}
.bwho b{font-size:15px;color:#fff}
.btext{margin:0;font-size:15px;line-height:1.4;max-width:60ch}
.bact{display:flex;gap:8px;align-items:center}
.bact .fbtn{color:#fff;background:rgba(255,255,255,.14);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.bvp.zoomed .bover,.bvp.zoomed .bdots{opacity:0;pointer-events:none}
.bvp.zoomed .bims{pointer-events:none}
.bvp.zoomed .btile{cursor:pointer}
.bvp.grid .bim img{object-fit:cover}
.bwho .av{width:40px;height:40px;flex:none;display:grid;place-items:center;font-size:14px}
.bbar{position:fixed;top:0;left:0;right:0;z-index:6;display:flex;align-items:center;gap:10px;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;background:linear-gradient(rgba(0,0,0,.55),transparent);pointer-events:none}
.bbar>*{pointer-events:auto}
.bbar b{font-size:17px}
.bbar .bmode{margin-left:auto;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.bbar #bgrid{font-size:20px}
.bbar .iconbtn{background:rgba(255,255,255,.14);color:#fff;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.bempty{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:6px;text-align:center;padding:24px}
@media (prefers-reduced-motion:reduce){.btile{transition:none}}
@media (min-width:900px){.bview .btext{font-size:16px}}
/* B164: «I dag» */
#idag:empty{display:none}
.idag{gap:4px;padding:16px 16px 12px;touch-action:pan-y}
.id-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.id-h h2{margin:0;font:400 24px/1 var(--f-elegant)}
.id-row{display:flex;align-items:center;gap:12px;padding:9px 2px;color:inherit;text-decoration:none;border-top:1px solid var(--line)}
.id-h+.id-row{border-top:0}
.id-row .av{width:38px;height:38px;flex:none}
.id-ic{flex:none;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.08);font-size:18px}
.id-t{display:flex;flex-direction:column;min-width:0;gap:1px}
.id-t b{font-size:15px;font-weight:600}
.id-t span{font-size:13px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.id-pics{flex:none;display:flex;width:38px;height:38px;position:relative}
.id-pics i{position:absolute;inset:0;border-radius:10px;background:center/cover;border:2px solid rgba(10,16,36,.9)}
.id-pics i:nth-child(2){transform:translate(6px,-4px) rotate(8deg);z-index:-1;opacity:.8}
.id-pics i:nth-child(3){transform:translate(-6px,-3px) rotate(-9deg);z-index:-2;opacity:.6}
.id-all{align-self:flex-start;margin:4px 0 0 52px}
@media (hover:hover){.id-row:hover b{text-decoration:underline}}
.id-row .av{margin:0;font-size:14px;display:grid;place-items:center}
.id-h .x{text-decoration:none;font-size:24px;line-height:1;padding:4px 8px;border:0;background:none;color:var(--ink-2);cursor:pointer}
/* B165: Prat viser samtalen, ikke en flis */
#gl.list{gap:0}
.prow{position:relative;display:flex;align-items:flex-start;gap:12px;padding:12px 10px;color:inherit;text-decoration:none;border-radius:16px}
.prow+.prow::before{content:"";position:absolute;left:78px;right:10px;top:0;height:1px;background:var(--line)}
@media (hover:hover){.prow:hover{background:rgba(255,255,255,.05)}}
/* B171: fast kolonne til venstre, så tekst og streker står på linje uansett om det er en person, en gruppe, en invitasjon eller et innlegg */
.pr-ic{flex:none;width:56px;height:56px;display:grid;place-items:center}
.pr-ic>.av,.pr-ic>.gav{width:52px;height:52px;font-size:17px;margin:0}
.pr-ic>.gav{width:54px;height:54px}
.pr-ic>.ginv{width:42px;height:54px;margin:0;border-radius:7px}
.pr-thumb{width:52px;height:52px;border-radius:14px;overflow:hidden;display:grid;place-items:center;background:rgba(255,255,255,.08)}
.pr-thumb img{width:100%;height:100%;object-fit:cover}
.pr-thumb.ic svg{width:22px;height:22px;opacity:.8}
.pb .pb-du{background:linear-gradient(135deg,#ff6b5b,#e84393);color:#fff;font-size:8.5px;font-weight:700}
.pr-m{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;padding-right:30px}
.pr-h{display:flex;align-items:baseline;gap:8px;min-width:0}
.pr-h strong{font-size:16px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pr-at{margin-left:auto;flex:none;font-size:12px;color:var(--ink-2)}
.prow.unread .pr-h strong{font-weight:750}
.pr-sub{font-size:12px;color:var(--ink-2);margin-top:-3px}
.pr-b{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.pb{display:flex;align-items:flex-end;gap:6px;max-width:100%}
.pb .av{flex:none;width:22px;height:22px;font-size:9px;display:grid;place-items:center}
.pb>span:not(.av){display:block;min-width:0;padding:6px 11px;border-radius:16px 16px 16px 5px;background:rgba(255,255,255,.09);font-size:14px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.pb.mine>span:not(.av){background:linear-gradient(135deg,rgba(255,107,91,.4),rgba(232,67,147,.4))}
.pb b{font-weight:650}
.prow.unread .pb:last-child>span:not(.av){background:rgba(255,255,255,.16);font-weight:600}
.pr-hei{display:inline-block;padding:6px 12px;border-radius:16px;border:1px dashed rgba(255,255,255,.3);font-size:14px;color:var(--ink-2)}
.pr-tag{display:inline-block;padding:3px 9px;border-radius:9px;background:rgba(255,209,102,.16);color:#ffd98a;font-size:12px;font-weight:700}
.prow .badge{position:absolute;right:10px;top:40px}
/* Mobil: én boble per samtale, så lista er tett */
@media (max-width:899px){.pr-b .pb:not(:last-child){display:none}}
/* PC: to kolonner med samtaler, tre bobler i hver */
@media (min-width:1100px){
  #gl.list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  #gl .prow{background:var(--glass);border:1px solid var(--line);padding:16px 14px;min-height:150px}
  #gl .prow+.prow::before{display:none}
  #gl .pr-b{gap:5px}
  #gl .prow .badge{top:42px;right:14px}
}
/* B165: PC, lista til venstre og samtalen til høyre */
.gside{display:none}
@media (min-width:1100px){
  body.gsplit .gside{position:fixed;left:0;top:0;bottom:0;width:380px;z-index:16;display:flex;flex-direction:column;background:rgba(8,14,30,.72);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-right:1px solid var(--line)}
  .gs-h{display:flex;align-items:center;gap:12px;padding:18px 16px 10px}
  .gs-h b{font:400 26px/1 var(--f-elegant)}
  .gs-l{flex:1;overflow-y:auto;padding:0 8px 16px;gap:0;scrollbar-width:thin}
  .gs-l .prow{padding:10px 8px}
  .gs-l .prow.on{background:rgba(255,255,255,.1)}
  .gs-l .pr-b .pb:not(:last-child){display:none}
  body.gsplit .app{margin-left:calc(380px + (100vw - 380px - 680px) / 2);max-width:680px}
  body.gsplit .composer{left:380px}
  body.gsplit .chat .top .iconbtn[href="/grupper"]{display:none}
}
/* B167: mosaikken i bildestrømmen */
.bmosv{position:absolute;inset:0;overflow:hidden;touch-action:none;outline:0;background:radial-gradient(120% 90% at 50% 25%,#1b2d5a,#0b1430 70%);cursor:grab}
.bmosv .mt{position:absolute;left:0;top:0;width:80px;height:80px;margin:0;padding:0;border:0;background:#0d1838 center/100% 100% no-repeat;transform-origin:0 0;will-change:transform;cursor:pointer}
.bmosv .mt::after{display:none}
.bmosv:not(.zoomed) .mt{box-shadow:none;cursor:default}
.bmosv:not(.zoomed) .mt::after{display:none}
.bmosv .mt::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.18);pointer-events:none}
.bmosv .mt.mom::after{box-shadow:inset 0 0 0 3px #ffd166}
.bmosv .mt.up{box-shadow:0 4px 14px rgba(0,0,0,.5)}
.bmosv .mt.up::after{box-shadow:none}
.bmosv .mt:focus-visible{outline:2px solid #ffb347;outline-offset:3px}
.mcap{position:fixed;left:50%;bottom:calc(28px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:7;display:flex;align-items:center;gap:10px;padding:7px 14px 7px 7px;border-radius:999px;background:rgba(8,12,30,.66);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.14);font-size:14px;white-space:nowrap;max-width:calc(100vw - 32px);opacity:0;transition:opacity .2s;pointer-events:none}
.mcap.on{opacity:1}
.mcap.on.full{pointer-events:auto}
.mcap .fbtn{width:36px;height:36px;padding:0;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;border:0}
.mcap .fbtn svg{width:19px;height:19px}
.mcap .av{width:30px;height:30px;flex:none;font-size:11px;display:grid;place-items:center}
.mcap b{font-weight:600}
.mcap span{color:rgba(242,246,251,.7);overflow:hidden;text-overflow:ellipsis}
.bbar #bmosb{font-size:20px}
/* B168: runde dager */
.bdhero.round{background:radial-gradient(130% 95% at 50% -5%,#fff1b8 0%,#f3c24a 30%,#c2852a 62%,#4a2a5e 100%)}
/* B189: runde dager med stjernebilde: bildet er bakgrunnen, med et varmt gullskjær */
.bdhero.round.photo{background:linear-gradient(180deg,rgba(243,194,74,.35) 0%,rgba(20,8,40,0) 32%,rgba(20,8,40,.05) 52%,rgba(60,30,20,.8) 100%),var(--bdbg) center/cover,#c2852a}
.id-bd{display:flex;align-items:center;gap:10px}.id-bdp{display:flex;align-items:center;gap:12px;flex:1;min-width:0;color:inherit;text-decoration:none}
.quiet.outs{display:flex;flex-direction:column;align-items:center;gap:6px}
.bdnum{position:absolute;z-index:-1;left:50%;top:50%;transform:translate(-50%,-56%);font:400 clamp(150px,44vw,230px)/1 var(--f-elegant);letter-spacing:-.04em;color:transparent;background:linear-gradient(180deg,#fff8d6 0%,#ffd700 45%,#b8860b 100%);-webkit-background-clip:text;background-clip:text;opacity:.55;filter:drop-shadow(0 6px 20px rgba(120,70,0,.4));pointer-events:none}
.bdnum.sm{font-size:120px;left:auto;right:12px;transform:translateY(-50%);opacity:.45}
.bdcard.self.round{background:radial-gradient(140% 120% at 0% 0%,#fff1b8,#f3c24a 40%,#a8642a 90%)}
.bdage{font-weight:600;color:#ffd98a;font-size:.9em}
/* B169: Nettverket i Prat */
#nww:empty{display:none}
.nw-h{margin-top:22px}
.nwl{gap:10px}
.nwi{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:18px;background:var(--glass);border:1px solid var(--line);color:inherit;text-decoration:none}
@media (hover:hover){.nwi:hover{background:rgba(255,255,255,.1)}}
.nwi>.av{flex:none;width:40px;height:40px;font-size:14px;display:grid;place-items:center}
.nw-m{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.nw-who{display:flex;flex-wrap:wrap;gap:0 8px;align-items:baseline}
.nw-who b{font-size:15px}.nw-who span{font-size:12.5px;color:var(--ink-2)}
.nw-t{font-size:15.5px;line-height:1.42;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.nw-link{display:flex;gap:10px;align-items:center;padding:8px;border-radius:12px;background:rgba(255,255,255,.06)}
.nw-link img{width:64px;height:64px;object-fit:cover;border-radius:9px;flex:none}
.nw-link span{display:flex;flex-direction:column;min-width:0}
.nw-link small{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#ffb3a8;font-weight:700}
.nw-link b{font:400 16px/1.25 var(--f-elegant);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nw-c{font-size:12.5px;color:var(--ink-2)}
.nw-empty{margin:4px 2px 0}
@media (min-width:1100px){.nwl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
.lesv .ls-head{flex-wrap:wrap}
.ls-flip{margin-left:auto}
/* B174: Bilder som fane, med menyen synlig */
body.has-tabs .bview .bover{padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}
body.has-tabs .mcap{bottom:calc(104px + env(safe-area-inset-bottom,0px))}
.bclock{position:absolute;z-index:2;top:calc(64px + env(safe-area-inset-top,0px));right:14px}
.bvp.zoomed .bclock{top:14px;right:14px;transform:scale(1.6);transform-origin:100% 0}
.bdemo{position:fixed;z-index:7;left:50%;transform:translateX(-50%);top:calc(64px + env(safe-area-inset-top,0px));font:600 13px/1 var(--f-ui);padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(8,12,30,.65);color:#fff;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer}
@media (min-width:1100px){body.has-tabs .bview{left:calc(max(0px, 50% - 610px) + 230px)}body.has-tabs .bview .bover{padding-bottom:24px}body.has-tabs .mcap{bottom:28px;left:calc(50% + 115px)}.bdemo{top:auto;bottom:90px;left:calc(50% + 115px)}}
@media (min-width:1100px){body.has-tabs .bbar{left:calc(max(0px, 50% - 610px) + 230px)}}

/* B195: Hjem er oversikten. Bilder er mindre (fullskjerm i Bilder), tekst og lenker er små kort */
#feed .fimg{max-height:min(54vh,440px)}
#feed .fcar .fimg{max-height:min(54vh,440px)}
.ftxt{font-size:17px;line-height:1.45;margin:2px 2px 6px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:9;-webkit-box-orient:vertical;overflow:hidden}
#feed .flink{flex-direction:row;align-items:center;gap:12px;padding:8px;border-radius:14px;background:rgba(255,255,255,.06)}
#feed .flink img,#feed .flink-ph{width:84px;height:84px;flex:none;aspect-ratio:1;border-radius:10px}
#feed .flink-ph svg{width:28px;height:28px}
#feed .fl-t{padding:0;min-width:0}
#feed .fl-t strong{font-size:15px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* B198: hvem ser innlegget */
.audwho{margin:-4px 0 0;min-height:1.2em}
.audwho.zero{font-weight:600;color:inherit}

/* B200: ⋯-meny under kommentaren og «Angre» */
.cm-more{font-size:16px;letter-spacing:1px;padding:4px 10px;margin:-4px -10px}
.cm-menu{display:flex;gap:18px;margin-top:8px;padding:8px 12px;border-radius:12px;background:rgba(255,255,255,.07)}
.cm-menu[hidden]{display:none}
.cm-menu .cm-a{padding:6px 0;font-size:13px}
.cm-menu .cm-del{color:#ff8a8a}
.cm-menu{flex-wrap:wrap;align-items:center}
.cm-ask{flex-basis:100%;font-size:13px;color:rgba(244,247,251,.85)}
.cm-i[hidden]{display:none}
.toast.undo{display:flex;align-items:center;gap:14px;z-index:60;white-space:nowrap;bottom:calc(92px + env(safe-area-inset-bottom,0px))}
.toast.undo button{border:0;background:none;color:inherit;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;padding:8px 4px;margin:-8px 0}
/* B200: tekst og knapper i Bilder skjules mens kommentarene er åpne, så de ikke skinner gjennom glasset */
.bover,.bdemo{transition:opacity .25s ease}
body:has(.cmov) .bview .bover,body:has(.cmov) .bdemo{opacity:0;pointer-events:none}

/* B201: svarknappene på forsiden av invitasjonskortet */
.k-quick{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:22px;width:100%}
.k-quick button{font:600 16px/1 var(--f-garamond);color:var(--fine-ink);min-height:44px;padding:12px 16px;border-radius:999px;border:0;cursor:pointer;background:color-mix(in srgb,#fff 40%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--fine-ink) 22%,transparent)}
.k-quick button[aria-pressed="true"]{background:var(--fine-ink);color:var(--paper)}
.k-quick button:active{transform:scale(.97)}
.kort.go .kp-cover>.k-quick{animation:k-up .9s cubic-bezier(.2,.8,.2,1) 3.25s both}
/* B202: velkomstkortet som én linje */
.startc.mini{flex-direction:row;align-items:center;padding:6px 8px 6px 16px}
.sc-mini{flex:1;display:flex;align-items:center;gap:10px;min-height:44px;border:0;background:none;color:inherit;font:inherit;font-weight:600;text-align:left;cursor:pointer;padding:0}
.sc-mini .small{font-weight:400}
.sc-mini [aria-hidden]{margin-left:auto;opacity:.6}
/* B203: trykkflater på minst 44×44 px. Utseendet er det samme; et usynlig felt rundt små knapper og lenker tar imot trykket. */
.x,.link,.dhead .more,.mo-x,.cm-a,.sc-h .x,#why-x{position:relative}
.x::before,.link::before,.dhead .more::before,.mo-x::before,.cm-a::before{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}
.dhead .more::after{content:" ›"}
.choice input{width:22px;height:22px}
.choice{min-height:44px}
.pfoot{gap:28px}
.itm{gap:16px}

/* B204: «Flere valg» i invitasjonsskjemaet */
.moreopts{padding:0;overflow:hidden}
.moreopts>summary{list-style:none;display:flex;align-items:center;gap:12px;padding:16px 18px;min-height:44px;cursor:pointer}
.moreopts>summary::-webkit-details-marker{display:none}
.moreopts>summary>span{display:grid;gap:2px;flex:1}
.moreopts>summary::after{content:"›";font-size:22px;opacity:.6;transition:transform .2s ease}
.moreopts[open]>summary::after{transform:rotate(90deg)}
.moreopts .mo-in{display:grid;gap:14px;padding:0 0 4px}
.moreopts .mo-in>.card{background:none;box-shadow:none;border:0;border-top:1px solid var(--line,rgba(127,127,127,.18));border-radius:0;margin:0}

/* B205: Avansert på Konto */
.advanced{padding:0;overflow:hidden}
.advanced>summary{list-style:none;display:flex;align-items:center;gap:12px;padding:16px 18px;min-height:44px;cursor:pointer}
.advanced>summary::-webkit-details-marker{display:none}
.advanced>summary>span{display:grid;gap:2px;flex:1}
.advanced>summary::after{content:"›";font-size:22px;opacity:.6;transition:transform .2s ease}
.advanced[open]>summary::after{transform:rotate(90deg)}
.advanced .adv-in{display:grid;gap:0}
.advanced .adv-in>.card{background:none;box-shadow:none;border:0;border-top:1px solid var(--line,rgba(127,127,127,.18));border-radius:0;margin:0}

/* B205: ⋯-meny per medlem i gruppeinfo */
.gl{flex-wrap:wrap}
.gl>.gm-menu{grid-column:1/-1}
.gm-more{font-size:18px;letter-spacing:1px}
.gm-menu{flex-basis:100%;display:flex;flex-wrap:wrap;gap:4px 22px;margin:2px 0 4px 48px;padding:8px 12px;border-radius:12px;background:color-mix(in srgb,var(--ink) 7%,transparent)}
.gm-menu[hidden]{display:none}
.x.danger{color:#e5484d}
.gm-menu .x{white-space:nowrap;padding:10px 0;text-decoration:none;font-size:14px;font-weight:600}

/* B207: lenkekort i kommentarer */
.cm-link{display:grid;gap:2px;margin-top:8px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);color:inherit;text-decoration:none;max-width:420px}
.cm-link b{font-size:14px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cm-link span{font-size:12px;opacity:.65}
.cmi[hidden]{display:none}
/* ===== B208: bursdagskortet i fem stiler (kveld, album, typo, nordlys, rund). Profilbildet i sentrum. ===== */
.bdhero[data-stil]{position:relative;isolation:isolate;display:block;overflow:hidden;width:100%;max-width:520px;margin-inline:auto;aspect-ratio:4/5;max-height:660px;border-radius:24px;padding:0;box-sizing:border-box;text-align:left;color:#fff;text-decoration:none;background:#0a1230;container-type:inline-size;box-shadow:0 22px 44px -18px rgba(0,0,0,.6)}
.bdhero[data-stil]::before,.bdhero[data-stil]::after{content:none}
.bdhero[data-stil] .bdtxt{position:absolute;z-index:3;left:7%;right:7%;bottom:6.5%;display:grid;gap:6px;text-shadow:none;margin:0;max-width:none}
.bdhero[data-stil] .bdtag{font:600 12px/1.2 var(--f-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--bd-tag,#f6d2b0);background:none;padding:0;border:0}
.bdhero[data-stil] .bdname{font:600 clamp(40px,15cqw,72px)/.95 var(--f-garamond);letter-spacing:-.02em;color:var(--bd-ink,#fff6ec)}
.bdhero[data-stil] .bdgreet{font:500 italic clamp(17px,5.2cqw,22px)/1.35 var(--f-garamond);color:var(--bd-ink2,rgba(255,246,236,.88));max-width:30ch}
.bdhero[data-stil] .bdface{display:block;position:relative;margin:0;border-radius:50%;overflow:hidden;flex:none}
.bdhero[data-stil] .bdface img{width:100%;height:100%;object-fit:cover;display:block}
.bdhero[data-stil] .bdini{display:grid;place-items:center;width:100%;height:100%;font:600 38px/1 var(--f-garamond);color:#fff}
.bdhero[data-stil] .bdb{display:none}
@keyframes bd-float{0%{opacity:0;transform:translate3d(0,26px,0) scale(.8)}25%{opacity:.85}70%{opacity:.5}100%{opacity:0;transform:translate3d(8px,-80px,0) scale(1.1)}}
@keyframes bd-drift{from{transform:scale(1.04)}to{transform:scale(1.12) translateY(-2%)}}
@keyframes bd-up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes bd-breathe{0%,100%{transform:scale(.94);opacity:.75}50%{transform:scale(1.06);opacity:1}}
.bdhero[data-stil].go .bdtxt{animation:bd-up 1.1s cubic-bezier(.2,.8,.2,1) .25s both}

/* Kveldslys: stjernebildet fyller kortet, profilbildet i et varmt lys, bokeh i stedet for konfetti */
.v-kveld .bd-photo{position:absolute;inset:-3%;z-index:0;background:var(--bdbg,linear-gradient(160deg,#3b2a5a,#8a4a5a 55%,#e0a36b)) center 30%/cover no-repeat;animation:bd-drift 30s ease-in-out infinite alternate}
.v-kveld:not(.photo):not(.hasface) .bd-photo{background:linear-gradient(160deg,#2b2350,#7a3d62 55%,#d9925f)}
.v-kveld:not(.photo).hasface .bd-photo{filter:blur(26px) saturate(1.3) brightness(.7);inset:-12%}
.v-kveld .bd-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,12,32,.28) 0%,rgba(8,12,32,0) 20%,rgba(8,12,32,.42) 46%,rgba(8,12,32,.9) 74%,#080c20 100%)}
.bdhero[data-stil].v-kveld{box-shadow:0 0 0 1px rgba(255,214,180,.12),0 22px 44px -18px rgba(0,0,0,.6);animation:bdk-glow 6s ease-in-out infinite}
@keyframes bdk-glow{0%,100%{box-shadow:0 0 0 1px rgba(255,214,180,.10),0 22px 44px -18px rgba(0,0,0,.6),0 0 20px rgba(255,170,150,.05)}50%{box-shadow:0 0 0 1px rgba(255,214,180,.26),0 22px 44px -18px rgba(0,0,0,.6),0 0 44px rgba(255,170,160,.2)}}
.v-kveld .bd-halo{position:absolute;z-index:2;left:50%;top:11%;transform:translateX(-50%)}
.v-kveld .bd-halo::before{content:"";position:absolute;inset:-45%;border-radius:50%;background:radial-gradient(circle,rgba(255,206,170,.42) 0%,rgba(255,180,170,.12) 45%,transparent 70%);animation:bd-breathe 6s ease-in-out infinite}
.v-kveld .bdface{width:clamp(110px,36cqw,170px);height:clamp(110px,36cqw,170px);box-shadow:0 0 0 2px rgba(255,226,196,.85),0 0 0 10px rgba(255,226,196,.08),0 18px 40px rgba(0,0,0,.5)}
.bd-bokeh{position:absolute;inset:0;z-index:2;pointer-events:none}
.bd-bokeh i,.bd-dust i,.bd-stars i{position:absolute;left:var(--x);top:var(--y);width:var(--s);height:var(--s);border-radius:50%}
.bd-bokeh i{background:radial-gradient(circle,rgba(255,232,196,.95) 0%,rgba(255,204,170,.42) 38%,transparent 70%);animation:bd-float var(--d) ease-in-out var(--w) infinite}

/* Album: papirkort, stjernebildet som polaroid som fremkalles, profilbildet som frimerke */
.bdhero[data-stil].v-album{--bd-tag:#8a4b2b;--bd-ink:#1e1a35;--bd-ink2:#26305e;background-color:#ece4d3;background-image:radial-gradient(120% 80% at 50% 0%,rgba(255,255,255,.55),transparent 60%),radial-gradient(90% 60% at 50% 110%,rgba(120,90,50,.16),transparent 70%),radial-gradient(rgba(90,70,40,.09) 1px,transparent 1.3px),radial-gradient(rgba(90,70,40,.06) 1px,transparent 1.3px);background-size:auto,auto,7px 7px,11px 11px;background-position:0 0,0 0,0 0,3px 5px}
.v-album .bd-pol{position:absolute;z-index:1;left:9%;top:6%;width:60%;padding:3.4% 3.4% 0;background:#fbf9f4;transform:rotate(-3deg);box-shadow:0 20px 30px -12px rgba(50,35,20,.5),0 4px 10px rgba(50,35,20,.16)}
.v-album .bd-pimg{display:block;aspect-ratio:1;background:var(--bdbg) center 35%/cover no-repeat}
.v-album .bd-pimg[data-empty]{background:linear-gradient(150deg,#c9b99a,#a58a6a)}
.v-album.go .bd-pimg{animation:bda-tone 5s ease-out .5s both}
@keyframes bda-tone{from{filter:sepia(.6) saturate(.3) brightness(1.35) contrast(.7)}to{filter:none}}
.v-album.go .bd-pol{animation:bda-drop 1.1s cubic-bezier(.2,.9,.25,1) both}
@keyframes bda-drop{from{opacity:0;transform:translateY(-18px) rotate(-9deg) scale(1.03)}to{opacity:1;transform:rotate(-3deg)}}
.v-album .bd-pcap{display:block;padding:10px 0 12px;text-align:center;font:600 italic clamp(16px,5cqw,21px)/1 var(--f-garamond);color:#2c2c52}
.v-album .bd-tape{position:absolute;left:50%;top:-12px;width:34%;height:24px;margin-left:-17%;transform:rotate(4deg);background:repeating-linear-gradient(90deg,rgba(242,229,196,.85) 0 6px,rgba(236,220,182,.85) 6px 12px);box-shadow:0 1px 2px rgba(60,40,20,.15)}
.v-album .bd-stamp{position:absolute;z-index:2;right:7%;top:6%;padding:6px;background:radial-gradient(circle at 50% 50%,transparent 3.3px,#fbf7ee 3.7px) -5px -5px/10px 10px;filter:drop-shadow(0 5px 6px rgba(50,35,20,.32));transform:rotate(8deg)}
.v-album.go .bd-stamp{animation:bda-stamp .7s cubic-bezier(.3,1.4,.5,1) 1s both}
@keyframes bda-stamp{from{opacity:0;transform:scale(1.3) rotate(16deg)}to{opacity:1;transform:rotate(8deg)}}
.v-album .bd-stamp .bdface{width:clamp(70px,24cqw,104px);height:clamp(84px,29cqw,124px);border-radius:1px}
.v-album .bd-stamp .bdini{font-size:30px}
.v-album .bdtxt{bottom:7%}
.v-album .bdname{font-size:clamp(36px,12cqw,56px)}

/* Typografisk: fornavnet stort med stjernebildet inne i bokstavene, profilbildet øverst */
.bdhero[data-stil].v-typo{background:#0f1938;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),0 22px 44px -18px rgba(0,0,0,.6)}
.v-typo .bd-top{position:absolute;z-index:2;left:7%;right:7%;top:6%;display:flex;align-items:center;gap:12px}
.v-typo .bd-top .bdtag{color:#ffcf8a;letter-spacing:.14em}
.v-typo .bdface{width:clamp(56px,18cqw,80px);height:clamp(56px,18cqw,80px);box-shadow:0 0 0 2px rgba(255,255,255,.18)}
.v-typo .bd-word{position:absolute;z-index:1;left:4%;right:0;top:22%;font:800 min(44cqw,calc(170cqw / var(--n,4)))/.86 var(--f-ui);letter-spacing:-.06em;white-space:nowrap;background-image:linear-gradient(180deg,rgba(255,238,218,.4),rgba(190,205,255,.14)),var(--bdbg,linear-gradient(120deg,#ffcf8a,#ff7a9a 50%,#8ab4ff));background-size:100% 100%,260% auto;background-position:0 0,30% 40%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.12);animation:bdt-pan 28s ease-in-out infinite alternate}
@keyframes bdt-pan{from{background-position:0 0,20% 35%}to{background-position:0 0,80% 55%}}
.v-typo .bdname{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.v-typo .bdgreet{font:500 clamp(18px,5.6cqw,22px)/1.3 var(--f-ui);letter-spacing:-.01em;color:#eef1fb;font-style:normal}

/* Nordlys: nordlysbånd over landskapet, profilbildet i en glassring, teksten på glass */
.bdhero[data-stil].v-nordlys{--bd-tag:#93f0d0;background:linear-gradient(180deg,#040a1c 0%,#081634 55%,#0a1532 100%)}
.v-nordlys .bd-sky{position:absolute;z-index:0;left:-25%;right:-25%;top:-6%;height:60%}
.v-nordlys .bd-sky i{position:absolute;border-radius:50%;mix-blend-mode:screen}
.v-nordlys .bd-sky .a1{left:0;top:24%;width:100%;height:38%;background:linear-gradient(90deg,transparent,rgba(60,230,170,.55) 28%,rgba(110,245,205,.75) 50%,rgba(70,200,230,.45) 72%,transparent);filter:blur(26px);animation:bdn-1 16s ease-in-out infinite alternate}
.v-nordlys .bd-sky .a2{left:10%;top:8%;width:86%;height:44%;background:linear-gradient(90deg,transparent,rgba(140,110,255,.45) 35%,rgba(90,170,255,.35) 65%,transparent);filter:blur(34px);animation:bdn-2 22s ease-in-out infinite alternate}
.v-nordlys .bd-sky .a3{left:10%;top:46%;width:78%;height:14%;background:linear-gradient(90deg,transparent,rgba(150,255,210,.5) 45%,transparent);filter:blur(12px);animation:bdn-3 12s ease-in-out infinite alternate}
@keyframes bdn-1{from{transform:translateX(-8%) rotate(-12deg) scaleY(.85)}to{transform:translateX(8%) rotate(-6deg) scaleY(1.2)}}
@keyframes bdn-2{from{transform:translateX(8%) rotate(9deg)}to{transform:translateX(-6%) rotate(4deg) scaleY(1.3)}}
@keyframes bdn-3{from{transform:translateX(-4%) rotate(-18deg);opacity:.6}to{transform:translateX(6%) rotate(-12deg);opacity:1}}
.bd-stars{position:absolute;inset:0 0 45% 0;z-index:0;pointer-events:none}
.bd-stars i{width:2px;height:2px;background:#fff;opacity:.6;animation:bdn-tw var(--d) ease-in-out var(--w) infinite alternate}
@keyframes bdn-tw{from{opacity:.2}to{opacity:.9}}
.v-nordlys .bd-land{position:absolute;z-index:0;left:0;right:0;bottom:0;height:58%;background:var(--bdbg) center 70%/cover no-repeat;-webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.75) 40%,#000 75%);mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.75) 40%,#000 75%)}
.v-nordlys .bd-ring{position:absolute;z-index:2;left:50%;top:9%;transform:translateX(-50%);padding:8px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.07);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 30px rgba(0,0,0,.35)}
.v-nordlys .bd-ring::before{content:"";position:absolute;inset:-40%;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(110,240,200,.32),rgba(110,240,200,.1) 45%,transparent 70%);animation:bd-breathe 7s ease-in-out infinite}
.v-nordlys .bdface{width:clamp(104px,34cqw,160px);height:clamp(104px,34cqw,160px)}
.v-nordlys .bd-glass{left:3.4%;right:3.4%;bottom:3.4%;padding:18px 20px 20px;border-radius:20px;background:rgba(10,20,48,.62);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.v-nordlys .bdname{font:600 clamp(32px,10cqw,46px)/1.05 var(--f-ui);letter-spacing:-.025em;color:#f4f8ff}
.v-nordlys .bdgreet{font:400 clamp(15px,4.6cqw,18px)/1.45 var(--f-ui);color:#d8e0f4;font-style:normal}

/* Rund dag: profilbildet i en buet ramme, tallet støpt i messing, gullstøv */
.bdhero[data-stil].v-rund{--bd-tag:#e7c98e;background:radial-gradient(90% 55% at 50% 34%,rgba(201,154,74,.2),transparent 70%),linear-gradient(180deg,#0f1937,#0a1230);box-shadow:inset 0 0 0 1px rgba(232,200,140,.2),0 22px 44px -18px rgba(0,0,0,.65)}
.v-rund .bd-arch{position:absolute;z-index:1;left:50%;top:4.5%;width:58%;aspect-ratio:224/230;transform:translateX(-50%);padding:6px;box-sizing:border-box;border:1px solid rgba(233,201,140,.55);border-radius:999px 999px 20px 20px;box-shadow:inset 0 0 0 4px rgba(10,18,48,.6),inset 0 0 0 5px rgba(233,201,140,.22),0 18px 40px rgba(0,0,0,.4)}
.v-rund .bd-aimg{position:relative;display:block;width:100%;height:100%;overflow:hidden;border-radius:999px 999px 15px 15px;background:var(--bdface,var(--bdbg,linear-gradient(160deg,#5a3a6a,#c99a4a))) center 30%/cover no-repeat}
.v-rund .bd-aimg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,16,40,.05) 0%,transparent 40%,rgba(10,16,40,.85) 100%)}
.v-rund .bdnum{position:absolute;z-index:2;left:0;right:0;top:31%;height:auto;margin:0;padding:0;background:none;text-align:center;-webkit-text-stroke:0;filter:none;opacity:1;transform:none}
.v-rund .bdnum b{position:absolute;left:0;right:0;top:0;font:600 min(50cqw,210px)/1 var(--f-garamond);letter-spacing:-.045em}
.v-rund .bdnum b:first-child{color:#4a3412;transform:translateY(2px);text-shadow:0 1px 0 #5c4217,0 2px 0 #533b14,0 3px 0 #4a3412,0 4px 0 #402c0f,0 5px 0 #36250c,0 6px 0 #2e1f0a,0 22px 34px rgba(0,0,0,.65)}
.v-rund .bdnum b:last-child{background-image:linear-gradient(115deg,#7d5a22 0%,#d9b46a 14%,#fff2cf 22%,#e0b863 30%,#9a7030 44%,#c99a4a 56%,#f7e2ac 66%,#b5873a 78%,#6f4d1b 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:bdr-sheen 11s ease-in-out infinite alternate}
@keyframes bdr-sheen{from{background-position:0% 50%}to{background-position:100% 50%}}
.v-rund.go .bdnum{animation:bd-up 1.3s cubic-bezier(.2,.8,.2,1) .2s both}
.v-rund .bdtxt{text-align:center;justify-items:center;gap:8px}
.v-rund .bd-row{display:flex;align-items:center;justify-content:center;gap:12px}
.v-rund .bd-row .bdface{width:44px;height:44px;box-shadow:0 0 0 1px rgba(233,201,140,.7),0 0 0 4px rgba(233,201,140,.1)}
.v-rund .bd-row .bdini{font-size:16px}
.v-rund .bdname{font-size:clamp(32px,10cqw,46px);font-weight:500;color:#fbf3e2}
.v-rund .bdgreet{color:#dad3c4;text-align:center}
.bd-dust{position:absolute;inset:0;z-index:2;pointer-events:none}
.bd-dust i{width:3px;height:3px;background:#f3d9a0;box-shadow:0 0 6px rgba(243,217,160,.8);animation:bdr-dust var(--d) ease-in-out var(--w) infinite}
@keyframes bdr-dust{0%{opacity:0;transform:translateY(16px)}30%{opacity:.8}100%{opacity:0;transform:translateY(-54px)}}
@media (prefers-reduced-motion:reduce){.bdhero[data-stil],.bdhero[data-stil] *,.bdhero[data-stil] *::before,.bdhero[data-stil] *::after{animation:none!important}}

.bdhero[data-stil] .bdface{background:none;border:0;padding:0;animation:none}
.bdhero[data-stil] .bdface::before,.bdhero[data-stil] .bdface::after{content:none!important}
.bdhero[data-stil].v-rund .bdnum{top:28%;height:min(40cqw,170px);display:block}
.bdhero[data-stil].v-rund .bdnum b{font-size:min(40cqw,170px)}
.bdhero[data-stil].v-typo .bd-word{top:31%}

/* ===== B210: innlegg med flere bilder som story ===== */
.bims.story{display:block;overflow:hidden;scroll-snap-type:none;touch-action:none;z-index:0}
.bims.story .bim{position:absolute;left:0;top:0;width:100%;height:100%;transform-origin:0 0;transition:opacity .6s ease}
.bvp.live .bims.story .bim{transition:opacity .6s ease}
.btile.sep .bims.story .bim{transition:none}
.btile.sep .bim img{object-fit:cover}
.btile.sep .bim::before{display:none}
.bstory{position:absolute;z-index:3;top:calc(58px + env(safe-area-inset-top,0px));left:14px;right:14px;display:flex;gap:4px;pointer-events:none;transition:opacity .25s ease}
.bstory i{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.32);overflow:hidden}
.bstory b{display:block;height:100%;width:0;background:#fff;border-radius:2px}
.bstory i.done b{width:100%}
.btile.playing .bstory i.now b{animation:bst-fill 5s linear forwards}
.btile.hold .bstory i.now b{animation-play-state:paused}
@keyframes bst-fill{from{width:0}to{width:100%}}
@media (prefers-reduced-motion:reduce){.btile.playing .bstory i.now b{animation:none;width:100%}}
.bvp.zoomed .bstory{opacity:0}
.bstack{position:absolute;z-index:3;top:22px;right:22px;display:flex;align-items:center;gap:6px;padding:8px 12px 8px 10px;border-radius:999px;background:rgba(8,12,30,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font:700 30px/1 var(--f-ui);opacity:0;transition:opacity .25s ease;pointer-events:none}
.bstack svg{width:34px;height:34px}
.bvp.zoomed .bstack{opacity:1}
.bmosv .mt.mtg{position:absolute;left:0;top:0;display:block;background-size:cover;background-position:center;transform-origin:50% 50%;box-shadow:0 6px 18px rgba(0,0,0,.45);pointer-events:none;cursor:default}
.bmosv .mt.mtg::after{content:none}
.fstory{position:relative}
.fsbars{position:absolute;top:10px;left:10px;right:10px;display:flex;gap:4px}
.fsbars i{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.45)}
.fsbars i:first-child{background:#fff}
.fsplay{position:absolute;right:10px;bottom:10px;display:flex;align-items:center;gap:5px;padding:6px 10px 6px 8px;border-radius:999px;background:rgba(8,12,30,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font:700 13px/1 var(--f-ui)}
.fsplay svg{width:16px;height:16px}

/* ==========================================================================
   vennr Glass, steg 1 (B212): fanelinje, lyskant og glassark.
   Glass bare på det som flyter over innholdet. Rosa = glød uten kant.
   ========================================================================== */
@keyframes vg-orbit{from{--sa:300deg}to{--sa:1020deg}}
/* lyskanten: går to rolige runder når siden åpnes, og stopper der den startet */
.vg-rim::before,.tabbar::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;z-index:1;
  background:conic-gradient(from var(--sa),rgb(255 255 255 / 0) 0deg,rgb(255 255 255 / .55) 40deg,rgb(255 255 255 / .06) 110deg,rgb(255 255 255 / 0) 170deg,rgb(255 170 190 / .3) 220deg,rgb(255 255 255 / 0) 280deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
  animation:vg-orbit 7s cubic-bezier(.45,0,.25,1) .8s 1 both}
@media (prefers-reduced-motion:reduce){.vg-rim::before,.tabbar::before{animation:none}}
@media (prefers-contrast:more){.vg-rim::before,.tabbar::before{display:none}}
@media (max-width:1099px){
  .tabbar{left:12px;right:12px;padding:6px;gap:2px;border-radius:32px;background:var(--glass-regular);-webkit-backdrop-filter:var(--glass-regular-fx);backdrop-filter:var(--glass-regular-fx);border:1px solid var(--glass-edge);box-shadow:var(--glass-spec),var(--shadow-2)}
  .tabbar a{border-radius:26px;color:rgb(242 246 251 / .82);transition:background .25s var(--ease-out),color .2s ease,box-shadow .25s ease}
  .tabbar a[aria-current]{background:var(--hl-tint);color:#fff;box-shadow:var(--hl-glow)}
  .tabbar a.tb-logo[aria-current]{background:none;box-shadow:none}
}
@media (min-width:1100px){
  .tabbar::before{display:none}
  .tabbar a[aria-current]{background:var(--hl-tint);box-shadow:var(--hl-glow);color:#fff}
  .tabbar a.tb-logo[aria-current]{background:none;box-shadow:none}
}
/* ark nedenfra: tykt glass, innholdet bak tones ned */
.sheet-bg{background:rgb(3 6 14 / .42)}
.sheet{background:rgb(var(--glass-rgb) / .93);-webkit-backdrop-filter:var(--glass-thick-fx);backdrop-filter:var(--glass-thick-fx);border-color:var(--glass-edge);border-radius:28px 28px 0 0;box-shadow:var(--glass-spec),var(--shadow-3)}
/* kommentarene: vanlig glass over bildet, så bildet skimtes gjennom */
.cm-panel{background:linear-gradient(180deg,rgb(255 255 255 / .08),rgb(255 255 255 / 0) 120px),var(--glass-thick);-webkit-backdrop-filter:var(--glass-thick-fx);backdrop-filter:var(--glass-thick-fx);box-shadow:inset 0 1px 0 rgb(255 255 255 / .22),0 -24px 60px -20px rgb(0 0 0 / .6)}
/* konsentriske hjørner i feeden på mobil: kort 28 - avstand 10 = 18 */
@media (max-width:1099px){.view.dash #feed .fimg{border-radius:18px}}

/* ==========================================================================
   vennr Glass, steg 2 (B212): knapper, piller, valgt tilstand og menyer.
   Primær = kompakt rosa gradientpille med mørk plommetekst (aldri for stor).
   Valgt = rosa glød uten kant. Menyer i samme nattblå glass.
   ========================================================================== */
:root,[data-tema]{--hl-tint-strong:linear-gradient(135deg,rgb(255 179 71 / .30),rgb(255 107 91 / .26) 48%,rgb(232 67 147 / .40))}
.btn{min-height:46px;font-size:15px;padding:0 20px}
.btn.sm{min-height:40px;font-size:14px;padding:0 16px}
[data-tema="natt"] .btn:not(.ghost):not(.danger),[data-tema="natt"].btn:not(.ghost):not(.danger){background:var(--vennr-grad);color:var(--vennr-plum);box-shadow:inset 0 1px 0 rgb(255 255 255 / .45),0 8px 20px -10px rgb(255 79 160 / .75)}
[data-tema="natt"] .btn.ghost{background:var(--surface-1);border-color:var(--surface-edge)}
/* valgt i segmenter, filterknapper og svarvalg */
[data-tema="natt"] .seg button[aria-pressed="true"],[data-tema="natt"] button.chip[aria-pressed="true"],[data-tema="natt"] .areas .chip[aria-pressed="true"]{background:var(--vennr-grad);color:var(--vennr-plum);border-color:transparent;box-shadow:0 6px 16px -8px rgb(255 79 160 / .7)}
/* primærknappen tar aldri hele bredden på en side (bare nederst i ark) */
[data-tema="natt"] .view .btn.wide:not(.ghost){display:flex;width:fit-content;min-width:min(220px,100%);margin-inline:auto;padding:0 28px}
[data-tema="natt"] .seg{background:var(--surface-1);border-color:var(--surface-edge);-webkit-backdrop-filter:none;backdrop-filter:none}
/* svar på invitasjoner: «Kommer» blir den rosa pillen */
[data-tema="natt"] .rsvp button[aria-pressed="true"],[data-tema="natt"] .vb[aria-pressed="true"]:not([data-v="kanskje"]){background:var(--vennr-grad);color:var(--vennr-plum);border-color:transparent;box-shadow:0 8px 20px -10px rgb(255 79 160 / .75)}
/* fokus: rosa ring */
[data-tema="natt"] :is(a,button,summary,[role="button"],[tabindex]):focus-visible,.tabbar :focus-visible{outline:2px solid #ff6b5b;outline-offset:3px}
/* menyer, reaksjonsvalg og forslag: tykt nattblått glass */
.mmenu,.mpop,.fxp{background:var(--glass-thick);-webkit-backdrop-filter:var(--glass-thick-fx);backdrop-filter:var(--glass-thick-fx);border-color:var(--glass-edge);box-shadow:var(--glass-spec),var(--shadow-2)}
.rpop,.mm-rx{background:var(--glass-regular);-webkit-backdrop-filter:var(--glass-regular-fx);backdrop-filter:var(--glass-regular-fx);border:1px solid var(--glass-edge);box-shadow:var(--glass-spec),var(--shadow-2)}
.rpop button.on,.mm-rx button[aria-pressed="true"]{background:var(--hl-tint-strong);box-shadow:var(--hl-glow)}
@media (hover:hover){.mmenu button:hover{background:rgb(255 255 255 / .08)}}
/* beskjeder nederst: lite glass, ikke en hvit plate */
.toast{background:var(--glass-thick);-webkit-backdrop-filter:var(--glass-thick-fx);backdrop-filter:var(--glass-thick-fx);color:#f2f6fb;border:1px solid var(--glass-edge);box-shadow:var(--glass-spec),var(--shadow-2)}

/* ==========================================================================
   vennr Glass, steg 3 (B212): innholdet har aldri glass. Kortene er rolige
   flater som lar bakgrunnen (og fargene fra bildet på Hjem, B110) skinne gjennom.
   ========================================================================== */
.card,.evrow,.ogcard,.pchip{-webkit-backdrop-filter:none;backdrop-filter:none}
[data-tema="natt"] .card,[data-tema="natt"] .evrow,[data-tema="natt"] .ogcard{background:var(--surface-1);border-color:var(--surface-edge)}
/* kjappe svar i kommentarene (B211) */
.cm-quick{display:flex;gap:8px;padding:6px 16px 4px;overflow-x:auto;scrollbar-width:none}
.cm-quick::-webkit-scrollbar{display:none}
.cm-quick button{position:relative;flex:none;height:36px;padding:0 14px;border-radius:999px;background:var(--surface-1);border:1px solid var(--surface-edge);color:#f2f6fb;font:500 14px/1 var(--f-ui);cursor:pointer;transition:transform .15s var(--ease-out),background .2s ease}
.cm-quick button::before{content:"";position:absolute;left:0;right:0;top:-4px;bottom:-4px}
.cm-quick button:active{transform:scale(.95);background:var(--hl-tint-strong)}
.cm-quick[hidden]{display:none}

/* ==========================================================================
   vennr Glass, steg 4 (B212): det lekne. Stort hjerte, klart glass i Bilder,
   Prat fra «Lekent og rosa», konfetti på bursdagskortet.
   ========================================================================== */
/* det store hjertet: spretter fram, vipper og stiger opp med små bobler (1,8 s, én gang) */
.bigheart{position:fixed;z-index:75;width:136px;height:136px;margin:-68px 0 0 -68px;pointer-events:none}
.bigheart svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 14px 30px rgb(232 67 147 / .6)) drop-shadow(0 0 2px rgb(255 255 255 / .5));animation:vg-big 1.8s var(--ease-out) both}
@keyframes vg-big{0%{opacity:0;transform:scale(.2) rotate(-14deg)}22%{opacity:1;transform:scale(1.14) rotate(-2deg)}36%{transform:scale(.94) rotate(-8deg)}50%{transform:scale(1) rotate(-6deg)}78%{opacity:1;transform:translateY(0) scale(1) rotate(-6deg)}100%{opacity:0;transform:translateY(-48px) scale(.86) rotate(-6deg)}}
.bigheart i{position:absolute;left:50%;top:60%;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgb(255 255 255 / .95),rgb(255 190 215 / .55) 38%,rgb(232 67 147 / .22) 72%);border:1px solid rgb(255 255 255 / .55);opacity:0;animation:vg-rise 1.7s var(--ease-out) both}
.bigheart i:nth-child(2){margin-left:-86px;width:16px;height:16px;animation-delay:.15s}
.bigheart i:nth-child(3){margin-left:-54px;width:10px;height:10px;animation-delay:.3s}
.bigheart i:nth-child(4){margin-left:58px;width:18px;height:18px;animation-delay:.2s}
.bigheart i:nth-child(5){margin-left:86px;width:8px;height:8px;animation-delay:.35s}
.bigheart i:nth-child(6){margin-left:10px;width:12px;height:12px;animation-delay:.25s}
.bigheart i:nth-child(7){margin-left:-24px;width:7px;height:7px;animation-delay:.4s}
.bigheart i:nth-child(8){margin-left:40px;width:11px;height:11px;animation-delay:.45s}
@keyframes vg-rise{0%{opacity:0;transform:translateY(0) scale(.4)}25%{opacity:1}100%{opacity:0;transform:translateY(-130px) scale(1)}}

/* Bilder: klart glass, så bildet synes gjennom. Aldri glass på glass. */
.bview .bover{left:12px;right:12px;bottom:12px;padding:14px 16px;border-radius:28px;background:var(--glass-photo);-webkit-backdrop-filter:var(--glass-photo-fx);backdrop-filter:var(--glass-photo-fx);box-shadow:inset 0 1px 0 rgb(255 255 255 / .28),0 14px 34px -16px rgb(0 0 0 / .6);text-shadow:0 1px 2px rgb(0 0 0 / .45)}
body.has-tabs .bview .bover{padding-bottom:14px;bottom:calc(92px + env(safe-area-inset-bottom,0px))}
@media (min-width:1100px){body.has-tabs .bview .bover{bottom:24px;padding-bottom:14px;max-width:560px;left:50%;right:auto;width:calc(100% - 48px);transform:translateX(-50%)}}
.bview .bact .fbtn{background:rgb(255 255 255 / .12);-webkit-backdrop-filter:none;backdrop-filter:none;text-shadow:none}
.bview .bact .fbtn.bcm{background:var(--vennr-grad);color:var(--vennr-plum);box-shadow:0 8px 20px -10px rgb(255 79 160 / .75)}
.bview .bact .fbtn.bcm svg{stroke:currentColor}
.bbar .iconbtn{background:var(--glass-photo);-webkit-backdrop-filter:var(--glass-photo-fx);backdrop-filter:var(--glass-photo-fx);border-color:rgb(255 255 255 / .2)}
@media (max-width:1099px){body:has(.bview) .tabbar{background:var(--glass-photo);-webkit-backdrop-filter:var(--glass-photo-fx);backdrop-filter:var(--glass-photo-fx);border-color:rgb(255 255 255 / .2);text-shadow:0 1px 2px rgb(0 0 0 / .45)}}

/* Prat: som «Lekent og rosa». Uleste samtaler er kort med rosa glød, rosa klokkeslett og en pulserende prikk. */
.view.prat{position:relative}
.view.prat::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(340px 340px at calc(100% + 30px) 230px,rgb(232 67 147 / .30),rgb(232 67 147 / 0) 68%),radial-gradient(300px 300px at -20px 580px,rgb(255 179 71 / .17),rgb(255 179 71 / 0) 68%)}
.pr-lead{margin:-10px 2px 0;font-size:14px;color:var(--ink-2)}
#gl .prow.unread{background:linear-gradient(100deg,rgb(255 107 91 / .08),rgb(232 67 147 / .15));box-shadow:inset 0 0 0 1px rgb(255 150 190 / .16)}
#gl .prow.unread+.prow::before,#gl .prow+.prow.unread::before{display:none}
#gl .prow.unread .pr-at{color:#ffc7df}
#gl .prow.unread .pb:last-child>span:not(.av){background:rgb(255 255 255 / .13);color:#fff}
.prow .badge{background:var(--vennr-grad);color:var(--vennr-plum);box-shadow:0 0 10px rgb(255 79 160 / .7);animation:vg-breathe 3.2s ease-in-out infinite}
@keyframes vg-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
@media (prefers-reduced-motion:reduce){.prow .badge{animation:none}}

/* bursdagskortet: konfetti som lander og blir liggende, og bobler som vugger */
.bd-pop{position:absolute;left:50%;top:50%;width:0;height:0;z-index:3;pointer-events:none}
.bd-pop i{position:absolute;left:0;top:0;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#ffb347;transform:translate(var(--x),var(--y)) rotate(var(--r,0deg))}
.bd-pop i.p{width:13px;height:5px;margin:-2.5px 0 0 -6.5px;border-radius:3px;background:#ff6b5b}
.bd-pop i.k{background:#e84393}
.bd-pop i.w{background:#fff;width:5px;height:5px;margin:-2.5px 0 0 -2.5px}
.bd-pop i.o{background:none;border:2px solid #ffb3cf;width:11px;height:11px;margin:-5.5px 0 0 -5.5px}
.bd-pop b{position:absolute;left:0;top:0;width:var(--s);height:var(--s);margin:calc(var(--s) / -2) 0 0 calc(var(--s) / -2);border-radius:50%;background:radial-gradient(circle at 34% 30%,rgb(255 255 255 / .9),rgb(255 200 225 / .38) 34%,rgb(232 67 147 / .14) 70%);border:1px solid rgb(255 255 255 / .4);transform:translate(var(--x),var(--y))}
.bdhero.wait .bd-pop i,.bdhero.wait .bd-pop b{opacity:0}
.bdhero.go .bd-pop i{animation:vg-conf 1.2s var(--ease-spring) var(--w,.45s) both}
.bdhero.go .bd-pop b{animation:vg-orbin .9s var(--ease-spring) var(--w,.6s) both,vg-bob 5s ease-in-out calc(var(--w,.6s) + 1s) infinite alternate}
@keyframes vg-conf{0%{transform:translate(0,0) scale(.2);opacity:0}25%{opacity:1}100%{transform:translate(var(--x),var(--y)) rotate(var(--r,0deg)) scale(1);opacity:1}}
@keyframes vg-orbin{from{opacity:0;transform:translate(var(--x),var(--y)) scale(.3)}to{opacity:1;transform:translate(var(--x),var(--y))}}
@keyframes vg-bob{from{transform:translate(var(--x),var(--y))}to{transform:translate(var(--x),calc(var(--y) - 8px))}}
@media (prefers-reduced-motion:reduce){.bigheart{display:none}.bd-pop i,.bd-pop b{animation:none!important}}
/* B212: en opasitetsanimasjon med «both» på et foreldreelement slår av uskarpheten i glasset under (backdrop root).
   Nedtoningen bak kommentarene tones derfor inn med bakgrunnsfargen i stedet. */
.cmov{animation:vg-dimin .25s ease both}
@keyframes vg-dimin{from{background-color:rgb(3 6 14 / 0)}}

/* egne meldinger i Prat (B212, endret etter Olav): glass med en stille lyskant fra «Levende glass», ikke rosa fyll.
   Den rosa pillen er bare for knapper. */
[data-tema="natt"] .msg.mine .mb{background:linear-gradient(135deg,rgb(255 179 71 / .13),rgb(255 107 91 / .12) 45%,rgb(232 67 147 / .22)),rgb(255 255 255 / .07);color:#f4f7fb;border-color:transparent;box-shadow:inset 0 1px 0 rgb(255 255 255 / .16),0 10px 24px -18px rgb(0 0 0 / .7)}
[data-tema="natt"] .msg.mine .mb::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;
  background:conic-gradient(from 300deg,rgb(255 255 255 / .16) 0deg,rgb(255 255 255 / .75) 40deg,rgb(255 255 255 / .16) 110deg,rgb(255 190 160 / .2) 170deg,rgb(255 140 185 / .65) 220deg,rgb(255 255 255 / .14) 280deg,rgb(255 255 255 / .16) 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}
@media (prefers-contrast:more){[data-tema="natt"] .msg.mine .mb{border-color:rgb(255 255 255 / .6)}[data-tema="natt"] .msg.mine .mb::before{display:none}}
/* B212: når Bilder er zoomet ut, er bildeteksten skjult. Da skal den heller ikke koste uskarphet i hver rute */
.bvp.zoomed .bover{-webkit-backdrop-filter:none;backdrop-filter:none}
[data-tema="natt"] .msg.mine a.ment{color:#ffc7df}
[data-tema="natt"] .msg.mine .lcard{background:rgb(255 255 255 / .06)}

/* ==========================================================================
   B214: Bilder raskere (workshop 9. november). Ingenting usynlig skal tegnes eller lastes.
   ========================================================================== */
/* himmelen under den svarte Bilder-flaten tegnes ikke (den sto for nesten all sammensettingen) */
@media (max-width:1099px){body:has(> #app > .bview) .sky,body:has(> #app > .bview) .amb{display:none}}
body:has(> #app > .bview) .sky .bl,body:has(> #app > .bview) .sky::before{animation-play-state:paused}
/* logoen i fanelinja glir én gang, ikke for alltid */
.tabbar .vmark,.top .word .vmark{animation-iteration-count:1}
/* lyskanten går én gang per besøk, og aldri over Bilder */
html[data-rim] .tabbar::before,body:has(> #app > .bview) .tabbar::before{animation:none}
/* glass bare på bildet du ser på */
.bview .btile:not(.cur) .bover{-webkit-backdrop-filter:none;backdrop-filter:none}
/* story-streken fylles med transform, ikke bredde */
.btile.playing .bstory i.now b{width:100%;transform-origin:0 50%;animation:bst-fill2 5s linear forwards}
@keyframes bst-fill2{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* B216: Bilder viser bildet. Teksten kommer fram når du trykker på bildet, og går bort når du trykker igjen.
   Kommentarene er et lite ikon nede til venstre: rosa når det finnes kommentarer, hvitt når det ikke gjør det. */
.bview .bover{opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .22s var(--ease-out),transform .22s var(--ease-out)}
.bvp.capon:not(.zoomed) .bover{opacity:1;transform:none;pointer-events:auto}
.bcmi{position:absolute;z-index:4;left:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));width:44px;height:44px;border-radius:50%;display:grid;place-items:center;padding:0;border:1px solid rgb(255 255 255 / .22);color:#fff;text-decoration:none;cursor:pointer;
  background:var(--glass-photo);-webkit-backdrop-filter:var(--glass-photo-fx);backdrop-filter:var(--glass-photo-fx);box-shadow:inset 0 1px 0 rgb(255 255 255 / .28),0 8px 20px -10px rgb(0 0 0 / .6);transition:opacity .22s ease,transform .15s var(--ease-out)}
.bcmi svg{width:21px;height:21px;filter:drop-shadow(0 1px 1px rgb(0 0 0 / .35))}
.bcmi.has{background:var(--vennr-grad);color:var(--vennr-plum);border-color:transparent;box-shadow:0 8px 20px -10px rgb(255 79 160 / .8)}
.bcmi.has svg{filter:none}
.bcmi b{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#fff;color:var(--vennr-plum);font:700 11px/18px var(--f-ui);text-align:center}
.bcmi:active{transform:scale(.94)}
body.has-tabs .bview .bcmi{bottom:calc(92px + env(safe-area-inset-bottom,0px))}
@media (min-width:1100px){body.has-tabs .bview .bcmi{bottom:24px}}
.bvp.zoomed .bcmi,.bvp.zoomed .bicons{opacity:0;pointer-events:none}
.bview .btile:not(.cur) .bcmi{-webkit-backdrop-filter:none;backdrop-filter:none}
@media (prefers-reduced-motion:reduce){.bview .bover{transition:none}}

/* ==========================================================================
   B217 (B215): linsen i Bilder. Dager og Måneder på ett lerret, bøyd som en kule.
   ========================================================================== */
.lz{position:absolute;inset:0;z-index:5;background:rgb(10 18 34 / var(--lz-bg,0));overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:opacity .16s ease}
.lz.gone{opacity:0;pointer-events:none}
.lz-glow{position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(62% 46% at 50% 50%,rgb(48 78 150 / .42),rgb(30 40 90 / .16) 62%,transparent 78%),radial-gradient(40% 30% at 30% 30%,rgb(232 67 147 / .10),transparent 70%)}
.lz-cv{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab;outline:none}
.lz-cv.drag{cursor:grabbing}
.lz-vig{position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(58% 50% at 50% 50%,transparent 62%,rgb(5 8 15 / .55) 88%,rgb(5 8 15 / .85))}
.lz-pill{position:absolute;left:50%;top:calc(env(safe-area-inset-top,0px) + 66px);transform:translateX(-50%);height:34px;padding:0 15px;border-radius:17px;display:flex;align-items:center;gap:7px;font:600 14px/1 var(--f-ui);white-space:nowrap;color:#f2f6fb;pointer-events:none;
  background:var(--glass-regular);-webkit-backdrop-filter:var(--glass-regular-fx);backdrop-filter:var(--glass-regular-fx);border:1px solid var(--glass-edge);box-shadow:var(--glass-spec),var(--shadow-2);transition:opacity .3s ease}
.lz-pill i{width:7px;height:7px;border-radius:4px;background:var(--vennr-grad);flex:none}
.lz-pill small{font:400 13px/1 var(--f-ui);color:rgb(242 246 251 / .7)}
.lz-rail{position:absolute;right:0;top:calc(env(safe-area-inset-top,0px) + 112px);bottom:calc(170px + env(safe-area-inset-bottom,0px));width:44px;opacity:0;transition:opacity .45s;touch-action:none;cursor:ns-resize}
.lz-line{position:absolute;right:10px;top:0;bottom:0;width:2px;border-radius:1px;background:rgb(255 255 255 / .13)}
.lz-m{position:absolute;right:18px;font:600 10px/1 var(--f-ui);letter-spacing:.02em;color:rgb(242 246 251 / .7);transform:translateY(-50%);opacity:0;transition:opacity .3s;padding:2px 4px;border-radius:5px;background:rgb(10 20 48 / .6)}
.lz-rail.labels .lz-m{opacity:1}
.lz-knob{position:absolute;right:6px;top:0;width:10px;height:10px;margin-top:-5px;border-radius:5px;background:var(--vennr-grad);box-shadow:0 0 0 4px rgb(232 67 147 / .22),0 2px 8px rgb(0 0 0 / .4)}
.lz-seg{position:absolute;left:50%;bottom:calc(100px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);display:flex;gap:2px;padding:4px;border-radius:22px;transition:opacity .35s,transform .35s;
  background:var(--glass-regular);-webkit-backdrop-filter:var(--glass-regular-fx);backdrop-filter:var(--glass-regular-fx);border:1px solid var(--glass-edge);box-shadow:var(--glass-spec),var(--shadow-2)}
.lz-seg button{position:relative;border:0;background:transparent;color:rgb(242 246 251 / .78);font:600 13px/1 var(--f-ui);padding:0 15px;height:36px;border-radius:18px;cursor:pointer}
.lz-seg button::before{content:"";position:absolute;left:0;right:0;top:-4px;bottom:-4px}
.lz-seg button[aria-pressed="true"]{background:var(--vennr-grad);color:var(--vennr-plum)}
.lz-seg.off,.lz-pill.off{opacity:0;pointer-events:none}
.lz-seg.off{transform:translate(-50%,14px)}
@media (min-width:1100px){.lz-seg{bottom:24px}}
.bview.lzon .bcmi,.bview.lzon .bdemo,.bview.lzon .bover{opacity:0!important;pointer-events:none!important}

@media (prefers-reduced-motion:reduce){.lz,.lz-pill,.lz-seg,.lz-rail{transition:none}}

/* B218: hjertet nede til venstre ved siden av kommentarene. Rosa når du har likt bildet. */
.bicons{position:absolute;z-index:4;left:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));display:flex;transition:opacity .22s ease}
body.has-tabs .bview .bicons{bottom:calc(92px + env(safe-area-inset-bottom,0px))}
@media (min-width:1100px){body.has-tabs .bview .bicons{bottom:24px}}
.bicons + .bcmi{left:68px}
.bview .bicons .bhrt{width:44px;height:44px;min-width:44px;padding:0;border-radius:50%;display:grid;place-items:center;color:#fff;border:1px solid rgb(255 255 255 / .22);
  background:var(--glass-photo);-webkit-backdrop-filter:var(--glass-photo-fx);backdrop-filter:var(--glass-photo-fx);box-shadow:inset 0 1px 0 rgb(255 255 255 / .28),0 8px 20px -10px rgb(0 0 0 / .6)}
.bview .bicons .bhrt svg{width:21px;height:21px}
.bview .bicons .bhrt.on{background:var(--vennr-grad);border-color:transparent;box-shadow:0 8px 20px -10px rgb(255 79 160 / .8)}
.bview .btile:not(.cur) .bhrt{-webkit-backdrop-filter:none;backdrop-filter:none}
.bview.lzon .bicons{opacity:0!important;pointer-events:none!important}
/* teksten legger seg over ikonene når den vises */
body.has-tabs .bview .bover{bottom:calc(146px + env(safe-area-inset-bottom,0px))}
@media (min-width:1100px){body.has-tabs .bview .bover{bottom:78px}}
.bview .bover{cursor:pointer}
/* kommentararket over et bilde: tydelig glass, så bildet synes gjennom */
body:has(> #app > .bview) .cm-panel{background:linear-gradient(180deg,rgb(255 255 255 / .1),rgb(255 255 255 / 0) 120px),rgb(var(--glass-rgb) / .48);-webkit-backdrop-filter:blur(22px) saturate(170%);backdrop-filter:blur(22px) saturate(170%)}
body:has(> #app > .bview) .cmov{background-color:rgb(3 6 14 / .18)}
.cm-like{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:0;background:rgb(255 255 255 / .1);color:#fff;cursor:pointer;margin-left:auto;margin-right:8px;padding:0}
.cm-like svg{width:20px;height:20px}
.cm-like.on{background:var(--vennr-grad)}
.bwho-av{flex:none;display:block;border-radius:50%;text-decoration:none}
.bwho-av:focus-visible{outline:2px solid #ff6b5b;outline-offset:2px}

/* ---------- B220: video i innlegg ---------- */
.fimg video.fvid,.bim video.bvid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:transparent}
.bim video.bvid{object-fit:contain;opacity:0;transition:opacity .25s}
.bim.vplay video.bvid{opacity:1}
.bvp.zoomed .bim video.bvid,.bvp.grid .bim video.bvid{opacity:0}
.vsnd{position:absolute;z-index:4;top:10px;right:10px;width:36px;height:36px;border-radius:50%;border:0;padding:0;display:grid;place-items:center;color:#fff;
  background:rgba(14,18,32,.42);-webkit-backdrop-filter:blur(12px) saturate(1.4);backdrop-filter:blur(12px) saturate(1.4);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.28);cursor:pointer}
.vsnd svg{width:20px;height:20px}
.vsnd[aria-pressed="true"]{background:var(--vennr-grad);color:var(--vennr-plum,#2a0716)}
.fstory .vsnd{top:22px}
.bsnd{top:calc(64px + env(safe-area-inset-top,0px));right:14px;width:40px;height:40px}
.bvp.zoomed .bsnd,.bvp.grid .bsnd,.bview.lzon .bsnd{display:none}
.btile:not(.cur) .bsnd{display:none}
.post .pimgs video.pvid{width:100%;border-radius:16px;display:block;background:#000;max-height:80vh}
.np-ph.vid .np-vt{position:absolute;left:6px;bottom:6px;display:inline-flex;align-items:center;gap:3px;padding:2px 7px 2px 4px;border-radius:999px;background:rgba(10,14,26,.6);color:#fff;font:600 11px/1.4 var(--f-ui,system-ui)}
.np-ph.vid .np-vt svg{width:13px;height:13px}
@media (prefers-reduced-motion:reduce){.bim video.bvid{transition:none}}

/* B222: Prat-lista. Ingen mørk ring rundt de små profilbildene, og «Du» er en stille glassprikk, ikke en rosa pille (rosa er for knapper) */
.pb .av{box-shadow:none}
.pb .pb-du{background:rgb(255 255 255 / .1);color:var(--ink-2);box-shadow:inset 0 0 0 .5px rgb(255 255 255 / .28);font-weight:650}
/* Samme i store profilbilder i lista: et lyst glasshårstrek i stedet for den mørke ringen */
.pr-ic>.av{box-shadow:inset 0 0 0 .5px rgb(255 255 255 / .22)}
.pr-ic .gav .av{box-shadow:0 0 0 1.5px rgb(255 255 255 / .18),0 2px 6px -2px rgb(0 0 0 / .35)}

/* B225: slutten av bildestrømmen */
.bend{position:fixed;left:50%;bottom:calc(112px + env(safe-area-inset-bottom,0px));z-index:7;transform:translate(-50%,8px);opacity:0;pointer-events:none;
  padding:9px 16px;border-radius:999px;font:600 14px/1.2 var(--f-ui,system-ui);color:#fff;white-space:nowrap;
  background:rgb(14 18 32 / .5);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);box-shadow:inset 0 0 0 .5px rgb(255 255 255 / .25);transition:opacity .25s,transform .25s}
.bend.on{opacity:1;transform:translate(-50%,0)}
@media (prefers-reduced-motion:reduce){.bend{transition:none}}

/* B227: grafiske annonser */
.adgfx{position:relative;display:block;border-radius:20px;overflow:hidden;background:rgb(255 255 255 / .06);box-shadow:inset 0 0 0 .5px rgb(255 255 255 / .16);text-decoration:none}
.adgfx img{display:block;width:100%;height:100%;object-fit:cover}
.adgfx .adl{position:absolute;left:10px;top:10px;padding:4px 9px;border-radius:999px;color:#fff;font-size:10.5px;
  background:rgb(10 14 26 / .5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 .5px rgb(255 255 255 / .25)}
.adgfx:focus-visible{outline:2px solid #ff6b5b;outline-offset:3px}
.adprev .adgfx{max-width:420px}
.ad-pick{position:relative;display:block;cursor:pointer}
.ad-pick input{position:absolute;inset:0;opacity:0;cursor:pointer}
.ad-pick>span{display:flex;align-items:center;gap:10px;min-height:52px;padding:10px 14px;border-radius:16px;border:1px dashed rgb(255 255 255 / .28);color:var(--ink-2);font-size:14px}
.ad-pick>span svg{width:20px;height:20px}
.ad-pick>span img{width:56px;height:56px;border-radius:10px;object-fit:cover}
.ad-pick:focus-within>span{outline:2px solid #ff6b5b;outline-offset:2px}

/* B228: video med kameraet */
.cam-mode{position:absolute;left:50%;bottom:calc(128px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:3;display:flex;gap:2px;padding:3px;border-radius:999px;
  background:rgb(0 0 0 / .32);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 0 0 .5px rgb(255 255 255 / .2)}
.cam-mode button{border:0;background:none;color:rgb(255 255 255 / .78);font:600 13px/1 var(--f-ui,system-ui);letter-spacing:.04em;text-transform:uppercase;padding:8px 14px;border-radius:999px;cursor:pointer}
.cam-mode button[aria-pressed="true"]{color:#ffd36b;background:rgb(255 255 255 / .12)}
.cam.rec .cam-mode,.cam.rec .cam-gal,.cam.rec .cam-flip{opacity:0;pointer-events:none;transition:opacity .2s}
.cam.vid .cam-shot i{background:#ff3b30;transition:transform .2s,border-radius .2s}
.cam.rec .cam-shot i{transform:scale(.5);border-radius:8px}
.cam-time{position:absolute;left:50%;top:calc(16px + env(safe-area-inset-top,0px));transform:translateX(-50%);z-index:3;padding:5px 12px;border-radius:8px;
  background:#ff3b30;color:#fff;font:600 15px/1.2 var(--f-ui,system-ui);font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){.cam.vid .cam-shot i,.cam.rec .cam-mode{transition:none}}

/* ---------- B229: Bilder uten bildetekstpanel, profilbildet som kommentarknapp, «delt av → til» ---------- */
/* Hjertet på øyeblikk fikk stilen til reaksjoner i chatten (.mreact) og havnet utenfor kanten */
.bview .bicons .bhrt.mreact{position:static;top:auto;right:auto;left:auto;padding:0;font-size:inherit;border:1px solid rgb(255 255 255 / .22);background:var(--glass-photo)}
.bview .bicons .bhrt.mreact.on{background:var(--vennr-grad);border-color:transparent}
.bcmi.bav{width:48px;height:48px;padding:0;border:2px solid rgb(255 255 255 / .85);background:rgb(14 18 32 / .4);box-shadow:0 8px 22px -10px rgb(0 0 0 / .7)}
.bcmi.bav .av{width:100%;height:100%;margin:0;box-shadow:none;font-size:15px;border-radius:50%;overflow:hidden}
.bcmi.bav .av img{width:100%;height:100%;object-fit:cover}
.bicons + .bcmi.bav{left:66px}
.bav-ic{position:absolute;left:-5px;bottom:-5px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#fff;
  background:rgb(14 18 32 / .78);box-shadow:0 0 0 1.5px rgb(255 255 255 / .85)}
.bav-ic svg{width:12px!important;height:12px!important;filter:none!important}
.bcmi.bav.has{border-color:transparent;background:var(--vennr-grad);padding:2px}
.bcmi.bav.has .bav-ic{background:var(--vennr-grad);color:var(--vennr-plum)}
.bcmi.bav b{top:-6px;right:-6px}
.bhide{position:absolute;z-index:4;right:14px;top:calc(118px + env(safe-area-inset-top,0px));width:38px;height:38px;border-radius:50%;display:grid;place-items:center;padding:0;color:#fff;cursor:pointer;
  border:1px solid rgb(255 255 255 / .22);background:var(--glass-photo);-webkit-backdrop-filter:var(--glass-photo-fx);backdrop-filter:var(--glass-photo-fx)}
.bhide svg{width:19px;height:19px}
.btile:not(.cur) .bhide,.bvp.zoomed .bhide,.bview.lzon .bhide{opacity:0;pointer-events:none}
.bex{position:absolute;left:50%;top:calc(70px + env(safe-area-inset-top,0px));transform:translateX(-50%);z-index:4;font-size:12px;color:#fff;opacity:.75;white-space:nowrap}
/* Kommentarfeltet: hvem som delte, til hvem og teksten står fast øverst */
.cm-src-slot:empty{display:none}
.cm-src{display:flex;align-items:flex-start;gap:12px;padding:2px 18px 12px;border-bottom:.5px solid rgb(255 255 255 / .14)}
.cm-src-av,.cm-src>.av{flex:none}
.cm-src .av{width:40px;height:40px;margin:0;box-shadow:none;font-size:14px}
.cm-src-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.cm-src-h{font-size:15px;line-height:1.3}
.cm-src-h b{font-weight:650}
.cm-to{color:rgb(244 247 251 / .7)}
.cm-src-m{font-size:12.5px;color:rgb(244 247 251 / .6)}
.cm-src-c{margin:5px 0 0;font-size:15px;line-height:1.4;max-height:5.6em;overflow:auto;overflow-wrap:anywhere}
.cm-src-r{flex:none;align-self:center;font-size:13px;padding:7px 12px;border-radius:999px;background:rgb(255 255 255 / .1);color:#fff;text-decoration:none;border:0;cursor:pointer}
.cm-open{background:var(--vennr-grad);color:var(--vennr-plum);font-weight:650}
.cm-more-chat{display:block;margin:6px 18px 4px;font-size:14px;color:#ffc7df}
.cm-goto{margin:6px 16px 4px;width:auto}
.cm-i[data-e2e] p{color:rgb(244 247 251 / .65);font-style:italic}
/* Samme gjennomsiktige glass i kommentarfeltet overalt (før bare i Bilder) */
.cm-panel{background:linear-gradient(180deg,rgb(255 255 255 / .1),rgb(255 255 255 / 0) 120px),rgb(var(--glass-rgb) / .58);-webkit-backdrop-filter:blur(22px) saturate(170%);backdrop-filter:blur(22px) saturate(170%)}
.cmov{background-color:rgb(3 6 14 / calc(.26 * var(--dim)))}
body:has(> #app > .bview) .cm-panel{background:linear-gradient(180deg,rgb(255 255 255 / .1),rgb(255 255 255 / 0) 120px),rgb(var(--glass-rgb) / .48)}
body:has(> #app > .bview) .cmov{background-color:rgb(3 6 14 / .18)}
.cm-src-av{text-decoration:none;color:inherit}

/* B231: merket som pulserer, tegnet på canvas (puls.js). Klassen er .vpcv, fordi .pcv er papirinvitasjonen. */
.pmark{width:min(62vw,430px);aspect-ratio:558/266;position:relative;z-index:1}
.vpcv{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.splash.pul>*:not(.vpcv),.waitv .waitw.pul{position:relative;z-index:1}
.waitv{position:relative}
.splash.pul h1,.waitw.pul h1{opacity:0;animation:none;will-change:opacity,transform}
.splash.pul .ptag,.waitw.pul .ptag{margin:-12px 0 0;min-height:1.4em;font-size:clamp(17px,4.4vw,22px);font-weight:400;color:#f2f6fb;opacity:0;animation:none;will-change:opacity,transform}
.ptag span{display:inline-block;white-space:pre}
.splash.pul{gap:clamp(22px,4.4vh,38px);background:radial-gradient(120% 80% at 50% 30%,#1d2d52,#0d1630 70%)}
@media (prefers-reduced-motion:reduce){.splash.pul h1,.waitw.pul h1,.splash.pul .ptag,.waitw.pul .ptag{opacity:1}}

/* B232: det lille merket animeres på canvas (puls.js). Merket selv er fast; canvaset ligger over og er større, så gløden får plass. */
.vlogo .vmcv{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:1}
.vlogo.loop:not(.cv) .vmark{animation:vflow 1.6s linear infinite}
/* Merket står midt i toppen når det er en tilbakeknapp til venstre (profil, innlegg og andre undersider) */
.top{position:relative}
.top > .iconbtn:first-child + .word{position:absolute;left:50%;transform:translateX(-50%)}
/* Ventesiden: ingen kort rundt, merket og gløden går helt ut i kantene */
.view.waitv{background:none!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;max-width:none}
.waitv>.vpcv{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh}
/* B232: logoen i toppen og menyen er den enkle, flate vvv-en. Kula går én gang når appen åpnes, så bølger fargene videre i loop.
   I Bilder står fargene stille, så rullingen er så lett som mulig. */
.tabbar .vmark,.top .word .vmark{animation-iteration-count:infinite}
body:has(> #app > .bview) .tabbar .vmark{animation-play-state:paused}

/* B238: under et sveip tegnes ikke det som ligger utenfor skjermen */
.swoff{visibility:hidden!important}

/* B242: knappene over bildet i Bilder har ikke lenger glass med uskarphet (backdrop-filter). På iPhone sto skjermen stille til
   de var tegnet: hver av dem må gjøre bildet bak (som selv er en uskarp kopi) uskarpt på nytt. Nå er de mørke og halvgjennomsiktige. */
.bview .bcmi,.bview .bicons .bhrt,.bview .bhide,.bview .bbar .iconbtn,.bview .bstack,.bview .mclock,.bview .vsnd{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.bview .bbar .iconbtn{background:rgb(14 18 32 / .42)}
.bview .bcmi:not(.has):not(.bav),.bview .bicons .bhrt:not(.on),.bview .bhide{background:rgb(14 18 32 / .42)}

/* B243: prøve uten uskarphet og glass (slås på under Konto) */
.nofx *,.nofx *::before,.nofx *::after{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;filter:none!important}
.nofx .bim::before{display:none}

/* B249: miniatyr av bildet i Prat */
.pb.pic>span:not(.av){display:inline-flex;align-items:center;gap:8px;padding:3px}
.pb.pic>span:not(.av)>b{padding-left:8px}
.pb-img{display:inline-block;width:44px;height:44px;border-radius:10px;overflow:hidden;flex:none;vertical-align:middle;background:rgb(255 255 255 / .08)}
.pb-img img{width:100%;height:100%;object-fit:cover;display:block}

/* B251: «Laget med KI» */
.aitag{display:inline-flex;align-items:center;margin-left:6px;padding:1px 8px;border-radius:999px;font-size:11.5px;font-weight:600;line-height:18px;color:var(--ink);background:rgb(255 255 255 / .12);border:1px solid rgb(255 255 255 / .18);vertical-align:1px;white-space:nowrap}
.aitag.cm{margin:4px 0 0;align-self:flex-start}
.aitag.btag{position:absolute;z-index:4;left:14px;top:calc(64px + env(safe-area-inset-top,0px));margin:0;color:#fff;background:rgb(14 18 32 / .55);border-color:rgb(255 255 255 / .22)}
.btile:not(.cur) .aitag.btag,.bvp.zoomed .aitag.btag,.bview.lzon .aitag.btag{opacity:0}

/* B253: tekst på bilder og video. Laget følger bildet: dekker det samme utsnittet som bildet (cover), eller hele bildet (.fit, contain). */
.tl{position:absolute;inset:0;container-type:size;overflow:hidden;pointer-events:none;z-index:2}
.tl-i{position:absolute;left:50%;top:50%;width:max(100cqw,calc(100cqh * var(--a)));aspect-ratio:var(--a);transform:translate(-50%,-50%);container-type:inline-size}
.tl.fit .tl-i{width:min(100cqw,calc(100cqh * var(--a)))}
.tl-t{position:absolute;transform:translate(-50%,-50%) rotate(calc(var(--r,0) * 1rad));font:700 calc(var(--s,.075) * 100cqw)/1.16 var(--f-ui);color:var(--c,#fff);white-space:pre;text-align:center;letter-spacing:-.012em;
  text-shadow:0 1px 2px rgb(0 0 0 / .42),0 0 .6em rgb(0 0 0 / .28);-webkit-user-select:none;user-select:none}
.tl-t.b1{background:var(--c,#fff);color:var(--k,#111);padding:.14em .42em .18em;border-radius:.32em;text-shadow:none;box-shadow:0 .08em .5em rgb(0 0 0 / .18)}
.tl-t.b2{font-family:var(--f-elegant);font-weight:400;letter-spacing:0;line-height:1.1}
.tl-t.b3{font-family:var(--f-moderne);text-transform:uppercase;letter-spacing:.01em;line-height:1.05;font-size:calc(var(--s,.075) * 86cqw)}
/* Bilder: teksten er skjult til du trykker på bildet (samme trykk som åpner kommentarene) */
.btile .tl{visibility:hidden;opacity:0;transition:opacity .22s var(--ease-out),visibility 0s .22s}
.btile.tlon .tl{visibility:visible;opacity:1;transition:opacity .22s var(--ease-out)}
.bvp.grid .btile .tl,.bvp.zoomed .btile .tl{visibility:hidden}
.post .pimgs .pim{position:relative;display:block}
.np-ph .tl{border-radius:inherit}
.np-ph .np-aa{position:absolute;left:4px;bottom:4px;z-index:3;min-width:30px;height:26px;padding:0 7px;border:0;border-radius:13px;background:rgb(0 0 0 / .55);color:#fff;font:700 12px var(--f-ui)}
.np-ph .np-aa.on{background:#fff;color:#111}

/* Editoren */
html.tx-open,html.tx-open body{overflow:hidden}
.tx{position:fixed;inset:0;z-index:300;background:#05070c;display:flex;flex-direction:column;touch-action:none;animation:tx-in .2s var(--ease-out)}
.tx.out{opacity:0;transition:opacity .2s}
@keyframes tx-in{from{opacity:0}}
.tx-top{display:flex;justify-content:space-between;align-items:center;padding:calc(env(safe-area-inset-top,0px) + 8px) 14px 8px;position:relative;z-index:6}
.tx-top button{border:0;background:none;color:#fff;font:600 16px var(--f-ui);padding:8px 6px;min-height:44px}
.tx-top .tx-done{background:#fff;color:#111;border-radius:22px;padding:8px 18px}
.tx-area{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;margin:0 10px;container-type:size}
.tx-stage{position:relative;width:min(100cqw,calc(100cqh * var(--a)));aspect-ratio:var(--a);border-radius:14px;overflow:hidden;background:#111;touch-action:none}
.tx-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.tx-l{pointer-events:auto}
.tx-l .tl-t{cursor:grab;touch-action:none}
.tx.dragging .tx-l .tl-t{cursor:grabbing}
.tx-guide{position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgb(255 255 255 / .7);opacity:0;transition:opacity .15s;z-index:3;pointer-events:none}
.tx-guide.on{opacity:1}
.tx-bot{position:relative;height:calc(96px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;padding-bottom:env(safe-area-inset-bottom,0px)}
.tx-add{width:56px;height:56px;border-radius:50%;border:0;background:#fff;color:#111;font:700 20px var(--f-elegant);box-shadow:0 8px 24px -8px rgb(0 0 0 / .6)}
.tx-hint{margin:0;color:rgb(255 255 255 / .62);font:500 13px var(--f-ui)}
.tx-trash{position:absolute;left:50%;top:14px;width:56px;height:56px;margin-left:-28px;border-radius:50%;display:grid;place-items:center;color:#fff;background:rgb(255 255 255 / .14);opacity:0;transform:scale(.8);transition:opacity .15s,transform .15s,background .15s;pointer-events:none}
.tx-trash svg{width:24px;height:24px}
.tx.dragging .tx-trash{opacity:1;transform:none}
.tx.dragging .tx-add,.tx.dragging .tx-hint{opacity:0}
.tx-trash.hot{background:#ff4d5e;transform:scale(1.12)}
.tx-ed{position:absolute;inset:0;z-index:5;background:rgb(0 0 0 / .55);display:flex;flex-direction:column;padding-top:calc(env(safe-area-inset-top,0px) + 60px)}
.tx-tools{display:flex;align-items:center;gap:10px;padding:6px 14px 10px;overflow-x:auto;scrollbar-width:none}
.tx-cols{display:flex;gap:8px;flex:1}
.tx-cols button{flex:none;width:26px;height:26px;border-radius:50%;border:2px solid rgb(255 255 255 / .9);background:var(--c);padding:0;box-shadow:0 2px 6px rgb(0 0 0 / .3)}
.tx-cols button[aria-checked="true"]{transform:scale(1.22);border-width:3px}
.tx-sty{flex:none;display:flex;align-items:center;gap:6px;border:0;border-radius:18px;background:rgb(255 255 255 / .16);color:#fff;padding:5px 12px 5px 6px;font:600 13px var(--f-ui)}
.tx-sty .tl-t{position:static;transform:none;font-size:15px;padding:2px 7px}
.tx-sty .tl-t:not(.b1){text-shadow:none}
.tx-wrap{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px 0}
.tx-in.tl-t{position:static;transform:none;white-space:pre-wrap;max-width:100%;min-width:1ch;outline:none;caret-color:#fff;-webkit-user-select:text;user-select:text;word-break:break-word}
.tx-in.tl-t.b3{font-size:inherit}
.tx-in:empty::before{content:'Skriv noe';opacity:.5}
@media (prefers-reduced-motion:reduce){.tx{animation:none}.tl,.btile .tl{transition:none}}
.mo-view video.mo-img{background:#000}
.mo-snd{position:absolute;right:12px;top:calc(64px + env(safe-area-inset-top,0px));z-index:4;width:36px;height:36px;border-radius:50%;border:0;background:rgb(0 0 0 / .4);color:#fff;display:grid;place-items:center;padding:0}
.mo-snd svg{width:18px;height:18px}
.mo-view .tl{z-index:2}
.mo-pv{position:relative;display:block;width:100%}
.mo-prevw video.mo-prev{width:100%;height:auto;max-height:40vh;object-fit:contain;border-radius:14px;display:block;background:#000}
.mo-prevw video[hidden]{display:none}
.mo-aa{position:absolute;right:10px;top:10px;z-index:3;min-width:44px;height:44px;border-radius:22px;border:0;background:rgb(0 0 0 / .5);color:#fff;font:400 19px var(--f-elegant);padding:0 12px;box-shadow:0 4px 14px -6px rgb(0 0 0 / .6)}
.mo-aa.on{background:#fff;color:#111}
.mo-aa[hidden]{display:none}
.momimg .vsnd{top:auto;bottom:10px}
.bclock~.bsnd{top:calc(108px + env(safe-area-inset-top,0px))}
/* B256: NRK-merke på bildene i Les */
.ls .ls-nrk{position:absolute;left:8px;top:8px;z-index:1;padding:2px 6px;border-radius:4px;background:rgb(0 0 0 / .62);color:#fff;font:700 10px/1.3 var(--f-ui);letter-spacing:.06em}
.ls .ls-i.noimg .ls-nrk{display:none}
/* B257: «Din tur, Kari?» etter svaret */
.dintur{display:flex;flex-direction:column;gap:12px}
.dintur h2{font-family:var(--f-elegant);font-weight:400;font-size:28px;line-height:1.1;margin:0;text-wrap:balance}
.dintur p{margin:0}
.dt-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dt-p{display:block;border-radius:14px;transition:transform .2s var(--ease-out)}
.dt-p:active{transform:scale(.97)}
.dt-p:focus-visible{outline:2px solid var(--c3,#fff);outline-offset:3px}
.dintur .poster .bl{animation:none}
.dintur .poster .p-title{font-size:15cqi}
.dt-note{text-align:center}
/* B258: konvolutten for bryllup, konfirmasjon, dåp og jubileum */
.konv{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;cursor:pointer;color:var(--fine-ink);
  background:radial-gradient(120% 80% at 50% 20%,var(--c1),var(--paper) 60%,var(--c2));-webkit-tap-highlight-color:transparent;outline:none;
  --env:color-mix(in srgb,var(--c2) 70%,var(--paper));--liner:var(--c3);--w:min(76vw,320px)}
[data-tema="jubileum"] .konv{--env:#233663;--liner:#2c2448}
.konv.out{opacity:0;transition:opacity .6s ease}
.kv-til{margin:0;text-align:center;font:italic 500 20px/1.3 'Cormorant Garamond',Georgia,serif;color:var(--fine-ink2);animation:kv-in .8s .1s both}
.kv-til b{display:block;font:400 34px/1.15 'Gloock',Georgia,serif;color:var(--fine-ink);margin-top:2px;text-wrap:balance;max-width:86vw}
.kv-hint{margin:0;font:500 14px var(--f-ui);color:var(--fine-ink2);animation:kv-in .8s .6s both,kv-pulse 2.4s 1.4s ease-in-out infinite}
.kv-env{position:relative;width:var(--w);aspect-ratio:300/390;animation:kv-in .9s .2s cubic-bezier(.2,.8,.2,1) both}
.kv-env>i,.kv-klaff{position:absolute;inset:0;display:block}
.kv-bak{background:var(--env);border-radius:6px;box-shadow:0 34px 60px -30px rgb(0 0 0 / .55),0 6px 14px -6px rgb(0 0 0 / .22);overflow:hidden}
.kv-bak::before{content:"";position:absolute;inset:0 0 42% 0;background-color:var(--liner);background-image:radial-gradient(circle at 50% 100%,transparent 8px,rgb(255 255 255 / .3) 8.6px,rgb(255 255 255 / .3) 9.8px,transparent 10.4px),radial-gradient(circle at 50% 100%,transparent 8px,rgb(255 255 255 / .3) 8.6px,rgb(255 255 255 / .3) 9.8px,transparent 10.4px);background-size:22px 12px;background-position:0 0,11px 6px}
.kv-kort{inset:3% 6% auto 6%!important;height:88%;background:var(--paper);border-radius:3px;box-shadow:0 1px 3px rgb(0 0 0 / .18);display:flex!important;align-items:flex-start;justify-content:center;padding-top:14%;overflow:hidden}
.kv-kort::before{content:"";position:absolute;inset:6px;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:2px}
.kv-kort span{position:relative;font:400 22px/1.15 'Gloock',Georgia,serif;color:var(--fine-ink);text-align:center;padding:0 12%;text-wrap:balance}
.kv-lomme{background:var(--env);clip-path:polygon(0 0,50% 42%,100% 0,100% 100%,0 100%);border-radius:0 0 6px 6px;filter:drop-shadow(0 -1px 1.5px rgb(0 0 0 / .2));background-image:linear-gradient(to bottom,rgb(255 255 255 / .08),transparent 45%)}
.kv-klaff{perspective:1100px;filter:drop-shadow(0 2px 3px rgb(0 0 0 / .28));z-index:4}
.kv-klaff>span{position:absolute;inset:0;transform-origin:50% 0;transform-style:preserve-3d}
.kv-klaff i{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,50% 46%);backface-visibility:hidden;background:var(--env);background-image:linear-gradient(to bottom,rgb(255 255 255 / .14),rgb(0 0 0 / .06) 46%)}
.kv-klaff .inne{transform:rotateX(180deg);background:var(--liner)}
.kv-segl{position:absolute;left:50%;top:46%;width:64px;height:64px;margin:-36px 0 0 -32px;border-radius:50%;backface-visibility:hidden;transform:translateZ(1px);background:var(--foil,var(--accent));background-size:220% 100%;
  box-shadow:0 3px 6px rgb(0 0 0 / .3),inset 0 0 0 3px rgb(255 255 255 / .25),inset 0 0 0 4px rgb(0 0 0 / .1);display:grid;place-items:center;font:400 30px 'Gloock',Georgia,serif;color:rgb(40 28 14 / .78)}
/* åpningen */
.konv.open .kv-hint,.konv.open .kv-til{opacity:0;transition:opacity .4s}
.konv.open .kv-klaff>span{animation:kv-klaff .8s cubic-bezier(.55,0,.25,1) both}
.konv.open .kv-klaff{animation:kv-z .8s both}
.konv.open .kv-kort{animation:kv-ut 1.2s .7s cubic-bezier(.3,0,.2,1) both}
.konv.open .kv-bak,.konv.open .kv-lomme,.konv.open .kv-klaff>span{animation-fill-mode:both}
.konv.open .kv-bak,.konv.open .kv-lomme{animation:kv-ned 1.1s 1s cubic-bezier(.5,0,.6,1) both}
.konv.open .kv-klaff{animation:kv-z .8s both,kv-ned 1.1s 1s cubic-bezier(.5,0,.6,1) both}
@keyframes kv-in{from{opacity:0;transform:translateY(14px)}}
@keyframes kv-pulse{50%{opacity:.55}}
@keyframes kv-klaff{to{transform:rotateX(180deg)}}
@keyframes kv-z{0%,49%{z-index:4}50%,100%{z-index:1}}
@keyframes kv-ut{0%{transform:none;z-index:2}45%{transform:translateY(-46%);z-index:2}46%{transform:translateY(-46%);z-index:5}100%{transform:translateY(-8%) scale(1.12);z-index:5}}
@keyframes kv-ned{to{transform:translateY(120vh)}}
@media (prefers-reduced-motion:reduce){.konv{display:none}}
.kv-bak{z-index:1}.kv-kort{z-index:2}.kv-lomme{z-index:3}

/* B259: Filmatisk, mørk kinosal (fra jubileum, med varmere lys) */
[data-tema="filmatisk"]{--base:#07080c;--paper:#0b0c11;--c1:#1b1c25;--c2:#2b2228;--c3:#4a3418;--accent:#e2b675;--ink:#f6efe2;--ink-2:rgba(246,239,226,.76);--fine-ink:#f6efe2;--fine-ink2:rgba(246,239,226,.76);--glass:rgba(255,255,255,.09);--line:rgba(255,255,255,.17);--field:rgba(0,0,0,.24);--btn:#f6efe2;--btn-ink:#07080c;--err:#ffb0a8;color-scheme:dark}
[data-tema="filmatisk"].poster.fine .grain{mix-blend-mode:overlay;opacity:.2}
[data-tema="filmatisk"]{--foil:linear-gradient(105deg,#b48b40 0%,#f7e2a6 18%,#e2b675 34%,#fff8de 48%,#c49a4e 62%,#f2d999 80%,#b48b40 100%)}
[data-tema="filmatisk"] .k-paper{background:linear-gradient(128deg,rgba(255,255,255,.1) 0%,rgba(255,255,255,0) 34%,rgba(255,255,255,0) 70%,rgba(255,255,255,.05) 100%),radial-gradient(120% 70% at 50% 0%,#1d1e28,transparent 65%),radial-gradient(90% 60% at 100% 100%,rgba(74,52,24,.55),transparent 70%),radial-gradient(70% 50% at 0% 80%,rgba(58,47,92,.6),transparent 70%),var(--paper)}
[data-tema="filmatisk"] .k-grain{mix-blend-mode:overlay;opacity:.28}
[data-tema="filmatisk"] .k-link{background:rgba(255,255,255,.05)}
[data-tema="filmatisk"] .k-rsvp button{background:rgba(255,255,255,.06)}
[data-tema="filmatisk"] .k-rsvp button[aria-pressed="true"]{background:var(--foil);color:#07080c}
.ecard.fine[data-tema="filmatisk"]{background:radial-gradient(120% 80% at 50% 0%,#1d1e28,transparent 65%),radial-gradient(90% 60% at 100% 100%,rgba(74,52,24,.6),transparent 70%),var(--paper)}
[data-tema="filmatisk"] .k-cta{background:var(--foil);color:#07080c}
[data-tema="filmatisk"] .kp .card{background:rgba(255,255,255,.05)}
.evban.fine[data-tema="filmatisk"]{background:radial-gradient(120% 120% at 50% 0%,#1d1e28,transparent 70%),var(--paper)}
.gev.fine[data-tema="filmatisk"]{background:radial-gradient(120% 160% at 30% 0%,#1d1e28,transparent 70%),radial-gradient(90% 140% at 100% 100%,rgba(74,52,24,.6),transparent 70%),var(--paper)}
.gev.fine[data-tema="filmatisk"].hasbg::before{background:linear-gradient(90deg,rgba(11,12,17,.82),rgba(11,12,17,.5))}
[data-tema="filmatisk"]{--glass-rgb:8 9 14;--ornament:none}
@font-face{font-family:'Barlow Condensed';font-weight:500;font-display:swap;src:url(/fonts/barlow-condensed-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-weight:600;font-display:swap;src:url(/fonts/barlow-condensed-latin-600-normal.woff2) format('woff2')}
/* Filmatisk: forsiden som filmplakat */
[data-tema="filmatisk"] .k-page:first-child .k-frame,[data-tema="filmatisk"] .k-page:first-child .k-sheen{display:none}
.kp-film{padding:0!important;justify-content:flex-start;container-type:inline-size;color:#fff;overflow:hidden;min-height:100%;background:#05060a}
.fm-m{position:absolute;inset:0;overflow:hidden;z-index:0}
.fm-v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.fm-amb{position:absolute;inset:-20%;background:radial-gradient(40% 32% at 30% 38%,rgb(255 170 90 / .55),transparent 70%),radial-gradient(34% 28% at 72% 62%,rgb(226 120 70 / .42),transparent 70%),radial-gradient(60% 40% at 50% 100%,rgb(70 40 90 / .6),transparent 70%),#08090f;animation:fm-drift 18s ease-in-out infinite alternate}
@keyframes fm-drift{to{transform:translate(4%,-3%) scale(1.08)}}
.fm-slor{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgb(5 6 10 / .62) 0%,rgb(5 6 10 / .18) 36%,rgb(5 6 10 / 0) 52%,rgb(5 6 10 / .35) 70%,rgb(5 6 10 / .88) 100%)}
.fm-bar{position:absolute;left:0;right:0;height:11%;background:#000;z-index:3;transform:scaleY(0)}
.fm-bar.t{top:0;transform-origin:top}.fm-bar.b{bottom:0;transform-origin:bottom}
.fm-tb{position:relative;z-index:2;margin-top:calc(64px + env(safe-area-inset-top,0px));padding:0 7cqw;text-align:center}
.fm-over{margin:0 0 3.2cqw;font:500 3.6cqw/1.3 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:rgb(255 255 255 / .9);text-shadow:0 1px 10px rgb(0 0 0 / .5)}
.fm-t{margin:0;font-family:'Gloock',Georgia,serif;font-weight:400;line-height:.98;color:#fff;text-shadow:0 2px 28px rgb(0 0 0 / .5)}
.fm-l{display:block;white-space:nowrap}.fm-l+.fm-l{margin-top:.06em}
.fm-c{display:inline-block;white-space:pre}
.fm-under{margin:4.4cqw 0 0;font:500 4.4cqw/1.3 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 1px 10px rgb(0 0 0 / .55)}
.fm-under::before{content:"";display:block;width:9cqw;height:max(1px,.4cqw);background:var(--accent);margin:0 auto 3.6cqw}
.fm-bot{position:relative;z-index:2;margin-top:auto;width:100%;display:flex;flex-direction:column;align-items:center;gap:12px;padding:0 6cqw calc(70px + env(safe-area-inset-bottom,0px))}
.kp-film .k-quick button{background:rgb(255 255 255 / .12);color:#fff;border-color:rgb(255 255 255 / .35);-webkit-backdrop-filter:none;backdrop-filter:none}
.kp-film .k-quick button[aria-pressed="true"]{background:var(--accent);color:#120d06;border-color:transparent}
.kp-film .k-hint{color:rgb(255 255 255 / .8)}
.fm-rulle{border:0;background:none;padding:6px 4px;cursor:zoom-in;text-align:center;font:500 3.3cqw/1.3 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.07em;text-transform:uppercase;color:rgb(255 255 255 / .82)}
.fm-rulle span{margin:0 .18em}.fm-rulle .l{font-size:.62em;letter-spacing:.14em;color:rgb(255 255 255 / .6);vertical-align:.3em}
.fm-rulle:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.fm-lupe{display:grid;grid-template-columns:auto 1fr;gap:10px 16px;margin:0}
.fm-lupe dt{font:600 13px 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);text-align:right;padding-top:3px}
.fm-lupe dd{margin:0;font-size:19px;line-height:1.35}
/* Tittelsekvensen første gang kortet åpnes */
.kort.go:not(.still) .fm-bar{animation:fm-bar 2.6s cubic-bezier(.2,.8,.2,1) both}
.kort.go:not(.still) .fm-m{animation:fm-lys 1.6s ease-out .5s both}
.kort.go:not(.still) .fm-v,.kort.go:not(.still) .fm-amb{animation:fm-dra 6s cubic-bezier(.2,.8,.2,1) .5s both}
.kort.go:not(.still) .fm-amb{animation:fm-dra 6s cubic-bezier(.2,.8,.2,1) .5s both,fm-drift 18s ease-in-out 6.5s infinite alternate}
.kort.go:not(.still) .fm-over{animation:fm-tone .8s ease-out 1.1s both}
.kort.go:not(.still) .fm-c{animation:fm-bokstav .9s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(1.3s + var(--i) * 42ms)}
.kort.go:not(.still) .fm-under{animation:fm-tone .9s ease-out 2.3s both}
.kort.go:not(.still) .fm-bot{animation:fm-tone .9s ease-out 2.7s both}
.fm-still{animation:fm-ken 24s ease-in-out infinite alternate}
@keyframes fm-bar{0%,45%{transform:scaleY(1)}100%{transform:scaleY(0)}}
@keyframes fm-lys{from{opacity:0}}
@keyframes fm-dra{from{transform:scale(1.14)}}
@keyframes fm-ken{to{transform:scale(1.08) translate(-1.5%,-1%)}}
@keyframes fm-tone{from{opacity:0}}
@keyframes fm-bokstav{from{opacity:0;transform:translateY(.25em)}}
@media (prefers-reduced-motion:reduce){.fm-amb,.fm-still{animation:none!important}.kort.go .fm-bar{display:none}}
.filmc{display:flex;flex-direction:column;gap:12px}
.filmc h3{margin:6px 0 0}
.filmprev{width:100%;max-height:260px;object-fit:cover;border-radius:12px;background:#000;display:block}
.kp-film>*{opacity:1}
/* B260: Plakat. Siden rundt er lys og rolig; plakaten bærer fargene. */
[data-tema="plakat"]{--base:#f4efe6;--c1:#ffffff;--c2:#ffd9a8;--c3:#ffc7d8;--ink:#1d1838;--ink-2:rgba(29,24,56,.68);--glass:rgba(255,255,255,.6);--line:rgba(29,24,56,.13);--field:rgba(255,255,255,.8);--btn:#1d1838;--btn-ink:#fff8ec;--err:#b4233c;color-scheme:light;--glass-rgb:250 247 240;--glass-edge:rgb(29 24 56 / .12);--glass-spec:inset 0 1px 0 rgb(255 255 255 / .7);--surface-1:rgb(255 255 255 / .55);--surface-2:rgb(255 255 255 / .75);--surface-edge:rgb(29 24 56 / .10)}
.poster.plakat{background:var(--pbg);color:var(--pink);box-shadow:0 30px 60px -28px rgb(0 0 0 / .45),0 0 0 1px rgb(0 0 0 / .06)}
.pv-sol{--pbg:#FFC93C;--pink:#1A1250;--pa:#F2452D;--pb:#FF9EBB;--pfont:'Unbounded','Arial Black',sans-serif;--pfw:700;--pst:normal;--ptt:none;--pls:-.03em;--plh:.98}
.pv-hav{--pbg:#2238E8;--pink:#FFF4E2;--pa:#FF9CC4;--pb:#FFD23F;--pfont:'Cormorant Garamond',Georgia,serif;--pfw:500;--pst:italic;--ptt:none;--pls:-.01em;--plh:.92}
.pv-eng{--pbg:#FFD3E0;--pink:#0E4D33;--pa:#0E7C4A;--pb:#FF6A3D;--pfont:'Shrikhand',Georgia,serif;--pfw:400;--pst:normal;--ptt:none;--pls:0;--plh:1.02}
.pv-natt{--pbg:#2B1140;--pink:#EDFF62;--pa:#FF5C9E;--pb:#7B5CFF;--pfont:'Unbounded','Arial Black',sans-serif;--pfw:700;--pst:normal;--ptt:uppercase;--pls:.01em;--plh:1}
.pv-fjord{--pbg:#CFEFE2;--pink:#10206B;--pa:#2B49F0;--pb:#FF6B4A;--pfont:'Cormorant Garamond',Georgia,serif;--pfw:500;--pst:italic;--ptt:none;--pls:-.01em;--plh:.92}
.pv-tomat{--pbg:#D2331F;--pink:#FFF1D6;--pa:#FFC93C;--pb:#1A1250;--pfont:'Unbounded','Arial Black',sans-serif;--pfw:700;--pst:normal;--ptt:none;--pls:-.03em;--plh:.98}
.plakat .pl-f{position:absolute;inset:0 0 38% 0;display:block}
.plakat .pl-ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.15) brightness(1.08);mix-blend-mode:multiply}
/* Sol */
.f-sol .pl-stral{position:absolute;left:50%;top:52%;width:86cqi;height:86cqi;margin:-43cqi 0 0 -43cqi;color:var(--pink);opacity:.92;animation:pl-rot 60s linear infinite}
.f-sol .pl-skive{position:absolute;left:50%;top:52%;width:64cqi;height:64cqi;margin:-32cqi 0 0 -32cqi;border-radius:50%;overflow:hidden;background:var(--pa);isolation:isolate}
/* Bølge */
.f-bolge .pl-himmel{position:absolute;inset:0 0 18% 0;background:var(--pa);overflow:hidden;isolation:isolate}
.f-bolge .pl-sol2{position:absolute;left:58%;top:24%;width:30cqi;height:30cqi;border-radius:50%;background:var(--pb)}
.f-bolge .pl-bo{position:absolute;left:0;width:100%;height:9cqi}
.f-bolge .b1{bottom:20%;color:var(--pink)}.f-bolge .b2{bottom:12%;color:var(--pb)}.f-bolge .b3{bottom:4%;color:var(--pa)}
/* Klipp */
.f-klipp .pl-klatt{position:absolute;left:7%;top:9%;width:66cqi;height:54cqi;border-radius:52% 48% 44% 56% / 58% 46% 54% 42%;overflow:hidden;background:var(--pa);isolation:isolate;transform:rotate(-4deg)}
.f-klipp .pl-blad{position:absolute;right:6%;top:6%;width:30cqi;height:30cqi;color:var(--pb);transform:rotate(12deg)}
.f-klipp .pl-blomst{position:absolute;right:10%;bottom:-2%;width:28cqi;height:28cqi;color:var(--pink);animation:pl-rot 40s linear infinite}
.f-klipp .pl-midt{fill:var(--pb)}
/* Rute */
.f-rute .pl-blokk{position:absolute;left:6%;top:6%;width:58cqi;height:56cqi;border-radius:4cqi;overflow:hidden;background:var(--pa);isolation:isolate}
.f-rute .pl-rund{position:absolute;right:-20%;bottom:-20%;width:70%;height:70%;border-radius:50%;background:var(--pb)}
.f-rute .pl-t{position:absolute;right:6%;width:24cqi;height:13cqi;border-radius:2cqi}
.f-rute .t1{top:6%;background:var(--pb);border-radius:13cqi 2cqi 2cqi 2cqi}
.f-rute .t2{top:calc(6% + 14.5cqi);background:var(--pink)}
.f-rute .t3{top:calc(6% + 29cqi);background:var(--pa);border-radius:2cqi 2cqi 13cqi 2cqi}
.f-rute .t4{top:calc(6% + 43.5cqi);background:transparent;border:1.4cqi solid var(--pink)}
/* Datomerke og tekst */
.plakat .pl-merke{position:absolute;right:6%;top:50%;width:21cqi;height:21cqi;border-radius:50%;background:var(--pb);color:var(--pbg);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(8deg);box-shadow:0 1.5cqi 4cqi rgb(0 0 0 / .18);z-index:2;font-family:'Unbounded','Arial Black',sans-serif;line-height:1}
.pv-sol .pl-merke,.pv-eng .pl-merke,.pv-fjord .pl-merke{color:var(--pink)}
.plakat .pl-merke b{font-size:8cqi;font-weight:700}
.plakat .pl-merke span{font-size:3cqi;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-top:.6cqi}
.plakat .pl-txt{position:absolute;left:7%;right:7%;bottom:6%;z-index:2}
.plakat .pl-host{margin:0 0 2cqi;font:600 3.3cqi/1.3 var(--f-ui);letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.plakat .pl-title{margin:0;font-family:var(--pfont);font-weight:var(--pfw);font-style:var(--pst);text-transform:var(--ptt);letter-spacing:var(--pls);line-height:var(--plh);font-size:11.5cqi;text-wrap:balance;overflow-wrap:anywhere}
.plakat .pl-title.long{font-size:8.6cqi}
.pv-hav .pl-title,.pv-fjord .pl-title{font-size:14cqi}.pv-hav .pl-title.long,.pv-fjord .pl-title.long{font-size:10.5cqi}
.plakat .pl-when{margin:2.6cqi 0 0;font:600 3.6cqi/1.35 var(--f-ui);opacity:.9}
.plakat.mini .pl-host,.plakat.mini .pl-when{display:none}
.plakat.mini .pl-stral,.plakat.mini .pl-blomst{animation:none}
@keyframes pl-rot{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.plakat .pl-stral,.plakat .pl-blomst{animation:none}}
.plbland{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.dintur .plakat .pl-title{font-size:15cqi}
.dintur .plakat .pl-merke{width:26cqi;height:26cqi}.dintur .plakat .pl-merke b{font-size:10cqi}.dintur .plakat .pl-merke span{font-size:4cqi}
.poster.plakat::before,.poster.plakat::after{display:none}
/* ---------- B261: Filmatisk som egen visning (vinnerforslaget) ---------- */
html.fm-open,html.fm-open body{overflow:hidden}
.fm{--fn:#0B1230;--fb:#141C33;--fd:#56607B;--fl:rgba(20,28,51,.13);--fa:#F5F6FA;--fo:#FF8A3C;--fpo:#1D1206;--fut:cubic-bezier(.2,.7,.2,1);
  position:fixed;inset:0;z-index:12;overflow-y:auto;overflow-x:hidden;background:#05081A;color:var(--fb);scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.fm::-webkit-scrollbar{display:none}
.fm-topp{position:absolute;left:0;right:0;top:0;z-index:6;display:flex;justify-content:space-between;align-items:center;padding:calc(10px + env(safe-area-inset-top,0px)) max(14px,env(safe-area-inset-right,0px)) 0 max(14px,env(safe-area-inset-left,0px));pointer-events:none}
.fm-topp>*{pointer-events:auto}
.fm-tr{display:flex;gap:8px;align-items:center}
.fm-ik{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgb(8 12 34 / .46);color:#fff;border:1px solid rgb(255 255 255 / .2);padding:0}
.fm-ik svg{width:20px;height:20px}
.fm-lyd{height:36px;padding:0 13px 0 11px;border-radius:18px;display:flex;align-items:center;gap:8px;background:rgb(8 12 34 / .46);color:#fff;font:500 13px var(--f-ui);border:1px solid rgb(255 255 255 / .2)}
.fm-bolger{display:flex;align-items:center;gap:2px;height:14px}.fm-bolger i{width:2px;height:4px;border-radius:1px;background:#fff;opacity:.7}
.fm-lyd[aria-pressed="true"]{background:var(--fo);color:var(--fpo);border-color:transparent}
.fm-lyd[aria-pressed="true"] .fm-bolger i{background:var(--fpo);opacity:1;animation:fm-bolge 1s ease-in-out infinite}
.fm-lyd[aria-pressed="true"] .fm-bolger i:nth-child(2){animation-delay:-.3s}.fm-lyd[aria-pressed="true"] .fm-bolger i:nth-child(3){animation-delay:-.6s}
@keyframes fm-bolge{50%{height:14px}}
/* forsiden */
.fm-forside{position:sticky;top:0;z-index:0;height:calc(100svh - 204px);min-height:420px;overflow:hidden;background:#141B40;container-type:inline-size;color:#fff;isolation:isolate}
.fm.intro .fm-forside{height:calc(100svh - 204px)}
.fm-forside .fm-tb{position:absolute;left:8cqw;right:8cqw;top:calc(64px + env(safe-area-inset-top,0px));margin:0;padding:0;text-align:center}
.fm-forside .fm-rulle{position:absolute;left:7cqw;right:7cqw;bottom:46px;z-index:2}
.fm-forside .fm-slor{background:linear-gradient(180deg,rgb(9 13 38 / .5) 0%,rgb(9 13 38 / .18) 34%,rgb(9 13 38 / 0) 52%),linear-gradient(0deg,rgb(5 8 26 / .72) 0%,rgb(5 8 26 / 0) 26%)}
.fm-forside .fm-under::before{background:var(--fo)}
.fm-takk{margin:0;font:400 12.5cqw/1 'Gloock',Georgia,serif;text-shadow:0 2px 28px rgb(5 8 26 / .5);text-wrap:balance}
.fm-rulle .deg{color:var(--fpo);background:var(--fo);padding:0 .4em;border-radius:.2em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.fm-gnist{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
/* åpningen */
.fm-bunn{position:fixed;left:0;right:0;bottom:0;height:204px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0 22px env(safe-area-inset-bottom,0px);background:#05081A;z-index:4;opacity:0;transform:translateY(14px);transition:opacity .7s var(--fut),transform .7s var(--fut)}
.fm.klar .fm-bunn{opacity:1;transform:none}
.fm-stripe{position:fixed;left:0;right:0;height:13%;background:#05081A;z-index:4;pointer-events:none}
.fm-stripe.o{top:0;transform:translateY(-101%)}.fm-stripe.n{bottom:204px;transform:translateY(101%);height:9%}
.fm-forspill{position:fixed;inset:0 0 204px 0;z-index:5;display:grid;place-items:center;margin:0;font:500 16px 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.24em;text-transform:uppercase;color:rgb(255 255 255 / .9);opacity:0;pointer-events:none;text-align:center;padding:0 30px}
.fm.intro.spill .fm-stripe.o{animation:fm-strO 2.6s var(--fut) both}.fm.intro.spill .fm-stripe.n{animation:fm-strN 2.6s var(--fut) both}
.fm.intro.spill .fm-forspill{animation:fm-forsp 1.5s ease both}
@keyframes fm-strO{0%,62%{transform:none}100%{transform:translateY(-101%)}}
@keyframes fm-strN{0%,62%{transform:none}100%{transform:translateY(101%)}}
@keyframes fm-forsp{0%{opacity:0}22%,58%{opacity:1}100%{opacity:0}}
.fm.spill:not(.still) .fm-m{animation:fm-lys 1.5s ease-out .75s both}
.fm.spill:not(.still) .fm-v,.fm.spill:not(.still) .fm-amb{animation:fm-dra 5s var(--fut) .75s both}
.fm.spill:not(.still) .fm-slor{animation:fm-tone 1.2s ease-out .75s both}
.fm.spill:not(.still) .fm-over{animation:fm-tone .7s ease-out 1.25s both}
.fm.spill:not(.still) .fm-c{animation:fm-bokstav .85s var(--fut) both;animation-delay:calc(1.35s + var(--i) * 42ms)}
.fm.spill:not(.still) .fm-under{animation:fm-tone .8s ease-out 2.25s both}
.fm.spill:not(.still) .fm-rulle{animation:fm-tone .9s ease-out 2.5s both}
.fm:not(.intro).spill:not(.still) .fm-m,.fm:not(.intro).spill:not(.still) .fm-v,.fm:not(.intro).spill:not(.still) .fm-amb{animation-delay:0s}
.fm:not(.intro).spill:not(.still) .fm-over{animation-delay:.3s}.fm:not(.intro).spill:not(.still) .fm-c{animation-delay:calc(.4s + var(--i) * 30ms)}
.fm:not(.intro).spill:not(.still) .fm-under{animation-delay:1.1s}.fm:not(.intro).spill:not(.still) .fm-rulle{animation-delay:1.3s}
.fm.feir .fm-takk{animation:fm-oppk .8s var(--fut) .15s both}.fm.feir .fm-rulle{animation:fm-tone 1s ease .7s both}
@keyframes fm-oppk{from{opacity:0;transform:translateY(14px)}}
.fm.fra2 .fm-ark,.fm.fra2 .fm-svarlinje{animation:fm-arkopp .7s var(--fut) both}
@keyframes fm-arkopp{from{transform:translateY(190px)}}
/* knapper */
.fm-knapp{white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:9px;height:54px;padding:0 24px;border-radius:27px;background:var(--fb);color:#fff;font:600 16px var(--f-ui);width:100%;border:0;text-decoration:none;transition:transform .15s var(--fut)}
.fm-knapp:active{transform:scale(.98)}.fm-knapp[disabled]{opacity:.35}
.fm-knapp.lys{background:var(--fo);color:var(--fpo)}
.fm-knapp.kant{background:transparent;color:var(--fb);box-shadow:inset 0 0 0 1.5px rgb(20 28 51 / .28)}
.fm-knapp.liten{height:42px;font-size:14px;padding:0 18px;width:auto;border-radius:21px}
.fm-lenke{border:0;background:none;font:400 14px var(--f-ui);color:var(--fd);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgb(86 96 123 / .4);padding:8px}
.fm-lenke.lys{color:rgb(255 255 255 / .62);text-decoration-color:rgb(255 255 255 / .3)}
/* arket */
.fm-ark{position:relative;z-index:1;background:var(--fa);color:var(--fb);border-radius:28px 28px 0 0;margin-top:-28px;padding:0 22px 26px;min-height:60vh}
.fm-grep{width:38px;height:4px;border-radius:2px;background:rgb(20 28 51 / .2);margin:0 auto;position:relative;top:9px}
.fm-nh{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;padding:26px 0 24px;margin:0}
.fm-nh dt{font-size:12.5px;color:var(--fd);margin-bottom:3px}
.fm-nh dd{margin:0;font-size:18px;font-weight:600;line-height:1.22}
.fm-nh dd small{display:block;font-weight:400;font-size:14px;color:var(--fd);margin-top:3px}
.fm-del{padding:26px 0;border-top:1px solid var(--fl)}
.fm-del>h3{font-size:13.5px;font-weight:500;color:var(--fd);margin:0 0 14px}
.fm-hilsen{margin:0;font:400 24px/1.3 'Gloock',Georgia,serif;letter-spacing:-.005em;white-space:pre-line}
.fm-fra{display:flex;align-items:center;gap:10px;margin:16px 0 0;font-size:15px;color:var(--fd)}
.fm-fra .av{width:32px;height:32px;font-size:13px}
.fm-wx{display:flex;align-items:center;gap:14px;background:#fff;border-radius:18px;padding:14px 16px}
.fm-wx .fm-wi{width:40px;height:40px;display:grid;place-items:center;color:#F5B33B}.fm-wx .fm-wi svg{width:32px;height:32px}
.fm-wx b{font-size:22px;font-weight:600}.fm-wx small{display:block;font-size:13px;color:var(--fd)}
.fm-vd:has(.fm-wx[hidden]){display:none}
.fm-vei{display:flex;align-items:center;justify-content:space-between;gap:12px}
.fm-vei p{margin:0;font-size:16px;font-weight:600;line-height:1.25}.fm-vei small{display:block;font-weight:400;color:var(--fd);font-size:14px}
.fm-rt{display:grid;grid-template-columns:1fr 1.4fr;gap:9px 14px;align-items:baseline;margin:0}
.fm-rt dt{text-align:right;font:500 13px 'Barlow Condensed','Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:.14em;color:var(--fd)}
.fm-rt dd{margin:0;font-size:17px;font-weight:500;line-height:1.3}
.fm-rt dd.ny{position:relative;z-index:0}.fm-rt dd.ny::after{content:"";position:absolute;left:-4px;right:20%;bottom:-1px;height:9px;background:var(--fo);opacity:.5;z-index:-1;border-radius:2px}
.fm-note{font-size:14px;color:var(--fd);margin:12px 0 0}
.fm-del .fm-knapp{margin-top:14px}
.fm-blokk{padding:22px 0;border-top:1px solid var(--fl)}
.fm-blokk .card{background:transparent;border:0;box-shadow:none;padding:0;color:var(--fb);-webkit-backdrop-filter:none;backdrop-filter:none}
.fm-blokk .card h2{font-size:18px;font-weight:600;margin:0 0 12px;font-family:var(--f-ui)}
.fm-blokk .card .muted,.fm-blokk .small.muted{color:var(--fd)}
.fm-blokk .gl,.fm-blokk .it-row{background:#fff;border-radius:16px;padding:8px 8px 8px 16px;min-height:54px}
.fm-rad{display:flex;align-items:center;gap:14px;padding:30px 0 6px}
.fm-ikon{width:46px;height:46px;border-radius:15px;background:#fff;display:grid;place-items:center;flex:none;color:var(--fb)}.fm-ikon svg{width:24px;height:24px}
.fm-tx{flex:1;min-width:0}.fm-tx b{display:block;font-size:16px}.fm-tx span{display:block;font-size:14px;color:var(--fd)}
.fm-album{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:74px 74px;gap:6px;border-radius:18px;overflow:hidden}
.fm-album img{width:100%;height:100%;object-fit:cover}.fm-album img:first-child{grid-row:1/3}
.fm-sign{text-align:center;padding:28px 0 6px;border-top:1px solid var(--fl);font-size:14px;color:var(--fd);margin:0}
.fm-sign b{font:400 21px 'Gloock',Georgia,serif;color:var(--fb);display:block;margin-bottom:2px}
.fm-fot{text-align:center;padding:18px 0 calc(6px + env(safe-area-inset-bottom,0px));font-size:13px;color:var(--fd)}
.fm.svart .fm-ark{padding-bottom:0}
.fm-dintur{margin:8px -22px 0;padding:38px 22px 34px;background:var(--fn);color:#fff;text-align:center;overflow:hidden}
.fm-dintur h3{text-wrap:balance;font:400 34px/1.05 'Gloock',Georgia,serif;margin:0}
.fm-dintur p{color:rgb(255 255 255 / .76);font-size:16px;margin:10px auto 0;max-width:19em}
.fm-vifte{display:flex;justify-content:center;align-items:flex-end;margin:28px 0 30px;height:232px}
.fm-vifte a{display:block;width:132px;flex:none;border-radius:12px;box-shadow:0 20px 40px -14px rgb(0 0 0 / .7);overflow:hidden}
.fm-vifte .poster{border-radius:12px;aspect-ratio:132/206}
.fm-vifte a:nth-child(1){transform:rotate(-7deg) translate(16px,6px)}.fm-vifte a:nth-child(2){width:148px;z-index:2}.fm-vifte a:nth-child(3){transform:rotate(7deg) translate(-16px,6px)}
/* svarlinjen */
.fm-svarlinje{position:sticky;bottom:0;z-index:3;padding:10px 16px calc(14px + env(safe-area-inset-bottom,0px));background:rgb(245 246 250 / .92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--fl)}
.fm-svarlinje p{text-align:center;font-size:13.5px;color:var(--fd);margin:0 0 8px}
.fm-svarlinje div{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:8px}
.fm-svarlinje .fm-knapp{height:50px;padding:0 6px}
.fm-svarlinje.fm-svart1{display:flex;align-items:center;justify-content:space-between;gap:10px}.fm-svarlinje.fm-svart1 p{margin:0;text-align:left}
/* svaret */
html.fm-svaropen .fm{overflow:hidden}
.fm-svar{position:fixed;inset:0;z-index:40;background:#05081A;overflow:hidden;animation:fm-tone .25s ease both}
.fm-svar.ut{opacity:0;transition:opacity .25s}
.fm-bak{position:absolute;left:0;right:0;top:0;height:340px;overflow:hidden}
.fm-bak .fm-v,.fm-bak .fm-amb{position:absolute;inset:0}
.fm-bak::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgb(9 13 38 / .62),rgb(9 13 38 / .28) 60%,rgb(9 13 38 / .1))}
.fm-sx{position:absolute;right:14px;top:calc(10px + env(safe-area-inset-top,0px));z-index:3}
.fm-hode{position:relative;z-index:1;color:#fff;text-align:center;padding:calc(34px + env(safe-area-inset-top,0px)) 30px 0}
.fm-hode p{margin:0;font:500 14px 'Barlow Condensed','Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:.2em;color:rgb(255 255 255 / .82)}
.fm-hode h2{margin:10px 0 12px;font:400 39px/1 'Gloock',Georgia,serif;text-wrap:balance;text-shadow:0 2px 24px rgb(5 8 26 / .5)}
.fm-svarark{position:absolute;left:0;right:0;bottom:0;z-index:2;background:#F5F6FA;color:#141C33;border-radius:28px 28px 0 0;padding:22px 22px calc(18px + env(safe-area-inset-bottom,0px));max-height:calc(100% - 110px);overflow-y:auto;animation:fm-arkopp .45s cubic-bezier(.2,.7,.2,1) both}
.fm-svarark h3{font-size:25px;font-weight:600;letter-spacing:-.01em;margin:0 0 16px}
.fm-valg{display:grid;gap:10px}
.fm-valg button{height:58px;border-radius:20px;background:#fff;border:0;box-shadow:inset 0 0 0 1.5px rgb(20 28 51 / .13);display:flex;align-items:center;padding:0 18px;gap:14px;font:600 18px var(--f-ui);color:#141C33;text-align:left;transition:background .2s,box-shadow .2s,transform .15s}
.fm-valg button:active{transform:scale(.985)}
.fm-prikk{width:26px;height:26px;border-radius:50%;box-shadow:inset 0 0 0 2px rgb(20 28 51 / .3);display:grid;place-items:center;flex:none;color:#1D1206}
.fm-prikk svg{opacity:0}
.fm-valg small{margin-left:auto;font-weight:400;font-size:13.5px;color:#56607B}
.fm-valg button[aria-pressed="true"]{background:#141C33;color:#fff;box-shadow:none}
.fm-valg button[aria-pressed="true"] .fm-prikk{background:#FF8A3C;box-shadow:none}.fm-valg button[aria-pressed="true"] .fm-prikk svg{opacity:1}
.fm-valg button[aria-pressed="true"] small{color:rgb(255 255 255 / .7)}
.fm-felt{display:block;margin-top:16px}
.fm-felt span{display:block;font-size:13.5px;color:#56607B;margin-bottom:6px}
.fm-felt input{width:100%;height:56px;border-radius:18px;border:0;box-shadow:inset 0 0 0 1.5px rgb(20 28 51 / .24);background:#fff;padding:0 18px;font-size:18px;outline:none;color:#141C33}
.fm-felt input:focus{box-shadow:inset 0 0 0 2.5px #141C33}
.fm-svarark .fm-lenke{display:block;margin:6px 0 0;padding:6px 0}
.fm-svarark .fm-knapp{margin-top:18px;background:#141C33;color:#fff}
.fm-fot2{text-align:center;font-size:13px;color:#56607B;margin:12px 0 0}.fm-fot2 a{color:inherit}
/* plakaten i lister */
.poster.film{background:#0b0d16;color:#fff;container-type:inline-size}
.poster.film::before,.poster.film::after{display:none}
.pf-ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pf-amb{position:absolute;inset:-20%;background:radial-gradient(40% 32% at 30% 38%,rgb(255 170 90 / .55),transparent 70%),radial-gradient(34% 28% at 72% 62%,rgb(226 120 70 / .42),transparent 70%),radial-gradient(60% 40% at 50% 100%,rgb(70 40 90 / .6),transparent 70%),#08090f}
.pf-slor{position:absolute;inset:0;background:linear-gradient(180deg,rgb(9 13 38 / .62),rgb(9 13 38 / .1) 46%,rgb(5 8 26 / .55) 100%)}
.pf-tb{position:absolute;left:8%;right:8%;top:9%;text-align:center;z-index:1}
.pf-over{margin:0 0 3cqi;font:500 3.6cqi/1.3 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.2em;text-transform:uppercase;opacity:.9}
.pf-t{margin:0;font:400 13cqi/.98 'Gloock',Georgia,serif;text-wrap:balance;text-shadow:0 2px 24px rgb(5 8 26 / .5)}.pf-t.long{font-size:10cqi}
.pf-under{margin:4cqi 0 0;font:500 4cqi/1.3 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.14em;text-transform:uppercase}
.pf-under::before{content:"";display:block;width:9cqi;height:max(1px,.4cqi);background:#FF8A3C;margin:0 auto 3cqi}
.pf-rulle{position:absolute;left:8%;right:8%;bottom:6%;margin:0;text-align:center;z-index:1;font:500 3.4cqi 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.1em;text-transform:uppercase;opacity:.85}
.poster.film.mini .pf-over,.poster.film.mini .pf-rulle{display:none}
.ecard.ecp{padding:0;overflow:hidden;position:relative}.ecard.ecp .poster{border-radius:inherit;height:100%;aspect-ratio:auto}
@media (prefers-reduced-motion:reduce){.fm *{animation:none!important;transition:none!important}.fm-bunn{opacity:1;transform:none}}
/* ---------- B262: Trykksaken (forslag 3) for bryllup, konfirmasjon, dåp og jubileum ---------- */
.tk,.tk-kort{--korn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.5' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .55 0 0 0 -.15'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --tserif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--tdisp:'Cormorant Garamond',Georgia,serif;--tsans:var(--f-ui)}
.tk[data-tema="bryllup"],.tk-kort[data-tema="bryllup"]{--papir:#FAF5EC;--papir2:#EFE6D6;--blekk:#3B2F26;--mork:#1F1812;--lys:#FBF6EC;--f1:#B08A3C;--f2:#F1DC9C;--f3:#CDA650;--for:#C98A93;--for2:#A8626D;--konv:#E4CFC2;--liner:#F3E2E0;--preg:rgba(255,255,255,.7);--flate:#ECE6DC;--svak:#6E6257;--strek:rgba(59,47,38,.16)}
.tk[data-tema="konfirmasjon"],.tk-kort[data-tema="konfirmasjon"]{--papir:#F8F5EB;--papir2:#EFEBDD;--blekk:#1D3B34;--mork:#10241E;--lys:#F6F1E2;--f1:#B08A3C;--f2:#F1DC9C;--f3:#CDA650;--for:#D4607A;--for2:#B9475F;--konv:#27493F;--liner:#D4607A;--preg:rgba(255,255,255,.7);--flate:#E7EBE6;--svak:#56625D;--strek:rgba(27,36,33,.16)}
.tk[data-tema="dap"],.tk-kort[data-tema="dap"]{--papir:#F3F6FA;--papir2:#E3E9F1;--blekk:#1B2748;--mork:#0F1833;--lys:#F1F4FA;--f1:#8E9AB3;--f2:#F4F7FC;--f3:#BBC5D8;--for:#9DBCE0;--for2:#5C82B5;--konv:#BCD0EA;--liner:#F2DCE7;--preg:rgba(255,255,255,.75);--flate:#E5EAF1;--svak:#56607B;--strek:rgba(27,39,72,.15)}
.tk[data-tema="jubileum"],.tk-kort[data-tema="jubileum"]{--papir:#1F2B2A;--papir2:#273534;--blekk:#EBDDB4;--mork:#0E1615;--lys:#F0E3BC;--f1:#B9944A;--f2:#F5E2A6;--f3:#D4B160;--for:#B4472F;--for2:#C9603F;--konv:#2C3A38;--liner:#B4472F;--preg:rgba(0,0,0,.35);--flate:#141C1B;--svak:#A9A58E;--strek:rgba(235,221,180,.16)}
.tk{position:fixed;inset:0;z-index:12;overflow-y:auto;overflow-x:hidden;background:var(--flate);color:var(--blekk);font-family:var(--tsans);scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.tk::-webkit-scrollbar{display:none}
.tk[data-tema="jubileum"]{color:var(--blekk)}
.tk-topp{position:absolute;left:0;right:0;top:0;z-index:6;display:flex;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top,0px)) max(14px,env(safe-area-inset-right,0px)) 0 max(14px,env(safe-area-inset-left,0px))}
.tk-ik{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--papir) 80%,transparent);color:var(--blekk);border:1px solid var(--strek);padding:0}
.tk-ik svg{width:20px;height:20px}
.tk-papir{position:relative;background:var(--papir);color:var(--blekk)}
.tk-papir::after,.tk-kort::after{content:"";position:absolute;inset:0;background:var(--korn);opacity:.55;mix-blend-mode:multiply;pointer-events:none;border-radius:inherit}
[data-tema="jubileum"] .tk-papir::after,.tk-kort[data-tema="jubileum"]::after{mix-blend-mode:screen;opacity:.18}
.tk-knapp{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 24px;border-radius:9px;background:var(--blekk);color:var(--papir);font:600 17px var(--tsans);letter-spacing:.005em;border:0;text-decoration:none;box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 10px 20px -12px var(--mork)}
.tk-knapp.hel{width:100%}.tk-knapp.lys{background:transparent;color:var(--blekk);box-shadow:inset 0 0 0 1.5px currentColor}
.tk-knapp.liten{min-height:42px;padding:0 16px;font-size:15px;border-radius:8px}
.tk-knapp:active{transform:translateY(1px)}
.tk-lenke{border:0;background:none;padding:4px 0;font:inherit;font-size:15px;color:var(--svak);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.tk .folie,.tk-kort .folie{background:linear-gradient(100deg,var(--f3) 0%,var(--f2) 22%,#fff 38%,var(--f2) 50%,var(--f1) 72%,var(--f2) 100%);background-size:240% 100%;background-position:20% 0;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
/* kortet */
.tk-kort{position:relative;display:block;width:100%;aspect-ratio:5/7;container-type:inline-size;background:var(--papir);color:var(--blekk);border-radius:3px;text-align:center;
  box-shadow:0 1px 0 var(--papir2),0 2.5px 0 var(--for),0 3px 1px rgba(0,0,0,.18),0 26px 44px -22px color-mix(in srgb,var(--mork) 62%,transparent),0 6px 12px -6px rgba(0,0,0,.14)}
.tk-bilde{position:absolute;inset:4.4cqw;overflow:hidden;border-radius:1px;background:var(--mork);box-shadow:0 0 0 .5px rgba(0,0,0,.25),0 -1px 0 1px rgba(0,0,0,.07),0 1px 0 1px var(--preg)}
.tk-bilde img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tk-bilde::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,transparent 16%,color-mix(in srgb,var(--mork) 30%,transparent) 34%,color-mix(in srgb,var(--mork) 62%,transparent) 58%,color-mix(in srgb,var(--mork) 90%,transparent) 100%)}
.tk-tekst{position:absolute;left:8cqw;right:8cqw;bottom:10.5cqw;z-index:2;color:var(--lys)}
.tk-over{margin:0 0 3.2cqw;font:italic 500 4.6cqw/1.3 var(--tserif);opacity:.95}
.tk-kort h2{margin:0;font:inherit}
.tk-tittel{display:block;font-family:var(--tdisp);font-weight:500;line-height:.94;letter-spacing:-.012em;filter:drop-shadow(0 .4cqw .5cqw rgba(0,0,0,.35))}
.tk-tittel span{display:block}
.tk-tittel .liten{font-family:var(--tserif);font-style:italic;font-size:max(.32em,9px);line-height:1.5;letter-spacing:.01em}
.tk-under{margin:5cqw 0 0;font:500 3.7cqw/1.5 var(--tsans);letter-spacing:.02em}
.tk-under::before{content:"";display:block;width:9cqw;height:1px;margin:0 auto 4cqw;background:linear-gradient(90deg,var(--f1),var(--f2),var(--f1))}
/* uten bilde: ornament øverst og teksten under */
.tk-kort.under .tk-bilde{bottom:52%;background:var(--papir2);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--blekk) 18%,transparent)}
.tk-kort.under .tk-bilde::after{display:none}
.tk-orn{position:absolute;inset:18%;background:var(--ornament) center/contain no-repeat;opacity:.9}
.tk-kort.under .tk-tekst{color:var(--blekk);bottom:6.5cqw}
.tk-kort.under .tk-tittel{filter:none}
.tk-kort.under .tk-over{margin-bottom:2.4cqw}.tk-kort.under .tk-under{margin-top:3.6cqw}
.glans .folie{animation:tk-glans 1.7s .2s cubic-bezier(.3,0,.2,1) both}
@keyframes tk-glans{from{background-position:120% 0}to{background-position:20% 0}}
/* 3: invitasjonen */
.tk-s3{padding-top:calc(60px + env(safe-area-inset-top,0px))}
.tk-hoved{margin:0 22px;position:relative;z-index:2}
.tk-hoved.liten{width:46%;margin:6px auto 26px}
.tk-ark{margin:-34px 10px 0;padding:74px 26px 34px;border-radius:3px;box-shadow:0 1px 0 var(--papir2),0 18px 30px -24px color-mix(in srgb,var(--mork) 60%,transparent)}
.tk-ark>*{position:relative;z-index:1}
.tk-hilsen{margin:0;text-align:center;font:italic 500 21px/1.55 var(--tserif);text-wrap:balance;text-shadow:0 1px 0 var(--preg);white-space:pre-line}
.tk-hilsen cite{display:block;font:normal 500 29px var(--tdisp);margin-top:12px}
.tk-o{display:block;width:44px;height:14px;margin:30px auto;color:var(--f1)}
.tk-fakta{display:grid;grid-template-columns:5.2em 1fr;gap:16px 14px;margin:0;text-shadow:0 1px 0 var(--preg)}
.tk-fakta dt{font:italic 500 18px var(--tserif);padding-top:.22em;opacity:.8}
.tk-fakta dd{margin:0;font:500 25px/1.22 var(--tdisp)}
.tk-fakta dd small{display:block;font:400 15.5px/1.4 var(--tsans);margin-top:4px;opacity:.85}
.tk-kartrad{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;font-size:15.5px}
.tk-kartrad a{color:inherit;font-weight:600;text-underline-offset:3px}
.tk-var{display:flex;align-items:center;gap:14px;margin-top:6px;text-shadow:0 1px 0 var(--preg)}
.tk-vi{width:44px;height:44px;flex:none;color:var(--f1)}.tk-vi svg{width:44px;height:44px}
.tk-var b{font:500 40px/1 var(--tdisp)}.tk-var p{margin:0;font-size:15.5px;line-height:1.4}
.tk-h{margin:0;font:500 29px/1.15 var(--tdisp);text-shadow:0 1px 0 var(--preg)}
.tk-gjester{font:500 19px/1.6 var(--tserif);margin:10px 0 0;text-shadow:0 1px 0 var(--preg)}.tk-gjester i{opacity:.75}
.tk-kolofon{padding:30px 34px 160px;margin:0;text-align:center;font:italic 500 16px/1.55 var(--tserif);color:var(--svak)}
.tk-kolofon a{display:inline-block;margin-top:6px;font:normal 600 15.5px var(--tsans);color:var(--blekk);text-underline-offset:3px}
.tk-fot{text-align:center;padding:0 0 18px;margin-top:-140px}
.tk.svart .tk-fot{margin-top:0}
.tk-bunn{position:sticky;bottom:0;z-index:20;padding:12px 16px calc(18px + env(safe-area-inset-bottom,0px));background:linear-gradient(to bottom,transparent,var(--flate) 26%);margin-top:20px}
.tk-svarrad{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:8px;border-radius:15px;background:color-mix(in srgb,var(--papir) 78%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 0 0 1px var(--strek),0 16px 30px -18px rgba(0,0,0,.4)}
.tk-spm{grid-column:1/-1;text-align:center;font:italic 500 18px var(--tserif);padding:2px 0 0}
.tk-svarrad .tk-knapp{padding:0 8px}
/* kupongboka */
.tk-hefte{margin:22px 10px 0;border-radius:3px;box-shadow:0 1px 0 var(--papir2),0 24px 40px -28px color-mix(in srgb,var(--mork) 60%,transparent)}
.tk-kupong{position:relative;z-index:1;padding:24px 22px 26px}
.tk-kupong+.tk-kupong{border-top:2px dashed color-mix(in srgb,var(--blekk) 30%,transparent)}
.tk-kupong+.tk-kupong::before,.tk-kupong+.tk-kupong::after{content:"";position:absolute;top:-9px;width:16px;height:16px;border-radius:50%;background:var(--flate);z-index:3}
.tk-kupong+.tk-kupong::before{left:-8px}.tk-kupong+.tk-kupong::after{right:-8px}
.tk-kupong h3,.tk-kupong .card h2{margin:0;font:500 27px/1.15 var(--tdisp);text-shadow:0 1px 0 var(--preg)}
.tk-ing{font-size:15.5px;line-height:1.45;margin:4px 0 0;opacity:.85}
.tk-kupong .card{background:transparent;border:0;box-shadow:none;padding:0;color:inherit;-webkit-backdrop-filter:none;backdrop-filter:none;gap:12px}
.tk-kupong .card h2{margin-bottom:4px}
.tk-kupong .muted{color:inherit;opacity:.8}
.tk-kupong .btn{background:var(--blekk);color:var(--papir);border-radius:8px}
.tk-kupong .btn.ghost{background:transparent;color:var(--blekk);box-shadow:inset 0 0 0 1.5px currentColor}
.tk-kupong .gl,.tk-kupong .it-row{background:transparent;border-bottom:2px dotted color-mix(in srgb,var(--blekk) 40%,transparent);border-radius:0;padding:9px 0}
.tk-kupong input,.tk-kupong textarea{background:transparent;color:var(--blekk);border-color:color-mix(in srgb,var(--blekk) 45%,transparent)}
.tk-kal{display:flex;gap:18px;align-items:center}
.tk-blad{width:78px;flex:none;text-align:center;background:var(--papir2);border-radius:3px;overflow:hidden;box-shadow:0 0 0 1px color-mix(in srgb,var(--blekk) 25%,transparent),0 3px 0 -1px var(--papir2),0 3px 0 0 color-mix(in srgb,var(--blekk) 25%,transparent)}
.tk-blad i{display:block;background:var(--for2);color:#fff;font-style:normal;font-size:12px;font-weight:600;padding:3px 0;letter-spacing:.04em}
.tk-blad b{display:block;font:500 42px/1.1 var(--tdisp)}
.tk-blad small{display:block;font-size:12px;padding-bottom:6px}
.tk-kal .tk-knapp{margin-top:12px}
.tk-album{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.tk-album>*{aspect-ratio:1;position:relative;background:var(--papir2);overflow:hidden;box-shadow:0 0 0 .5px rgba(0,0,0,.25),0 1px 0 1px var(--preg)}
.tk-album img{width:100%;height:100%;object-fit:cover}
.tk-blokk{margin:22px 10px 0;padding:20px 22px;border-radius:3px;background:var(--papir);box-shadow:0 1px 0 var(--papir2)}
.tk-blokk .card{background:transparent;border:0;box-shadow:none;padding:0;color:var(--blekk);-webkit-backdrop-filter:none;backdrop-filter:none}
/* 4: svarkortet */
.tk-svar{z-index:40;animation:fm-tone .25s ease both}
.tk-svar.ut{opacity:0;transition:opacity .25s}
.tk-s4{padding:calc(18px + env(safe-area-inset-top,0px)) 16px calc(40px + env(safe-area-inset-bottom,0px));position:relative}
.tk-sx{position:absolute;right:14px;top:calc(10px + env(safe-area-inset-top,0px))}
.tk-s4-topp{display:flex;gap:16px;align-items:center;margin:4px 56px 20px 6px}
.tk-s4-topp .tk-kort{width:74px;flex:none}
.tk-s4-topp p{margin:0;font-size:15.5px;color:var(--svak);line-height:1.4}
.tk-s4-topp b{display:block;font:500 25px/1.15 var(--tdisp);color:var(--blekk);margin-bottom:3px}
.tk-svarkort{padding:28px 22px 24px;border-radius:3px;box-shadow:0 1px 0 var(--papir2),0 2.5px 0 var(--for),0 24px 40px -26px color-mix(in srgb,var(--mork) 60%,transparent);animation:fm-arkopp .45s cubic-bezier(.2,.7,.2,1) both}
.tk-svarkort>*{position:relative;z-index:1}
.tk-svarkort h2{margin:0;font:500 40px/1 var(--tdisp);text-align:center;text-shadow:0 1px 0 var(--preg)}
.tk-frist{text-align:center;font:italic 500 17px var(--tserif);margin:8px 0 20px;opacity:.8}
.tk-valg{display:flex;align-items:center;gap:16px;width:100%;min-height:62px;padding:0 6px;text-align:left;font:500 27px var(--tdisp);color:var(--blekk);background:none;border:0;border-top:1px solid color-mix(in srgb,var(--blekk) 22%,transparent)}
.tk-valg:last-of-type{border-bottom:1px solid color-mix(in srgb,var(--blekk) 22%,transparent)}
.tk-boks{width:30px;height:30px;flex:none;border:1.5px solid var(--blekk);border-radius:3px;position:relative;box-shadow:0 1px 0 var(--preg)}
.tk-boks svg{position:absolute;left:-3px;top:-9px;width:42px;height:42px;overflow:visible}
.tk-boks path{fill:none;stroke:var(--for2);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60}
.tk-valg[aria-checked="true"] .tk-boks path{stroke-dashoffset:0;transition:stroke-dashoffset .32s cubic-bezier(.4,0,.2,1)}
.tk-valg[aria-checked="false"]{opacity:.62}
[role="radiogroup"]:not(:has([aria-checked="true"])) .tk-valg{opacity:1}
.tk-felt{display:block;margin-top:22px}
.tk-felt>span{display:block;font-size:15.5px;font-weight:600;margin-bottom:2px}.tk-felt>span i{font-weight:400;font-style:normal;opacity:.75}
.tk-felt input,.tk-felt textarea{width:100%;border:0;border-bottom:1.5px solid var(--blekk);background:transparent;padding:6px 0 7px;font:italic 500 25px var(--tserif);color:var(--blekk);border-radius:0;resize:none}
.tk-felt textarea{font-size:19px;line-height:1.4}
.tk-felt input::placeholder,.tk-felt textarea::placeholder{color:color-mix(in srgb,var(--blekk) 45%,transparent)}
.tk-felt input:focus,.tk-felt textarea:focus{outline:0;border-bottom-width:2.5px;padding-bottom:6px}
.tk-svarkort .tk-lenke{display:block;margin-top:14px}
.tk-svarkort .tk-knapp{margin-top:26px}
.tk-feil{color:#A3261F;font-size:15.5px;font-weight:600;margin:8px 0 0}
.tk-fin{text-align:center;font-size:14px;color:var(--svak);margin:18px 20px 0;line-height:1.45}.tk-fin a{color:inherit}
/* 5: etter svaret */
.tk-s5{padding:calc(64px + env(safe-area-inset-top,0px)) 16px 50px}
.tk-takk{display:flex;gap:16px;align-items:center;padding:0 6px 24px}
.tk-stempel{width:104px;height:104px;flex:none;color:var(--for2);transform:rotate(-9deg)}
.tk.ny .tk-stempel{animation:tk-stempel .42s .15s cubic-bezier(.2,1.4,.4,1) both}
@keyframes tk-stempel{from{opacity:0;transform:rotate(-2deg) scale(1.7)}to{opacity:1;transform:rotate(-9deg) scale(1)}}
.tk-takk h2{margin:0;font:500 34px/1.05 var(--tdisp)}
.tk-takk p{font-size:15.5px;color:var(--svak);margin:6px 0 0;line-height:1.4}
.tk-s5 .tk-hefte{margin:0}
.tk-egen{margin-top:44px;text-align:center;padding:0 10px}
.tk-vifte{position:relative;height:216px;margin:0 auto 22px;width:300px;max-width:100%}
.tk-vifte a{position:absolute;width:132px;top:14px}
.tk-vifte a:nth-child(1){left:6px;transform:rotate(-9deg)}.tk-vifte a:nth-child(2){left:calc(50% - 66px);top:4px;z-index:2}.tk-vifte a:nth-child(3){right:6px;transform:rotate(9deg)}
.tk-egen h2{margin:0;font:500 34px/1.1 var(--tdisp);text-wrap:balance}
.tk-egen p{font-size:17px;color:var(--svak);margin:10px auto 20px;max-width:19em;line-height:1.45}
.tk-konf{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:30}
/* konvolutten med det ekte kortet inni */
.konv .kv-kort.tkk{padding:0;background:none;box-shadow:none;display:block!important;overflow:visible}
.konv .kv-kort.tkk::before{display:none}
.konv .kv-kort.tkk .tk-kort{height:100%;aspect-ratio:auto}
.tk .konv{position:fixed}
.tk[data-tema] .konv{--env:var(--konv);--liner:var(--liner)}
@media (prefers-reduced-motion:reduce){.tk *{animation:none!important;transition:none!important}}
.tk-kort.under .tk-tittel .folie{background:none;-webkit-text-fill-color:currentColor;color:inherit}
.tk-ww:has(.tk-var[hidden]){display:none}
/* ---------- B263: Plakat (forslag 1) ---------- */
.pk{position:fixed;inset:0;z-index:12;overflow-y:auto;overflow-x:hidden;background:var(--k-papir);color:var(--k-tekst);font-family:var(--f-ui);scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.pk::-webkit-scrollbar{display:none}
.pk .tf{font-family:var(--pfont);font-weight:var(--pfw);font-style:var(--pst);text-transform:var(--ptt);letter-spacing:var(--pls)}
.pk-topp{position:absolute;left:0;right:0;top:0;z-index:6;display:flex;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top,0px)) max(14px,env(safe-area-inset-right,0px)) 0 max(14px,env(safe-area-inset-left,0px))}
.pk-ik{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--k-papir) 85%,transparent);color:var(--k-tekst);border:0;padding:0;box-shadow:0 2px 10px rgb(0 0 0 / .12)}
.pk-ik svg{width:20px;height:20px}
.pk-helt .poster.plakat{border-radius:0;box-shadow:none;max-height:calc(100dvh - 250px);aspect-ratio:39/50;width:100%}
.pk-side{padding:30px 22px 40px}
.pk .h{margin:0 0 .35em;font-size:36px;line-height:1.02}
.pk .lite{font-size:14px;font-weight:600;opacity:.72;margin:0}
.pk-knapp{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;padding:10px 24px;border-radius:99px;background:var(--k-mork);color:var(--k-lys);font:700 17px var(--f-ui);text-align:center;border:0;text-decoration:none;transition:scale .15s}
.pk-knapp:active{scale:.97}
.pk-knapp.lett{background:transparent;color:var(--k-tekst);box-shadow:inset 0 0 0 2px var(--k-tekst)}
.pk-knapp.liten{min-height:44px;width:auto;font-size:15px;padding:6px 18px;display:inline-flex}
.pk-lenke{border:0;background:none;padding:6px 0;font:600 15px var(--f-ui);color:inherit;text-decoration:underline;text-underline-offset:3px}
.pk-av{flex:none;width:44px;height:44px;display:grid;place-items:center;font-weight:700;font-size:15px;border-radius:50%}
.pk-av.f2{border-radius:14px}.pk-av.f3{border-radius:50% 50% 50% 8px}.pk-av.f4{border-radius:22px 22px 6px 6px}
.pk-av.a{background:var(--pa);color:var(--k-ona)}.pk-av.b{background:var(--pb);color:var(--pbg)}.pk-av.m{background:var(--k-mork);color:var(--k-lys)}.pk-av.g{background:var(--pbg);color:var(--pink)}
.pk-hilsen{display:flex;gap:14px;align-items:flex-start}
.pk-hilsen p{margin:0;font-size:19px;line-height:1.45;white-space:pre-line}
.pk-hilsen small{display:block;margin-top:8px;font-size:14px;font-weight:600;opacity:.72}
.pk-fakta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}
.pk-fakta>div{border-radius:26px;padding:18px 18px 20px;min-height:150px;display:flex;flex-direction:column}
.pk-fakta p{margin:0}
.pk-fakta .stor{font-size:23px;line-height:1.05;margin:auto 0 6px;padding-top:18px;overflow-wrap:break-word;hyphens:auto}
.pk-fakta p:last-child{font-size:15px;line-height:1.3}
.p-bg{background:var(--pbg);color:var(--pink)}.p-m{background:var(--k-mork);color:var(--k-lys)}.p-a{background:var(--pa);color:var(--k-ona)}.p-h{background:#fff;color:var(--k-tekst)}
.pk-kart{margin-top:12px;border-radius:26px;padding:18px 18px 18px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:color-mix(in srgb,var(--pa) 16%,var(--k-papir))}
.pk-kart p{margin:0;font-size:16px;line-height:1.3}
.pk-panel{border-radius:26px;padding:22px;margin-top:16px}
.pk-panel .card{background:transparent;border:0;box-shadow:none;padding:0;color:inherit;-webkit-backdrop-filter:none;backdrop-filter:none}
.pk-panel h2,.pk-panel .card h2{margin:0 0 10px;font-family:var(--pfont);font-weight:var(--pfw);font-style:var(--pst);text-transform:var(--ptt);letter-spacing:var(--pls);font-size:27px;line-height:1.02}
.pk-panel .muted,.pk-panel .small.muted{color:inherit;opacity:.78}
.pk-panel .btn{background:var(--k-mork);color:var(--k-lys);border-radius:99px}
.pk-panel.p-m .btn{background:var(--k-lys);color:var(--k-mork)}
.pk-panel .btn.ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 2px currentColor}
.pk-panel .gl,.pk-panel .it-row{background:transparent;border-top:1.5px solid color-mix(in srgb,currentColor 16%,transparent);border-radius:0;padding:8px 0;min-height:58px}
.pk-panel input,.pk-panel textarea{background:#fff;color:#17151f}
.pk-vaer{display:flex;gap:18px;align-items:center}
.pk-vaer p{margin:0;font-size:15px;line-height:1.35}
.pk-grad{font-size:58px;line-height:.9}
.pk-bolk{margin-top:36px}.pk-bolk p{margin:0}
.pk-folk{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px 6px}
.pk-folk li{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:14px;font-weight:600;text-align:center}
.pk-folk li small{font-weight:500;opacity:.7;margin-top:-4px}
.pk-folk .pk-av{width:54px;height:54px;font-size:17px}
.pk-frist{margin-top:30px;padding-top:18px;border-top:2px solid var(--k-tekst);display:flex;justify-content:space-between;gap:16px;font-size:15px;line-height:1.4}
.pk-frist a{white-space:nowrap;align-self:flex-start;font-weight:700;color:inherit;text-underline-offset:3px}
.pk-fot{text-align:center;padding:24px 0 0;font-size:14px;opacity:.8}
.pk-svarbar{position:sticky;bottom:0;z-index:20;padding:12px 16px calc(16px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--k-papir) 90%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid color-mix(in srgb,var(--k-tekst) 12%,transparent)}
.pk-svarbar p{font-weight:700;font-size:15px;margin:0 4px 8px}
.pk-svarbar div{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:8px}
.pk-svarbar .pk-knapp{min-height:52px;padding:6px 8px;font-size:16px}
/* svaret */
.pk-svar{z-index:40;animation:fm-tone .25s ease both}.pk-svar.ut{opacity:0;transition:opacity .25s}
.pk-s4{padding-top:calc(18px + env(safe-area-inset-top,0px));min-height:100%;display:flex;flex-direction:column}
.pk-tilb{border:0;background:none;font:600 15px var(--f-ui);padding:8px 0;align-self:flex-start;color:var(--k-tekst)}
.pk-mini{display:flex;gap:14px;align-items:center;margin:10px 0 26px}
.pk-mini .poster{width:60px;flex:none;border-radius:10px}
.pk-mini b{display:block;font-size:17px}.pk-mini span{font-size:15px;opacity:.75}
.pk-s4 .h{font-size:46px}
.pk-valg{display:grid;gap:10px;margin-top:14px}
.pk-valg button{display:flex;align-items:center;gap:16px;min-height:66px;padding:10px 20px;border-radius:22px;border:0;background:transparent;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--k-tekst) 26%,transparent);font:700 19px var(--f-ui);text-align:left;color:var(--k-tekst);transition:background .2s,color .2s}
.pk-valg button[aria-checked="true"]{background:var(--k-mork);color:var(--k-lys);box-shadow:none}
.pk-tegn{width:28px;height:28px;border-radius:50%;flex:none;border:3px solid currentColor;position:relative;overflow:hidden}
.pk-tegn.ja{background:currentColor}.pk-tegn.kanskje::after{content:"";position:absolute;inset:0 50% 0 0;background:currentColor}
.pk-felt{display:block;margin-top:24px;font-weight:700;font-size:15px}
.pk-felt input{display:block;width:100%;margin-top:8px;height:60px;border-radius:18px;border:2px solid color-mix(in srgb,var(--k-tekst) 26%,transparent);background:#fff;padding:0 18px;font:600 19px var(--f-ui);color:#17151f}
.pk-felt input:focus{outline:none;border-color:var(--k-tekst)}
.pk-s4 .pk-lenke{align-self:flex-start;margin-top:10px}
.pk-feil{color:#b4233c;font-weight:700;font-size:15px;margin:10px 0 0}
.pk-send{margin-top:auto;padding-top:26px}
.pk-note{font-size:14px;line-height:1.4;opacity:.75;text-align:center;margin:12px 0 0}.pk-note a{color:inherit}
/* kvitteringen */
.pk-kvitt{background:var(--pbg);color:var(--pink);padding:calc(64px + env(safe-area-inset-top,0px)) 22px 26px;position:relative;overflow:hidden}
.pk-rad{display:flex;gap:18px;align-items:flex-end}
.pk-rad .poster{width:104px;flex:none;border-radius:14px;rotate:-4deg;box-shadow:0 14px 30px -14px rgb(0 0 0 / .45)}
.pk-kvitt h2{margin:0;font-size:43px;line-height:.98;overflow-wrap:anywhere}
.pk-kvitt p{margin:16px 0 0;font-size:16px;line-height:1.4;font-weight:500}
.pk-kvitt .pk-knapp{margin-top:18px;background:var(--pink);color:var(--pbg)}
.pk.svart .pk-side{padding-top:6px}
.pk-dintur{margin-top:34px}
.pk-dintur .h{font-size:40px}
.pk-dintur>p{font-size:17px;line-height:1.4;margin:4px 0 0}
.pk-rull{display:flex;gap:12px;overflow-x:auto;margin:18px -22px 0;padding:4px 22px 6px;scrollbar-width:none;scroll-snap-type:x proximity}
.pk-rull::-webkit-scrollbar{display:none}
.pk-rull a{flex:none;scroll-snap-align:center;width:168px}
.pk-rull .poster{border-radius:18px}
.pk-dintur .pk-knapp{margin-top:16px}
@media (prefers-reduced-motion:reduce){.pk *{animation:none!important;transition:none!important}}
.poster.tkp{background:none;box-shadow:none;aspect-ratio:auto;overflow:visible;border-radius:3px;container-type:normal}
.poster.tkp::before,.poster.tkp::after{display:none}
.ecard .poster.tkp .tk-kort{height:100%;aspect-ratio:auto}
/* B264: åpningsknappen ble dekket av filmstripen nederst */
.fm-bunn{z-index:7}
.fm-stripe{z-index:3}
.fm.klar .fm-stripe,.fm.klar .fm-forspill{visibility:hidden}
.fm.intro .fm-forside{height:calc(100dvh - 204px)}
.prevband{position:fixed;left:50%;transform:translateX(-50%);top:calc(env(safe-area-inset-top,0px) + 18px);z-index:45;border:0;border-radius:22px;padding:11px 16px;font-size:13px!important;background:#141C33;color:#fff;font:500 14px var(--f-ui);box-shadow:0 10px 30px -10px rgb(0 0 0 / .5);white-space:nowrap}
.prevband b{color:#FFB37A}
.preview-wrap{position:relative}
.pl-byttop{display:block;margin:-46px auto 18px;position:relative;z-index:2;box-shadow:0 8px 20px -8px rgb(0 0 0 / .5)}

/* B265: været i tre tidspunkt og kart over stedet (vinnerforslaget) */
.vx-rad{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:10px}
.vx-rad div{text-align:center;padding:14px 0 12px;border-radius:18px;background:#fff;min-width:0}
.vx-rad svg{display:block;margin:0 auto 6px}
.vx-rad b{display:block;font-size:1.3rem;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums}
.vx-rad span{font-size:.76rem;color:var(--fd,#6b6270)}
.vx-note{font-size:.84rem;color:var(--fd,#6b6270);margin:12px 0 0}
.vx-note span{white-space:nowrap}
.vx-del[hidden]{display:none!important}
.vk-hold[hidden]{display:none}
.vkart{display:block;position:relative;height:190px;border-radius:20px;overflow:hidden;background:#DCE6F0;margin:0 0 14px;-webkit-tap-highlight-color:transparent;isolation:isolate}
.vk-fl{position:absolute;inset:0;filter:grayscale(1) contrast(.62) brightness(1.24)}
.vkart::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,#d9e6f2,#e8e1d6);mix-blend-mode:multiply;pointer-events:none}
.vk-pin,.vk-cr{z-index:2}
.vk-fl img{position:absolute;width:256px;height:256px;max-width:none;user-select:none;pointer-events:none}
.vk-pin{position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:#141C33;box-shadow:0 0 0 4px rgba(255,138,60,.28),0 2px 8px rgba(0,0,0,.25)}
.vk-pin::after{content:"";position:absolute;inset:5px;border-radius:50%;background:#FF8A3C}
.vk-pin::before{content:"";position:absolute;inset:-14px;border-radius:50%;background:rgba(255,138,60,.22);animation:vkpuls 2.4s ease-out infinite}
@keyframes vkpuls{0%{transform:scale(.4);opacity:1}100%{transform:scale(1.4);opacity:0}}
@media (prefers-reduced-motion:reduce){.vk-pin::before{animation:none}}
.vk-cr{position:absolute;right:8px;bottom:6px;font:500 10px/1 var(--f-ui,system-ui);color:#4a5568;background:rgba(255,255,255,.75);padding:3px 6px;border-radius:6px}
.vkart:focus-visible{outline:3px solid #FF8A3C;outline-offset:3px}
/* I kortet: papiret har egen farge, så værkortene får kant i stedet for hvit flate */
.kp-vei .vx-del{margin:6px 0 18px}
.kp-vei .vx-del h3{font:500 13px var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--fine-ink2);margin:0 0 10px;text-align:center}
.kp-vei .vx-rad div{background:rgba(255,255,255,.55);border:1px solid rgba(0,0,0,.06)}
.kp-vei .vx-rad span,.kp-vei .vx-note{color:var(--fine-ink2)}
.kp-vei .vx-rad b{color:var(--fine-ink)}
.kp-vei .vx-note{text-align:center}
.kp-vei .vkart{height:200px}
.kp-vei .vk-hold{align-self:stretch;width:100%}
.kp-vei .vkart{height:160px;margin-bottom:12px}
.kp-vei .vx-rad div{padding:10px 0 8px}
.kp-vei .vx-rad svg{width:28px;height:28px;margin-bottom:2px}
.kp-vei .vx-note{font-size:.8rem;margin-top:8px}
.kp-vei .k-block .k-big{margin-top:2px}

/* B266: advarsler under Konto */
.advc{gap:10px;border:1px solid rgb(255 255 255 / .14)}
.advc.stopp{border-color:#F5B33B}
.advc h2{margin:0}
.adv-r{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:14px;background:rgb(255 255 255 / .05)}
.adv-r.s{background:rgb(245 179 59 / .12)}
.adv-h{display:flex;justify-content:space-between;gap:10px;margin:0;font-size:15px}
.adv-h span{color:var(--muted,#9aa8b8);font-size:13px;white-space:nowrap}
.modtrapp{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:14px;background:rgb(255 255 255 / .05)}
.modtrapp textarea{min-height:64px}
.modtrapp .row{flex-wrap:wrap}
/* B269: egne linjer i rulleteksten */
.credx{display:grid;gap:10px;padding-top:4px}
.credx-h{margin:0;display:flex;flex-direction:column;gap:2px}
.credx-rows{display:grid;gap:8px}
.credx-r{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr) 32px;gap:8px;align-items:center}
.credx-r input{min-width:0;width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 13px;outline:none}
.credx-r input:focus{border-color:var(--ink)}
.credx-r input[data-cl]{font-weight:600}
.credx-r .x{width:32px;height:32px;border-radius:50%;text-decoration:none;font-size:20px;line-height:1;padding:0;display:grid;place-items:center}
.credx-r .x:hover{background:var(--field)}
.credx-add{margin:0}
.pk-fakta>.pk-egen{min-height:118px}
.pk-fakta>.pk-egen:last-child:nth-child(odd){grid-column:1/-1}
.it-egen .ic{font:600 15px/1 var(--f-ui);color:var(--ink-2)}
.it-egen strong{overflow-wrap:anywhere}
/* B270: medarrangør */
.cohost{display:grid;gap:8px;margin-top:12px}
.cohost .glist{margin:0}
p.cohost{display:block}
.fm-avs{display:inline-flex}
.fm-avs .av+.av{margin-left:-9px;box-shadow:0 0 0 2px var(--fa, #fff)}
/* B271: «Hvor mange blir dere?» */
.antall{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0;font-size:15px}
.antall[hidden]{display:none}
.antall>div{display:flex;align-items:center;gap:6px}
.antall button{width:42px;height:42px;border-radius:50%;border:0;background:var(--field,#fff);box-shadow:inset 0 0 0 1.5px var(--line,rgba(0,0,0,.14));color:inherit;font-size:20px;line-height:1;cursor:pointer}
.antall b{min-width:28px;text-align:center;font-size:18px}
.gl .nm .pluss{margin-left:4px;font-weight:500;color:var(--ink-2)}
/* B272: redigering med faner og levende forhåndsvisning (steg 6) */
.ed{gap:0;--sh:clamp(220px,40svh,440px)}
.ed.skriver{--sh:clamp(140px,22svh,260px)}
.ed-top{position:sticky;top:0;z-index:6;display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;padding:6px 0 8px;background:color-mix(in srgb,var(--night) 84%,transparent);-webkit-backdrop-filter:blur(26px) saturate(1.4);backdrop-filter:blur(26px) saturate(1.4);}
.ed-top .ed-ur{position:absolute;left:52px;top:50%;transform:translateY(-50%)}
.ed-top .ed-tit{grid-column:2;text-align:center;font-size:17px;font-weight:600}
.ed-top #save{min-width:76px}
.ed-scene{position:sticky;top:58px;z-index:4;height:calc(var(--sh) + 44px);box-sizing:border-box;padding:6px 0 10px;background:color-mix(in srgb,var(--night) 84%,transparent);-webkit-backdrop-filter:blur(26px) saturate(1.4);backdrop-filter:blur(26px) saturate(1.4);display:flex;flex-direction:column;align-items:center;transition:padding .25s ease}
.ed-scene .preview-wrap{width:min(100%,calc(var(--sh) * .8));transition:width .25s ease}
.ed-scene .preview-wrap[role=button]{cursor:zoom-in}
.ed-scene .pl-byttop{margin:-40px auto 4px}
.ed-somgjest{margin:8px 0 0;text-align:center}
.ed.skriver .ed-somgjest{display:none}
.ed-faner{position:sticky;top:calc(58px + var(--sh) + 44px);z-index:3;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line);margin:0 -4px 14px;padding:0 4px;background:color-mix(in srgb,var(--night) 84%,transparent);-webkit-backdrop-filter:blur(26px) saturate(1.4);backdrop-filter:blur(26px) saturate(1.4)}
.ed-faner::-webkit-scrollbar{display:none}
.ed-faner button{flex:none;border:0;background:none;color:var(--ink-2);font:500 15px/1 var(--f-ui);padding:14px 12px 13px;border-bottom:2.5px solid transparent;cursor:pointer;white-space:nowrap}
.ed-faner button[aria-selected=true]{color:var(--ink);font-weight:600;border-bottom-color:var(--ink)}
.ed-faner button[hidden]{display:none}
.ed-side #form{display:flex;flex-direction:column;gap:14px;padding-bottom:40px}
.ed-panel{display:flex;flex-direction:column;gap:14px}
.ed-panel[hidden]{display:none}
.ed-side>.err{margin:0 0 10px}
.ed-del{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.ed-del figure{margin:0;display:grid;gap:6px}
.ed-del figcaption{font-size:13px;color:var(--ink-2);text-align:center}
.ed-del .bubble{font-size:14px;margin:0}
.ed-plakat{position:relative;border-radius:14px;overflow:hidden}
.ed-qr{position:absolute;right:8px;bottom:8px;width:34px;height:34px;border-radius:6px;background:#fff;box-shadow:0 2px 8px rgb(0 0 0 / .3);background-image:linear-gradient(90deg,#111 50%,transparent 0),linear-gradient(#111 50%,transparent 0);background-size:8px 8px;background-position:3px 3px;opacity:.9}
@media (max-height:640px){.ed-scene{position:relative;top:auto;height:auto}.ed-faner{top:58px}}
@media (min-width:900px){
  html.ed-open .app{max-width:820px}
  .ed-grid{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:36px;align-items:start}
  .ed-scene{top:70px;padding-top:12px;height:auto;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  .ed-scene .preview-wrap,.ed.skriver .ed-scene .preview-wrap{width:100%}
  .ed-faner{top:58px}
}
/* B272: åpningen i Filmatisk kan være en rolig toning */
.fm.rolig .fm-stripe,.fm.rolig .fm-forspill{display:none}
.fm.rolig.spill:not(.still) .fm-c{animation:fm-tone 1.2s ease-out 1.1s both}
/* B273: åpent arrangement på vegne av en gruppe, programmet, Følg og delingspakken */
.org{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center}
.org-seg{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#141c33;color:#fff;font:400 22px/1 Gloock,Georgia,serif}
.org b{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:17px}
.org span:not(.org-seg):not(.offisiell){display:block;font-size:14px;opacity:.72;line-height:1.35}
.org small{display:block;font-size:12px;opacity:.6;margin-top:2px}
.offisiell{display:inline-flex;align-items:center;gap:4px;font:600 12px/1 var(--f-ui);background:#141c33;color:#fff;border-radius:999px;padding:4px 9px 4px 7px}
.offisiell svg{width:12px;height:12px}
.fm-org{padding:22px 0 6px}
.k-org{margin:6px 0 12px;text-align:left}
.pk-org{margin-top:24px}
.program{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.program li{display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:baseline}
.program time{font:600 15px/1.2 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.06em;opacity:.75}
.program b{display:block;font-size:16px}
.program span{display:block;font-size:14px;opacity:.72}
.k-prog{text-align:left;margin-top:10px}
.fm-aapent{position:absolute;left:50%;transform:translateX(-50%);top:calc(env(safe-area-inset-top,0px) + 20px);white-space:nowrap;z-index:3;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgb(10 12 28 / .55);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;font:500 14px/1 var(--f-ui)}
.fm-aapent i{width:8px;height:8px;border-radius:50%;background:#ff8a3c}
.prog-r{display:grid;grid-template-columns:70px minmax(0,1fr) 32px;gap:8px;align-items:center}
.prog-r input{min-width:0;width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:var(--r-sm);padding:11px 12px;outline:none}
.prog-r input[data-pu]{grid-column:2/3;font-size:14px;padding:9px 12px}
.prog-r .x{width:32px;height:32px;border-radius:50%;text-decoration:none;font-size:20px;padding:0;display:grid;place-items:center}
.org-velg{margin:-4px 0 0}
.delpakke{display:grid;gap:8px;margin-top:12px}
.og-folg{display:grid;gap:6px;justify-items:start;margin:4px 0}
/* B274: venner ser at du skal (åpne arrangementer) */
.venner-skal{display:flex;align-items:center;gap:10px;margin:0;font-size:15px}
.fm-venner{padding:4px 0 10px}
.k-venner{justify-content:center;margin:0 0 10px}
.pk-venner{margin-top:14px}
.venner-skal .av{width:30px;height:30px;font-size:12px}
.venner-bryter{margin:4px 0}
/* B275: vennrs eget norgeskart (testside /kart) */
html.kart-open .tabbar,html.kart-open .sky{display:none}
html.kart-open,html.kart-open body{height:100%;overflow:hidden}
html.kart-open .app{max-width:none;padding:0;margin:0}
.kart-side{position:fixed;inset:0;z-index:20}
.kart-side .kart-flate{position:absolute;inset:0;width:100%;height:100%;background:#18244f}
.kart-flate[data-drakt=lys]{background:#eceee6}
.kart-tilbake{position:absolute;left:14px;top:calc(env(safe-area-inset-top,0px) + 14px);z-index:2;background:rgb(10 14 34 / .74);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#fff}
.kart-side .kart-drakt{position:absolute;right:14px;top:calc(env(safe-area-inset-top,0px) + 14px);z-index:2;background:rgb(10 14 34 / .74);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.kart-side .kart-drakt button{color:#fff;background:none;box-shadow:none}
.kart-side .kart-drakt button[aria-pressed=true]{background:#fff;color:#141c33;box-shadow:none}
.kart-feil{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);z-index:3;background:rgb(10 14 34 / .8);color:#fff;padding:14px 18px;border-radius:16px;max-width:86vw;text-align:center}
.kart-side .maplibregl-ctrl-attrib{font:500 12px/1.3 var(--f-ui);background:rgb(255 255 255 / .8);color:#2a3142}
.kart-side .maplibregl-ctrl-attrib a{color:#2a3142}
.kart-side .kart-tilbake,.kart-side .kart-drakt{box-shadow:0 4px 16px rgb(0 0 0 / .25)}
/* B276: invitasjonskartet med vennrs eget kart */
.vkart.vk-ml{cursor:zoom-in;background:#18244f}
.vkart.vk-ml[data-drakt=lys]{background:#eceee6}
.vkart.vk-ml::after{display:none}
.vk-ml .vk-fl{filter:none;pointer-events:none}
.vk-ml .vk-fl canvas{outline:none}
.vk-markor{position:relative;left:auto;top:auto;margin:0}
html.vk-open{overflow:hidden}
.vk-stor{position:fixed;inset:0;z-index:80;background:#18244f;animation:fade .2s ease}
.vk-storkart{position:absolute;inset:0}
.vk-stor .vk-storkart.maplibregl-map{position:absolute}
.vk-lukk{position:absolute;right:14px;top:calc(env(safe-area-inset-top,0px) + 14px);z-index:3;background:rgb(10 14 34 / .74);color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.vk-bunn{position:absolute;left:14px;right:14px;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:20px;background:rgb(10 14 34 / .78);color:#fff;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.vk-bunn p{margin:0;display:grid;gap:2px}.vk-bunn small{opacity:.7}
.vk-stor .maplibregl-ctrl-attrib{font:500 11px/1.3 var(--f-ui);background:rgb(255 255 255 / .8);color:#2a3142;margin-top:calc(env(safe-area-inset-top,0px) + 14px)!important}
.vk-stor .maplibregl-ctrl-bottom-right{bottom:96px}
.vk-ml .vk-fl.maplibregl-map{position:absolute;inset:0;display:block}
.card.info .vk-hold .vkart{margin:2px 0 0}
.pk-side > .vk-hold .vkart{margin:14px 0 0;border-radius:26px}
.card.info .vk-hold .vkart{margin:2px 0 0}
.pk-side > .vk-hold .vkart{margin:14px 0 0;border-radius:26px}
/* B277: siste meldinger før «Bli med i samtalen» */
.chatglimt{list-style:none;margin:14px 0 16px;padding:0;display:grid;gap:10px;text-align:left}
.chatglimt li{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:16px;background:color-mix(in srgb,currentColor 7%,transparent);border:1px solid color-mix(in srgb,currentColor 10%,transparent)}
.chatglimt .cg-av{flex:none;width:30px;height:30px;border-radius:50%;object-fit:cover;display:grid;place-items:center;font:600 13px/1 var(--f-ui,system-ui);background:color-mix(in srgb,currentColor 14%,transparent)}
.chatglimt div{min-width:0;flex:1}
.chatglimt b{font-weight:600;font-size:14px}.chatglimt small{opacity:.6;font-size:12px}
.chatglimt p{margin:2px 0 0;font-size:14px;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
/* B277: Filmatisk i Prat, samme uttrykk som invitasjonen */
.evban.film{color:#fff;background:radial-gradient(120% 140% at 20% 0%,#1b2350,transparent 70%),#05081A;border:1px solid rgb(255 255 255 / .08);padding:12px 14px}
.evban.film .gbg{filter:none;opacity:.55}
.evban.film.hasbg::before{background:linear-gradient(90deg,rgb(5 8 26 / .92),rgb(5 8 26 / .55) 70%,rgb(5 8 26 / .35))}
.evban.film .eb-t small{font:500 12px 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.24em;text-transform:uppercase;color:#FF8A3C;opacity:1}
.evban.film .eb-t b{font:400 25px/1.05 'Gloock',Georgia,serif;padding:2px 0}
.evban.film .eb-t span{font:500 13.5px 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:rgb(255 255 255 / .78);opacity:1}
.evban.film .eb-go{background:#fff;color:#0B1230}
.ginv.film{background:radial-gradient(120% 90% at 30% 10%,#2a3366,transparent 70%),#05081A;border-radius:5px}
.ginv.film .gi-fl{position:absolute;left:28%;right:28%;bottom:16%;height:2px;background:#FF8A3C;border-radius:1px;box-shadow:0 0 6px rgb(255 138 60 / .6)}
.ginv.film img{filter:saturate(1.05) brightness(.85)}
/* B278: to sider i Filmatisk og Plakat. Sveip mellom invitasjonen og «etter svaret» */
.fm.har-sider,.pk.har-sider{overflow:hidden}
.vsider{position:absolute;inset:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.vsider::-webkit-scrollbar{display:none}
.vside{position:relative;flex:0 0 100%;width:100%;height:100%;overflow-y:auto;overflow-x:hidden;scroll-snap-align:start;scroll-snap-stop:always;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.vside::-webkit-scrollbar{display:none}
.fm.har-sider .fm-topp,.pk.har-sider .pk-topp{position:absolute}
.vprikker{display:flex;gap:2px;align-items:center;padding:0 4px;height:28px;border-radius:14px;background:rgb(8 12 34 / .46);border:1px solid rgb(255 255 255 / .2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.vprikker button{width:22px;height:26px;padding:0;border:0;background:none;display:grid;place-items:center;cursor:pointer}
.vprikker i{width:7px;height:7px;border-radius:50%;background:rgb(255 255 255 / .45);transition:width .25s var(--ease-out,ease),background .25s}
.vprikker [aria-selected="true"] i{width:18px;border-radius:4px;background:#fff}
.fm-topp .vprikker{position:absolute;left:50%;transform:translateX(-50%);top:calc(16px + env(safe-area-inset-top,0px))}
.fm-videre{border-top:1px solid var(--fl)}
.fm-videre .fm-lenke{font-weight:500;color:var(--fb)}
@media (prefers-reduced-motion:reduce){.vprikker i{transition:none}}
.prevband~.fm .fm-topp .vprikker,.prevband~.pk .pk-topp .vprikker{top:calc(64px + env(safe-area-inset-top,0px))}
.pk-topp .vprikker{position:absolute;left:50%;transform:translateX(-50%);top:calc(16px + env(safe-area-inset-top,0px));background:color-mix(in srgb,var(--k-papir) 70%,transparent);border-color:color-mix(in srgb,var(--k-tekst) 16%,transparent)}
.pk-topp .vprikker i{background:color-mix(in srgb,var(--k-tekst) 35%,transparent)}
.pk-topp .vprikker [aria-selected="true"] i{background:var(--k-tekst)}
.pk-videre{text-align:center;margin:22px 0 0}.pk-videre .pk-lenke{font-weight:600}
.pk-svart1 div{grid-template-columns:1fr}
.pk-svart1 p{font-weight:500}
.pk-prakt{padding-top:calc(74px + env(safe-area-inset-top,0px))}
