:root{--bg: #0d0f14;--surface: rgb(255 255 255 / .06);--surface-solid: #171a21;--sunk: rgb(255 255 255 / .04);--ink: #eef1f6;--muted: #9aa3b2;--line: rgb(255 255 255 / .1);--line-strong: rgb(255 255 255 / .18);--accent: #f4a383;--accent-ink: #1a0f0a;--accent-soft: rgb(244 163 131 / .16);--work: #4fd59a;--work-soft: rgb(79 213 154 / .14);--pause: #f5b452;--pause-soft: rgb(245 180 82 / .14);--danger: #ff6b6b;--danger-soft: rgb(255 107 107 / .14);--st-new: #a7b0bf;--st-planned: #6aa6ff;--st-in_progress: #f5b452;--st-blocked: #ff6b6b;--st-review: #b18cff;--st-done: #4fd59a;--glass: blur(18px) saturate(140%);--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--bg);color:var(--ink);font:15px/1.45 var(--font);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:-10%;right:-10%;bottom:-10%;left:-10%;z-index:-1;pointer-events:none;background:radial-gradient(40% 45% at 15% 10%,rgb(244 163 131 / .22),transparent 70%),radial-gradient(35% 40% at 85% 15%,rgb(106 166 255 / .16),transparent 70%),radial-gradient(45% 50% at 60% 95%,rgb(177 140 255 / .14),transparent 70%),linear-gradient(180deg,#14161c,#0b0c10);filter:blur(20px)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3{text-wrap:balance;margin:0}h2{font-size:18px}h3{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.sr{position:absolute;left:-9999px}.top{position:sticky;top:10px;z-index:20;display:flex;align-items:center;gap:14px;padding:10px 16px;margin:10px 16px 0;background:#14161c8c;backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);border:1px solid var(--line);border-radius:18px;flex-wrap:wrap;box-shadow:0 10px 30px #00000040}.brand{font-weight:700;font-size:17px;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}.logo{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,#f4a383,#c9694a);position:relative;flex:none}.logo:before,.logo:after{content:"";position:absolute;bottom:7px;width:4px;border-radius:1px;background:#fff}.logo:before{left:8px;height:12px;background:#ffffffb3}.logo:after{left:15px;height:16px;box-shadow:7px 4px #fff}.nav{display:flex;gap:2px;background:#ffffff0a;border:1px solid var(--line);padding:4px;border-radius:999px;flex-wrap:wrap}.nav a{padding:6px 13px;border-radius:999px;color:var(--muted);text-decoration:none;font-weight:500;font-size:14px;white-space:nowrap}.nav a:hover{color:var(--ink)}.nav a.on{background:#ffffff1f;color:var(--ink);box-shadow:inset 0 1px #ffffff14}.nav .badge{background:var(--danger);color:#fff;border-radius:999px;font-size:11px;padding:1px 6px;margin-left:6px}.spacer{flex:1}.who{display:flex;align-items:center;gap:10px;font-size:14px}.shiftbar{display:flex;align-items:center;gap:12px}.clock{font:600 20px/1 var(--mono);font-variant-numeric:tabular-nums}.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;white-space:nowrap;background:var(--sunk);color:var(--muted)}.pill:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.pill.work{background:var(--work-soft);color:var(--work)}.pill.work:before{animation:pulse 1.6s ease-in-out infinite}.pill.pause{background:var(--pause-soft);color:var(--pause)}.pill.danger{background:var(--danger-soft);color:var(--danger)}.pill.office{background:#ffffff1a;color:var(--ink)}.pill.accent{background:var(--accent-soft);color:var(--accent)}.pill.plain:before{display:none}@keyframes pulse{50%{opacity:.3}}@media (prefers-reduced-motion: reduce){.pill.work:before{animation:none}}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);cursor:pointer;font-weight:500;font-size:14px;white-space:nowrap;transition:background .15s,border-color .15s,filter .15s}.btn:hover{border-color:var(--line-strong);background:#ffffff1a}.btn.primary{background:linear-gradient(180deg,#f6b195,#ee8f6b);border-color:transparent;color:var(--accent-ink);font-weight:600;box-shadow:0 6px 18px #ee8f6b4d}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted);-webkit-backdrop-filter:none;backdrop-filter:none}.btn.ghost:hover{background:var(--sunk);color:var(--ink)}.btn.danger{color:var(--danger)}.btn.sm{padding:5px 10px;font-size:13px}.btn:disabled{opacity:.5;cursor:default;filter:none}input,select,textarea{width:100%;padding:9px 12px;background:#ffffff0d;border:1px solid var(--line);border-radius:12px}input:focus,select:focus,textarea:focus{border-color:var(--line-strong);outline:none;background:#ffffff14}select option{background:var(--surface-solid)}textarea{min-height:80px;resize:vertical}input[type=checkbox]{width:auto}label.f{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--muted);font-weight:500}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}main{padding:26px 20px 60px;max-width:1500px;margin:0 auto}.page-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.card{background:var(--surface);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:inset 0 1px #ffffff0d}.cols2{display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:14px;align-items:start}.stack{display:flex;flex-direction:column;gap:14px}.banner{background:var(--surface);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:14px;padding:12px 16px;margin-bottom:14px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.banner.warn{border-left-color:var(--pause);background:var(--pause-soft)}.error{color:var(--danger);font-size:13px;margin:4px 0 0}.empty{color:var(--muted);text-align:center;padding:28px 8px;font-size:14px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.tile{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px}.tile b{display:block;font:600 22px/1.2 var(--mono);font-variant-numeric:tabular-nums}.tile span{color:var(--muted);font-size:13px}.st-new{--st: var(--st-new)}.st-planned{--st: var(--st-planned)}.st-in_progress{--st: var(--st-in_progress)}.st-blocked{--st: var(--st-blocked)}.st-review{--st: var(--st-review)}.st-done{--st: var(--st-done)}.stage-sum{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px;margin-bottom:14px;overflow-x:auto}.stage-sum .sum{background:var(--surface);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);border:1px solid var(--line);border-radius:16px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;text-align:left;cursor:pointer}.stage-sum .sum:hover{border-color:var(--line-strong)}.stage-sum .sum .lbl{font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:7px}.stage-sum .sum b{font:600 26px/1.1 var(--font);letter-spacing:-.02em}.stage-sum .bar{height:4px;border-radius:4px;background:#ffffff14;overflow:hidden}.stage-sum .bar i{display:block;height:100%;background:var(--st);border-radius:4px}.dot{width:9px;height:9px;border-radius:50%;background:var(--st, var(--muted));box-shadow:0 0 0 3px color-mix(in srgb,var(--st, var(--muted)) 22%,transparent);flex:none}.board{display:grid;grid-template-columns:repeat(6,minmax(220px,1fr));gap:12px;overflow-x:auto;align-items:start;padding-bottom:8px}.col{position:relative;background:#ffffff09;backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);border:1px solid var(--line);border-radius:18px;padding:10px;display:flex;flex-direction:column;gap:9px;min-height:180px;transition:border-color .15s,background .15s}.col:before{content:"";position:absolute;left:16px;right:16px;top:-1px;height:2px;border-radius:2px;background:var(--st);opacity:.8}.col>header{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--ink);padding:4px 6px 2px}.col>header .n{font:600 11.5px var(--mono);background:color-mix(in srgb,var(--st) 18%,transparent);color:var(--st);padding:2px 8px;border-radius:999px}.tcard{position:relative;background:#ffffff0f;border:1px solid var(--line);border-radius:14px;padding:11px 13px 11px 15px;cursor:pointer;display:flex;flex-direction:column;gap:7px;text-align:left;width:100%;overflow:hidden;transition:transform .12s,border-color .15s,background .15s;box-shadow:inset 0 1px #ffffff0d}.tcard:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--st, var(--accent))}.tcard:hover{border-color:var(--line-strong);background:#ffffff17;transform:translateY(-1px)}.tcard .id{font:500 11.5px var(--mono);color:var(--muted)}.tcard .handle{position:absolute;right:10px;top:10px;color:var(--muted);opacity:.5;font-size:12px;letter-spacing:-2px}.tcard .t{font-weight:600;font-size:14.5px;overflow-wrap:anywhere;padding-right:14px}.tcard .meta{display:flex;flex-wrap:wrap;gap:5px 8px;align-items:center;font-size:12.5px;color:var(--muted)}.tcard .foot{display:flex;align-items:center;gap:8px;padding-top:8px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}.tcard .foot .spacer{flex:1}.av{width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;font-size:10.5px;font-weight:700;background:#ffffff24;color:var(--ink);flex:none}.av.none{background:transparent;border:1px dashed var(--line-strong);color:var(--muted)}.tcard .note{font-size:12.5px;color:var(--muted);background:#ffffff0a;border-radius:8px;padding:6px 8px;overflow-wrap:anywhere}.tcard .reason{font-size:12.5px;color:var(--danger);background:var(--danger-soft);border-radius:8px;padding:6px 8px;overflow-wrap:anywhere}.late{color:var(--danger);font-weight:600}.prio{font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px}.prio.urgent{background:var(--danger-soft);color:var(--danger)}.prio.high{background:var(--pause-soft);color:var(--pause)}.pill.st{background:color-mix(in srgb,var(--st) 16%,transparent);color:var(--st)}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:#ffffff0a;border-radius:999px;padding:5px 12px;font-size:13px;color:var(--muted);cursor:pointer}.chip.on{background:var(--ink);color:#111;border-color:var(--ink);font-weight:600}.tablewrap{overflow-x:auto;background:var(--surface);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);border:1px solid var(--line);border-radius:18px}table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}th,td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;vertical-align:top;font-size:13.5px}th:first-child,td:first-child{text-align:left;position:sticky;left:0;background:var(--surface-solid);z-index:1}thead th{font-size:11.5px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em;background:transparent}tbody tr:last-child td{border-bottom:0}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--accent-soft)}th.d,td.d{padding:8px 4px;text-align:center;min-width:30px}td.wk,th.wk{background:var(--sunk)}td.today,th.today{box-shadow:inset 0 0 0 2px var(--accent)}.cell-vac{color:var(--accent);font-size:12px;font-weight:600}.cell-sick{color:var(--danger);font-size:12px;font-weight:600}.cell-off{color:var(--pause);font-size:12px;font-weight:600}.nil{color:var(--muted);opacity:.6}td.tot{font-weight:700}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05060a8c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:40}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(580px,100%);background:#16181feb;backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);z-index:41;overflow-y:auto;border-left:1px solid var(--line);box-shadow:-12px 0 32px #0003}.drawer-in{padding:18px 22px 30px;display:flex;flex-direction:column;gap:16px}.modal{position:fixed;z-index:51;top:50%;left:50%;transform:translate(-50%,-50%);width:min(480px,calc(100% - 32px));max-height:calc(100% - 32px);overflow-y:auto;background:#181a21eb;backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);border:1px solid var(--line-strong);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:14px;box-shadow:0 20px 50px #0000004d}.modal-back{z-index:50}.facts{display:grid;grid-template-columns:auto 1fr;gap:5px 14px;font-size:13px;background:var(--sunk);border-radius:10px;padding:12px 14px;margin:0}.facts dt{color:var(--muted)}.facts dd{margin:0}.log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:13px}.log .when{color:var(--muted);font-size:12px;margin-left:6px}.notebox{background:var(--accent-soft);border-radius:8px;padding:7px 10px;margin-top:4px;white-space:pre-wrap;overflow-wrap:anywhere}.statusbtns{display:flex;gap:8px;flex-wrap:wrap}.login{max-width:380px;margin:12vh auto 0;padding:0 16px}.login .card{display:flex;flex-direction:column;gap:14px}.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%);background:#f0f2f6f2;color:#111;padding:10px 16px;border-radius:10px;z-index:60;max-width:calc(100% - 32px);font-size:14px}.toast.err{background:var(--danger);color:#fff}@media (max-width: 900px){.top{margin:8px 8px 0}.cols2{grid-template-columns:1fr}.top{padding:10px 16px;gap:12px}main{padding-left:16px;padding-right:16px}}@media (max-width: 560px){.grid2{grid-template-columns:1fr}.shiftbar{width:100%;justify-content:space-between}}.tcard.drag{cursor:grab}.tcard.drag:active{cursor:grabbing}.tcard.dragging{opacity:.4;transform:scale(.98)}.col.over{border-color:var(--st);background:color-mix(in srgb,var(--st) 10%,transparent);box-shadow:0 0 0 1px var(--st),0 0 24px color-mix(in srgb,var(--st) 25%,transparent)}.tcard.reason{color:var(--danger);background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 35%,transparent);--st: var(--danger);font-size:14px}.pings{position:fixed;right:18px;bottom:18px;z-index:70;display:flex;flex-direction:column;gap:10px;width:min(380px,calc(100% - 36px))}.ping{background:#1c1e26eb;backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:18px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;box-shadow:0 18px 40px #00000073,0 0 0 4px #f4a3831a;animation:ping-in .35s cubic-bezier(.2,.9,.3,1.2)}.ping-head{display:flex;align-items:center;gap:8px;font-size:14px}.ping-head .when{margin-left:auto;color:var(--muted);font-size:12px}.ping-bell{display:inline-block;animation:ring 1s ease-in-out 2;transform-origin:50% 0}.ping-task{font-weight:600;font-size:15px;overflow-wrap:anywhere}.ping-msg{background:var(--accent-soft);border-radius:10px;padding:8px 10px;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.pingbox{background:#ffffff08;border:1px solid var(--line);border-radius:14px;padding:12px 14px}@keyframes ping-in{0%{opacity:0;transform:translateY(16px) scale(.97)}}@keyframes ring{0%,to{transform:rotate(0)}20%{transform:rotate(18deg)}40%{transform:rotate(-14deg)}60%{transform:rotate(9deg)}80%{transform:rotate(-5deg)}}@media (prefers-reduced-motion: reduce){.ping,.ping-bell{animation:none}}body.tv-mode{overflow:hidden}html:has(body.tv-mode){font-size:clamp(13px,.78vw,30px)}.tv{height:100vh;display:flex;flex-direction:column;gap:1.1rem;padding:1.4rem 1.6rem;font-size:1rem}.tv-msg{height:100vh;display:grid;place-content:center;text-align:center;gap:8px;color:var(--muted)}.tv-msg h1{color:var(--ink)}.tv-head{display:flex;align-items:center;gap:1.6rem;background:#14161c8c;backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);border:1px solid var(--line);border-radius:1.4rem;padding:1rem 1.4rem}.tv-title{display:flex;align-items:center;gap:.9rem;font-size:1.6rem}.tv-title .logo{width:2.6rem;height:2.6rem}.tv-title>div{display:flex;flex-direction:column;line-height:1.1}.live{display:inline-flex;align-items:center;gap:.4rem;font:700 .85rem var(--mono);color:var(--danger);letter-spacing:.12em;margin-top:.3rem}.live i{width:.6rem;height:.6rem;border-radius:50%;background:var(--danger);box-shadow:0 0 0 .3rem var(--danger-soft);animation:pulse 1.6s ease-in-out infinite}.tv-stats{display:flex;gap:.8rem;flex:1;justify-content:center;flex-wrap:wrap}.tv-stat{min-width:8.5rem;padding:.6rem 1rem;border-radius:1rem;background:#ffffff0d;border:1px solid var(--line);display:flex;flex-direction:column;gap:.15rem}.tv-stat b{font-size:2.1rem;line-height:1.05;letter-spacing:-.02em;color:var(--st, var(--ink))}.tv-stat b small{font-size:1.1rem;color:var(--muted);font-weight:500}.tv-stat>span{font-size:.95rem;color:var(--muted);display:flex;align-items:center;gap:.45rem}.tv-clock{text-align:right;display:flex;flex-direction:column}.tv-clock b{font:600 3rem/1 var(--mono);font-variant-numeric:tabular-nums}.tv-clock b small{font-size:1.5rem;color:var(--muted)}.tv-clock span{color:var(--muted);font-size:1rem;margin-top:.3rem}.tv-stale{background:var(--danger-soft);color:var(--danger);border-radius:.8rem;padding:.5rem 1rem;text-align:center;font-weight:600}.tv-body{flex:1;min-height:0;display:grid;grid-template-columns:1fr 27rem;gap:1.1rem}.tv-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(24rem,1fr));gap:1rem;align-content:start;overflow:hidden}.tv-person{background:var(--surface);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);border:1px solid var(--line);border-radius:1.3rem;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.7rem;position:relative;overflow:hidden}.tv-person:before{content:"";position:absolute;left:1.2rem;right:1.2rem;top:-1px;height:3px;border-radius:3px;background:var(--muted);opacity:.4}.tv-person.working:before{background:var(--work);opacity:1;box-shadow:0 0 18px var(--work)}.tv-person.paused:before{background:var(--pause);opacity:1}.tv-person.off,.tv-person.away{opacity:.55}.tv-person-head{display:flex;align-items:center;gap:.8rem}.av.lg{width:2.8rem;height:2.8rem;font-size:1.05rem}.tv-person.working .av.lg{background:color-mix(in srgb,var(--work) 30%,transparent)}.tv-person-head .tv-who{display:flex;flex-direction:column;min-width:0;flex:1;gap:0}.tv-person-head .tv-who b{font-size:1.3rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-person-head .tv-who span{font-size:.95rem;color:var(--muted)}.tv-state{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem}.tv-state .pill{font-size:.85rem;padding:.25rem .7rem}.tv-state .mono{font-size:1.35rem;font-weight:600}.tv-idle{color:var(--muted);font-size:1rem;padding:.6rem .8rem;border:1px dashed var(--line-strong);border-radius:.8rem}.tv-task{position:relative;background:#ffffff0d;border:1px solid var(--line);border-radius:.9rem;padding:.7rem .9rem .7rem 1.1rem;display:flex;flex-direction:column;gap:.35rem}.tv-task:before{content:"";position:absolute;left:0;top:.6rem;bottom:.6rem;width:4px;border-radius:0 4px 4px 0;background:var(--st)}.tv-task-t{font-size:1.2rem;font-weight:600;overflow-wrap:anywhere}.tv .id{font:500 .85rem var(--mono);color:var(--muted);margin-right:.5rem}.tv-task-m{display:flex;flex-wrap:wrap;gap:.3rem .8rem;color:var(--muted);font-size:.95rem;align-items:center}.tv-note{font-size:.95rem;color:var(--muted);background:#ffffff0a;border-radius:.6rem;padding:.4rem .6rem;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tv-reason{color:var(--danger);font-size:1rem}.tv .prio{font-size:.8rem}.tv-side{display:flex;flex-direction:column;gap:1rem;min-height:0;overflow:hidden}.tv-list{position:relative;background:var(--surface);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);border:1px solid var(--line);border-radius:1.3rem;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.5rem}.tv-list:before{content:"";position:absolute;left:1.2rem;right:1.2rem;top:-1px;height:2px;border-radius:2px;background:var(--st)}.tv-list header{display:flex;align-items:center;gap:.55rem;font-weight:600;font-size:1.15rem}.tv-list header .n{margin-left:auto;font:600 .9rem var(--mono);background:color-mix(in srgb,var(--st) 18%,transparent);color:var(--st);padding:.1rem .6rem;border-radius:999px}.tv-li{padding:.45rem 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:.15rem}.tv-li-t{font-size:1.02rem;font-weight:500;overflow-wrap:anywhere}.tv-li-m{display:flex;flex-direction:column;font-size:.9rem;color:var(--muted)}.tv-li-m .reason{color:var(--danger)}.tv-empty,.tv-more{color:var(--muted);font-size:.95rem;padding:.3rem 0}.tv-side{display:grid;grid-template-rows:minmax(0,46%) minmax(0,1fr);gap:1rem;min-height:0}.tv-inbox,.tv-feed{position:relative;background:var(--surface);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);border:1px solid var(--line);border-radius:1.3rem;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.6rem;min-height:0;overflow:hidden}.tv-inbox:before{content:"";position:absolute;left:1.2rem;right:1.2rem;top:-1px;height:2px;border-radius:2px;background:var(--accent)}.tv-inbox header,.tv-feed header{display:flex;align-items:center;gap:.55rem;font-weight:600;font-size:1.2rem}.tv-inbox header .dot{--st: var(--accent)}.tv-inbox header .n{margin-left:auto;font:600 .95rem var(--mono);background:var(--accent-soft);color:var(--accent);padding:.1rem .65rem;border-radius:999px}.tv-inbox-list{display:flex;flex-direction:column;gap:.5rem;overflow:hidden;-webkit-mask-image:linear-gradient(#000 85%,transparent);mask-image:linear-gradient(#000 85%,transparent);padding-bottom:.5rem}.tv-in{background:#ffffff0f;border:1px solid var(--line);border-radius:.9rem;padding:.6rem .8rem;display:flex;flex-direction:column;gap:.3rem;transition:transform .3s}.tv-in.urgent{border-color:color-mix(in srgb,var(--danger) 45%,transparent)}.tv-in-t{font-size:1.08rem;font-weight:600;overflow-wrap:anywhere}.tv-in-m{display:flex;flex-wrap:wrap;gap:.25rem .7rem;font-size:.9rem;color:var(--muted);align-items:center}.tv-in.arrive{animation:tv-arrive 1.1s cubic-bezier(.2,.9,.3,1.15)}@keyframes tv-arrive{0%{opacity:0;transform:translate(120%) rotate(4deg)}60%{opacity:1}to{transform:none;box-shadow:0 0 0 2px var(--accent),0 0 28px #f4a38373}}.tv-flight{position:fixed;z-index:100;display:flex;align-items:center;gap:.5rem;pointer-events:none;will-change:transform}.tv-flight .plane{color:#fff;filter:drop-shadow(0 0 10px rgb(244 163 131 / .9));display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:linear-gradient(135deg,#f6b195,#ee8f6b)}.tv-flight .plane svg{width:1.3rem;height:1.3rem}.tv-flight .cargo{background:#1e2028eb;border:1px solid var(--accent);border-radius:.8rem;padding:.45rem .8rem;font-weight:600;font-size:1.05rem;max-width:20rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 12px 30px #00000080,0 0 22px #f4a38359;color:var(--ink)}.tv-task.awaiting,.chipx.awaiting{opacity:0}.tv-task.landed,.chipx.landed{animation:tv-land 2.4s ease-out}@keyframes tv-land{0%{transform:scale(.9);box-shadow:0 0 0 3px var(--accent),0 0 40px #f4a383b3}25%{transform:scale(1.03)}to{transform:none;box-shadow:0 0 0 0 transparent}}.tv-person.got-task{animation:tv-glow 2.4s ease-out}@keyframes tv-glow{0%{border-color:var(--accent);box-shadow:0 0 40px #f4a38359}to{box-shadow:none}}.tv-planned{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;font-size:.9rem}.tv-planned .lbl{color:var(--muted)}.chipx{background:color-mix(in srgb,var(--st) 14%,transparent);color:var(--ink);border:1px solid color-mix(in srgb,var(--st) 35%,transparent);border-radius:999px;padding:.15rem .6rem;max-width:14rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-feed header .live{margin:0}.tv-feed ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem;overflow:hidden;-webkit-mask-image:linear-gradient(#000 75%,transparent);mask-image:linear-gradient(#000 75%,transparent)}.fe{display:grid;grid-template-columns:1.7rem 1fr auto;gap:.55rem;align-items:start;padding:.5rem .55rem;border-radius:.8rem;font-size:.98rem;line-height:1.35;border-left:3px solid var(--fc, var(--line))}.fe-ic{font-size:1.05rem;line-height:1.3;text-align:center}.fe-b{overflow-wrap:anywhere;color:color-mix(in srgb,var(--ink) 88%,transparent)}.fe-b b{color:var(--ink)}.fe .ft{color:var(--ink);font-weight:500}.fe .fr{display:block;color:var(--danger);font-size:.9rem}.fe .fn{display:block;color:var(--muted);font-size:.9rem;font-style:italic;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.fe-t{font:500 .85rem var(--mono);color:var(--muted);padding-top:.1rem}.fe-new{--fc: var(--st-new)}.fe-planned{--fc: var(--st-planned)}.fe-in_progress{--fc: var(--st-in_progress)}.fe-blocked{--fc: var(--st-blocked)}.fe-review{--fc: var(--st-review)}.fe-done{--fc: var(--st-done)}.fe-work{--fc: var(--work)}.fe-pause{--fc: var(--pause)}.fe-off{--fc: var(--muted)}.fe-note{--fc: var(--line-strong)}.fe.fresh{animation:fe-in 1.6s ease-out}@keyframes fe-in{0%{opacity:0;transform:translateY(-1rem);background:color-mix(in srgb,var(--fc) 35%,transparent)}20%{opacity:1;transform:none}to{background:transparent}}@media (prefers-reduced-motion: reduce){.tv-in.arrive,.fe.fresh,.tv-task.landed,.tv-person.got-task{animation:none}}.tv-flight .id{font:500 .85rem var(--mono);color:var(--muted);margin-right:.45rem}.ping.ann{border-color:color-mix(in srgb,var(--st-planned) 60%,transparent);box-shadow:0 18px 40px #00000073,0 0 0 4px #6aa6ff1f}.ping.ann .ping-msg{background:#6aa6ff24;font-size:15px}.tv-boom{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;pointer-events:none}.tv-boom canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.tv-boom:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 50%,#4fd59a8c,#0a0c108c 55%);opacity:0;transition:opacity .25s}.tv-boom.flash:before{opacity:1;animation:boom-flash .9s ease-out}@keyframes boom-flash{0%{background:radial-gradient(circle at 50% 50%,#fff,#4fd59ab3 30%,#0a0c1080 70%)}}.tv-boom.out{opacity:0;transition:opacity .6s}.tv-boom-card{position:absolute;background:#1e2228f5;border:2px solid var(--st-done);border-radius:1rem;padding:.8rem 1rem;display:flex;gap:.5rem;align-items:baseline;font-size:1.2rem;color:var(--ink);will-change:transform}.tv-boom-card .id{font:500 .9rem var(--mono);color:var(--muted)}.tv-boom-banner{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.4);opacity:0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.6rem;max-width:80vw}.tv-boom-banner.show{animation:boom-banner .7s cubic-bezier(.2,1.4,.4,1) forwards}@keyframes boom-banner{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.tv-boom-banner .ok{width:8rem;height:8rem;border-radius:50%;display:grid;place-items:center;font-size:5rem;font-weight:800;color:#0d2a1d;background:linear-gradient(135deg,#7af0bd,#2fb57a);box-shadow:0 0 80px #4fd59acc}.tv-boom-banner .h{font-size:4.5rem;font-weight:800;letter-spacing:-.03em;text-shadow:0 6px 40px rgb(0 0 0 / .6)}.tv-boom-banner .t{font-size:2rem;font-weight:600;text-shadow:0 4px 24px rgb(0 0 0 / .7);overflow-wrap:anywhere}.tv-boom-banner .w{font-size:1.6rem;color:#b9f5d8;text-shadow:0 4px 24px rgb(0 0 0 / .7)}.tv-ticker{display:flex;align-items:center;gap:1rem;background:linear-gradient(90deg,#6aa6ff38,#b18cff24);border:1px solid rgb(106 166 255 / .45);border-radius:1rem;padding:.55rem 1rem;overflow:hidden}.tv-ticker .tag{font-weight:700;font-size:1.05rem;white-space:nowrap;flex:none}.tv-ticker .track{flex:1;overflow:hidden;white-space:nowrap;-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}.tv-ticker .track span{display:inline-block;padding-left:100%;font-size:1.25rem;font-weight:600;animation:ticker 22s linear infinite}.tv-ticker .track i{font-style:normal;color:var(--muted);font-weight:400;margin-left:1rem}@keyframes ticker{to{transform:translate(-100%)}}.tv-shout{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#283c788c,#06080ee6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:shout-in .5s ease-out}.tv-shout-in{max-width:75vw;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.2rem;animation:shout-pop .8s cubic-bezier(.2,1.4,.4,1)}.tv-shout .ic{font-size:6rem;animation:ring 1s ease-in-out 3;transform-origin:50% 80%}.tv-shout .h{font-size:1.6rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:#9cc3ff}.tv-shout .m{font-size:clamp(2.4rem,4.2vw,6rem);font-weight:800;line-height:1.15;letter-spacing:-.02em;overflow-wrap:anywhere}.tv-shout .f{font-size:1.4rem;color:var(--muted)}@keyframes shout-in{0%{opacity:0}}@keyframes shout-pop{0%{opacity:0;transform:scale(.7)}}.fe-ann{--fc: var(--st-planned)}@media (prefers-reduced-motion: reduce){.tv-ticker .track span{animation:none;padding-left:0}}.btn .badge{background:var(--danger);color:#fff;border-radius:999px;font-size:11px;padding:1px 6px;margin-left:2px}.ping.ann.important{border-color:color-mix(in srgb,var(--danger) 70%,transparent);box-shadow:0 18px 40px #00000073,0 0 0 4px #ff6b6b24,0 0 30px #ff6b6b40}.ping.ann.important .ping-msg{background:linear-gradient(90deg,#ff6b6b2e,#f5b45224);font-weight:600}.ping.review{border-color:color-mix(in srgb,var(--pause) 65%,transparent);box-shadow:0 18px 40px #00000073,0 0 0 4px #f5b4521f}.review-inline{display:flex;flex-direction:column;gap:8px;background:#f5b45212;border:1px solid color-mix(in srgb,var(--pause) 40%,transparent);border-radius:14px;padding:12px 14px}.review-inline .ping-head{display:flex;align-items:center;gap:8px;font-size:14px}.review-inline .ping-head .when{margin-left:auto;color:var(--muted);font-size:12px}.review-inline .ping-msg{background:#ffffff0d;border-radius:10px;padding:8px 10px;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.tv-shout.important{background:radial-gradient(circle at 50% 45%,#8c281e99,#0a0606eb)}.tv-shout.important .h{color:#ffb199}.tv-shout.important .m{background:linear-gradient(90deg,#fff,#ffd2b8);-webkit-background-clip:text;background-clip:text;color:transparent}.tv-ticker.important{background:linear-gradient(90deg,#ff6b6b47,#f5b4522e);border-color:#ff6b6b8c}.fe-ann.imp{--fc: var(--danger)}.presence-cell{display:inline-flex;align-items:center;gap:10px;text-align:left}.presence-cell>span:last-child{display:flex;flex-direction:column;line-height:1.25}.presence{width:10px;height:10px;border-radius:50%;background:#ffffff2e;flex:none}.presence.on{background:var(--work);box-shadow:0 0 0 3px #4fd59a38,0 0 10px #4fd59a99}.seen{font-size:12px;color:var(--muted);font-weight:400}.seen.on{color:var(--work)}
