.tv.priority{position:relative;overflow:hidden}.tv.priority>.tv-header,.tv.priority>.tv-main,.tv.priority>.tv-footer{position:relative;z-index:1}.priority-scene{position:absolute;inset:100px 25px 25px;overflow:hidden;pointer-events:none;z-index:0}.santa-run{position:absolute;top:0;left:0;width:320px;animation:santa-flight 28s linear infinite}.santa-run svg{width:100%;display:block}.falling-gift{position:absolute;top:60px;width:28px;opacity:0;animation:gift-fall 28s linear infinite;animation-delay:var(--gift-delay)}.falling-gift svg{width:100%;display:block}@keyframes santa-flight{from{transform:translateX(-340px) translateY(0)}50%{transform:translateX(calc(50vw - 170px)) translateY(8px)}to{transform:translateX(calc(100vw + 20px)) translateY(0)}}@keyframes gift-fall{0%,15%{opacity:0;transform:translateY(0) rotate(0)}16%{opacity:.8}35%{opacity:0;transform:translateY(65vh) rotate(170deg)}100%{opacity:0;transform:translateY(65vh) rotate(170deg)}}
.theme-christmas .christmas-bauble{animation:tree-light 3.6s ease-in-out infinite}.theme-christmas .christmas-bauble:nth-of-type(2n){animation-delay:-1.8s}@keyframes tree-light{0%,100%{opacity:.55}50%{opacity:1;filter:drop-shadow(0 0 3px #f6cf73)}}
.party-confetti{position:absolute;width:8px;height:15px;background:var(--confetti-colour);border-radius:2px;opacity:.5;animation:confetti-drift 7s ease-in-out infinite;animation-delay:var(--confetti-delay)}@keyframes confetti-drift{0%,100%{transform:translateY(-10px) rotate(-15deg)}50%{transform:translateY(16px) rotate(30deg)}}
.tv.priority.theme-farewell:not(.motion-off) .priority-art{animation:farewell-sail 8s ease-in-out infinite}.tv.priority.theme-remembrance:not(.motion-off) .priority-art{animation:candle-glow 5s ease-in-out infinite}@keyframes farewell-sail{50%{transform:translateX(5px) rotate(1deg)}}@keyframes candle-glow{50%{opacity:.87}}
.tv.priority.motion-off .santa-run,.tv.priority.motion-off .falling-gift,.tv.priority.motion-off .christmas-bauble,.tv.priority.motion-off .party-confetti{animation:none}.tv.priority.motion-off .santa-run{left:50%;transform:translateX(-50%)}.tv.priority.motion-off .falling-gift{display:none}
@media(prefers-reduced-motion:reduce){.tv.priority .santa-run,.tv.priority .falling-gift,.tv.priority .christmas-bauble,.tv.priority .party-confetti,.tv.priority .priority-art{animation:none!important}.tv.priority .santa-run{left:50%;transform:translateX(-50%)}.tv.priority .falling-gift{display:none}}
@media(max-width:650px){.santa-run{width:230px}.priority-scene{inset:95px 15px 20px}}

/* Keep priority screens inside the TV canvas, fitting only their inner content. */
.tv-view .tv.priority{--flags-height:0px;height:var(--tv-height);min-height:0;max-height:var(--tv-height);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:calc(70 * var(--tv-unit)) var(--flags-height) minmax(0,1fr) calc(20 * var(--tv-unit));grid-template-areas:"header" "flags" "content" "footer";gap:calc(12 * var(--tv-unit));padding:calc(30 * var(--tv-unit)) calc(40 * var(--tv-unit));overflow:hidden}
.tv-view .tv.priority.has-flags{--flags-height:calc(85 * var(--tv-unit))}.tv-view .tv.priority>.tv-header{grid-area:header;padding:0;min-height:0;margin:0}.tv-view .tv.priority>.tv-header>.tv-fit-content{display:flex;align-items:center;justify-content:space-between;gap:20px}.tv-view .tv.priority .tv-header .spirit-logo{width:210px;max-width:none}.tv-view .tv.priority .tv-time{font-size:28px;white-space:nowrap}
.tv-view .tv.priority>.tv-main,.tv-view .tv.priority.has-flags>.tv-main{grid-area:content;min-height:0;padding:0;margin:0;overflow:hidden}.tv-view .tv.priority>.tv-main>.tv-fit-content{text-align:center}.tv-view .tv.priority>.tv-footer{grid-area:footer;min-height:0;padding:0;margin:0}.tv-view .tv.priority>.tv-footer>.tv-fit-content{display:flex;justify-content:space-between;gap:12px;font-size:10px}.tv-view .tv.priority>.nautical-strip{grid-area:flags;min-height:0;padding:0;margin:0}.tv-view .tv.priority>.priority-scene{inset:calc(95 * var(--tv-unit)) 20px 20px}.tv-view .tv.priority .tv-main p{overflow-wrap:anywhere}.tv-view .tv.priority .priority-art{max-width:260px}
