@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-vietnamese-400-normal-BNOj0Qhp.woff2) format("woff2"),url(/assets/space-mono-vietnamese-400-normal-B0PMp_xB.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-latin-ext-400-normal-DTLbW2xa.woff2) format("woff2"),url(/assets/space-mono-latin-ext-400-normal-D4cJI_B-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-latin-400-normal-Rg4St2Dn.woff2) format("woff2"),url(/assets/space-mono-latin-400-normal-_3DlpgIW.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-vietnamese-700-normal-DWQgDHuA.woff2) format("woff2"),url(/assets/space-mono-vietnamese-700-normal-D-KrLuLr.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-latin-ext-700-normal-B2s3bDs2.woff2) format("woff2"),url(/assets/space-mono-latin-ext-700-normal-B_E7P90g.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-latin-700-normal-mWgeinG7.woff2) format("woff2"),url(/assets/space-mono-latin-700-normal-D7A851RN.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #F8F6F4;--surface: #FFFFFF;--fill: #FFFFFF;--fill-h: #E7E3DE;--border: #E4DFDA;--border-2: #ECE8E4;--tx: #1A1613;--tx-2: #6F6862;--tx-3: #A09890;--ink: #1F1A17;--n50: #FFFFFF;--n300: #D2CCC5;--primary: #E84A01;--primary-h: #C13D02;--on-primary: #FFFFFF;--indigo-50: #FEF1EA;--indigo-100: #FDDFCF;--indigo-300: #F69E70;--indigo-600: #E84A01;--indigo-700: #C13D02;--secondary-raw: #138A72;--secondary-50: #E2F2EE;--success: #2F9272;--success-bg: #E2F2EC;--success-tx: #246B53;--warning: #C8911E;--warning-bg: #F8EDD3;--warning-tx: #8A6310;--danger: #D23B4E;--danger-bg: #FAE1E3;--danger-tx: #A82C3C;--info-bg: #FEF1EA;--info-tx: #C13D02;--focus: 0 0 0 4px rgba(232, 74, 1, .28);--font-sans: "Hanken Grotesk Variable", "Hanken Grotesk", ui-sans-serif, system-ui, sans-serif;--font-mono: "Space Mono", ui-monospace, "SF Mono", Menlo, monospace;--r-xs: 9px;--r-sm: 12px;--r-md: 14px;--r-lg: 20px;--r-full: 999px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 20px;--s6: 24px;--s8: 32px;--sh-xs: 0 1px 2px rgba(20,20,25,.04);--sh-sm: 0 1px 3px rgba(20,20,25,.05), 0 1px 2px rgba(20,20,25,.03);--sh-md: 0 8px 24px -12px rgba(20,20,25,.12), 0 2px 6px -3px rgba(20,20,25,.05);--sh-lg: 0 20px 44px -18px rgba(20,20,25,.16), 0 8px 18px -12px rgba(20,20,25,.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--tx);font-family:var(--font-sans)}.row{display:flex;align-items:center}.col{display:flex;flex-direction:column}.gap2{gap:8px}.gap3{gap:12px}.gap4{gap:16px}.between{justify-content:space-between}.acenter{align-items:center}.h2{font-size:1.55rem;font-weight:700;letter-spacing:-.025em;line-height:1.2;margin:0}.small{font-size:.82rem}.muted{color:var(--tx-2)}.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-3)}.ds-brand-mark{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-sm);background:var(--ink);flex-shrink:0;padding:8px}.ds-brand-mark img{width:100%;height:100%}.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 20px;border-radius:var(--r-sm);font-weight:600;font-size:.875rem;border:none;cursor:pointer;transition:all .15s ease;white-space:nowrap;text-decoration:none;font-family:var(--font-sans)}.ds-btn:disabled{opacity:.5;pointer-events:none}.ds-btn:focus-visible{outline:none;box-shadow:var(--focus)}.ds-btn-primary{background:var(--primary);color:var(--on-primary)}.ds-btn-primary:hover{background:var(--primary-h)}.ds-btn-secondary{background:var(--fill);color:var(--tx);border:1px solid var(--border)}.ds-btn-secondary:hover{background:var(--fill-h)}.ds-btn-ghost{background:transparent;color:var(--tx-2)}.ds-btn-ghost:hover{background:var(--fill);color:var(--tx)}.ds-btn-lg{height:50px;padding:0 28px;font-size:.95rem;border-radius:var(--r-md)}.ds-btn-block{width:100%}.ds-field{display:flex;flex-direction:column;gap:6px}.ds-label{font-size:.82rem;font-weight:600;color:var(--tx)}.ds-input{height:48px;width:100%;padding:0 16px;background:var(--fill);border:2px solid var(--border);border-radius:var(--r-sm);font-size:.9rem;color:var(--tx);font-family:var(--font-sans);transition:border-color .15s,box-shadow .15s}.ds-input::placeholder{color:var(--tx-3)}.ds-input:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus)}.ds-textarea{width:100%;padding:10px 16px;resize:vertical;min-height:72px;background:var(--fill);border:2px solid var(--border);border-radius:var(--r-sm);font-size:.9rem;color:var(--tx);font-family:var(--font-sans);transition:border-color .15s,box-shadow .15s}.ds-textarea::placeholder{color:var(--tx-3)}.ds-textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus)}select.ds-input{height:44px}.ds-kanban{display:flex;gap:var(--s4);align-items:start;overflow-x:auto;padding-bottom:var(--s2)}.ds-kanban-col{background:var(--fill);border-radius:var(--r-md);border-top:3px solid transparent;box-shadow:var(--sh-xs);padding:10px var(--s3) var(--s3);display:flex;flex-direction:column;gap:var(--s2);min-height:120px;flex:1 1 240px;min-width:240px}.ds-kanban-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--s3);cursor:pointer;transition:box-shadow .15s,border-color .15s}.ds-kanban-card:hover{border-color:var(--primary);box-shadow:var(--sh-sm)}.ds-vote-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--r-xs);border:1px solid var(--border);background:var(--surface);color:var(--tx-2);cursor:pointer;font-size:.72rem;line-height:1}.ds-vote-btn:hover{background:var(--fill-h)}.ds-vote-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.ds-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--sh-sm)}.ds-card-pad{padding:var(--s6)}.ds-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;padding:var(--s5) var(--s5) 0}.ds-card-title{font-size:.95rem;font-weight:700;letter-spacing:-.01em}.ds-seg{display:inline-flex;align-self:flex-start;align-items:center;gap:2px;padding:3px;background:var(--fill-h);border-radius:var(--r-full)}.ds-seg-btn{height:30px;padding:0 14px;border:none;background:transparent;cursor:pointer;border-radius:var(--r-full);font-family:var(--font-sans);font-size:.8rem;font-weight:600;color:var(--tx-2);transition:background .15s,color .15s}.ds-seg-btn:hover{color:var(--tx)}.ds-seg-btn.active{background:var(--surface);color:var(--tx);box-shadow:var(--sh-xs)}.ds-seg-btn:focus-visible{outline:none;box-shadow:var(--focus)}.ds-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.82rem;color:var(--tx-2)}.ds-toggle:hover{color:var(--tx)}.ds-toggle input{position:absolute;opacity:0;width:0;height:0}.ds-toggle-track{width:34px;height:20px;border-radius:var(--r-full);background:var(--n300);position:relative;flex-shrink:0;transition:background .15s}.ds-toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:var(--sh-xs);transition:transform .15s}.ds-toggle input:checked+.ds-toggle-track{background:var(--primary)}.ds-toggle input:checked+.ds-toggle-track:after{transform:translate(14px)}.ds-toggle input:focus-visible+.ds-toggle-track{box-shadow:var(--focus)}.ds-stats-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:var(--s4)}@media(max-width:1180px){.ds-stats-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.ds-stats-grid{grid-template-columns:1fr}}.ds-stats-grid-even{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4)}@media(max-width:1180px){.ds-stats-grid-even{grid-template-columns:1fr 1fr}}@media(max-width:620px){.ds-stats-grid-even{grid-template-columns:1fr}}.ds-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--sh-sm);padding:var(--s5);min-width:0;display:flex;flex-direction:column;gap:var(--s2)}.ds-stat-hero{background:linear-gradient(152deg,var(--indigo-50) 0%,var(--surface) 62%)}.ds-stat-label{font-size:.8rem;font-weight:600;color:var(--tx-2)}.ds-stat-value{font-size:1.7rem;font-weight:700;letter-spacing:-.03em;line-height:1.05;color:var(--tx)}.ds-stat-hero .ds-stat-value{font-size:3rem}.ds-stat-unit{font-size:.9rem;font-weight:600;color:var(--tx-2);margin-left:4px;letter-spacing:0}.ds-stat-foot{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;margin-top:auto}.ds-delta{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 9px;border-radius:var(--r-full);font-size:.72rem;font-weight:700;white-space:nowrap}.ds-delta-up{background:var(--success-bg);color:var(--success-tx)}.ds-delta-down{background:var(--danger-bg);color:var(--danger-tx)}.ds-delta-flat{background:var(--fill);color:var(--tx-2);border:1px solid var(--border)}.ds-chart-frame{position:relative}.ds-chart-plot{position:relative;display:flex;align-items:flex-end;gap:2px}.ds-chart-gridline{position:absolute;left:0;right:0;border-top:1px solid var(--border-2);pointer-events:none}.ds-chart-ytick{position:absolute;right:calc(100% + 8px);transform:translateY(50%);font-size:.68rem;color:var(--tx-3);font-variant-numeric:tabular-nums;white-space:nowrap}.ds-chart-slot{flex:1 1 0;min-width:0;height:100%;padding:0;border:none;background:none;display:flex;align-items:flex-end;justify-content:center;cursor:pointer}.ds-chart-slot:focus-visible{outline:none}.ds-chart-bar{width:100%;max-width:24px;border-radius:4px 4px 0 0;overflow:hidden;display:flex;flex-direction:column;gap:2px;transition:filter .12s,opacity .12s}.ds-chart-slot:hover .ds-chart-bar{filter:brightness(1.07) saturate(1.06)}.ds-chart-slot:focus-visible .ds-chart-bar{box-shadow:var(--focus)}.ds-chart-slot.is-dim .ds-chart-bar{opacity:.3}.ds-chart-xlabels{position:relative;height:15px;margin-top:6px}.ds-chart-xlabel{position:absolute;top:0;font-size:.68rem;color:var(--tx-3);white-space:nowrap}.ds-chart-tip{position:absolute;z-index:20;pointer-events:none;top:0;left:0;background:var(--ink);color:#fff;border-radius:var(--r-xs);padding:9px 11px;box-shadow:var(--sh-md);min-width:156px;max-width:240px;font-size:.76rem;line-height:1.4}.ds-chart-tip-date{font-size:.66rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#fff9}.ds-chart-tip-total{font-size:1.05rem;font-weight:700;margin-top:1px}.ds-chart-tip-row{display:flex;align-items:center;gap:7px;margin-top:4px}.ds-chart-tip-key{width:10px;height:2px;border-radius:1px;flex-shrink:0}.ds-chart-tip-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ffffffb8}.ds-chart-tip-val{font-weight:700;font-variant-numeric:tabular-nums}.ds-chart-tip-hint{margin-top:6px;padding-top:5px;border-top:1px solid rgba(255,255,255,.14);font-size:.66rem;color:#ffffff80}.ds-legend{display:flex;flex-wrap:wrap;gap:6px 14px}.ds-legend-item{display:inline-flex;align-items:center;gap:6px;padding:2px 0;border:none;background:none;cursor:pointer;font-family:var(--font-sans);font-size:.76rem;color:var(--tx-2);max-width:220px}.ds-legend-item:hover{color:var(--tx)}.ds-legend-item span.txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-legend-sw{width:10px;height:10px;border-radius:3px;flex-shrink:0}.ds-rank{display:inline-block;min-width:18px;font-size:.72rem;font-weight:700;color:var(--tx-3);font-variant-numeric:tabular-nums}.ds-meter{position:relative;height:6px;border-radius:var(--r-full);background:var(--border-2);overflow:hidden}.ds-meter-fill{position:absolute;top:0;bottom:0;left:0;border-radius:var(--r-full);background:var(--primary)}.ds-num{font-variant-numeric:tabular-nums}@keyframes ds-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ds-skel{background:linear-gradient(90deg,var(--fill-h) 25%,var(--border-2) 37%,var(--fill-h) 63%);background-size:200% 100%;animation:ds-shimmer 1.4s linear infinite;border-radius:var(--r-xs)}.ds-stale{opacity:.45;transition:opacity .2s;pointer-events:none}.ds-badge{display:inline-flex;align-items:center;gap:6px;height:25px;padding:0 10px;border-radius:var(--r-full);font-size:.72rem;font-weight:600;white-space:nowrap}.ds-badge .dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.ds-badge-success{background:var(--success-bg);color:var(--success-tx)}.ds-badge-success .dot{background:var(--success)}.ds-badge-warning{background:var(--warning-bg);color:var(--warning-tx)}.ds-badge-warning .dot{background:var(--warning)}.ds-badge-danger{background:var(--danger-bg);color:var(--danger-tx)}.ds-badge-danger .dot{background:var(--danger)}.ds-badge-neutral{background:var(--fill);color:var(--tx-2);border:1px solid var(--border)}.ds-tbl{width:100%;border-collapse:collapse;font-size:.82rem}.ds-tbl th{text-align:left;padding:var(--s2) var(--s4);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tx-3);border-bottom:1px solid var(--border)}.ds-tbl td{padding:7px var(--s4);color:var(--tx);border-bottom:1px solid var(--border-2)}.ds-tbl tr:hover td{background:var(--n50)}.ds-tbl tr.clickable{cursor:pointer}.ds-avatar-sm{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;flex-shrink:0;font-size:.68rem;font-weight:700;color:#fff;background:var(--primary)}.ds-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14100e59;display:flex;align-items:flex-start;justify-content:flex-end;z-index:100}.ds-modal{height:100%;width:360px;max-width:100%;background:var(--surface);box-shadow:var(--sh-lg);padding:var(--s6);overflow-y:auto}.ds-modal-row{display:flex;flex-direction:column;gap:2px;padding:var(--s3) 0;border-bottom:1px solid var(--border-2)}.ds-modal-row:last-child{border-bottom:none}.ds-modal-full-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14100e80;display:flex;align-items:center;justify-content:center;z-index:200;padding:var(--s6)}.ds-modal-full{width:min(94vw,1200px);height:min(88vh,820px);background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--sh-lg);display:flex;flex-direction:column;overflow:hidden}.ds-modal-full-head{display:flex;align-items:center;justify-content:space-between;padding:var(--s4) var(--s5);border-bottom:1px solid var(--border);flex-shrink:0}.ds-modal-full-body{flex:1;overflow:auto;padding:var(--s5)}.ds-expand-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--r-xs);background:var(--fill);border:none;cursor:pointer;color:var(--tx-2);flex-shrink:0;transition:all .15s}.ds-expand-btn:hover{background:var(--fill-h);color:var(--tx)}.ds-chat{display:flex;flex-direction:column;gap:var(--s4)}.ds-msg-row{display:flex;align-items:flex-end;gap:10px;max-width:100%}.ds-msg-row.user{flex-direction:row-reverse}.ds-msg-avatar-bot{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--r-xs);flex-shrink:0;background:var(--ink);color:var(--surface);padding:5px}.ds-msg-bubble{border-radius:18px;padding:10px 14px;max-width:82%;font-size:.84rem;line-height:1.55;min-width:0}.ds-msg-bubble.user{background:var(--primary);color:var(--on-primary);border-bottom-right-radius:4px}.ds-msg-bubble.assistant{background:var(--surface);border:1px solid var(--border);color:var(--tx);border-bottom-left-radius:4px}.ds-msg-time{font-size:.68rem;color:var(--tx-3);margin:2px 38px 0}.ds-msg-row.user+.ds-msg-time,.ds-msg-time.user{text-align:right;margin-left:auto}.ds-msg-bubble p{margin:0 0 8px}.ds-msg-bubble p:last-child{margin-bottom:0}.ds-msg-bubble a{color:inherit;text-decoration:underline}.ds-msg-bubble code{background:#00000014;padding:1px 5px;border-radius:4px;font-family:var(--font-mono);font-size:.82em}.ds-msg-bubble pre{background:#00000014;padding:8px 10px;border-radius:8px;overflow-x:auto;margin:0 0 8px}.ds-msg-bubble pre code{background:none;padding:0}.ds-msg-bubble ul,.ds-msg-bubble ol{margin:0 0 8px;padding-left:1.2em}.ds-msg-bubble.user code,.ds-msg-bubble.user pre{background:#ffffff2e}@keyframes ds-spin{to{transform:rotate(360deg)}}.ds-spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top:2px solid var(--primary);border-radius:50%;animation:ds-spin .8s linear infinite}.ds-banner{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s4);border-radius:var(--r-sm);background:var(--info-bg);color:var(--info-tx);font-size:.875rem;line-height:1.5}.ds-banner-warning{background:var(--warning-bg);color:var(--warning-tx)}.ds-split{display:grid;grid-template-columns:1fr;min-height:100vh}@media(min-width:1024px){.ds-split{grid-template-columns:1fr 1fr}}.ds-pane-form{display:flex;align-items:center;justify-content:center;padding:var(--s8);background:var(--surface)}.ds-pane-visual{display:none}@media(min-width:1024px){.ds-pane-visual{display:flex;position:relative;overflow:hidden;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:var(--s8) calc(var(--s8) * 1.5);background:radial-gradient(86% 70% at 88% 6%,color-mix(in srgb,var(--primary) 34%,transparent),transparent 62%),radial-gradient(82% 72% at 8% 98%,color-mix(in srgb,var(--secondary-raw) 32%,transparent),transparent 62%),linear-gradient(158deg,var(--indigo-50) 0%,var(--n0, #fff) 52%,var(--secondary-50) 100%)}}.ds-pane-visual .ds-brand-mark{width:56px;height:56px;padding:11px;margin-bottom:var(--s6)}.ds-wt{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:var(--s3) var(--s4) var(--s4);box-shadow:var(--sh-sm);min-width:0}.ds-wt-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s2) 0 var(--s3)}.ds-wt-title{display:flex;align-items:center;gap:var(--s2);min-width:0;font-size:.95rem;font-weight:600}.ds-wt-title>span:not(.ds-wt-icon):not(.ds-wt-count){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-wt-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:8px;background:var(--indigo-50);color:var(--primary)}.ds-wt-count{flex-shrink:0;padding:2px 8px;border-radius:var(--r-full);background:var(--fill-h);color:var(--tx-2);font-size:.66rem;font-weight:600}.ds-wt-scroll{overflow:auto;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--sh-md)}.ds-wt-scroll .ds-tbl{min-width:100%}.ds-wt-scroll .ds-tbl thead th{position:sticky;top:0;z-index:1;background:var(--fill-h);color:var(--tx-2);font-size:.7rem;font-weight:600;letter-spacing:.05em;padding:10px 12px;white-space:nowrap}.ds-wt-scroll .ds-tbl td{padding:8px 12px;font-size:.75rem;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}.ds-wt-cell{display:inline-flex;align-items:center;gap:6px;max-width:100%;overflow:hidden}.ds-wt-cell>span:last-child{overflow:hidden;text-overflow:ellipsis}.ds-wt-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;border-radius:50%;font-size:.5rem;font-weight:700;-webkit-user-select:none;user-select:none}.ds-wt-avatar.full{background:var(--primary);color:#fff}.ds-wt-avatar.partial{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.ds-wt-avatar.empty{background:var(--fill-h);color:var(--tx-2)}.ds-wt-link{display:inline-flex;align-items:center;gap:4px;max-width:100%;color:var(--indigo-700);text-decoration:none}.ds-wt-link:hover{text-decoration:underline}.ds-wt-link.linkedin{color:#0077b5;font-weight:500}.ds-wt-link>span{overflow:hidden;text-overflow:ellipsis}.ds-wt-missing{color:var(--tx-3)}.ds-wt-notfound{display:inline-flex;align-items:center;padding:2px 6px;border-radius:6px;border:1px solid color-mix(in srgb,var(--warning) 25%,transparent);background:var(--warning-bg);color:var(--warning-tx);font-size:.62rem;-webkit-user-select:none;user-select:none}
