.modal-overlay[data-v-3f8aebe2]{z-index:100;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-3f8aebe2]{background:#fff;border-radius:12px;flex-direction:column;gap:1rem;width:90%;max-width:400px;padding:2rem;display:flex}.modal h3[data-v-3f8aebe2]{margin:0;font-size:1.25rem}.modal p[data-v-3f8aebe2]{color:#666;margin:0}.modal-actions[data-v-3f8aebe2]{justify-content:flex-end;gap:.75rem;display:flex}:root{--color-bg:#f7f6f2;--color-surface:#f9f8f5;--color-surface-2:#fbfbf9;--color-border:#d4d1ca;--color-text:#28251d;--color-text-muted:#7a7974;--color-primary:#01696f;--color-primary-hover:#0c4e54;--color-primary-soft:#cedcd8;--color-success:#437a22;--color-warning:#d19900;--color-error:#a12c7b;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 12px 32px #00000014;--radius-md:.75rem;--radius-lg:1rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--text-sm:.95rem;--text-base:1rem;--text-lg:1.35rem;--text-xl:2rem;--font-body:"General Sans", Inter, system-ui, sans-serif}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg)}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}code{background:var(--color-surface-2);border-radius:.5rem;padding:.15rem .35rem}.app-shell{grid-template-rows:auto 1fr;height:100vh;display:grid;overflow:hidden}.app-header{justify-content:space-between;gap:var(--space-6);padding:var(--space-6) clamp(1rem, 2vw, 2rem);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f9f8f5e0;border-bottom:1px solid #28251d1f;flex-shrink:0;align-items:center;display:flex}.app-header h1{font-size:var(--text-xl);margin:.25rem 0 0}.app-main{height:100%;padding:clamp(1rem,2vw,2rem);overflow:hidden}.app-nav{gap:var(--space-4);display:flex}.app-nav a{background:var(--color-surface);border:1px solid #28251d14;border-radius:999px;padding:.7rem 1rem}.app-nav a.router-link-active{background:var(--color-primary);color:#fff}.grid-single{gap:var(--space-6);grid-template-columns:minmax(0,720px);display:grid}.chat-layout{gap:var(--space-6);grid-template-columns:360px minmax(0,1fr);align-items:stretch;height:100%;display:grid}.chat-sidebar{gap:var(--space-4);grid-template-rows:44px 1fr 44px;height:100%;min-height:0;transition:grid-template-rows .35s cubic-bezier(.16,1,.3,1);display:grid;overflow:hidden}:is(.chat-sidebar:has(.create-panel:hover),.chat-sidebar:has(.create-panel:focus-within)){grid-template-rows:auto 1fr 44px}.chat-sidebar:has(.user-panel:hover){grid-template-rows:44px 1fr auto}:is(.chat-sidebar:has(.create-panel:hover):has(.user-panel:hover),.chat-sidebar:has(.create-panel:focus-within):has(.user-panel:hover)){grid-template-rows:auto 1fr auto}.chat-sidebar>*{min-height:0}.create-panel{border-radius:var(--radius-lg);overflow:hidden}.create-panel__inner{min-height:0;padding:var(--space-5) var(--space-6);opacity:0;transition:opacity .2s,transform .25s cubic-bezier(.16,1,.3,1);transform:translateY(-4px)}:is(.chat-sidebar:has(.create-panel:hover) .create-panel__inner,.chat-sidebar:has(.create-panel:focus-within) .create-panel__inner){opacity:1;transition:opacity .25s .1s,transform .3s cubic-bezier(.16,1,.3,1) 50ms;transform:translateY(0)}.user-panel{border-radius:var(--radius-lg);overflow:hidden;padding:0!important}.user-panel__inner{padding:var(--space-5) var(--space-6);opacity:0;gap:var(--space-3);flex-direction:column;transition:opacity .2s,transform .25s cubic-bezier(.16,1,.3,1);display:flex;transform:translateY(4px)}.chat-sidebar:has(.user-panel:hover) .user-panel__inner{opacity:1;transition:opacity .25s .1s,transform .3s cubic-bezier(.16,1,.3,1) 50ms;transform:translateY(0)}.user-panel__name{font-weight:600;font-size:var(--text-sm);color:var(--color-text)}.panel,.chat-panel{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid #28251d1a}.panel{padding:var(--space-5) var(--space-6)}.panel .stack{gap:var(--space-3)}.panel-header,.chat-panel__header{justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);align-items:start;display:flex}.eyebrow{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.78rem}h2{font-size:var(--text-lg);margin:.3rem 0 0}.stack{gap:var(--space-4);display:grid}.field{gap:.4rem;display:grid}.field span,.muted,.room-meta,.room-description{color:var(--color-text-muted)}.field input,.field textarea,.field select,.composer textarea,.join-input{background:#fff;border:1px solid #28251d24;border-radius:.8rem;outline:none;width:100%;padding:.7rem 1rem}.field input:focus,.field textarea:focus,.field select:focus,.composer textarea:focus,.join-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #01696f26}.actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.btn{cursor:pointer;border:none;border-radius:.85rem;min-height:40px;padding:.7rem 1rem;font-weight:600}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface-2);border:1px solid #28251d1f}.btn-danger{color:#fff;cursor:pointer;font-weight:600;font-size:var(--text-sm);background:#e53e3e;border:none;border-radius:.85rem;padding:.5rem 1rem}.btn-danger:hover{background:#c53030}.status-chip,.badge{border-radius:999px;justify-content:center;align-items:center;padding:.45rem .75rem;font-size:.78rem;font-weight:700;display:inline-flex}.badge{background:var(--color-primary-soft);color:var(--color-primary)}.badge-protected{color:var(--color-warning);background:#d1990024}.status-idle{background:#28251d14}.status-success{color:var(--color-success);background:#437a2224}.status-warning{color:var(--color-warning);background:#d1990024}.status-error{color:var(--color-error);background:#a12c7b24}.rooms-panel{padding:var(--space-5) var(--space-6);flex-direction:column;min-height:0;display:flex;overflow:hidden}.rooms-panel .panel-header{flex-shrink:0}.room-list{gap:var(--space-3);min-height:0;padding-right:var(--space-2);flex-direction:column;flex:1;display:flex;overflow-y:auto}.room-item{border-radius:var(--radius-md);background:var(--color-surface-2);border:1px solid #28251d14;transition:border-color .2s;overflow:hidden}.room-item.active{background:#01696f08;border-color:#01696f66}.room-item__main{text-align:left;width:100%;padding:var(--space-4) var(--space-5);cursor:pointer;background:0 0;border:none;display:block}.room-item__main:hover{background:#28251d08}.room-join{gap:var(--space-3);padding:var(--space-4) var(--space-5);background:#01696f0a;border-top:1px solid #28251d14;flex-direction:column;animation:.25s cubic-bezier(.16,1,.3,1) slideDown;display:flex}.join-input{font-size:var(--text-sm)}.btn-join{justify-content:center;width:100%}.room-top,.message-meta{justify-content:space-between;gap:var(--space-4);align-items:center;display:flex}.chat-panel{grid-template-rows:auto 1fr auto;height:100%;min-height:0;display:grid;overflow:hidden}.chat-panel__header{padding:var(--space-5) var(--space-6);border-bottom:1px solid #28251d14;flex-shrink:0;margin-bottom:0}.messages{gap:var(--space-4);padding:var(--space-6);background:linear-gradient(#01696f0a,#0000 30%);flex-direction:column;min-height:0;display:flex;overflow-y:auto}.message{max-width:78%;padding:var(--space-4);background:var(--color-surface-2);border:1px solid #28251d14;border-radius:1rem;flex-shrink:0}.message.self{background:#01696f14;border-color:#01696f33;margin-left:auto}.message p,.info-list{margin:0}.composer{gap:var(--space-4);padding:var(--space-5) var(--space-6);background:var(--color-surface-2);border-top:1px solid #28251d14;flex-shrink:0;grid-template-columns:1fr auto;display:grid}.composer textarea{resize:vertical;min-height:56px;max-height:160px}.empty-state{padding:var(--space-6);border-radius:var(--radius-md);background:var(--color-surface-2);color:var(--color-text-muted)}.info-list{gap:var(--space-3);padding-left:1.2rem;display:grid}@media (width<=960px){.chat-layout{grid-template-columns:1fr;height:auto}.chat-sidebar{grid-template-rows:44px 1fr 44px;height:auto}.chat-panel{height:80vh}}@media (width<=640px){.app-header,.panel,.chat-panel__header,.messages,.composer,.app-main{padding:1rem}.app-header{flex-direction:column;align-items:start}.composer{grid-template-columns:1fr}.message{max-width:100%}}
