:root{--bg: #0b0b0d;--panel: #111114;--panel-2: #17171b;--panel-3: #1d1d22;--line: #232329;--line-2: #2e2e36;--fg: #ededf0;--fg-2: #a1a1aa;--fg-3: #75757f;--accent: #e6e6ea;--accent-fg: #0b0b0d;--ok: #3ecf8e;--warn: #f5b73a;--bad: #f0556b;--info: #6aa7ff;--wait: #8a8a96;--shadow: 0 12px 40px rgb(0 0 0 / .5);--scrim: rgb(0 0 0 / .55);--sans: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--r: 8px;color-scheme:dark}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg: #f7f7f8;--panel: #ffffff;--panel-2: #f2f2f4;--panel-3: #ebebef;--line: #e4e4e8;--line-2: #d4d4da;--fg: #16161a;--fg-2: #55555f;--fg-3: #75757f;--accent: #16161a;--accent-fg: #ffffff;--ok: #1a8a57;--warn: #a86b12;--bad: #c92d45;--info: #2563c9;--wait: #74747e;--shadow: 0 12px 40px rgb(20 20 30 / .16);--scrim: rgb(20 20 30 / .35);color-scheme:light}}:root[data-theme=light]{--bg: #f7f7f8;--panel: #ffffff;--panel-2: #f2f2f4;--panel-3: #ebebef;--line: #e4e4e8;--line-2: #d4d4da;--fg: #16161a;--fg-2: #55555f;--fg-3: #75757f;--accent: #16161a;--accent-fg: #ffffff;--ok: #1a8a57;--warn: #a86b12;--bad: #c92d45;--info: #2563c9;--wait: #74747e;--shadow: 0 12px 40px rgb(20 20 30 / .16);--scrim: rgb(20 20 30 / .35);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}button:disabled{cursor:not-allowed}input,select,textarea{font:inherit;color:inherit}img,video{display:block;max-width:100%}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.muted{color:var(--fg-3)}.dim{color:var(--fg-2)}.small{font-size:12px}.nowrap{white-space:nowrap}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:2px solid var(--info);outline-offset:2px}.app{display:grid;grid-template-columns:240px minmax(0,1fr);height:100%}.side{border-right:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;padding:12px 10px;gap:2px;min-height:0;position:relative;z-index:20}.side .nav{flex:1;min-height:0;overflow-y:auto;margin:0 -4px;padding:0 4px}.brand-sw{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel-2);width:100%;text-align:left}.brand-sw:hover{border-color:var(--line-2)}.brand-sw b{font-weight:600;display:block}.brand-sw small{display:block;color:var(--fg-3);font-size:11px}.brand-sw .chev{margin-left:auto;color:var(--fg-3);flex:none}.side-search{display:flex;align-items:center;gap:8px;margin:8px 0 6px;padding:6px 10px;border:1px solid var(--line);border-radius:6px;color:var(--fg-3);font-size:13px;width:100%;text-align:left}.side-search:hover{color:var(--fg-2);border-color:var(--line-2)}.side-search .kbd{margin-left:auto}.nav-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);padding:12px 10px 4px}.nav a{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:6px;text-decoration:none;color:var(--fg-2);font-size:13.5px}.nav a svg{flex:none;color:var(--fg-3)}.nav a:hover,.nav a.on{background:var(--panel-2);color:var(--fg)}.nav a.on svg{color:var(--fg)}.nav a .n{margin-left:auto;font:12px var(--mono);color:var(--fg-3)}.nav a .n.hot{color:var(--warn)}.nav a .n.bad{color:var(--bad)}.side .foot{margin-top:8px;padding:10px;color:var(--fg-3);font-size:12px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.side .foot .who{display:flex;align-items:center;gap:8px;color:var(--fg-2);text-decoration:none}.side .foot .who b{color:var(--fg);font-weight:500}.avatar{width:24px;height:24px;border-radius:50%;background:var(--panel-3);border:1px solid var(--line-2);display:inline-flex;align-items:center;justify-content:center;font:500 11px var(--sans);color:var(--fg-2);flex:none}.main{min-width:0;overflow:auto;padding:0 24px 40px}.page{max-width:1240px;margin:0 auto}.top{position:sticky;top:0;background:var(--bg);z-index:5;display:flex;align-items:center;gap:12px;padding:14px 0 12px;border-bottom:1px solid var(--line);margin-bottom:18px;min-height:64px}.top h1{font-size:16px;font-weight:600;margin:0;text-wrap:balance}.top .crumb{color:var(--fg-3);font-size:12px;display:flex;gap:6px;align-items:center}.top .crumb a{text-decoration:none}.top .crumb a:hover{color:var(--fg-2)}.top .right{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.mob-top,.bottom{display:none}.kbd{font:11px var(--mono);border:1px solid var(--line-2);border-radius:4px;padding:1px 5px;color:var(--fg-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 12px;border-radius:6px;border:1px solid var(--line-2);background:var(--panel);color:var(--fg);font-weight:500;min-height:36px;text-decoration:none;white-space:nowrap;font-size:13.5px}.btn:hover:not(:disabled){background:var(--panel-2)}.btn.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn.primary:hover:not(:disabled){background:var(--accent);opacity:.9}.btn.danger{color:var(--bad)}.btn.danger.armed{background:var(--bad);color:#fff;border-color:var(--bad)}.btn.ghost{border-color:transparent;background:transparent;color:var(--fg-2)}.btn.ghost:hover:not(:disabled){color:var(--fg);background:var(--panel-2)}.btn.sm{padding:4px 9px;min-height:30px;font-size:13px}.btn.icon{padding:0;width:36px}.btn.sm.icon{width:30px}.btn:disabled{opacity:.5}.btn .spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.card{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:14px 16px;min-width:0}.card.tight{padding:10px 12px}.card .lbl{font-size:12px;color:var(--fg-3)}.card .big{font:500 26px/1.1 var(--mono);margin-top:4px;font-variant-numeric:tabular-nums}.card .big.warn{color:var(--warn)}.card .big.bad{color:var(--bad)}.card .sub{font-size:12px;color:var(--fg-2);margin-top:6px}a.card{text-decoration:none;display:block}a.card:hover,button.card:hover{border-color:var(--line-2)}button.card{text-align:left;width:100%}h2{font-size:13px;font-weight:600;margin:24px 0 10px;color:var(--fg-2);letter-spacing:.02em;display:flex;align-items:center;gap:8px}h2 .right{margin-left:auto;font-weight:400}h3{font-size:13px;font-weight:600;margin:0 0 8px}.section-first{margin-top:0}.list{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);overflow:hidden}.row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:11px 14px;border-top:1px solid var(--line)}.row:first-child{border-top:0}.row.bad{box-shadow:inset 3px 0 0 var(--bad)}.row.warn{box-shadow:inset 3px 0 0 var(--warn)}.row .t{min-width:0}.row .t small{display:block;color:var(--fg-3);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row .when{font:12px var(--mono);color:var(--fg-3);white-space:nowrap}.row .acts{display:flex;gap:6px}a.row,button.row{text-decoration:none;text-align:left;width:100%}a.row:hover,button.row:hover{background:var(--panel-2)}.hint{font-size:12px;color:var(--fg-3);margin-top:8px}.note-box{font-size:13px;color:var(--fg-2);border:1px dashed var(--line-2);border-radius:6px;padding:10px 12px}.week{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:12px 16px;color:var(--fg-2);font-size:13px}.week b{color:var(--fg);font-weight:500}.stack{display:flex;flex-direction:column;gap:12px}.hstack{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.spacer{flex:1}.divider{height:1px;background:var(--line);margin:14px 0}.kv{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 16px;font-size:13px}.kv dt{color:var(--fg-3)}.kv dd{margin:0;min-width:0;overflow-wrap:anywhere}.dot{width:10px;height:10px;border-radius:50%;flex:none;display:inline-block}.dot.sm{width:8px;height:8px}.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:2px 9px 2px 6px;font-size:12px;color:var(--fg-2);background:var(--panel-2);white-space:nowrap;max-width:100%;min-width:0}.chip>span:last-child{overflow:hidden;text-overflow:ellipsis}.chip .bd{width:8px;height:8px;border-radius:50%;flex:none}.chip svg{flex:none;color:var(--fg-3)}.chip.off{opacity:.5}button.chip:hover{border-color:var(--line-2);color:var(--fg)}button.chip.on{border-color:var(--fg-3);color:var(--fg)}.net{display:inline-flex;width:14px;height:14px;color:var(--fg-3);flex:none}.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--fg-2);white-space:nowrap}.pill:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--wait);flex:none}.pill.ok:before{background:var(--ok)}.pill.warn:before{background:var(--warn)}.pill.bad:before{background:var(--bad)}.pill.info:before{background:var(--info)}.pill.boxed{border:1px solid var(--line);border-radius:999px;padding:2px 9px;background:var(--panel-2)}.badge{display:inline-flex;align-items:center;gap:4px;font:11px var(--mono);border:1px solid var(--line);border-radius:4px;padding:1px 6px;color:var(--fg-2);white-space:nowrap}.badge.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,var(--line))}.badge.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 35%,var(--line))}.badge.bad{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 35%,var(--line))}.hc{display:inline-block;min-width:44px;text-align:center;border-radius:5px;padding:2px 6px;font-family:var(--mono);font-size:12px}.hc.warn{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}.hc.bad{background:color-mix(in srgb,var(--bad) 18%,transparent);color:var(--bad)}.hc.ok{color:var(--fg-2)}table{width:100%;border-collapse:collapse;font-size:13px}th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);text-align:left;font-weight:500;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}th button{text-transform:inherit;letter-spacing:inherit;display:inline-flex;gap:4px;align-items:center}th button:hover{color:var(--fg-2)}td{padding:9px 10px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;vertical-align:middle}tbody tr:last-child td{border-bottom:0}td.num,th.num{font-family:var(--mono);font-size:12.5px;text-align:right}th.num{font-family:var(--sans);font-size:11px}tr.b td{background:var(--panel-2);font-weight:500}tr.click{cursor:pointer}tr.click:hover td{background:var(--panel-2)}.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}.empty{border:1px dashed var(--line-2);border-radius:var(--r);padding:28px 20px;text-align:center;color:var(--fg-2);display:flex;flex-direction:column;align-items:center;gap:10px}.empty svg{color:var(--fg-3)}.empty b{color:var(--fg);font-weight:600}.empty p{margin:0;font-size:13px;max-width:460px}.empty ol{text-align:left;margin:4px 0;padding-left:20px;font-size:13px}.err{display:flex;gap:10px;align-items:flex-start;border:1px solid color-mix(in srgb,var(--bad) 40%,var(--line));background:color-mix(in srgb,var(--bad) 8%,var(--panel));border-radius:var(--r);padding:10px 14px;color:var(--fg);font-size:13px}.err svg{color:var(--bad);flex:none;margin-top:2px}.err .acts{margin-left:auto}.warnbox{display:flex;gap:10px;align-items:flex-start;border:1px solid color-mix(in srgb,var(--warn) 40%,var(--line));background:color-mix(in srgb,var(--warn) 8%,var(--panel));border-radius:var(--r);padding:10px 14px;font-size:13px}.warnbox svg{color:var(--warn);flex:none;margin-top:2px}.infobox{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);background:var(--panel-2);border-radius:var(--r);padding:10px 14px;font-size:13px;color:var(--fg-2)}.infobox svg{color:var(--info);flex:none;margin-top:2px}.sk{background:linear-gradient(90deg,var(--panel-2) 0%,var(--panel-3) 50%,var(--panel-2) 100%);background-size:200% 100%;animation:sk 1.4s ease-in-out infinite;border-radius:6px}@keyframes sk{0%{background-position:200% 0}to{background-position:-200% 0}}.loading-line{display:flex;align-items:center;gap:8px;color:var(--fg-3);font-size:13px;margin-bottom:10px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;min-width:0}.field>label,.field .lbl{font-size:12px;color:var(--fg-3)}.field textarea,.field input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),.field select,.input{font-size:16px;color:var(--fg);background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:8px 10px;width:100%;min-height:38px}.field textarea{min-height:92px;resize:vertical;line-height:1.45}.field textarea:focus,.field input:focus,.field select:focus,.input:focus{outline:none;border-color:var(--fg-3)}.field .cnt{font:11px var(--mono);color:var(--fg-3);text-align:right}.field .cnt.bad{color:var(--bad)}.field .help{font-size:12px;color:var(--fg-3)}.field .problem{font-size:12px;color:var(--bad)}@media(min-width:641px){.field textarea,.field input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),.field select,.input{font-size:13.5px}}.row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.check{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;padding:6px 0;cursor:pointer}.check input{width:16px;height:16px;margin-top:2px;accent-color:var(--fg);flex:none}.check small{display:block;color:var(--fg-3);font-size:12px}.switch{display:inline-flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.switch .tg{width:32px;height:18px;border-radius:999px;background:var(--line-2);position:relative;transition:background .15s;flex:none}.switch .tg:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--fg);transition:transform .15s}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch input:checked+.tg{background:var(--ok)}.switch input:checked+.tg:after{transform:translate(14px);background:#fff}.switch input:focus-visible+.tg{outline:2px solid var(--info);outline-offset:2px}.seg{display:inline-flex;border:1px solid var(--line);border-radius:7px;padding:2px;background:var(--panel-2);gap:2px}.seg button{padding:4px 10px;border-radius:5px;font-size:13px;color:var(--fg-3);min-height:28px;white-space:nowrap}.seg button.on{background:var(--panel);color:var(--fg);box-shadow:0 0 0 1px var(--line-2)}.tags{display:flex;flex-wrap:wrap;gap:6px}.tag{font:12px var(--mono);border:1px solid var(--line);border-radius:999px;padding:2px 8px;color:var(--fg-2);display:inline-flex;align-items:center;gap:4px}.tag.ban{color:var(--bad);text-decoration:line-through}button.tag:hover{border-color:var(--line-2);color:var(--fg)}button.tag.on{border-color:var(--fg-3);color:var(--fg);background:var(--panel-2)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center}.filters .sp{flex:1}.filters .input{width:auto;min-width:180px}.progress{height:4px;background:var(--line);border-radius:999px;overflow:hidden}.progress>i{display:block;height:100%;background:var(--fg-2);transition:width .2s}.progress.ok>i{background:var(--ok)}.progress.bad>i{background:var(--bad)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:14px;overflow-x:auto;scrollbar-width:none}.tabs button,.tabs a{padding:8px 10px;color:var(--fg-3);border-bottom:2px solid transparent;white-space:nowrap;display:flex;gap:6px;align-items:center;text-decoration:none;font-size:13.5px;margin-bottom:-1px}.tabs button:hover,.tabs a:hover{color:var(--fg-2)}.tabs .on{color:var(--fg);border-bottom-color:var(--accent)}.tabs .d{width:6px;height:6px;border-radius:50%;background:var(--ok)}.tabs .d.warn{background:var(--warn)}.tabs .d.bad{background:var(--bad)}.tabs .d.wait{background:var(--wait)}.checks{display:flex;flex-direction:column;gap:6px;font-size:13px}.checks .c{display:flex;gap:8px;align-items:flex-start}.checks .c:before{content:"";flex:none;width:8px;height:8px;border-radius:50%;margin-top:6px;background:var(--ok)}.checks .c.warn:before{background:var(--warn)}.checks .c.bad:before,.checks .c.fail:before{background:var(--bad)}.checks .c.wait:before{background:var(--wait)}.timeline{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px}.tl{flex:0 0 176px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:10px 12px;text-decoration:none;display:block}a.tl:hover{border-color:var(--line-2)}.tl .h{font:12px var(--mono);color:var(--fg-3);display:flex;gap:6px;align-items:center;flex-wrap:wrap}.tl .thumb{height:64px;border-radius:6px;background:linear-gradient(135deg,var(--panel-2),var(--line-2));margin:8px 0;display:flex;align-items:center;justify-content:center;color:var(--fg-3);font-size:11px;overflow:hidden;text-align:center;padding:0 6px}.thumbimg{width:100%;height:100%;object-fit:cover}.tl .title{font-size:12.5px;margin-bottom:6px;color:var(--fg-2)}.lanes{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}.lane-grid{display:grid;grid-template-columns:170px repeat(7,minmax(112px,1fr));min-width:960px}.lane-grid>div{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:6px;min-height:92px;display:flex;flex-direction:column;gap:5px;min-width:0}.lane-grid>div:nth-child(8n){border-right:0}.lane-grid .hd{min-height:0;padding:8px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);background:var(--panel-2);position:sticky;top:0}.lane-grid .hd.today{color:var(--fg)}.lane-grid .hd.today:after{content:"";display:block;height:2px;background:var(--fg);margin-top:4px;width:18px;border-radius:2px}.lane-grid .cell.today{background:color-mix(in srgb,var(--panel-2) 45%,transparent)}.lane-grid .cell.over{outline:2px dashed var(--info);outline-offset:-3px}.lane-grid .ch{background:var(--panel-2);justify-content:center;gap:4px;position:sticky;left:0;z-index:1}.lane-grid .ch small{color:var(--fg-3);font-size:11px}.lane-grid .ch.low{box-shadow:inset 3px 0 0 var(--warn)}.lane-grid .ch.zero{box-shadow:inset 3px 0 0 var(--bad)}.lane-grid .ch.off,.lane-grid .cell.off{background:repeating-linear-gradient(45deg,var(--panel-2),var(--panel-2) 6px,var(--panel) 6px,var(--panel) 12px)}.lane-grid .ch a{text-decoration:none}.tile{display:block;width:100%;text-align:left;border:1px solid var(--line-2);border-radius:6px;padding:5px 7px;background:var(--panel-2);font-size:12px;line-height:1.35;color:var(--fg);min-width:0}.tile:hover{border-color:var(--fg-3)}.tile .m{display:flex;gap:6px;align-items:center;color:var(--fg-3);font:11px var(--mono)}.tile .m i{width:7px;height:7px;border-radius:50%;background:var(--wait);display:inline-block;flex:none}.tile .m i.ok{background:var(--ok)}.tile .m i.warn{background:var(--warn)}.tile .m i.info{background:var(--info)}.tile .m i.bad{background:var(--bad)}.tile .m svg{margin-left:auto}.tile .tt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.tile.ghost{border-style:dashed;color:var(--fg-3);background:transparent}.tile.yt{opacity:.6}.tile[draggable=true]{cursor:grab}.tile.dragging{opacity:.4}.plus{display:block;width:100%;border:1px dashed var(--line);border-radius:6px;color:var(--fg-3);padding:4px;text-align:center;font-size:12px;opacity:0;transition:opacity .1s;text-decoration:none}.cell:hover .plus,.plus:focus-visible{opacity:1}.legend{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.month{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);overflow:hidden}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-grid .hd{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);padding:8px;background:var(--panel-2);border-bottom:1px solid var(--line)}.month-grid .day{min-height:92px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px 8px;text-align:left;display:flex;flex-direction:column;gap:6px}.month-grid .day:nth-child(7n){border-right:0}.month-grid .day.out{color:var(--fg-3);background:color-mix(in srgb,var(--panel-2) 40%,transparent)}.month-grid .day.today .d{background:var(--accent);color:var(--accent-fg);border-radius:999px;padding:0 6px}.month-grid .day .d{font:12px var(--mono);align-self:flex-start}.month-grid .day .dots{display:flex;flex-wrap:wrap;gap:4px;align-items:center;font:11px var(--mono);color:var(--fg-3)}.month-grid .day:hover{background:var(--panel-2)}.month-grid .day.sel{box-shadow:inset 0 0 0 2px var(--fg-3)}.daylist{display:flex;flex-direction:column;gap:16px}.daylist .dh{font-size:12px;color:var(--fg-3);margin-bottom:6px;display:flex;gap:8px}.daylist .dh b{color:var(--fg);font-weight:600}.hcard{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:8px;margin-bottom:8px;text-align:left;width:100%}.hcard .th{width:52px;aspect-ratio:9 / 16;border-radius:6px;background:linear-gradient(160deg,var(--panel-3),var(--line-2));overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--fg-3);font-size:10px}.hcard .meta{display:flex;flex-direction:column;gap:4px;min-width:0;align-items:flex-start}.hcard .meta>.ellipsis{max-width:100%}.hcard.ghost{border-style:dashed}.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.mcard{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);overflow:hidden;display:flex;flex-direction:column;min-width:0;text-align:left}.mcard.sel{border-color:var(--fg-2);box-shadow:0 0 0 1px var(--fg-2)}.mcard .mv{aspect-ratio:4 / 5;background:linear-gradient(160deg,var(--panel-3),var(--line-2));position:relative;display:flex;align-items:center;justify-content:center;color:var(--fg-3)}.mcard .mv img,.mcard .mv video{width:100%;height:100%;object-fit:cover}.mcard .mv .dur{position:absolute;right:6px;bottom:6px;font:11px var(--mono);background:#0009;color:#fff;padding:1px 5px;border-radius:4px}.mcard .mv .selmark{position:absolute;left:6px;top:6px;width:20px;height:20px;border-radius:50%;background:var(--accent);color:var(--accent-fg);display:flex;align-items:center;justify-content:center}.mcard .mi{padding:8px 10px;font-size:12px;display:flex;flex-direction:column;gap:6px;min-width:0}.mcard .mi b{font-weight:500;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drop{border:1px dashed var(--line-2);border-radius:var(--r);padding:22px;text-align:center;color:var(--fg-2);display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--panel)}.drop.over{border-color:var(--info);background:color-mix(in srgb,var(--info) 6%,var(--panel))}.drop svg{color:var(--fg-3)}.uploads{display:flex;flex-direction:column;gap:8px;margin-top:12px}.uploads .u{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;gap:10px;align-items:center;font-size:12.5px}.phone{margin:0 auto;width:min(100%,260px);aspect-ratio:9 / 16;border-radius:18px;border:1px solid var(--line-2);background:linear-gradient(160deg,#3a2b1a,#121216);position:relative;overflow:hidden;color:#fff}.phone.feed{aspect-ratio:4 / 5;border-radius:12px}.phone video,.phone img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.phone .cap{position:absolute;left:10px;right:48px;bottom:16px;font-size:11px;line-height:1.35;text-shadow:0 1px 2px #000;z-index:1;max-height:40%;overflow:hidden}.phone .cap b{display:block;font-weight:600}.phone .icons{position:absolute;right:10px;bottom:18px;display:flex;flex-direction:column;gap:14px;z-index:1;opacity:.9}.phone .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2}.phone .play span{width:48px;height:48px;border-radius:50%;background:#00000080;display:flex;align-items:center;justify-content:center}.phone .textpost{position:absolute;inset:0;padding:18px;font-size:13px;display:flex;align-items:center;background:var(--panel-2);color:var(--fg);white-space:pre-wrap;overflow:hidden}.preview{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:14px}.rev{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:24px;align-items:start}.rev .meta{display:flex;flex-direction:column;gap:12px;min-width:0}.cap-box{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:12px 14px;font-size:13.5px;white-space:pre-wrap;overflow-wrap:anywhere}.fc{font-size:12.5px;color:var(--fg-3)}.fc span{color:var(--fg-2);overflow-wrap:anywhere}.yband{border-left:3px solid var(--warn);background:color-mix(in srgb,var(--warn) 8%,var(--panel));padding:8px 12px;border-radius:0 6px 6px 0;font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap}.swipe-hint{position:absolute;top:12px;z-index:3;font:600 13px var(--sans);padding:4px 10px;border-radius:999px}.swipe-hint.ok{left:12px;background:var(--ok);color:#04130b}.swipe-hint.bad{right:12px;background:var(--bad);color:#fff}.comp{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:20px;align-items:start}.comp-side{position:sticky;top:80px;display:flex;flex-direction:column;gap:12px}.mpick{display:flex;gap:8px;flex-wrap:wrap}.mthumb{width:64px;aspect-ratio:9 / 16;border-radius:6px;background:linear-gradient(160deg,var(--panel-3),var(--line-2));border:1px solid var(--line-2);overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;color:var(--fg-3);font-size:10px}.mthumb img{width:100%;height:100%;object-fit:cover}.mthumb button{position:absolute;top:2px;right:2px;background:#0009;color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center}.mthumb.add{border-style:dashed;background:transparent;cursor:pointer}.scrim{position:fixed;inset:0;background:var(--scrim);z-index:40}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,100%);background:var(--panel);border-left:1px solid var(--line);z-index:41;display:flex;flex-direction:column;box-shadow:var(--shadow)}.drawer:focus{outline:none}.drawer .dh{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}.drawer .dh h2{margin:0;font-size:15px;color:var(--fg)}.drawer .db{overflow:auto;padding:16px;flex:1}.drawer .df{border-top:1px solid var(--line);padding:12px 16px;display:flex;gap:8px;flex-wrap:wrap}.modal{position:fixed;left:50%;top:12vh;transform:translate(-50%);width:min(560px,calc(100% - 32px));background:var(--panel);border:1px solid var(--line-2);border-radius:12px;z-index:51;box-shadow:var(--shadow);max-height:76vh;display:flex;flex-direction:column}.modal .mh{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}.modal .mh h2{margin:0;color:var(--fg);font-size:15px}.modal .mb{padding:16px;overflow:auto}.modal .mf{padding:12px 16px;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.modal-scrim{position:fixed;inset:0;background:var(--scrim);z-index:50}.palette{top:14vh}.palette .pin{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}.palette .pin input{flex:1;border:0;background:transparent;font-size:16px;outline:none}.palette ul{list-style:none;margin:0;padding:6px;overflow:auto}.palette li button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:6px;text-align:left;font-size:13.5px;color:var(--fg-2)}.palette li button small{margin-left:auto;color:var(--fg-3);font-size:11.5px}.palette li.on button{background:var(--panel-2);color:var(--fg)}.palette .grp{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);padding:8px 10px 4px}.menu{position:absolute;z-index:30;background:var(--panel);border:1px solid var(--line-2);border-radius:10px;box-shadow:var(--shadow);padding:6px;min-width:240px;max-height:60vh;overflow:auto}.menu input{width:100%;margin-bottom:6px}.menu button{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border-radius:6px;text-align:left;font-size:13.5px;color:var(--fg-2)}.menu button:hover,.menu button.on{background:var(--panel-2);color:var(--fg)}.menu button small{margin-left:auto;color:var(--fg-3);font-size:11px}.menu .sep{height:1px;background:var(--line);margin:4px 0}.toasts{position:fixed;left:50%;transform:translate(-50%);bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{background:var(--accent);color:var(--accent-fg);padding:8px 14px;border-radius:999px;font-size:13px;box-shadow:var(--shadow);max-width:min(90vw,520px);text-align:center;pointer-events:auto;display:flex;gap:10px;align-items:center}.toast.bad{background:var(--bad);color:#fff}.toast button{text-decoration:underline;font-weight:600}.wiz{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.steps{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}.steps button{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid var(--line);color:var(--fg-3);font-size:13px}.steps button .n{font:11px var(--mono);width:18px;height:18px;border-radius:50%;border:1px solid var(--line-2);display:inline-flex;align-items:center;justify-content:center}.steps button.on{color:var(--fg);border-color:var(--fg-3)}.steps button.done .n{background:var(--ok);border-color:var(--ok);color:#04130b}.choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.choice button{border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;text-align:left;background:var(--panel)}.choice button.on{border-color:var(--fg-2);box-shadow:0 0 0 1px var(--fg-2)}.choice button b{display:block;font-weight:600;margin-bottom:2px}.choice button span{font-size:12.5px;color:var(--fg-3)}.summary{position:sticky;top:80px}.summary .kv{font-size:12.5px}.colors{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.colors button{width:24px;height:24px;border-radius:50%;border:2px solid transparent}.colors button.on{border-color:var(--fg)}.wrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:center;margin-bottom:10px}.wrow .nm{font-size:13px;min-width:0}.wrow .nm small{display:block;color:var(--fg-3);font-size:11px}.wrow .v{font:12px var(--mono);text-align:right;color:var(--fg-2)}.wbar{grid-column:1 / -1;height:6px;border-radius:999px;background:var(--line);overflow:hidden}.wbar i{display:block;height:100%;background:var(--fg-2)}.slots{display:flex;flex-wrap:wrap;gap:6px}.slot{font:12px var(--mono);border:1px solid var(--line);border-radius:6px;padding:3px 4px 3px 8px;color:var(--fg-2);background:var(--panel-2);display:inline-flex;gap:4px;align-items:center}.slot button{color:var(--fg-3);display:inline-flex;padding:2px;border-radius:4px}.slot button:hover{color:var(--bad)}.health{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.health .h{border:1px solid var(--line);border-radius:6px;padding:10px;background:var(--panel)}.health .h .lbl{font-size:11px;color:var(--fg-3)}.health .h .v{font:500 18px var(--mono);margin-top:2px}.health .h .v.warn{color:var(--warn)}.health .h .v.bad{color:var(--bad)}.mtile .vals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin-top:10px}.mtile .vals div{display:flex;flex-direction:column}.mtile .vals span{font-size:11px;color:var(--fg-3)}.mtile .vals b{font:500 17px var(--mono)}.secret{display:flex;gap:8px;align-items:center;font:13px var(--mono);border:1px solid var(--line);border-radius:6px;padding:8px 10px;background:var(--panel-2);overflow-wrap:anywhere}.secret code{flex:1;min-width:0}.login{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px 16px}.login .box{width:min(400px,100%);border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:28px 24px}.login .logo{display:flex;align-items:center;gap:10px;margin-bottom:18px;font-weight:600}.login h1{font-size:18px;margin:0 0 4px}.login p{color:var(--fg-2);font-size:13.5px;margin:0 0 18px}.login .btn{width:100%;min-height:44px}.login details{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.login summary{cursor:pointer;color:var(--fg-3);font-size:13px}.more-list a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-top:1px solid var(--line);text-decoration:none;min-height:48px}.more-list a:first-child{border-top:0}.more-list a svg{color:var(--fg-3)}.more-list a .chev{margin-left:auto}@media(prefers-reduced-motion:reduce){.sk,.btn .spin{animation:none}.switch .tg,.switch .tg:after,.plus,.progress>i{transition:none}}@media(max-width:640px){.app{grid-template-columns:minmax(0,1fr)}.side{display:none}.main{padding:0 16px calc(140px + env(safe-area-inset-bottom,0px))}.mob-top{display:flex;align-items:center;gap:10px;padding:10px 0 0}.mob-top .brand-sw{width:auto;flex:1;min-width:0;padding:6px 10px;min-height:44px}.mob-top .btn{min-height:44px}.top{padding:10px 0;min-height:0;flex-wrap:wrap;top:0}.top h1{font-size:15px}.top .right .btn.primary.stick{position:fixed;left:16px;right:16px;bottom:calc(68px + env(safe-area-inset-bottom,0px));z-index:8;min-height:46px;box-shadow:var(--shadow)}.grid3{grid-template-columns:minmax(0,1fr);gap:8px}.grid3.scroll{display:flex;overflow-x:auto;gap:8px}.grid3.scroll .card{flex:0 0 72%}.grid2,.row2,.row3,.comp,.rev,.wiz,.choice{grid-template-columns:minmax(0,1fr)}.health{grid-template-columns:repeat(2,minmax(0,1fr))}.row{grid-template-columns:minmax(0,1fr) auto;row-gap:6px}.row>.chip{grid-column:1 / -1;justify-self:start}.row:not(.keep)>.t{grid-column:1 / -1}.row .when{grid-column:1}.btn{min-height:44px}.btn.sm{min-height:40px}.btn.icon{width:44px}.btn.sm.icon{width:40px}.actions .btn{flex:1}.seg button{min-height:38px}.tabs button,.tabs a{min-height:44px}.chip{padding:4px 10px 4px 7px}.comp-side,.summary{position:static}.drawer{width:100%;border-left:0}.modal{top:auto;bottom:0;transform:none;left:0;width:100%;border-radius:14px 14px 0 0;max-height:88vh}.palette{top:8vh;bottom:auto;border-radius:12px;left:8px;width:calc(100% - 16px)}.mgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters .input{min-width:0;flex:1}.uploads .u{grid-template-columns:minmax(0,1fr) 80px}.uploads .u>:last-child{grid-column:1 / -1}.bottom{display:flex;position:fixed;left:0;right:0;bottom:0;background:var(--panel);border-top:1px solid var(--line);padding:4px 8px calc(4px + env(safe-area-inset-bottom,0px));z-index:9}.bottom a{flex:1;text-align:center;font-size:11px;color:var(--fg-3);text-decoration:none;padding:4px 2px;min-height:52px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;position:relative}.bottom a.on{color:var(--fg)}.bottom a .n{position:absolute;top:2px;left:calc(50% + 6px);font:600 10px var(--mono);background:var(--warn);color:#1a1205;border-radius:999px;padding:0 5px;min-width:16px}.rev .phone{width:auto;height:min(52vh,460px);max-width:100%}.rev .phone.feed{height:auto;width:min(100%,320px)}.rev .review-acts{position:sticky;bottom:calc(64px + env(safe-area-inset-bottom,0px));z-index:4;background:var(--bg);padding:8px 0;margin:0 -2px}.steps{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.steps button{flex:none}.toasts{bottom:calc(84px + env(safe-area-inset-bottom,0px))}.hide-phone{display:none!important}}@media(min-width:641px){.only-phone{display:none!important}}
