:root{--bg:#0b0d12;--panel:#151922;--panel2:#1d2230;--line:#2a3142;--text:#f2f4f8;--dim:#8b94a7;--accent:#4f8cff;--set:#1f3a6e;--set-b:#4f8cff;--co:#2a2f3a;--now:#ff3b4e;--ok:#2fbf71;--warn:#ffb020;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2{margin:0}input,textarea,button{font:inherit;color:inherit}input,textarea{background:var(--panel2);border:1px solid var(--line);border-radius:8px;min-width:0;padding:8px 10px}textarea{resize:vertical;width:100%;font-family:ui-monospace,monospace;font-size:14px}input:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}a{color:inherit}.btn,.row-btns button{background:var(--panel2);border:1px solid var(--line);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;text-decoration:none;display:inline-flex}.btn:hover,.row-btns button:hover{border-color:var(--accent)}.btn:disabled,.row-btns button:disabled{opacity:.4;cursor:default;border-color:var(--line)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn.ghost{background:0 0}.danger{color:#ff7a88}.error{color:#ffc2ca;background:#3a1620;border:1px solid #7a2433;border-radius:8px;padding:8px 12px}.hint{color:var(--dim);margin:4px 0;font-size:14px}.center{place-items:center;min-height:100%;padding:16px;display:grid}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:12px;width:100%;padding:18px;display:flex}.center .panel{max-width:360px}.panel label{color:var(--dim);flex-direction:column;gap:4px;font-size:14px;display:flex}.panel label input,.panel label textarea{color:var(--text);font-size:16px}.badge{font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;padding:.2em .7em;font-weight:700;display:inline-block}.badge.ok{color:var(--ok);background:#123524}.badge.late{color:#ff8a97;background:#3d1c22}.badge.early{color:var(--warn);background:#3a2f10}.home{flex-direction:column;gap:16px;max-width:760px;margin:0 auto;padding:16px;display:flex}.ctl-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ctl-head h1,.ctl-head .name{flex:1}.ctl-head .name{font-size:20px;font-weight:700}.ev{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0;display:flex}.ev>div{flex:1;min-width:150px}.fields{grid-template-columns:2fr 1fr 1fr;gap:10px;display:grid}@media (max-width:560px){.fields{grid-template-columns:1fr}}.tl{-webkit-user-select:none;user-select:none;height:100%;margin-left:3.6em;position:relative}.tl-tick{border-top:1px dashed #1c212d;position:absolute;left:0;right:0}.tl-tick.hour{border-top:1px solid var(--line)}.tl-tick span{text-align:right;width:3.1em;color:var(--dim);font-variant-numeric:tabular-nums;font-size:.8em;position:absolute;top:-.65em;left:-3.6em}.tl-tick:not(.hour) span{opacity:.55}.tl-block{background:var(--set);border-left:5px solid var(--set-b);box-shadow:inset 0 0 0 1px #ffffff0f, 0 -1px 0 var(--bg), 0 1px 0 var(--bg);border-radius:8px;align-items:center;gap:.7em;padding:0 .8em;line-height:1.15;display:flex;position:absolute;left:4px;right:4px;overflow:hidden}.tl-block.changeover{background:repeating-linear-gradient(135deg, var(--co), var(--co) 8px, #232834 8px, #232834 16px);color:var(--dim);border-left-color:#596275;font-size:.8em}.tl-block.short{font-size:.78em}.tl-block.past{opacity:.38}.tl-block.current{background:#2b57b0;box-shadow:inset 0 0 0 2px #fff}.tl-block.changeover.current{color:var(--text);background:#3b4254}.tl-time{font-variant-numeric:tabular-nums;opacity:.8;white-space:nowrap;font-size:.8em}.tl-title{white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:700;overflow:hidden}.tl-planned{color:var(--warn);white-space:nowrap;font-size:.7em}.tl-block.editable{cursor:grab;touch-action:none}.tl-block.editable:active{cursor:grabbing}.tl-resize{cursor:ns-resize;height:9px;position:absolute;bottom:0;left:0;right:0}.tl-resize:after{content:"";background:#ffffff73;border-radius:2px;width:28px;height:3px;margin-left:-14px;position:absolute;bottom:2px;left:50%}.tl-now{border-top:3px solid var(--now);z-index:5;pointer-events:none;height:0;box-shadow:0 0 10px var(--now);position:absolute;left:-3.6em;right:0}.tl-now span{background:var(--now);color:#fff;font-variant-numeric:tabular-nums;border-radius:4px;padding:.1em .35em;font-size:.8em;font-weight:800;position:absolute;top:-.85em;left:0}.clock{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-weight:800;line-height:1}.clock small{color:var(--dim);font-size:.5em;font-weight:600}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;min-width:0;padding:.8em 1em}.card h2{text-transform:uppercase;letter-spacing:.12em;color:var(--dim);font-size:.75em;font-weight:700}.card .act{overflow-wrap:anywhere;margin-top:.15em;font-size:1.6em;font-weight:800;line-height:1.1}.card .act.dim{color:var(--dim)}.card .sub{color:var(--dim);font-variant-numeric:tabular-nums}.card .sub.big{color:var(--text);font-size:1.15em}.card.now{border-color:var(--set-b)}.card.now.changeover{border-color:#596275}.countdown{font-variant-numeric:tabular-nums;margin:.1em 0;font-size:3.4em;font-weight:800;line-height:1}.countdown.warn{color:var(--warn)}.countdown.crit{color:var(--now)}.bar{background:var(--panel2);border-radius:99px;height:.35em;margin:.3em 0;overflow:hidden}.bar i{background:var(--accent);height:100%;display:block}.display{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:2vw;height:100dvh;padding:2.5vh 2vw;display:grid;overflow:hidden}.display-tl{min-height:0;padding:1vh 0;font-size:clamp(13px,2.1vh,30px)}.display-side{flex-direction:column;align-items:flex-start;gap:1.6vh;min-width:0;font-size:clamp(14px,2.5vh,34px);display:flex}.display-side .card{width:100%}.display-side .clock{font-size:min(9.5vw,17vh)}.display-side .event-name{color:var(--dim);font-weight:600}.display-side .badge{font-size:1.15em}@media (max-width:800px),(orientation:portrait){.display{grid-template-columns:1fr;height:auto;min-height:100dvh;overflow:visible}.display-side{order:-1;font-size:16px}.display-side .clock{font-size:19vw}.display-tl{height:130vh;font-size:14px}}.control{flex-direction:column;gap:12px;max-width:1400px;margin:0 auto;padding:12px;display:flex}.ctl-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.ctl-list{flex-direction:column;gap:8px;min-width:0;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar label{color:var(--dim);align-items:center;gap:6px;font-size:14px;display:flex}.toolbar input[type=number]{width:70px;color:var(--text)}.row{background:var(--panel);border:1px solid var(--line);border-left:5px solid var(--set-b);border-radius:10px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.row.changeover{background:#11141b;border-left-color:#596275}.row.past{opacity:.55}.row.current{border-color:#fff;border-left-color:var(--now)}.row-main{align-items:center;gap:8px;display:flex}.row-main input[type=time]{font-variant-numeric:tabular-nums;padding:6px;font-weight:700}.row-main .to{color:var(--dim);font-variant-numeric:tabular-nums;white-space:nowrap}.row-main .title{background:0 0;border-color:#0000;flex:1;font-weight:700}.row-main .title:hover{border-color:var(--line)}.row .note{color:var(--dim);background:0 0;border-color:#0000;padding:2px 10px;font-size:14px}.row .note:hover{border-color:var(--line)}.row-btns{flex-wrap:wrap;gap:6px 14px;display:flex}.row-btns .grp{align-items:center;gap:4px;display:inline-flex}.row-btns label{color:var(--dim);min-width:3.2em;font-size:12px}.row-btns button{font-variant-numeric:tabular-nums;min-width:38px;min-height:36px;padding:6px 9px;font-size:14px}.import{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.import summary{cursor:pointer;font-weight:600}.import p{color:var(--dim);font-size:14px}.ctl-side{flex-direction:column;gap:8px;min-width:0;max-height:calc(100dvh - 24px);padding-right:4px;display:flex;position:sticky;top:12px;overflow-y:auto}.ctl-status{grid-template-columns:1fr 1fr;align-items:start;gap:8px;font-size:14px;display:grid}.ctl-status .clock{grid-column:1/-1;font-size:44px}.ctl-status .countdown{font-size:2.4em}.ctl-status .card .act{font-size:1.25em}.ctl-status .badge{grid-column:1/-1;justify-self:start}.ctl-side .tl{flex:none;margin-top:8px;margin-bottom:12px;font-size:14px}@media (max-width:900px){.ctl-grid{grid-template-columns:1fr}.ctl-side{order:-1;max-height:none;position:static;overflow:visible}}@media (max-width:560px){.row-main{flex-wrap:wrap}.row-main .title{flex-basis:100%;order:5}.row-main .badge{margin-left:auto}}
