.ktv-markdown pre,.ktv-markdown code{font-family:var(--font-mono)}.ktv-markdown pre{overflow-x:auto}.ktv-markdown .spoiler{cursor:pointer;border-radius:var(--radius-sm);background:var(--bg-surface-2);color:transparent}.ktv-markdown .spoiler.revealed{cursor:text;background:transparent;color:inherit}:root{color-scheme:dark;--bg-base: #161413;--bg-sunken: #110F0E;--bg-surface: #1E1C1A;--bg-surface-2: #262421;--bg-surface-hover: #312E2B;--bg-overlay: rgba(10, 9, 8, .72);--border-subtle: #2B2926;--border: #3B3835;--border-strong: #514C48;--text-primary: #F4F2F0;--text-secondary: #BDB8B2;--text-tertiary: #8C857D;--text-disabled: #605C57;--accent: #EA7653;--accent-hover: #F08A6A;--accent-active: #E25B32;--accent-muted: color-mix(in srgb, var(--accent) 16%, transparent);--accent-muted-strong: color-mix(in srgb, var(--accent) 28%, transparent);--ok: #46A475;--ok-muted: color-mix(in srgb, var(--ok) 16%, transparent);--warn: #EFAC39;--warn-muted: color-mix(in srgb, var(--warn) 16%, transparent);--danger: #DF4950;--danger-hover: #E75F66;--danger-muted: color-mix(in srgb, var(--danger) 16%, transparent);--text-on-solid: #1B1310;--presence-online: var(--ok);--presence-idle: var(--warn);--presence-dnd: var(--danger);--presence-offline: var(--text-tertiary);--presence-ring: var(--bg-base);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-mono: ui-monospace, "SF Mono", "Cascadia Mono", "Segoe UI Mono", Consolas, "Roboto Mono", "Liberation Mono", Menlo, Monaco, monospace;--fs-xs: .6875rem;--fs-sm: .75rem;--fs-base: .875rem;--fs-md: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.5rem;--fs-2xl: 2rem;--lh-tight: 1.2;--lh-snug: 1.35;--lh-normal: 1.5;--lh-relaxed: 1.65;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 999px;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 2px 8px rgba(0, 0, 0, .45);--shadow-3: 0 8px 24px rgba(0, 0, 0, .5);--shadow-4: 0 16px 48px rgba(0, 0, 0, .55);--duration-instant: 80ms;--duration-fast: .12s;--duration-base: .18s;--duration-slow: .28s;--duration-slower: .42s;--ease-standard: cubic-bezier(.2, .7, .3, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--z-sticky: 100;--z-dropdown: 200;--z-overlay: 300;--z-modal: 400;--z-context-menu: 450;--z-toast: 500;--z-tooltip: 600;--rail-w: 4.5rem;--sidebar-w: 17.5rem;--members-w: 15.5rem;--header-h: 3rem}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){color-scheme:light;--bg-base: #F9F7F5;--bg-sunken: #ECE8E4;--bg-surface: #F1EDEA;--bg-surface-2: #FFFFFF;--bg-surface-hover: #E7E3DF;--bg-overlay: rgba(40, 31, 21, .4);--border-subtle: #DED9D3;--border: #CEC7C0;--border-strong: #B1A8A0;--text-primary: #281F15;--text-secondary: #5A5249;--text-tertiary: #7F756C;--text-disabled: #ABA6A0;--accent: #BA411C;--accent-hover: #A83715;--accent-active: #932F10;--ok: #307E57;--warn: #A0650D;--danger: #C22931;--danger-hover: #AB2128;--text-on-solid: #FFFFFF;--shadow-1: 0 1px 2px rgba(40, 31, 21, .06);--shadow-2: 0 2px 8px rgba(40, 31, 21, .1);--shadow-3: 0 8px 24px rgba(40, 31, 21, .14);--shadow-4: 0 16px 48px rgba(40, 31, 21, .18)}}:root[data-theme=light]{color-scheme:light;--bg-base: #F9F7F5;--bg-sunken: #ECE8E4;--bg-surface: #F1EDEA;--bg-surface-2: #FFFFFF;--bg-surface-hover: #E7E3DF;--bg-overlay: rgba(40, 31, 21, .4);--border-subtle: #DED9D3;--border: #CEC7C0;--border-strong: #B1A8A0;--text-primary: #281F15;--text-secondary: #5A5249;--text-tertiary: #7F756C;--text-disabled: #ABA6A0;--accent: #BA411C;--accent-hover: #A83715;--accent-active: #932F10;--ok: #307E57;--warn: #A0650D;--danger: #C22931;--danger-hover: #AB2128;--text-on-solid: #FFFFFF;--shadow-1: 0 1px 2px rgba(40, 31, 21, .06);--shadow-2: 0 2px 8px rgba(40, 31, 21, .1);--shadow-3: 0 8px 24px rgba(40, 31, 21, .14);--shadow-4: 0 16px 48px rgba(40, 31, 21, .18)}:root[data-theme=dark]{color-scheme:dark;--bg-base: #161413;--bg-sunken: #110F0E;--bg-surface: #1E1C1A;--bg-surface-2: #262421;--bg-surface-hover: #312E2B;--bg-overlay: rgba(10, 9, 8, .72);--border-subtle: #2B2926;--border: #3B3835;--border-strong: #514C48;--text-primary: #F4F2F0;--text-secondary: #BDB8B2;--text-tertiary: #8C857D;--text-disabled: #605C57;--accent: #EA7653;--accent-hover: #F08A6A;--accent-active: #E25B32;--ok: #46A475;--warn: #EFAC39;--danger: #DF4950;--danger-hover: #E75F66;--text-on-solid: #1B1310;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 2px 8px rgba(0, 0, 0, .45);--shadow-3: 0 8px 24px rgba(0, 0, 0, .5);--shadow-4: 0 16px 48px rgba(0, 0, 0, .55)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--text-primary);background:var(--bg-base);-webkit-font-smoothing:antialiased}img,svg,video,canvas{display:block;max-width:100%}button,input,textarea,select{font:inherit;color:inherit}ul,ol{list-style:none;padding:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{background:none;border:none;padding:0;cursor:pointer}hr{border:none;border-top:1px solid var(--border-subtle)}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.icon{width:1em;height:1em;flex-shrink:0;fill:currentColor;display:inline-block}.icon--lg{width:1.5em;height:1.5em}.icon--sm{width:.875em;height:.875em}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.tabular-nums{font-variant-numeric:tabular-nums}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-disabled{color:var(--text-disabled)}.text-accent{color:var(--accent)}.text-ok{color:var(--ok)}.text-warn{color:var(--warn)}.text-danger{color:var(--danger)}.divider{height:1px;background:var(--border-subtle);border:none}.divider--vertical{width:1px;height:100%}h1,h2,h3,h4{font-weight:var(--fw-semibold);line-height:var(--lh-tight);color:var(--text-primary)}h1{font-size:var(--fs-2xl)}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}h4{font-size:var(--fs-md)}p{color:var(--text-secondary);line-height:var(--lh-relaxed)}strong,b{font-weight:var(--fw-semibold);color:inherit}code,pre{font-family:var(--font-mono);font-size:.9em;background:var(--bg-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-xs)}code{padding:.1em .35em}pre{padding:var(--space-3);overflow-x:auto;border-radius:var(--radius-md)}pre code{border:none;padding:0;background:none}.scroll,.sidebar,.content,.members,.rail,.message-list,.settings-nav,.settings-panel{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.scroll::-webkit-scrollbar,.sidebar::-webkit-scrollbar,.content::-webkit-scrollbar,.members::-webkit-scrollbar,.rail::-webkit-scrollbar,.message-list::-webkit-scrollbar,.settings-nav::-webkit-scrollbar,.settings-panel::-webkit-scrollbar{width:10px;height:10px}.scroll::-webkit-scrollbar-track,.sidebar::-webkit-scrollbar-track,.content::-webkit-scrollbar-track,.members::-webkit-scrollbar-track,.rail::-webkit-scrollbar-track,.message-list::-webkit-scrollbar-track,.settings-nav::-webkit-scrollbar-track,.settings-panel::-webkit-scrollbar-track{background:transparent}.scroll::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb,.content::-webkit-scrollbar-thumb,.members::-webkit-scrollbar-thumb,.rail::-webkit-scrollbar-thumb,.message-list::-webkit-scrollbar-thumb,.settings-nav::-webkit-scrollbar-thumb,.settings-panel::-webkit-scrollbar-thumb{background-color:var(--border-strong);border-radius:var(--radius-full);border:3px solid transparent;background-clip:content-box}.app{display:grid;grid-template-columns:var(--rail-w) var(--sidebar-w) 1fr var(--members-w);grid-template-areas:"rail sidebar content members";block-size:100dvh;background:var(--bg-base);color:var(--text-primary);overflow:hidden}.rail{grid-area:rail;background:var(--bg-sunken);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3) 0;overflow-y:auto}.sidebar{grid-area:sidebar;background:var(--bg-surface);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;min-height:0;overflow-y:auto}.sidebar-header{flex-shrink:0;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-4);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-1);font-weight:var(--fw-semibold);cursor:pointer}.sidebar-header:hover{background:var(--bg-surface-hover)}.sidebar-body{flex:1;min-height:0;padding:var(--space-3) 0}.content{grid-area:content;flex:1 1 auto;display:flex;flex-direction:column;background:var(--bg-base);min-width:0;min-height:0}.members{grid-area:members;background:var(--bg-surface);border-left:1px solid var(--border-subtle);overflow-y:auto;padding-bottom:var(--space-4)}@media(max-width:1200px){.app{grid-template-columns:var(--rail-w) var(--sidebar-w) 1fr;grid-template-areas:"rail sidebar content"}.members{display:none;position:fixed;inset:0 0 0 auto;width:var(--members-w);z-index:var(--z-overlay);box-shadow:var(--shadow-4)}.members.is-open{display:block}}@media(max-width:800px){.app{grid-template-columns:var(--rail-w) 1fr;grid-template-areas:"rail content"}.sidebar{display:none;position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);z-index:var(--z-overlay);box-shadow:var(--shadow-4)}.sidebar.is-open{display:flex}}.rail-pill{position:relative;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--bg-surface);color:var(--text-secondary);font-weight:var(--fw-semibold);font-size:var(--fs-sm);overflow:hidden;flex-shrink:0;transition:border-radius var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.rail-pill img{width:100%;height:100%;object-fit:cover}.rail-pill:before{content:"";position:absolute;left:-.8125rem;top:50%;width:.25rem;height:0;border-radius:var(--radius-full);background:var(--text-primary);transition:height var(--duration-fast) var(--ease-standard),top var(--duration-fast) var(--ease-standard);transform:translateY(-50%)}.rail-pill:hover,.rail-pill:focus-visible{border-radius:var(--radius-2xl);background:var(--accent);color:var(--text-on-solid)}.rail-pill:hover:before{height:1.25rem}.rail-pill.is-selected{border-radius:var(--radius-2xl);background:var(--accent);color:var(--text-on-solid)}.rail-pill.is-selected:before{height:2.25rem}.rail-pill.is-unread:not(.is-selected){border-radius:var(--radius-2xl)}.rail-pill.is-unread:not(.is-selected):before{height:.5rem;background:var(--text-secondary)}.rail-pill--home{color:var(--accent)}.rail-pill--add{color:var(--ok);background:transparent;border:1.5px dashed var(--border-strong)}.rail-pill--add:hover{border-style:solid;border-color:var(--ok);background:var(--ok-muted);color:var(--ok)}.rail-divider{width:2rem;height:2px;background:var(--border-subtle);border-radius:var(--radius-full);margin:var(--space-1) 0;flex-shrink:0}.category{display:flex;flex-direction:column}.category-header{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2);margin-top:var(--space-2);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);cursor:pointer;user-select:none}.category-header:hover{color:var(--text-secondary)}.category-header .icon--chevron{width:.7em;height:.7em;transition:transform var(--duration-fast) var(--ease-standard)}.category.is-collapsed .icon--chevron{transform:rotate(-90deg)}.category.is-collapsed .channel-list{display:none}.category-header-add{margin-left:auto;opacity:0;color:var(--text-tertiary)}.category-header:hover .category-header-add{opacity:1}.category-header-add:hover{color:var(--text-primary)}.channel-list{display:flex;flex-direction:column;gap:1px;padding:0 var(--space-2)}.channel{display:flex;align-items:center;gap:var(--space-2);min-height:2.125rem;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--fs-base);cursor:pointer}.channel:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.channel.is-active{background:var(--bg-surface-2);color:var(--text-primary)}.channel .icon{color:var(--text-tertiary)}.channel:hover .icon,.channel.is-active .icon{color:var(--text-secondary)}.channel-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel.is-unread .channel-name{color:var(--text-primary);font-weight:var(--fw-semibold)}.channel-unread-dot{width:6px;height:6px;border-radius:50%;background:var(--text-primary);flex-shrink:0}.channel:not(.is-unread) .channel-unread-dot{display:none}.channel.is-muted .channel-unread-dot{display:none}.channel-muted-icon{display:none;width:.85em;height:.85em;color:var(--text-disabled);flex-shrink:0}.channel.is-muted .channel-muted-icon{display:block}.channel-voice-members{display:flex;flex-direction:column;gap:2px;padding:var(--space-1) 0 var(--space-2) 1.9rem}.channel-voice-member{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text-tertiary);padding:2px var(--space-2);border-radius:var(--radius-sm);cursor:pointer}.channel-voice-member:hover{background:var(--bg-surface-hover);color:var(--text-secondary)}.channel-voice-member.is-speaking{color:var(--ok)}.chat-header{flex-shrink:0;height:var(--header-h);display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-4);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-1)}.chat-header-icon{color:var(--text-tertiary)}.chat-header-name{font-weight:var(--fw-semibold);font-size:var(--fs-base);color:var(--text-primary)}.chat-header-divider{width:1px;height:1.25rem;background:var(--border);margin:0 var(--space-1);flex-shrink:0}.chat-header-topic{color:var(--text-tertiary);font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.chat-header-actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.chat-header-search{width:12rem}.message-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;padding:var(--space-4) 0}.day-divider{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-4) var(--space-2);color:var(--text-tertiary);font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.day-divider:before,.day-divider:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.message{position:relative;display:flex;gap:var(--space-3);padding:var(--space-2) var(--space-4) var(--space-1)}.message:hover,.message.is-menu-open{background:var(--bg-surface)}.message.is-reply-highlight{animation:ktv-reply-jump-flash 1.6s ease-out}@keyframes ktv-reply-jump-flash{0%,12%{background:var(--accent-muted)}to{background:transparent}}@media(prefers-reduced-motion:reduce){.message.is-reply-highlight{animation:none;background:var(--accent-muted)}}.message-avatar{width:2.75rem;height:2.75rem;border-radius:50%;flex-shrink:0}.message-body{flex:1;min-width:0}.message-header{display:flex;align-items:baseline;gap:var(--space-2)}.message-author{font-weight:var(--fw-semibold);color:var(--text-primary);font-size:var(--fs-base)}.message-timestamp{font-size:var(--fs-xs);color:var(--text-disabled);font-variant-numeric:tabular-nums}.message-content{color:var(--text-secondary);font-size:var(--fs-base);line-height:var(--lh-relaxed);white-space:pre-wrap;word-break:break-word}.message-edited-tag{font-size:var(--fs-xs);color:var(--text-disabled);margin-left:4px}.message--grouped{padding-top:1px;padding-bottom:1px}.message--grouped .message-avatar,.message--grouped .message-header{display:none}.message--grouped .message-gutter-time{width:2.75rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.625rem;color:var(--text-disabled);font-variant-numeric:tabular-nums;opacity:0}.message--grouped:hover .message-gutter-time{opacity:1}.reply-context{display:flex;align-items:center;gap:var(--space-2);height:1rem;width:fit-content;max-width:calc(100% - 2.75rem);margin:0 0 2px 2.75rem;padding-left:var(--space-3);border-left:2px solid var(--border-strong);border-top:2px solid var(--border-strong);border-top-left-radius:var(--radius-sm);color:var(--text-tertiary);font-size:var(--fs-sm);cursor:pointer}.reply-context:hover{color:var(--text-secondary)}.reply-context-avatar{width:1rem;height:1rem;border-radius:50%;flex-shrink:0}.reply-context-author{font-weight:var(--fw-medium);color:var(--text-secondary);flex-shrink:0}.reply-context-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-actions{position:absolute;top:-.75rem;right:var(--space-4);display:flex;align-items:center;background:var(--bg-surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-2);opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.message:hover .message-actions,.message.is-menu-open .message-actions{opacity:1;pointer-events:auto;transform:none}.message-actions-btn{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);border-radius:var(--radius-sm)}.message-actions-btn:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.message-actions-btn--danger:hover{background:var(--danger-muted);color:var(--danger)}.reactions{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-2)}.reaction{display:inline-flex;align-items:center;gap:4px;padding:2px var(--space-2);border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-subtle);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--text-secondary);cursor:pointer}.reaction:hover{border-color:var(--border-strong);background:var(--bg-surface-hover)}.reaction.is-active{background:var(--accent-muted);border-color:var(--accent);color:var(--accent)}.typing-indicator{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);color:var(--text-tertiary);font-size:var(--fs-sm);flex-shrink:0}.typing-dots{display:flex;gap:3px}.typing-dots span{width:5px;height:5px;border-radius:50%;background:var(--text-tertiary)}@media(prefers-reduced-motion:no-preference){.typing-dots span{animation:ktv-typing-bounce 1.2s infinite ease-in-out}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}}@keyframes ktv-typing-bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-3px);opacity:1}}.composer{flex-shrink:0;margin:0 var(--space-4) var(--space-5);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:flex;align-items:flex-end;gap:var(--space-1);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3)}.composer:focus-within{border-color:var(--border-strong)}.composer-btn{width:2rem;height:2rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);border-radius:var(--radius-sm)}.composer-btn:hover{color:var(--text-primary);background:var(--bg-surface-hover)}.composer-input{flex:1;min-width:0;background:transparent;border:none;outline:none;resize:none;color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);padding:var(--space-2) 0;field-sizing:content;max-height:12rem;overflow-y:auto}.composer-input::placeholder{color:var(--text-tertiary)}.composer-reply-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-1) var(--space-3);margin-block-end:var(--space-1);font-size:var(--fs-sm);color:var(--text-secondary);background:var(--bg-surface-2);border-inline-start:2px solid var(--accent);border-radius:var(--radius-sm)}.members-header{height:var(--header-h);display:flex;align-items:center;padding:0 var(--space-4);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.role-group{margin:var(--space-2) 0}.role-group-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4) var(--space-1);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.role-group-count{font-variant-numeric:tabular-nums}.member-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);margin:0 var(--space-2);border-radius:var(--radius-md);cursor:pointer}.member-row:hover{background:var(--bg-surface-hover)}.member-row.is-offline{opacity:.5}.member-row.is-offline:hover{opacity:1}.member-info{min-width:0}.member-name{font-size:var(--fs-base);color:var(--text-primary);font-weight:var(--fw-medium)}.member-status{font-size:var(--fs-xs);color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;background:var(--bg-surface-hover);font-weight:var(--fw-semibold, 600);line-height:1;text-transform:uppercase;letter-spacing:.02em;color:var(--text-secondary, currentColor);user-select:none}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar--xs{width:1.25rem;height:1.25rem;font-size:.5rem}.avatar--sm{width:1.75rem;height:1.75rem;font-size:.7rem}.avatar--md{width:2.25rem;height:2.25rem;font-size:.85rem}.avatar--lg{width:2.75rem;height:2.75rem;font-size:1rem}.avatar--xl{width:4.5rem;height:4.5rem;font-size:1.6rem}.avatar--2xl{width:6rem;height:6rem;font-size:2.1rem}.presence{position:absolute;right:-2px;bottom:-2px;width:.85em;height:.85em;border-radius:50%;background:var(--presence-offline);box-shadow:0 0 0 3px var(--presence-ring, var(--bg-base))}.presence--online{background:var(--presence-online)}.presence--idle{background:var(--presence-idle)}.presence--idle:after{content:"";position:absolute;top:-18%;left:-18%;width:65%;height:65%;border-radius:50%;background:var(--presence-ring, var(--bg-base))}.presence--dnd{background:var(--presence-dnd)}.presence--dnd:after{content:"";position:absolute;inset:32% 8%;border-radius:1px;background:var(--presence-ring, var(--bg-base))}.presence--offline{background:var(--presence-ring, var(--bg-base));box-shadow:0 0 0 3px var(--presence-ring, var(--bg-base)),inset 0 0 0 1.5px var(--text-tertiary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:2.25rem;padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid transparent;font-family:var(--font-sans);font-size:var(--fs-base);font-weight:var(--fw-medium);line-height:1;white-space:nowrap;user-select:none;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.btn:active{transform:translateY(1px)}.btn:disabled,.btn.is-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn--primary{background:var(--accent);color:var(--text-on-solid)}.btn--primary:hover{background:var(--accent-hover)}.btn--primary:active{background:var(--accent-active)}.btn--secondary{background:var(--bg-surface-2);color:var(--text-primary);border-color:var(--border)}.btn--secondary:hover{background:var(--bg-surface-hover);border-color:var(--border-strong)}.btn--ghost{background:transparent;color:var(--text-secondary)}.btn--ghost:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.btn--danger{background:var(--danger);color:var(--text-on-solid)}.btn--danger:hover{background:var(--danger-hover)}.btn--danger-ghost{background:transparent;color:var(--danger)}.btn--danger-ghost:hover{background:var(--danger-muted)}.btn--sm{height:1.75rem;padding:0 var(--space-3);font-size:var(--fs-sm);gap:var(--space-1)}.btn--lg{height:2.75rem;padding:0 var(--space-5);font-size:var(--fs-md)}.btn--icon{width:2.25rem;padding:0}.btn--icon.btn--sm{width:1.75rem}.btn--icon.btn--lg{width:2.75rem}.btn--block{width:100%}.field{display:flex;flex-direction:column;gap:var(--space-2)}.label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-secondary)}.label-optional{font-weight:var(--fw-regular);color:var(--text-tertiary)}.help-text{font-size:var(--fs-xs);color:var(--text-tertiary)}.help-text--error{color:var(--danger)}.input,.textarea,.select{width:100%;background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--fs-base);padding:0 var(--space-3);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.input,.select{height:2.25rem}.input--sm{height:1.75rem;font-size:var(--fs-sm);padding:0 var(--space-2)}.textarea{min-height:5rem;padding:var(--space-2) var(--space-3);line-height:var(--lh-normal);resize:vertical}.input::placeholder,.textarea::placeholder{color:var(--text-tertiary)}.input:hover,.textarea:hover,.select:hover{border-color:var(--border-strong)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.input.is-invalid,.textarea.is-invalid{border-color:var(--danger)}.input.is-invalid:focus,.textarea.is-invalid:focus{box-shadow:0 0 0 3px var(--danger-muted)}.input:disabled,.textarea:disabled,.select:disabled{opacity:.55;cursor:not-allowed}.select{appearance:none;-webkit-appearance:none;padding-right:var(--space-6);cursor:pointer}.select-wrap{position:relative;display:block;width:100%}.select-wrap:after{content:"";position:absolute;right:var(--space-3);top:50%;width:.5rem;height:.5rem;border-right:1.5px solid var(--text-tertiary);border-bottom:1.5px solid var(--text-tertiary);transform:translateY(-70%) rotate(45deg);pointer-events:none}.switch{position:relative;display:inline-flex;align-items:center;cursor:pointer;width:2.5rem;height:1.5rem}.switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.switch-track{width:100%;height:100%;background:var(--bg-surface-hover);border:1px solid var(--border);border-radius:var(--radius-full);transition:background-color var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard)}.switch-thumb{position:absolute;top:50%;left:3px;width:1.125rem;height:1.125rem;border-radius:50%;background:var(--text-secondary);transform:translateY(-50%);transition:transform var(--duration-base) var(--ease-standard),background-color var(--duration-base) var(--ease-standard)}.switch input:checked~.switch-track{background:var(--accent);border-color:var(--accent)}.switch input:checked~.switch-thumb{transform:translate(1.1rem,-50%);background:var(--text-on-solid)}.switch input:focus-visible~.switch-track{outline:2px solid var(--accent);outline-offset:2px}.switch input:disabled~.switch-track{opacity:.5;cursor:not-allowed}.checkbox{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.checkbox input{position:absolute;width:1.125rem;height:1.125rem;opacity:0;margin:0;cursor:pointer}.checkbox-box{width:1.125rem;height:1.125rem;flex-shrink:0;border:1.5px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--bg-sunken);display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.checkbox-box:after{content:"";width:.55rem;height:.3rem;border-left:1.5px solid var(--text-on-solid);border-bottom:1.5px solid var(--text-on-solid);transform:rotate(-45deg) translateY(-1px);opacity:0}.checkbox input:checked~.checkbox-box{background:var(--accent);border-color:var(--accent)}.checkbox input:checked~.checkbox-box:after{opacity:1}.checkbox input:focus-visible~.checkbox-box{outline:2px solid var(--accent);outline-offset:2px}.checkbox input:indeterminate~.checkbox-box{background:var(--accent);border-color:var(--accent)}.checkbox input:indeterminate~.checkbox-box:after{opacity:1;width:.55rem;height:0;border-left:none;border-bottom:1.5px solid var(--text-on-solid);transform:none}.radio{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.radio input{position:absolute;width:1.125rem;height:1.125rem;opacity:0;margin:0;cursor:pointer}.radio-dot{width:1.125rem;height:1.125rem;flex-shrink:0;border:1.5px solid var(--border-strong);border-radius:50%;background:var(--bg-sunken);display:inline-flex;align-items:center;justify-content:center;transition:border-color var(--duration-fast) var(--ease-standard)}.radio-dot:after{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--accent);transform:scale(0);transition:transform var(--duration-fast) var(--ease-standard)}.radio input:checked~.radio-dot{border-color:var(--accent)}.radio input:checked~.radio-dot:after{transform:scale(1)}.radio input:focus-visible~.radio-dot{outline:2px solid var(--accent);outline-offset:2px}.range{-webkit-appearance:none;appearance:none;width:100%;height:1.25rem;background:transparent;accent-color:var(--accent);cursor:pointer}.range::-webkit-slider-runnable-track{height:.3rem;border-radius:var(--radius-full);background:var(--bg-surface-hover)}.range::-moz-range-track{height:.3rem;border-radius:var(--radius-full);background:var(--bg-surface-hover)}.range::-webkit-slider-thumb{-webkit-appearance:none;width:1rem;height:1rem;margin-top:-.35rem;border-radius:50%;background:var(--accent);border:2px solid var(--bg-base);cursor:pointer;transition:transform var(--duration-fast) var(--ease-standard)}.range::-webkit-slider-thumb:hover{transform:scale(1.15)}.range::-moz-range-thumb{width:1rem;height:1rem;border-radius:50%;background:var(--accent);border:2px solid var(--bg-base);cursor:pointer}.range:focus-visible{outline:none}.range:focus-visible::-webkit-slider-thumb{outline:2px solid var(--accent);outline-offset:2px}.level-meter{--level: 0%;position:relative;height:.5rem;border-radius:var(--radius-full);background:var(--bg-surface-hover);overflow:hidden}.level-meter:after{content:"";position:absolute;inset:0;width:var(--level);border-radius:inherit;background:linear-gradient(90deg,var(--ok),var(--warn) 78%,var(--danger) 94%);transition:width var(--duration-fast) var(--ease-out)}.level-meter--segmented{background-color:var(--bg-surface-hover);background-image:repeating-linear-gradient(90deg,var(--bg-base) 0 2px,transparent 2px 8px)}.pill{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-surface-2);color:var(--text-secondary);font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.pill--ok{background:var(--ok-muted);color:var(--ok);border-color:transparent}.pill--warn{background:var(--warn-muted);color:var(--warn);border-color:transparent}.pill--danger{background:var(--danger-muted);color:var(--danger);border-color:transparent}.pill--accent{background:var(--accent-muted);color:var(--accent);border-color:transparent}.pill-dot{width:.4em;height:.4em;border-radius:50%;background:currentColor;flex-shrink:0}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.125rem;height:1.125rem;padding:0 .375rem;border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;line-height:1;background:var(--danger);color:var(--text-on-solid)}.badge--neutral{background:var(--bg-surface-hover);color:var(--text-secondary)}.badge--accent{background:var(--accent);color:var(--text-on-solid)}.tag{display:inline-flex;align-items:center;padding:1px var(--space-1);border-radius:var(--radius-xs);font-size:.625rem;font-weight:var(--fw-bold);letter-spacing:.02em;text-transform:uppercase;line-height:1.4;background:var(--accent);color:var(--text-on-solid)}.tag--neutral{background:var(--bg-surface-hover);color:var(--text-tertiary)}.tooltip{position:absolute;z-index:var(--z-tooltip);max-width:16rem;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface-2);color:var(--text-primary);font-size:var(--fs-xs);font-weight:var(--fw-medium);box-shadow:var(--shadow-2);pointer-events:none;white-space:normal}.tooltip:after{content:"";position:absolute;width:.5rem;height:.5rem;background:inherit;border-inline-end:1px solid var(--border-subtle);border-block-end:1px solid var(--border-subtle)}.tooltip[data-placement=top]:after{bottom:-.28rem;left:50%;transform:translate(-50%) rotate(45deg)}.tooltip[data-placement=bottom]:after{top:-.28rem;left:50%;transform:translate(-50%) rotate(225deg)}.tooltip[data-placement=left]:after{right:-.28rem;top:50%;transform:translateY(-50%) rotate(-45deg)}.tooltip[data-placement=right]:after{left:-.28rem;top:50%;transform:translateY(-50%) rotate(135deg)}.modal-overlay{position:fixed;inset:0;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--bg-overlay)}.modal{position:relative;z-index:var(--z-modal);display:flex;flex-direction:column;width:100%;max-width:28rem;max-height:calc(100dvh - var(--space-12));background:var(--bg-surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-4)}.modal--sm{max-width:22rem}.modal--lg{max-width:40rem}.modal-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.modal-title{flex:1;font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.modal-close{color:var(--text-tertiary)}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:var(--space-5);overflow-y:auto;color:var(--text-secondary);line-height:var(--lh-relaxed)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-subtle);flex-shrink:0}@media(prefers-reduced-motion:no-preference){.modal-overlay{animation:ktv-fade-in var(--duration-base) var(--ease-out)}.modal{animation:ktv-modal-in var(--duration-base) var(--ease-standard)}}@keyframes ktv-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ktv-modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.context-menu{position:absolute;z-index:var(--z-context-menu);min-width:14rem;display:flex;flex-direction:column;gap:1px;padding:var(--space-2);background:var(--bg-surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-3)}.context-menu-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--text-secondary);cursor:pointer}.context-menu-item:hover,.context-menu-item.is-active{background:var(--bg-surface-hover);color:var(--text-primary)}.context-menu-item .icon{color:var(--text-tertiary)}.context-menu-item:hover .icon{color:var(--text-secondary)}.context-menu-item--danger,.context-menu-item--danger .icon{color:var(--danger)}.context-menu-item--danger:hover{background:var(--danger-muted);color:var(--danger)}.context-menu-shortcut{margin-left:auto;color:var(--text-disabled);font-size:var(--fs-xs)}.context-menu-item .icon--chevron{margin-left:auto}.context-menu-separator{height:1px;background:var(--border-subtle);margin:var(--space-1) 0}.context-menu-label{padding:var(--space-1) var(--space-2);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.toast-stack{position:fixed;right:var(--space-5);bottom:var(--space-5);z-index:var(--z-toast);width:22rem;max-width:calc(100vw - var(--space-6));display:flex;flex-direction:column;gap:var(--space-2)}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-surface-2);border:1px solid var(--border-subtle);border-left:3px solid var(--text-tertiary);border-radius:var(--radius-md);box-shadow:var(--shadow-3)}.toast--ok{border-left-color:var(--ok)}.toast--warn{border-left-color:var(--warn)}.toast--danger{border-left-color:var(--danger)}.toast-icon{flex-shrink:0;margin-top:2px;color:var(--text-tertiary)}.toast--ok .toast-icon{color:var(--ok)}.toast--warn .toast-icon{color:var(--warn)}.toast--danger .toast-icon{color:var(--danger)}.toast-body{flex:1;min-width:0}.toast-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-primary)}.toast-message{margin-top:2px;font-size:var(--fs-sm);color:var(--text-secondary)}.toast-close{flex-shrink:0;color:var(--text-tertiary)}.toast-close:hover{color:var(--text-primary)}@media(prefers-reduced-motion:no-preference){.toast{animation:ktv-toast-in var(--duration-slow) var(--ease-spring)}}@keyframes ktv-toast-in{0%{opacity:0;transform:translate(1.5rem)}to{opacity:1;transform:none}}.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border-subtle)}.tab{position:relative;padding:var(--space-3);font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--text-tertiary);cursor:pointer}.tab:hover{color:var(--text-secondary)}.tab.is-active{color:var(--text-primary)}.tab.is-active:after{content:"";position:absolute;left:var(--space-3);right:var(--space-3);bottom:-1px;height:2px;border-radius:var(--radius-full);background:var(--accent)}.tabs--pill{display:inline-flex;border-bottom:none;padding:var(--space-1);background:var(--bg-surface);border-radius:var(--radius-md)}.tabs--pill .tab{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm)}.tabs--pill .tab.is-active{background:var(--bg-surface-2)}.tabs--pill .tab.is-active:after{display:none}.settings{display:grid;grid-template-columns:16rem 1fr;height:100%;min-height:0;background:var(--bg-base)}.settings-nav{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4) var(--space-3);background:var(--bg-surface);border-right:1px solid var(--border-subtle);overflow-y:auto}.settings-nav-group{margin-top:var(--space-4)}.settings-nav-group:first-child{margin-top:0}.settings-nav-title{padding:0 var(--space-2) var(--space-2);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.settings-nav-item{padding:var(--space-2);border-radius:var(--radius-md);font-size:var(--fs-base);color:var(--text-secondary);cursor:pointer}.settings-nav-item:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.settings-nav-item.is-active{background:var(--accent-muted);color:var(--accent);font-weight:var(--fw-medium)}.settings-nav-item--danger{color:var(--danger)}.settings-nav-item--danger:hover{background:var(--danger-muted);color:var(--danger)}.settings-panel{max-width:40rem;padding:var(--space-8) var(--space-8) var(--space-16);overflow-y:auto}.settings-section{padding-bottom:var(--space-8);margin-bottom:var(--space-8);border-bottom:1px solid var(--border-subtle)}.settings-section:last-child{border-bottom:none;margin-bottom:0}.settings-section-title{margin-bottom:var(--space-1);font-size:var(--fs-xl);font-weight:var(--fw-semibold)}.settings-section-desc{margin-bottom:var(--space-5);color:var(--text-tertiary)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding:var(--space-4) 0;border-top:1px solid var(--border-subtle)}.settings-row:first-child{padding-top:0;border-top:none}.settings-row-label{font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--text-primary)}.settings-row-desc{margin-top:2px;font-size:var(--fs-sm);color:var(--text-tertiary)}.settings-row-control{flex-shrink:0}.vtile{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:16 / 10;overflow:hidden;background:var(--bg-surface);border:2px solid transparent;border-radius:var(--radius-lg);transition:border-color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard)}.vtile.is-speaking{border-color:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 22%,transparent)}@media(prefers-reduced-motion:no-preference){.vtile.is-speaking{animation:ktv-speak-pulse 1.6s var(--ease-standard) infinite}}@keyframes ktv-speak-pulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 22%,transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--ok) 36%,transparent)}}.vtile-name{position:absolute;left:var(--space-2);bottom:var(--space-2);max-width:calc(100% - var(--space-4));display:flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg-sunken) 78%,transparent);color:var(--text-primary);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.vtile-name .icon{width:.85em;height:.85em;color:var(--text-tertiary)}.vtile.is-muted .vtile-name .icon--mic,.vtile.is-deafened .vtile-name .icon--headphones{color:var(--danger)}.vtile-badge{position:absolute;top:var(--space-2);left:var(--space-2);display:flex;align-items:center;gap:4px;padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--danger);color:var(--text-on-solid);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.03em}.vtile-badge--streaming{background:var(--accent)}.vtile-status-icons{position:absolute;top:var(--space-2);right:var(--space-2);display:flex;gap:4px}.vtile-status-icons .icon{width:1.6em;height:1.6em;padding:4px;border-radius:50%;background:color-mix(in srgb,var(--bg-sunken) 78%,transparent);color:var(--text-secondary)}.stream-stage{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:16 / 9;overflow:hidden;background:var(--bg-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.stream-hud{position:absolute;top:var(--space-3);left:var(--space-3);display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg-sunken) 72%,transparent);font-size:var(--fs-xs);color:var(--text-secondary)}.stream-hud-row{display:flex;justify-content:space-between;gap:var(--space-4);font-variant-numeric:tabular-nums}.stream-hud-row strong{color:var(--text-primary);font-weight:var(--fw-semibold)}.stream-controls{position:absolute;left:50%;bottom:var(--space-4);transform:translate(-50%);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-sunken) 85%,transparent);box-shadow:var(--shadow-3)}.phone{position:relative;width:23.4375rem;height:50.75rem;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-sunken);border:10px solid var(--bg-sunken);border-radius:2.75rem;box-shadow:0 0 0 2px var(--border-strong),var(--shadow-4)}.phone:before{content:"";position:absolute;top:0;left:50%;z-index:2;width:40%;height:1.75rem;background:var(--bg-sunken);border-radius:0 0 1rem 1rem;transform:translate(-50%)}.phone-screen{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-base)}.phone-statusbar{flex-shrink:0;height:2.75rem;display:flex;align-items:flex-end;justify-content:space-between;padding:0 var(--space-5) var(--space-1);font-size:var(--fs-xs);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.phone-home-indicator{position:absolute;left:50%;bottom:.4rem;width:8.5rem;height:.3rem;border-radius:var(--radius-full);background:var(--text-primary);opacity:.35;transform:translate(-50%)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.user-panel{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-block-start:1px solid var(--border-subtle);background:var(--bg-sunken);block-size:auto}.user-panel-identity{display:flex;align-items:center;gap:var(--space-2);min-inline-size:0;flex:1 1 auto}.user-panel-text{display:flex;flex-direction:column;min-inline-size:0}.user-panel-name{color:var(--text-primary);font-weight:var(--fw-semibold);font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-panel-status{color:var(--text-tertiary);font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-panel-actions{display:flex;align-items:center;gap:var(--space-1);margin-inline-start:auto}.auth-shell{min-block-size:100dvh;display:grid;place-items:center;background:var(--bg-base);padding:var(--space-6)}.auth-card{inline-size:min(400px,100%);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);box-shadow:var(--shadow-4)}.auth-card-title{font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--text-primary);margin:0}.auth-card-sub{font-size:var(--fs-sm);color:var(--text-secondary);margin:0}.surface-empty{flex:1 1 auto;display:grid;place-items:center;padding:var(--space-6);color:var(--text-tertiary);font-size:var(--fs-sm);text-align:center}.surface-loading{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-6);color:var(--text-tertiary);font-size:var(--fs-sm);text-align:center}.spinner{inline-size:1.5rem;block-size:1.5rem;border:2px solid var(--border);border-block-start-color:var(--accent);border-radius:50%}@media(prefers-reduced-motion:no-preference){.spinner{animation:ktv-spin .8s linear infinite}}@keyframes ktv-spin{to{transform:rotate(360deg)}}.mobile-shell{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.mobile-shell__content{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}@media(max-width:800px){.app-shell{display:flex;flex-direction:column;min-block-size:100dvh}.mobile-shell__content>.app{flex:1 1 auto;min-block-size:0;block-size:auto}}
