@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Thai:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap");:root{color-scheme:light;--bg:#faf9f7;--surface:#ffffff;--surface-2:#f4f2ee;--surface-3:#eceae4;--line:#e3e0d9;--line-2:#cfcbc1;--ink:#12120f;--ink-2:#52514e;--ink-3:#83817a;--primary:#2a78d6;--primary-ink:#fff;--good:#1baf7a;--warn:#eda100;--crit:#e34948;--info:#4a3aa7;--s1:#2a78d6;--s2:#eb6834;--s3:#1baf7a;--shadow:0 8px 24px rgba(0,0,0,.10)}:root[data-theme=dark]{color-scheme:dark;--bg:#141412;--surface:#1c1c1a;--surface-2:#232320;--surface-3:#2b2b27;--line:#33332f;--line-2:#43433d;--ink:#ffffff;--ink-2:#c3c2b7;--ink-3:#96948a;--primary:#3987e5;--good:#199e70;--warn:#c98500;--crit:#e66767;--info:#9085e9;--s1:#3987e5;--s2:#d95926;--s3:#199e70;--shadow:0 8px 24px rgba(0,0,0,.5)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:IBM Plex Sans Thai,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}.mono{font-family:IBM Plex Mono,ui-monospace,monospace}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.app{height:100vh;flex-direction:column}.app,.topbar{background:var(--surface);display:flex}.topbar{gap:14px;height:56px;padding:0 16px;border-bottom:1px solid var(--line)}.logo,.topbar{align-items:center}.logo{font-weight:700;letter-spacing:-.02em;font-size:16px;display:flex;gap:7px}.logo .dot{width:9px;height:9px;border-radius:3px;background:var(--primary)}.omni{flex:1 1;max-width:420px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:6px 12px;font-size:13px;display:flex;justify-content:space-between}.omni,.omni kbd{color:var(--ink-3)}.omni kbd{font-size:11px;background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:1px 5px}.topmeta{margin-left:auto;display:flex;align-items:center;gap:14px;font-size:12.5px;color:var(--ink-2)}.pulse{width:7px;height:7px;border-radius:50%;background:var(--good);display:inline-block}.iconbtn{background:none;border:none;color:inherit;cursor:pointer;font:inherit;font-size:15px}.body{display:grid;grid-template-columns:216px 1fr;flex:1 1}.body,.side{min-height:0}.side{border-right:1px solid var(--line);background:var(--surface);padding:10px 8px;display:flex;flex-direction:column;gap:1px;overflow:auto}.side .grp{font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);padding:12px 10px 5px;font-weight:600}.nav{position:relative;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--ink-2);font-size:13.5px;cursor:pointer;border:none;background:none;width:100%;text-align:left;font-family:inherit}.nav:hover{background:var(--surface-2);color:var(--ink)}.nav.on{background:var(--surface-3);color:var(--ink);font-weight:600}.nav .ic{width:18px;text-align:center;font-size:14px}.nav .badge{margin-left:auto;font-size:10.5px;background:var(--crit);color:#fff;border-radius:10px;padding:0 6px;font-weight:600}.main{padding:20px 22px 28px;overflow:auto;min-height:0}.h{display:flex;align-items:baseline;gap:8px 12px;margin-bottom:14px;flex-wrap:wrap}.h h2{font-size:19px;font-weight:650;letter-spacing:-.01em}.h .sub{font-size:12.5px;color:var(--ink-3)}.h .right{margin-left:auto;display:flex;gap:8px}.btn{font:inherit;font-size:13px;padding:7px 14px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:7px}.btn:hover:not(:disabled){border-color:var(--line-2);background:var(--surface-2)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.p{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.btn.sm{padding:4px 10px;font-size:12px}.btn.dz{background:var(--crit);border-color:var(--crit);color:#fff;font-weight:600}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px}.chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;padding:2px 9px;border-radius:20px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);white-space:nowrap}.chip.g{color:var(--good);border-color:color-mix(in srgb,var(--good) 40%,transparent)}.chip.w{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,transparent)}.chip.r{color:var(--crit);border-color:color-mix(in srgb,var(--crit) 40%,transparent)}.chip.sp{color:var(--s2);border-color:color-mix(in srgb,var(--s2) 45%,transparent)}.chip.lz{color:var(--s1);border-color:color-mix(in srgb,var(--s1) 45%,transparent)}.pill{font-family:IBM Plex Mono,monospace;font-size:10.5px;color:var(--ink-3);background:var(--surface-2);border:1px solid var(--line);border-radius:5px;padding:1px 6px}.g{color:var(--good)}.r{color:var(--crit)}.w{color:var(--warn)}.m{color:var(--ink-3)}.acdot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}.kpis{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-bottom:16px}.kpis>*{min-width:0}.kpi .l{font-size:12px;color:var(--ink-3)}.kpi .v{font-size:27px;font-weight:680;letter-spacing:-.02em;line-height:1.2;margin-top:3px}.kpi .d{font-size:11.5px;margin-top:2px}table{width:100%;border-collapse:collapse;font-size:13px}th{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);font-weight:600;text-align:left;background:var(--surface-2);white-space:nowrap}td,th{padding:8px 10px;border-bottom:1px solid var(--line)}td{vertical-align:middle}tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--surface-2)}td.n,th.n{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.tw{border:1px solid var(--line);border-radius:10px;overflow-x:auto;background:var(--surface);-webkit-overflow-scrolling:touch}th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}th.sortable .sarrow{margin-left:4px;opacity:.42;font-size:9px}tfoot td{background:var(--surface-2);font-weight:600;border-top:1px solid var(--line-2)}.thumb{width:40px;height:40px;border-radius:7px;background:linear-gradient(135deg,var(--surface-3),var(--surface-2));border:1px solid var(--line);display:inline-block;flex:none}.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.inp{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px 11px;font-size:12.5px;color:var(--ink-2);font-family:inherit}.inp.search{min-width:min(210px,100%);color:var(--ink-3)}.count{margin-left:auto;font-size:12px;color:var(--ink-3)}.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.seg button{font:inherit;font-size:12.5px;padding:6px 12px;border:none;background:var(--surface);color:var(--ink-2);cursor:pointer;border-right:1px solid var(--line)}.seg button:last-child{border-right:none}.seg button.on{background:var(--surface-3);color:var(--ink);font-weight:600}.chart{display:flex;align-items:flex-end;gap:6px;height:150px;padding:20px 4px 0}.chart .col{flex:1 1;height:100%;display:flex;flex-direction:column-reverse;gap:2px;align-items:stretch;min-width:0;position:relative;container-type:inline-size}.chart .col .val{position:absolute;left:-3px;right:-3px;margin-bottom:3px;text-align:center;font-size:9.5px;line-height:1;color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;pointer-events:none;white-space:nowrap}.chart .col:hover .val{color:var(--ink)}@container (max-width: 34px){.chart .col:not(.duo) .val{display:none}}.chart .col.duo{flex-direction:row;align-items:flex-end;gap:1px}.chart .col.duo .stack{flex:1 1;height:100%;min-width:0;position:relative;display:flex;flex-direction:column-reverse;gap:2px;container-type:inline-size}.chart .col.duo .stack i{display:block;border-radius:3px 3px 0 0;min-height:1px}.chart .col.duo .stack i.ad{background:var(--crit)}.chart .col.duo .stack.cost{flex:0 0 38%}.chart .col.duo .val{font-size:8.5px;left:-5px;right:-5px}@container (max-width: 15px){.chart .col.duo .val{display:none}}.chart .col i{display:block;border-radius:3px 3px 0 0}.chart .col i.sp{background:var(--s2)}.chart .col i.lz{background:var(--s1);border-radius:3px}.chart .col:hover i{filter:brightness(1.12)}.xlab{display:flex;gap:6px;margin-top:6px}.xlab span{flex:1 1;text-align:center;font-size:10px;color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.legend{display:flex;gap:14px;font-size:11.5px;color:var(--ink-2);margin-top:10px}.legend i{width:10px;height:10px;border-radius:3px;display:inline-block;vertical-align:-1px;margin-right:5px}.cols{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;align-items:start}@media (max-width:1000px){.cols{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}}.acgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:12px;gap:12px}.accard{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.accard.bad{border-color:color-mix(in srgb,var(--crit) 45%,transparent)}.accard.off{opacity:.55}.accard .top{display:flex;align-items:center;gap:8px}.accard .top b{font-size:14.5px}.accard .row{font-size:12px;color:var(--ink-2);display:flex;gap:6px;align-items:center;flex-wrap:wrap}.accard .money{font-size:13px}.accard .btns{display:flex;gap:6px;margin-top:4px;flex-wrap:wrap}.accard.add{border-style:dashed;align-items:center;justify-content:center;color:var(--ink-3);cursor:pointer;min-height:170px;gap:6px}.accard.add:hover{border-color:var(--primary);color:var(--primary)}.accard.add .plus{font-size:28px;line-height:1}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;z-index:100;padding:16px}.overlay.on{display:flex}.modal{background:var(--surface);border:1px solid var(--line-2);border-radius:14px;box-shadow:var(--shadow);width:min(520px,100%);max-height:90vh;overflow:auto;padding:20px 22px}.modal h3{font-size:16px;margin-bottom:4px}.modal .sub{font-size:12px;color:var(--ink-3);margin-bottom:14px}.field{margin-bottom:12px}.field label{display:block;font-size:12px;color:var(--ink-2);margin-bottom:4px;font-weight:600}.field .inp{width:100%;color:var(--ink)}.field .hint{font-size:11px;color:var(--ink-3);margin-top:3px}.platpick{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-bottom:14px}.platpick button{font:inherit;padding:12px;border-radius:10px;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;font-weight:600;color:var(--ink-2)}.platpick button.on.sp{border-color:var(--s2);color:var(--s2);background:color-mix(in srgb,var(--s2) 7%,var(--surface))}.platpick button.on.lz{border-color:var(--s1);color:var(--s1);background:color-mix(in srgb,var(--s1) 7%,var(--surface))}.testok{border:1px solid color-mix(in srgb,var(--good) 45%,transparent);color:var(--good);background:color-mix(in srgb,var(--good) 7%,var(--surface));border-radius:9px;padding:8px 12px;font-size:12.5px;margin-bottom:12px}.modal .btns{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}.note{border:1px solid var(--line);border-radius:10px;background:var(--surface-2);padding:10px 14px;font-size:12.5px;color:var(--ink-2)}.note.crit{border-color:color-mix(in srgb,var(--crit) 45%,transparent);color:var(--crit);background:color-mix(in srgb,var(--crit) 6%,var(--surface))}.prog{height:6px;border-radius:3px;background:var(--surface-3);overflow:hidden;flex:1 1;max-width:220px}.prog i{display:block;height:100%;background:var(--primary)}.syncrow{display:flex;align-items:center;gap:10px;font-size:12.5px;padding:7px 0;border-bottom:1px solid var(--line)}.syncrow:last-child{border-bottom:none}.setrow{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.setrow:last-child{border-bottom:none}.setrow .tx{flex:1 1}.setrow .tx b{font-size:13.5px;font-weight:600;display:block}.setrow .tx .hint{font-size:11.5px;color:var(--ink-3)}.toggle{width:38px;height:22px;border-radius:11px;background:var(--surface-3);border:1px solid var(--line-2);position:relative;cursor:pointer;flex:none}.toggle.on{background:var(--good);border-color:var(--good)}.toggle i{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s}.toggle.on i{left:18px}.empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:48px 16px;color:var(--ink-3);text-align:center}@media (max-width:760px){.body{grid-template-columns:56px 1fr}.side .grp{visibility:hidden;height:10px;padding:6px 0 0}.nav .badge,.nav .lbl,.omni{display:none}}.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:18px;z-index:150;background:var(--ink);color:var(--bg);border-radius:10px;padding:11px 16px;display:flex;align-items:center;gap:14px;font-size:13px;box-shadow:var(--shadow);max-width:min(560px,92vw);cursor:pointer}:root[data-theme=dark] .toast{background:#35352f;color:var(--ink);border:1px solid var(--line-2);box-shadow:inset 0 2px 0 color-mix(in srgb,var(--primary) 60%,transparent),0 10px 30px rgba(0,0,0,.6)}.toast .sp{margin-left:auto;font-size:11px;opacity:.65;white-space:nowrap}.acctmenu{position:absolute;top:calc(100% + 6px);left:0;z-index:200;width:min(300px,86vw);max-height:min(60vh,420px);overflow-y:auto;background:var(--surface);border:1px solid var(--line-2);border-radius:11px;box-shadow:var(--shadow);padding:6px}.acctmenu .row{display:flex;align-items:flex-start;gap:8px;width:100%;text-align:left;background:none;border:none;font:inherit;color:var(--ink);cursor:pointer;padding:7px 9px;border-radius:8px}.acctmenu .row.on,.acctmenu .row:hover{background:var(--surface-2)}.acctmenu .row .mk{width:12px;flex:none;color:var(--good);font-size:11px;line-height:1.6}.acctmenu .row .tx{display:flex;flex-direction:column;min-width:0;flex:1 1}.acctmenu .row b{font-size:13px;font-weight:600;white-space:nowrap;display:flex;align-items:center}.acctmenu .row b,.acctmenu .sub{overflow:hidden;text-overflow:ellipsis}.acctmenu .sub{font-size:10.5px;color:var(--ink-3)}.pager{gap:10px;margin-top:10px;font-size:12.5px;color:var(--ink-3)}.pager .info{margin-right:auto}.pager .pages{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.pager .pages .btn{min-width:32px;padding:5px 8px;justify-content:center}.pager .gap{padding:0 2px;color:var(--ink-3)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:16px;overflow-x:auto}.tabs button{font:inherit;font-size:13px;padding:9px 14px;background:none;color:var(--ink-3);cursor:pointer;border:none;border-bottom:2px solid transparent;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.tabs button:hover{color:var(--ink-2)}.tabs button.on{color:var(--ink);border-bottom-color:var(--primary);font-weight:600}.tabs .badge{font-size:11px;padding:1px 6px;border-radius:20px;color:var(--ink-3)}.loadbar,.tabs .badge{background:var(--surface-3)}.loadbar{height:2px;border-radius:2px;overflow:hidden;margin-bottom:10px}.loadbar i{display:block;height:100%;width:40%;background:var(--primary);border-radius:2px;animation:slide 1.1s ease-in-out infinite}@keyframes slide{0%{margin-left:-40%}to{margin-left:100%}}.dim{opacity:.55;transition:opacity .15s}.cov{display:flex;gap:2px;flex-wrap:wrap}.cov i{width:10px;height:16px;border-radius:2px;background:var(--surface-3);display:block}.cov i.has{background:var(--good)}.cov i.none{background:color-mix(in srgb,var(--crit) 35%,var(--surface-3))}tbody tr.on{background:color-mix(in srgb,var(--primary) 8%,var(--surface))}tbody tr.on td:first-child{box-shadow:inset 2px 0 0 var(--primary)}.picker{position:fixed;inset:0;background:color-mix(in srgb,#000 45%,transparent);z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;overflow-y:auto}.picker-box{background:var(--surface);border:1px solid var(--line-2);border-radius:14px;padding:16px 18px;width:100%;max-width:560px;box-shadow:var(--shadow)}.opts{flex-direction:column;gap:4px;margin-top:10px;max-height:46vh;overflow-y:auto}.opt,.opts{display:flex}.opt{align-items:center;gap:10px;width:100%;text-align:left;font:inherit;cursor:pointer;background:none;border:1px solid transparent;border-radius:9px;padding:8px 10px;color:var(--ink)}.opt:hover{background:var(--surface-2);border-color:var(--line)}.opt .tx{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1}.opt .tx b{font-size:13px;overflow-wrap:anywhere}.opt .tx .sub{font-size:11.5px;color:var(--ink-3);display:flex;align-items:center;gap:5px}.opt .num{font-size:12.5px;color:var(--ink-2);white-space:nowrap}.chart .col.pair{flex-direction:row;align-items:flex-end;gap:2px}.chart .col.pair i{flex:1 1;border-radius:3px 3px 0 0;min-height:1px}.chart .col.pair i.sp2{background:var(--crit)}.chart .col.pair i.ea{background:var(--good)}.subid{flex-direction:column;min-width:0}.slots,.subid{display:flex;gap:4px}.slots{flex-wrap:wrap}.slot{display:inline-flex;align-items:baseline;gap:4px;font-size:11px;line-height:1.5;border:1px solid var(--line);border-radius:6px;padding:1px 6px;background:var(--surface-2);max-width:100%;overflow-wrap:anywhere}.slot b{color:var(--ink-3);font-weight:600;font-size:10px;white-space:nowrap}.slot.empty{opacity:.45}.slot.empty span{color:var(--ink-3)}.subid-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.slotcell{font-family:var(--mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:11.5px;overflow-wrap:anywhere;max-width:180px}.jobchip{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2);text-decoration:none;border:1px solid var(--line);border-radius:20px;padding:3px 10px;background:var(--surface-2);white-space:nowrap}.jobchip:hover{border-color:var(--primary);color:var(--ink)}body.sidebar-collapsed .side{display:none}body.sidebar-collapsed .body{grid-template-columns:1fr}a.nav{text-decoration:none}.nav .stepno{width:18px;height:18px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--surface-3);color:var(--ink-3);font-size:10.5px;font-weight:700}.nav.on .stepno{background:var(--primary);color:var(--primary-ink)}.nav.done .stepno{background:var(--good);color:#fff}.nav .tail{margin-left:auto;font-size:10.5px;color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nav.on .tail{color:var(--ink-2)}.drop{display:block;border:1.5px dashed var(--line-2);border-radius:12px;background:var(--surface-2);padding:22px 18px;text-align:center;color:var(--ink-3);font-size:13px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.drop.over,.drop:hover{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb,var(--primary) 5%,var(--surface))}.drop input{display:none}.drop .big{font-size:26px;line-height:1;margin-bottom:6px}textarea.inp{width:100%;resize:vertical;min-height:90px;line-height:1.6;font-family:inherit}select.inp,textarea.inp{color:var(--ink)}pre.dump{max-height:380px;overflow:auto;padding:12px 14px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;line-height:1.6;white-space:pre-wrap;word-break:break-word;color:var(--ink-2)}.steplist{display:flex;flex-direction:column;gap:1px}.steprow{display:flex;align-items:center;gap:9px;padding:7px 0;border-bottom:1px solid var(--line);font-size:12.5px}.steprow:last-child{border-bottom:none}.steprow .mark{width:16px;text-align:center;flex:none}.steprow .what{color:var(--ink-2);flex:1 1;min-width:0}.steprow .who{font-family:IBM Plex Mono,monospace;font-size:10.5px;color:var(--ink-3)}.btn.live{background:var(--crit);border-color:var(--crit);color:#fff;font-weight:600}.btn.live:disabled{opacity:.4}.budgetline{display:flex;align-items:baseline;gap:8px;font-size:13px}.budgetline .amount{font-size:22px;font-weight:680;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.menubtn{display:none}@media (max-width:760px){.kpis{grid-template-columns:repeat(2,1fr)}.body{grid-template-columns:1fr}.menubtn{display:grid;place-items:center;width:32px;height:32px;margin-left:-6px;border-radius:8px;font-size:17px;line-height:1;flex:none}.menubtn:hover,.menubtn[aria-expanded=true]{background:var(--surface-2)}.side{display:flex;position:fixed;top:56px;bottom:0;left:0;width:min(264px,82vw);z-index:120;padding:10px 8px 24px;transform:translateX(-100%);transition:transform .2s cubic-bezier(.2,.8,.3,1);box-shadow:6px 0 24px rgba(0,0,0,.32);overscroll-behavior:contain}.side.open{transform:translateX(0)}.sidescrim{position:fixed;inset:56px 0 0 0;background:rgba(0,0,0,.5);z-index:110;animation:fadeIn .14s ease both}body.menu-open{overflow:hidden}.side .grp{visibility:visible;height:auto;padding:12px 10px 5px}.nav .lbl{display:inline}.nav{padding:10px 12px}.topbar{gap:8px;padding:0 12px}.topbar .logo{font-size:0;gap:0}.topbar .logo .dot{width:10px;height:10px}.topmeta{gap:8px;min-width:0}.acctpick.top{min-width:0;flex:1 1}.acctpick.top .inp{max-width:none;width:100%;min-width:0}.acctpick.top .pulse{display:none}.main{padding:14px 12px 24px}}.hint{font-size:11px;color:var(--ink-3)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes popIn{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}@keyframes popOut{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(4px) scale(.98)}}@keyframes riseIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:-220% 0}to{background-position:220% 0}}@keyframes ringPulse{0%{box-shadow:0 0 0 0 currentColor;opacity:.55}70%{box-shadow:0 0 0 6px transparent;opacity:0}to{box-shadow:0 0 0 0 transparent;opacity:0}}.anim-in{animation:riseIn .22s cubic-bezier(.2,.7,.3,1) both}.main>*{animation:fadeIn .18s ease both}.overlay{animation:fadeIn .14s ease both}.overlay.closing{animation:fadeOut .14s ease both}.modal{animation:popIn .2s cubic-bezier(.2,.8,.3,1) both}.overlay.closing .modal{animation:popOut .14s ease both}.modal.wide{width:min(860px,100%)}.modal:focus-visible{outline:none}.spinner{display:inline-block;flex:none;border-radius:50%;border:2px solid color-mix(in srgb,currentColor 22%,transparent);border-top-color:currentcolor;animation:spin .7s linear infinite}.loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px 16px;color:var(--ink-3);font-size:13px}.skel-row{display:flex;gap:12px;padding:11px 12px;border-bottom:1px solid var(--line)}.skel-row:last-child{border-bottom:none}.skel{display:block;height:11px;border-radius:6px;background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);background-size:220% 100%;animation:shimmer 1.3s linear infinite}.pulse.busy{position:relative;color:var(--primary)}.pulse.busy:after{content:"";position:absolute;inset:0;border-radius:50%;animation:ringPulse 1.4s ease-out infinite}.toasts{position:fixed;right:16px;bottom:16px;z-index:200;display:flex;flex-direction:column;gap:8px;align-items:flex-end;max-width:min(420px,calc(100vw - 32px));pointer-events:none}.toastcard{pointer-events:auto;cursor:pointer;display:flex;gap:10px;align-items:flex-start;background:var(--surface);border:1px solid var(--line-2);border-left-width:3px;border-radius:11px;padding:10px 14px;box-shadow:var(--shadow);font-size:13px;animation:popIn .22s cubic-bezier(.2,.8,.3,1) both}.toastcard .ic{font-size:14px;line-height:1.5}.toastcard .tx{min-width:0}.toastcard .tx b{font-weight:600;overflow-wrap:anywhere}.toastcard .tx .d{font-size:11.5px;color:var(--ink-3);margin-top:2px;overflow-wrap:anywhere}.toastcard.ok{border-left-color:var(--good)}.toastcard.warn{border-left-color:var(--warn)}.toastcard.crit{border-left-color:var(--crit)}.toastcard.info{border-left-color:var(--primary)}.progline{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--ink-2)}.progline .lbl{white-space:nowrap}.progline .prog{max-width:none}.progline .prog i{transition:width .3s cubic-bezier(.2,.7,.3,1)}.progline .pct{min-width:38px;text-align:right;color:var(--ink-3)}.btn:active:not(:disabled){transform:translateY(1px)}.btn{transition:background .12s,border-color .12s,transform .06s}.nav{transition:background .12s,color .12s}tbody tr{transition:background .12s}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.spinner{animation:spin 1.2s linear infinite!important}}.statlink{text-decoration:none;color:inherit;display:block;border:1px solid var(--line);cursor:pointer}.statlink:hover{border-color:var(--line-2)}.statlink:hover,.thumbimg{background:var(--surface-2)}.thumbimg{width:40px;height:40px;border-radius:7px;object-fit:cover;border:1px solid var(--line);display:block}.drop.busy{pointer-events:none;opacity:.8;border-style:solid}.drop .loading{padding:6px 0}.hint.r{color:var(--crit)}.steptabs button{padding-left:10px}.steptabs .stepno{width:18px;height:18px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--surface-3);color:var(--ink-3);font-size:10.5px;font-weight:700}.steptabs button.on .stepno{background:var(--primary);color:#fff}.step-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.batchpick{text-align:left;font:inherit;color:var(--ink);border:1px solid var(--line);transition:border-color .12s,background .12s}.batchpick:hover{border-color:var(--line-2);background:var(--surface-2)}.batchpick.on{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 6%,var(--surface))}.rawtable td.rawcell{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.rawtable th{white-space:nowrap}.rawtable .stick{position:-webkit-sticky;position:sticky;left:0;z-index:1;background:var(--surface);width:56px}.rawtable tbody tr:hover .stick,.rawtable thead .stick{background:var(--surface-2)}.step-nav{border-top:none;padding-top:0;margin-top:0;margin-bottom:14px}.batchprog{display:flex;flex-direction:column;gap:4px;margin-top:2px}.batchprog .line{display:flex;align-items:center;gap:8px}.batchprog .prog{flex:1 1;max-width:none}.batchprog .prog i.done{background:var(--good)}.batchprog .num{font-size:11.5px;color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.acgrid.compact{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}.acgrid.compact .accard{padding:9px 12px;gap:4px;min-height:0}.acgrid.compact .accard .top{gap:6px;align-items:flex-start}.acgrid.compact .accard .top b{font-size:12.5px;line-height:1.35;overflow-wrap:anywhere;min-width:0}.acgrid.compact .accard .row{font-size:11.5px;gap:4px}.acgrid.compact .acdot{width:6px;height:6px}.prog.thin{height:3px;max-width:none;margin-top:2px}.xbtn{margin-left:auto;flex:none;width:18px;height:18px;border-radius:5px;display:grid;place-items:center;border:none;background:none;cursor:pointer;color:var(--ink-3);font-size:11px;line-height:1;opacity:0;transition:opacity .12s,background .12s,color .12s}.accard:hover .xbtn,.xbtn:focus-visible{opacity:1}.xbtn:hover{background:var(--crit);color:#fff}.batchpick{cursor:pointer}.batchpick:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.usedrank{margin-left:4px;flex:none;font-size:10px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink-3);background:var(--surface-3);border-radius:4px;padding:1px 4px;line-height:1.5}.acgrid.compact .chip{font-size:10px;padding:1px 6px;flex:none}.keyrow{display:grid;grid-template-columns:minmax(180px,260px) 1fr auto;align-items:center;grid-gap:12px;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.keyrow:last-of-type{border-bottom:none}.keyrow .lbl b{font-size:13.5px;font-weight:600;display:block}.keyrow .inp{width:100%;font-family:IBM Plex Mono,ui-monospace,monospace}@media (max-width:760px){.keyrow{grid-template-columns:1fr;gap:6px}}.filters.ctrls{align-items:flex-start}.filters.ctrls .field{align-self:stretch}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));grid-gap:8px;gap:8px}.shot{position:relative;padding:0;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--surface-2);cursor:pointer;display:block;aspect-ratio:1/1;transition:border-color .12s,transform .06s}.shot:hover{border-color:var(--primary)}.shot:active{transform:translateY(1px)}.shot img{width:100%;height:100%;object-fit:cover;display:block}.shot .name{position:absolute;left:0;right:0;bottom:0;background:color-mix(in srgb,#000 62%,transparent);color:#fff;font-size:9.5px;padding:2px 4px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zoomshot{width:100%;border-radius:10px;display:block}.xpost,.zoomshot{border:1px solid var(--line)}.xpost{box-sizing:border-box;--xfeed:504px;border-radius:14px;padding:12px 14px;background:var(--surface);max-width:520px}.xpost.real{width:calc(var(--xfeed) + 30px);max-width:100%}.xsize{margin-top:8px;font-size:10.5px;color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.xhead{display:flex;align-items:center;gap:9px;margin-bottom:8px}.xavatar{width:34px;height:34px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:700;font-size:14px;background:var(--surface-3);color:var(--ink-2)}.xwho{display:flex;flex-direction:column;min-width:0}.xwho b{font-size:13.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xmeta{font-size:11.5px;color:var(--ink-3)}.xtext{font-size:14px;line-height:1.5;margin-bottom:10px;overflow-wrap:anywhere;white-space:pre-wrap}.xcard{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface-2)}.xmedia{position:relative}.xslides{display:grid;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:14px;scrollbar-width:none}.xslides::-webkit-scrollbar{display:none}.xslide{position:relative;scroll-snap-align:start}.xslide img{width:100%;height:auto;display:block}.xpill{left:10px;bottom:10px;max-width:calc(100% - 20px);padding:6px 11px;border-radius:7px;background:#0f1419;font-size:12.5px;font-weight:500;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 1px 6px rgba(0,0,0,.45)}.xarrow,.xpill{position:absolute;color:#fff}.xarrow{top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:none;background:rgba(15,20,25,.75);font-size:15px;line-height:1;cursor:pointer;display:grid;place-items:center}.xarrow:hover{background:rgba(15,20,25,.9)}.xarrow.prev{left:10px}.xarrow.next{right:10px}a.xfrom{display:flex;align-items:baseline;gap:6px;margin-top:6px;font-size:12.5px;color:var(--ink-3);text-decoration:none;min-width:0}a.xfrom:hover{color:var(--primary)}a.xfrom:hover .xurl{text-decoration:underline}a.xfrom .xdomain{flex:none}.xurl{font-size:11px;opacity:.7;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xopenicon{flex:none;font-size:10px;opacity:.6}.xnoimg{padding:40px 12px;text-align:center;color:var(--ink-3);font-size:12.5px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.xactions{display:flex;justify-content:space-between;max-width:320px;margin-top:10px;font-size:13px;opacity:.45}.shot.on{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.xgrid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}.xgrid .xpost{max-width:none}.xcell{display:block;text-align:left;padding:0;border:none;background:none;font:inherit;color:inherit;cursor:pointer}.xcell .xpost{transition:border-color .12s}.xcell:hover .xpost{border-color:var(--primary)}.xcell:focus-visible .xpost{outline:2px solid var(--primary);outline-offset:2px}.lightbox{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:10px;gap:10px}.lightbox .xpost{margin:0 auto}.navbtn{width:38px;height:38px;border-radius:50%;flex:none;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font-size:16px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .12s,border-color .12s}.navbtn:hover:not(:disabled){background:var(--surface-3);border-color:var(--primary)}.navbtn:disabled{opacity:.3;cursor:default}.lbfoot{display:flex;align-items:center;gap:10px;width:100%}.lbfoot .count{margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lbstrip{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;flex:1 1}.lbstrip button{width:44px;height:44px;flex:none;padding:0;border-radius:8px;cursor:pointer;border:1px solid var(--line);background:var(--surface-2);overflow:hidden}.lbstrip button.on{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.lbstrip img{width:100%;height:100%;object-fit:cover;display:block}.xtext.editable{cursor:text;border-radius:6px;margin:-2px -4px 8px;padding:2px 4px}.xtext.editable:hover{background:var(--surface-2)}.xedit{margin-bottom:10px}.xedit textarea{resize:vertical;font-size:14px;line-height:1.5}.xcell{position:relative}.xopen{cursor:pointer;border-radius:14px}.xopen:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.xopen:hover .xpost{border-color:var(--primary)}.xdel{position:absolute;top:8px;right:8px;z-index:2;width:22px;height:22px;border-radius:6px;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-3);font-size:11px;line-height:1;cursor:pointer;opacity:0;transition:opacity .12s,background .12s,color .12s}.xcell:hover .xdel,.xdel:focus-visible{opacity:1}.xdel:hover{background:var(--crit);border-color:var(--crit);color:#fff}.xregen{position:absolute;top:8px;right:36px;z-index:2;width:22px;height:22px;border-radius:6px;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);font-size:11px;line-height:1;cursor:pointer;opacity:0;transition:opacity .12s,background .12s,border-color .12s}.xcell:hover .xregen,.xregen:disabled,.xregen:focus-visible{opacity:1}.xregen:hover:not(:disabled){background:var(--surface-3);border-color:var(--primary)}.xregen:disabled{cursor:default}.promptcols{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;align-items:start}@media (max-width:1100px){.promptcols{grid-template-columns:1fr}}.aiacts{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-left:12px}.aiacts.busy{flex:1 1;min-width:220px;gap:10px}.aiacts.busy .progline{flex:1 1}.fold{display:flex;align-items:center;gap:7px;border:none;background:none;padding:0;cursor:pointer;color:inherit;font:inherit}.fold h2{margin:0}.fold .caret{color:var(--ink-3);font-size:11px;width:11px}.fold:hover h2{color:var(--primary)}.celledit{cursor:text}.celledit:hover{background:var(--surface-2)}.inp.sm{padding:4px 8px;font-size:13px}.acctpick{display:flex;align-items:center;gap:6px;margin-left:14px;min-width:0}.acctpick .ico{font-size:13px;opacity:.8}.acctpick .inp{height:30px;padding:0 26px 0 9px;font-size:12px;max-width:230px;text-overflow:ellipsis}.acctpick .inp:last-child{max-width:170px}@media (max-width:1100px){.acctpick{margin-left:0;flex:1 1 100%}.acctpick .inp,.acctpick .inp:last-child{max-width:none;flex:1 1}}.btn.live.one{background:transparent;color:var(--crit);border-color:var(--crit)}.btn.live.one:hover:not(:disabled){background:color-mix(in srgb,var(--crit) 14%,transparent)}.parts{display:inline-flex;gap:5px;margin-left:8px;flex-wrap:wrap}.parts span{font-size:10px;padding:1px 6px;border-radius:4px;background:var(--surface-3);color:var(--ink-3);font-family:var(--mono,monospace)}.parts span.r{background:color-mix(in srgb,var(--crit) 22%,transparent);color:var(--crit)}.check{display:inline-flex;align-items:center;gap:8px;flex:none;padding:6px 12px 6px 8px;border-radius:8px;cursor:pointer;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);font:inherit;font-size:12.5px;transition:border-color .12s,background .12s,color .12s}.check .box{width:18px;height:18px;border-radius:5px;flex:none;display:grid;place-items:center;font-size:12px;line-height:1;border:1.5px solid var(--ink-3);background:transparent;color:transparent}.check:hover{border-color:var(--primary)}.check.on{color:var(--ink)}.check.on,.check.on .box{border-color:var(--ok,#2ea043)}.check.on .box{background:var(--ok,#2ea043);color:#fff}.main{scrollbar-gutter:stable}.accard .top{align-items:flex-start}.accard .top b{min-width:0;overflow-wrap:anywhere}.accard .top>.acdot,.accard .top>.chip,.accard .top>.xbtn{flex:none}.accard .rename{cursor:text;border-radius:4px;padding:0 3px;margin:0 -3px}.accard .rename:hover{background:var(--surface-3)}.accard .top .inp.sm{flex:1 1;min-width:0;font-size:12.5px}.linkbtn{margin-left:8px;padding:0;border:none;background:none;color:var(--primary);font:inherit;font-size:11px;cursor:pointer}.linkbtn:hover{text-decoration:underline}.inp.mono{font-family:var(--mono,monospace);font-size:12.5px;letter-spacing:.2px}.acctrow{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.acctrow:last-of-type{border-bottom:none}.acctrow .lbl{flex:1 1;min-width:0}.acctrow .lbl b{font-size:13.5px;font-weight:600;display:block}.acctrow .acts{display:flex;align-items:center;gap:6px;flex:none}.xbtn.plain{opacity:.55;width:24px;height:24px;font-size:12px}.xbtn.plain:hover{opacity:1}.cellink{color:var(--primary);text-decoration:none}.cellink:hover{text-decoration:underline}.modal.xwide{width:min(1600px,calc(100vw - 48px))}.modal.xwide .tw{max-height:min(66vh,720px);overflow:auto}.accard .btns{flex-wrap:nowrap;gap:5px}.accard .btns>*{padding-left:8px;padding-right:8px;white-space:nowrap;min-width:0;flex:0 1 auto}.accard .btns.iconly{gap:6px;margin-top:auto;padding-top:10px;border-top:1px solid var(--line);flex-wrap:nowrap;align-items:stretch}.accard .btns.iconly>*{flex:1 1;min-width:0;padding:6px 4px;display:inline-flex;flex-direction:column;align-items:center;gap:3px;font-size:10.5px;line-height:1.25;text-align:center}.accard .btns.iconly .ic{font-size:15px;line-height:1}.accard .btns.iconly .tx{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accard .btns.iconly>a,.accard .btns.iconly>a:hover{text-decoration:none}.accard .btns.iconly>.wide{color:var(--warn)}.accard .btns.iconly>.wide .tx{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pager{display:flex;align-items:center;gap:5px;margin-left:12px;flex-wrap:wrap}.acctpick.top{margin-left:0}.acctpick.top .inp{max-width:260px}.acctpick.top .pulse{flex:none}.loginwrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}.logincard{width:min(380px,100%)}.logincard .inp{box-sizing:border-box}.acav{object-fit:cover;border:1px solid var(--line-2,var(--line));background:var(--surface-2)}.acav.fallback{display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:var(--ink-3);letter-spacing:0}.acctpick.top .acav{margin-right:2px}.accard .top .who{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}.accard .top .who b{display:flex;align-items:center;gap:6px;font-size:13px;line-height:1.3}.accard .top .who .sub2{font-size:11px;color:var(--ink-3);overflow-wrap:anywhere}.accard .top .who .sub2 a{color:var(--primary);text-decoration:none}.accard .top .who .sub2 a:hover{text-decoration:underline}.accard .top .who .sub2 .dim{opacity:.7}.xbtn.plain{opacity:.45}.accard:hover .xbtn.plain{opacity:1}.xbtn.spacer{pointer-events:none}.side>div:first-child{margin-bottom:4px}.tw tbody tr.on{background:color-mix(in srgb,var(--primary) 12%,transparent)}.tw tbody tr.on td{border-color:color-mix(in srgb,var(--primary) 30%,transparent)}.note.dismissible{position:relative;padding-right:34px}.note .notedismiss{position:absolute;top:7px;right:7px;margin-left:0;opacity:.45}.note .notedismiss:focus-visible,.note:hover .notedismiss{opacity:1}.btn.w{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 55%,transparent)}.btn.w:hover:not(:disabled){background:color-mix(in srgb,var(--warn) 14%,transparent)}.btn.g{color:var(--good);border-color:color-mix(in srgb,var(--good) 55%,transparent)}.btn.g:hover:not(:disabled){background:color-mix(in srgb,var(--good) 14%,transparent)}.hint.w{color:var(--warn)}.kpis.six{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width:1400px){.kpis.six{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1000px){.kpis.six{grid-template-columns:repeat(2,minmax(0,1fr))}}.kpisplit{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);grid-gap:12px;gap:12px;margin-bottom:16px;align-items:start}.kpisplit .kpis.six.left{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}.kpisplit .kpichart>.card{margin-top:0}@media (max-width:1200px){.kpisplit{grid-template-columns:1fr}.kpisplit .kpis.six.left{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:700px){.kpisplit .kpis.six.left{grid-template-columns:repeat(2,minmax(0,1fr))}}