/* NOVOSONIC Signage – launcher (player and editor). */
.ln{position:absolute;inset:0;overflow:hidden;container-type:size;font-family:"Bahnschrift","DIN Alternate","Segoe UI",Roboto,Arial,sans-serif;color:#fff;user-select:none;-webkit-user-select:none}
.ln-bg{position:absolute;inset:0;width:100%;height:100%}
.ln-dim{position:absolute;inset:0;background:#000}
.ln-el{position:absolute;box-sizing:border-box}
.ln-btn{container-type:size;border:0;padding:1.2cqmin;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5cqh;cursor:pointer;font:inherit;
  box-shadow:0 .4cqmin 1.6cqmin rgba(0,0,0,.25);transition:transform .12s ease,filter .12s ease;-webkit-tap-highlight-color:transparent;overflow:hidden}
.ln-btn:active,.ln-btn.pressed{transform:scale(.96);filter:brightness(1.15)}
.ln-ico{width:auto;height:min(34cqh,40cqw);flex:none}
.ln-bimg{max-height:min(46cqh,60cqw);max-width:80%;object-fit:contain;flex:none}
.ln-appicon{height:min(46cqh,46cqw);border-radius:18%}
.ln-btn.ln-has-banner{padding:0}
.ln-btn.ln-wide{flex-direction:row;gap:3cqh}
.ln-wide .ln-ico,.ln-wide .ln-bimg{height:48cqh;max-height:48cqh}
.ln-wide .ln-lbl{font-size:min(34cqh,7cqw)}
.ln-wide .ln-sub{display:none}
.ln-banner{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ln-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ln-btn:focus-visible{outline:.6cqmin solid #F2A900;outline-offset:.4cqmin}
.ln-lbl{font-size:min(15cqh,9cqw);font-weight:700;line-height:1.1;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ln-sub{font-size:min(9cqh,6cqw);opacity:.85;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ln-img{overflow:hidden;display:flex;align-items:center;justify-content:center}
.ln-img img{width:100%;height:100%;display:block}
.ln-ph{font-size:4cqmin;opacity:.5}
.ln-text{display:flex;align-items:center;line-height:1.15;overflow:hidden}
.ln-text span{display:block;width:100%;white-space:pre-wrap}
.ln-clock{display:flex;flex-direction:column;justify-content:center;line-height:1.05;overflow:hidden}
.ln-time{font-weight:700;letter-spacing:.02em}
.ln-date{opacity:.85;margin-top:.6cqh}
.ln-date.up{text-transform:uppercase;letter-spacing:.18em;opacity:.7}
.ln-time small{font-size:.32em;margin-left:.25em;font-weight:600;letter-spacing:.04em}
.ln-time .sec{opacity:.55;font-size:.6em}
.ln-minimal{font-weight:300;letter-spacing:.06em}
.ln-tiles{display:inline-flex;align-items:center;gap:.08em;font-variant-numeric:tabular-nums}
.ln-tiles b{display:inline-block;background:rgba(255,255,255,.1);border-bottom:.06em solid var(--acc);border-radius:.12em;padding:.04em .14em;font-weight:700;line-height:1.1}
.ln-tiles i{font-style:normal;opacity:.7;padding:0 .02em}
.ln-analog{width:auto;max-width:100%;flex:none}
.ln-editor .ln-btn{cursor:inherit}

/* player: web page opened from a launcher button (when the app has no own browser window) */
.ln-web{position:absolute;inset:0;background:#fff;z-index:5;display:flex;flex-direction:column}
.ln-web-bar{flex:none;height:7cqmin;min-height:44px;background:#0E1419;display:flex;align-items:center;gap:2cqmin;padding:0 2cqmin;color:#fff;font:600 2.2cqmin/1 "Segoe UI",Roboto,Arial,sans-serif}
.ln-web-bar span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.8}
.ln-web-bar button{border:0;border-radius:1cqmin;background:#F2A900;color:#1A1300;font:700 2.4cqmin/1 "Segoe UI",Roboto,Arial,sans-serif;padding:1.2cqmin 2.4cqmin;cursor:pointer;min-height:36px}
.ln-web iframe{flex:1;border:0;width:100%}
.ln-toast{position:absolute;left:50%;bottom:6cqmin;transform:translateX(-50%);background:rgba(0,0,0,.82);color:#fff;font:500 2.6cqmin/1.3 "Segoe UI",Roboto,Arial,sans-serif;padding:2cqmin 3.4cqmin;border-radius:1.4cqmin;z-index:9;max-width:80%;text-align:center}
.lnwrap{position:absolute;inset:0;container-type:size;z-index:3}
