:root{--bg:#E9EEEA;--paper:#F6F8F5;--ink:#14231F;--mute:#5B6B66;--line:#C9D3CE;--acc:#E4572E;--lake:#2F6F8F;--rail:#14231F;--railink:#E9EEEA;
--fortid:#B5651D;--natur:#3E7C59;--kunst:#A23E48;--viden:#2F4F8F;
--fd:"Fraunces",Georgia,serif;--fs:"Spectral",Georgia,serif;--fu:"Onest",system-ui,sans-serif;--fm:"Red Hat Mono",ui-monospace,monospace;--rw:264px;--txt:1.12rem}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--fs);font-size:var(--txt);line-height:1.62}
img{max-width:100%;height:auto;display:block}a{color:inherit}
:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--acc);color:#fff;padding:.5rem 1rem;z-index:99;font-family:var(--fu)}.skip:focus{left:1rem}
/* ---------- rail (desktop header) ---------- */
.rail{position:fixed;inset:0 auto 0 0;width:var(--rw);background:var(--rail);color:var(--railink);display:flex;flex-direction:column;padding:1.6rem 1.4rem 1.2rem;overflow-y:auto;z-index:20;font-family:var(--fu)}
.brand{display:flex;align-items:flex-end;gap:.7rem;text-decoration:none;margin-bottom:1.4rem}
.brand svg{flex:none}
.brand b{font-family:var(--fd);font-weight:600;font-size:1.9rem;line-height:.9;letter-spacing:-.01em;font-variation-settings:"SOFT" 100,"opsz" 96}
.brand i{display:block;font-style:normal;font-family:var(--fm);font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;opacity:.7;margin-top:.35rem}
.uge{border-top:1px solid #ffffff2b;border-bottom:1px solid #ffffff2b;padding:.9rem 0;margin-bottom:1rem;display:grid;grid-template-columns:auto 1fr;gap:.2rem .8rem;align-items:center}
.uge .n{font-family:var(--fd);font-size:3.4rem;line-height:.85;font-weight:300;grid-row:span 2;color:#F2C14E}
.uge small{font-family:var(--fm);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;opacity:.7}
.uge span{font-size:.92rem}
.lysmini{font-size:.85rem;margin-bottom:1rem}
.lysmini svg{width:100%;height:auto;display:block}
.lysmini .row{display:flex;justify-content:space-between;gap:.3rem;font-family:var(--fm);font-size:.7rem;opacity:.9;white-space:nowrap}
.lysmini select{width:100%;margin-top:.45rem;background:#ffffff14;color:inherit;border:1px solid #ffffff33;border-radius:6px;padding:.35rem .5rem;font:inherit;font-size:.85rem}
.lysmini select option{color:#14231F}
.nav{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}
.nav a{display:flex;align-items:center;gap:.6rem;text-decoration:none;padding:.42rem .55rem;border-radius:8px;font-size:.98rem}
.nav a:hover,.nav a[aria-current]{background:#ffffff17}
.nav .d{width:.62rem;height:.62rem;border-radius:50%;flex:none}
.nav .c{margin-left:auto;font-family:var(--fm);font-size:.74rem;opacity:.6}
.nav hr{border:0;border-top:1px solid #ffffff22;margin:.5rem 0}
.railfoot{margin-top:auto;padding-top:1rem;display:grid;gap:.6rem}
.prog{display:flex;align-items:center;gap:.7rem;font-size:.84rem}
.prog svg{flex:none}
.switch{display:flex;align-items:center;gap:.6rem;background:none;border:1px solid #ffffff33;color:inherit;border-radius:999px;padding:.4rem .8rem;font:inherit;font-size:.85rem;cursor:pointer;text-align:left}
.switch[aria-pressed=true]{background:#F2C14E;color:#14231F;border-color:#F2C14E}
/* ---------- mobile strip + tab bar ---------- */
.strip,.tabs{display:none}
main,.foot{margin-left:var(--rw)}
.wrap{max-width:1180px;margin:0 auto;padding:0 2.2rem}
/* ---------- common ---------- */
.kick{font-family:var(--fm);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.chip{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--fu);font-size:.78rem;font-weight:500;padding:.18rem .6rem;border-radius:999px;background:var(--paper);border:1px solid var(--line);text-decoration:none}
.chip:before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--sc,var(--acc))}
h1,h2,h3{font-family:var(--fd);font-weight:500;line-height:1.12;letter-spacing:-.012em;margin:0;font-variation-settings:"opsz" 72}
.meta{font-family:var(--fu);font-size:.84rem;color:var(--mute)}
.btn{font-family:var(--fu);font-size:.9rem;font-weight:500;border:1.5px solid var(--ink);background:none;color:var(--ink);border-radius:999px;padding:.5rem 1rem;cursor:pointer;text-decoration:none;display:inline-flex;gap:.4rem;align-items:center}
.btn.on,.btn:hover{background:var(--ink);color:var(--bg)}
.ill{font-family:var(--fu);font-size:.74rem;color:var(--mute);margin-top:.35rem}
/* ---------- home ---------- */
.opening{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:2.4rem;padding:3rem 0 2.2rem;border-bottom:2px solid var(--ink);align-items:end}
.opening h1{font-size:clamp(2.4rem,4.4vw,4.2rem);font-weight:400;font-variation-settings:"SOFT" 60,"opsz" 144}
.opening h1 em{font-style:italic;color:var(--acc)}
.opening p{font-size:1.15rem;max-width:36rem;margin:.9rem 0 0}
.dagslys{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:1.2rem 1.3rem;font-family:var(--fu)}
.dagslys h2{font-size:1.25rem;margin-bottom:.2rem}
.dagslys .big{font-family:var(--fm);font-size:2.1rem;font-weight:500;letter-spacing:-.02em}
.dagslys .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:.7rem}
.dagslys .grid3 div{border-top:1px solid var(--line);padding-top:.4rem;font-size:.82rem;color:var(--mute)}
.dagslys .grid3 b{display:block;font-family:var(--fm);font-size:1.05rem;color:var(--ink);font-weight:500}
.dagslys .tip{font-size:.85rem;margin:.7rem 0 0;color:var(--mute)}
.week{display:grid;grid-template-columns:150px minmax(0,1fr);gap:2rem;padding:2.4rem 0;border-bottom:1px solid var(--line)}
.week>header{position:sticky;top:1.2rem;align-self:start}
.week>header b{display:block;font-family:var(--fd);font-size:4.6rem;font-weight:300;line-height:.85;color:var(--lake)}
.week>header span{font-family:var(--fu);font-size:.85rem;color:var(--mute);display:block;margin-top:.4rem}
.wk{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:1.6rem 2rem}
.lead-card a{text-decoration:none}
.lead-card img{aspect-ratio:16/10;object-fit:cover;width:100%;border-radius:14px}
.lead-card h3{font-size:1.85rem;margin:.7rem 0 .4rem}
.lead-card p{margin:.3rem 0 .5rem}
.rows{list-style:none;margin:0;padding:0;display:grid;align-content:start}
.rows li{border-top:1px solid var(--line)}
.rows li:first-child{border-top:0}
.rows a{display:grid;grid-template-columns:76px minmax(0,1fr);gap:.9rem;padding:.8rem 0;text-decoration:none;align-items:start}
.rows img{width:76px;height:76px!important;object-fit:cover;border-radius:50%}
.rows h3{font-size:1.12rem;font-weight:500;margin:.25rem 0 .2rem}
.rows a:hover h3,.lead-card a:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.read .rows h3,.read.lead-card h3{color:var(--mute)}
.seen{font-family:var(--fm);font-size:.68rem;color:var(--natur);margin-left:.3rem}
.spor4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;padding:2.6rem 0}
.spor4 a{text-decoration:none;background:var(--paper);border-radius:16px;padding:1.1rem;border-top:6px solid var(--sc);display:flex;flex-direction:column;gap:.4rem;min-height:190px}
.spor4 h3{font-size:1.5rem}
.spor4 .n{font-family:var(--fm);font-size:.8rem;color:var(--mute)}
.spor4 p{font-size:.95rem;margin:0}
.ahead{padding:2.4rem 0 3rem}
.ahead h2,.sec-h{font-size:2rem;margin-bottom:1rem}
.evt{display:grid;grid-template-columns:96px minmax(0,1fr) 240px;gap:1.2rem;align-items:center;padding:.9rem 0;border-top:1px solid var(--line);text-decoration:none}
.evt .dt{font-family:var(--fd);font-size:1.05rem;line-height:1.1}
.evt .dt b{display:block;font-size:2.2rem;font-weight:400}
.evt h3{font-size:1.15rem;font-weight:500}
.evt .sun{font-family:var(--fm);font-size:.8rem;color:var(--mute);text-align:right}
.evt .sun b{display:block;color:var(--ink);font-size:.95rem;font-weight:500}
/* ---------- section / week archive ---------- */
.pagehead{padding:2.8rem 0 1.6rem;border-bottom:2px solid var(--ink)}
.pagehead h1{font-size:clamp(2.2rem,4vw,3.6rem);font-weight:400}
.pagehead p{max-width:44rem;margin:.6rem 0 0}
.filters{display:flex;flex-wrap:wrap;gap:.45rem;padding:1.2rem 0}
.filters button{font-family:var(--fu);font-size:.86rem;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:.35rem .8rem;cursor:pointer;color:var(--ink)}
.filters button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.8rem 1.6rem;padding:1.4rem 0 3rem}
.card a{text-decoration:none;display:block}
.card img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:12px}
.card h3{font-size:1.28rem;margin:.6rem 0 .3rem}
.card p{font-size:.98rem;margin:0 0 .4rem}
.empty{font-family:var(--fu);color:var(--mute);padding:2rem 0}
/* ---------- article ---------- */
.ahd{padding:2.6rem 0 1.4rem;max-width:880px}
.ahd h1{font-size:clamp(2.1rem,4vw,3.4rem);font-weight:400;margin:.7rem 0 .8rem;font-variation-settings:"SOFT" 40,"opsz" 144}
.ahd .lead{font-size:1.28rem;line-height:1.5;margin:0 0 1rem;color:#24352f}
.ahd .meta{display:flex;flex-wrap:wrap;gap:.3rem 1rem}
.hero img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:18px}
.agrid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:3rem;padding:2rem 0 3rem}
.tools{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.4rem}
.kort{background:var(--paper);border-left:5px solid var(--sc);border-radius:0 14px 14px 0;padding:1rem 1.2rem;margin-bottom:1.6rem;font-family:var(--fu)}
.kort h2{font-family:var(--fu);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;margin-bottom:.4rem}
.kort ul{margin:0;padding-left:1.1rem}.kort li{margin:.25rem 0}
.body h2{font-size:1.55rem;margin:1.8rem 0 .5rem}
.body p{margin:0 0 1.05rem}
.body p:first-of-type:first-letter{font-family:var(--fd);float:left;font-size:3.6em;line-height:.85;padding:.08em .1em 0 0;color:var(--sc)}
.term{background:none;border:0;padding:0;font:inherit;color:inherit;border-bottom:2px dotted var(--sc);cursor:help}
.forkl{display:block;font-family:var(--fu);font-size:.9rem;background:var(--paper);border-radius:10px;padding:.55rem .8rem;margin:.4rem 0 .2rem;border:1px solid var(--line)}
.forkl[hidden]{display:none}
.short .body,.short .tools .tts{display:none}
.side{display:grid;gap:1.2rem;align-content:start}
.box{background:var(--paper);border-radius:16px;padding:1rem 1.1rem;font-family:var(--fu);font-size:.92rem}
.box h2{font-family:var(--fu);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--mute);margin-bottom:.6rem}
.box dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.35rem .8rem}
.box dt{color:var(--mute)}.box dd{margin:0;font-weight:500}
.tal b{display:block;font-family:var(--fd);font-size:3rem;line-height:1;font-weight:400;color:var(--sc)}
.sted svg{width:100%;height:auto}
.sted .row{display:flex;justify-content:space-between;font-family:var(--fm);font-size:.8rem}
.spor{border:1.5px dashed var(--sc);background:none}
.react{display:flex;flex-wrap:wrap;gap:.4rem}
.react button{font-family:var(--fu);font-size:.85rem;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:.35rem .75rem;cursor:pointer;color:var(--ink)}
.react button[aria-pressed=true]{background:var(--sc);color:#fff;border-color:var(--sc)}
.src{font-family:var(--fu);font-size:.9rem;border-top:1px solid var(--line);padding-top:1rem;margin-top:1.6rem}
.cd{font-family:var(--fm);font-size:.85rem;background:var(--ink);color:var(--bg);border-radius:10px;padding:.6rem .8rem}
.sibs{display:grid;grid-template-columns:1fr 1fr;gap:1rem;border-top:2px solid var(--ink);padding:1.4rem 0 3rem}
.sibs a{text-decoration:none;font-family:var(--fd);font-size:1.15rem}
.sibs small{display:block;font-family:var(--fu);font-size:.78rem;color:var(--mute)}
.sibs a:last-child{text-align:right}
/* ---------- lys page ---------- */
.lystab{width:100%;border-collapse:collapse;font-family:var(--fu);font-size:.92rem;margin:1rem 0 3rem}
.lystab th,.lystab td{padding:.45rem .5rem;border-bottom:1px solid var(--line);text-align:left}
.lystab td.m{font-family:var(--fm)}
.lystab .bar{height:10px;border-radius:5px;background:linear-gradient(90deg,#F2C14E,#E4572E);min-width:4px}
.lystab tr.today{background:#F2C14E33}
.lystab tr.evd td:first-child{font-weight:600}
.lystab .ev{font-size:.8rem;color:var(--lake);text-decoration:none;display:block}
.lyshead{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.lyshead select{font:inherit;font-family:var(--fu);padding:.45rem .7rem;border-radius:8px;border:1px solid var(--line);background:var(--paper)}
/* ---------- legal / contact ---------- */
.prose{max-width:760px;padding:1.6rem 0 3.4rem}
.prose h2{font-size:1.45rem;margin:1.8rem 0 .4rem}
.prose p{margin:0 0 1rem}
.form{display:grid;gap:.8rem;max-width:560px;font-family:var(--fu)}
.form input,.form textarea,.form select{font:inherit;padding:.6rem .7rem;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
/* ---------- footer ---------- */
.foot{background:var(--ink);color:var(--bg);overflow:hidden;font-family:var(--fu)}
.foot .word{font-family:var(--fd);font-weight:600;font-size:clamp(4rem,15vw,13rem);line-height:.8;letter-spacing:-.04em;color:#E9EEEA26;padding:2.2rem 0 0;white-space:nowrap;font-variation-settings:"SOFT" 100,"opsz" 144}
.foot .line{display:flex;flex-wrap:wrap;gap:.4rem 1.3rem;align-items:center;border-top:1px solid #ffffff26;padding:1.1rem 0 1.4rem;font-size:.86rem}
.foot .line a{text-decoration:none;opacity:.85}.foot .line a:hover{opacity:1;text-decoration:underline}
.foot .co{opacity:.6;margin-left:auto}
.foot .nl{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;padding:1rem 0 1.2rem;font-size:.92rem}
.foot .nl input{font:inherit;padding:.5rem .8rem;border-radius:999px;border:1px solid #ffffff40;background:#ffffff10;color:inherit;min-width:0;flex:1 1 200px;max-width:320px}
.foot .nl button{font:inherit;font-weight:600;padding:.5rem 1rem;border-radius:999px;border:0;background:#F2C14E;color:#14231F;cursor:pointer}
/* ---------- stille læsning ---------- */
.stille img,.stille .hero,.stille .rows img{display:none}
.stille{--bg:#F1EADB;--paper:#F8F3E8;--line:#D8CDB6}
.stille .rows a{grid-template-columns:1fr}
.toast{position:fixed;left:50%;bottom:1.4rem;transform:translateX(-50%);background:var(--ink);color:var(--bg);font-family:var(--fu);padding:.6rem 1rem;border-radius:10px;z-index:60;font-size:.9rem}
.toast[hidden]{display:none}
@media (max-width:1180px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.spor4{grid-template-columns:repeat(2,minmax(0,1fr))}.agrid{grid-template-columns:minmax(0,1fr) 260px;gap:2rem}}
@media (max-width:900px){
 .rail{display:none}main,.foot{margin-left:0}
 .strip{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.7rem 1.1rem;background:var(--rail);color:var(--railink);font-family:var(--fu)}
 .strip .brand{margin:0}.strip .brand b{font-size:1.45rem}.strip .brand svg{width:26px;height:26px}
 .strip .mini{font-family:var(--fm);font-size:.72rem;text-align:right;line-height:1.35;opacity:.9}
 .tabs{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;background:var(--paper);border-top:1px solid var(--line);z-index:40;padding-bottom:env(safe-area-inset-bottom)}
 .tabs a{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.45rem 0 .5rem;font-family:var(--fu);font-size:.7rem;text-decoration:none;color:var(--mute)}
 .tabs a[aria-current]{color:var(--ink);font-weight:600}
 .tabs .d{width:20px;height:6px;border-radius:3px;background:var(--sc,var(--line))}
 body{padding-bottom:64px}
 .wrap{padding:0 1.1rem}
 .opening{grid-template-columns:1fr;padding:1.8rem 0 1.6rem;gap:1.4rem}
 .week{grid-template-columns:1fr;gap:.8rem;padding:1.8rem 0}
 .week>header{position:static;display:flex;align-items:baseline;gap:.8rem}.week>header b{font-size:3rem}
 .wk{grid-template-columns:1fr}
 .agrid{grid-template-columns:1fr}
 .evt{grid-template-columns:70px minmax(0,1fr)}.evt .sun{grid-column:2;text-align:left}
 .foot .co{margin-left:0}
}
@media (max-width:640px){.cards,.spor4{grid-template-columns:1fr}.lead-card h3{font-size:1.5rem}.sibs{grid-template-columns:1fr}.sibs a:last-child{text-align:left}.lystab .hide{display:none}.dagslys .big{font-size:1.7rem}}
@media print{.rail,.strip,.tabs,.foot,.tools,.react{display:none}main{margin:0}}
.evt.past{opacity:.5}
