:root{color-scheme:light;--tandem-color-ink: #111522;--tandem-color-blue: #2f5bea;--tandem-color-blue-light: #7d95ff;--tandem-color-paper: #f5f5f2;--tandem-color-sky: #e3e9ff;--tandem-color-slate: #6b7280;--tandem-color-line: #e6e8ee;--tandem-color-canvas: var(--tandem-color-paper);--tandem-color-surface: #ffffff;--tandem-color-surface-muted: #fafaf7;--tandem-color-surface-sunken: #efefeb;--tandem-color-border: var(--tandem-color-line);--tandem-color-border-strong: #d5d8e0;--tandem-color-text: var(--tandem-color-ink);--tandem-color-text-secondary: var(--tandem-color-slate);--tandem-color-text-muted: #9aa0ab;--tandem-color-text-inverse: #ffffff;--tandem-color-topbar: rgba(255, 255, 255, .92);--tandem-color-backdrop: rgba(17, 21, 34, .45);--tandem-color-primary: var(--tandem-color-blue);--tandem-color-primary-strong: #2448c7;--tandem-color-primary-subtle: var(--tandem-color-sky);--tandem-color-primary-border: #c6d2ff;--tandem-color-focus-ring: rgba(47, 91, 234, .28);--tandem-color-selection: var(--tandem-color-sky);--tandem-color-success: #1f7a54;--tandem-color-success-subtle: #e8f4ee;--tandem-color-success-border: #c3e2d3;--tandem-color-warning: #8a6212;--tandem-color-warning-subtle: #faf3e0;--tandem-color-warning-border: #ecd9a8;--tandem-color-danger: #bf3b3b;--tandem-color-danger-strong: #9e2f2f;--tandem-color-danger-subtle: #fbeceb;--tandem-color-danger-border: #eec9c7;--tandem-color-info-subtle: var(--tandem-color-sky);--tandem-color-rail: var(--tandem-color-ink);--tandem-color-rail-elevated: #1c2130;--tandem-color-rail-border: rgba(255, 255, 255, .08);--tandem-color-rail-text: #8d93a5;--tandem-color-rail-text-strong: #ffffff;--tandem-color-rail-accent: var(--tandem-color-blue-light);--tandem-color-rail-active: rgba(125, 149, 255, .16);--tandem-font-sans: "Instrument Sans", "Noto Sans KR", system-ui, -apple-system, "Malgun Gothic", "Apple SD Gothic Neo", sans-serif;--tandem-font-sans-ko: "Noto Sans KR", "Instrument Sans", system-ui, -apple-system, "Malgun Gothic", "Apple SD Gothic Neo", sans-serif;--tandem-font-wordmark: "Plus Jakarta Sans", "Instrument Sans", "Noto Sans KR", system-ui, "Malgun Gothic", sans-serif;--tandem-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--tandem-font-scale: 1;--tandem-text-xs: calc(12px * var(--tandem-font-scale, 1));--tandem-text-xs-lh: calc(17px * var(--tandem-font-scale, 1));--tandem-text-sm: calc(13px * var(--tandem-font-scale, 1));--tandem-text-sm-lh: calc(19px * var(--tandem-font-scale, 1));--tandem-text-md: calc(14px * var(--tandem-font-scale, 1));--tandem-text-md-lh: calc(21px * var(--tandem-font-scale, 1));--tandem-text-lg: calc(16px * var(--tandem-font-scale, 1));--tandem-text-lg-lh: calc(24px * var(--tandem-font-scale, 1));--tandem-text-xl: calc(18px * var(--tandem-font-scale, 1));--tandem-text-xl-lh: calc(26px * var(--tandem-font-scale, 1));--tandem-text-2xl: calc(22px * var(--tandem-font-scale, 1));--tandem-text-2xl-lh: calc(30px * var(--tandem-font-scale, 1));--tandem-font-regular: 400;--tandem-font-medium: 500;--tandem-font-semibold: 600;--tandem-font-bold: 700;--tandem-font-wordmark-weight: 800;--tandem-space-1: 4px;--tandem-space-2: 8px;--tandem-space-3: 12px;--tandem-space-4: 16px;--tandem-space-5: 20px;--tandem-space-6: 24px;--tandem-space-8: 32px;--tandem-space-10: 40px;--tandem-space-12: 48px;--tandem-radius-xs: 4px;--tandem-radius-sm: 6px;--tandem-radius-md: 8px;--tandem-radius-lg: 12px;--tandem-radius-xl: 16px;--tandem-radius-full: 999px;--tandem-shadow-xs: 0 1px 2px rgba(17, 21, 34, .06);--tandem-shadow-sm: 0 1px 3px rgba(17, 21, 34, .08), 0 1px 2px rgba(17, 21, 34, .04);--tandem-shadow-md: 0 8px 24px -8px rgba(17, 21, 34, .18);--tandem-shadow-lg: 0 24px 56px -16px rgba(17, 21, 34, .32);--tandem-ease: cubic-bezier(.2, .8, .2, 1);--tandem-duration-fast: .12s;--tandem-duration: .18s;--tandem-duration-slow: .26s;--tandem-rail-width: 72px;--tandem-panel-width: 320px;--tandem-thread-width: 360px;--tandem-topbar-height: 56px;--tandem-tabbar-height: 60px;--tandem-control-height: 36px;--tandem-content-max-width: 1440px;--tandem-bubble-max-width: 560px;--tandem-bubble-density: 1;--tandem-bubble-gap: calc(var(--tandem-space-4) * var(--tandem-bubble-density, 1));--tandem-bubble-pad-y: calc(var(--tandem-space-2) * var(--tandem-bubble-density, 1));--tandem-bubble-group-overlap: calc(-1 * var(--tandem-space-3) * var(--tandem-bubble-density, 1));--tandem-bubble-list-padding: calc(var(--tandem-space-5) * var(--tandem-bubble-density, 1))}[data-theme=dark]{color-scheme:dark;--tandem-color-canvas: #0d0f16;--tandem-color-surface: #151927;--tandem-color-surface-muted: #1a1f30;--tandem-color-surface-sunken: #20263a;--tandem-color-border: #262c3d;--tandem-color-border-strong: #384054;--tandem-color-text: #eef0f6;--tandem-color-text-secondary: #a7adbd;--tandem-color-text-muted: #7b8296;--tandem-color-text-inverse: #111522;--tandem-color-topbar: rgba(21, 25, 39, .92);--tandem-color-backdrop: rgba(4, 6, 12, .6);--tandem-color-primary: var(--tandem-color-blue-light);--tandem-color-primary-strong: #9caeff;--tandem-color-primary-subtle: rgba(125, 149, 255, .16);--tandem-color-primary-border: rgba(125, 149, 255, .38);--tandem-color-focus-ring: rgba(125, 149, 255, .36);--tandem-color-selection: rgba(125, 149, 255, .28);--tandem-color-success: #4fbd8f;--tandem-color-success-subtle: rgba(79, 189, 143, .14);--tandem-color-success-border: rgba(79, 189, 143, .35);--tandem-color-warning: #e0b357;--tandem-color-warning-subtle: rgba(224, 179, 87, .14);--tandem-color-warning-border: rgba(224, 179, 87, .35);--tandem-color-danger: #f08a86;--tandem-color-danger-strong: #f5a8a5;--tandem-color-danger-subtle: rgba(240, 138, 134, .14);--tandem-color-danger-border: rgba(240, 138, 134, .35);--tandem-color-info-subtle: rgba(125, 149, 255, .14);--tandem-color-rail: #0a0c13;--tandem-color-rail-elevated: #171d2c;--tandem-color-rail-border: rgba(255, 255, 255, .08);--tandem-color-rail-text: #8d93a5;--tandem-color-rail-text-strong: #ffffff;--tandem-color-rail-active: rgba(125, 149, 255, .2);--tandem-shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--tandem-shadow-sm: 0 1px 3px rgba(0, 0, 0, .45);--tandem-shadow-md: 0 8px 24px -8px rgba(0, 0, 0, .55);--tandem-shadow-lg: 0 24px 56px -16px rgba(0, 0, 0, .6)}@media(prefers-reduced-motion:reduce){:root{--tandem-duration-fast: 0ms;--tandem-duration: 0ms;--tandem-duration-slow: 0ms}}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html,body,#root{height:100%}html{font-size:calc(1rem * var(--tandem-font-scale, 1))}body{font-family:var(--tandem-font-sans);font-size:var(--tandem-text-md);line-height:var(--tandem-text-md-lh);color:var(--tandem-color-text);background-color:var(--tandem-color-canvas);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;word-break:keep-all}:lang(ko) body{font-family:var(--tandem-font-sans-ko)}h1,h2,h3,h4{font-weight:var(--tandem-font-bold);line-height:1.35;color:var(--tandem-color-text)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none}button:disabled{cursor:not-allowed}ul,ol{list-style:none}table{border-collapse:collapse;border-spacing:0}:focus-visible{outline:2px solid var(--tandem-color-primary);outline-offset:2px;border-radius:var(--tandem-radius-xs)}::selection{background:var(--tandem-color-selection)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--tandem-color-border-strong);border-radius:var(--tandem-radius-full);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--tandem-color-text-muted);background-clip:content-box}::-webkit-scrollbar-track{background:transparent}.tandem-muted{color:var(--tandem-color-text-muted)}.tandem-num{font-variant-numeric:tabular-nums}.tandem-wordmark{font-family:var(--tandem-font-wordmark);font-weight:var(--tandem-font-wordmark-weight);letter-spacing:-.01em}.tandem-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.tandem-skip-link{position:absolute;left:var(--tandem-space-4);top:-48px;z-index:100;padding:var(--tandem-space-2) var(--tandem-space-4);background:var(--tandem-color-surface);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-sm);box-shadow:var(--tandem-shadow-md);font-size:var(--tandem-text-sm);transition:top var(--tandem-duration) var(--tandem-ease)}.tandem-skip-link:focus{top:var(--tandem-space-4)}@media print{.tandem-rail,.tandem-topbar,.tandem-tabbar{display:none}}.tandem-page{display:flex;flex-direction:column;gap:var(--tandem-space-5);min-width:0}.tandem-page--flush{gap:0;height:100%;min-height:0}.tandem-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--tandem-space-4);flex-wrap:wrap}.tandem-page-header__title{font-size:var(--tandem-text-2xl);line-height:var(--tandem-text-2xl-lh);font-weight:var(--tandem-font-bold);letter-spacing:-.02em}.tandem-page-header__description{margin-top:var(--tandem-space-1);font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh);color:var(--tandem-color-text-secondary)}.tandem-page-header__actions{display:flex;align-items:center;gap:var(--tandem-space-2)}.tandem-card{background:var(--tandem-color-surface);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-lg);box-shadow:var(--tandem-shadow-xs);overflow:hidden}.tandem-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--tandem-space-3);padding:var(--tandem-space-4) var(--tandem-space-5);border-bottom:1px solid var(--tandem-color-border)}.tandem-card__title{display:flex;align-items:center;gap:var(--tandem-space-2);font-size:var(--tandem-text-md);font-weight:var(--tandem-font-semibold);flex:0 0 auto;white-space:nowrap}.tandem-card__body{padding:var(--tandem-space-5)}.tandem-grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--tandem-space-4)}.tandem-search{position:relative;display:inline-flex;align-items:center;width:280px;max-width:100%}.tandem-search__icon{position:absolute;left:10px;color:var(--tandem-color-text-muted);pointer-events:none}.tandem-input.tandem-search__input{padding-left:32px;padding-right:30px}.tandem-search__clear{position:absolute;right:8px;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--tandem-radius-full);color:var(--tandem-color-text-muted);transition:background-color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-search__clear:hover{background:var(--tandem-color-surface-sunken);color:var(--tandem-color-text-secondary)}.tandem-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--tandem-space-2);height:var(--tandem-control-height);padding:0 var(--tandem-space-4);border:1px solid transparent;border-radius:var(--tandem-radius-sm);font-size:var(--tandem-text-md);font-weight:var(--tandem-font-medium);white-space:nowrap;transition:background-color var(--tandem-duration-fast) var(--tandem-ease),border-color var(--tandem-duration-fast) var(--tandem-ease),color var(--tandem-duration-fast) var(--tandem-ease),box-shadow var(--tandem-duration-fast) var(--tandem-ease),transform var(--tandem-duration-fast) var(--tandem-ease)}.tandem-btn:active:not(:disabled){transform:translateY(1px)}.tandem-btn:disabled{opacity:.55}.tandem-btn--sm{height:30px;padding:0 var(--tandem-space-3);font-size:var(--tandem-text-sm)}.tandem-btn--primary{background:var(--tandem-color-primary);border-color:var(--tandem-color-primary);color:var(--tandem-color-text-inverse);box-shadow:var(--tandem-shadow-xs)}.tandem-btn--primary:hover:not(:disabled){background:var(--tandem-color-primary-strong);border-color:var(--tandem-color-primary-strong)}.tandem-btn--secondary{background:var(--tandem-color-surface);border-color:var(--tandem-color-border-strong);color:var(--tandem-color-text)}.tandem-btn--secondary:hover:not(:disabled){background:var(--tandem-color-surface-muted);border-color:var(--tandem-color-text-muted)}.tandem-btn--ghost{background:transparent;border-color:transparent;color:var(--tandem-color-text-secondary)}.tandem-btn--ghost:hover:not(:disabled){background:var(--tandem-color-surface-sunken);color:var(--tandem-color-text)}.tandem-btn--danger{background:var(--tandem-color-danger);border-color:var(--tandem-color-danger);color:var(--tandem-color-text-inverse)}.tandem-btn--danger:hover:not(:disabled){background:var(--tandem-color-danger-strong);border-color:var(--tandem-color-danger-strong)}.tandem-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border:1px solid transparent;border-radius:var(--tandem-radius-sm);color:var(--tandem-color-text-secondary);transition:background-color var(--tandem-duration-fast) var(--tandem-ease),color var(--tandem-duration-fast) var(--tandem-ease),border-color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-icon-btn:hover:not(:disabled){background:var(--tandem-color-surface-sunken);border-color:var(--tandem-color-border);color:var(--tandem-color-text)}.tandem-icon-btn--danger:hover:not(:disabled){background:var(--tandem-color-danger-subtle);border-color:var(--tandem-color-danger-border);color:var(--tandem-color-danger)}.tandem-icon-btn:disabled{opacity:.5}.tandem-icon-btn--sm{width:28px;height:28px}.tandem-field{display:flex;flex-direction:column;gap:var(--tandem-space-2);min-width:0}.tandem-field--full{grid-column:1 / -1}.tandem-field__label{display:inline-flex;align-items:center;gap:var(--tandem-space-1);font-size:var(--tandem-text-sm);font-weight:var(--tandem-font-medium);color:var(--tandem-color-text-secondary)}.tandem-field__required{color:var(--tandem-color-danger);font-weight:var(--tandem-font-bold)}.tandem-field__hint{font-size:var(--tandem-text-xs);line-height:var(--tandem-text-xs-lh);color:var(--tandem-color-text-muted)}.tandem-field__error{display:inline-flex;align-items:center;gap:var(--tandem-space-1);font-size:var(--tandem-text-xs);line-height:var(--tandem-text-xs-lh);color:var(--tandem-color-danger)}.tandem-input,.tandem-textarea{width:100%;min-height:var(--tandem-control-height);padding:0 var(--tandem-space-3);background:var(--tandem-color-surface);border:1px solid var(--tandem-color-border-strong);border-radius:var(--tandem-radius-sm);font-size:var(--tandem-text-md);color:var(--tandem-color-text);transition:border-color var(--tandem-duration-fast) var(--tandem-ease),box-shadow var(--tandem-duration-fast) var(--tandem-ease),background-color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-input::placeholder,.tandem-textarea::placeholder{color:var(--tandem-color-text-muted)}.tandem-input:hover:not(:disabled),.tandem-textarea:hover:not(:disabled){border-color:var(--tandem-color-text-muted)}.tandem-input:focus,.tandem-textarea:focus{outline:none;border-color:var(--tandem-color-primary);box-shadow:0 0 0 3px var(--tandem-color-focus-ring)}.tandem-input.is-invalid,.tandem-textarea.is-invalid{border-color:var(--tandem-color-danger)}.tandem-input.is-invalid:focus,.tandem-textarea.is-invalid:focus{box-shadow:0 0 0 3px var(--tandem-color-danger-subtle)}.tandem-input:disabled,.tandem-textarea:disabled{background:var(--tandem-color-surface-sunken);color:var(--tandem-color-text-muted);cursor:not-allowed}.tandem-textarea{min-height:96px;padding:var(--tandem-space-2) var(--tandem-space-3);line-height:var(--tandem-text-md-lh);resize:vertical}.tandem-badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 var(--tandem-space-2);border:1px solid transparent;border-radius:var(--tandem-radius-full);font-size:var(--tandem-text-xs);font-weight:var(--tandem-font-medium);line-height:1;white-space:nowrap}.tandem-badge--neutral{background:var(--tandem-color-surface-sunken);border-color:var(--tandem-color-border);color:var(--tandem-color-text-secondary)}.tandem-badge--brand{background:var(--tandem-color-primary-subtle);border-color:var(--tandem-color-primary-border);color:var(--tandem-color-primary)}.tandem-badge--success{background:var(--tandem-color-success-subtle);border-color:var(--tandem-color-success-border);color:var(--tandem-color-success)}.tandem-badge--warning{background:var(--tandem-color-warning-subtle);border-color:var(--tandem-color-warning-border);color:var(--tandem-color-warning)}.tandem-badge--danger{background:var(--tandem-color-danger-subtle);border-color:var(--tandem-color-danger-border);color:var(--tandem-color-danger)}.tandem-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--tandem-radius-full);background:var(--tandem-color-primary-subtle);border:1px solid var(--tandem-color-primary-border);color:var(--tandem-color-primary);font-weight:var(--tandem-font-semibold);overflow:hidden;-webkit-user-select:none;user-select:none}.tandem-avatar img{display:block;width:100%;height:100%;object-fit:cover}.tandem-avatar--sm{width:24px;height:24px;font-size:10px}.tandem-avatar--md{width:32px;height:32px;font-size:var(--tandem-text-xs)}.tandem-avatar--lg{width:40px;height:40px;font-size:var(--tandem-text-sm)}.tandem-avatar--xl{width:72px;height:72px;font-size:var(--tandem-text-xl)}.tandem-avatar-editor{display:flex;align-items:flex-start;flex-wrap:wrap;gap:var(--tandem-space-5);padding:var(--tandem-space-4) var(--tandem-space-5) var(--tandem-space-5)}.tandem-avatar-editor__figure{display:flex;flex-direction:column;align-items:center;gap:var(--tandem-space-2);margin:0}.tandem-avatar-editor__avatar,.tandem-avatar-editor__preview{width:72px;height:72px;border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-full);background:var(--tandem-color-surface-muted)}.tandem-avatar-editor__preview{display:block;object-fit:cover}.tandem-avatar-editor__caption{max-width:132px;font-size:var(--tandem-text-xs);line-height:var(--tandem-text-xs-lh);color:var(--tandem-color-text-secondary);text-align:center}.tandem-avatar-editor__body{display:flex;flex:1 1 260px;flex-direction:column;gap:var(--tandem-space-3);min-width:0}.tandem-avatar-editor__meta{display:flex;flex-direction:column;gap:var(--tandem-space-1);margin:0}.tandem-avatar-editor__hint{margin:0;font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh);color:var(--tandem-color-text-secondary)}.tandem-avatar-editor__actions{display:flex;flex-wrap:wrap;gap:var(--tandem-space-2)}.tandem-avatar-editor__file-label{cursor:pointer}.tandem-avatar-editor__input:focus-visible+.tandem-avatar-editor__file-label{outline:2px solid var(--tandem-color-primary);outline-offset:2px}.tandem-avatar-editor__progress{width:100%;max-width:320px;height:6px;overflow:hidden;border-radius:var(--tandem-radius-full);background:var(--tandem-color-surface-sunken)}.tandem-avatar-editor__progress-bar{display:block;height:100%;border-radius:inherit;background:var(--tandem-color-primary);transition:width var(--tandem-duration) var(--tandem-ease)}.tandem-avatar-editor__status{margin:0;min-height:var(--tandem-text-sm-lh);font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh);color:var(--tandem-color-text-secondary)}.tandem-tabs{display:flex;align-items:center;gap:var(--tandem-space-1);border-bottom:1px solid var(--tandem-color-border);overflow-x:auto}.tandem-tabs__tab{position:relative;display:inline-flex;align-items:center;gap:var(--tandem-space-2);height:40px;padding:0 var(--tandem-space-3);font-size:var(--tandem-text-md);color:var(--tandem-color-text-secondary);white-space:nowrap;transition:color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-tabs__tab:after{content:"";position:absolute;left:var(--tandem-space-2);right:var(--tandem-space-2);bottom:-1px;height:2px;border-radius:var(--tandem-radius-full);background:var(--tandem-color-primary);transform:scaleX(0);transition:transform var(--tandem-duration) var(--tandem-ease)}.tandem-tabs__tab:hover{color:var(--tandem-color-text)}.tandem-tabs__tab[aria-selected=true]{color:var(--tandem-color-primary);font-weight:var(--tandem-font-semibold)}.tandem-tabs__tab[aria-selected=true]:after{transform:scaleX(1)}.tandem-tabs__count{font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted);font-variant-numeric:tabular-nums}.tandem-tabs__tab[aria-selected=true] .tandem-tabs__count{color:var(--tandem-color-primary)}.tandem-brandmark{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.tandem-brandmark img{display:block;width:100%;height:100%}.tandem-brandmark--lockup img{width:auto;height:100%}.tandem-modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--tandem-space-4)}.tandem-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--tandem-color-backdrop);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:tandem-fade-in var(--tandem-duration) var(--tandem-ease)}.tandem-modal__panel{position:relative;display:flex;flex-direction:column;width:100%;max-height:calc(100vh - 64px);background:var(--tandem-color-surface);border-radius:var(--tandem-radius-lg);box-shadow:var(--tandem-shadow-lg);animation:tandem-modal-in var(--tandem-duration-slow) var(--tandem-ease)}.tandem-modal__panel--sm{max-width:420px}.tandem-modal__panel--md{max-width:560px}.tandem-modal__panel--lg{max-width:760px}.tandem-modal__panel--xl{max-width:1080px;height:calc(100vh - 64px)}.tandem-modal__form{display:flex;flex-direction:column;min-height:0;flex:1}.tandem-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--tandem-space-4);padding:var(--tandem-space-5) var(--tandem-space-6);border-bottom:1px solid var(--tandem-color-border)}.tandem-modal__title{font-size:var(--tandem-text-lg);line-height:var(--tandem-text-lg-lh);font-weight:var(--tandem-font-semibold)}.tandem-modal__description{margin-top:var(--tandem-space-1);font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh);color:var(--tandem-color-text-secondary)}.tandem-modal__body{padding:var(--tandem-space-5) var(--tandem-space-6);overflow-y:auto}.tandem-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--tandem-space-2);padding:var(--tandem-space-4) var(--tandem-space-6);border-top:1px solid var(--tandem-color-border);background:var(--tandem-color-surface-muted);border-radius:0 0 var(--tandem-radius-lg) var(--tandem-radius-lg)}@keyframes tandem-fade-in{0%{opacity:0}to{opacity:1}}@keyframes tandem-modal-in{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.tandem-toasts{position:fixed;top:var(--tandem-space-4);right:var(--tandem-space-4);z-index:80;display:flex;flex-direction:column;gap:var(--tandem-space-2);width:min(360px,calc(100vw - 32px));pointer-events:none}.tandem-toast{display:flex;align-items:flex-start;gap:var(--tandem-space-2);padding:var(--tandem-space-3) var(--tandem-space-4);background:var(--tandem-color-surface);border:1px solid var(--tandem-color-border);border-left-width:3px;border-radius:var(--tandem-radius-md);box-shadow:var(--tandem-shadow-md);font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh);pointer-events:auto;animation:tandem-toast-in var(--tandem-duration-slow) var(--tandem-ease)}.tandem-toast--success{border-left-color:var(--tandem-color-success)}.tandem-toast--success .tandem-toast__icon{color:var(--tandem-color-success)}.tandem-toast--error{border-left-color:var(--tandem-color-danger)}.tandem-toast--error .tandem-toast__icon{color:var(--tandem-color-danger)}.tandem-toast--info{border-left-color:var(--tandem-color-primary)}.tandem-toast--info .tandem-toast__icon{color:var(--tandem-color-primary)}.tandem-toast__icon{flex-shrink:0;margin-top:1px}.tandem-toast__message{flex:1}.tandem-toast__close{flex-shrink:0;color:var(--tandem-color-text-muted)}.tandem-toast__close:hover{color:var(--tandem-color-text)}@keyframes tandem-toast-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.tandem-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--tandem-space-2);height:100%;min-height:240px;padding:var(--tandem-space-10) var(--tandem-space-6);text-align:center}.tandem-state__icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:var(--tandem-space-2);border-radius:var(--tandem-radius-full);background:var(--tandem-color-surface-muted);color:var(--tandem-color-text-muted)}.tandem-state__icon--danger{background:var(--tandem-color-danger-subtle);color:var(--tandem-color-danger)}.tandem-state__title{font-size:var(--tandem-text-lg);line-height:var(--tandem-text-lg-lh);font-weight:var(--tandem-font-semibold)}.tandem-state__message{max-width:420px;font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh);color:var(--tandem-color-text-secondary)}.tandem-state__action{margin-top:var(--tandem-space-2)}.tandem-state__actions{display:flex;justify-content:center;padding:0 var(--tandem-space-6) var(--tandem-space-8)}.tandem-spinner{display:inline-block;border:2px solid currentColor;border-right-color:transparent;border-radius:var(--tandem-radius-full);animation:tandem-spin .7s linear infinite;opacity:.85}@keyframes tandem-spin{to{transform:rotate(360deg)}}.tandem-skeleton{display:flex;flex-direction:column;gap:var(--tandem-space-2);padding:var(--tandem-space-4)}.tandem-skeleton__row{height:40px;border-radius:var(--tandem-radius-sm);background:linear-gradient(90deg,var(--tandem-color-surface-sunken) 25%,var(--tandem-color-border) 37%,var(--tandem-color-surface-sunken) 63%);background-size:400% 100%;animation:tandem-skeleton 1.4s ease infinite}@keyframes tandem-skeleton{0%{background-position:100% 50%}to{background-position:0 50%}}@media(prefers-reduced-motion:reduce){.tandem-spinner,.tandem-skeleton__row{animation:none}}.tandem-notice{display:flex;align-items:flex-start;gap:var(--tandem-space-2);padding:var(--tandem-space-3) var(--tandem-space-4);border:1px solid var(--tandem-color-warning-border);background:var(--tandem-color-warning-subtle);border-radius:var(--tandem-radius-md);font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh);color:var(--tandem-color-warning)}.tandem-notice--info{border-color:var(--tandem-color-primary-border);background:var(--tandem-color-info-subtle);color:var(--tandem-color-primary)}.tandem-notice__icon{flex-shrink:0;margin-top:1px}.tandem-notice__body{display:flex;flex-direction:column;gap:2px;min-width:0}.tandem-notice__title{font-weight:var(--tandem-font-semibold)}.tandem-license-banner{margin:var(--tandem-space-3) var(--tandem-space-4) 0}.tandem-panel__header{display:flex;align-items:center;justify-content:space-between;gap:var(--tandem-space-2);padding:var(--tandem-space-4) var(--tandem-space-4) var(--tandem-space-3);border-bottom:1px solid var(--tandem-color-border)}.tandem-panel__title{font-size:var(--tandem-text-xl);line-height:var(--tandem-text-xl-lh);font-weight:var(--tandem-font-bold);letter-spacing:-.01em}.tandem-panel__search{padding:var(--tandem-space-3) var(--tandem-space-4)}.tandem-panel__search .tandem-search{width:100%}.tandem-panel__meta{padding:0 var(--tandem-space-4) var(--tandem-space-2);font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-channel-list{flex:1;overflow-y:auto;padding:var(--tandem-space-2) var(--tandem-space-2) var(--tandem-space-4)}.tandem-channel{display:flex;align-items:center;gap:var(--tandem-space-3);padding:var(--tandem-space-3);border-radius:var(--tandem-radius-md);transition:background-color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-channel:hover{background:var(--tandem-color-surface-sunken)}.tandem-channel.is-active{background:var(--tandem-color-primary-subtle)}.tandem-channel__text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.tandem-channel__top{display:flex;align-items:center;gap:var(--tandem-space-2)}.tandem-channel__name{font-size:var(--tandem-text-md);font-weight:var(--tandem-font-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tandem-channel__time{margin-left:auto;flex-shrink:0;font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted);font-variant-numeric:tabular-nums}.tandem-channel__preview{font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh);color:var(--tandem-color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tandem-channel__side{display:flex;flex-direction:column;align-items:flex-end;gap:var(--tandem-space-1);flex-shrink:0}.tandem-unread{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--tandem-radius-full);background:var(--tandem-color-primary);color:var(--tandem-color-text-inverse);font-size:11px;font-weight:var(--tandem-font-semibold);font-variant-numeric:tabular-nums}.tandem-conversation{display:flex;flex-direction:column;min-height:0;height:100%}.tandem-conversation__header{display:flex;align-items:center;gap:var(--tandem-space-3);height:var(--tandem-topbar-height);padding:0 var(--tandem-space-4);border-bottom:1px solid var(--tandem-color-border);flex-shrink:0}.tandem-conversation__heading{display:flex;flex-direction:column;min-width:0}.tandem-conversation__title{display:flex;align-items:center;gap:var(--tandem-space-2);font-size:var(--tandem-text-md);font-weight:var(--tandem-font-semibold)}.tandem-conversation__subtitle{font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tandem-conversation__e2ee{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;border:1px solid var(--tandem-color-primary-border);border-radius:var(--tandem-radius-full);background:var(--tandem-color-primary-subtle);color:var(--tandem-color-primary);font-size:11px;font-weight:var(--tandem-font-semibold);letter-spacing:.02em}.tandem-conversation__actions{display:flex;align-items:center;gap:var(--tandem-space-1);margin-left:auto}@media(max-width:639px){.tandem-conversation__actions .tandem-btn>span{display:none}}.tandem-conversation__notice{margin:var(--tandem-space-3) var(--tandem-space-4) 0}.tandem-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--tandem-bubble-gap);padding:var(--tandem-bubble-list-padding) var(--tandem-space-4)}.tandem-message{display:flex;gap:var(--tandem-space-3);align-items:flex-start}.tandem-message__body{display:flex;flex-direction:column;gap:var(--tandem-space-1);min-width:0;max-width:var(--tandem-bubble-max-width)}.tandem-message__meta{display:flex;align-items:center;gap:var(--tandem-space-2)}.tandem-message__sender{font-size:var(--tandem-text-sm);font-weight:var(--tandem-font-semibold)}.tandem-message__time{font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted);font-variant-numeric:tabular-nums}.tandem-message__bubble{padding:var(--tandem-space-2) var(--tandem-space-3);background:var(--tandem-color-surface);border:1px solid var(--tandem-color-border);border-radius:2px var(--tandem-radius-md) var(--tandem-radius-md) var(--tandem-radius-md);font-size:var(--tandem-text-md);line-height:var(--tandem-text-md-lh);box-shadow:var(--tandem-shadow-xs)}.tandem-message--mine{flex-direction:row-reverse}.tandem-message--mine .tandem-message__meta{justify-content:flex-end}.tandem-message--mine .tandem-message__bubble{background:var(--tandem-color-primary-subtle);border-color:var(--tandem-color-primary-border);border-radius:var(--tandem-radius-md) 2px var(--tandem-radius-md) var(--tandem-radius-md)}.tandem-message__read{align-self:flex-end;display:inline-flex;align-items:center;gap:3px;font-size:11px;color:var(--tandem-color-primary)}.tandem-composer{display:flex;align-items:center;gap:var(--tandem-space-2);padding:var(--tandem-space-3) var(--tandem-space-4);border-top:1px solid var(--tandem-color-border);background:var(--tandem-color-surface);flex-shrink:0}.tandem-composer__input{flex:1}.tandem-composer__send{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:var(--tandem-radius-md);background:var(--tandem-color-primary);color:var(--tandem-color-text-inverse);transition:background-color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-composer__send:hover:not(:disabled){background:var(--tandem-color-primary-strong)}.tandem-composer__send:disabled{opacity:.45}.tandem-tree{display:flex;flex-direction:column;gap:2px;padding:var(--tandem-space-2);overflow-y:auto}.tandem-tree__node{display:flex;align-items:center;gap:var(--tandem-space-2);padding:var(--tandem-space-2) var(--tandem-space-3);border-radius:var(--tandem-radius-sm);font-size:var(--tandem-text-md);color:var(--tandem-color-text);transition:background-color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-tree__node:hover{background:var(--tandem-color-surface-sunken)}.tandem-tree__node.is-active{background:var(--tandem-color-primary-subtle);color:var(--tandem-color-primary);font-weight:var(--tandem-font-semibold)}.tandem-tree__node--child{padding-left:var(--tandem-space-8)}.tandem-member-list{display:flex;flex-direction:column;overflow-y:auto}.tandem-member{display:flex;align-items:center;gap:var(--tandem-space-3);padding:var(--tandem-space-3) var(--tandem-space-4);border-bottom:1px solid var(--tandem-color-border)}.tandem-member:last-child{border-bottom:none}.tandem-member__text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.tandem-member__name{font-size:var(--tandem-text-md);font-weight:var(--tandem-font-medium)}.tandem-member__meta{font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-member__actions{display:flex;align-items:center;gap:var(--tandem-space-1)}.tandem-summary{display:flex;flex-direction:column;gap:var(--tandem-space-3);padding:var(--tandem-space-5)}.tandem-summary__icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--tandem-radius-md);background:var(--tandem-color-primary-subtle);color:var(--tandem-color-primary)}.tandem-summary__value{font-size:var(--tandem-text-2xl);line-height:var(--tandem-text-2xl-lh);font-weight:var(--tandem-font-bold);font-variant-numeric:tabular-nums}.tandem-summary__label{font-size:var(--tandem-text-sm);color:var(--tandem-color-text-secondary)}.tandem-profile{display:flex;align-items:center;gap:var(--tandem-space-4);padding:var(--tandem-space-5)}.tandem-profile__text{display:flex;flex-direction:column;gap:var(--tandem-space-1);min-width:0}.tandem-profile__name{font-size:var(--tandem-text-xl);line-height:var(--tandem-text-xl-lh);font-weight:var(--tandem-font-bold)}.tandem-profile__meta{font-size:var(--tandem-text-sm);color:var(--tandem-color-text-secondary)}.tandem-menu{display:flex;flex-direction:column}.tandem-menu__item{display:flex;align-items:center;gap:var(--tandem-space-3);padding:var(--tandem-space-4) var(--tandem-space-5);border-bottom:1px solid var(--tandem-color-border);font-size:var(--tandem-text-md);color:var(--tandem-color-text);transition:background-color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-menu__item:last-child{border-bottom:none}.tandem-menu__item:hover{background:var(--tandem-color-surface-muted)}.tandem-menu__icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:var(--tandem-radius-md);background:var(--tandem-color-surface-sunken);color:var(--tandem-color-text-secondary)}.tandem-menu__text{display:flex;flex-direction:column;gap:2px;min-width:0}.tandem-menu__label{font-weight:var(--tandem-font-medium)}.tandem-menu__description{font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-menu__arrow{margin-left:auto;color:var(--tandem-color-text-muted)}.tandem-menu__item--danger{color:var(--tandem-color-danger)}.tandem-menu__item--danger .tandem-menu__icon{background:var(--tandem-color-danger-subtle);color:var(--tandem-color-danger)}.tandem-settings{display:flex;flex-direction:column;gap:var(--tandem-space-4)}.tandem-setting-row{display:flex;align-items:center;justify-content:space-between;gap:var(--tandem-space-4);padding:var(--tandem-space-4) var(--tandem-space-5);border-bottom:1px solid var(--tandem-color-border)}.tandem-setting-row:last-child{border-bottom:none}.tandem-setting-row__text{display:flex;flex-direction:column;gap:2px;min-width:0}.tandem-setting-row__label{font-size:var(--tandem-text-md);font-weight:var(--tandem-font-medium)}.tandem-setting-row__description{font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-segmented{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-md);background:var(--tandem-color-surface-muted)}.tandem-segmented__option{display:inline-flex;align-items:center;gap:var(--tandem-space-1);height:28px;padding:0 var(--tandem-space-3);border-radius:var(--tandem-radius-sm);font-size:var(--tandem-text-sm);color:var(--tandem-color-text-secondary);transition:background-color var(--tandem-duration-fast) var(--tandem-ease),color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-segmented__option:hover{color:var(--tandem-color-text)}.tandem-segmented__option[aria-pressed=true]{background:var(--tandem-color-surface);border:1px solid var(--tandem-color-border);color:var(--tandem-color-primary);font-weight:var(--tandem-font-medium);box-shadow:var(--tandem-shadow-xs)}.tandem-searchbar{display:flex;align-items:center;gap:var(--tandem-space-3);padding:var(--tandem-space-4) var(--tandem-space-5);border-bottom:1px solid var(--tandem-color-border)}.tandem-searchbar .tandem-search{width:100%}.tandem-searchbar__tabs{padding:0 var(--tandem-space-5)}.tandem-filterbar{padding:var(--tandem-space-4) var(--tandem-space-5);background:var(--tandem-color-surface-sunken);border-bottom:1px solid var(--tandem-color-border)}.tandem-filterbar__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:var(--tandem-space-3)}.tandem-filterbar__actions{display:flex;justify-content:flex-end;gap:var(--tandem-space-2);margin-top:var(--tandem-space-3)}.tandem-filter-chips{display:flex;flex-wrap:wrap;align-items:center;gap:var(--tandem-space-2);padding:var(--tandem-space-3) var(--tandem-space-5);border-bottom:1px solid var(--tandem-color-border)}.tandem-filter-chips__label{font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-filter-chip{display:inline-flex;align-items:center;gap:var(--tandem-space-1);height:24px;padding:0 2px 0 var(--tandem-space-2);background:var(--tandem-color-primary-subtle);border:1px solid var(--tandem-color-primary-border);border-radius:var(--tandem-radius-full);font-size:var(--tandem-text-xs);color:var(--tandem-color-primary)}.tandem-filter-chip__remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--tandem-radius-full);color:inherit;opacity:.75}.tandem-filter-chip__remove:hover{opacity:1;background:var(--tandem-color-surface)}.tandem-filter-chips__clear{margin-left:auto;font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted);text-decoration:underline}.tandem-filter-chips__clear:hover{color:var(--tandem-color-primary)}.tandem-select{position:relative}.tandem-select__control{width:100%;min-height:var(--tandem-control-height);padding:0 34px 0 var(--tandem-space-3);background:var(--tandem-color-surface);border:1px solid var(--tandem-color-border-strong);border-radius:var(--tandem-radius-sm);font-size:var(--tandem-text-md);color:var(--tandem-color-text);-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color var(--tandem-duration-fast) var(--tandem-ease),box-shadow var(--tandem-duration-fast) var(--tandem-ease),background-color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-select__control:hover:not(:disabled){border-color:var(--tandem-color-text-muted)}.tandem-select__control:focus{outline:none;border-color:var(--tandem-color-primary);box-shadow:0 0 0 3px var(--tandem-color-focus-ring)}.tandem-select__control:disabled{background:var(--tandem-color-surface-sunken);color:var(--tandem-color-text-muted);cursor:not-allowed}.tandem-select__icon{position:absolute;top:50%;right:var(--tandem-space-3);display:inline-flex;color:var(--tandem-color-text-muted);transform:translateY(-50%);pointer-events:none}.tandem-call{display:flex;align-items:center;gap:var(--tandem-space-3);padding:var(--tandem-space-3) var(--tandem-space-5);border-bottom:1px solid var(--tandem-color-border)}.tandem-call__text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.tandem-call__name{font-size:var(--tandem-text-md);font-weight:var(--tandem-font-medium)}.tandem-call__meta{font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-org{display:grid;grid-template-columns:minmax(232px,272px) minmax(288px,336px) minmax(0,1fr);flex:1;min-height:0;height:100%}.tandem-org__pane{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--tandem-color-surface);border-right:1px solid var(--tandem-color-border)}.tandem-org__pane--profile{background:var(--tandem-color-canvas);border-right:none;overflow-y:auto}.tandem-org__tree{flex:1;overflow-y:auto;padding:var(--tandem-space-2)}.tandem-org__tree ul,.tandem-org__children{display:flex;flex-direction:column;gap:2px}.tandem-org__row{display:flex;align-items:center;gap:2px;border-radius:var(--tandem-radius-sm)}.tandem-org__row[data-depth="1"]{padding-left:calc(var(--tandem-space-4))}.tandem-org__row[data-depth="2"]{padding-left:calc(var(--tandem-space-4) * 2)}.tandem-org__row[data-depth="3"]{padding-left:calc(var(--tandem-space-4) * 3)}.tandem-org__row[data-depth="4"]{padding-left:calc(var(--tandem-space-4) * 4)}.tandem-org__row[data-depth="5"]{padding-left:calc(var(--tandem-space-4) * 5)}.tandem-org__toggle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;border-radius:var(--tandem-radius-sm);color:var(--tandem-color-text-muted);transition:background-color var(--tandem-duration-fast) var(--tandem-ease),color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-org__toggle:hover{background:var(--tandem-color-surface-sunken);color:var(--tandem-color-text)}.tandem-org__toggle--leaf{visibility:hidden}.tandem-org__node{display:flex;align-items:center;gap:var(--tandem-space-2);flex:1;min-width:0;padding:var(--tandem-space-2);border-radius:var(--tandem-radius-sm);font-size:var(--tandem-text-md);color:var(--tandem-color-text);text-align:left;transition:background-color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-org__node:hover{background:var(--tandem-color-surface-sunken)}.tandem-org__node.is-active{background:var(--tandem-color-primary-subtle);color:var(--tandem-color-primary);font-weight:var(--tandem-font-semibold)}.tandem-org__node-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tandem-member.is-active{background:var(--tandem-color-primary-subtle)}.tandem-member__main{display:flex;align-items:center;gap:var(--tandem-space-3);flex:1;min-width:0;border-radius:var(--tandem-radius-sm);text-align:left}.tandem-org__profile{display:flex;flex-direction:column;min-height:0}.tandem-org__profile-badges{display:inline-flex;align-items:center;gap:var(--tandem-space-1);margin-top:2px}.tandem-org__status-message{margin:0 var(--tandem-space-4) var(--tandem-space-3);padding:var(--tandem-space-3) var(--tandem-space-4);background:var(--tandem-color-surface);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-md);font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh);color:var(--tandem-color-text-secondary)}.tandem-org__profile-actions{display:flex;align-items:center;gap:var(--tandem-space-2);padding:0 var(--tandem-space-4) var(--tandem-space-5)}.tandem-info{display:flex;flex-direction:column;margin:0 var(--tandem-space-4) var(--tandem-space-4);background:var(--tandem-color-surface);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-md);overflow:hidden}.tandem-info__row{display:flex;align-items:center;gap:var(--tandem-space-3);padding:var(--tandem-space-2) var(--tandem-space-4);border-bottom:1px solid var(--tandem-color-border);font-size:var(--tandem-text-sm)}.tandem-info__row:last-child{border-bottom:none}.tandem-info__label{width:84px;flex-shrink:0;font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-info__value{min-width:0;word-break:break-all}.tandem-results{display:flex;flex-direction:column}.tandem-result{display:flex;align-items:flex-start;gap:var(--tandem-space-3);width:100%;padding:var(--tandem-space-3) var(--tandem-space-5);border-bottom:1px solid var(--tandem-color-border);text-align:left;transition:background-color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-result:hover{background:var(--tandem-color-surface-muted)}.tandem-result__icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:var(--tandem-radius-md);background:var(--tandem-color-surface-sunken);color:var(--tandem-color-text-secondary)}.tandem-result__text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.tandem-result__title{font-size:var(--tandem-text-md);font-weight:var(--tandem-font-medium)}.tandem-result__snippet{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh);color:var(--tandem-color-text-secondary)}.tandem-result__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--tandem-space-2);font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-switch{position:relative;display:inline-flex;align-items:center;width:40px;height:24px;flex-shrink:0;padding:2px;border:1px solid var(--tandem-color-border-strong);border-radius:var(--tandem-radius-full);background:var(--tandem-color-surface-sunken);transition:background-color var(--tandem-duration-fast) var(--tandem-ease),border-color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-switch__thumb{width:18px;height:18px;border-radius:var(--tandem-radius-full);background:var(--tandem-color-surface);box-shadow:var(--tandem-shadow-xs);transition:transform var(--tandem-duration) var(--tandem-ease)}.tandem-switch.is-on{background:var(--tandem-color-primary);border-color:var(--tandem-color-primary)}.tandem-switch.is-on .tandem-switch__thumb{transform:translate(16px)}.tandem-switch:disabled{opacity:.55}.tandem-time-range{display:inline-flex;align-items:center;gap:var(--tandem-space-2)}.tandem-time-range .tandem-input{width:112px;min-height:32px;padding:0 var(--tandem-space-2)}.tandem-preview{display:flex;flex-direction:column;gap:var(--tandem-space-3);padding:var(--tandem-space-4) var(--tandem-space-5) var(--tandem-space-5)}.tandem-preview__bubble{align-self:flex-start;max-width:420px;padding:var(--tandem-space-2) var(--tandem-space-3);background:var(--tandem-color-surface);border:1px solid var(--tandem-color-border);border-radius:2px var(--tandem-radius-md) var(--tandem-radius-md) var(--tandem-radius-md);line-height:1.55;box-shadow:var(--tandem-shadow-xs)}.tandem-preview__bubble--mine{align-self:flex-end;background:var(--tandem-color-primary-subtle);border-color:var(--tandem-color-primary-border);border-radius:var(--tandem-radius-md) 2px var(--tandem-radius-md) var(--tandem-radius-md)}.tandem-preview[data-scale=small]{font-size:var(--tandem-text-xs)}.tandem-preview[data-scale=medium]{font-size:var(--tandem-text-md)}.tandem-preview[data-scale=large]{font-size:var(--tandem-text-xl)}.tandem-preview[data-density=relaxed]{gap:var(--tandem-space-4)}.tandem-preview[data-density=relaxed] .tandem-preview__bubble{padding:var(--tandem-space-3) var(--tandem-space-4)}.tandem-preview[data-density=compact]{gap:var(--tandem-space-1)}.tandem-preview[data-density=compact] .tandem-preview__bubble{padding:var(--tandem-space-1) var(--tandem-space-2)}.tandem-work-list{display:flex;flex-direction:column}.tandem-work-item{display:flex;align-items:flex-start;gap:var(--tandem-space-3);padding:var(--tandem-space-3) var(--tandem-space-5);border-bottom:1px solid var(--tandem-color-border)}.tandem-work-item:last-child{border-bottom:none}.tandem-work-item__text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.tandem-work-item__title{font-size:var(--tandem-text-md);font-weight:var(--tandem-font-medium)}.tandem-work-item__content{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh);color:var(--tandem-color-text-secondary)}.tandem-work-item__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--tandem-space-2);font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-work-item__side{display:flex;align-items:center;gap:var(--tandem-space-1);flex-shrink:0}.tandem-work-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--tandem-space-3);flex-wrap:wrap}.tandem-work-toolbar__nav{display:flex;align-items:center;gap:var(--tandem-space-2)}.tandem-work-toolbar__label{font-size:var(--tandem-text-md);font-weight:var(--tandem-font-semibold)}.tandem-work-more{padding:var(--tandem-space-2) var(--tandem-space-5) var(--tandem-space-3);font-size:var(--tandem-text-xs)}.tandem-notice .tandem-btn{margin-left:auto;flex-shrink:0}.tandem-cal-loading{padding:var(--tandem-space-4) var(--tandem-space-5)}.tandem-cal{padding:var(--tandem-space-2) var(--tandem-space-3) var(--tandem-space-3)}.tandem-cal__weekdays,.tandem-cal__week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.tandem-cal__weekday{padding:var(--tandem-space-2);text-align:center;font-size:var(--tandem-text-xs);font-weight:var(--tandem-font-medium);color:var(--tandem-color-text-muted)}.tandem-cal__day{display:flex;flex-direction:column;gap:var(--tandem-space-1);min-height:calc(var(--tandem-space-10) + var(--tandem-space-8));min-width:0;padding:var(--tandem-space-1);border-top:1px solid var(--tandem-color-border);border-left:1px solid var(--tandem-color-border)}.tandem-cal__week .tandem-cal__day:last-child{border-right:1px solid var(--tandem-color-border)}.tandem-cal__week:last-child .tandem-cal__day{border-bottom:1px solid var(--tandem-color-border)}.tandem-cal__day.is-outside{background:var(--tandem-color-surface-muted)}.tandem-cal__day.is-outside .tandem-cal__day-btn{color:var(--tandem-color-text-muted)}.tandem-cal__day.is-selected{background:var(--tandem-color-primary-subtle)}.tandem-cal__day-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--tandem-radius-full);font-size:var(--tandem-text-xs);font-weight:var(--tandem-font-medium);color:var(--tandem-color-text-secondary);transition:background-color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-cal__day-btn:hover{background:var(--tandem-color-surface-sunken)}.tandem-cal__day.is-today .tandem-cal__day-btn{background:var(--tandem-color-primary);color:var(--tandem-color-text-inverse)}.tandem-cal__day-events{display:flex;flex-direction:column;gap:2px;min-width:0}.tandem-cal__chip{display:block;padding:1px var(--tandem-space-1);border-radius:var(--tandem-radius-xs);background:var(--tandem-color-surface-sunken);font-size:var(--tandem-text-xs);line-height:var(--tandem-text-xs-lh);color:var(--tandem-color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tandem-cal__chip--more{background:transparent;color:var(--tandem-color-text-muted)}.tandem-cal-week{display:flex;flex-direction:column}.tandem-cal-week__day{padding:var(--tandem-space-3) var(--tandem-space-5);border-bottom:1px solid var(--tandem-color-border)}.tandem-cal-week__day:last-child{border-bottom:none}.tandem-cal-week__day.is-today{background:var(--tandem-color-primary-subtle)}.tandem-cal-week__header{display:flex;align-items:center;gap:var(--tandem-space-2);margin-bottom:var(--tandem-space-1)}.tandem-cal-week__date{font-size:var(--tandem-text-sm);font-weight:var(--tandem-font-semibold)}.tandem-cal-week__empty{padding:var(--tandem-space-1) 0;font-size:var(--tandem-text-sm)}.tandem-cal-week__events,.tandem-cal-events{display:flex;flex-direction:column}.tandem-cal-event{display:flex;align-items:flex-start;gap:var(--tandem-space-3);padding:var(--tandem-space-3) var(--tandem-space-5);border-bottom:1px solid var(--tandem-color-border)}.tandem-cal-event:last-child{border-bottom:none}.tandem-cal-week__day .tandem-cal-event{padding:var(--tandem-space-2) 0}.tandem-cal-event__time{flex-shrink:0;min-width:calc(var(--tandem-space-12) + var(--tandem-space-12));font-size:var(--tandem-text-sm);color:var(--tandem-color-text-secondary)}.tandem-cal-event__body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.tandem-cal-event__title{font-size:var(--tandem-text-md);font-weight:var(--tandem-font-medium)}.tandem-cal-event__meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--tandem-space-2);font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-cal-event__actions{display:flex;align-items:center;gap:var(--tandem-space-1);flex-shrink:0}.tandem-approvals{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:var(--tandem-space-4);align-items:start}.tandem-approvals__list,.tandem-approvals__detail{min-width:0}.tandem-approval-list{display:flex;flex-direction:column}.tandem-approval-item{display:flex;flex-direction:column;align-items:flex-start;gap:var(--tandem-space-1);width:100%;padding:var(--tandem-space-3) var(--tandem-space-4);border-bottom:1px solid var(--tandem-color-border);text-align:left;transition:background-color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-approval-item:hover{background:var(--tandem-color-surface-muted)}.tandem-approval-item.is-selected{background:var(--tandem-color-primary-subtle)}.tandem-approval-item__title{font-size:var(--tandem-text-md);font-weight:var(--tandem-font-medium)}.tandem-approval-item__meta{display:flex;flex-wrap:wrap;gap:var(--tandem-space-2);font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-approval-pager{display:flex;align-items:center;justify-content:center;gap:var(--tandem-space-3);padding:var(--tandem-space-2) var(--tandem-space-3);border-top:1px solid var(--tandem-color-border)}.tandem-approval-detail{display:flex;flex-direction:column;gap:var(--tandem-space-4)}.tandem-approval-summary{display:flex;flex-direction:column;gap:var(--tandem-space-2)}.tandem-approval-summary__title{font-size:var(--tandem-text-lg);font-weight:var(--tandem-font-semibold)}.tandem-approval-summary__payload{white-space:pre-wrap;overflow-wrap:break-word}.tandem-approval-steps{display:flex;flex-direction:column}.tandem-approval-step{display:flex;align-items:center;gap:var(--tandem-space-3);padding:var(--tandem-space-3) var(--tandem-space-5);border-bottom:1px solid var(--tandem-color-border)}.tandem-approval-step:last-child{border-bottom:none}.tandem-approval-step__order{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;border-radius:var(--tandem-radius-full);background:var(--tandem-color-surface-sunken);font-size:var(--tandem-text-xs);color:var(--tandem-color-text-secondary)}.tandem-approval-step__actor{flex:1;min-width:0;font-size:var(--tandem-text-md)}.tandem-approval-actions{display:flex;flex-direction:column;gap:var(--tandem-space-4)}.tandem-approval-actions__buttons{display:flex;gap:var(--tandem-space-2)}.tandem-work-form{display:flex;flex-direction:column;gap:var(--tandem-space-4)}.tandem-work-form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:var(--tandem-space-3)}.tandem-work-people{max-height:220px;overflow-y:auto;border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-md)}.tandem-work-textarea{min-height:calc(var(--tandem-space-12) + var(--tandem-space-4));padding:var(--tandem-space-2) var(--tandem-space-3);line-height:var(--tandem-text-md-lh);font-family:inherit;resize:vertical}@media(max-width:899px){.tandem-approvals{grid-template-columns:minmax(0,1fr)}}@media(max-width:719px){.tandem-cal-event{flex-wrap:wrap}.tandem-cal-event__time{min-width:0}.tandem-cal-event__actions{margin-left:auto}.tandem-cal__day{min-height:calc(var(--tandem-space-10) + var(--tandem-space-6))}.tandem-cal__day-events{display:none}}@media(max-width:1099px){.tandem-org{grid-template-columns:minmax(200px,240px) minmax(256px,300px) minmax(0,1fr)}}@media(max-width:899px){.tandem-org{display:flex;flex-direction:column;height:100%;overflow-y:auto}.tandem-org__pane{flex-shrink:0;border-right:none;border-bottom:1px solid var(--tandem-color-border)}.tandem-org__tree{flex:none;overflow:visible}.tandem-org__pane .tandem-member-list,.tandem-org__pane--profile{overflow:visible}}.tandem-alert-host{position:fixed;top:calc(var(--tandem-topbar-height) + var(--tandem-space-3));left:50%;z-index:70;display:flex;flex-direction:column;gap:var(--tandem-space-2);width:min(560px,calc(100vw - var(--tandem-space-8)));transform:translate(-50%);pointer-events:none}.tandem-alert{display:flex;align-items:flex-start;gap:var(--tandem-space-3);padding:var(--tandem-space-3) var(--tandem-space-4);background:var(--tandem-color-surface);border:1px solid var(--tandem-color-danger-border);border-left-width:3px;border-left-color:var(--tandem-color-danger);border-radius:var(--tandem-radius-md);box-shadow:var(--tandem-shadow-lg);pointer-events:auto;animation:tandem-alert-in var(--tandem-duration) var(--tandem-ease)}.tandem-alert__icon{display:inline-flex;flex-shrink:0;margin-top:1px;color:var(--tandem-color-danger)}.tandem-alert__body{display:flex;flex-direction:column;gap:var(--tandem-space-1);flex:1;min-width:0}.tandem-alert__title{display:flex;align-items:center;gap:var(--tandem-space-2);font-weight:var(--tandem-font-semibold);line-height:var(--tandem-text-sm-lh)}.tandem-alert__badge{flex-shrink:0;padding:0 var(--tandem-space-2);border:1px solid var(--tandem-color-danger-border);border-radius:var(--tandem-radius-full);background:var(--tandem-color-danger-subtle);color:var(--tandem-color-danger);font-size:var(--tandem-text-xs);line-height:18px;font-weight:var(--tandem-font-bold)}.tandem-alert__title-text{overflow-wrap:break-word}.tandem-alert__message{color:var(--tandem-color-text-secondary);font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh);overflow-wrap:break-word}.tandem-alert__link{align-self:flex-start;color:var(--tandem-color-primary);font-size:var(--tandem-text-sm);font-weight:var(--tandem-font-semibold);text-decoration:none}.tandem-alert__link:hover{text-decoration:underline}@keyframes tandem-alert-in{0%{opacity:0;transform:translateY(calc(-1 * var(--tandem-space-2)))}to{opacity:1;transform:translateY(0)}}.tandem-device-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.tandem-device{display:flex;align-items:center;gap:var(--tandem-space-3);padding:var(--tandem-space-3) var(--tandem-space-5)}.tandem-device+.tandem-device{border-top:1px solid var(--tandem-color-border)}.tandem-device__icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-md);background:var(--tandem-color-surface-sunken);color:var(--tandem-color-text-secondary)}.tandem-device__text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.tandem-device__name{font-weight:var(--tandem-font-semibold);line-height:var(--tandem-text-md-lh)}.tandem-device__meta{display:flex;flex-wrap:wrap;gap:var(--tandem-space-1) var(--tandem-space-2);color:var(--tandem-color-text-muted);font-size:var(--tandem-text-xs);line-height:var(--tandem-text-xs-lh)}.tandem-app-lock{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:var(--tandem-space-4);background:var(--tandem-color-backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.tandem-app-lock__panel{display:flex;flex-direction:column;align-items:center;gap:var(--tandem-space-3);width:100%;max-width:360px;padding:var(--tandem-space-6);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-lg);background:var(--tandem-color-surface);box-shadow:var(--tandem-shadow-lg);text-align:center}.tandem-app-lock__icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--tandem-radius-full);background:var(--tandem-color-primary-subtle);color:var(--tandem-color-primary)}.tandem-app-lock__title{margin:0;font-size:var(--tandem-text-xl);line-height:var(--tandem-text-xl-lh);font-weight:var(--tandem-font-bold)}.tandem-app-lock__message{margin:0;color:var(--tandem-color-text-secondary);font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh)}.tandem-app-lock__form{display:flex;align-items:center;gap:var(--tandem-space-2);width:100%}.tandem-app-lock__input{flex:1;text-align:center;letter-spacing:.35em;font-size:var(--tandem-text-lg)}.tandem-app-lock__error{display:inline-flex;align-items:center;gap:var(--tandem-space-1);margin:0;color:var(--tandem-color-danger);font-size:var(--tandem-text-sm)}.tandem-app-lock__biometric{display:flex;flex-direction:column;align-items:stretch;gap:var(--tandem-space-2);width:100%;padding-top:var(--tandem-space-3);border-top:1px dashed var(--tandem-color-border)}.tandem-app-lock__delay{margin:0;color:var(--tandem-color-warning);font-size:var(--tandem-text-sm);font-weight:var(--tandem-font-medium)}.tandem-app-lock__hint{margin:0;color:var(--tandem-color-text-muted);font-size:var(--tandem-text-xs);line-height:var(--tandem-text-xs-lh)}.tandem-app-lock__note{margin:0 0 var(--tandem-space-3)}.tandem-app-lock__actions{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--tandem-space-2)}.tandem-app-lock__form-column{display:flex;flex-direction:column;gap:var(--tandem-space-3);padding-top:var(--tandem-space-2)}.tandem-app-lock__status{margin:var(--tandem-space-2) 0 0;min-height:1em;color:var(--tandem-color-success);font-size:var(--tandem-text-sm)}.tandem-bot-directory{list-style:none;margin:0;padding:0}.tandem-bot-card{display:flex;flex-direction:column;gap:var(--tandem-space-2);height:100%}.tandem-bot-card__head{display:flex;align-items:center;gap:var(--tandem-space-2)}.tandem-bot-card__title{flex:1;min-width:0;font-weight:var(--tandem-font-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tandem-bot-card__desc{margin:0;min-height:2.6em;color:var(--tandem-color-text-muted);font-size:var(--tandem-text-sm)}.tandem-bot-card__meta{display:flex;flex-wrap:wrap;gap:var(--tandem-space-1)}.tandem-bot-detail{display:flex;flex-direction:column;gap:var(--tandem-space-2)}.tandem-bot-detail__row{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:var(--tandem-space-2)}.tandem-bot-detail__chips{display:flex;flex-wrap:wrap;gap:var(--tandem-space-1)}.tandem-bot-detail__section{margin:var(--tandem-space-3) 0 0;font-size:var(--tandem-text-sm);font-weight:var(--tandem-font-semibold)}.tandem-bot-detail__commands{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--tandem-space-1)}.tandem-bot-detail__commands li{display:flex;align-items:baseline;gap:var(--tandem-space-2)}.tandem-bot-detail__usage{flex:none;font-family:var(--tandem-font-mono, ui-monospace, monospace);font-size:var(--tandem-text-sm);color:var(--tandem-color-primary)}@media(max-width:639px){.tandem-setting-row{flex-direction:column;align-items:stretch;gap:var(--tandem-space-3)}.tandem-segmented{flex-wrap:wrap;max-width:100%}.tandem-segmented__option{white-space:nowrap}.tandem-tabs__tab{padding:0 var(--tandem-space-2);font-size:var(--tandem-text-sm)}}@media(max-width:639px){.tandem-time-range{flex-wrap:wrap}.tandem-time-range .tandem-input{width:auto;min-width:132px}}.tandem-password-change__form{display:flex;flex-direction:column;gap:var(--tandem-space-3)}.tandem-password-change__field-row{display:flex;align-items:center;gap:var(--tandem-space-2)}.tandem-password-change__field-row .tandem-input{flex:1;min-width:0}.tandem-password-change__actions{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--tandem-space-2)}.tandem-password-change__status{margin:0;min-height:var(--tandem-text-sm-lh);font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh);color:var(--tandem-color-text-secondary)}.tandem-password-strength{display:flex;align-items:center;gap:var(--tandem-space-2)}.tandem-password-strength__track{flex:1;height:6px;overflow:hidden;border-radius:var(--tandem-radius-full);background:var(--tandem-color-surface-sunken)}.tandem-password-strength__bar{display:block;height:100%;border-radius:inherit;background:var(--tandem-color-primary);transition:width var(--tandem-duration) var(--tandem-ease)}.tandem-password-strength__bar--weak{background:var(--tandem-color-danger)}.tandem-password-strength__bar--fair{background:var(--tandem-color-warning)}.tandem-password-strength__bar--good{background:var(--tandem-color-primary)}.tandem-password-strength__bar--strong{background:var(--tandem-color-success)}.tandem-password-strength__label{flex-shrink:0;min-width:3em;text-align:right;font-size:var(--tandem-text-xs);color:var(--tandem-color-text-secondary)}.tandem-notice--danger{border-color:var(--tandem-color-danger-border);background:var(--tandem-color-danger-subtle);color:var(--tandem-color-danger)}.tandem-qr{display:flex;flex-direction:column;align-items:center;gap:var(--tandem-space-3);width:min(320px,100%);padding:var(--tandem-space-5)}.tandem-qr__image{width:240px;height:240px;border-radius:var(--tandem-radius-sm);background:#fff}.tandem-qr__code-block{display:flex;flex-direction:column;align-items:center;gap:var(--tandem-space-1)}.tandem-qr__code-label{font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-qr__code{font-family:var(--tandem-font-mono);font-size:var(--tandem-text-lg);font-weight:var(--tandem-font-bold);letter-spacing:.18em;color:var(--tandem-color-text)}.tandem-qr__status{font-size:var(--tandem-text-sm);color:var(--tandem-color-text-secondary)}.tandem-qr__countdown{font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted);font-variant-numeric:tabular-nums}.tandem-scan{display:flex;flex-direction:column;gap:var(--tandem-space-4)}.tandem-scan__hint{font-size:var(--tandem-text-sm);color:var(--tandem-color-text-secondary)}.tandem-scan__actions{display:flex;flex-wrap:wrap;gap:var(--tandem-space-2)}.tandem-device-link__qr{margin-inline:auto}.tandem-biometric-onboarding{align-items:center;gap:var(--tandem-space-2);margin:var(--tandem-space-3) var(--tandem-space-4) 0}.tandem-biometric-onboarding__title{display:block;font-weight:600}.tandem-biometric-onboarding__cta{margin-left:auto;white-space:nowrap}.tandem-maintenance-banner{align-items:center;margin:var(--tandem-space-3) var(--tandem-space-4) 0}.tandem-maintenance-banner__period{color:var(--tandem-color-text-secondary)}.tandem-shell{display:flex;min-height:100vh;min-height:100dvh;background:var(--tandem-color-canvas)}.tandem-rail{position:fixed;top:0;left:0;bottom:0;z-index:40;display:flex;flex-direction:column;width:var(--tandem-rail-width);background:var(--tandem-color-rail);color:var(--tandem-color-rail-text)}.tandem-rail__brand{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--tandem-space-4) 0 var(--tandem-space-2);flex-shrink:0}.tandem-rail__wordmark{font-family:var(--tandem-font-wordmark);font-weight:var(--tandem-font-wordmark-weight);font-size:11px;letter-spacing:.02em;color:var(--tandem-color-rail-text-strong)}.tandem-rail__nav{flex:1;display:flex;flex-direction:column;gap:var(--tandem-space-1);padding:var(--tandem-space-3) var(--tandem-space-2);overflow-y:auto}.tandem-rail__item{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--tandem-space-2) 2px;border-radius:var(--tandem-radius-md);font-size:11px;line-height:1.2;color:var(--tandem-color-rail-text);transition:background-color var(--tandem-duration-fast) var(--tandem-ease),color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-rail__item:before{content:"";position:absolute;left:-6px;top:50%;transform:translateY(-50%) scaleY(0);width:3px;height:24px;border-radius:var(--tandem-radius-full);background:var(--tandem-color-rail-accent);transition:transform var(--tandem-duration) var(--tandem-ease)}.tandem-rail__item:hover{background:var(--tandem-color-rail-elevated);color:var(--tandem-color-rail-text-strong)}.tandem-rail__item.is-active{background:var(--tandem-color-rail-active);color:var(--tandem-color-rail-text-strong);font-weight:var(--tandem-font-medium)}.tandem-rail__item.is-active:before{transform:translateY(-50%) scaleY(1)}.tandem-rail__footer{display:flex;flex-direction:column;gap:var(--tandem-space-1);padding:var(--tandem-space-3) var(--tandem-space-2) var(--tandem-space-4);border-top:1px solid var(--tandem-color-rail-border);flex-shrink:0}.tandem-shell__main{display:flex;flex-direction:column;flex:1;min-width:0;height:100vh;height:var(--tandem-vvh, 100dvh);margin-left:var(--tandem-rail-width);overflow:hidden}.tandem-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--tandem-space-3);height:var(--tandem-topbar-height);padding:0 var(--tandem-space-5);background:var(--tandem-color-topbar);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--tandem-color-border);flex-shrink:0}.tandem-topbar__heading{display:flex;flex-direction:column;min-width:0}.tandem-topbar__title{font-size:var(--tandem-text-md);font-weight:var(--tandem-font-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tandem-topbar__breadcrumb{font-size:var(--tandem-text-xs);line-height:var(--tandem-text-xs-lh);color:var(--tandem-color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tandem-topbar__spacer{flex:1}.tandem-topbar__user{display:flex;align-items:center;gap:var(--tandem-space-2);min-width:0}.tandem-topbar__user-meta{display:flex;flex-direction:column;min-width:0}.tandem-topbar__user-name{font-size:var(--tandem-text-sm);font-weight:var(--tandem-font-medium);white-space:nowrap}.tandem-topbar__user-role{font-size:var(--tandem-text-xs);line-height:var(--tandem-text-xs-lh);color:var(--tandem-color-text-muted)}.tandem-topbar__logout{display:inline-flex;align-items:center;gap:var(--tandem-space-2);height:32px;padding:0 var(--tandem-space-3);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-sm);background:var(--tandem-color-surface);font-size:var(--tandem-text-sm);color:var(--tandem-color-text-secondary);transition:border-color var(--tandem-duration-fast) var(--tandem-ease),color var(--tandem-duration-fast) var(--tandem-ease),background-color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-topbar__logout:hover{border-color:var(--tandem-color-danger-border);background:var(--tandem-color-danger-subtle);color:var(--tandem-color-danger)}.tandem-shell__content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.tandem-shell__content>.tandem-page{flex:1;overflow-y:auto;padding:var(--tandem-space-6)}.tandem-shell__content>.tandem-page:not(.tandem-page--flush)>*{flex-shrink:0}.tandem-shell__content>.tandem-page--flush{padding:0;overflow:hidden}.tandem-split{display:flex;flex:1;min-height:0;height:100%}.tandem-split__panel{display:flex;flex-direction:column;width:var(--tandem-panel-width);flex-shrink:0;min-height:0;background:var(--tandem-color-surface);border-right:1px solid var(--tandem-color-border)}.tandem-split__detail{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;background:var(--tandem-color-canvas)}.tandem-tabbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:40;height:calc(var(--tandem-tabbar-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--tandem-color-surface);border-top:1px solid var(--tandem-color-border)}.tandem-tabbar__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;line-height:1.2;color:var(--tandem-color-text-secondary);transition:color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-tabbar__item.is-active{color:var(--tandem-color-primary);font-weight:var(--tandem-font-semibold)}.tandem-splash{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--tandem-space-4);min-height:100vh;min-height:100dvh;padding:var(--tandem-space-6);background:radial-gradient(900px 480px at 50% -10%,var(--tandem-color-sky),transparent 65%),var(--tandem-color-paper);text-align:center}.tandem-splash__lockup{margin-bottom:var(--tandem-space-2)}.tandem-splash__title{font-size:var(--tandem-text-xl);line-height:var(--tandem-text-xl-lh);font-weight:var(--tandem-font-bold)}.tandem-splash__message{max-width:460px;font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh);color:var(--tandem-color-text-secondary)}.tandem-splash__version{font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted);font-variant-numeric:tabular-nums}.tandem-splash__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--tandem-space-2)}.tandem-qr-preview{width:min(320px,100%);max-height:320px;border-radius:var(--tandem-radius-lg);border:1px solid var(--tandem-color-border);background:#000;object-fit:cover}.tandem-qr-preview--idle{display:none}.tandem-qr-preview--fullscreen{display:none;width:min(520px,100%);max-height:56vh}.tandem-qr-preview--fullscreen.is-live{display:block}.tandem-splash__panel{width:min(520px,100%);padding:var(--tandem-space-5);border-radius:var(--tandem-radius-lg);background:var(--tandem-color-surface);border:1px solid var(--tandem-color-border);box-shadow:var(--tandem-shadow-sm);font-size:var(--tandem-text-sm);line-height:1.7;color:var(--tandem-color-text-secondary);text-align:left}.tandem-splash__panel code{font-family:var(--tandem-font-mono);font-size:var(--tandem-text-xs);color:var(--tandem-color-primary)}.tandem-splash__panel ul{display:flex;flex-direction:column;gap:var(--tandem-space-2);margin-top:var(--tandem-space-2);padding-left:var(--tandem-space-5);list-style:disc}.tandem-splash__link-row{font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh)}.tandem-link{color:var(--tandem-color-primary);font-weight:var(--tandem-font-medium);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;border-radius:var(--tandem-radius-xs);transition:color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-link:hover{color:var(--tandem-color-primary-strong)}.tandem-auth-form{display:flex;flex-direction:column;gap:var(--tandem-space-4);width:min(420px,100%);text-align:left}.tandem-auth-form .tandem-btn{width:100%;justify-content:center}.tandem-auth-result{width:min(460px,100%);text-align:left}.tandem-auth-result:focus{outline:2px solid var(--tandem-color-primary);outline-offset:2px}.tandem-splash--brand{--tandem-brand-glow: rgba(125, 149, 255, .16);--tandem-brand-glow-weak: rgba(125, 149, 255, .14);--tandem-brand-tagline: rgba(245, 245, 242, .72);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;justify-content:stretch;gap:0;padding:0;background:var(--tandem-color-canvas);text-align:left}.tandem-splash--brand .tandem-splash__brand{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:var(--tandem-space-12);background:var(--tandem-color-ink);color:var(--tandem-color-paper)}.tandem-splash--brand .tandem-splash__brand-arcs{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(120% 90% at 85% 12%,var(--tandem-brand-glow),transparent 58%),url(/brand/svg/brand-arcs.svg) no-repeat right -6% bottom -10% / 118% auto}.tandem-splash--brand .tandem-splash__brand-inner{position:relative;display:flex;align-items:center;gap:var(--tandem-space-5)}.tandem-splash--brand .tandem-splash__brand-text{display:flex;flex-direction:column;gap:var(--tandem-space-2)}.tandem-splash--brand .tandem-splash__wordmark{font-size:46px;font-weight:var(--tandem-font-wordmark-weight);letter-spacing:-.045em;line-height:1;color:var(--tandem-color-paper)}.tandem-splash--brand .tandem-splash__tagline{margin:0;font-size:15px;font-weight:var(--tandem-font-medium);letter-spacing:.01em;color:var(--tandem-brand-tagline)}.tandem-splash--brand .tandem-splash__form-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--tandem-space-5);padding:var(--tandem-space-12) var(--tandem-space-8);background:var(--tandem-color-canvas)}.tandem-splash--brand .tandem-splash__card{display:flex;flex-direction:column;gap:var(--tandem-space-4);width:100%;max-width:420px;padding:var(--tandem-space-10) var(--tandem-space-8) var(--tandem-space-8);background:var(--tandem-color-surface);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-xl);box-shadow:var(--tandem-shadow-lg)}.tandem-splash--brand .tandem-splash__card-title{margin:0;font-size:var(--tandem-text-2xl);line-height:var(--tandem-text-2xl-lh);font-weight:var(--tandem-font-bold);letter-spacing:-.02em;color:var(--tandem-color-text)}.tandem-splash--brand .tandem-splash__card-text{margin:0;font-size:var(--tandem-text-sm);line-height:1.6;color:var(--tandem-color-text-secondary)}.tandem-splash--brand .tandem-splash__card-actions{display:flex;flex-direction:column;gap:var(--tandem-space-2)}.tandem-splash--brand .tandem-splash__card .tandem-btn{width:100%;min-height:44px}.tandem-splash--brand .tandem-splash__link-row{margin:0}.tandem-splash--brand .tandem-splash__link-row .tandem-link{display:inline-flex;align-items:center;min-height:44px}.tandem-splash--brand .tandem-splash__panel{width:100%;padding:var(--tandem-space-5) 0 0;border:0;border-top:1px solid var(--tandem-color-border);border-radius:0;background:transparent;box-shadow:none;font-size:var(--tandem-text-xs);line-height:1.7;color:var(--tandem-color-text-secondary)}.tandem-splash--brand .tandem-splash__card .tandem-qr-preview{align-self:center}.tandem-splash--brand .tandem-visually-hidden:focus-visible+.tandem-btn{outline:2px solid var(--tandem-color-primary);outline-offset:2px}.tandem-splash--brand .tandem-splash__footer{margin:0;font-size:var(--tandem-text-xs);text-align:center;color:var(--tandem-color-text-secondary)}@media(max-width:899px){.tandem-splash--brand{grid-template-columns:1fr;grid-template-rows:auto 1fr}.tandem-splash--brand .tandem-splash__brand{justify-content:flex-start;padding:var(--tandem-space-4) var(--tandem-space-5)}.tandem-splash--brand .tandem-splash__brand-inner{gap:var(--tandem-space-3)}.tandem-splash--brand .tandem-splash__brand-symbol{width:36px!important;height:36px!important}.tandem-splash--brand .tandem-splash__wordmark{font-size:26px}.tandem-splash--brand .tandem-splash__tagline{display:none}.tandem-splash--brand .tandem-splash__brand-arcs{background:radial-gradient(140% 130% at 88% -10%,var(--tandem-brand-glow-weak),transparent 58%)}.tandem-splash--brand .tandem-splash__form-panel{justify-content:flex-start;gap:var(--tandem-space-4);padding:var(--tandem-space-6) var(--tandem-space-4) var(--tandem-space-10)}.tandem-splash--brand .tandem-splash__card{max-width:none;padding:var(--tandem-space-6) var(--tandem-space-5) var(--tandem-space-5);box-shadow:var(--tandem-shadow-md)}.tandem-splash--brand .tandem-splash__card-title{font-size:var(--tandem-text-xl);line-height:var(--tandem-text-xl-lh)}}@media(prefers-reduced-motion:reduce){.tandem-splash--brand *,.tandem-splash--brand *:before,.tandem-splash--brand *:after{transition-duration:0ms!important;animation-duration:0ms!important}}.tandem-shell--rail-hidden .tandem-rail{display:none}.tandem-shell--rail-hidden .tandem-shell__main{margin-left:0}@media(max-width:899px){.tandem-shell__main{height:var(--tandem-vvh, 100dvh)}.tandem-shell__content{padding-bottom:env(safe-area-inset-bottom)}.tandem-shell__content>.tandem-page{padding:var(--tandem-space-4)}.tandem-split{flex-direction:column}.tandem-split__panel{width:100%;border-right:none}.tandem-split__detail,.tandem-split--detail .tandem-split__panel{display:none}.tandem-split--detail .tandem-split__detail{display:flex}}@media(max-width:639px){.tandem-topbar{padding:0 var(--tandem-space-4)}.tandem-topbar__user-meta,.tandem-topbar__logout span{display:none}.tandem-topbar__logout{padding:0 var(--tandem-space-2)}.tandem-channel__time{display:none}}.tandem-chat-filters{padding:0 var(--tandem-space-4)}.tandem-chat-pane__actions{display:inline-flex;align-items:center;gap:var(--tandem-space-1);margin-left:auto}.tandem-chat-marks{display:inline-flex;align-items:center;gap:var(--tandem-space-1);min-height:14px;color:var(--tandem-color-text-muted)}.tandem-chat-marks__icon{display:inline-flex}.tandem-split--detail>.tandem-conversation{flex:1;min-width:0}.tandem-chat-body{position:relative;display:flex;flex-direction:column;flex:1;min-height:0}.tandem-chat-back{display:none}.tandem-chat-offline{margin:var(--tandem-space-3) var(--tandem-space-4) 0}.tandem-chat-pinned{display:flex;align-items:center;gap:var(--tandem-space-2);margin:var(--tandem-space-3) var(--tandem-space-4) 0;padding:var(--tandem-space-2) var(--tandem-space-3);border:1px solid var(--tandem-color-primary-border);border-radius:var(--tandem-radius-md);background:var(--tandem-color-info-subtle);color:var(--tandem-color-primary);font-size:var(--tandem-text-sm);text-align:left;transition:border-color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-chat-pinned:hover{border-color:var(--tandem-color-primary)}.tandem-chat-pinned__label{flex-shrink:0;font-weight:var(--tandem-font-semibold)}.tandem-chat-pinned__text{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--tandem-color-text-secondary)}.tandem-chat-loading-older{position:absolute;top:var(--tandem-space-2);left:50%;transform:translate(-50%);padding:2px var(--tandem-space-3);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-full);background:var(--tandem-color-surface);box-shadow:var(--tandem-shadow-xs);font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-chat-scroll-bottom{position:absolute;right:var(--tandem-space-4);bottom:var(--tandem-space-4);display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-full);background:var(--tandem-color-surface);color:var(--tandem-color-text-secondary);box-shadow:var(--tandem-shadow-md);transition:color var(--tandem-duration-fast) var(--tandem-ease),border-color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-chat-scroll-bottom:hover{color:var(--tandem-color-primary);border-color:var(--tandem-color-primary-border)}.tandem-chat-search{display:flex;flex-direction:column;gap:var(--tandem-space-2);padding:var(--tandem-space-3) var(--tandem-space-4);border-bottom:1px solid var(--tandem-color-border);background:var(--tandem-color-surface-muted)}.tandem-chat-search .tandem-search{width:100%}.tandem-chat-search__count,.tandem-chat-search__empty{font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-chat-search__list{display:flex;flex-direction:column;gap:2px;max-height:260px;overflow-y:auto}.tandem-chat-search__item{display:flex;align-items:center;gap:var(--tandem-space-2);width:100%;padding:var(--tandem-space-2) var(--tandem-space-3);border-radius:var(--tandem-radius-sm);font-size:var(--tandem-text-sm);text-align:left;transition:background-color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-chat-search__item:hover{background:var(--tandem-color-surface-sunken)}.tandem-chat-search__sender{flex-shrink:0;font-weight:var(--tandem-font-semibold)}.tandem-chat-search__snippet{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--tandem-color-text-secondary)}.tandem-chat-search__time{margin-left:auto;flex-shrink:0;font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-chat-typing{display:flex;align-items:center;gap:var(--tandem-space-2);padding:var(--tandem-space-2) var(--tandem-space-4);font-size:var(--tandem-text-xs);color:var(--tandem-color-text-secondary)}.tandem-chat-typing__dots{display:inline-flex;align-items:center;gap:3px}.tandem-chat-typing__dot{width:4px;height:4px;border-radius:var(--tandem-radius-full);background:var(--tandem-color-primary);animation:tandem-typing-bounce 1.1s var(--tandem-ease) infinite}.tandem-chat-typing__dot:nth-child(2){animation-delay:.15s}.tandem-chat-typing__dot:nth-child(3){animation-delay:.3s}@keyframes tandem-typing-bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-3px);opacity:1}}.tandem-msg-date{display:flex;align-items:center;justify-content:center;padding:var(--tandem-space-2) 0}.tandem-msg-date span{padding:2px var(--tandem-space-3);border-radius:var(--tandem-radius-full);background:var(--tandem-color-surface-sunken);font-size:var(--tandem-text-xs);color:var(--tandem-color-text-secondary)}.tandem-msg-divider{display:flex;align-items:center;gap:var(--tandem-space-3);padding:var(--tandem-space-1) 0;color:var(--tandem-color-primary);font-size:var(--tandem-text-xs)}.tandem-msg-divider:before,.tandem-msg-divider:after{content:"";flex:1;height:1px;background:var(--tandem-color-primary-border)}.tandem-msg-system{align-self:center;padding:2px var(--tandem-space-3);border-radius:var(--tandem-radius-full);background:var(--tandem-color-surface-sunken);font-size:var(--tandem-text-xs);color:var(--tandem-color-text-secondary)}.tandem-msg{display:flex;align-items:flex-start;gap:var(--tandem-space-3)}.tandem-msg.is-grouped{margin-top:var(--tandem-bubble-group-overlap)}.tandem-msg__avatar{display:inline-flex;width:32px;flex-shrink:0}.tandem-msg__body{display:flex;flex-direction:column;gap:2px;min-width:0;max-width:var(--tandem-bubble-max-width)}.tandem-msg__sender{font-size:var(--tandem-text-sm);font-weight:var(--tandem-font-semibold)}.tandem-msg__row{position:relative;display:flex;align-items:flex-end;gap:var(--tandem-space-2);width:100%;flex-wrap:wrap}.tandem-msg__bubble{padding:var(--tandem-bubble-pad-y) var(--tandem-space-3);background:var(--tandem-color-surface);border:1px solid var(--tandem-color-border);border-radius:2px var(--tandem-radius-md) var(--tandem-radius-md) var(--tandem-radius-md);box-shadow:var(--tandem-shadow-xs);font-size:var(--tandem-text-md);line-height:var(--tandem-text-md-lh);flex:0 0 auto;max-width:min(100%,40rem);overflow-wrap:break-word}.tandem-msg__text{white-space:pre-wrap}.tandem-msg__tombstone{color:var(--tandem-color-text-muted);font-style:italic}.tandem-msg-images{display:grid;gap:2px;width:19rem;max-width:100%;margin:0 0 var(--tandem-space-1);padding:0;list-style:none}.tandem-msg-images.is-single{grid-template-columns:minmax(0,1fr);width:17rem}.tandem-msg-images.is-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.tandem-msg-images.is-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tandem-msg-images__cell{min-width:0}.tandem-msg-images__thumb{display:flex;align-items:center;justify-content:center;width:100%;padding:0;overflow:hidden;border:none;border-radius:var(--tandem-radius-sm);background:var(--tandem-color-surface-sunken);cursor:pointer}.tandem-msg-images__thumb img{display:block;width:100%;height:100%;object-fit:cover}.tandem-msg-images.is-single .tandem-msg-images__thumb{aspect-ratio:4 / 3}.tandem-msg-images.is-pair .tandem-msg-images__thumb,.tandem-msg-images.is-grid .tandem-msg-images__thumb{aspect-ratio:1}.tandem-msg-images__fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:48px;color:var(--tandem-color-text-muted)}.tandem-msg-files{display:flex;flex-direction:column;gap:var(--tandem-space-1);margin-top:var(--tandem-space-2);padding:0;list-style:none}.tandem-msg-file-card{display:flex;align-items:stretch;overflow:hidden;border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-md);background:var(--tandem-color-surface)}.tandem-msg-file-card__open{display:flex;flex:1;align-items:center;gap:var(--tandem-space-2);min-width:0;padding:var(--tandem-space-2);border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.tandem-msg-file-card__icon{display:flex;flex-shrink:0;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:38px;height:38px;border-radius:var(--tandem-radius-sm);background:var(--tandem-color-surface-sunken);color:var(--tandem-color-primary)}.tandem-msg-file-card__ext{max-width:34px;overflow:hidden;font-size:8px;font-weight:var(--tandem-font-bold);letter-spacing:.02em;white-space:nowrap}.tandem-msg-file-card__meta{display:flex;flex-direction:column;gap:2px;min-width:0}.tandem-msg-file-card__name{overflow:hidden;font-size:var(--tandem-text-sm);white-space:nowrap;text-overflow:ellipsis}.tandem-msg-file-card__size{font-size:var(--tandem-text-xs);color:var(--tandem-color-text-secondary)}.tandem-msg-file-card__download{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:40px;border-left:1px solid var(--tandem-color-border);color:var(--tandem-color-primary)}.tandem-msg-file-card__download:hover{background:var(--tandem-color-surface-muted)}.tandem-msg__meta{display:inline-flex;align-items:center;gap:var(--tandem-space-1);padding-bottom:2px;font-size:var(--tandem-text-xs);color:var(--tandem-color-text-secondary);white-space:nowrap}.tandem-msg__edited,.tandem-msg__status{font-size:var(--tandem-text-xs);color:var(--tandem-color-text-secondary)}.tandem-msg__status.is-failed{display:inline-flex;align-items:center;gap:var(--tandem-space-1);color:var(--tandem-color-danger)}.tandem-msg__retry{color:var(--tandem-color-danger);text-decoration:underline;font-size:var(--tandem-text-xs)}.tandem-msg__read{display:inline-flex;align-items:center;gap:2px;color:var(--tandem-color-primary);font-size:var(--tandem-text-xs)}.tandem-msg__pinned{display:inline-flex;color:var(--tandem-color-text-muted)}.tandem-msg.is-mine{flex-direction:row-reverse}.tandem-msg.is-mine .tandem-msg__avatar{display:none}.tandem-messages{padding-top:var(--tandem-space-2)}.tandem-msg.is-mine .tandem-msg__body{align-items:flex-end}.tandem-msg.is-mine .tandem-msg__row{flex-direction:row-reverse}.tandem-msg.is-mine .tandem-msg__bubble{background:var(--tandem-color-primary-subtle);border-color:var(--tandem-color-primary-border);border-radius:var(--tandem-radius-md) 2px var(--tandem-radius-md) var(--tandem-radius-md)}.tandem-msg.is-pending .tandem-msg__bubble{opacity:.72}.tandem-msg.is-flash .tandem-msg__bubble{animation:tandem-msg-flash 1.4s var(--tandem-ease)}@keyframes tandem-msg-flash{0%,40%{background:var(--tandem-color-selection);border-color:var(--tandem-color-primary)}to{background:var(--tandem-color-surface)}}.tandem-msg__actions{position:absolute;top:-18px;right:0;display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-md);background:var(--tandem-color-surface);box-shadow:var(--tandem-shadow-sm);opacity:0;pointer-events:none;transition:opacity var(--tandem-duration-fast) var(--tandem-ease)}.tandem-msg:hover .tandem-msg__actions,.tandem-msg:focus-within .tandem-msg__actions{opacity:1;pointer-events:auto}.tandem-msg__picker{display:inline-flex;align-items:center;gap:var(--tandem-space-1);align-self:flex-start;margin-top:var(--tandem-space-1);padding:var(--tandem-space-1) var(--tandem-space-2);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-full);background:var(--tandem-color-surface);box-shadow:var(--tandem-shadow-sm)}.tandem-msg.is-mine .tandem-msg__picker{align-self:flex-end}.tandem-msg__picker-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--tandem-radius-full);font-size:15px;transition:background-color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-msg__picker-btn:hover{background:var(--tandem-color-surface-sunken)}.tandem-msg__reactions{display:flex;flex-wrap:wrap;gap:var(--tandem-space-1);margin-top:var(--tandem-space-1)}.tandem-msg.is-mine .tandem-msg__reactions{justify-content:flex-end}.tandem-msg__reaction{display:inline-flex;align-items:center;gap:3px;height:24px;padding:0 var(--tandem-space-2);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-full);background:var(--tandem-color-surface);font-size:var(--tandem-text-xs);transition:border-color var(--tandem-duration-fast) var(--tandem-ease),background-color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-msg__reaction:hover{border-color:var(--tandem-color-primary-border)}.tandem-msg__reaction.is-mine{border-color:var(--tandem-color-primary-border);background:var(--tandem-color-primary-subtle);color:var(--tandem-color-primary)}.tandem-msg__reply-ref{display:flex;align-items:center;gap:var(--tandem-space-1);max-width:100%;margin-bottom:var(--tandem-space-1);padding:var(--tandem-space-1) var(--tandem-space-2);border-left:2px solid var(--tandem-color-primary-border);border-radius:var(--tandem-radius-xs);background:var(--tandem-color-surface-muted);font-size:var(--tandem-text-xs);color:var(--tandem-color-text-secondary);text-align:left}.tandem-msg__reply-ref.is-missing{font-style:italic;color:var(--tandem-color-text-muted)}.tandem-msg__reply-name{flex-shrink:0;font-weight:var(--tandem-font-semibold)}.tandem-msg__reply-text{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tandem-chat-composer{display:flex;flex-direction:column;flex-shrink:0;border-top:1px solid var(--tandem-color-border);background:var(--tandem-color-surface)}.tandem-chat-composer .tandem-composer{border-top:none}.tandem-chat-composer__banner{display:flex;align-items:center;gap:var(--tandem-space-2);padding:var(--tandem-space-2) var(--tandem-space-4);border-bottom:1px solid var(--tandem-color-border);background:var(--tandem-color-surface-muted);font-size:var(--tandem-text-sm);color:var(--tandem-color-text-secondary)}.tandem-chat-composer__banner.is-edit{color:var(--tandem-color-primary)}.tandem-chat-composer__banner-text{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tandem-chat-composer__input{min-height:36px;max-height:160px;resize:none;overflow-y:auto}.tandem-chat-composer__emoji{position:relative;display:inline-flex}.tandem-chat-emoji{position:absolute;right:0;bottom:calc(var(--tandem-control-height) + var(--tandem-space-2));z-index:10;display:grid;grid-template-columns:repeat(6,32px);gap:var(--tandem-space-1);padding:var(--tandem-space-2);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-md);background:var(--tandem-color-surface);box-shadow:var(--tandem-shadow-md)}.tandem-chat-emoji__btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--tandem-radius-sm);font-size:16px;transition:background-color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-chat-emoji__btn:hover{background:var(--tandem-color-surface-sunken)}.tandem-attach-tray{display:flex;flex-wrap:wrap;gap:var(--tandem-space-2);padding:var(--tandem-space-2) var(--tandem-space-4);border-bottom:1px solid var(--tandem-color-border);background:var(--tandem-color-surface-muted)}.tandem-attach-tray__item{position:relative;display:flex;align-items:center;gap:var(--tandem-space-2);width:230px;max-width:100%;min-width:0;padding:var(--tandem-space-2);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-md);background:var(--tandem-color-surface);box-shadow:var(--tandem-shadow-xs)}.tandem-attach-tray__item.is-error{border-color:var(--tandem-color-danger-border);background:var(--tandem-color-danger-subtle)}.tandem-attach-tray__thumb{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--tandem-radius-sm);background:var(--tandem-color-surface-sunken);object-fit:cover}.tandem-attach-tray__thumb.is-placeholder{color:var(--tandem-color-text-muted)}.tandem-attach-tray__file-icon{display:flex;flex-shrink:0;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:44px;height:44px;border-radius:var(--tandem-radius-sm);background:var(--tandem-color-surface-sunken);color:var(--tandem-color-primary)}.tandem-attach-tray__ext{max-width:40px;overflow:hidden;font-size:8px;font-weight:var(--tandem-font-bold);letter-spacing:.02em;white-space:nowrap}.tandem-attach-tray__meta{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.tandem-attach-tray__name{overflow:hidden;font-size:var(--tandem-text-xs);font-weight:var(--tandem-font-medium);white-space:nowrap;text-overflow:ellipsis}.tandem-attach-tray__size{font-size:var(--tandem-text-xs);color:var(--tandem-color-text-secondary)}.tandem-attach-tray__progress{display:flex;flex-direction:column;gap:2px;margin-top:2px}.tandem-attach-tray__progress-track{display:block;width:100%;height:4px;overflow:hidden;border-radius:var(--tandem-radius-full);background:var(--tandem-color-surface-sunken)}.tandem-attach-tray__progress-bar{display:block;height:100%;border-radius:inherit;background:var(--tandem-color-primary);transition:width var(--tandem-duration) var(--tandem-ease)}.tandem-attach-tray__progress-bar.is-indeterminate{width:100%;opacity:.4;animation:tandem-attach-pulse .9s var(--tandem-ease) infinite alternate}@keyframes tandem-attach-pulse{0%{opacity:.25}to{opacity:.75}}.tandem-attach-tray__progress-label{display:inline-flex;align-items:center;gap:var(--tandem-space-1);font-size:var(--tandem-text-xs);color:var(--tandem-color-text-secondary)}.tandem-attach-tray__error,.tandem-attach-tray__done{display:inline-flex;align-items:center;gap:3px;font-size:var(--tandem-text-xs)}.tandem-attach-tray__error{color:var(--tandem-color-danger-strong)}.tandem-attach-tray__done{color:var(--tandem-color-text-secondary)}.tandem-attach-tray__actions{display:inline-flex;flex-shrink:0;align-items:center;gap:var(--tandem-space-1)}.tandem-attach-tray__retry{padding:0 var(--tandem-space-1);border:none;background:none;color:var(--tandem-color-danger-strong);font:inherit;font-size:var(--tandem-text-xs);font-weight:var(--tandem-font-semibold);text-decoration:underline;cursor:pointer}.tandem-attach-tray__summary{width:100%;font-size:var(--tandem-text-xs);color:var(--tandem-color-text-secondary)}@media(max-width:480px){.tandem-attach-tray__item{width:100%}}.tandem-chat-modal__error{flex:1;font-size:var(--tandem-text-xs);color:var(--tandem-color-danger)}.tandem-chat-new{display:flex;flex-direction:column;gap:var(--tandem-space-4)}.tandem-chat-new__body{display:grid;grid-template-columns:220px 1fr;gap:var(--tandem-space-4);min-height:340px}.tandem-chat-new__tree{display:flex;flex-direction:column;gap:var(--tandem-space-2);min-width:0;padding-right:var(--tandem-space-3);border-right:1px solid var(--tandem-color-border)}.tandem-chat-new__section-title{font-size:var(--tandem-text-xs);font-weight:var(--tandem-font-semibold);color:var(--tandem-color-text-muted)}.tandem-chat-new__people{display:flex;flex-direction:column;gap:var(--tandem-space-2);min-width:0}.tandem-chat-new__people-search .tandem-search{width:100%}.tandem-chat-new__hint,.tandem-chat-new__loading{display:flex;align-items:center;gap:var(--tandem-space-2);font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-chat-new__summary{font-size:var(--tandem-text-sm);color:var(--tandem-color-text-secondary)}.tandem-chat-tree{display:flex;flex-direction:column;gap:1px;max-height:300px;overflow-y:auto}.tandem-chat-tree__node{display:flex;align-items:center;gap:2px;border-radius:var(--tandem-radius-sm)}.tandem-chat-tree__node.is-active{background:var(--tandem-color-primary-subtle)}.tandem-chat-tree__node.is-active .tandem-chat-tree__label{color:var(--tandem-color-primary);font-weight:var(--tandem-font-semibold)}.tandem-chat-tree__toggle{display:inline-flex;align-items:center;justify-content:center;width:20px;height:24px;flex-shrink:0;color:var(--tandem-color-text-muted)}.tandem-chat-tree__toggle:disabled{opacity:0;cursor:default}.tandem-chat-tree__label{display:flex;align-items:center;gap:var(--tandem-space-1);flex:1;min-width:0;padding:5px var(--tandem-space-1);font-size:var(--tandem-text-sm);text-align:left;transition:background-color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-chat-tree__label:hover{background:var(--tandem-color-surface-sunken);border-radius:var(--tandem-radius-sm)}.tandem-chat-tree__count{margin-left:auto;font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-chat-chips{display:flex;flex-wrap:wrap;gap:var(--tandem-space-1)}.tandem-chat-chip{display:inline-flex;align-items:center;gap:var(--tandem-space-1);padding:2px var(--tandem-space-2) 2px 2px;border:1px solid var(--tandem-color-primary-border);border-radius:var(--tandem-radius-full);background:var(--tandem-color-primary-subtle);font-size:var(--tandem-text-xs);color:var(--tandem-color-primary)}.tandem-chat-chip__remove{display:inline-flex;color:inherit;opacity:.75}.tandem-chat-chip__remove:hover{opacity:1}.tandem-chat-people{display:flex;flex-direction:column;gap:1px;max-height:320px;overflow-y:auto}.tandem-chat-people--compact{max-height:200px;border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-sm);padding:var(--tandem-space-1)}.tandem-chat-person{display:flex;align-items:center;gap:var(--tandem-space-3);width:100%;padding:var(--tandem-space-2) var(--tandem-space-3);border-radius:var(--tandem-radius-sm);text-align:left;transition:background-color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-chat-person:hover{background:var(--tandem-color-surface-sunken)}.tandem-chat-person.is-selected{background:var(--tandem-color-primary-subtle)}.tandem-chat-person__text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.tandem-chat-person__name{font-size:var(--tandem-text-md);font-weight:var(--tandem-font-medium)}.tandem-chat-person__meta{font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-chat-person__check{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;border:1px solid var(--tandem-color-border-strong);border-radius:var(--tandem-radius-full);color:var(--tandem-color-text-inverse)}.tandem-chat-person.is-selected .tandem-chat-person__check{border-color:var(--tandem-color-primary);background:var(--tandem-color-primary)}.tandem-chat-settings{display:flex;flex-direction:column;gap:var(--tandem-space-5)}.tandem-chat-settings__section{display:flex;flex-direction:column;gap:var(--tandem-space-3);padding-bottom:var(--tandem-space-4);border-bottom:1px solid var(--tandem-color-border)}.tandem-chat-settings__section:last-child{padding-bottom:0;border-bottom:none}.tandem-chat-settings__title{font-size:var(--tandem-text-md);font-weight:var(--tandem-font-semibold)}.tandem-chat-settings__section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--tandem-space-3)}.tandem-chat-settings__actions{display:flex;justify-content:flex-end}.tandem-chat-settings__hint{font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-chat-settings__invite{display:flex;flex-direction:column;gap:var(--tandem-space-2);padding:var(--tandem-space-3);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-md);background:var(--tandem-color-surface-muted)}.tandem-chat-settings__flag{padding:var(--tandem-space-2) 0}.tandem-chat-settings__badges{display:inline-flex;align-items:center;gap:var(--tandem-space-1);flex-shrink:0}.tandem-chat-settings__me{font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-chat-settings__danger{position:sticky;bottom:0;z-index:1;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--tandem-space-4);padding-top:var(--tandem-space-4);background:var(--tandem-color-surface);border-top:1px solid var(--tandem-color-border)}.tandem-chat-settings__danger:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:var(--tandem-space-5);background:var(--tandem-color-surface)}.tandem-chat-settings__danger:after{content:"";position:absolute;left:0;right:0;top:100%;height:var(--tandem-space-5);background:var(--tandem-color-surface)}.tandem-chat-toggle{display:inline-flex;align-items:center;gap:var(--tandem-space-1);height:28px;padding:0 var(--tandem-space-3);border:1px solid var(--tandem-color-border-strong);border-radius:var(--tandem-radius-full);background:var(--tandem-color-surface);font-size:var(--tandem-text-sm);color:var(--tandem-color-text-secondary);transition:border-color var(--tandem-duration-fast) var(--tandem-ease),background-color var(--tandem-duration-fast) var(--tandem-ease),color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-chat-toggle.is-on{border-color:var(--tandem-color-primary-border);background:var(--tandem-color-primary-subtle);color:var(--tandem-color-primary)}.tandem-thread{display:flex;flex-direction:column;width:var(--tandem-thread-width);flex-shrink:0;min-height:0;border-left:1px solid var(--tandem-color-border);background:var(--tandem-color-surface);animation:tandem-thread-in var(--tandem-duration) var(--tandem-ease)}@keyframes tandem-thread-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.tandem-thread__header{display:flex;align-items:center;gap:var(--tandem-space-2);height:var(--tandem-topbar-height);padding:0 var(--tandem-space-4);border-bottom:1px solid var(--tandem-color-border);flex-shrink:0}.tandem-thread__title{display:inline-flex;align-items:center;gap:var(--tandem-space-2);font-size:var(--tandem-text-md);font-weight:var(--tandem-font-semibold)}.tandem-thread__header .tandem-icon-btn{margin-left:auto}.tandem-thread__body{display:flex;flex-direction:column;gap:var(--tandem-space-4);flex:1;min-height:0;padding:var(--tandem-space-4);overflow-y:auto}.tandem-thread__root,.tandem-thread__reply{display:flex;flex-direction:column;gap:var(--tandem-space-2)}.tandem-thread__meta{display:flex;align-items:center;gap:var(--tandem-space-2)}.tandem-thread__sender{font-size:var(--tandem-text-sm);font-weight:var(--tandem-font-semibold)}.tandem-thread__time{margin-left:auto;font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-thread__bubble{padding:var(--tandem-space-2) var(--tandem-space-3);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-md);background:var(--tandem-color-surface);font-size:var(--tandem-text-md);line-height:var(--tandem-text-md-lh);overflow-wrap:break-word}.tandem-thread__bubble.is-root{border-color:var(--tandem-color-primary-border);background:var(--tandem-color-primary-subtle)}.tandem-thread__divider{display:flex;align-items:center;gap:var(--tandem-space-1);font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-thread__replies{display:flex;flex-direction:column;gap:var(--tandem-space-4)}.tandem-thread__status{display:inline-flex;align-items:center;gap:var(--tandem-space-1);font-size:var(--tandem-text-xs);color:var(--tandem-color-text-secondary)}.tandem-thread__status.is-failed{color:var(--tandem-color-danger)}.tandem-thread__more,.tandem-thread__notice{font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-thread__notice{padding:var(--tandem-space-2) var(--tandem-space-4);border-top:1px solid var(--tandem-color-border);background:var(--tandem-color-surface-muted)}.tandem-md{display:block;min-width:0}.tandem-md>*+*{margin-top:var(--tandem-space-2)}.tandem-md__paragraph{margin:0;white-space:pre-wrap;text-wrap:balance}.tandem-md__quote{margin:0;padding:var(--tandem-space-1) var(--tandem-space-3);border-left:2px solid var(--tandem-color-primary-border);color:var(--tandem-color-text-secondary);white-space:pre-wrap}.tandem-md__code-block{margin:0;padding:var(--tandem-space-2) var(--tandem-space-3);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-sm);background:var(--tandem-color-surface-sunken);font-family:var(--tandem-font-mono);font-size:var(--tandem-text-xs);line-height:var(--tandem-text-xs-lh);overflow-x:auto;white-space:pre}.tandem-md__code{padding:1px var(--tandem-space-1);border-radius:var(--tandem-radius-xs);background:var(--tandem-color-surface-sunken);font-family:var(--tandem-font-mono);font-size:var(--tandem-text-sm)}.tandem-md__link{color:var(--tandem-color-primary);text-decoration:underline;text-underline-offset:2px;overflow-wrap:break-word}.tandem-md__link:hover{color:var(--tandem-color-primary-strong)}.tandem-md__strike{color:var(--tandem-color-text-secondary);text-decoration:line-through}.tandem-og{display:flex;flex-direction:column;margin-top:var(--tandem-space-2);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-md);background:var(--tandem-color-surface-muted);overflow:hidden;text-align:left;transition:border-color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-og:hover{border-color:var(--tandem-color-primary-border)}.tandem-og__media{display:block;background:var(--tandem-color-surface-sunken)}.tandem-og__image{display:block;width:100%;max-height:180px;object-fit:cover}.tandem-og__body{display:flex;flex-direction:column;gap:2px;padding:var(--tandem-space-2) var(--tandem-space-3)}.tandem-og__site{display:inline-flex;align-items:center;gap:var(--tandem-space-1);font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-og__host{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tandem-og__title{font-size:var(--tandem-text-sm);font-weight:var(--tandem-font-semibold);overflow-wrap:break-word}.tandem-og__description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--tandem-text-xs);line-height:var(--tandem-text-xs-lh);color:var(--tandem-color-text-secondary)}.tandem-msg__forwarded{display:inline-flex;align-items:center;gap:var(--tandem-space-1);margin-bottom:2px;font-size:var(--tandem-text-xs);font-weight:var(--tandem-font-medium);color:var(--tandem-color-text-secondary)}.tandem-msg__forwarded-name{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tandem-msg__thread{display:inline-flex;align-items:center;gap:var(--tandem-space-1);align-self:flex-start;margin-top:var(--tandem-space-1);padding:2px var(--tandem-space-2);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-full);background:var(--tandem-color-surface);font-size:var(--tandem-text-xs);color:var(--tandem-color-primary);transition:background-color var(--tandem-duration-fast) var(--tandem-ease),border-color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-msg__thread:hover{border-color:var(--tandem-color-primary-border);background:var(--tandem-color-primary-subtle)}.tandem-msg.is-mine .tandem-msg__thread{align-self:flex-end}.tandem-chat-composer__toolbar{display:flex;align-items:center;gap:var(--tandem-space-1);padding:var(--tandem-space-2) var(--tandem-space-4) 0}.tandem-chat-composer__tool{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--tandem-radius-sm);color:var(--tandem-color-text-secondary);transition:background-color var(--tandem-duration-fast) var(--tandem-ease),color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-chat-composer__tool:hover:not(:disabled){background:var(--tandem-color-surface-sunken);color:var(--tandem-color-primary)}.tandem-chat-composer__tool:disabled{opacity:.5}.tandem-chat-composer__hint{margin-left:var(--tandem-space-1);font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-forward{display:flex;flex-direction:column;gap:var(--tandem-space-3)}.tandem-forward__summary{font-size:var(--tandem-text-xs);color:var(--tandem-color-text-secondary)}.tandem-discover{display:flex;flex-direction:column;gap:var(--tandem-space-2)}.tandem-discover__item{display:flex;align-items:center;gap:var(--tandem-space-3);padding:var(--tandem-space-3);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-md);background:var(--tandem-color-surface);transition:border-color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-discover__item:hover{border-color:var(--tandem-color-primary-border)}.tandem-discover__text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.tandem-discover__top{display:flex;align-items:center;gap:var(--tandem-space-2);min-width:0}.tandem-discover__name{font-size:var(--tandem-text-md);font-weight:var(--tandem-font-medium);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tandem-discover__count{display:inline-flex;align-items:center;gap:3px;font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-discover__preview{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:var(--tandem-text-xs);color:var(--tandem-color-text-secondary)}@media(max-width:899px){.tandem-chat-back{display:inline-flex}.tandem-thread{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;width:100%;border-left:none;padding-bottom:env(safe-area-inset-bottom);animation:none}}@media(max-width:639px){.tandem-chat-composer__hint{display:none}}@media(max-width:639px){.tandem-chat-new__body{grid-template-columns:1fr;min-height:0}.tandem-chat-new__tree{padding-right:0;padding-bottom:var(--tandem-space-3);border-right:none;border-bottom:1px solid var(--tandem-color-border)}.tandem-chat-tree{max-height:160px}.tandem-msg__actions{position:static;margin-top:var(--tandem-space-1);opacity:1;pointer-events:auto;border:none;box-shadow:none;background:transparent;padding:0}}.tandem-file-preview{display:flex;flex-direction:column;gap:var(--tandem-space-3);min-height:0}.tandem-file-preview__state{display:flex;flex-direction:column;align-items:center;gap:var(--tandem-space-2);padding:var(--tandem-space-10) var(--tandem-space-4);color:var(--tandem-color-text-secondary);font-size:var(--tandem-text-sm)}.tandem-file-preview__toolbar{display:flex;align-items:center;justify-content:center;gap:var(--tandem-space-2);padding:var(--tandem-space-2) var(--tandem-space-3);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-md);background:var(--tandem-color-surface-muted)}.tandem-file-preview__zoom{min-width:48px;text-align:center;font-size:var(--tandem-text-sm);color:var(--tandem-color-text-secondary)}.tandem-file-preview__stage{display:flex;align-items:center;justify-content:center;height:min(62vh,640px);padding:var(--tandem-space-2);overflow:auto;border-radius:var(--tandem-radius-md);background:var(--tandem-color-surface-sunken)}.tandem-file-preview__stage.is-plain{align-items:stretch;padding:0}.tandem-file-preview__image{max-width:100%;max-height:100%;object-fit:contain;transform-origin:center;transition:transform var(--tandem-duration) var(--tandem-ease);-webkit-user-select:none;user-select:none}.tandem-file-preview__stage.is-actual .tandem-file-preview__image{max-width:none;max-height:none}.tandem-file-preview__frame{width:100%;height:100%;border:none;border-radius:var(--tandem-radius-md);background:var(--tandem-color-surface)}.tandem-file-preview__media{max-width:100%;max-height:100%}.tandem-file-preview__audio{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--tandem-space-3);width:100%;color:var(--tandem-color-text-secondary)}.tandem-file-preview__audio .tandem-file-preview__media{width:min(420px,100%)}.tandem-file-preview__fallback{display:flex;flex-direction:column;align-items:center;gap:var(--tandem-space-2);padding:var(--tandem-space-8) var(--tandem-space-4);text-align:center}.tandem-file-preview__fallback-icon{color:var(--tandem-color-text-muted)}.tandem-file-preview__fallback-name{font-size:var(--tandem-text-md);font-weight:var(--tandem-font-semibold);overflow-wrap:break-word}.tandem-file-preview__meta{display:flex;gap:var(--tandem-space-5);margin:var(--tandem-space-1) 0;font-size:var(--tandem-text-sm);color:var(--tandem-color-text-secondary)}.tandem-file-preview__meta dt{font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-file-preview__meta dd{margin:0}.tandem-file-preview__fallback-hint{max-width:420px;font-size:var(--tandem-text-sm);color:var(--tandem-color-text-secondary)}.tandem-chat-files{display:flex;flex-direction:column;gap:var(--tandem-space-1);margin-top:var(--tandem-space-2)}.tandem-chat-file{display:flex}.tandem-chat-file__open{display:flex;flex:1;align-items:center;gap:var(--tandem-space-2);min-width:0;padding:var(--tandem-space-2);border:1px solid transparent;border-radius:var(--tandem-radius-sm);background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.tandem-chat-file__open:hover{border-color:var(--tandem-color-border);background:var(--tandem-color-surface-muted)}.tandem-chat-file__text{display:flex;flex-direction:column;min-width:0}.tandem-chat-file__name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:var(--tandem-text-sm)}.tandem-chat-file__meta{font-size:var(--tandem-text-xs);color:var(--tandem-color-text-secondary)}@media(max-width:639px){.tandem-file-preview__stage{height:min(50vh,420px)}}@media(prefers-reduced-motion:reduce){.tandem-chat-typing__dot,.tandem-attach-tray__progress-bar.is-indeterminate,.tandem-msg.is-flash .tandem-msg__bubble,.tandem-thread{animation:none}}.tandem-summary{display:flex;flex-direction:column;gap:var(--tandem-space-4)}.tandem-summary__text{font-size:var(--tandem-text-md);line-height:var(--tandem-text-md-lh);color:var(--tandem-color-text);white-space:pre-wrap}.tandem-summary__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--tandem-space-2);padding-top:var(--tandem-space-3);border-top:1px solid var(--tandem-color-border);font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted)}.tandem-card-msg{display:flex;flex-direction:column;gap:var(--tandem-space-2);min-width:220px;max-width:420px}.tandem-card-msg__section{display:flex;flex-direction:column;gap:2px}.tandem-card-msg__title{font-size:var(--tandem-text-sm);font-weight:var(--tandem-font-semibold);color:var(--tandem-color-text)}.tandem-card-msg__text{font-size:var(--tandem-text-md);line-height:var(--tandem-text-md-lh);color:var(--tandem-color-text);white-space:pre-wrap;overflow-wrap:break-word}.tandem-card-msg__divider{margin:var(--tandem-space-1) 0;border:0;border-top:1px solid var(--tandem-color-border)}.tandem-card-msg__actions{display:flex;flex-wrap:wrap;gap:var(--tandem-space-2)}.tandem-card-msg__form{display:flex;align-items:flex-end;gap:var(--tandem-space-2)}.tandem-card-msg__form .tandem-field{flex:1;min-width:150px}.tandem-msg.is-mine .tandem-card-msg{align-items:stretch}.tandem-card-msg__fields{display:flex;flex-direction:column;gap:var(--tandem-space-1);padding:var(--tandem-space-2) var(--tandem-space-3);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-md);background:var(--tandem-color-surface-muted)}.tandem-card-msg__field{display:flex;align-items:center;gap:var(--tandem-space-2);font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh)}.tandem-card-msg__field-label{flex-shrink:0;min-width:56px;color:var(--tandem-color-text-muted)}.tandem-card-msg__field-value{min-width:0;color:var(--tandem-color-text);overflow-wrap:break-word}.tandem-chat-commands{display:flex;flex-direction:column;margin:0 0 var(--tandem-space-2);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-md);background:var(--tandem-color-surface);box-shadow:var(--tandem-shadow-md);overflow:hidden}.tandem-chat-commands__header{display:flex;align-items:center;gap:var(--tandem-space-2);padding:var(--tandem-space-2) var(--tandem-space-3);border-bottom:1px solid var(--tandem-color-border);color:var(--tandem-color-text-muted);font-size:var(--tandem-text-xs)}.tandem-chat-commands__hint{margin-left:auto}.tandem-chat-commands__empty{margin:0;padding:var(--tandem-space-3);color:var(--tandem-color-text-muted);font-size:var(--tandem-text-sm)}.tandem-chat-commands__list{list-style:none;margin:0;padding:var(--tandem-space-1);max-height:220px;overflow-y:auto}.tandem-chat-commands__item{display:flex;align-items:baseline;gap:var(--tandem-space-2);width:100%;padding:var(--tandem-space-2);border:0;border-radius:var(--tandem-radius-sm);background:transparent;color:inherit;text-align:left;cursor:pointer;transition:background-color var(--tandem-duration-fast) var(--tandem-ease)}.tandem-chat-commands__item:hover,.tandem-chat-commands__item.is-active{background:var(--tandem-color-surface-sunken)}.tandem-chat-commands__usage{flex:none;font-family:var(--tandem-font-mono, ui-monospace, monospace);font-size:var(--tandem-text-sm);color:var(--tandem-color-primary)}.tandem-chat-commands__desc{color:var(--tandem-color-text-muted);font-size:var(--tandem-text-xs)}.tandem-member__role-select{flex-shrink:0;min-width:104px}.tandem-member__role-select .tandem-field__label{display:none}.tandem-poll-list{display:flex;flex-direction:column;gap:var(--tandem-space-3);list-style:none;margin:0;padding:0}.tandem-poll{display:flex;flex-direction:column;gap:var(--tandem-space-2);padding:var(--tandem-space-3);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-md);background:var(--tandem-color-surface)}.tandem-poll.is-closed{opacity:.85}.tandem-poll__header{display:flex;align-items:center;justify-content:space-between;gap:var(--tandem-space-2)}.tandem-poll__title{font-weight:var(--tandem-font-semibold);color:var(--tandem-color-text);overflow-wrap:break-word}.tandem-poll__badges{display:inline-flex;gap:var(--tandem-space-1);flex-shrink:0}.tandem-poll__meta{color:var(--tandem-color-text-muted);font-size:var(--tandem-text-xs)}.tandem-poll__options{display:flex;flex-direction:column;gap:var(--tandem-space-1);list-style:none;margin:0;padding:0}.tandem-poll__option{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--tandem-space-2);width:100%;padding:var(--tandem-space-2) var(--tandem-space-3);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-sm);background:var(--tandem-color-surface-muted);text-align:left;cursor:pointer;overflow:hidden}.tandem-poll__option:disabled{cursor:default}.tandem-poll__option.is-selected{border-color:var(--tandem-color-primary)}.tandem-poll__bar{position:absolute;inset:0 auto 0 0;background:var(--tandem-color-primary-subtle);transition:width var(--tandem-duration-fast) var(--tandem-ease);z-index:0}.tandem-poll__option-text,.tandem-poll__count{position:relative;z-index:1}.tandem-poll__option-text{display:inline-flex;align-items:center;gap:var(--tandem-space-1);min-width:0;color:var(--tandem-color-text)}.tandem-poll__mark{display:inline-flex;color:var(--tandem-color-primary)}.tandem-poll__option-label{overflow-wrap:break-word}.tandem-poll__mine{flex-shrink:0;padding:0 var(--tandem-space-1);border-radius:var(--tandem-radius-full);background:var(--tandem-color-primary);color:var(--tandem-color-on-primary, #fff);font-size:var(--tandem-text-xs)}.tandem-poll__count{flex-shrink:0;color:var(--tandem-color-text-secondary);font-size:var(--tandem-text-xs)}.tandem-poll__actions{display:flex;gap:var(--tandem-space-2)}.tandem-poll-form{display:flex;flex-direction:column;gap:var(--tandem-space-3)}.tandem-poll-form__options{display:flex;flex-direction:column;gap:var(--tandem-space-1);list-style:none;margin:0;padding:0}.tandem-poll-form__option{display:flex;align-items:center;gap:var(--tandem-space-1)}.tandem-msg__translation{margin-top:var(--tandem-space-1);padding:var(--tandem-space-2);border-left:2px solid var(--tandem-color-primary);border-radius:var(--tandem-radius-sm);background:var(--tandem-color-surface-sunken)}.tandem-msg__translation-head{display:flex;align-items:center;gap:var(--tandem-space-1);margin-bottom:var(--tandem-space-1);color:var(--tandem-color-text-muted);font-size:var(--tandem-text-xs)}.tandem-msg__translation-label{font-weight:var(--tandem-font-semibold)}.tandem-msg__translation-provider{margin-right:auto}.tandem-msg__translation-tools{display:inline-flex;gap:var(--tandem-space-2)}.tandem-msg__translation-tools button{border:none;background:none;color:var(--tandem-color-primary);font-size:var(--tandem-text-xs);cursor:pointer;padding:0}.tandem-msg__translation-text{margin:0;color:var(--tandem-color-text);overflow-wrap:break-word}.tandem-msg__translation-pending{color:var(--tandem-color-text-muted);font-size:var(--tandem-text-xs)}.tandem-msg__translation-toggle{display:inline-flex;align-items:center;gap:var(--tandem-space-1);margin-top:var(--tandem-space-1);border:none;background:none;color:var(--tandem-color-primary);font-size:var(--tandem-text-xs);cursor:pointer;padding:0}.tandem-conversation{position:relative}.tandem-dropzone{position:absolute;inset:var(--tandem-space-2);z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--tandem-space-2);border:2px dashed var(--tandem-color-primary);border-radius:var(--tandem-radius-lg);background:color-mix(in srgb,var(--tandem-color-surface) 88%,transparent);color:var(--tandem-color-primary);font-weight:var(--tandem-font-medium);pointer-events:none}.tandem-conversation[data-chat-skin=paper] .tandem-chat-body{background:#faf8f1}.tandem-conversation[data-chat-skin=ink] .tandem-chat-body{background:linear-gradient(180deg,#eef0f3,#e7eaee)}.tandem-conversation[data-chat-skin=mist] .tandem-chat-body{background:linear-gradient(180deg,#eef3f6,#e6edf2)}.tandem-conversation[data-chat-skin=blue] .tandem-chat-body{background:linear-gradient(180deg,#e9f2fb,#dfebf8)}.tandem-conversation[data-chat-skin=sunset] .tandem-chat-body{background:linear-gradient(180deg,#fdf0e4,#fbe6d4)}.tandem-conversation[data-chat-skin=dots] .tandem-chat-body{background-color:#f7f4ec;background-image:radial-gradient(rgba(60,52,36,.1) 1px,transparent 1px);background-size:16px 16px}.tandem-conversation[data-chat-skin=grid] .tandem-chat-body{background-color:#f2f5f7;background-image:linear-gradient(rgba(60,72,88,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(60,72,88,.08) 1px,transparent 1px);background-size:24px 24px}[data-theme=dark] .tandem-conversation[data-chat-skin=paper] .tandem-chat-body{background:#211f1b}[data-theme=dark] .tandem-conversation[data-chat-skin=ink] .tandem-chat-body{background:linear-gradient(180deg,#1d2026,#191c22)}[data-theme=dark] .tandem-conversation[data-chat-skin=mist] .tandem-chat-body{background:linear-gradient(180deg,#19202a,#151b24)}[data-theme=dark] .tandem-conversation[data-chat-skin=blue] .tandem-chat-body{background:linear-gradient(180deg,#16202f,#121a27)}[data-theme=dark] .tandem-conversation[data-chat-skin=sunset] .tandem-chat-body{background:linear-gradient(180deg,#261c16,#201712)}[data-theme=dark] .tandem-conversation[data-chat-skin=dots] .tandem-chat-body{background-color:#211e19;background-image:radial-gradient(rgba(255,244,214,.07) 1px,transparent 1px);background-size:16px 16px}[data-theme=dark] .tandem-conversation[data-chat-skin=grid] .tandem-chat-body{background-color:#171d28;background-image:linear-gradient(rgba(190,205,235,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(190,205,235,.06) 1px,transparent 1px);background-size:24px 24px}.tandem-skin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:var(--tandem-space-2)}.tandem-skin-swatch{display:flex;flex-direction:column;align-items:center;gap:var(--tandem-space-2);padding:var(--tandem-space-2);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-md);background:var(--tandem-color-surface);cursor:pointer;transition:border-color var(--tandem-duration-fast) var(--tandem-ease),box-shadow var(--tandem-duration-fast) var(--tandem-ease)}.tandem-skin-swatch:disabled{cursor:not-allowed;opacity:.6}.tandem-skin-swatch.is-active{border-color:var(--tandem-color-primary);box-shadow:0 0 0 1px var(--tandem-color-primary)}.tandem-skin-swatch__preview{width:100%;height:36px;border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-sm)}.tandem-skin-swatch__preview--paper{background:#faf8f1}.tandem-skin-swatch__preview--ink{background:linear-gradient(180deg,#eef0f3,#e7eaee)}.tandem-skin-swatch__preview--mist{background:linear-gradient(180deg,#eef3f6,#e6edf2)}.tandem-skin-swatch__preview--blue{background:linear-gradient(180deg,#e9f2fb,#dfebf8)}.tandem-skin-swatch__preview--sunset{background:linear-gradient(180deg,#fdf0e4,#fbe6d4)}.tandem-skin-swatch__preview--dots{background-color:#f7f4ec;background-image:radial-gradient(rgba(60,52,36,.16) 1.5px,transparent 1.5px);background-size:8px 8px}.tandem-skin-swatch__preview--grid{background-color:#f2f5f7;background-image:linear-gradient(rgba(60,72,88,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(60,72,88,.14) 1px,transparent 1px);background-size:10px 10px}.tandem-skin-swatch__label{font-size:var(--tandem-text-xs);color:var(--tandem-color-text-secondary)}.tandem-skin-swatch.is-active .tandem-skin-swatch__label{color:var(--tandem-color-primary);font-weight:var(--tandem-font-medium)}.tandem-call-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:75;display:flex;align-items:center;justify-content:center;padding:var(--tandem-space-4);background:var(--tandem-color-backdrop);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.tandem-call-card{position:relative;display:flex;flex-direction:column;gap:var(--tandem-space-4);width:min(420px,100%);padding:var(--tandem-space-6);background:var(--tandem-color-surface);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-xl);box-shadow:var(--tandem-shadow-lg);overflow:hidden;animation:tandem-call-enter var(--tandem-duration-slow) var(--tandem-ease)}.tandem-call-card.is-video{width:min(760px,100%);aspect-ratio:16 / 10;padding:0;gap:0;background:var(--tandem-color-ink);border-color:#ffffff1f}@keyframes tandem-call-enter{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.tandem-call-card__profile{display:flex;flex-direction:column;align-items:center;gap:var(--tandem-space-2);padding:var(--tandem-space-6) var(--tandem-space-4) var(--tandem-space-4);text-align:center}.tandem-call-card__profile .tandem-avatar{position:relative}.tandem-call-card__profile .tandem-avatar:before,.tandem-call-card__profile .tandem-avatar:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border:2px solid var(--tandem-color-primary);border-radius:var(--tandem-radius-full);opacity:0;animation:tandem-call-ring 1.8s var(--tandem-ease) infinite;pointer-events:none}.tandem-call-card__profile .tandem-avatar:after{animation-delay:.6s}@keyframes tandem-call-ring{0%{opacity:.55;transform:scale(1)}70%{opacity:0;transform:scale(1.55)}to{opacity:0;transform:scale(1.55)}}.tandem-call-card__peer{font-size:var(--tandem-text-xl);line-height:var(--tandem-text-xl-lh);font-weight:var(--tandem-font-semibold);color:var(--tandem-color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.tandem-call-card__status{font-size:var(--tandem-text-md);line-height:var(--tandem-text-md-lh);color:var(--tandem-color-text-secondary);font-variant-numeric:tabular-nums}.tandem-call-card__hint{font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh);color:var(--tandem-color-text-muted)}.tandem-call-card__remote{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;background:var(--tandem-color-ink)}.tandem-call-card__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#1115229e,#11152200 26%),linear-gradient(to top,#1115229e,#11152200 30%);pointer-events:none}.tandem-call-card__bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:var(--tandem-space-3);padding:var(--tandem-space-4) var(--tandem-space-5);color:var(--tandem-color-text-inverse);pointer-events:none}.tandem-call-card__timer{font-size:var(--tandem-text-md);line-height:var(--tandem-text-md-lh);font-variant-numeric:tabular-nums}.tandem-call-card__local{position:absolute;top:var(--tandem-space-12);right:var(--tandem-space-5);width:168px;aspect-ratio:16 / 10;object-fit:cover;background:var(--tandem-color-ink);border:1px solid rgba(255,255,255,.24);border-radius:var(--tandem-radius-md);box-shadow:var(--tandem-shadow-md);transform:scaleX(-1);z-index:1}.tandem-call-card__local.is-preview{top:var(--tandem-space-4);right:var(--tandem-space-4);width:128px}.tandem-call-card__actions{display:flex;align-items:center;justify-content:center;gap:var(--tandem-space-3);padding:var(--tandem-space-3) 0 var(--tandem-space-1)}.tandem-call-card.is-video .tandem-call-card__actions{position:absolute;left:0;right:0;bottom:0;padding:var(--tandem-space-5);margin:0}.tandem-call-card__actions-group{display:flex;gap:var(--tandem-space-3)}.tandem-call-card__controls{display:flex;align-items:center;gap:var(--tandem-space-3)}.tandem-call-control{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid var(--tandem-color-border-strong);border-radius:var(--tandem-radius-full);background:var(--tandem-color-surface-sunken);color:var(--tandem-color-text);cursor:pointer;transition:background var(--tandem-duration-fast) var(--tandem-ease),color var(--tandem-duration-fast) var(--tandem-ease),transform var(--tandem-duration-fast) var(--tandem-ease)}.tandem-call-control:hover{transform:translateY(-1px)}.tandem-call-control:focus-visible{outline:2px solid var(--tandem-color-primary);outline-offset:2px}.tandem-call-control.is-off{background:var(--tandem-color-danger-subtle);border-color:var(--tandem-color-danger-border);color:var(--tandem-color-danger)}.tandem-call-control.is-end{background:var(--tandem-color-danger);border-color:var(--tandem-color-danger-strong);color:var(--tandem-color-text-inverse)}.tandem-call-control.is-end:hover{background:var(--tandem-color-danger-strong)}.tandem-call-history{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.tandem-call-history__item{display:flex;align-items:center;gap:var(--tandem-space-3);padding:var(--tandem-space-3) 0;border-bottom:1px solid var(--tandem-color-border);min-width:0}.tandem-call-history__item:last-child{border-bottom:none}.tandem-call-history__icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:36px;height:36px;border-radius:var(--tandem-radius-full);background:var(--tandem-color-primary-subtle);color:var(--tandem-color-primary)}.tandem-call-history__icon.is-missed{background:var(--tandem-color-danger-subtle);color:var(--tandem-color-danger)}.tandem-call-history__text{display:flex;flex-direction:column;gap:var(--tandem-space-1);flex:1 1 auto;min-width:0}.tandem-call-history__name{font-size:var(--tandem-text-md);line-height:var(--tandem-text-md-lh);font-weight:var(--tandem-font-medium);color:var(--tandem-color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tandem-call-history__meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--tandem-space-2);font-size:var(--tandem-text-xs);line-height:var(--tandem-text-xs-lh);color:var(--tandem-color-text-secondary)}.tandem-call-history__direction{font-weight:var(--tandem-font-medium);color:var(--tandem-color-text-secondary)}.tandem-call-history__side{flex:0 0 auto}@media(max-width:640px){.tandem-call-card.is-video{aspect-ratio:3 / 4}.tandem-call-card__local{width:112px;top:var(--tandem-space-10);right:var(--tandem-space-4)}.tandem-call-history__item{flex-wrap:wrap}.tandem-call-history__side{width:100%;display:flex;justify-content:flex-end}}@media(prefers-reduced-motion:reduce){.tandem-call-card,.tandem-call-card__profile .tandem-avatar:before,.tandem-call-card__profile .tandem-avatar:after{animation:none}.tandem-call-control:hover{transform:none}}.tandem-call-card.is-group{width:min(880px,100%);gap:var(--tandem-space-3)}.tandem-call-card.is-video.is-group{aspect-ratio:auto;min-height:min(520px,80vh)}.tandem-call-card.is-group .tandem-call-card__bar,.tandem-group-call__bar{position:static;color:var(--tandem-color-text);pointer-events:auto;padding:0 0 var(--tandem-space-2)}.tandem-call-card.is-group.is-video{padding:var(--tandem-space-4)}.tandem-group-call__quota{font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh);color:var(--tandem-color-text-secondary);font-variant-numeric:tabular-nums}.tandem-group-call__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--tandem-space-3)}.tandem-group-call__tile{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:4 / 3;overflow:hidden;background:var(--tandem-color-surface-sunken);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-lg)}.tandem-group-call__video{width:100%;height:100%;object-fit:cover;background:var(--tandem-color-ink)}.tandem-group-call__avatar{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.tandem-group-call__name{position:absolute;left:var(--tandem-space-2);bottom:var(--tandem-space-2);max-width:calc(100% - var(--tandem-space-4));padding:2px var(--tandem-space-2);font-size:var(--tandem-text-xs);line-height:var(--tandem-text-xs-lh);color:var(--tandem-color-text-inverse);background:#11152299;border-radius:var(--tandem-radius-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tandem-group-call__sharing,.tandem-group-call__muted{position:absolute;top:var(--tandem-space-2);display:inline-flex;align-items:center;gap:2px;padding:2px var(--tandem-space-2);font-size:var(--tandem-text-xs);line-height:var(--tandem-text-xs-lh);border-radius:var(--tandem-radius-sm);color:var(--tandem-color-text-inverse);background:#11152299}.tandem-group-call__sharing{left:var(--tandem-space-2);background:var(--tandem-color-primary)}.tandem-group-call__muted{right:var(--tandem-space-2)}.tandem-group-call__pending{font-size:var(--tandem-text-xs);line-height:var(--tandem-text-xs-lh)}.tandem-call-card__sharing{position:absolute;top:var(--tandem-space-12);right:var(--tandem-space-5);display:inline-flex;align-items:center;gap:var(--tandem-space-1);padding:var(--tandem-space-1) var(--tandem-space-2);font-size:var(--tandem-text-xs);line-height:var(--tandem-text-xs-lh);color:var(--tandem-color-text-inverse);background:var(--tandem-color-primary);border-radius:var(--tandem-radius-sm);z-index:2}.tandem-call-control.is-on{background:var(--tandem-color-primary-subtle);border-color:var(--tandem-color-primary);color:var(--tandem-color-primary)}.tandem-group-launcher__stack{display:flex;flex-direction:column;gap:var(--tandem-space-3)}.tandem-group-launcher__kind{display:flex;gap:var(--tandem-space-2)}.tandem-group-launcher__list{display:flex;flex-direction:column;margin:0;padding:0;max-height:280px;overflow-y:auto;list-style:none}.tandem-group-launcher__item{border-bottom:1px solid var(--tandem-color-border)}.tandem-group-launcher__row{display:flex;align-items:center;justify-content:space-between;gap:var(--tandem-space-3);padding:var(--tandem-space-2) 0;cursor:pointer}.tandem-group-launcher__who{display:flex;align-items:center;gap:var(--tandem-space-2);min-width:0}.tandem-group-launcher__name{display:block;font-size:var(--tandem-text-md);line-height:var(--tandem-text-md-lh);font-weight:var(--tandem-font-medium);color:var(--tandem-color-text)}@media(max-width:640px){.tandem-group-call__grid{grid-template-columns:minmax(0,1fr)}.tandem-call-card__sharing{top:var(--tandem-space-10);right:var(--tandem-space-4)}}.tandem-remote-control-banner{position:fixed;top:var(--tandem-space-4);left:50%;transform:translate(-50%);z-index:76;display:flex;align-items:center;gap:var(--tandem-space-3);max-width:min(720px,calc(100vw - 2 * var(--tandem-space-4)));padding:var(--tandem-space-2) var(--tandem-space-4);color:var(--tandem-color-text);background:var(--tandem-color-surface);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-lg);box-shadow:var(--tandem-shadow-lg)}.tandem-remote-control-banner.is-target{border-color:var(--tandem-color-danger, #d64545);box-shadow:0 0 0 2px #d6454540,var(--tandem-shadow-lg)}.tandem-remote-control-banner.is-paused{opacity:.85}.tandem-remote-control-banner__icon{display:inline-flex;color:var(--tandem-color-primary)}.tandem-remote-control-banner__label{font-size:var(--tandem-text-sm);font-weight:var(--tandem-font-medium)}.tandem-remote-control-banner__warn{padding:0 var(--tandem-space-2);font-size:var(--tandem-text-xs);color:var(--tandem-color-danger, #d64545);border-left:1px solid var(--tandem-color-border)}.tandem-remote-control-banner__share{display:flex;align-items:center;gap:var(--tandem-space-2);padding-left:var(--tandem-space-2);font-size:var(--tandem-text-xs);color:var(--tandem-color-text-muted);border-left:1px solid var(--tandem-color-border)}.tandem-remote-control-banner__actions{display:flex;gap:var(--tandem-space-2);margin-left:auto}.tandem-call-card__remote.is-remote-controlled{outline:3px solid var(--tandem-color-primary);outline-offset:-3px;cursor:crosshair}.tandem-call-card__remote.is-remote-controlled:focus-visible{outline-color:var(--tandem-color-primary);outline-width:4px}.tandem-rc-approval-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:78;display:flex;align-items:center;justify-content:center;padding:var(--tandem-space-4)}.tandem-rc-approval__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--tandem-color-backdrop)}.tandem-rc-approval__panel{position:relative;display:flex;flex-direction:column;gap:var(--tandem-space-3);width:min(380px,100%);padding:var(--tandem-space-5);background:var(--tandem-color-surface);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-xl);box-shadow:var(--tandem-shadow-lg)}.tandem-rc-approval__title{margin:0;font-size:var(--tandem-text-lg);font-weight:var(--tandem-font-semibold);color:var(--tandem-color-text)}.tandem-rc-approval__body{margin:0;color:var(--tandem-color-text)}.tandem-rc-approval__actions{display:flex;justify-content:flex-end;gap:var(--tandem-space-2)}@media(max-width:640px){.tandem-remote-control-banner{flex-wrap:wrap;gap:var(--tandem-space-2)}.tandem-remote-control-banner__actions{width:100%;margin-left:0}}.emg-sos-card{border-color:var(--tandem-color-danger-border)}.emg-quick-entry{border-color:var(--tandem-color-danger-border);color:var(--tandem-color-danger)}.emg-quick-entry:hover:not(:disabled){border-color:var(--tandem-color-danger);background:var(--tandem-color-danger-subtle)}.emg-sos{display:flex;flex-direction:column;align-items:center;gap:var(--tandem-space-4)}.emg-sos__button{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--tandem-space-1);width:172px;height:172px;border:none;border-radius:var(--tandem-radius-full);background:radial-gradient(circle at 50% 32%,var(--tandem-color-danger) 0%,var(--tandem-color-danger-strong) 78%);color:var(--tandem-color-text-inverse);cursor:pointer;box-shadow:0 14px 34px -12px var(--tandem-color-danger);transition:transform var(--tandem-duration) var(--tandem-ease),box-shadow var(--tandem-duration) var(--tandem-ease)}.emg-sos__button:hover:not(:disabled){transform:translateY(-2px) scale(1.015)}.emg-sos__button:active:not(:disabled),.emg-sos__button.is-holding{transform:scale(.97);box-shadow:0 6px 18px -8px var(--tandem-color-danger)}.emg-sos__button:focus-visible{outline:3px solid var(--tandem-color-focus-ring);outline-offset:4px}.emg-sos__button:disabled{cursor:not-allowed;opacity:.75}.emg-sos__button:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border:2px solid var(--tandem-color-danger-border);border-radius:var(--tandem-radius-full);opacity:0;transition:opacity var(--tandem-duration) var(--tandem-ease);pointer-events:none}.emg-sos__button.is-holding:after{opacity:1;border-color:var(--tandem-color-danger)}.emg-sos__ring{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--tandem-radius-full);background:color-mix(in srgb,var(--tandem-color-text-inverse) 16%,transparent)}.emg-sos__label{font-size:var(--tandem-text-xl);line-height:var(--tandem-text-xl-lh);font-weight:var(--tandem-font-bold);letter-spacing:.04em}.emg-sos__hint{font-size:var(--tandem-text-xs);line-height:var(--tandem-text-xs-lh);opacity:.86}.emg-sos__bar{position:absolute;bottom:26px;left:34px;right:34px;height:4px;overflow:hidden;border-radius:var(--tandem-radius-full);background:color-mix(in srgb,var(--tandem-color-text-inverse) 28%,transparent)}.emg-sos__bar-fill{display:block;width:100%;height:100%;border-radius:inherit;background:var(--tandem-color-text-inverse);transform:scaleX(0);transform-origin:left center}.emg-sos__caption{max-width:420px;color:var(--tandem-color-text-secondary);font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh);text-align:center}.emg-status{width:100%;max-width:520px;display:flex;flex-direction:column;gap:var(--tandem-space-3);padding:var(--tandem-space-4);border:1px solid var(--tandem-color-danger-border);border-radius:var(--tandem-radius-lg);background:var(--tandem-color-danger-subtle)}.emg-status.is-resolved{border-color:var(--tandem-color-success-border);background:var(--tandem-color-success-subtle)}.emg-status__top{display:flex;align-items:center;gap:var(--tandem-space-2)}.emg-status__id{color:var(--tandem-color-text-secondary);font-family:var(--tandem-font-mono);font-size:var(--tandem-text-xs)}.emg-status__meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--tandem-space-3);margin:0}.emg-status__meta dt{color:var(--tandem-color-text-muted);font-size:var(--tandem-text-xs);line-height:var(--tandem-text-xs-lh)}.emg-status__meta dd{margin:0;font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh);font-weight:var(--tandem-font-medium)}.emg-status__note{color:var(--tandem-color-text-secondary);font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh)}@media(max-width:560px){.emg-status__meta{grid-template-columns:1fr}}.emg-sos-confirm,.emg-rollcall{display:flex;flex-direction:column;gap:var(--tandem-space-4)}.emg-check{display:flex;align-items:flex-start;gap:var(--tandem-space-2);font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh)}.emg-check input{margin-top:2px;accent-color:var(--tandem-color-danger)}.emg-check__hint{display:block;margin-top:var(--tandem-space-1);color:var(--tandem-color-text-muted);font-size:var(--tandem-text-xs);line-height:var(--tandem-text-xs-lh)}.emg-rollcall__guide{color:var(--tandem-color-text-secondary);font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh)}.emg-rollcall__note{display:flex}.emg-rollcall__types{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:var(--tandem-space-2)}.emg-type{padding:var(--tandem-space-2) var(--tandem-space-3);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-md);background:var(--tandem-color-surface);color:var(--tandem-color-text-secondary);font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh);cursor:pointer}.emg-type.is-active{border-color:var(--tandem-color-primary-border);background:var(--tandem-color-primary-subtle);color:var(--tandem-color-primary);font-weight:600}.emg-type:disabled{cursor:not-allowed;opacity:.6}.emg-contact-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.emg-contact{display:flex;align-items:center;gap:var(--tandem-space-3);padding:var(--tandem-space-3) 0;border-bottom:1px solid var(--tandem-color-border)}.emg-contact:last-child{border-bottom:none}.emg-contact__avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;border-radius:var(--tandem-radius-full);background:var(--tandem-color-danger-subtle);color:var(--tandem-color-danger)}.emg-contact__text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.emg-contact__name{display:flex;align-items:center;gap:var(--tandem-space-2);font-size:var(--tandem-text-md);line-height:var(--tandem-text-md-lh);font-weight:var(--tandem-font-semibold)}.emg-contact__duty{padding:0 var(--tandem-space-2);border:1px solid var(--tandem-color-warning-border);border-radius:var(--tandem-radius-full);background:var(--tandem-color-warning-subtle);color:var(--tandem-color-warning);font-size:var(--tandem-text-xs);line-height:18px;font-weight:var(--tandem-font-medium)}.emg-contact__meta{overflow:hidden;color:var(--tandem-color-text-secondary);font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh);text-overflow:ellipsis;white-space:nowrap}.emg-contact__call{flex-shrink:0;text-decoration:none}.emg-shelter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--tandem-space-3)}.emg-shelter{display:flex;flex-direction:column;gap:var(--tandem-space-2);padding:var(--tandem-space-4);border:1px solid var(--tandem-color-border);border-radius:var(--tandem-radius-lg);background:var(--tandem-color-surface-muted);transition:border-color var(--tandem-duration-fast) var(--tandem-ease)}.emg-shelter:hover{border-color:var(--tandem-color-border-strong)}.emg-shelter__name{font-size:var(--tandem-text-md);line-height:var(--tandem-text-md-lh);font-weight:var(--tandem-font-semibold)}.emg-shelter__address{color:var(--tandem-color-text-secondary);font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh);overflow-wrap:break-word}.emg-shelter__coord{display:flex;align-items:center;gap:var(--tandem-space-1);color:var(--tandem-color-text-muted);font-family:var(--tandem-font-mono);font-size:var(--tandem-text-xs);line-height:var(--tandem-text-xs-lh)}.emg-shelter__foot{display:flex;align-items:center;gap:var(--tandem-space-2);margin-top:auto}.emg-shelter__note{overflow:hidden;color:var(--tandem-color-text-muted);font-size:var(--tandem-text-xs);text-overflow:ellipsis;white-space:nowrap}.emg-banners{position:fixed;top:calc(var(--tandem-topbar-height) + var(--tandem-space-3));left:50%;z-index:75;display:flex;flex-direction:column;gap:var(--tandem-space-2);width:min(560px,calc(100vw - var(--tandem-space-8)));transform:translate(-50%);pointer-events:none}.emg-banner{display:flex;align-items:flex-start;gap:var(--tandem-space-3);padding:var(--tandem-space-3) var(--tandem-space-4);border:1px solid var(--tandem-color-danger-border);border-left-width:3px;border-left-color:var(--tandem-color-danger);border-radius:var(--tandem-radius-md);background:var(--tandem-color-surface);box-shadow:var(--tandem-shadow-lg);pointer-events:auto;animation:emg-banner-in var(--tandem-duration) var(--tandem-ease)}.emg-banner--meeting{border-color:var(--tandem-color-primary-border);border-left-color:var(--tandem-color-primary)}.emg-banner--meeting .emg-banner__icon{color:var(--tandem-color-primary)}.emg-banner__badge--meeting{border-color:var(--tandem-color-primary-border);background:var(--tandem-color-primary-subtle);color:var(--tandem-color-primary)}.emg-banner__icon{display:inline-flex;flex-shrink:0;margin-top:1px;color:var(--tandem-color-danger)}.emg-banner__body{display:flex;flex-direction:column;gap:var(--tandem-space-1);flex:1;min-width:0}.emg-banner__title{display:flex;align-items:center;gap:var(--tandem-space-2);font-weight:var(--tandem-font-semibold);line-height:var(--tandem-text-sm-lh);overflow-wrap:break-word}.emg-banner__badge{flex-shrink:0;padding:0 var(--tandem-space-2);border:1px solid var(--tandem-color-danger-border);border-radius:var(--tandem-radius-full);background:var(--tandem-color-danger-subtle);color:var(--tandem-color-danger);font-size:var(--tandem-text-xs);line-height:18px;font-weight:var(--tandem-font-bold)}.emg-banner__message{color:var(--tandem-color-text-secondary);font-size:var(--tandem-text-sm);line-height:var(--tandem-text-sm-lh);overflow-wrap:break-word}.emg-banner__meta{color:var(--tandem-color-text-muted);font-size:var(--tandem-text-xs);line-height:var(--tandem-text-xs-lh)}.emg-banner__actions{display:flex;align-items:center;gap:var(--tandem-space-2);margin-top:var(--tandem-space-1)}.emg-banner__later{padding:0;border:none;background:none;color:var(--tandem-color-text-secondary);font-size:var(--tandem-text-xs);text-decoration:underline;cursor:pointer}@keyframes emg-banner-in{0%{opacity:0;transform:translateY(calc(-1 * var(--tandem-space-2)))}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.emg-banner{animation:none}}
