:root{font-family:Arial,Helvetica,sans-serif;color:#f8fbff;background:#081426;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.screen{width:100%;aspect-ratio:16/9;min-height:580px;display:grid;grid-template-rows:13% 73% 14%;overflow:hidden;background:#0a1a33}header{background:#0b2042;border-bottom:4px solid #e7ad39;display:flex;align-items:center;justify-content:space-between;padding:0 3%}.brand{display:flex;gap:18px;align-items:center}.brand strong{font-size:clamp(22px,2.7vw,58px);letter-spacing:.05em}.brand small{display:block;font-size:clamp(10px,.9vw,19px);color:#b6c6de;letter-spacing:.2em;margin-top:5px}.shield{border:3px solid #e7ad39;color:#e7ad39;width:clamp(40px,5vw,95px);height:clamp(40px,5vw,95px);display:grid;place-items:center;font-weight:900;font-size:clamp(25px,3vw,65px);clip-path:polygon(10% 0,90% 0,100% 20%,90% 80%,50% 100%,10% 80%,0 20%)}.status{display:flex;align-items:center;gap:35px;font-weight:bold;letter-spacing:.12em}.status #modeLabel{font-size:clamp(12px,1.1vw,23px);color:#e7ad39}.status #clock{font-size:clamp(26px,3.3vw,70px)}main{display:grid;grid-template-columns:72% 28%;min-height:0}.hero{position:relative;padding:6% 7%;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:radial-gradient(circle at 85% 30%,#1b4c88 0,transparent 42%),linear-gradient(120deg,#0b2b55,#07142a 75%)}.hero:after{content:'S';position:absolute;right:-3%;top:1%;font-size:clamp(300px,43vw,900px);font-weight:900;color:#ffffff08;transform:rotate(-13deg);pointer-events:none}.eyebrow{font-size:clamp(14px,1.5vw,34px);letter-spacing:.2em;color:#e7ad39;font-weight:bold;z-index:1}h1{font-size:clamp(56px,7.2vw,160px);line-height:.94;margin:3% 0 2%;letter-spacing:-.05em;z-index:1}p{font-size:clamp(18px,2vw,43px);max-width:75%;line-height:1.35;color:#d6e3f4;z-index:1}.hero-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:auto;z-index:1;font-size:clamp(12px,1vw,22px);letter-spacing:.1em}.pill{padding:13px 20px;background:#e7ad39;color:#0b2042;font-weight:900;border-radius:3px}.accent{color:#c4d5eb}.side{background:#edf3fa;color:#122749;display:flex;flex-direction:column;padding:7% 6%}.side-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid #d4dfea;padding-bottom:20px;font-size:clamp(15px,1.4vw,30px);font-weight:900}.dots{font-size:clamp(10px,1vw,22px);color:#d59d29;white-space:nowrap}.panel-content{flex:1;padding-top:6%;font-size:clamp(14px,1.2vw,27px)}.table-row,.match-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:3.5% 0;border-bottom:1px solid #d3dce8}.table-row:first-child{font-weight:900;color:#0c4a8b}.table-row small,.match-row small{display:block;color:#667993;font-size:.72em;margin-top:5px}.score{font-weight:900;font-size:1.2em}.panel-footer{border-top:2px solid #d4dfea;padding-top:14px;font-size:clamp(9px,.8vw,18px);color:#637a99;display:flex;justify-content:space-between}footer{display:grid;grid-template-columns:19% 53% 28%;align-items:stretch;background:#071326;border-top:4px solid #e7ad39}.ticker-label{display:flex;align-items:center;justify-content:center;font-weight:900;font-size:clamp(12px,1.3vw,30px);background:#e7ad39;color:#091a32}.ticker{display:flex;align-items:center;overflow:hidden;padding:0 4%;font-size:clamp(15px,1.55vw,36px);white-space:nowrap}.sponsor{background:#fff;color:#73829b;display:grid;place-items:center;font-size:clamp(12px,1.2vw,28px);font-weight:900;letter-spacing:.08em;text-align:center}.dev-controls{background:#142844;color:#fff;padding:15px 22px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:14px}.dev-controls select,.dev-controls button{padding:10px 13px;border:0;border-radius:4px;font-size:14px}.dev-controls button{background:#e7ad39;color:#081426;cursor:pointer;font-weight:700}.dev-controls span{color:#b8c7dd}body.tv .dev-controls{display:none}body.tv .screen{height:100vh;min-height:0;aspect-ratio:auto}@media(max-width:750px){.screen{min-height:350px}.brand{gap:7px}.status{gap:8px}.hero{padding:7%}.side{padding:8% 5%}.side-heading{padding-bottom:6px}.panel-content{padding-top:4%}.table-row,.match-row{padding:4% 0}.hero-bottom .accent{display:none}.pill{padding:6px}.panel-footer{padding-top:6px}}

/* v0.3.0 – full main-panel Sportello iframe experiment */
.hero-default{display:flex;flex-direction:column;justify-content:center;flex:1;min-height:0;position:relative;z-index:1}
.hero-default[hidden],.calendar-view[hidden]{display:none!important}
.calendar-view{position:absolute;inset:0;display:flex;flex-direction:column;z-index:2;background:#0c2344;padding:2.3% 2.5%;gap:1.4%;}
.calendar-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex:0 0 auto}
.calendar-head .eyebrow{font-size:clamp(12px,1.1vw,25px)}
.calendar-head h2{margin:4px 0 0;font-size:clamp(22px,2.6vw,55px);letter-spacing:.025em}
.calendar-date{text-transform:capitalize;font-size:clamp(12px,1.2vw,26px);color:#c8d8ee}
.calendar-viewport{position:relative;flex:1;min-height:0;overflow:hidden;background:white;border:2px solid #537092;border-radius:4px}
.calendar-viewport iframe{width:100%;height:100%;border:0;background:white;display:block}
.calendar-hint{position:absolute;bottom:0;left:0;right:0;background:#0b2042ee;color:#f4e7cb;padding:7px 12px;font-size:clamp(10px,.72vw,16px);pointer-events:none}
.calendar-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#c6d8f0;font-size:clamp(10px,.85vw,19px);font-weight:bold}
.calendar-foot a{color:#f3c45d;text-decoration:none}

/* v0.4.0 – two responsive Sportello iframes in the main panel */
.calendar-view{gap:1%;padding:1.6% 2%}
.dual-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-shrink:0}
.dual-head .eyebrow{font-size:clamp(13px,1.2vw,24px)}
.dual-sub{font-size:clamp(10px,.85vw,16px);color:#b9cce5;margin-top:4px}
.dual-calendars{display:grid;grid-template-columns:1fr 1fr;gap:1.4%;flex:1;min-height:0}
.hall{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.hall-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;background:#14345f;border-bottom:3px solid #e7ad39;flex-shrink:0}
.hall-head h2{margin:0;font-size:clamp(15px,1.45vw,29px);letter-spacing:.04em}
.hall-head a{color:#f4c45c;font-size:clamp(10px,.8vw,16px);text-decoration:none;white-space:nowrap}
.hall-viewport{flex:1;min-height:0;background:#fff;overflow:hidden;border:1px solid #52708e}
.hall-viewport iframe{display:block;width:100%;height:100%;border:0;background:white}
.dual-foot{font-size:clamp(9px,.7vw,14px);color:#a9c0dd;font-weight:bold;flex-shrink:0}
/* continuous ticker animation; paused automatically for reduced-motion users */
.ticker{position:relative;padding:0;overflow:hidden}
.ticker-track{display:flex;align-items:center;white-space:nowrap;width:max-content;animation:marquee var(--ticker-seconds,80s) linear infinite;will-change:transform}
.ticker-track span{display:inline-block;padding-left:2rem}
@keyframes marquee{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}}

/* v0.5.0: Original NRK titles are linked directly with standard HTML anchors. */
.ticker-track a{color:inherit;text-decoration:none}.ticker-track a:focus-visible{text-decoration:underline;outline:2px solid #e7ad39}.ticker-separator{color:#e7ad39;padding:0 1.2rem}

/* v0.5.1 – side-by-side iframe magnification test.
   CSS zoom affects the embedded viewport size; transform scales the whole
   cross-origin page without trying to edit Sportello's own content. */
.hall-viewport{position:relative}
.hall:first-child .hall-viewport iframe{
  width:80%;height:80%;
  transform:scale(1.25);transform-origin:top left;
}
.hall:nth-child(2) .hall-viewport iframe{
  width:66.666667%;height:66.666667%;
  transform:scale(1.5);transform-origin:top left;
}

/* v0.6.0 – native ICS lists. Dynamic density based on number of rows. */
.hall-head span{font-size:clamp(9px,.7vw,14px);color:#f4c45c;font-weight:bold}
.ice-list{flex:1;min-height:0;overflow:hidden;background:#fff;color:#102747;padding:1.2% 2%;display:flex;flex-direction:column;gap:0}
.ice-row{display:grid;grid-template-columns:minmax(95px,27%) minmax(0,1fr) auto;align-items:center;gap:10px;border-bottom:1px solid #d5deea;padding:0 2%;min-height:0;flex:1;max-height:76px;color:#12294b}
.ice-list.large .ice-row{font-size:clamp(17px,1.45vw,32px);font-weight:600}
.ice-list.medium .ice-row{font-size:clamp(15px,1.16vw,25px)}
.ice-list.compact .ice-row{font-size:clamp(12px,.93vw,20px)}
.ice-list.compact{overflow:auto}
.ice-time{font-variant-numeric:tabular-nums;color:#536982;white-space:nowrap;font-size:.86em}
.ice-title{overflow-wrap:anywhere}
.ice-row.ongoing{background:#fff2d1;border-left:6px solid #e7ad39}
.ice-now{font-size:.58em;background:#0d6e5d;color:#fff;padding:5px 7px;border-radius:4px;white-space:nowrap}
.ice-message{font-size:clamp(14px,1.15vw,23px);color:#566c85;line-height:1.5;padding:15px;max-width:none}
.dev-controls input[type=file]{font-size:12px;max-width:180px}

/* v0.7.0 – header, four right-hand slides, news rotation, sponsor display */
.screen{grid-template-rows:13% 69% 18%}
.brand-logo{width:clamp(44px,5.8vw,105px);height:clamp(44px,5.8vw,105px);object-fit:contain;border-radius:50%}
.brand strong{font-size:clamp(19px,2.35vw,50px)}
.brand small{text-transform:none;letter-spacing:.07em;font-size:clamp(12px,1.2vw,24px)}
.status #headerDate{font-size:clamp(12px,1.2vw,26px);color:#d0dded;letter-spacing:0;white-space:nowrap}
.status #clock{font-size:clamp(34px,3.8vw,78px);white-space:nowrap}
.calendar-date{display:none}
.side{padding:5% 5%}
.side-heading{font-size:clamp(13px,1.15vw,25px);padding-bottom:12px}
.panel-content{padding-top:2%;min-height:0;overflow:hidden;font-size:clamp(12px,1vw,23px)}
.table-row{padding:1.7% 0}
.match-row{padding:4% 0}
.yr-card{width:100%;overflow:visible;display:flex;justify-content:center;align-items:flex-start;padding-top:10px}
.yr-card iframe{display:block;max-width:100%;background:#fff}
.ticker{padding:0 3%;white-space:normal}
.news-item{width:100%;display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:0}
.news-item a{color:#fff;text-decoration:none;font-size:clamp(17px,1.4vw,30px);line-height:1.2;font-weight:700}
.news-item small{font-size:clamp(12px,.9vw,20px);color:#cbd8e8;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sponsor{padding:12px}.sponsor img{width:100%;height:100%;max-height:150px;object-fit:contain}

/* v0.7.1 – presentation polish and readable updates */
.status{align-items:baseline}.status #headerDate{align-self:baseline}
.calendar-view{padding-top:2.1%}
.dual-calendars{gap:1.6%}
.dual-foot{font-size:clamp(11px,.84vw,18px);letter-spacing:.025em}
.data-warning{color:#ffcb68}
.side{background:#edf3fa}
.panel-content.content-enter,.news-item.content-enter{animation:contentFade .5s ease-out both}
@keyframes contentFade{from{opacity:.15;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.panel-content.content-enter,.news-item.content-enter{animation:none}}
.news-item{gap:7px}
.news-item a{font-size:clamp(18px,1.45vw,32px)}
.news-item small{font-size:clamp(15px,1.08vw,24px);line-height:1.28;-webkit-line-clamp:4}
.news-warning{font-size:clamp(10px,.7vw,16px);color:#ffd174}
.sponsor{background:#edf3fa;color:#122749;position:relative;overflow:hidden;padding:12px 20px}
.sponsor img{position:absolute;inset:10px;width:calc(100% - 20px);height:calc(100% - 20px);max-height:none;object-fit:contain}
.sponsor .carousel-image{opacity:0;transition:opacity .55s ease}
.sponsor .carousel-image.visible{opacity:1}
@media(prefers-reduced-motion:reduce){.sponsor .carousel-image{transition:none}}

/* v0.7.4 – longer NRK excerpts and sequential sponsor fades */
.news-item{gap:5px;min-height:0;overflow:hidden}
.news-item a{font-size:clamp(17px,1.35vw,30px);line-height:1.12}
.news-item small{font-size:clamp(14px,1.01vw,22px);line-height:1.17;-webkit-line-clamp:6;overflow:hidden}
.sponsor .carousel-image{transition:opacity .5s ease}
@media(prefers-reduced-motion:reduce){.sponsor .carousel-image{transition:none}}
