/* GlimtVM – norsk rød/hvit/blå + Glimt-gull, barnevennlig og lekent */
:root{
  --bg:#eef4ff; --card:#ffffff; --text:#1a2440; --muted:#5d6b85;
  --accent:#d8323f;           /* norsk rød */
  --accent-d:#1d3a8a;         /* norsk blå */
  --gold:#ffd84d; --gold-d:#e6b800;   /* Glimt-gull */
  --border:#dbe4f5; --live:#e11d48; --good:#d9f5e3; --warn:#fff1c2;
}
[data-theme="dark"]{
  --bg:#0d1424; --card:#182238; --text:#e9eefb; --muted:#9fadc9;
  --accent:#f25a68; --accent-d:#9db8ff;
  --border:#2a3a5e; --live:#fb7185; --good:#11402c; --warn:#46390e;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{margin:0;max-width:100%;overflow-x:hidden;}
body{background:var(--bg);color:var(--text);font-family:'Nunito',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:16px;line-height:1.45;padding-bottom:calc(40px + env(safe-area-inset-bottom));}
h2,h3,.brand,.nav button,.btn,.stat-big,.count b{font-family:'Baloo 2','Nunito',system-ui,sans-serif;}

.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;background:linear-gradient(120deg,#ba0c2f,#d8323f 60%,#a91f3d);color:#fff;}
.brand{font-size:1.35rem;font-weight:800;letter-spacing:.5px;text-shadow:0 1px 2px rgba(0,0,0,.2);}
.topbar-actions{display:flex;gap:8px;}
.icon-btn{width:42px;height:42px;border:none;border-radius:14px;background:rgba(255,255,255,.2);color:#fff;font-size:1.2rem;cursor:pointer;}
.icon-btn:active{transform:scale(.94);}
.flagstripe{position:sticky;top:calc(62px + env(safe-area-inset-top));z-index:29;height:6px;background:repeating-linear-gradient(90deg,#ba0c2f 0 40px,#fff 40px 52px,#00205b 52px 92px,#fff 92px 104px);}

.nav{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:10px;position:sticky;top:calc(68px + env(safe-area-inset-top));z-index:20;background:var(--bg);}
.nav button{min-height:50px;border:2px solid var(--border);border-radius:16px;background:var(--card);color:var(--text);font-size:.9rem;font-weight:700;cursor:pointer;}
.nav button.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 3px 8px rgba(216,50,63,.35);}

.view{padding:0 12px;max-width:680px;margin:0 auto;}
.card{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:14px;margin-bottom:12px;box-shadow:0 2px 8px rgba(29,58,138,.06);}
h2{font-size:1.2rem;margin:8px 2px 10px;}
h3{font-size:1.02rem;margin:4px 2px 8px;}
.muted{color:var(--muted);font-size:.85rem;}

.btn{display:inline-block;border:none;border-radius:16px;padding:12px 16px;background:var(--accent);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;min-height:48px;box-shadow:0 3px 8px rgba(216,50,63,.25);}
.btn.sec{background:transparent;color:var(--accent-d);border:2px solid var(--border);box-shadow:none;}
.btn.warn{background:var(--live);}
.btn:active{transform:scale(.97);}

.chip{border:2px solid var(--border);background:var(--card);color:var(--text);border-radius:999px;padding:8px 14px;font-weight:800;font-size:.85rem;cursor:pointer;font-family:'Nunito',sans-serif;}
.chip.on{background:var(--gold);border-color:var(--gold-d);color:#3a2c00;}

.row{display:flex;align-items:center;gap:8px;}
.flag{width:1.5em;height:1.12em;border-radius:3px;object-fit:cover;vertical-align:middle;box-shadow:0 0 0 1px rgba(0,0,0,.08);}

.match{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--border);border-radius:16px;background:var(--card);margin-bottom:8px;}
.match.norge{border:2px solid var(--gold);background:linear-gradient(90deg,#fff7dd,var(--card) 70%);}
[data-theme="dark"] .match.norge{background:linear-gradient(90deg,#3a3214,var(--card) 70%);}
.match .time{width:54px;text-align:center;flex:none;}
.match .time b{color:var(--accent-d);font-size:1rem;}
.match .teams{flex:1;min-width:0;}
.match .teams div{display:flex;align-items:center;gap:6px;}
.match .sc{font-weight:800;color:var(--accent-d);font-size:1.15rem;}
.pill{font-size:.7rem;font-weight:800;border-radius:8px;padding:2px 7px;}
.pill.live{background:var(--live);color:#fff;}.pill.ht{background:var(--warn);color:#7a5b00;}.pill.ft{background:var(--border);color:var(--muted);}
.win{font-weight:800;}

/* Heia Norge-hero */
.hero{background:linear-gradient(135deg,#ba0c2f 0%,#d8323f 45%,#1d3a8a 130%);color:#fff;border:none;text-align:center;box-shadow:0 6px 18px rgba(186,12,47,.28);}
.hero-title{font-family:'Baloo 2',sans-serif;font-size:1.5rem;font-weight:800;text-shadow:0 1px 3px rgba(0,0,0,.25);}
.hero-vs{font-family:'Baloo 2',sans-serif;font-size:1.25rem;font-weight:800;margin-top:6px;}
.hero-sub{opacity:.95;margin-top:2px;font-weight:700;}
.hero .muted{color:rgba(255,255,255,.85);}
.hero .count div{background:rgba(255,255,255,.18);}
.hero .match{color:var(--text);text-align:left;}
.hero .match .muted{color:var(--muted);}
.hero-table{background:#fff;border-radius:14px;padding:6px 8px;margin-top:12px;color:#1a2440;}
.hero-table th{color:#5d6b85;}
.hero-table tr.nor{background:#ffe9a8;}
.hero-table tr.nor td{font-weight:800;}

input,select{font-size:1rem;padding:11px;border:2px solid var(--border);border-radius:14px;background:var(--card);color:var(--text);width:100%;}
.score-in{width:58px;text-align:center;font-size:1.3rem;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.stat-big{font-size:1.8rem;font-weight:800;color:var(--accent-d);text-align:center;}

table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.82rem;}
th,td{padding:6px 3px;text-align:center;}th{color:var(--muted);font-size:.68rem;font-weight:600;}
td.l,th.l{text-align:left;}
tr.q1,tr.q2{background:var(--good);}tr.q3{background:var(--warn);}

.count{display:flex;gap:6px;justify-content:center;margin-top:8px;}
.count div{background:rgba(29,58,138,.08);border-radius:12px;padding:6px 10px;text-align:center;min-width:52px;}
[data-theme="dark"] .count div{background:rgba(255,255,255,.08);}
.count b{font-size:1.4rem;}

.fact{display:flex;gap:8px;padding:10px;border:1px solid var(--border);border-radius:14px;margin-bottom:8px;background:var(--card);}
.quiz-opt{display:block;width:100%;text-align:left;margin-bottom:8px;}
.quiz-opt.correct{background:var(--good);border-color:#16a34a;}
.quiz-opt.wrong{background:#fee2e2;border-color:var(--live);}
.foot{text-align:center;padding:14px;color:var(--muted);font-size:.75rem;display:flex;flex-direction:column;gap:4px;}
.credit{font-family:'Baloo 2',sans-serif;font-weight:700;font-size:.82rem;color:var(--accent);letter-spacing:.3px;}

/* Norsk flagg (SVG) inline i tekst */
.noflag{display:inline-block;width:1.45em;height:1.05em;border-radius:2px;vertical-align:-0.14em;box-shadow:0 0 0 1px rgba(0,0,0,.1);}
.brand .noflag{width:1.3em;height:.95em;vertical-align:-0.12em;}
.hero-title .noflag{width:1.2em;height:.88em;vertical-align:-0.08em;box-shadow:0 0 0 1px rgba(255,255,255,.4);}

/* Easter eggs 🥚 */
.egg{position:fixed;top:-48px;z-index:9998;pointer-events:none;will-change:transform;animation:eggfall linear forwards;}
.egg .noflag{width:1.6rem;height:1.15rem;}
@keyframes eggfall{to{transform:translateY(112vh) rotate(380deg);}}
.toast{position:fixed;left:50%;top:16%;transform:translateX(-50%);background:linear-gradient(120deg,#ba0c2f,#d8323f);color:#fff;padding:12px 22px;border-radius:18px;font-family:'Baloo 2',sans-serif;font-weight:800;font-size:1.35rem;z-index:10000;box-shadow:0 8px 24px rgba(0,0,0,.3);white-space:nowrap;animation:toastpop .4s cubic-bezier(.2,1.4,.5,1),toastfade .5s ease 1.6s forwards;}
@keyframes toastpop{from{transform:translateX(-50%) scale(.3);opacity:0;}to{transform:translateX(-50%) scale(1);opacity:1;}}
@keyframes toastfade{to{opacity:0;transform:translateX(-50%) scale(.9);}}

/* Vikinghjelm inline */
.viking{display:inline-block;height:1.5em;width:auto;vertical-align:-0.36em;}
.egg .viking{height:1.4em;}

/* Mål-feiring på hele skjermen 🎉 */
.goalfx{position:fixed;inset:0;z-index:9997;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;background:radial-gradient(circle,rgba(216,50,63,.28),rgba(0,0,0,.5));animation:goalflash 2.7s ease forwards;}
.goalfx.nor{background:radial-gradient(circle,rgba(29,58,138,.32),rgba(0,0,0,.5));}
.goalfx-text{font-family:'Baloo 2',sans-serif;font-weight:800;font-size:clamp(2.6rem,13vw,5.5rem);color:#fff;line-height:1.05;text-shadow:0 4px 20px rgba(0,0,0,.55);animation:goalbounce .6s cubic-bezier(.2,1.7,.4,1);}
.goalfx-sub{font-family:'Baloo 2',sans-serif;font-weight:700;font-size:clamp(1.1rem,5vw,1.9rem);color:#fff;background:rgba(0,0,0,.28);padding:6px 18px;border-radius:16px;margin-top:12px;}
@keyframes goalflash{0%{opacity:0}7%{opacity:1}82%{opacity:1}100%{opacity:0}}
@keyframes goalbounce{from{transform:scale(.2) rotate(-7deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}

/* Straffespark-spill ⚽ */
.goalwrap{position:relative;width:100%;max-width:440px;margin:10px auto 4px;height:230px;background:linear-gradient(#cdeeff,#eaf7ff 58%,#86c98a 58%,#5fae64);border-radius:14px;overflow:hidden;border:1px solid var(--border);}
.goal{position:absolute;top:16px;left:7%;right:7%;height:138px;border:7px solid #fff;border-bottom:none;border-radius:7px 7px 0 0;background:repeating-linear-gradient(90deg,transparent 0 15px,rgba(255,255,255,.45) 15px 16px),repeating-linear-gradient(0deg,transparent 0 15px,rgba(255,255,255,.45) 15px 16px);}
.zones{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);}
.zone{border:1px dashed rgba(0,0,0,.1);background:transparent;cursor:pointer;}
.zone:hover{background:rgba(216,50,63,.14);}
.zone:active{background:rgba(216,50,63,.3);}
.keeper{position:absolute;left:50%;top:40%;font-size:2.2rem;transform:translate(-50%,-50%);transition:left .45s cubic-bezier(.3,1.4,.6,1),top .45s cubic-bezier(.3,1.4,.6,1);pointer-events:none;z-index:3;}
.ball{position:absolute;left:50%;top:88%;font-size:1.7rem;transform:translate(-50%,-50%);transition:left .5s ease,top .5s ease;pointer-events:none;z-index:4;}
