:root{--void:#0b0d13;--slate:#12151e;--raise:#1a1f2b;--line:#232936;--line-2:#1a1f2a;--text:#e7eaf0;--muted:#7c8497;--iris:#6366f1;--iris-2:#818cf8;--iris-wash:#6366f124;--mint:#2dd4a7;--mint-deep:#12705a;--mint-wash:#2dd4a71f;--mint-mark:#1ba97f;--rose:#f43f5e;--r:12px;--r-sm:7px;--e:cubic-bezier(.22, .72, .28, 1);--fast:.13s;--slow:.38s;--display:"Bahnschrift", "DIN Alternate", "Roboto Condensed", "Arial Narrow", system-ui, sans-serif;--body:system-ui, "Segoe UI", Roboto, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--void);color:var(--text);font:15px/1.55 var(--body);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--iris-2);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--iris-2);outline-offset:2px;border-radius:var(--r-sm)}h1{font:400 25px/1.1 var(--display);letter-spacing:.01em;margin:0 0 4px}h2{font:600 11px/1 var(--display);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:30px 0 12px}.eyebrow{font:600 10px/1 var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0}.lede{color:var(--muted);margin:0 0 26px}.muted{color:var(--muted)}.error{color:var(--rose)}.ok{color:var(--mint)}.num{font-variant-numeric:tabular-nums}.shell{grid-template-columns:220px minmax(0,1fr);min-height:100vh;display:grid}.side{background:var(--slate);border-right:1px solid var(--line-2);flex-direction:column;gap:3px;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0}.brand{font:700 13px/1 var(--display);letter-spacing:.26em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:26px;padding:0 12px;display:flex}.brand i{background:var(--iris);border-radius:2px;width:7px;height:7px;transform:rotate(45deg)}.side a{border-radius:var(--r-sm);color:var(--muted);transition:color var(--fast) var(--e), background var(--fast) var(--e);padding:9px 12px;font-size:14px;position:relative}.side a:hover{color:var(--text);background:var(--raise);text-decoration:none}.side a.router-link-active{color:var(--text);background:var(--raise)}.side a.router-link-active:before{content:"";background:var(--iris);border-radius:2px;width:2px;position:absolute;top:10px;bottom:10px;left:0}.side .grow{flex:1}.who{border-top:1px solid var(--line-2);align-items:center;gap:10px;margin-top:10px;padding:10px 12px;display:flex}.who .name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.who button{color:var(--muted);background:0 0;border:none;margin-left:auto;padding:4px 8px;font-size:12px}.who button:hover{color:var(--rose);background:0 0}main{min-width:0;max-width:1040px;padding:34px 34px 90px}.page{animation:rise var(--slow) var(--e) both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (width<=820px){.shell{grid-template-columns:minmax(0,1fr)}.side{border-right:none;border-bottom:1px solid var(--line-2);flex-flow:wrap;align-items:center;height:auto;padding:10px 14px;position:static}.brand{margin:0 12px 0 0}.side a.router-link-active:before{width:auto;height:2px;inset:auto 12px 2px}.who{border-top:none;margin:0 0 0 auto;padding:0}.who .name{display:none}main{padding:24px 16px 70px}}.pfp{object-fit:cover;background:var(--raise);border:1px solid var(--line);border-radius:50%;flex:none;width:30px;height:30px}.pfp.sm{width:22px;height:22px}.pfp.fallback{font:600 11px/1 var(--body);color:var(--muted);place-items:center;display:inline-grid}.card{background:var(--slate);border:1px solid var(--line-2);border-radius:var(--r);margin-bottom:14px;padding:18px}.card.flush{padding:6px 18px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 18px;display:grid}.spacer{margin-left:auto}.pill{font:600 10px/1.5 var(--display);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--line);color:var(--muted);border-radius:5px;padding:3px 9px;display:inline-block}.pill.win{border-color:var(--mint-deep);color:var(--mint);background:var(--mint-wash)}.board{grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:8px;display:grid}.night{border:1px solid var(--line-2);border-radius:var(--r);background:var(--slate);text-align:center;transition:border-color var(--slow) var(--e), background var(--slow) var(--e), transform var(--fast) var(--e);animation:deal var(--slow) var(--e) both;animation-delay:calc(var(--i,0) * 45ms);padding:15px 11px 13px;position:relative}.night:hover{border-color:var(--line);transform:translateY(-2px)}@keyframes deal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.night.lit{border-color:var(--mint-deep);background:linear-gradient(180deg, var(--mint-wash), var(--slate) 58%)}.night .tag{transform-origin:50%;background:var(--mint);color:#052b22;font:700 8px/1.5 var(--display);letter-spacing:.16em;text-transform:uppercase;transition:transform var(--slow) var(--e);border-radius:999px;padding:2px 8px;position:absolute;top:-1px;left:50%;transform:translate(-50%,-50%)scaleY(0)}.night.lit .tag{transform:translate(-50%,-50%)scaleY(1)}.night .day{font:600 10px/1 var(--display);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.night .date{font:400 32px/1.1 var(--display);font-variant-numeric:tabular-nums;transition:color var(--slow) var(--e);margin:4px 0 12px}.night.lit .date{color:var(--mint)}.gate{justify-content:center;gap:3px;min-height:5px;margin-bottom:11px;display:flex}.gate i{background:var(--line);width:14px;height:5px;transition:background var(--slow) var(--e);border-radius:3px}.gate i.on{background:var(--iris);animation:fill var(--slow) var(--e) both;animation-delay:calc(var(--i,0) * 45ms + var(--j,0) * 60ms + .1s)}.night.lit .gate i.on{background:var(--mint)}@keyframes fill{0%{opacity:0;transform:scaleX(.15)}to{opacity:1;transform:scaleX(1)}}.track{background:var(--line-2);border-radius:2px;height:3px;overflow:hidden}.track>i{background:var(--iris);height:100%;transition:width var(--slow) var(--e), background var(--slow) var(--e);border-radius:2px;display:block}.night.lit .track>i{background:var(--mint)}.night .count{font:400 12px/1 var(--display);font-variant-numeric:tabular-nums;color:var(--muted);margin-top:9px}.faces{flex-wrap:wrap;justify-content:center;gap:3px;min-height:22px;margin-top:10px;display:flex}.faces .more{font:600 10px/22px var(--body);color:var(--muted)}.t-scroll{overflow-x:auto}.t-scroll table{min-width:440px}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line-2);padding:11px 12px}th{font:600 10px/1 var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}tbody tr{transition:background var(--fast) var(--e)}tbody tr:hover{background:var(--raise)}tr:last-child td{border-bottom:none}td.num,th.num{font-variant-numeric:tabular-nums}td .who-cell{align-items:center;gap:9px;display:flex}button{font:500 14px/1 var(--body);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--raise);color:var(--text);cursor:pointer;transition:border-color var(--fast) var(--e), background var(--fast) var(--e), transform var(--fast) var(--e), color var(--fast) var(--e);padding:9px 15px}button:hover:not(:disabled){border-color:var(--iris)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--iris);border-color:var(--iris);color:#fff;font-weight:600}button.primary:hover:not(:disabled){background:var(--iris-2);border-color:var(--iris-2)}button.danger{color:var(--rose)}button.danger:hover:not(:disabled){border-color:var(--rose)}button.mini,span.mini{color:var(--muted);border:1px solid var(--line);border-radius:var(--r-sm);white-space:nowrap;background:0 0;padding:4px 10px;font-size:12px}span.mini{display:inline-block}.mini.toggle:before{content:"";background:var(--mint);vertical-align:1px;border-radius:50%;width:5px;height:5px;margin-right:7px;animation:2.6s ease-in-out infinite pulse;display:inline-block}.mini.toggle.off:before{background:var(--rose);animation:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}input,select{font:400 14px/1.2 var(--body);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--void);color:var(--text);transition:border-color var(--fast) var(--e);padding:9px 11px}input:hover,select:hover{border-color:var(--iris)}input[type=number]{font-variant-numeric:tabular-nums}input[type=radio],input[type=checkbox]{accent-color:var(--iris);cursor:pointer}label.field{gap:6px;margin-bottom:15px;display:grid}label.field>span{font:600 10px/1 var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.seg{border:1px solid var(--line);border-radius:var(--r-sm);display:inline-flex;overflow:hidden}.seg label{color:var(--muted);cursor:pointer;border-right:1px solid var(--line);transition:color var(--fast) var(--e), background var(--fast) var(--e);padding:6px 13px;font-size:13px}.seg label:last-child{border-right:none}.seg label:hover{color:var(--text);background:var(--raise)}.seg input{opacity:0;pointer-events:none;position:absolute}.seg label:has(input:checked){background:var(--iris);color:#fff;font-weight:600}.seg label:has(input:checked):hover{background:var(--iris-2)}.seg label:has(input:focus-visible){outline:2px solid var(--iris-2);outline-offset:-2px}.seg.hold label:has(input:checked){background:var(--mint);color:#052b22}.empty{text-align:center;border:1px dashed var(--line);border-radius:var(--r);padding:46px 20px}.notice{border-left:2px solid var(--iris);background:var(--iris-wash);border-radius:0 var(--r-sm) var(--r-sm) 0;animation:rise var(--fast) var(--e) both;padding:10px 14px}.notice.bad{border-color:var(--rose);background:#f43f5e1a}.login{max-width:380px;animation:rise .52s var(--e) both;margin:0 auto;padding:16vh 20px}.login h1{letter-spacing:.02em;font-size:34px}.skeleton{background:linear-gradient(90deg, var(--line-2), var(--raise), var(--line-2));background-size:200% 100%;border-radius:3px;height:10px;animation:1.3s linear infinite sweep}@keyframes sweep{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.toasts{z-index:60;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:18px;right:18px}.toast{border-radius:var(--r-sm);background:var(--raise);border:1px solid var(--line);border-left:2px solid var(--mint);animation:slide-in var(--slow) var(--e) both;align-items:center;gap:10px;max-width:340px;padding:11px 14px;display:flex;box-shadow:0 12px 32px #00000073}.toast.bad{border-left-color:var(--rose)}.toast button{color:var(--muted);background:0 0;border:none;margin-left:auto;padding:2px 6px}@keyframes slide-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}.cd{font-family:var(--display);font-size:15px}.cd.urgent{color:var(--rose);animation:1.6s ease-in-out infinite pulse}.cd.over{color:var(--muted)}.hero{border:1px solid var(--line-2);border-radius:var(--r);background:linear-gradient(120deg, var(--iris-wash), transparent 55%), var(--slate);flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:14px;padding:16px 18px;display:flex}.hero .big{font:400 34px/1 var(--display);font-variant-numeric:tabular-nums}.night .month{font:600 9px/1 var(--display);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:-8px 0 10px}.night .count .unit{letter-spacing:.1em;text-transform:uppercase;font-size:10px}.board.still .night{animation:none}.board.still .night:hover{transform:none}.zones{grid-template-columns:repeat(3,1fr);align-items:start;gap:12px;display:grid}@media (width<=900px){.zones{grid-template-columns:1fr}}.zone{border:1px solid var(--line-2);border-radius:var(--r);background:var(--slate);min-height:120px;transition:border-color var(--fast) var(--e), background var(--fast) var(--e);padding:12px}.zone.over{border-color:var(--iris);background:var(--raise)}.zone.required{border-top:2px solid var(--mint)}.zone.optional{border-top:2px solid var(--iris)}.zone.out{border-top:2px solid var(--line)}.zone header{align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.zone header .n{font:400 16px/1 var(--display);font-variant-numeric:tabular-nums;color:var(--muted);margin-left:auto}.zone .hint{color:var(--muted);margin:-4px 0 12px;font-size:12px}.player{border-radius:var(--r-sm);background:var(--raise);cursor:grab;animation:rise .22s var(--e) both;transition:border-color var(--fast) var(--e), transform var(--fast) var(--e);border:1px solid #0000;align-items:center;gap:9px;padding:7px 8px;display:flex}.player+.player{margin-top:6px}.player:hover{border-color:var(--line)}.player.dragging{opacity:.4}.player .nm{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.player .move{opacity:0;transition:opacity var(--fast) var(--e);gap:2px;margin-left:auto;display:flex}.player:hover .move,.player:focus-within .move{opacity:1}.player .move button{border:1px solid var(--line);background:var(--slate);color:var(--muted);padding:2px 7px;font-size:13px;line-height:1.3}.player .move button:hover:not(:disabled){color:var(--text);border-color:var(--iris)}.zone .none{color:var(--muted);text-align:center;padding:14px 0;font-size:12px}.week-scroll{margin-top:4px;padding-bottom:2px;overflow-x:auto}.week{grid-template-columns:repeat(7,minmax(64px,1fr));gap:4px;min-width:470px;display:grid}.week .d{border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--void);text-align:center;min-height:76px;transition:border-color var(--slow) var(--e), background var(--slow) var(--e);padding:9px 6px 11px}.week .d.active{border-color:var(--iris);background:var(--iris-wash)}.week .d .nm{font:600 9px/1 var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.week .ev{font:600 9px/1.5 var(--display);letter-spacing:.08em;text-transform:uppercase;border-radius:3px;margin-top:7px;padding:2px 4px;display:block}.week .ev.open{background:var(--iris);color:#fff}.week .ev.close{background:var(--raise);color:var(--text);border:1px solid var(--line)}.flow{flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.flow .step{border-radius:var(--r-sm);background:var(--void);border:1px solid var(--line-2);align-items:center;gap:8px;padding:8px 12px;display:flex}.flow .step b{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:15px;font-weight:400}.flow .arrow{color:var(--muted)}.bars{gap:7px;display:grid}.bar-row{grid-template-columns:86px 1fr 34px;align-items:center;gap:10px;display:grid}.bar-row .lbl{color:var(--muted);text-transform:capitalize;font-size:13px}.bar-row .val{font:400 14px/1 var(--display);font-variant-numeric:tabular-nums;text-align:right}.bar-track{background:var(--void);border-radius:4px;height:22px;overflow:hidden}.bar-track>i{background:var(--iris);transform-origin:0;height:100%;animation:grow .62s var(--e) both;animation-delay:calc(var(--i,0) * 55ms);transition:background var(--fast) var(--e);border-radius:0 4px 4px 0;display:block}.bar-row.top .bar-track>i{background:var(--mint-mark)}.bar-row:hover .bar-track>i{filter:brightness(1.15)}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.tl{padding-left:22px;position:relative}.tl:before{content:"";background:var(--line);width:1px;position:absolute;top:6px;bottom:6px;left:5px}.tl .node{animation:rise .3s var(--e) both;padding:10px 0;position:relative}.tl .node:before{content:"";background:var(--void);border:2px solid var(--line);border-radius:50%;width:9px;height:9px;position:absolute;top:17px;left:-21px}.tl .node.played:before{border-color:var(--mint);background:var(--mint)}.tl .node .when{color:var(--muted);font-size:12px}.agenda{gap:10px;display:grid}.slot{border:1px solid var(--line-2);border-left:2px solid var(--line);border-radius:0 var(--r) var(--r) 0;background:var(--slate);animation:rise .26s var(--e) both;transition:border-color var(--fast) var(--e), background var(--fast) var(--e);grid-template-columns:92px 1fr auto;align-items:center;gap:14px;padding:13px 15px;display:grid}.slot:hover{background:var(--raise)}.slot.next{border-left-color:var(--mint)}.slot.done{opacity:.5}.slot.failed{border-left-color:var(--rose)}.slot .at{font:400 15px/1.2 var(--display);font-variant-numeric:tabular-nums}.slot .rel{color:var(--muted);font-size:11px;display:block}.slot .what{font-size:14px}.slot .sub{color:var(--muted);font-size:12px}.matrix-scroll{overflow-x:auto}.matrix{border-collapse:separate;border-spacing:0;width:100%;min-width:460px}.matrix th,.matrix td{border-bottom:1px solid var(--line-2);text-align:center;padding:7px 6px}.matrix thead th{font:600 10px/1.3 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);vertical-align:bottom}.matrix thead th.lit{color:var(--mint)}.matrix th.who{text-align:left;white-space:nowrap;min-width:168px;display:table-cell}.matrix tbody th.who{font-size:13px;font-weight:400}.matrix tbody th.who .pfp{vertical-align:middle;margin-right:8px}.matrix tbody th.who .nm{vertical-align:middle}.matrix .req{color:var(--mint);vertical-align:middle;margin-left:7px;font-size:9px}.matrix tbody tr:hover{background:var(--raise)}.matrix tr.mute th.who,.matrix tr.mute td{opacity:.5}.matrix td.lit{background:var(--mint-wash)}.matrix .yes{background:var(--iris);width:15px;height:15px;animation:pop .26s var(--e) both;border-radius:5px;display:inline-block}.matrix td.lit .yes{background:var(--mint)}.matrix .no{color:var(--line)}.matrix .tot{font-variant-numeric:tabular-nums;color:var(--muted)}.matrix tfoot td{font:400 14px/1 var(--display);color:var(--text)}.matrix tfoot td.lit{color:var(--mint)}@keyframes pop{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}.sched-scroll{overflow-x:auto}.sched{min-width:640px}.sched .head,.sched .body{grid-template-columns:52px 1fr 118px;display:grid}.sched .head{grid-template-columns:52px repeat(7,1fr) 59px 59px}.sched .dh{font:600 10px/1 var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-align:center;padding:0 0 9px}.sched .dh.on{color:var(--iris-2)}.sched .dh.sep{border-left:1px solid var(--line);margin-left:10px;padding-left:4px}.sched .hours{flex-direction:column;display:flex}.sched .hours span{font:400 10px/1 var(--body);font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;padding-right:9px;transform:translateY(-4px)}.sched .canvas{border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--void);position:relative;overflow:hidden}.sched .canvas.rems{margin-left:10px}.sched .canvas.rems .blk{width:50%}.sched .canvas .off{color:var(--muted);text-align:center;place-items:center;margin:0;padding:0 6px;font-size:11px;display:grid;position:absolute;inset:0}.sched .hline{background:var(--line-2);height:1px;position:absolute;left:0;right:0}.sched .vline{background:var(--line-2);width:1px;position:absolute;top:0;bottom:0}.blk{width:14.2857%;height:20px;font:500 10px/1 var(--body);cursor:grab;touch-action:none;white-space:nowrap;transition:box-shadow var(--fast) var(--e), filter var(--fast) var(--e);animation:pop .26s var(--e) both;border:none;border-radius:4px;align-items:center;gap:5px;padding:0 5px;display:flex;position:absolute;overflow:hidden}.blk b{font:600 10px/1 var(--display);font-variant-numeric:tabular-nums}.blk span{opacity:.85;text-overflow:ellipsis;overflow:hidden}.blk:hover{filter:brightness(1.12)}.blk.held{cursor:grabbing;z-index:3;box-shadow:0 6px 18px #00000080}.blk.open{background:var(--iris);color:#fff}.blk.close{background:var(--raise);color:var(--text);border:1px solid var(--line)}.blk.rem{background:var(--mint-deep);color:#eafff8}.blk:focus-visible{outline:2px solid var(--text);outline-offset:1px}
