*{box-sizing:border-box}html,body{margin:0;height:100%;background:#eeece7;color:#333c36;font-family:Arial,Helvetica,sans-serif}body{display:flex;flex-direction:column}header{height:76px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 32px}.brand{color:inherit;text-decoration:none;font-size:12px;letter-spacing:2px;display:flex;align-items:center;gap:16px;font-weight:700}.mark{font-size:25px;color:#526a57}.divider{color:#b3b6ad}.muted{font-weight:400;letter-spacing:.3px;color:#777d75}.tools{display:flex;gap:10px}button{font:inherit;cursor:pointer;border:1px solid #d0d5cb;background:transparent;color:inherit;border-radius:8px;padding:12px 16px}button:hover{background:#e0e6db}button:focus-visible,input:focus-visible{outline:3px solid #6e9878;outline-offset:3px}.tools button{padding:6px 12px;font-size:23px;border:0}main{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#d6d0c4}.scene{position:relative;aspect-ratio:1672/941;width:min(100vw,calc((100dvh - 128px)*1672/941));flex-shrink:0}.scene>img{display:block;width:100%;height:100%}.screen{position:absolute;aspect-ratio:16/9;background:#101715;box-shadow:0 0 0 3px #222623,0 3px 7px #0007;overflow:hidden}.meeting{left:21.5311%;top:33.6876%;width:17.4641%}.schedule{left:52.3923%;top:42.5079%;width:4.8445%}.signage{left:62.4402%;top:26.7800%;width:28.2895%}iframe{display:block;border:0;max-width:none;transform-origin:0 0;width:1920px;height:1080px;background:#0d1e1b}footer{height:52px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 32px;font-size:10px;letter-spacing:1.5px;color:#70786d}footer i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#68826c;margin-right:9px}.hint{letter-spacing:.5px}dialog{border:1px solid #d1d6ce;border-radius:18px;background:#f9faf6;padding:30px;width:min(550px,calc(100% - 28px));max-height:90dvh;box-shadow:0 30px 100px #0005}dialog::backdrop{background:#14221b88;backdrop-filter:blur(6px)}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}h1{font-size:25px;font-weight:500;letter-spacing:-.6px;margin:8px 0 18px}.eyebrow{font-size:10px;letter-spacing:2px;color:#62765f;margin:0}.close{border:0;font-size:25px;padding:0 7px}p{font-size:14px;line-height:1.55;color:#687263}label{display:block;font-size:12px;font-weight:600;margin:20px 0}input{display:block;width:100%;margin-top:9px;border:1px solid #cdd5c7;background:white;padding:14px;border-radius:7px;font:14px Arial;color:#263d2d}.note{font-size:12px}.actions{display:flex;gap:10px;flex-wrap:wrap}.actions button{font-size:12px}.primary{background:#2e4d3e;color:white;border-color:#2e4d3e}.primary:hover{background:#42654e}#unlock-error,#config-error{color:#9d382f}#toast{position:fixed;bottom:65px;left:50%;transform:translateX(-50%);background:#223d30;color:white;border-radius:8px;padding:12px 20px;font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s;width:max-content;max-width:90vw}#toast.visible{opacity:1}body:fullscreen header,body:fullscreen footer{display:none}body:fullscreen .scene{width:min(100vw,calc(100dvh*1672/941))}@media(max-width:600px){header{height:60px;padding:0 16px}.brand{font-size:10px;gap:9px;letter-spacing:1px}.muted,.divider{display:none}footer{padding:0 16px;height:44px;font-size:8px}.hint{display:none}.scene{width:min(100vw,calc((100dvh - 104px)*1672/941))}dialog{padding:22px}}

/* Native 16:9 screens over a clean wall photograph. No letterboxing. */
.screen{aspect-ratio:16 / 9;height:auto;background:#101211;box-shadow:0 0 0 2px #202321,0 3px 7px #0006}
.meeting{left:13.4569%;top:26.8%;width:24.0431%}
.schedule{left:46.8301%;top:34.5377%;width:14.8923%}
.signage{left:65.4306%;top:24.7%;width:31.2201%}
iframe{position:absolute;left:0;top:0}
[hidden]{display:none!important}
