*{box-sizing:border-box;margin:0;padding:0}
html,body{width:1920px;height:1080px;background:#000;color:#fff;font-family:Roboto,sans-serif;overflow:hidden;cursor:none}
#stage{display:grid;grid-template-columns:420px 1fr 400px;height:1080px}
#left{padding:28px 22px 20px 30px;display:flex;flex-direction:column;gap:18px;overflow:hidden}
#clock{display:flex;gap:18px;align-items:center}
#analog{width:120px;height:120px;flex:none}
#time{font-size:76px;font-weight:100;letter-spacing:-1px;line-height:1;font-variant-numeric:tabular-nums}
#time .s{font-size:34px;color:#aaa;margin-left:4px}
#date{font-size:24px;font-weight:300;margin-top:6px}
#hdate{font-size:17px;font-weight:300;color:#9a9a9a;margin-top:2px}
#weather .now{display:flex;align-items:center;gap:14px}
#weather .ico{font-size:52px}
#weather .temp{font-size:72px;font-weight:100;line-height:1}
#weather .desc{font-size:18px;font-weight:300;color:#ccc}
#weather .fc{display:flex;gap:10px;margin-top:10px}
#weather .fc div{flex:1;text-align:center;font-size:15px;font-weight:300;color:#bbb;border-top:1px solid #222;padding-top:6px}
#weather .fc b{display:block;font-size:22px;margin:2px 0}
#weather .fc .hi{color:#fff;font-weight:400}
#agenda{flex:1;overflow:hidden;display:flex;flex-direction:column;gap:10px}
.shabbat{border:1px solid #2ecc71;border-radius:14px;padding:12px 16px;background:rgba(46,204,113,.08)}
.shabbat .p{font-size:26px;font-weight:400;color:#2ecc71}
.shabbat .he{font-size:18px;color:#9fd8b4;direction:rtl;text-align:left}
.shabbat .t{display:flex;justify-content:space-between;font-size:20px;font-weight:300;margin-top:6px}
.shabbat .t b{font-weight:500;font-size:24px}
.countdown{font-size:16px;color:#bbb;font-weight:300}
.countdown b{color:#fff;font-weight:500}
.ag-day h4{font-size:15px;font-weight:500;color:#888;text-transform:uppercase;letter-spacing:1px;margin:4px 0 3px}
.ag-day.today h4{color:#ff4d4d}
.ag-ev{display:flex;gap:8px;font-size:17px;font-weight:300;padding:2px 0 2px 8px;border-left:4px solid;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-ev .tm{color:#aaa;font-variant-numeric:tabular-nums;flex:none}
#center{position:relative;padding:24px 18px 20px}
.screen{position:absolute;inset:24px 18px 20px;opacity:0;transition:opacity 1s;display:flex;flex-direction:column}
.screen.on{opacity:1}
/* month */
.m-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}
.m-head h1{font-size:54px;font-weight:100}
.legend{display:flex;gap:16px;font-size:15px;color:#aaa}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.dow{display:grid;grid-template-columns:repeat(7,1fr);font-size:16px;color:#888;text-transform:uppercase;letter-spacing:1px;padding:0 6px 6px}
.grid{flex:1;display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:1fr;border-top:1px solid #222;border-left:1px solid #222}
.cell{border-right:1px solid #222;border-bottom:1px solid #222;padding:4px 5px;overflow:hidden;min-height:0}
.cell.out{opacity:.35}
.cell.sat{background:#0b0b0b}
.cell .n{font-size:26px;font-weight:100;width:40px;height:40px;line-height:40px;text-align:center;border-radius:50%;margin-bottom:2px}
.cell.today .n{background:#e53935;font-weight:400}
.chip{font-size:13.5px;line-height:1.25;padding:1px 5px;border-radius:4px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#000;font-weight:500}
.chip.timed{background:transparent!important;color:#ddd;font-weight:400;padding-left:4px;border-left:3px solid}
.more{font-size:12px;color:#888}
/* kids */
.kids{flex:1;display:grid;grid-template-columns:repeat(6,1fr);gap:12px;min-height:0}
.kid{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.kid h2{font-size:30px;font-weight:300;padding-bottom:6px;border-bottom:3px solid;margin-bottom:6px}
.kid h3{font-size:14px;font-weight:500;color:#888;text-transform:uppercase;letter-spacing:1px;margin:8px 0 4px}
.kid h3.today{color:#fff}
.kev{border-left:5px solid;padding:4px 7px;margin-bottom:5px;background:#111;border-radius:0 6px 6px 0}
.kev .tm{font-size:15px;color:#bbb;font-variant-numeric:tabular-nums}
.kev .ti{font-size:17px;font-weight:400;line-height:1.2}
.kev.past{opacity:.4}
.none{font-size:14px;color:#555;font-weight:300}
.k-title{font-size:54px;font-weight:100;margin-bottom:12px}
/* photos */
#photos{position:relative;overflow:hidden;background:#050505}
.ph{position:absolute;inset:0;opacity:0;transition:opacity 2s}
.ph.on{opacity:1}
.ph .bg{position:absolute;inset:-40px;background-size:cover;background-position:center;filter:blur(30px) brightness(.55)}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
#photo-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:100;color:#555;background:radial-gradient(circle at 50% 40%,#1a1a2e,#000)}
#photos.has #photo-fallback{display:none}
#status{position:fixed;bottom:4px;left:30px;font-size:11px;color:#444}
