/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-1\/2{top:50%}.z-10{z-index:10}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.col-span-12{grid-column:span 12/span 12}.container{width:100%}.mx-auto{margin-inline:auto}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline\!{display:inline!important}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-\[clamp\(60px\,12vw\,96px\)\]{height:clamp(60px,12vw,96px)}.h-auto{height:auto}.max-h-\[240px\]{max-height:240px}.max-h-\[282px\]{max-height:282px}.min-h-\[42px\]{min-height:42px}.min-h-\[72px\]{min-height:72px}.min-h-\[76px\]{min-height:76px}.min-h-\[180px\]{min-height:180px}.min-h-screen{min-height:100vh}.w-\[clamp\(60px\,12vw\,96px\)\]{width:clamp(60px,12vw,96px)}.w-\[min\(960px\,calc\(100\%-20px\)\)\]{width:min(960px,100% - 20px)}.w-full{width:100%}.max-w-\[420px\]{max-width:420px}.min-w-\[82px\]{min-width:82px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-\[minmax\(0\,1fr\)_88px\]{grid-template-columns:minmax(0,1fr) 88px}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.self-end{align-self:flex-end}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.border-dashed{--tw-border-style:dashed;border-style:dashed}.bg-current{background-color:currentColor}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.object-contain{object-fit:contain}.p-\[18px\]{padding:18px}.text-center{text-align:center}.text-right{text-align:right}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.tracking-\[\.04em\]{--tw-tracking:.04em;letter-spacing:.04em}.tracking-\[\.06em\]{--tw-tracking:.06em;letter-spacing:.06em}.tracking-\[\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.whitespace-nowrap{white-space:nowrap}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-40{opacity:.4}.opacity-45{opacity:.45}.opacity-60{opacity:.6}.opacity-65{opacity:.65}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-200{--tw-duration:.2s;transition-duration:.2s}@media (hover:hover){.hover\:opacity-100:hover{opacity:1}}@layer base{:root,[data-signage-theme=dark]{--sg-body-bg:#0a1628;--sg-body-color:#e2e8f0;--sg-media-bg:#050d1a;--sg-divider:#ffffff0f;--sg-item-bg:#ffffff0a;--sg-item-border:#ffffff0f;--sg-accent:#60a5fa;--sg-text:#f1f5f9;--sg-muted:#fff6;--sg-label:#ffffff59;--sg-label-border:#ffffff0f;--sg-header-grad:linear-gradient(135deg, #0f1f3d, #1a3360);--sg-header-border:#ffffff14;--sg-weather-bg:#ffffff12;--sg-weather-bdr:#ffffff1a;--sg-ticker-bg:#1e3a5f;--sg-ticker-border:#ffffff14;--sg-ticker-text:#cbd5e1;--sg-qr-bg:#0009;--sg-qr-border:#ffffff1f;--sg-qr-label:#ffffff8c}[data-signage-theme=light]{--sg-body-bg:#f0f4f8;--sg-body-color:#1e293b;--sg-media-bg:#dde3ec;--sg-divider:#00000012;--sg-item-bg:#fff;--sg-item-border:#e2e8f0;--sg-accent:#2563eb;--sg-text:#1e293b;--sg-muted:#64748b;--sg-label:#94a3b8;--sg-label-border:#e2e8f0;--sg-header-grad:linear-gradient(135deg, #1e3a8a, #2563eb);--sg-header-border:#ffffff26;--sg-weather-bg:#fff3;--sg-weather-bdr:#ffffff4d;--sg-ticker-bg:#1e3a5f;--sg-ticker-border:transparent;--sg-ticker-text:#cbd5e1;--sg-qr-bg:#ffffffeb;--sg-qr-border:#0000001a;--sg-qr-label:#475569}*,:before,:after{box-sizing:border-box}body{cursor:none;-webkit-user-select:none;user-select:none;background:var(--sg-body-bg);width:100vw;height:100vh;color:var(--sg-body-color);margin:0;padding:0;font-family:Inter,Segoe UI,sans-serif;transition:background .5s,color .5s;overflow:hidden}#app{grid-template:"header header""media info"1fr"ticker ticker"/45% 55%;width:100vw;height:100vh;display:grid}#panel-header{background:var(--sg-header-grad);border-bottom:1px solid var(--sg-header-border);flex-shrink:0;grid-area:header;justify-content:space-between;align-items:center;padding:.95vh 2.5vw;transition:background .5s;display:flex;position:relative}.header-logo{align-items:center;gap:1vw;min-width:0;display:flex}.logo-icon{font-size:2.2vw;line-height:1}.logo-text{flex-direction:column;line-height:1.2;display:flex}.logo-text .logo-name{color:#fff;text-transform:uppercase;letter-spacing:1.5px;font-size:clamp(18px,1.08vw,24px);font-weight:700}.logo-text .logo-province{color:#fff9;letter-spacing:1px;text-transform:uppercase;font-size:clamp(14px,.82vw,18px)}.logo-img{object-fit:contain;border-radius:clamp(8px,1.2vw,16px);width:auto;max-width:clamp(58px,12vw,145px);height:clamp(58px,9.8vh,124px)}.logo-icon-fallback{font-size:2.2vw;line-height:1}.header-meta{z-index:1;justify-content:flex-end;align-items:center;gap:1.8vw;min-width:max-content;display:flex;position:relative}.header-divider{background:#fff3;width:1px;height:5.4vh}.header-datetime{text-align:center}#panel-media{background:var(--sg-media-bg);border-right:1px solid var(--sg-divider);grid-area:media;transition:background .5s;position:relative;overflow:hidden}#panel-media .media-bg,#panel-media .media-main{width:100%;height:100%}#panel-media .media-bg{object-fit:cover;filter:blur(24px)saturate(1.15)brightness(.62);opacity:.82;pointer-events:none;width:116%;height:116%;position:absolute;inset:-8%;transform:scale(1.04)}#panel-media:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle,#00000014,#0000006b),linear-gradient(#0000002e,#0000004d);position:absolute;inset:0}#panel-media .media-main{z-index:1;object-fit:contain;filter:drop-shadow(0 18px 42px #0000005c);display:block;position:relative}#panel-info{flex-direction:column;grid-area:info;display:flex;overflow:hidden}.signage-clock{color:#fff;font-variant-numeric:tabular-nums;letter-spacing:0;font-size:clamp(38px,3.25vw,66px);font-weight:800;line-height:1}.signage-timezone{color:#ffffff8c;letter-spacing:2px;text-transform:uppercase;margin-top:4px;font-size:1vw}.signage-date{text-align:center}.signage-date .date-day{color:#ffffffa6;text-transform:uppercase;letter-spacing:1.5px;font-size:1vw}.signage-date .date-full{color:#fff;font-size:1.2vw;font-weight:600}.signage-schedule{flex:1;padding:1.5vh 2.5vw;overflow-y:hidden}.schedule-title{text-transform:uppercase;letter-spacing:2px;color:var(--sg-label);border-bottom:1px solid var(--sg-label-border);margin-bottom:1vh;padding-bottom:.8vh;font-size:.75vw;font-weight:700;transition:color .5s,border-color .5s}.schedule-item{background:var(--sg-item-bg);border:1px solid var(--sg-item-border);border-radius:10px;gap:1.2vw;margin-bottom:.8vh;padding:1.2vh 1.4vw;transition:background .5s,border-color .5s;display:flex}[data-signage-theme=light] .schedule-item{box-shadow:0 1px 4px #0000000f}.schedule-item.berlangsung{background:#dc26261f;border-color:#dc26264d}[data-signage-theme=light] .schedule-item.berlangsung{background:#dc262612;border-color:#dc262640;box-shadow:0 1px 4px #dc26261a}.schedule-item.selesai{opacity:.45}.item-time{flex-shrink:0;min-width:7vw}.item-time .time-range{color:var(--sg-accent);font-variant-numeric:tabular-nums;font-size:1.1vw;font-weight:700;transition:color .5s}.item-time .time-room{color:var(--sg-muted);margin-top:2px;font-size:.75vw;transition:color .5s}.item-content{flex:1;min-width:0}.item-content .item-title{color:var(--sg-text);margin-bottom:3px;font-size:clamp(18px,1.18vw,28px);font-weight:700;line-height:1.25;transition:color .5s}.item-content .item-group{color:var(--sg-muted);font-size:.75vw;transition:color .5s}.item-status{flex-shrink:0;align-self:center}.status-pill{text-transform:uppercase;letter-spacing:.5px;border-radius:100px;align-items:center;gap:5px;padding:4px 10px;font-size:.7vw;font-weight:700;display:inline-flex}.status-pill.berlangsung{color:#fca5a5;background:#dc262633}.status-pill.persiapan{color:#fcd34d;background:#d9770633}.status-pill.menunggu{color:#94a3b8;background:#64748b33}.status-pill.selesai{color:#86efac;background:#16a34a26}[data-signage-theme=light] .status-pill.berlangsung{color:#b91c1c;background:#dc26261a}[data-signage-theme=light] .status-pill.persiapan{color:#b45309;background:#d977061a}[data-signage-theme=light] .status-pill.menunggu{color:#475569;background:#64748b1a}[data-signage-theme=light] .status-pill.selesai{color:#15803d;background:#16a34a1a}.status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.status-dot.pulse{animation:1.2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(1.5)}}.schedule-empty{opacity:.3;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:50%;display:flex}.schedule-empty .empty-icon{font-size:3vw}.schedule-empty p{color:var(--sg-muted);margin:0;font-size:.9vw}.compact-empty{opacity:.8;justify-content:flex-start;align-items:flex-start;height:auto;padding:.4vh 0 .9vh}.compact-empty p{font-size:.78vw}.upcoming-section{margin-top:1.4vh}.upcoming-title{margin-top:0;margin-bottom:.8vh}.upcoming-item{background:#60a5fa12;border-color:#60a5fa24;border-radius:8px;gap:.9vw;margin-bottom:.55vh;padding:.85vh 1.05vw}[data-signage-theme=light] .upcoming-item{background:#2563eb0d;border-color:#2563eb1f}.upcoming-item .item-time{min-width:8.2vw}.upcoming-item .time-date{color:var(--sg-label);text-transform:uppercase;letter-spacing:1px;margin-bottom:2px;font-size:.62vw;font-weight:800}.upcoming-item .time-range{font-size:.9vw}.upcoming-item .time-room,.upcoming-item .item-group{font-size:.68vw}.upcoming-item .item-title{font-size:clamp(14px,.92vw,20px);line-height:1.2}.status-pill.upcoming{color:#93c5fd;background:#60a5fa29}[data-signage-theme=light] .status-pill.upcoming{color:#1d4ed8;background:#2563eb1a}#panel-ticker{background:var(--sg-ticker-bg);border-top:1px solid var(--sg-ticker-border);grid-area:ticker;align-items:center;height:5.5vh;display:flex;overflow:hidden}.ticker-label{color:#fff;text-transform:uppercase;letter-spacing:1.5px;white-space:nowrap;background:#2563eb;flex-shrink:0;align-items:center;height:100%;padding:0 1.2vw;font-size:.75vw;font-weight:700;display:flex}.ticker-track{flex:1;align-items:center;height:100%;display:flex;overflow:hidden}.ticker-text{white-space:nowrap;color:var(--sg-ticker-text);padding-left:100%;font-size:.9vw;font-weight:500;animation:30s linear infinite ticker-scroll}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-100%)}}.weather-widget{background:var(--sg-weather-bg);border:1px solid var(--sg-weather-bdr);min-height:unset;border-radius:8px;align-items:center;gap:.8vw;padding:.8vh 1.2vw;transition:background .5s;display:flex}.weather-icon{font-size:clamp(22px,1.55vw,32px);line-height:1}.weather-img{object-fit:contain;filter:drop-shadow(0 0 4px #fff3);width:clamp(24px,1.8vw,34px);height:clamp(24px,1.8vw,34px)}.weather-left-block{border-right:1px solid #ffffff26;flex-direction:column;justify-content:center;align-items:center;margin-right:.2vw;padding-right:.8vw;display:flex}.weather-top-row{align-items:center;gap:.4vw;display:flex}.weather-temp{color:#fff;font-size:clamp(20px,1.15vw,28px);font-weight:800;line-height:1}.weather-details{flex-direction:column;justify-content:center;gap:.3vh;display:flex}.weather-details-row{white-space:nowrap;align-items:center;gap:.4vw;line-height:1.25;display:flex}.weather-cond{color:#ffffffb3;text-align:center;margin-top:.4vh;font-size:.9vw;font-weight:600}.weather-loc{white-space:nowrap;color:#ffffffe6;font-size:clamp(13px,.82vw,17px);font-weight:600}.weather-hum{white-space:nowrap;color:#fff9;font-size:clamp(11px,.66vw,14px)}.weather-src{color:#fff6;letter-spacing:.3px;font-size:clamp(10px,.65vw,13px);font-style:italic;display:block}.weather-separator{color:#ffffff4d;font-size:.9vw;font-weight:700}.qr-panel{background:var(--sg-qr-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--sg-qr-border);z-index:10;border-radius:12px;flex-direction:column;align-items:center;min-width:9vw;padding:1.2vh 1.4vw;transition:background .5s;display:flex;position:absolute;bottom:2vh;left:50%;transform:translate(-50%)}.qr-label{color:var(--sg-qr-label);text-transform:uppercase;letter-spacing:1px;white-space:nowrap;align-items:center;gap:.3vw;margin-bottom:.6vh;font-size:.65vw;transition:opacity .3s;display:flex}#qr-display{opacity:1;transition:opacity .3s}#qr-display.qr-fading{opacity:0}#qr-display canvas{border-radius:6px;display:block}.qr-dots{gap:5px;margin-top:.6vh;display:flex}.qr-dot{background:var(--sg-qr-label);opacity:.35;border-radius:50%;width:5px;height:5px;transition:opacity .3s,transform .3s}.qr-dot.active{opacity:1;background:var(--sg-accent);transform:scale(1.3)}.live-badge{color:#fff;letter-spacing:.5px;background:#dc2626d9;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:.6vw;font-weight:700;animation:1.8s ease-in-out infinite live-pulse;display:inline-flex}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.6}}.media-fallback{opacity:.2;flex-direction:column;justify-content:center;align-items:center;gap:.8vh;width:100%;height:100%;display:flex}.media-fallback-icon{font-size:5vw}.media-fallback-label{font-size:1vw}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}