*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--osr-bg);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--osr-dark)}
body{min-width:100vw;min-height:100vh}
.osr-monitor-app{width:100vw;height:100vh;display:grid;grid-template-rows:clamp(72px,6.2vh,118px) 1fr;background:radial-gradient(circle at 88% 18%,color-mix(in srgb,var(--osr-primary) 7%,transparent) 0,transparent 24%),linear-gradient(135deg,var(--osr-bg),color-mix(in srgb,var(--osr-bg) 91%,var(--osr-accent)))}
.osr-monitor-header{display:grid;grid-template-columns:auto minmax(0,1fr) max-content auto;align-items:center;gap:clamp(14px,1.35vw,38px);padding:0 clamp(18px,1.5vw,44px);background:var(--osr-surface);border-bottom:1px solid color-mix(in srgb,var(--osr-dark) 10%,transparent);position:relative;z-index:3}
.osr-monitor-header:after{content:"";position:absolute;left:0;bottom:-1px;width:clamp(180px,18vw,420px);height:5px;background:var(--osr-primary)}
.osr-brand{grid-column:1;display:flex;align-items:center;min-width:0}
.osr-logo{height:clamp(46px,4.2vh,76px);width:auto;max-width:clamp(150px,13vw,290px);object-fit:contain}
.osr-logo-fallback{width:clamp(60px,4.8vw,92px);height:clamp(60px,4.8vw,92px);border-radius:20px;background:var(--osr-primary);color:#fff;display:grid;place-items:center;font-weight:800;font-size:clamp(20px,1.55vw,36px);letter-spacing:.06em}
.osr-date-time{grid-column:4;text-align:right;display:flex;align-items:center;gap:clamp(16px,1.15vw,34px)}
.osr-date-meta{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:clamp(4px,.38vh,8px);min-width:max-content}
.osr-date-row{display:flex;align-items:center;justify-content:flex-end;gap:clamp(9px,.65vw,18px)}
.osr-date{font-size:clamp(18px,1vw,28px);font-weight:600;color:color-mix(in srgb,var(--osr-dark) 68%,transparent);white-space:nowrap}
.osr-week{font-size:clamp(12px,.68vw,18px);font-weight:800;letter-spacing:.04em;color:var(--osr-primary);background:color-mix(in srgb,var(--osr-primary) 8%,transparent);border:1px solid color-mix(in srgb,var(--osr-primary) 14%,transparent);border-radius:999px;padding:.28em .65em;white-space:nowrap}
.osr-holiday-slot{grid-column:3;justify-self:end;display:flex;align-items:center;min-width:0}
.osr-holiday{display:flex;align-items:center;justify-content:center;min-height:clamp(44px,4.2vh,68px);padding:.55em 1em;border-radius:clamp(12px,.8vw,20px);background:color-mix(in srgb,var(--osr-primary) 8%,var(--osr-surface));border:1px solid color-mix(in srgb,var(--osr-primary) 20%,transparent);box-shadow:0 5px 16px color-mix(in srgb,var(--osr-dark) 6%,transparent);font-size:clamp(16px,1vw,28px);line-height:1.12;font-weight:820;letter-spacing:-.018em;color:var(--osr-dark);white-space:nowrap}
.osr-holiday:before{content:"";display:inline-block;flex:0 0 auto;width:.56em;height:.56em;border-radius:50%;background:var(--osr-primary);margin-right:.62em;box-shadow:0 0 0 .24em color-mix(in srgb,var(--osr-primary) 10%,transparent)}
.osr-holiday.is-current{background:var(--osr-primary);border-color:var(--osr-primary);color:#fff;box-shadow:0 7px 20px color-mix(in srgb,var(--osr-primary) 24%,transparent)}
.osr-holiday.is-current:before{background:#fff;box-shadow:0 0 0 .24em rgba(255,255,255,.16)}
.osr-clock{font-variant-numeric:tabular-nums;font-size:clamp(34px,2.3vw,66px);font-weight:780;letter-spacing:-.04em;color:var(--osr-primary)}
.osr-weather{grid-column:2;position:relative;justify-self:center;min-width:0;display:flex;align-items:center;justify-content:center;width:min(100%,760px);height:100%;overflow:hidden}
.osr-weather-placeholder{font-size:clamp(12px,.72vw,19px);font-weight:650;color:color-mix(in srgb,var(--osr-dark) 45%,transparent)}
.osr-weather-list{display:flex;align-items:center;justify-content:center;min-width:0;width:100%;height:100%}
.osr-weather-source{position:absolute;right:4px;bottom:4px;font-size:clamp(7px,.38vw,10px);font-weight:600;color:color-mix(in srgb,var(--osr-dark) 32%,transparent);letter-spacing:.02em}
.osr-weather-day{display:grid;grid-template-columns:auto auto;grid-template-areas:"day icon" "temp rain";align-items:center;column-gap:clamp(8px,.55vw,16px);row-gap:2px;padding:0 clamp(16px,1.25vw,34px);min-width:0;position:relative}
.osr-weather-day+.osr-weather-day:before{content:"";position:absolute;left:0;top:24%;bottom:24%;width:1px;background:color-mix(in srgb,var(--osr-dark) 12%,transparent)}
.osr-weather-dow{grid-area:day;font-size:clamp(13px,.78vw,21px);font-weight:760;color:color-mix(in srgb,var(--osr-dark) 70%,transparent);white-space:nowrap}
.osr-weather-icon{grid-area:icon;width:clamp(28px,1.7vw,46px);height:clamp(28px,1.7vw,46px);display:grid;place-items:center;font-size:clamp(24px,1.55vw,42px);line-height:1;color:inherit;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}
.osr-weather-temp{grid-area:temp;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:clamp(18px,1.18vw,32px);font-weight:800;letter-spacing:-.035em;color:var(--osr-dark)}
.osr-weather-temp small{font-size:.65em;font-weight:650;color:color-mix(in srgb,var(--osr-dark) 50%,transparent);margin-left:.28em}
.osr-weather-rain{grid-area:rain;font-size:clamp(10px,.6vw,16px);font-weight:700;color:color-mix(in srgb,var(--osr-dark) 48%,transparent);white-space:nowrap}
.osr-monitor-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,27vw);gap:clamp(10px,.75vw,22px);padding:clamp(10px,.7vw,20px) clamp(12px,1vw,30px);min-height:0}
.osr-plan-panel,.osr-ad-panel{min-height:0;background:var(--osr-surface);border-radius:clamp(12px,.8vw,22px);box-shadow:0 12px 38px rgba(23,30,34,.08);overflow:hidden;border:1px solid color-mix(in srgb,var(--osr-dark) 7%,transparent)}
.osr-plan-panel{display:grid;grid-template-rows:clamp(44px,3.6vh,62px) 1fr}
.osr-panel-kicker,.osr-ad-head{display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,1vw,28px);font-size:clamp(17px,.9vw,26px);font-weight:760;letter-spacing:-.01em;border-bottom:1px solid color-mix(in srgb,var(--osr-dark) 7%,transparent)}
.osr-panel-kicker>span:first-child:before{content:"";display:inline-block;width:.55em;height:.55em;border-radius:50%;background:var(--osr-primary);margin-right:.65em;vertical-align:.05em}
.osr-status{font-size:clamp(12px,.68vw,20px);text-transform:uppercase;letter-spacing:.08em;color:color-mix(in srgb,var(--osr-dark) 54%,transparent);display:flex;align-items:center;gap:.55em}
.osr-status i{width:.65em;height:.65em;background:#3cab64;border-radius:50%;box-shadow:0 0 0 4px rgba(60,171,100,.12)}
.osr-plan-frame-wrap{min-height:0;overflow:hidden;background:#fff}
#osr-vplan-frame{width:100%;height:100%;border:0;display:block;background:#fff}
.osr-ad-panel{display:grid;grid-template-rows:clamp(44px,3.6vh,62px) 1fr;padding:0;background:linear-gradient(180deg,var(--osr-surface),color-mix(in srgb,var(--osr-surface) 90%,var(--osr-accent)))}
.osr-ad-head{margin:0;padding:0 clamp(16px,1vw,28px);border-bottom:1px solid color-mix(in srgb,var(--osr-dark) 7%,transparent)}
.osr-ad-head b{font-size:.7em;color:color-mix(in srgb,var(--osr-dark) 52%,transparent);font-weight:650}
.osr-ad-stage{min-height:0;position:relative;margin:0;display:flex;align-items:stretch;justify-content:stretch;overflow:hidden;border-radius:0}
.osr-ad-stage>.osr-ad-fallback[hidden]{display:none!important}
.osr-ad-stage:has(.osr-ad-item){background:#fff}
.osr-ad-item{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;background:#fff;z-index:3;transform:scale(.985);transition:opacity .55s ease,transform .55s ease;pointer-events:none}
.osr-ad-item.is-active{opacity:1;transform:scale(1)}
.osr-ad-item img,.osr-ad-item iframe,.osr-ad-item object{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;border:0;background:#fff;box-shadow:none}
.osr-ad-fallback{width:100%;height:100%;border-radius:0;background:linear-gradient(160deg,var(--osr-accent),var(--osr-surface));display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:clamp(24px,1.55vw,46px);box-shadow:none}
.osr-ad-fallback p{font-size:clamp(18px,1.15vw,34px);line-height:1.35;font-weight:700;margin:0;color:var(--osr-dark)}
.osr-fallback-mark{width:clamp(48px,3vw,84px);height:8px;background:var(--osr-primary);margin-bottom:clamp(18px,1.3vw,34px);border-radius:99px}
@media(max-aspect-ratio:4/3){.osr-monitor-main{grid-template-columns:1fr minmax(280px,32vw)}.osr-date{display:none}.osr-weather-day{padding:0 clamp(8px,.7vw,16px)}.osr-weather-rain{display:none}.osr-holiday{font-size:clamp(13px,.8vw,20px);padding:.5em .8em}}
@media(max-width:1400px){.osr-monitor-header{grid-template-columns:auto minmax(0,1fr) max-content auto;gap:12px}.osr-weather-day{padding:0 8px}.osr-weather-rain{display:none}.osr-holiday{font-size:14px;padding:.5em .72em}.osr-date{font-size:16px}.osr-clock{font-size:34px}}
@media(max-width:1200px){.osr-monitor-main{grid-template-columns:minmax(0,1fr) 320px}.osr-weather-temp small{display:none}.osr-date{display:none}}
.osr-brand-fallback strong{font-size:clamp(28px,1.7vw,48px);line-height:1.08;letter-spacing:-.035em;margin-bottom:.55em}
.osr-fallback-item{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(10px) scale(.985);transition:opacity .6s ease,transform .6s ease;pointer-events:none}
.osr-fallback-item.is-active{opacity:1;transform:translateY(0) scale(1)}
.osr-fallback-card{position:relative;width:100%;height:100%;border-radius:0;overflow:hidden;background:linear-gradient(155deg,var(--osr-surface) 0%,color-mix(in srgb,var(--osr-accent) 74%,var(--osr-surface)) 100%);box-shadow:none;display:flex;flex-direction:column}
.osr-fallback-card:before,.osr-fallback-card:after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:0}
.osr-fallback-card:before{width:58%;aspect-ratio:1;right:-30%;bottom:-8%;background:color-mix(in srgb,var(--osr-primary) 8%,transparent)}
.osr-fallback-card:after{width:36%;aspect-ratio:1;left:-22%;top:20%;border:2px solid color-mix(in srgb,var(--osr-primary) 13%,transparent)}
.osr-fallback-visual{position:relative;z-index:1;height:43%;overflow:hidden;background:var(--osr-accent)}
.osr-fallback-visual:after{content:"";position:absolute;inset:auto 0 0;height:34%;background:linear-gradient(transparent,color-mix(in srgb,var(--osr-dark) 22%,transparent))}
.osr-fallback-visual img{width:100%;height:100%;object-fit:cover;display:block}
.osr-fallback-body{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;padding:clamp(24px,1.55vw,46px)}
.osr-fallback-item.has-image .osr-fallback-body{padding-top:clamp(18px,1.05vw,30px)}
.osr-fallback-logo{width:auto;max-width:60%;height:clamp(38px,3vh,66px);object-fit:contain;object-position:left center;margin-bottom:auto}
.osr-fallback-item.has-image .osr-fallback-logo{height:clamp(28px,2.2vh,48px);margin-bottom:clamp(18px,1.3vw,34px)}
.osr-fallback-eyebrow{font-size:clamp(12px,.68vw,19px);text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--osr-primary);margin-bottom:clamp(10px,.7vw,18px)}
.osr-fallback-body h2{font-size:clamp(29px,1.85vw,52px);line-height:1.02;letter-spacing:-.045em;margin:0 0 clamp(16px,1vw,28px);color:var(--osr-dark);max-width:95%}
.osr-fallback-body p{font-size:clamp(16px,1vw,29px);line-height:1.42;margin:0;color:color-mix(in srgb,var(--osr-dark) 78%,transparent);font-weight:560}
.osr-fallback-foot{margin-top:auto;padding-top:clamp(22px,1.4vw,40px);display:flex;align-items:center;justify-content:space-between;font-size:clamp(12px,.68vw,18px);font-weight:750;color:color-mix(in srgb,var(--osr-dark) 56%,transparent);letter-spacing:.04em}
.osr-fallback-foot i{display:block;width:clamp(42px,2.7vw,74px);height:5px;border-radius:99px;background:var(--osr-primary)}
.osr-fallback-card.is-custom-poster{background:#fff}
.osr-custom-poster{width:100%;height:100%;object-fit:contain;display:block;background:#fff;position:relative;z-index:2}

/* Automatic vacation and public holiday greetings. */
.osr-plan-frame-wrap[hidden],.osr-break-card[hidden],.osr-status[hidden]{display:none!important}
.osr-break-card{position:relative;overflow:hidden;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(30px,5vw,100px);background:radial-gradient(circle at 85% 15%,color-mix(in srgb,var(--osr-primary) 14%,transparent),transparent 45%),linear-gradient(145deg,var(--osr-surface),var(--osr-accent))}
.osr-break-decoration{font-size:clamp(64px,7vw,150px);color:var(--osr-primary);line-height:1;margin-bottom:24px}
.osr-break-eyebrow{color:var(--osr-primary);font-size:clamp(18px,1.5vw,32px);font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.osr-break-card h1{font-size:clamp(48px,5.2vw,110px);line-height:1.05;letter-spacing:-.045em;margin:24px 0}
.osr-break-card p{max-width:850px;font-size:clamp(23px,2vw,42px);line-height:1.5;margin:0}
.osr-break-signature{margin-top:clamp(30px,4vh,60px);font-size:clamp(16px,1.2vw,26px);font-weight:700;color:var(--osr-primary)}

img.osr-weather-icon{display:block;object-fit:contain;font-size:0}
