:root{--bg:#0b0d18;--kort:#151a2c;--kort2:#1b2138;--tekst:#eef0f7;--dæmp:#9aa3c0;--guld:#f5c451;--nu:#ff7a59;--r:14px}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--tekst);font:16px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-text-size-adjust:100%}
body{background:radial-gradient(120% 60% at 50% -10%,#1f2546 0,var(--bg) 60%) fixed;min-height:100vh}
a{color:inherit;text-decoration:none}
.top{position:sticky;top:0;z-index:5;padding:14px 16px 12px;background:rgba(11,13,24,.88);backdrop-filter:blur(8px);border-bottom:1px solid #222944}
.brand{display:block;max-width:640px;margin:0 auto}
.titel{display:block;font-size:1.25rem;font-weight:700;letter-spacing:.2px}
.titel::before{content:"✦ ";color:var(--guld)}
.under{display:block;color:var(--dæmp);font-size:.9rem}
main{max-width:640px;margin:0 auto;padding:12px 12px 90px}
.loader,.fejl{color:var(--dæmp);text-align:center;padding:40px 0}
.intro{color:var(--dæmp);font-size:.9rem;margin:4px 4px 12px}
ol.liste{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.art{display:grid;grid-template-columns:44px 88px 1fr;gap:12px;align-items:center;background:var(--kort);border:1px solid #232a45;border-radius:var(--r);padding:10px;position:relative}
.art:active{background:var(--kort2)}
.nr{font-size:1.4rem;font-weight:800;color:var(--guld);text-align:center;font-variant-numeric:tabular-nums}
.art img{width:88px;height:66px;object-fit:cover;border-radius:10px;background:#000;display:block}
.art h2{font-size:1.02rem;margin:0 0 2px}
.meta{color:var(--dæmp);font-size:.82rem}
.kortinfo{font-size:.88rem;margin-top:2px;color:#cfd4e6}
.pris{font-weight:700;color:var(--guld);white-space:nowrap}
.linje{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.art.nu{border-color:var(--nu);box-shadow:0 0 0 2px rgba(255,122,89,.35),0 0 24px rgba(255,122,89,.25)}
.art.nu .nr{color:var(--nu)}
.art.forbi{opacity:.55}
.maerke{display:inline-block;background:var(--nu);color:#1a0b06;font-weight:800;font-size:.72rem;padding:2px 8px;border-radius:99px;letter-spacing:.3px;text-transform:uppercase;animation:puls 1.6s ease-in-out infinite}
@keyframes puls{50%{opacity:.55}}
@media (prefers-reduced-motion:reduce){.maerke{animation:none}}
.nubanner{display:flex;gap:10px;align-items:center;background:linear-gradient(90deg,rgba(255,122,89,.18),transparent);border:1px solid rgba(255,122,89,.5);border-radius:var(--r);padding:10px 12px;margin-bottom:12px}
.nubanner b{font-size:1rem}
/* detalje */
.tilbage{display:inline-block;color:var(--dæmp);padding:6px 2px 10px}
.detalje img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);background:#000;display:block}
.detalje h1{font-size:1.5rem;margin:14px 0 2px}
.detalje .storpris{font-size:1.6rem;font-weight:800;color:var(--guld);margin:6px 0 10px}
.fakta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.fakta div{background:var(--kort);border:1px solid #232a45;border-radius:12px;padding:10px}
.fakta dt{color:var(--dæmp);font-size:.75rem;text-transform:uppercase;letter-spacing:.4px}
.fakta dd{margin:2px 0 0;font-weight:600}
.fakta .bred{grid-column:1/-1}
.nav2{display:flex;justify-content:space-between;gap:10px;margin-top:16px}
.nav2 a{flex:1;text-align:center;background:var(--kort);border:1px solid #232a45;border-radius:12px;padding:12px}
.nav2 a.tom{visibility:hidden}
.bund{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));color:var(--dæmp);font-size:.8rem;background:linear-gradient(transparent,var(--bg) 40%)}
.adminknap{background:none;border:0;color:#4a5274;font-size:1rem;padding:4px 8px;cursor:pointer}
.admin{position:fixed;bottom:48px;left:50%;transform:translateX(-50%);z-index:10;display:flex;gap:8px;align-items:center;background:#20263f;border:1px solid #39416a;border-radius:99px;padding:6px 10px;box-shadow:0 8px 30px rgba(0,0,0,.5)}
.admin button{background:var(--kort2);color:var(--tekst);border:1px solid #39416a;border-radius:99px;min-width:40px;height:40px;font-size:1.2rem;cursor:pointer}
.admin button.lille{font-size:.8rem;padding:0 10px}
.admin span{font-size:.9rem;white-space:nowrap}
.admin[hidden]{display:none}
.udsolgt{display:inline-block;background:#3a2030;color:#ff9db0;font-weight:700;font-size:.72rem;padding:2px 8px;border-radius:99px;text-transform:uppercase;letter-spacing:.3px}
.sektion{color:var(--dæmp);font-size:.8rem;text-transform:uppercase;letter-spacing:.6px;margin:22px 4px 8px}
.art.uden{grid-template-columns:88px 1fr}
