:root{--vs-bg: #f3f4f2;--vs-surface: #ffffff;--vs-surface-2: #f0f0ee;--vs-line: #d9dad4;--vs-line-soft: #f0f0ee;--vs-ink: #363b3a;--vs-ink-2: #646967;--vs-ink-3: #787c79;--vs-ink-4: #a9aeac;--vs-accent: #0ea5a0;--vs-accent-ink: #0b8a86;--vs-accent-soft: #e2f4f2;--vs-accent-line: #cfe9e6;--vs-accent-on: #ffffff;--vs-warn: #c78a12;--vs-warn-bright: #e0a52a;--vs-warn-soft: #fbf3e2;--vs-danger: #d9482b;--vs-danger-line: #e8b4a8;--vs-danger-soft: #fdf1ee;--vs-danger-ink: #7a4a42;--vs-success: #3f7f6a;--vs-success-ink: #3f7f6a;--vs-success-soft: #eef5f1;--vs-font-display: "Nunito Sans", system-ui, sans-serif;--vs-font-text: "Golos Text", system-ui, sans-serif;--vs-font-mono: ui-monospace, Menlo, Consolas, monospace;--vs-size-hero: 44px;--vs-size-metric: 30px;--vs-size-h2: 26px;--vs-size-h3: 19px;--vs-size-lead: 17px;--vs-size-body: 15px;--vs-size-ui: 14px;--vs-size-sm: 13px;--vs-size-xs: 12px;--vs-size-caps: 11px;--vs-lh-tight: 1.06;--vs-lh-heading: 1.2;--vs-lh-body: 1.5;--vs-lh-ui: 1.45;--vs-weight-display: 800;--vs-weight-logo: 900;--vs-weight-strong: 600;--vs-weight-text: 500;--vs-track-display: -.02em;--vs-track-caps: .08em;--vs-space-1: 4px;--vs-space-2: 8px;--vs-space-3: 12px;--vs-space-4: 16px;--vs-space-5: 20px;--vs-space-6: 24px;--vs-space-7: 28px;--vs-space-8: 32px;--vs-space-10: 40px;--vs-space-14: 56px;--vs-space-24: 96px;--vs-sidebar: 248px;--vs-container: 1180px;--vs-app-min: 1280px;--vs-section-pad: 56px;--vs-card-pad: 24px;--vs-radius-badge: 5px;--vs-radius-control: 10px;--vs-radius-card: 14px;--vs-radius-pill: 999px;--vs-glow-soft: 0 0 12px rgba(14, 165, 160, .25);--vs-glow: 0 0 12px rgba(14, 165, 160, .4);--vs-glow-strong: 0 0 16px rgba(14, 165, 160, .55);--vs-glow-logo: 0 0 14px rgba(14, 165, 160, .45);--vs-glow-logo-in: inset 0 0 6px rgba(14, 165, 160, .6);--vs-glow-bell: 0 0 14px rgba(14, 165, 160, .45), inset 0 0 6px rgba(14, 165, 160, .6);--vs-row-compact: 32px;--vs-row-normal: 40px;--vs-row-spacious: 48px;--vs-hit-min: 36px;--vs-hit-mobile: 44px;--vs-dur-fast: .12s;--vs-dur: .2s;--vs-ease: cubic-bezier(.2, .6, .3, 1);--vs-focus-width: 2px;--vs-focus-offset: 2px;--vs-focus-color: #0ea5a0;--vs-owner-teal: #0ea5a0;--vs-owner-violet: #6d5ef0;--vs-owner-amber: #c07c12;--vs-owner-rose: #c2456b;--vs-owner-sky: #2f7fc4;--vs-owner-lime: #5b8c2a;--vs-owner-ozon: #005bff;--vs-owner-wb: #ae2573;--vs-owner-market: #ffcc00}[data-theme=dark]{--vs-bg: #171a1c;--vs-surface: #1e2225;--vs-surface-2: #262b2e;--vs-line: #2a2f32;--vs-line-soft: #262b2e;--vs-ink: #d6dbd9;--vs-ink-2: #a9aeac;--vs-ink-3: #858b88;--vs-ink-4: #6c7370;--vs-accent-ink: #0ea5a0;--vs-accent-soft: rgba(14, 165, 160, .18);--vs-accent-line: rgba(14, 165, 160, .35);--vs-warn-soft: rgba(224, 165, 42, .16);--vs-danger-soft: rgba(217, 72, 43, .16);--vs-danger-ink: #e8b4a8;--vs-success-soft: rgba(63, 127, 106, .18);--vs-success-ink: #5fb39a;--vs-owner-teal: #2bbdb7;--vs-owner-violet: #a99cf7;--vs-owner-amber: #e0a52a;--vs-owner-rose: #ed7fa0;--vs-owner-sky: #6fb2e8;--vs-owner-lime: #9ccb5a;--vs-owner-ozon: #4b86ff;--vs-owner-wb: #e0569f;--vs-owner-market: #ffd633}@media (prefers-reduced-motion: reduce){:root{--vs-dur-fast: 0ms;--vs-dur: 0ms}}html,body{margin:0;padding:0;height:100%;background:var(--vs-bg)}body{display:flex;flex-direction:column;overflow-y:hidden;overflow-x:auto}#root{display:flex;flex:1 1 auto;min-height:0}:root{--vs-chip-bg: #f0f0ee;--vs-chip-line: #d9dad4;--vs-chip-ink: #787c79;--vs-load-size: 22px;--vs-load-size-s: 12px;--vs-load-box: 64px;--vs-load-spin: .7s;--vs-load-delay: .45s;--vs-tail-h: 120px;--vs-success-badge: #cfe6dc;--vs-success-badge-ink: #2c6b56;--vs-row-line: #d2d4cd;--vs-success-line: rgba(63, 127, 106, .35);--vs-warn-line: rgba(224, 165, 42, .4);--vs-ink-on-solid: #ffffff;--vs-violet: #6d5ef0;--vs-overlay: rgba(10, 14, 13, .82);--vs-tour-dim: rgba(8, 11, 10, .88);--vs-tour-move: .42s;--vs-tour-shadow: 0 18px 48px rgba(8, 11, 10, .5), 0 2px 8px rgba(8, 11, 10, .35);--vs-overlay-ink: #d6dbd9;--vs-shadow: 0 1px 2px rgba(20, 26, 28, .04), 0 8px 24px rgba(20, 26, 28, .06);--vs-toast-shadow: 0 2px 6px rgba(20, 26, 28, .1), 0 14px 36px rgba(20, 26, 28, .16);--vs-font-mono: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace}[data-theme=dark]{--vs-row-line: #39413f;--vs-chip-bg: #2f3639;--vs-chip-line: #434c50;--vs-chip-ink: #b7bdba;--vs-success-badge: rgba(63, 127, 106, .42);--vs-success-badge-ink: #9fdcc5;--vs-violet: #a99cf7;--vs-shadow: 0 1px 2px rgba(0, 0, 0, .36), 0 8px 26px rgba(0, 0, 0, .34);--vs-toast-shadow: 0 2px 8px rgba(0, 0, 0, .5), 0 16px 40px rgba(0, 0, 0, .55)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:var(--vs-ink);-webkit-box-shadow:0 0 0 1000px var(--vs-bg) inset;box-shadow:0 0 0 1000px var(--vs-bg) inset;caret-color:var(--vs-ink)}.app{width:100%;min-width:var(--vs-app-min);flex:1 1 auto;min-height:0;box-sizing:border-box;background:var(--vs-bg);color:var(--vs-ink);font-family:var(--vs-font-text);font-weight:500;font-size:15px;line-height:1.5;display:flex;flex-direction:column;overflow:hidden}.app *{box-sizing:border-box}.app h1,.app h2,.app h3{font-family:var(--vs-font-display);font-weight:800;letter-spacing:-.02em;margin:0}.app a{color:var(--vs-accent-ink);text-decoration:none;cursor:pointer}.app .mut{color:var(--vs-ink-2)}.app .mut3{color:var(--vs-ink-3)}.app .caps{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--vs-ink-3);font-weight:600}.app .mono{font-family:var(--vs-font-mono)}.app .topbar{flex:none;height:66px;display:flex;align-items:center;gap:18px;padding:0 22px;border-bottom:1px solid var(--vs-line);background:var(--vs-surface);z-index:20}.app .okr-badge{display:inline-flex;align-items:center;padding:5px 12px;border:1px solid var(--vs-warn-line);border-radius:999px;background:var(--vs-warn-soft);color:var(--vs-warn);font-size:12px;font-weight:700;letter-spacing:.06em;white-space:nowrap;cursor:default}.app .okr-badge[data-okruzhenie=prod]{border-color:var(--vs-line);background:var(--vs-surface);color:var(--vs-ink-2);font-weight:600;letter-spacing:.02em}.app .scope{display:flex;gap:6px}.app .scope button{width:104px;height:36px;padding:0;border:1px solid var(--vs-line);background:var(--vs-surface);border-radius:var(--vs-radius-control);font-family:var(--vs-font-text);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--vs-ink-2);cursor:pointer;transition:all var(--vs-dur-fast) var(--vs-ease)}.app .scope button:hover{border-color:var(--vs-accent-line);color:var(--vs-accent-ink);background:var(--vs-accent-soft);transform:translateY(-1px)}.app .scope button.on{background:var(--vs-accent);border-color:var(--vs-accent);color:var(--vs-ink-on-solid);box-shadow:var(--vs-glow)}.app .scope button.on:hover{transform:none}.app .spacer{flex:1}.app .whoami{font-size:13px;color:var(--vs-ink-2);white-space:nowrap}.app .whoami b{color:var(--vs-ink)}.app .iconbtn{width:38px;height:38px;border:1px solid var(--vs-line);border-radius:var(--vs-radius-control);background:var(--vs-surface);color:var(--vs-ink-2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color var(--vs-dur-fast) var(--vs-ease),color var(--vs-dur-fast) var(--vs-ease),background var(--vs-dur-fast) var(--vs-ease);flex:none}.app .iconbtn:hover,.app .iconbtn.on{border-color:var(--vs-accent-line);color:var(--vs-accent-ink);background:var(--vs-accent-soft)}.app .body{flex:1;display:grid;grid-template-columns:288px minmax(0,1fr);min-height:0}.app .rail{position:relative;border-right:1px solid var(--vs-line);background:var(--vs-surface);padding:14px 12px;overflow-y:auto;overflow-x:hidden;min-width:0;min-height:0}.app .resizer{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize;z-index:5}.app .resizer:hover{background:var(--vs-accent-line)}.app .overall{padding:13px 14px;border:1px solid var(--vs-line);background:var(--vs-surface-2);border-radius:var(--vs-radius-card);margin-bottom:14px}.app .overall .r1{display:flex;align-items:baseline;gap:8px;margin-top:2px}.app .overall .big{font-family:var(--vs-font-display);font-weight:900;font-size:36px;letter-spacing:-.01em;line-height:1.05}.app .overall .frac{margin-left:auto;font-weight:700;font-size:14px;color:var(--vs-ink-2);white-space:nowrap}.app .overall .bar{height:6px;border-radius:999px;background:var(--vs-line);margin-top:9px;overflow:hidden}.app .overall .bar i{display:block;height:100%;border-radius:999px;background:var(--vs-accent)}.app .overall .days{display:flex;justify-content:space-between;flex-wrap:wrap;gap:2px 8px;margin-top:8px;font-size:13px}.app .h-ok{background:var(--vs-success-soft)!important;border-color:var(--vs-success-line)!important}.app .h-ok .bar i{background:var(--vs-success)}.app .h-ok .caps{color:var(--vs-success-ink)}.app .h-warn{background:var(--vs-warn-soft)!important;border-color:var(--vs-warn-line)!important}.app .h-warn .bar i{background:var(--vs-warn-bright)}.app .h-warn .caps{color:var(--vs-warn)}.app .h-bad{background:var(--vs-danger-soft)!important;border-color:var(--vs-danger-line)!important}.app .h-bad .bar i{background:var(--vs-danger)}.app .h-bad .caps{color:var(--vs-danger)}.app .stage{padding:9px 10px;border-radius:var(--vs-radius-control);cursor:pointer;margin-bottom:4px;border:1px solid transparent;transition:all var(--vs-dur-fast) var(--vs-ease)}.app .stage:hover{background:var(--vs-surface-2);border-color:var(--vs-line)}.app .stage.cur{border-color:var(--vs-accent-line);background:var(--vs-accent-soft)}.app .stage .r1{display:flex;align-items:center;gap:8px;min-width:0}.app .sdot{width:9px;height:9px;border-radius:999px;flex:none}.app .stage .sname{font-weight:600;font-size:14px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app .stage .spct{font-size:12px;font-weight:700;color:var(--vs-ink-3);flex:none}.app .stage .r2{display:flex;align-items:center;gap:6px;margin-top:7px}.app .stage .bar{height:6px;border-radius:999px;background:var(--vs-line);flex:1;overflow:hidden;min-width:0}.app .stage .bar i{display:block;height:100%;border-radius:999px}.app .ic{display:inline-flex;align-items:center;justify-content:center;gap:3px;height:20px;width:38px;border-radius:6px;font-size:11px;font-weight:700;flex:none;cursor:pointer}.app .ic.blk{background:var(--vs-danger-soft);color:var(--vs-danger)}.app .ic.warn{background:var(--vs-warn-soft, var(--vs-surface-2));color:var(--vs-warn, var(--vs-ink-2))}.app .ic.note{background:var(--vs-surface-2);color:var(--vs-ink-2);border:1px solid var(--vs-line)}.app .s-work{background:var(--vs-warn-bright)}.app .s-todo{background:var(--vs-ink-4)}.app .s-done{background:var(--vs-success)}.app .s-rej{background:var(--vs-ink-4)}.app .main{min-width:0;min-height:0;display:flex;flex-direction:column}.app .tabbar{flex:none;display:flex;gap:6px;padding:10px 16px;border-bottom:1px solid var(--vs-line);background:var(--vs-surface)}.app .tabi{position:relative;width:42px;height:42px;border-radius:var(--vs-radius-control);border:1px solid var(--vs-line);background:var(--vs-surface);color:var(--vs-ink-2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--vs-dur-fast) var(--vs-ease)}.app .tabi:hover{color:var(--vs-accent-ink);border-color:var(--vs-accent-line);background:var(--vs-accent-soft)}.app .tabi.active{color:var(--vs-ink-on-solid);background:var(--vs-accent);border-color:var(--vs-accent);box-shadow:var(--vs-glow)}.app .tabi.soon{cursor:default;opacity:.55}.app .tabi.soon:hover{color:var(--vs-ink-2);border-color:var(--vs-line);background:var(--vs-surface)}.app .tabi .tb{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;font-size:11px;line-height:1;background:var(--vs-danger);color:var(--vs-ink-on-solid);font-weight:700;display:flex;align-items:center;justify-content:center}.app .panelwrap{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;min-width:0}.app .panel{padding:22px 26px 32px;min-width:0}.app .page-h{display:flex;align-items:center;gap:12px;margin-bottom:18px}.app .page-h h1{font-size:26px}.app .card{background:var(--vs-surface);border:1px solid var(--vs-line);border-radius:var(--vs-radius-card);padding:18px;box-shadow:var(--vs-shadow);min-width:0}.app .card .card-h{display:flex;align-items:center;gap:8px;margin-bottom:12px}.app .card .card-h h3{font-size:16px}.app .card .card-h .caps{margin-left:auto}.app .clk{cursor:pointer;transition:border-color var(--vs-dur-fast) var(--vs-ease),transform var(--vs-dur-fast) var(--vs-ease)}.app .clk:hover{border-color:var(--vs-accent-line)}.app .clk:active{transform:translateY(1px)}.app .grid{display:grid;gap:14px;min-width:0}.app .g4{grid-template-columns:repeat(4,minmax(0,1fr))}.app .g3{grid-template-columns:repeat(3,minmax(0,1fr))}.app .g2{grid-template-columns:repeat(2,minmax(0,1fr))}.app .metric{font-family:var(--vs-font-display);font-weight:800;font-size:30px;letter-spacing:-.02em}.app .badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:22px;padding:0 8px;border-radius:var(--vs-radius-badge);font-size:12px;font-weight:600;flex:none}.app .badge.fix{width:96px}.app .b-done{color:var(--vs-success-badge-ink);background:var(--vs-success-badge)}.app .b-work{color:var(--vs-warn);background:var(--vs-warn-soft)}.app .b-todo{color:var(--vs-chip-ink);background:var(--vs-chip-bg)}.app .b-rej{color:var(--vs-ink-4);background:var(--vs-chip-bg)}.app .idp{display:inline-flex;align-items:center;justify-content:center;width:84px;height:22px;font-family:var(--vs-font-mono);font-size:11px;font-weight:700;color:var(--vs-chip-ink);background:var(--vs-chip-bg);border:1px solid var(--vs-chip-line);border-radius:6px;cursor:pointer;flex:none;transition:all var(--vs-dur-fast) var(--vs-ease)}.app .idp.w{width:108px}.app .idp.s{width:48px;height:20px;font-size:10px}.app .idp:hover{color:var(--vs-accent-ink);border-color:var(--vs-accent-line)}.app .idp.copied{color:var(--vs-ink-on-solid);background:var(--vs-accent);border-color:var(--vs-accent)}.app .pill{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:22px;width:44px;border-radius:6px;font-size:11px;font-weight:700;cursor:pointer;flex:none}.app .pill.blk{background:var(--vs-danger-soft);color:var(--vs-danger)}.app .pill.note{background:var(--vs-chip-bg);color:var(--vs-chip-ink);border:1px solid var(--vs-chip-line)}.app .obzor .feed .vs-load{min-height:30px;padding:2px 0;justify-content:center;align-items:center;gap:10px}.app .feed .af{display:flex;align-items:center;gap:10px;padding:2px 8px;border-bottom:1px solid var(--vs-row-line);border-radius:8px;font-size:14px}.app .feed .af:last-child{border-bottom:0}.app .feed .af:hover{background:var(--vs-surface-2)}.app .af .lvl{width:8px;height:8px;border-radius:999px;flex:none}.app .af .txt{flex:1;min-width:0}.app .lv-crit{background:var(--vs-danger)}.app .lv-warn{background:var(--vs-warn-bright)}.app .lv-ok{background:var(--vs-success)}.app .lv-info{background:var(--vs-ink-4)}.app .abtn{width:96px;height:26px;border-radius:8px;border:1px solid var(--vs-chip-line);background:var(--vs-chip-bg);color:var(--vs-ink-2);font-family:var(--vs-font-text);font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:none;transition:all var(--vs-dur-fast) var(--vs-ease)}.app .abtn:hover{border-color:var(--vs-accent);color:var(--vs-ink-on-solid);background:var(--vs-accent);box-shadow:var(--vs-glow)}.app .abtn:active{transform:translateY(1px)}.app .miniplt{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--vs-line);border-radius:var(--vs-radius-control);font-size:13px;cursor:pointer;min-width:0;transition:all var(--vs-dur-fast) var(--vs-ease)}.app .miniplt:hover{border-color:var(--vs-accent-line);background:var(--vs-surface-2)}.app .miniplt .t{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app .empty{padding:10px;border:1px dashed var(--vs-line-soft);border-radius:var(--vs-radius-control);color:var(--vs-ink-4);font-size:13px;text-align:center}.app .toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:nowrap}.app .chip{height:38px;padding:0 12px;border-radius:var(--vs-radius-control);border:1px solid var(--vs-line);background:var(--vs-surface);font-family:var(--vs-font-text);font-size:13px;font-weight:600;color:var(--vs-ink-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:all var(--vs-dur-fast) var(--vs-ease);flex:none}.app .chip:hover{border-color:var(--vs-accent-line);color:var(--vs-accent-ink);background:var(--vs-accent-soft)}.app .chip.on{background:var(--vs-accent-soft);border-color:var(--vs-accent-line);color:var(--vs-accent-ink)}.app .chip.f{min-width:100px;justify-content:center;white-space:nowrap}.app .icochip{width:38px;height:38px;padding:0}.app .trow{display:flex;align-items:center;gap:8px;height:40px;padding:0 10px;border-radius:8px;cursor:pointer;min-width:0}.app .trow:hover{background:var(--vs-surface-2)}.app .trow.sel{background:var(--vs-accent-soft)}.app .chev{width:16px;height:16px;color:var(--vs-ink-3);flex:none;transition:transform var(--vs-dur-fast) var(--vs-ease)}.app .chev.open{transform:rotate(90deg)}.app .trow .tname{flex:1;min-width:0;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app .trow.grp .tname{font-weight:700}.app .trow.micro .tname{font-size:14px;color:var(--vs-ink-2)}.app .trow .tright{display:flex;align-items:center;gap:6px;flex:none}.app .info{background:var(--vs-surface);border:1px solid var(--vs-line);border-radius:var(--vs-radius-card);padding:16px;min-width:0}.app .info .kv{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid var(--vs-line-soft);font-size:14px;align-items:center;flex-wrap:wrap}.app .info .kv b{width:84px;color:var(--vs-ink-3);font-weight:600;flex:none}.app .btn{height:36px;padding:0 14px;border-radius:var(--vs-radius-control);border:1px solid var(--vs-line);background:var(--vs-surface);color:var(--vs-ink);font-family:var(--vs-font-text);font-weight:600;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:none;transition:all var(--vs-dur-fast) var(--vs-ease)}.app .btn:hover{border-color:var(--vs-accent-line);background:var(--vs-accent-soft);color:var(--vs-accent-ink)}.app .who{width:10px;height:10px;border-radius:999px;flex:none;display:inline-block}.app .who.teal{background:var(--vs-owner-teal)}.app .who.violet{background:var(--vs-owner-violet)}.app .who.amber{background:var(--vs-owner-amber)}.app .who.rose{background:var(--vs-owner-rose)}.app .who.sky{background:var(--vs-owner-sky)}.app .who.lime{background:var(--vs-owner-lime)}.app .who.ozon{background:var(--vs-owner-ozon)}.app .who.wb{background:var(--vs-owner-wb)}.app .who.market{background:var(--vs-owner-market)}.app .who.a{background:var(--vs-ink-4)}.app .dfi{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:2px solid transparent;border-radius:9px;cursor:pointer;transition:background var(--vs-dur-fast) var(--vs-ease),transform var(--vs-dur-fast) var(--vs-ease);background:transparent}.app .dfi:hover{background:var(--vs-accent-soft)}.app .dfi:active{transform:translateY(1px)}.app .dfi svg{width:28px;height:28px}.app a.dfi.df-none{color:var(--vs-ink-4)}.app a.dfi.df-req{color:var(--vs-violet);border:2px dashed var(--vs-violet)}.app a.dfi.df-draft{color:var(--vs-warn-bright)}.app a.dfi.df-ok{color:var(--vs-accent)}.app .kanban{display:grid;gap:12px;align-items:start}.app .kcol{background:var(--vs-surface-2);border:1px solid var(--vs-line);border-radius:var(--vs-radius-card);padding:10px;min-width:0}.app .kcol-h{display:flex;align-items:center;gap:7px;margin-bottom:10px;font-weight:700;font-size:13px}.app .kcol-h .c{margin-left:auto;color:var(--vs-ink-3)}.app .kcard{min-height:96px;display:flex;flex-direction:column;border:1px solid var(--vs-line);border-top-width:4px;border-radius:10px;padding:10px 12px;margin-bottom:8px;cursor:pointer;transition:all var(--vs-dur-fast) var(--vs-ease);background:var(--vs-surface);min-width:0}.app .kcard:hover{box-shadow:var(--vs-shadow);transform:translateY(-1px)}.app .kcard.k-work{background:var(--vs-warn-soft);border-top-color:var(--vs-warn-bright)}.app .kcard.k-todo{background:var(--vs-surface);border-top-color:var(--vs-ink-4)}.app .kcard.k-done{background:var(--vs-success-soft);border-top-color:var(--vs-success)}.app .kcard.k-rejected{background:var(--vs-surface-2);border-top-color:var(--vs-ink-4);color:var(--vs-ink-4);text-decoration:line-through}.app .kcard .kt{font-size:13px;font-weight:600;flex:1}.app .kcard .km{display:flex;align-items:center;gap:6px;margin-top:8px;flex-wrap:wrap}.app .stub{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:320px;color:var(--vs-ink-3);text-align:center}.app .stub h3{color:var(--vs-ink-2);font-size:18px}.app .search{width:300px;display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border:1px solid var(--vs-line);border-radius:var(--vs-radius-control);background:var(--vs-bg);color:var(--vs-ink-3);font-size:14px;cursor:text;flex:none}.app .search input{border:0;outline:0;background:transparent;color:var(--vs-ink);font:inherit;width:100%;padding:0}.app .search input::placeholder{color:var(--vs-ink-3)}.app .searchbox{position:relative;flex:none}.app .searchbox.on .search{border-color:var(--vs-accent)}.app .found{position:absolute;z-index:60;top:calc(100% + 6px);left:0;width:660px;padding:4px;border:1px solid var(--vs-line);border-radius:var(--vs-radius-card);background:var(--vs-surface);box-shadow:var(--vs-shadow);max-height:60vh;overflow:auto}.app .found .row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--vs-radius-control);cursor:pointer}.app .found .row.hover{background:var(--vs-surface-2)}.app .found .row .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--vs-size-ui)}.app .found .row .t mark{background:var(--vs-accent-soft);color:var(--vs-accent-ink);border-radius:3px;padding:0 1px}.app .found .row .st{flex:none;font-size:var(--vs-size-xs);color:var(--vs-ink-3)}.app .found .none{padding:10px 8px;font-size:var(--vs-size-ui);color:var(--vs-ink-2)}.app .vydelen{animation:vs-vydelen .3s ease-out 3}@keyframes vs-vydelen{0%{box-shadow:0 0 0 0 var(--vs-accent-soft)}40%{box-shadow:0 0 16px 4px var(--vs-accent)}to{box-shadow:0 0 0 0 var(--vs-accent-soft)}}@media (prefers-reduced-motion: reduce){.app .vydelen{animation:none;box-shadow:0 0 16px 2px var(--vs-accent)}}.app .bell{position:relative}.app .bell.ring{flex:none;box-shadow:var(--vs-glow-bell)}.app .bell.ring svg{transform-origin:50% 3px;animation:vs-bell-ring 2.4s ease-in-out infinite}@keyframes vs-bell-ring{0%,70%,to{transform:rotate(0)}74%{transform:rotate(14deg)}78%{transform:rotate(-12deg)}82%{transform:rotate(9deg)}86%{transform:rotate(-6deg)}90%{transform:rotate(3deg)}}.app .bell .b{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--vs-danger);color:var(--vs-ink-on-solid);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.app .vs-tip{position:fixed;z-index:9999;pointer-events:none;max-width:280px;padding:6px 9px;border-radius:8px;background:var(--vs-ink);color:var(--vs-surface);font-family:var(--vs-font-text);font-size:12px;font-weight:600;line-height:1.35;box-shadow:var(--vs-shadow)}.app .agrp{display:flex;align-items:center;gap:7px;padding:7px 2px;cursor:pointer;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--vs-ink-3)}.app .agrp:hover{color:var(--vs-accent-ink)}.app .agrp .c{margin-left:auto;color:var(--vs-ink-4)}.app .grpbtn{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--vs-line);border-radius:7px;background:var(--vs-surface);color:var(--vs-ink-3);cursor:pointer;flex:none;transition:all var(--vs-dur-fast) var(--vs-ease)}.app .grpbtn:hover{border-color:var(--vs-accent-line);color:var(--vs-accent-ink);background:var(--vs-accent-soft)}.app .grpbtn svg{width:14px;height:14px}.app .gate{display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:var(--vs-radius-card);background:var(--vs-warn-soft);color:var(--vs-ink);margin-bottom:16px;font-size:14px;line-height:1.5}.app .gate .gi{width:32px;height:32px;border-radius:9px;background:var(--vs-warn-bright);color:var(--vs-ink-on-solid);display:flex;align-items:center;justify-content:center;flex:none}.app .gate .gi svg{width:18px;height:18px}.app .gate.hard{background:var(--vs-danger-soft)}.app .gate.hard .gi{background:var(--vs-danger)}.app .colhead{display:flex;align-items:center;gap:8px;margin:0 0 10px}.app .colhead h2{font-size:18px}.app .colhead .cnt{background:var(--vs-surface-2);border:1px solid var(--vs-line);border-radius:999px;font-size:12px;font-weight:700;color:var(--vs-ink-2);padding:1px 9px}.app .bcard{border:1px solid var(--vs-line);border-left-width:3px;border-radius:var(--vs-radius-card);padding:15px;background:var(--vs-surface);min-width:0}.app .bcard.hard{border-left-color:var(--vs-danger)}.app .bcard.thr{border-left-color:var(--vs-warn-bright)}.app .bcard.q{border-left-color:var(--vs-accent)}.app .bcard.idea{border-left-color:var(--vs-ink-4)}.app .bh{display:flex;align-items:center;gap:10px;min-width:0}.app .bh b{font-size:16px;flex:1;min-width:0}.app .b-q{color:var(--vs-accent-ink);background:var(--vs-accent-soft)}.app .btext{margin-top:7px;font-size:13.5px;line-height:1.55;color:var(--vs-ink-2)}.app .bmeta{margin-top:9px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 18px;font-size:13px;color:var(--vs-ink-2)}.app .bmeta .caps{margin-right:5px}.app .btheme{flex:none;font-size:12px;color:var(--vs-ink-3);border-bottom:1px dotted var(--vs-line);cursor:default}.app .cls-hard{color:var(--vs-danger);background:var(--vs-danger-soft);border-color:var(--vs-danger-line)}.app .cls-thr{color:var(--vs-warn);background:var(--vs-warn-soft);border-color:var(--vs-warn-bright)}.app .answer{margin-top:12px;display:flex;gap:8px}.app .answer textarea{flex:1;min-height:40px;resize:vertical;border:1px solid var(--vs-line);border-radius:var(--vs-radius-control);padding:9px 11px;font-family:var(--vs-font-text);font-size:14px;background:var(--vs-bg);color:var(--vs-ink);min-width:0}.app .answer textarea:focus{outline:none;border-color:var(--vs-accent-line)}.app .answer-err{margin-top:8px;font-size:13px;color:var(--vs-danger)}.app .btn-acc{background:var(--vs-accent);border-color:var(--vs-accent);color:var(--vs-ink-on-solid)}.app .btn-acc:hover{background:var(--vs-accent-ink);border-color:var(--vs-accent-ink);color:var(--vs-ink-on-solid)}.app .btn.dis{opacity:.45;cursor:not-allowed}.app .btn.dis:hover{background:var(--vs-surface);border-color:var(--vs-line);color:var(--vs-ink)}.app .btn-acc.dis:hover{background:var(--vs-accent);border-color:var(--vs-accent);color:var(--vs-ink-on-solid)}.app .decided{margin-top:12px;display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 12px;border:1px dashed var(--vs-accent-line);border-radius:var(--vs-radius-control);background:var(--vs-accent-soft);font-size:14px}.app .decided .t{flex:1;min-width:0}.app .deps-list{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;min-width:0}.app .prc{border:1px solid var(--vs-line);border-left-width:3px;border-radius:var(--vs-radius-card);background:var(--vs-surface);min-width:0}.app .prc .prh{display:flex;align-items:center;gap:10px;padding:14px 18px;cursor:pointer;min-width:0}.app .prc .prh b{font-size:16px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app .prc .prb{padding:0 18px 16px 44px}.app .prc .prfoot{display:flex;align-items:center;gap:10px;margin-top:14px;flex-wrap:wrap}.app .prc .prfoot .btn{text-decoration:none}.app .chk{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;flex:none}.app .chk svg{width:13px;height:13px}.app .chk-success{color:var(--vs-success);background:color-mix(in srgb,var(--vs-success) 14%,transparent)}.app .chk-failure{color:var(--vs-danger);background:color-mix(in srgb,var(--vs-danger) 14%,transparent)}.app .chk-pending{color:var(--vs-ink-3);background:color-mix(in srgb,var(--vs-ink-3) 14%,transparent)}.app .prnote{border:1px solid var(--vs-line);border-left:3px solid var(--vs-warn-bright);border-radius:var(--vs-radius-card);background:var(--vs-surface);padding:12px 16px;margin-bottom:16px;font-size:14px;line-height:1.5;color:var(--vs-ink-2)}.app .prc .prbody{margin:14px 0}.app .prc .prbtext{margin-top:6px;max-height:420px;overflow:auto;padding:10px 14px;background:var(--vs-bg);border:1px solid var(--vs-line);border-radius:var(--vs-radius-control)}.app .prc .prbtext>:first-child{margin-top:0}.app .prc .prbtext>:last-child{margin-bottom:0}.app .prc .prfiles{margin-top:14px;display:flex;flex-direction:column;gap:4px}.app .prc .prfile{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--vs-ink-2);padding:3px 0;border-bottom:1px dashed var(--vs-line);min-width:0}.app .prc .prfile .mono{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app .lnk{color:var(--vs-accent-ink);text-decoration:none}.app .lnk:hover{text-decoration:underline}.app .prc .prmore{font-size:12px;color:var(--vs-ink-3);cursor:pointer;padding-top:2px}.app .prc .prmore:hover{color:var(--vs-accent-ink)}.app .aq{display:flex;align-items:center;gap:10px;padding:3px 2px;border-bottom:1px solid var(--vs-row-line);height:33px;min-width:0;flex-wrap:nowrap}.app .aq:last-child{border-bottom:0}.app .aq-kind{flex:none;font-size:13px;font-weight:600;color:var(--vs-ink)}.app .aq-text{flex:1;min-width:140px;font-size:13.5px;line-height:1.5;color:var(--vs-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app .aq-who{flex:none;font-size:12px}.app .helpgrid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px;align-items:start}.app .helpgrid>.card:first-child{position:sticky;top:0;max-height:calc(100vh - 150px);overflow-y:auto}.app .toc{display:flex;flex-direction:column;gap:2px;margin-top:8px}.app .toc a{padding:7px 10px;border-radius:var(--vs-radius-control);font-size:13.5px;color:var(--vs-ink-2);cursor:pointer;text-decoration:none}.app .toc a:hover{background:var(--vs-chip-bg);color:var(--vs-ink)}.app .toc a.on{background:var(--vs-accent-soft);color:var(--vs-accent-ink);font-weight:600}.app .helph{font-size:19px;margin-bottom:14px}.app .helpbody{font-size:14px;line-height:1.65;color:var(--vs-ink-2);min-width:0}.app .helpbody h2{font-size:16px;color:var(--vs-ink);margin:26px 0 8px}.app .helpbody h3{font-size:14.5px;color:var(--vs-ink);margin:20px 0 6px}.app .helpbody p{margin:10px 0}.app .helpbody b{color:var(--vs-ink)}.app .helpbody a{color:var(--vs-accent-ink);cursor:pointer}.app .helpbody ul,.app .helpbody ol{margin:10px 0;padding-left:22px}.app .helpbody li{margin:5px 0}.app .helpbody code{font-family:var(--vs-font-mono);font-size:12.5px;background:var(--vs-chip-bg);color:var(--vs-chip-ink);padding:1px 5px;border-radius:4px}.app .helpbody pre{background:var(--vs-bg);border:1px solid var(--vs-line);border-radius:var(--vs-radius-control);padding:12px 14px;overflow-x:auto}.app .helpbody pre code{background:none;padding:0}.app .helpbody table{border-collapse:collapse;width:100%;margin:12px 0;display:block;overflow-x:auto}.app .helpbody th,.app .helpbody td{border:1px solid var(--vs-line);padding:7px 10px;text-align:left;vertical-align:top;font-size:13px}.app .helpbody th{background:var(--vs-bg);color:var(--vs-ink)}.app .helpbody blockquote{margin:12px 0;padding:2px 14px;border-left:3px solid var(--vs-accent);color:var(--vs-ink-3)}.app .helpbody hr{border:0;border-top:1px solid var(--vs-line);margin:22px 0}.app .legend{display:flex;flex-direction:column;gap:2px;margin:12px 0;border:1px solid var(--vs-line);border-radius:var(--vs-radius-card);padding:6px 12px;background:var(--vs-bg)}.app .legend .lrow{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--vs-line)}.app .legend .lrow:last-child{border-bottom:0}.app .legend .lrow b{flex:none;min-width:96px;color:var(--vs-ink);font-size:13.5px}.app .legend .lrow .t{flex:1;min-width:0;font-size:13px;color:var(--vs-ink-2)}.app .legend .lvl{width:9px;height:9px;border-radius:50%;flex:none}.app .helpbody img{display:block;max-width:100%;height:auto;margin:14px 0;border:1px solid var(--vs-line);border-radius:var(--vs-radius-card)}.app .helpbody img{max-width:440px;cursor:zoom-in}.app .zoom{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px;background:var(--vs-overlay);cursor:zoom-out}.app .zoom img{max-width:min(1440px,96vw);max-height:88vh;border:1px solid var(--vs-line);border-radius:var(--vs-radius-card)}.app .zoom .zhint{font-size:12px;color:var(--vs-overlay-ink);letter-spacing:.04em;text-transform:uppercase}.app .prc .prmeta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;font-size:13px;color:var(--vs-ink-2)}.app .prc .prmeta>div{display:flex;align-items:baseline;gap:8px;min-width:0}.app .prc .prmeta>div.wide{grid-column:1 / -1}.app .prc .prmeta b{color:var(--vs-ink-3);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;flex:none;min-width:62px}.app .prc .printro{margin:0 0 14px;font-size:14px;line-height:1.55;color:var(--vs-ink-2)}.app .prc .prwho{flex:none;font-size:13px;color:var(--vs-ink-2);white-space:nowrap}.app .ell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.app .plus{color:var(--vs-success)}.app .minus{color:var(--vs-danger)}.app .pract{margin-top:14px;padding:12px 14px;border:1px solid var(--vs-line);border-radius:var(--vs-radius-card);background:var(--vs-surface-2);display:flex;flex-direction:column;gap:6px}.app .pract>b{font-size:14px}.app .pract .mut3{font-size:13px}.app .pract textarea{width:100%;resize:vertical;border:1px solid var(--vs-line);border-radius:var(--vs-radius-control);padding:9px 11px;font-family:var(--vs-font-text);font-size:14px;background:var(--vs-bg);color:var(--vs-ink)}.app .pract textarea:focus{outline:none;border-color:var(--vs-accent-line)}.app .prerr{margin-top:10px;font-size:13px;color:var(--vs-danger)}.app .prok{margin-top:10px;font-size:13px;color:var(--vs-success)}.app .btn-danger{color:var(--vs-danger)}.app .btn-danger:hover{border-color:var(--vs-danger);background:color-mix(in srgb,var(--vs-danger) 10%,transparent);color:var(--vs-danger)}.app .btn:disabled{opacity:.45;cursor:not-allowed}.app .btn:disabled:hover{border-color:var(--vs-line);background:var(--vs-surface);color:var(--vs-ink)}.app .btn-acc:disabled:hover{background:var(--vs-accent);border-color:var(--vs-accent);color:var(--vs-ink-on-solid)}.app .setgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch}.app .setcol{display:grid;grid-template-rows:1fr 1fr;gap:14px;min-width:0}@media (max-width: 1100px){.app .setgrid{grid-template-columns:minmax(0,1fr)}.app .setcol{grid-template-rows:auto auto}}.app .card.set.wide{grid-column:1 / -1}.app .card.set{padding:16px 18px;margin-bottom:0;display:flex;flex-direction:column;gap:12px;min-width:0}.app .card.set .card-h{margin:0}.app .card.set.sounds .setrow.sound{flex:1}.app .setrow{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;min-width:0}.app .qmark{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;border:1px solid var(--vs-line);color:var(--vs-ink-3);font-size:var(--vs-size-xs);cursor:help;flex:none}.app .seterr{font-size:var(--vs-size-sm);color:var(--vs-danger)}.app .setrow input.nameinput{flex:1 1 auto;min-width:90px;max-width:280px}.app .vline{width:1px;height:22px;background:var(--vs-line);flex:none}.app .swatch{width:20px;height:20px;border-radius:7px;border:none;cursor:pointer;padding:0;background:var(--who, var(--vs-chip-line));box-shadow:0 0 0 1px var(--vs-line) inset;position:relative;flex:none}.app .swatch.on{box-shadow:0 0 0 2px var(--vs-surface) inset,0 0 0 3px var(--who)}.app .swatch:disabled{cursor:default}.app .swatch .dot{position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-radius:999px;background:var(--vs-surface)}.app .tokenhead{display:inline-flex;align-items:center;gap:8px;min-width:0}.app .tokenhead .mid{color:var(--vs-ink-4)}.app .setrow input.tokeninput{flex:1;min-width:0;font-family:var(--vs-font-mono)}.app .btn.tokenbtn{flex:none;width:180px;justify-content:center;white-space:nowrap}.app .facts{display:grid;gap:4px}.app .fact{font-size:var(--vs-size-sm)}.app .fact.ok,.app .fact.x-ok{color:var(--vs-success-ink)}.app .fact.bad,.app .fact.x-bad{color:var(--vs-danger)}.app .fact.x-warn{color:var(--vs-warn)}.app .stepshead{display:flex;align-items:center;gap:12px;margin-bottom:6px}.app .setfoot{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:var(--vs-size-sm)}.app .vsel{position:relative;flex:1 1 auto;min-width:96px}.app .vsel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:34px;padding:0 10px;border:1px solid var(--vs-line);border-radius:var(--vs-radius-control);background:var(--vs-bg);color:var(--vs-ink);font-family:var(--vs-font-text);font-size:var(--vs-size-ui);cursor:pointer}.app .vsel-head:hover{border-color:var(--vs-accent-line)}.app .vsel.open .vsel-head{border-color:var(--vs-accent)}.app .vsel-head .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app .vsel-head svg{flex:none;color:var(--vs-ink-3)}.app .vsel-list{position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;padding:4px;border:1px solid var(--vs-line);border-radius:var(--vs-radius-card);background:var(--vs-surface);box-shadow:var(--vs-shadow);max-height:260px;overflow:auto}.app .vsel-opt{padding:6px 8px;border-radius:var(--vs-radius-control);font-size:var(--vs-size-ui);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app .vsel-opt.hover{background:var(--vs-surface-2)}.app .vsel-opt.on{color:var(--vs-accent-ink);font-weight:var(--vs-weight-strong)}.app .setrow .soundlabel{flex:none;width:176px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--vs-size-ui);color:var(--vs-ink-2)}.app .btn.ghost.play{flex:none;margin-left:auto}.app .setrow>.btn{flex:none;white-space:nowrap}.app .setrow input{flex:1 1 auto;min-width:90px;height:34px;border:1px solid var(--vs-line);border-radius:var(--vs-radius-control);padding:0 11px;font-family:var(--vs-font-text);font-size:14px;background:var(--vs-bg);color:var(--vs-ink)}.app .setrow input:focus{outline:none;border-color:var(--vs-accent-line)}.app .steps{margin-top:14px;border-top:1px solid var(--vs-line-soft);padding-top:12px}.app .steps ol{margin:8px 0 0;padding-left:20px;font-size:13px;line-height:1.7;color:var(--vs-ink-2)}.app .whoami.clk{cursor:pointer;padding:4px 8px;border-radius:var(--vs-radius-control)}.app .whoami.clk:hover,.app .whoami.clk.on{background:var(--vs-accent-soft);color:var(--vs-accent-ink)}.app .msg{display:flex;align-items:center;gap:10px;padding:4px 0;border-bottom:1px solid var(--vs-row-line);font-size:14px;min-width:0}.app .msg .t{flex:1;min-width:0}.app .msg.was{opacity:.55}.app .sep-v{width:1px;height:20px;background:var(--vs-line);flex:none;margin:0 2px}.app .srch{height:30px;min-width:180px;border:1px solid var(--vs-line);border-radius:var(--vs-radius-control);padding:0 10px;font-family:var(--vs-font-text);font-size:13px;background:var(--vs-bg);color:var(--vs-ink)}.app .srch:focus{outline:none;border-color:var(--vs-accent-line)}.app .btn .spin{width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:vs-spin var(--vs-load-spin) linear infinite;flex:none}@keyframes vs-spin{to{transform:rotate(360deg)}}@keyframes vs-ring{to{stroke-dashoffset:-63}}.app .msgscreen{height:100%;display:flex;flex-direction:column;min-height:0;padding-bottom:22px}.app .msgscreen .page-h{flex:none}.app .srch.top{width:300px;height:38px;font-size:14px;padding:0 12px}.app .filters{flex:none;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.app .filters .fl{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.app .filters .fr{display:flex;align-items:center;gap:8px;margin-left:auto;flex:none}.app .filters .icochip{width:38px;min-width:38px;height:38px;padding:0;justify-content:center}.app .filters .icochip svg{width:19px;height:19px}.app .filters .chip.per{width:92px;justify-content:center}.app .filters .chip{white-space:nowrap}.app .msgscreen .split{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.app .msgscreen .msgs,.app .msgscreen .acts{flex-basis:0;min-height:0;display:flex;flex-direction:column}.app .splitter{flex:none;height:14px;cursor:row-resize;display:flex;align-items:center;justify-content:center}.app .splitter:after{content:"";height:3px;width:64px;border-radius:var(--vs-radius-pill);background:var(--vs-chip-line);transition:background var(--vs-dur-fast) var(--vs-ease)}.app .splitter:hover:after{background:var(--vs-accent)}.app .msgscreen .card-h{flex:none}.app .feed.scrollin{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:4px}.app .msgrow{display:flex;align-items:center;gap:10px;padding:4px;border-bottom:1px solid var(--vs-row-line);cursor:pointer;min-width:0;transition:background var(--vs-dur-fast) var(--vs-ease)}.app .msgrow:last-child{border-bottom:0}.app .msgrow:hover{background:var(--vs-surface-2)}.app .msgrow .t{flex:1;min-width:0;font-size:14px;color:var(--vs-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app .msgrow.was .t{color:var(--vs-ink-3);font-weight:500}.app .msgrow:not(.was) .t{font-weight:600}.app .msgrow .tm{font-size:13px;flex:none;font-variant-numeric:tabular-nums}.app .msgrow .dt{font-size:13px;flex:none;width:86px;text-align:right;font-variant-numeric:tabular-nums}.app .ava{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;flex:none;color:var(--vs-accent-on)}.app .who-teal{--who: var(--vs-owner-teal)}.app .who-violet{--who: var(--vs-owner-violet)}.app .who-amber{--who: var(--vs-owner-amber)}.app .who-rose{--who: var(--vs-owner-rose)}.app .who-sky{--who: var(--vs-owner-sky)}.app .who-lime{--who: var(--vs-owner-lime)}.app .who-ozon{--who: var(--vs-owner-ozon)}.app .who-wb{--who: var(--vs-owner-wb)}.app .who-market{--who: var(--vs-owner-market)}.app .ava.who-teal,.app .ava.who-violet,.app .ava.who-amber,.app .ava.who-rose,.app .ava.who-sky,.app .ava.who-lime,.app .ava.who-ozon,.app .ava.who-wb,.app .ava.who-market{background:var(--who)}.app .ava.who-market{color:var(--vs-ink)}.app .ava.who-all{--who: var(--vs-chip-line);background:var(--vs-chip-bg);border:1px solid var(--vs-chip-line);color:var(--vs-ink-3)}.app .ava.tog{cursor:pointer;transition:background var(--vs-dur-fast) ease,color var(--vs-dur-fast) ease,box-shadow var(--vs-dur-fast) ease}.app .ava.tog.off{background:transparent;box-shadow:inset 0 0 0 1.5px var(--who);color:var(--who)}.app .ava.tog.off:hover{background:color-mix(in srgb,var(--who) 14%,transparent)}.app .ava.tog.on:hover{box-shadow:0 0 0 2px color-mix(in srgb,var(--who) 35%,transparent)}.app .kicon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:none}.app .kicon svg{width:18px;height:18px}.app .kicon.k-crit{color:var(--vs-danger)}.app .kicon.k-warn{color:var(--vs-warn)}.app .kicon.k-ok{color:var(--vs-accent)}.app .kicon.k-info{color:var(--vs-ink-4)}.app .toast{position:fixed;right:22px;bottom:22px;z-index:70;max-width:420px;display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--vs-accent-soft);border:1px solid var(--vs-accent-line);border-left:4px solid var(--vs-accent);border-radius:var(--vs-radius-card);box-shadow:var(--vs-toast-shadow);cursor:pointer;animation:vs-toast-in var(--vs-dur) var(--vs-ease)}.app .toast.l-crit{background:var(--vs-danger-soft);border-color:var(--vs-danger-line);border-left-color:var(--vs-danger)}.app .toast.l-warn{background:var(--vs-warn-soft);border-color:var(--vs-warn-bright);border-left-color:var(--vs-warn)}.app .toast .t{font-size:14px;color:var(--vs-ink);min-width:0}.app .toast .x{color:var(--vs-ink-4);font-size:13px;padding:0 2px;flex:none}.app .toast .x:hover{color:var(--vs-ink-2)}@keyframes vs-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.app .obzor .feed{max-height:102px;overflow-y:auto;padding-right:4px}.app .obzor .feed .af{padding:2px 8px}.app *::-webkit-scrollbar{width:10px;height:10px}.app *::-webkit-scrollbar-track{background:transparent}.app *::-webkit-scrollbar-thumb{background:var(--vs-chip-line);border:2px solid transparent;background-clip:padding-box;border-radius:var(--vs-radius-pill)}.app *::-webkit-scrollbar-thumb:hover{background:var(--vs-ink-4);background-clip:padding-box}.app *{scrollbar-width:thin;scrollbar-color:var(--vs-chip-line) transparent}.app .aq .btn{width:96px;height:26px;padding:0;font-size:13px;font-weight:600;color:var(--vs-ink-2);border-color:var(--vs-chip-line);background:var(--vs-chip-bg);border-radius:8px}.app .aq .badge{height:20px}.app .tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80}.app .tour-hole{position:fixed;pointer-events:none;box-shadow:0 0 0 9999px var(--vs-tour-dim);transition:left var(--vs-tour-move) var(--vs-ease),top var(--vs-tour-move) var(--vs-ease),width var(--vs-tour-move) var(--vs-ease),height var(--vs-tour-move) var(--vs-ease),border-radius var(--vs-tour-move) var(--vs-ease)}.app .tour-blur{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.app .tour-card{position:fixed;width:380px;border:1px solid var(--vs-line);box-shadow:var(--vs-tour-shadow);animation:vs-fade-in var(--vs-tour-move) var(--vs-ease);transition:left var(--vs-tour-move) var(--vs-ease),top var(--vs-tour-move) var(--vs-ease);max-width:calc(100vw - 32px);background:var(--vs-surface);border-radius:var(--vs-radius-card);padding:16px 18px}.app .tour-h{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.app .tour-h b{font-family:var(--vs-font-display);font-size:16px;color:var(--vs-ink);flex:1}.app .tour-h .mut3{font-size:12px;flex:none}.app .tour-t{font-size:14px;line-height:1.5;color:var(--vs-ink-2);margin-bottom:14px}.app .tour-f{display:flex;align-items:center;gap:8px}.app .tour-f .icochip{width:36px;min-width:36px;height:36px;padding:0;justify-content:center;background:var(--vs-chip-bg);border-color:var(--vs-chip-line)}.app .tour-f .icochip.on{background:var(--vs-accent-soft);border-color:var(--vs-accent);color:var(--vs-accent-ink)}.app .tour-next .chip{background:var(--vs-chip-bg);border-color:var(--vs-chip-line)}.app .tour-next .chip.on{background:var(--vs-accent);border-color:var(--vs-accent);color:var(--vs-ink-on-solid)}.app .tour-next{display:flex;gap:8px;margin-top:10px}.app .tour-next .chip{min-width:0;padding:0 14px}.app .tour-f .chip{min-width:0;padding:0 12px;white-space:nowrap}.app .tour-skip{color:var(--vs-ink-4)}.app .tourbtns{display:flex;gap:8px;flex-wrap:wrap}.app .tourbtns .chip{min-width:0;padding:0 12px}@keyframes vs-fade-in{0%{opacity:0}to{opacity:1}}.vs-load,.vs-load-dot{align-items:center;gap:10px;opacity:0;animation:vs-fade-in var(--vs-dur) linear var(--vs-load-delay) forwards}.vs-load{display:flex;justify-content:center;min-height:var(--vs-load-box);padding:18px 0}.vs-load-dot{display:inline-flex}.vs-ring{width:var(--vs-load-size);height:var(--vs-load-size);flex:none}.vs-ring.dot{width:var(--vs-load-size-s);height:var(--vs-load-size-s);vertical-align:-1px}.vs-ring circle{fill:none;stroke:var(--vs-line);stroke-width:2;stroke-linecap:round;stroke-dasharray:47 16;animation:vs-ring var(--vs-load-spin) linear infinite}.vs-load-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media (prefers-reduced-motion: reduce){.vs-load,.vs-load-dot{opacity:1;animation:none}.vs-ring circle{animation:none;border-right-color:var(--vs-line-soft)}}.app .prtail{min-height:var(--vs-tail-h);display:flex;align-items:center;justify-content:center}.app .prc{animation:vs-fade-in var(--vs-dur) var(--vs-ease)}::view-transition-old(.vs-screen),::view-transition-new(.vs-screen){animation-duration:var(--vs-dur);animation-timing-function:var(--vs-ease)}::view-transition-old(.vs-screen){animation-name:vs-fade-out}::view-transition-new(.vs-screen){animation-name:vs-fade-in}@keyframes vs-fade-out{to{opacity:0}}@media (prefers-reduced-motion: reduce){::view-transition-old(.vs-screen),::view-transition-new(.vs-screen){animation-duration:1ms}}.app .vitrina-row{display:flex;align-items:center;gap:8px;margin:10px 0;flex-wrap:wrap}.app .vitrina-box{border:1px solid var(--vs-chip-line);border-radius:var(--vs-radius-card);padding:14px;height:76px;display:flex;align-items:center;overflow:hidden}.app .vitrina-scroll{max-height:220px;overflow-y:auto;border:1px solid var(--vs-chip-line);border-radius:var(--vs-radius-card);padding:4px 0}.app .vitrina-line{display:flex;gap:10px;align-items:center;padding:7px 14px;font-size:14px;color:var(--vs-ink-2)}@supports (animation-timeline: view()){.app .vitrina-reveal .vitrina-line{animation:vs-fade-in linear both;animation-timeline:view();animation-range:entry 0% entry 60%}}.app .vitrina-pkg{border-top:1px solid var(--vs-chip-line);padding:10px 0 2px;font-size:13px;margin-top:10px}.app .vitrina-pkg+.vitrina-pkg{margin-top:0}.app .vitrina-card{border:1px solid var(--vs-chip-line);border-radius:var(--vs-radius-card);padding:14px 18px;font-size:14px;color:var(--vs-ink-2);background:var(--vs-chip-bg)}.app .vitrina-fade{animation:vs-fade-in var(--vs-dur) var(--vs-ease)}.app .vitrina-start{opacity:1;transform:none;transition:opacity var(--vs-dur) var(--vs-ease),transform var(--vs-dur) var(--vs-ease)}@starting-style{.app .vitrina-start{opacity:0;transform:translateY(8px) scale(.96)}}.app .vitrina-scroll-motion{overflow:hidden;overscroll-behavior:contain;touch-action:none}.app .vitrina-cards{display:flex;gap:10px;flex-wrap:wrap;min-height:60px;align-items:flex-start}.app .vitrina-screen{border:1px solid var(--vs-chip-line);border-radius:var(--vs-radius-card);padding:14px;height:92px;overflow:hidden}.app .vitrina-screen-motion{position:relative}.vitrina-fl-tip{z-index:9999;pointer-events:none;max-width:280px;padding:6px 9px;border-radius:8px;background:var(--vs-ink);color:var(--vs-surface);font-family:var(--vs-font-text);font-size:12px;font-weight:600;line-height:1.35;box-shadow:var(--vs-shadow)}.app .vitrina-knobs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 18px;margin:4px 0 12px}.app .vitrina-knob{display:flex;flex-direction:column;gap:2px;font-size:13px}.app .vitrina-knob input[type=range]{width:100%;accent-color:var(--vs-accent)}.app .vitrina-knob-hint{font-size:12px}.app .deplist{display:flex;flex-direction:column}.app .depline{display:flex;align-items:center;gap:8px;min-height:34px;padding:4px 8px;border-bottom:1px solid var(--vs-row-line);border-radius:8px;font-size:var(--vs-size-ui);min-width:0}.app .depline:last-child{border-bottom:0}.app .depline:hover{background:var(--vs-surface-2)}.app .depnode{display:inline-flex;align-items:center;gap:8px;min-width:0;flex:0 1 auto}.app .depnode .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app .depline .mono{flex:none;font-family:var(--vs-font-mono);font-size:var(--vs-size-xs);color:var(--vs-ink-3)}.app .depline .arrow{flex:none;white-space:nowrap;font-size:var(--vs-size-xs);color:var(--vs-ink-4)}.app .depline .est{flex:none;font-size:var(--vs-size-sm);min-width:28px;text-align:right}.app .depline .badge{flex:none}.app .depchain{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.app .depstep{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--vs-line);border-radius:var(--vs-radius-control);background:var(--vs-surface-2);font-size:var(--vs-size-ui);max-width:100%;min-width:0}.app .depstep .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app .seg{display:inline-flex;border:1px solid var(--vs-line);border-radius:var(--vs-radius-pill);background:var(--vs-surface-2);padding:2px;gap:2px}.app .seg button{border:0;background:transparent;color:var(--vs-ink-3);font:inherit;font-size:13px;font-weight:600;padding:4px 14px;border-radius:var(--vs-radius-pill);cursor:pointer;transition:all var(--vs-dur-fast) var(--vs-ease)}.app .seg button.on{background:var(--vs-surface);color:var(--vs-ink);box-shadow:var(--vs-shadow)}.app .stat-2{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:stretch}.app .stat-2>.card,.app .stat-4>.card{display:flex;flex-direction:column}.app .stat-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}@media (max-width: 1100px){.app .stat-2,.app .stat-4{grid-template-columns:minmax(0,1fr)}}.app .stat-owner{display:grid;grid-template-columns:160px minmax(0,1fr);gap:18px;align-items:start;padding:14px 0;border-top:1px solid var(--vs-line-soft)}.app .stat-owner:first-of-type{border-top:0;padding-top:4px}.app .stat-ring-wrap{text-align:center;display:flex;flex-direction:column;align-items:center;gap:3px;max-width:160px}.app .stat-ring-wrap .badge{white-space:nowrap;font-size:10px}.app .stat-ring-wrap .mut3{font-size:11px;line-height:1.35}.app .stat-ring-wrap .who-name{font-weight:700;font-size:15px;margin-top:-6px}.app .stat-ring .bg{fill:none;stroke:var(--vs-line);stroke-width:9;stroke-linecap:round}.app .stat-ring .fg{fill:none;stroke:var(--vs-accent);stroke-width:9;stroke-linecap:round;transition:stroke-dashoffset var(--vs-dur) var(--vs-ease)}.app .stat-ring.grey .fg{stroke:var(--vs-ink-4)}.app .stat-ring .num{font-family:var(--vs-font-display);font-size:30px;font-weight:700;fill:var(--vs-ink)}.app .stat-scales{display:flex;flex-direction:column;gap:10px;min-width:0}.app .stat-scale .row{display:grid;grid-template-columns:130px minmax(0,1fr) 34px;gap:10px;align-items:center;cursor:pointer}.app .stat-scale .nm{font-weight:600;font-size:14px}.app .stat-scale .track{height:8px;border-radius:999px;background:var(--vs-surface-2);border:1px solid var(--vs-line);overflow:hidden}.app .stat-scale .track i{display:block;height:100%;background:var(--vs-accent);transition:width var(--vs-dur) var(--vs-ease)}.app .stat-scale .val{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.app .stat-scale .why{font-size:12px;padding-left:140px}.app .stat-scale.open .nm{color:var(--vs-accent-ink)}.app .stat-weeks{position:relative;display:flex;align-items:flex-end;gap:8px;height:190px;padding:18px 4px 0}.app .stat-weeks .avg{position:absolute;left:0;right:0;border-top:1px dashed var(--vs-ink-4);pointer-events:none}.app .stat-weeks .avg b{position:absolute;right:0;top:-9px;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--vs-ink-3);background:var(--vs-surface);padding:0 5px}.app .stat-week{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;cursor:pointer}.app .stat-week .v{font-size:12px;font-weight:700;color:var(--vs-ink-2);font-variant-numeric:tabular-nums}.app .stat-week .stem{width:2px;background:var(--vs-line);position:relative;margin-top:4px;transform-origin:bottom;animation:stat-grow var(--vs-dur) var(--vs-ease) backwards;animation-delay:calc(var(--i, 0) * 60ms)}.app .stat-week .stem i{position:absolute;top:-5px;left:50%;width:11px;height:11px;margin-left:-5.5px;border-radius:999px;background:var(--vs-ink-2)}.app .stat-week.on .stem i,.app .stat-week:hover .stem i{background:var(--vs-accent)}.app .stat-week.now .stem,.app .stat-week.now .v{opacity:.55}.app .stat-week .lbl{font-size:11px;color:var(--vs-ink-3);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}@keyframes stat-grow{0%{transform:scaleY(0)}}.app .stat-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.app .stat-val .big,.app .stat-small .big{font-family:var(--vs-font-display);font-size:30px;font-weight:700;line-height:1.1}.app .stat-val .mut3{font-size:11px;line-height:1.4}.app .stat-val .big .u,.app .stat-small .big .u{font-size:14px;font-weight:600;color:var(--vs-ink-3);margin-left:3px}.app .stat-small .low{margin-top:4px;font-size:11px}.app .stat-hold{margin-top:12px;padding:9px 12px;border:1px solid var(--vs-danger-line);background:var(--vs-danger-soft);border-radius:var(--vs-radius-card);font-size:13px;cursor:pointer}.app .stat-bar{display:grid;grid-template-columns:72px minmax(0,1fr) 56px;gap:10px;align-items:center;padding:7px 0;cursor:pointer}.app .stat-bar .id{font-family:var(--vs-font-mono);font-size:12px;color:var(--vs-ink-2)}.app .stat-bar .track{display:flex;height:12px;border-radius:999px;overflow:hidden;background:var(--vs-surface-2)}.app .stat-bar .track i{display:block;height:100%;transition:width var(--vs-dur) var(--vs-ease)}.app .stat-bar .track .done{background:var(--vs-accent)}.app .stat-bar .track .left{background:repeating-linear-gradient(135deg,var(--vs-line),var(--vs-line) 3px,transparent 3px,transparent 6px)}.app .stat-bar .mut3{text-align:right;font-variant-numeric:tabular-nums}.app .stat-level{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--vs-line-soft)}.app .stat-level:last-child{border-bottom:0}.app .stat-level .t{flex:1;font-size:14px}.app .stat-level.a3 .t{font-weight:600;color:var(--vs-accent-ink)}.app .stat-list{margin-top:10px;padding:10px 12px;background:var(--vs-surface-2);border:1px solid var(--vs-line);border-radius:var(--vs-radius-card)}.app .stat-list .row{display:grid;grid-template-columns:96px minmax(0,1fr) 42px;gap:10px;align-items:center;padding:5px 0;cursor:pointer;font-size:13px}.app .stat-list .row:hover .nm{color:var(--vs-accent-ink)}.app .stat-list .row .id{font-family:var(--vs-font-mono);font-size:12px;color:var(--vs-ink-3)}.app .stat-list .row .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app .stat-list .row .mut3{text-align:right}.app .stat-note{margin-top:10px;font-size:12px}.app .stat-ground{margin-top:14px;padding:12px 14px;border:1px dashed var(--vs-line);border-radius:var(--vs-radius-card);font-size:12px;line-height:1.6;color:var(--vs-ink-3)}.app .stat-ground b{color:var(--vs-ink-2)}
