.display[data-theme="newyear"] { --screen-blue:#153879;--screen-blue-dark:#07173e;--screen-yellow:#e4bb32; }
.display[data-theme="valentine"] { --screen-blue:#ca315f;--screen-blue-dark:#811638;--screen-yellow:#ffc1d1; }
.display[data-theme="easter"] { --screen-blue:#7d57ba;--screen-blue-dark:#4c2d82;--screen-yellow:#ffda4d; }
.display[data-theme="kingsday"] { --screen-blue:#f36c00;--screen-blue-dark:#bc3f00;--screen-yellow:#ffd000; }
.display[data-theme="liberation"] { --screen-blue:#1852a0;--screen-blue-dark:#0d2f68;--screen-yellow:#ef453b; }
.display[data-theme="halloween"] { --screen-blue:#7a349e;--screen-blue-dark:#3c174f;--screen-yellow:#ff8a00; }
.display[data-theme="sinterklaas"] { --screen-blue:#ad1d2b;--screen-blue-dark:#5b1025;--screen-yellow:#e4b33a; }
.display[data-theme="christmas"] { --screen-blue:#08783f;--screen-blue-dark:#c61f35;--screen-yellow:#e1b52f; }
.display[data-theme="christmas"] .screen-info-bar,
.display[data-theme="christmas"] .room-strip { background:#0a6739; }
.display[data-theme="christmas"] .ticker { background:#bd2035; }
.display[data-theme="christmas"] .room-strip h3 { color:#f1ce72;opacity:1; }
.display[data-theme="pride"] { --screen-blue:#713eaa;--screen-blue-dark:#3d1d6b;--screen-yellow:#ffd000; }
.display[data-theme="volunteer"] { --screen-blue:#167452;--screen-blue-dark:#0c4d35;--screen-yellow:#f2b632; }
.display[data-theme="football"] { --screen-blue:#f36c00;--screen-blue-dark:#0d2f68;--screen-yellow:#ffffff; }
.display[data-theme="olympics"] { --screen-blue:#18438b;--screen-blue-dark:#092555;--screen-yellow:#dbae29; }
.screen-info-bar,.ticker,.room-strip { transition:background-color .8s ease,border-color .8s ease,color .8s ease; }
.screen-info-bar,.ticker,.room-strip,.info-time,.info-weather { position:relative; }
.info-time,.info-weather,.ticker,.room-strip,.poster-stage { overflow:hidden; }
.screen-info-bar .info-segment,.ticker-track,.room-strip h3,.agenda-viewport { position:relative;z-index:2; }
.theme-effect { position:absolute;left:-48px;z-index:1;object-fit:contain;pointer-events:none;animation:theme-travel var(--theme-duration,18s) linear var(--theme-delay,0s) 1 both;will-change:left,top,transform,opacity; }
.theme-effect-time,.theme-effect-weather { top:5px;width:21px;height:21px;opacity:.65;--theme-y-up:-5px;--theme-y-up-mid:-3px;--theme-y-down:5px;--theme-y-down-mid:3px;--theme-turn:-9deg; }
.theme-effect-agenda { top:24px;width:29px;height:29px;opacity:.78;--theme-y-up:-20px;--theme-y-up-mid:-11px;--theme-y-down:20px;--theme-y-down-mid:11px;--theme-turn:-13deg; }
.theme-effect-poster-top { z-index:4;left:-40px;top:3%;width:32px;height:32px;opacity:.82;animation-name:theme-poster-top;animation-duration:var(--theme-duration,23s); }
.theme-effect-poster-bottom { z-index:4;left:calc(100% + 4px);top:82%;width:28px;height:28px;opacity:.72;animation-name:theme-poster-bottom;animation-duration:var(--theme-duration,27s); }
.theme-effect-fade { left:50%;animation-name:theme-calm-fade;animation-timing-function:ease-in-out; }
@keyframes theme-travel { 0%{left:-48px;top:70%;transform:rotate(-9deg)}16%{left:12%;top:18%;transform:rotate(4deg)}35%{left:31%;top:62%;transform:rotate(11deg)}57%{left:55%;top:8%;transform:rotate(-7deg)}79%{left:79%;top:52%;transform:rotate(8deg)}100%{left:calc(100% + 4px);top:24%;transform:rotate(-3deg)} }
.theme-effect.theme-route-1:not(.theme-effect-poster-top):not(.theme-effect-poster-bottom):not(.theme-effect-agenda) { animation-name:theme-travel-rise; }
.theme-effect.theme-route-2:not(.theme-effect-poster-top):not(.theme-effect-poster-bottom):not(.theme-effect-agenda) { animation-name:theme-travel-fall; }
.theme-effect.theme-route-3:not(.theme-effect-poster-top):not(.theme-effect-poster-bottom):not(.theme-effect-agenda) { left:24%;top:-40px;animation-name:theme-top-to-right; }
.theme-effect.theme-route-4:not(.theme-effect-poster-top):not(.theme-effect-poster-bottom):not(.theme-effect-agenda) { left:72%;top:calc(100% + 4px);animation-name:theme-bottom-to-left; }
.theme-effect.theme-route-5:not(.theme-effect-poster-top):not(.theme-effect-poster-bottom):not(.theme-effect-agenda) { left:calc(100% + 4px);animation-name:theme-right-to-top; }
.theme-effect-agenda.theme-route-0 { animation-name:theme-agenda-right-wave; }
.theme-effect-agenda.theme-route-1 { animation-name:theme-agenda-top-right; }
.theme-effect-agenda.theme-route-2 { animation-name:theme-agenda-right-bottom; }
.theme-effect-agenda.theme-route-3 { left:70%;top:-40px;animation-name:theme-agenda-top-side; }
.theme-effect-agenda.theme-route-4 { left:82%;top:calc(100% + 4px);animation-name:theme-agenda-bottom-side; }
.theme-effect-agenda.theme-route-5 { left:calc(100% + 4px);animation-name:theme-agenda-right-top; }
.theme-effect-poster-top.theme-route-0 { animation-name:theme-poster-top; }
.theme-effect-poster-top.theme-route-1 { animation-name:theme-poster-top-rise; }
.theme-effect-poster-top.theme-route-2 { animation-name:theme-poster-top-wave; }
.theme-effect-poster-bottom.theme-route-0 { animation-name:theme-poster-bottom; }
.theme-effect-poster-bottom.theme-route-1 { animation-name:theme-poster-bottom-rise; }
.theme-effect-poster-bottom.theme-route-2 { animation-name:theme-poster-bottom-wave; }
@keyframes theme-travel-rise { 0%{left:-48px;top:82%;transform:rotate(8deg)}18%{left:16%;top:34%;transform:rotate(-5deg)}39%{left:37%;top:55%;transform:rotate(7deg)}63%{left:62%;top:12%;transform:rotate(-9deg)}84%{left:84%;top:31%;transform:rotate(3deg)}100%{left:calc(100% + 4px);top:-40px;transform:rotate(-4deg)} }
@keyframes theme-travel-fall { 0%{left:calc(100% + 4px);top:9%;transform:rotate(-7deg)}19%{left:84%;top:48%;transform:rotate(5deg)}42%{left:63%;top:22%;transform:rotate(-4deg)}66%{left:39%;top:67%;transform:rotate(9deg)}84%{left:18%;top:43%;transform:rotate(-2deg)}100%{left:-48px;top:calc(100% + 4px);transform:rotate(5deg)} }
@keyframes theme-top-to-right { 0%{left:23%;top:-40px;transform:rotate(-8deg)}17%{left:31%;top:37%;transform:rotate(5deg)}38%{left:48%;top:13%;transform:rotate(-6deg)}61%{left:64%;top:58%;transform:rotate(9deg)}82%{left:82%;top:29%;transform:rotate(-4deg)}100%{left:calc(100% + 4px);top:66%;transform:rotate(3deg)} }
@keyframes theme-bottom-to-left { 0%{left:76%;top:calc(100% + 4px);transform:rotate(8deg)}18%{left:69%;top:38%;transform:rotate(-5deg)}39%{left:54%;top:67%;transform:rotate(6deg)}63%{left:36%;top:16%;transform:rotate(-8deg)}83%{left:17%;top:44%;transform:rotate(4deg)}100%{left:-48px;top:8%;transform:rotate(-2deg)} }
@keyframes theme-right-to-top { 0%{left:calc(100% + 4px);top:74%;transform:rotate(6deg)}19%{left:82%;top:35%;transform:rotate(-7deg)}41%{left:66%;top:62%;transform:rotate(5deg)}65%{left:49%;top:21%;transform:rotate(-6deg)}84%{left:34%;top:43%;transform:rotate(4deg)}100%{left:20%;top:-40px;transform:rotate(0)} }
@keyframes theme-agenda-right-wave { 0%{left:71%;top:calc(100% + 4px);transform:rotate(7deg)}18%{left:75%;top:31%;transform:rotate(-5deg)}39%{left:80%;top:58%;transform:rotate(8deg)}62%{left:87%;top:14%;transform:rotate(-7deg)}82%{left:94%;top:47%;transform:rotate(4deg)}100%{left:calc(100% + 4px);top:25%;transform:rotate(-2deg)} }
@keyframes theme-agenda-top-right { 0%{left:74%;top:-40px;transform:rotate(-7deg)}19%{left:78%;top:42%;transform:rotate(5deg)}41%{left:84%;top:19%;transform:rotate(-5deg)}64%{left:89%;top:61%;transform:rotate(8deg)}84%{left:95%;top:33%;transform:rotate(-3deg)}100%{left:calc(100% + 4px);top:70%;transform:rotate(2deg)} }
@keyframes theme-agenda-right-bottom { 0%{left:calc(100% + 4px);top:16%;transform:rotate(-6deg)}18%{left:95%;top:52%;transform:rotate(5deg)}40%{left:89%;top:27%;transform:rotate(-5deg)}63%{left:83%;top:65%;transform:rotate(7deg)}83%{left:77%;top:39%;transform:rotate(-3deg)}100%{left:72%;top:calc(100% + 4px);transform:rotate(3deg)} }
@keyframes theme-agenda-top-side { 0%{left:71%;top:-40px;transform:rotate(-8deg)}20%{left:76%;top:48%;transform:rotate(5deg)}43%{left:83%;top:23%;transform:rotate(-6deg)}65%{left:89%;top:57%;transform:rotate(7deg)}85%{left:96%;top:31%;transform:rotate(-3deg)}100%{left:calc(100% + 4px);top:55%;transform:rotate(2deg)} }
@keyframes theme-agenda-bottom-side { 0%{left:79%;top:calc(100% + 4px);transform:rotate(8deg)}19%{left:85%;top:45%;transform:rotate(-4deg)}41%{left:76%;top:18%;transform:rotate(-7deg)}64%{left:87%;top:62%;transform:rotate(8deg)}84%{left:95%;top:24%;transform:rotate(-3deg)}100%{left:calc(100% + 4px);top:5%;transform:rotate(2deg)} }
@keyframes theme-agenda-right-top { 0%{left:calc(100% + 4px);top:73%;transform:rotate(6deg)}18%{left:95%;top:34%;transform:rotate(-5deg)}40%{left:89%;top:61%;transform:rotate(7deg)}63%{left:82%;top:20%;transform:rotate(-7deg)}83%{left:76%;top:47%;transform:rotate(4deg)}100%{left:72%;top:-40px;transform:rotate(-2deg)} }
@keyframes theme-poster-top { 0%{left:-40px;top:3%;transform:rotate(-7deg)}17%{left:13%;top:14%;transform:rotate(4deg)}38%{left:34%;top:5%;transform:rotate(-5deg)}61%{left:59%;top:22%;transform:rotate(7deg)}82%{left:82%;top:11%;transform:rotate(-3deg)}100%{left:calc(100% + 4px);top:28%;transform:rotate(2deg)} }
@keyframes theme-poster-top-rise { 0%{left:-40px;top:31%;transform:rotate(7deg)}18%{left:14%;top:17%;transform:rotate(-4deg)}40%{left:37%;top:25%;transform:rotate(6deg)}63%{left:62%;top:7%;transform:rotate(-7deg)}84%{left:84%;top:15%;transform:rotate(3deg)}100%{left:calc(100% + 4px);top:-40px;transform:rotate(-2deg)} }
@keyframes theme-poster-top-wave { 0%{left:22%;top:-40px;transform:rotate(-8deg)}18%{left:28%;top:13%;transform:rotate(4deg)}39%{left:46%;top:4%;transform:rotate(-6deg)}62%{left:62%;top:24%;transform:rotate(7deg)}83%{left:81%;top:9%;transform:rotate(-4deg)}100%{left:calc(100% + 4px);top:19%;transform:rotate(2deg)} }
@keyframes theme-poster-bottom { 0%{left:calc(100% + 4px);top:86%;transform:rotate(7deg)}18%{left:84%;top:72%;transform:rotate(-5deg)}40%{left:62%;top:91%;transform:rotate(6deg)}63%{left:39%;top:69%;transform:rotate(-7deg)}83%{left:17%;top:80%;transform:rotate(4deg)}100%{left:-40px;top:61%;transform:rotate(-2deg)} }
@keyframes theme-poster-bottom-rise { 0%{left:calc(100% + 4px);top:94%;transform:rotate(8deg)}18%{left:83%;top:76%;transform:rotate(-5deg)}39%{left:61%;top:84%;transform:rotate(6deg)}62%{left:38%;top:63%;transform:rotate(-7deg)}83%{left:18%;top:72%;transform:rotate(4deg)}100%{left:-40px;top:49%;transform:rotate(-2deg)} }
@keyframes theme-poster-bottom-wave { 0%{left:78%;top:calc(100% + 4px);transform:rotate(7deg)}18%{left:73%;top:75%;transform:rotate(-5deg)}39%{left:56%;top:91%;transform:rotate(7deg)}62%{left:37%;top:68%;transform:rotate(-6deg)}83%{left:18%;top:84%;transform:rotate(4deg)}100%{left:-40px;top:70%;transform:rotate(-2deg)} }
@keyframes theme-calm-fade { 0%,100%{opacity:0}18%,82%{opacity:.75} }
.theme-settings-card .hint { margin-bottom:0; }
.theme-editors { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.theme-editor { border:1px solid #cbd9d5;border-radius:12px;background:#f8fbfa;overflow:hidden; }
.theme-editor > summary { cursor:pointer;padding:12px 14px;font-weight:800;color:#093f35; }
.theme-editor-body { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:4px 14px 14px; }
.theme-icon-grid { display:flex;flex-wrap:wrap;gap:8px;margin-top:6px; }
.theme-icon-choice { position:relative;display:grid;grid-template-columns:42px minmax(72px,1fr);align-items:center;gap:7px;border:1px solid #cad8d4;border-radius:9px;padding:7px 32px 7px 8px;background:white; }
.theme-icon-choice input { display:none; }
.theme-icon-choice img { width:30px;height:30px;object-fit:contain; }
.theme-icon-choice span { font-size:12px;line-height:1.15;color:#334b45; }
.theme-icon-remove { position:absolute;right:5px;top:5px;width:24px;height:24px;border:0;border-radius:50%;background:#f4d9d6;color:#8a2e25;font-size:18px;line-height:20px;cursor:pointer; }
.theme-library { margin-top:10px;border:1px solid #b9cec7;border-radius:10px;background:#fff; }
.theme-library > summary { cursor:pointer;padding:10px 12px;font-weight:750;color:#0d6253; }
.theme-library-groups { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 10px 10px; }
.theme-library-group { min-width:0;border:1px solid #d7e2de;border-radius:9px;background:#f8fbfa; }
.theme-library-group > summary { cursor:pointer;padding:8px 10px;font-size:13px;font-weight:750;color:#244c40; }
.theme-library-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px;padding:0 8px 8px;max-height:260px;overflow:auto; }
.theme-library-icon { display:grid;place-items:center;align-content:start;gap:3px;min-height:76px;padding:6px 4px;border:1px solid #cad8d4;border-radius:8px;background:#fff;color:#334b45;cursor:pointer; }
.theme-library-icon:hover,.theme-library-icon:focus-visible { border-color:#14715f;background:#eaf6f2;outline:2px solid rgba(20,113,95,.14); }
.theme-library-icon.added { background:#d9f1e8;border-color:#14715f; }
.theme-library-icon img { width:38px;height:38px;object-fit:contain; }
.theme-library-icon span { font-size:11px;line-height:1.1;text-align:center; }
@media (max-width:800px){.theme-editors{grid-template-columns:1fr}.theme-editor-body{grid-template-columns:1fr}.theme-editor-body .full{grid-column:1}}
@media (max-width:560px){.theme-library-groups{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.theme-effect{animation:none;left:auto;right:8px}.theme-effect-poster-top,.theme-effect-poster-bottom{display:none}.screen-info-bar,.ticker,.room-strip{transition:none}}
