@font-face{font-family:dmSans;src:url(../media/dm_sans_400-s.p.1ak_r0qwk4efr.ttf)format("truetype");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:dmSans;src:url(../media/dm_sans_500-s.p.2r2fipdt7dpwy.ttf)format("truetype");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:dmSans;src:url(../media/dm_sans_600-s.p.0vbbr_motsstn.ttf)format("truetype");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:dmSans;src:url(../media/dm_sans_700-s.p.10xgmchs6okr4.ttf)format("truetype");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:dmSans Fallback;src:local(Arial);ascent-override:94.36%;descent-override:29.49%;line-gap-override:0.0%;size-adjust:105.13%}.yXsHbG_className{font-family:dmSans,dmSans Fallback}.yXsHbG_variable{--font-dm-sans:"dmSans", "dmSans Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--color-amber-400:#fcbb00;--color-emerald-400:#00d294;--color-blue-400:#54a2ff;--color-purple-400:#c07eff;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}@supports (color:lab(0% 0 0)){:root,:host{--color-amber-400:lab(80.1641% 16.6016 99.2089);--color-emerald-400:lab(75.0771% -60.7313 19.4147);--color-blue-400:lab(65.0361% -1.42065 -56.9802);--color-purple-400:lab(63.6946% 47.6127 -59.2066)}}}@layer base{*{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}}@layer components;@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.border{border-style:var(--tw-border-style);border-width:1px}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--warning\)\]{color:var(--warning)}.text-amber-400{color:var(--color-amber-400)}.text-blue-400{color:var(--color-blue-400)}.text-emerald-400{color:var(--color-emerald-400)}.text-purple-400{color:var(--color-purple-400)}.uppercase{text-transform:uppercase}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-primary:#faf9f5;--bg-secondary:#fff;--bg-tertiary:#f0f0e8;--bg-elevated:#fff;--bg-glass:#f6f5ef;--bg-glass-card:#f0f0e8;--bg-glass-hover:#eaece3;--bg-glass-active:#e2e8df;--text-primary:#24372f;--text-secondary:#526258;--text-muted:#637067;--text-white:#fff;--border-subtle:#dee3d9;--border-medium:#bec9bd;--accent:#245b49;--accent-hover:#194334;--on-accent:#fff;--accent-light:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--accent-light:color-mix(in srgb, var(--accent) 10%, var(--bg-secondary))}}:root{--accent-gradient:var(--accent);--accent-gradient-bubble:var(--accent);--border-glow:var(--accent);--border-focus:var(--accent);--bubble-received:#eceee7;--success:#287044;--success-light:#e2eee2;--warning:#85531b;--warning-light:#f6ead6;--danger:#b13d43;--danger-light:#f9e5e4;--on-danger:#fff;--learning:#285d91;--learning-hover:#204b76;--learning-light:#eaf1f9;--calendar:#70509b;--calendar-hover:#593d80;--calendar-light:#f1ecf8;--dining:#9b4b32;--dining-hover:#7d3926;--dining-light:#fbede6;--on-action:#fff;--shadow-sm:0 2px 8px #162d1710;--shadow-md:0 8px 24px #162d1718;--shadow-lg:0 24px 70px #162d1726;--glow-accent:none;--glow-success:none;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:16px;--radius-full:9999px;--font-sans:var(--font-dm-sans), "Segoe UI", sans-serif;--transition-fast:.16s cubic-bezier(.16,1,.3,1);--transition-normal:.24s cubic-bezier(.16,1,.3,1);--transition-enter:.28s cubic-bezier(.16,1,.3,1)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-primary:#121212;--bg-secondary:#1c1c1c;--bg-tertiary:#262626;--bg-elevated:#303030;--bg-glass:#181818;--bg-glass-card:#262626;--bg-glass-hover:#303030;--bg-glass-active:#383838;--text-primary:#f2f2f2;--text-secondary:#c5c5c5;--text-muted:#a8a8a8;--border-subtle:#383838;--border-medium:#555;--accent:#a9d3ad;--accent-hover:#c1e6c4;--on-accent:#172019;--bubble-received:#2a2a2a;--success:#a2d7af;--success-light:#243b2d;--warning:#e3bf85;--warning-light:#3b3223;--danger:#f0aaa6;--danger-light:#412b2b;--on-danger:#301516;--learning:#a8cef3;--learning-hover:#c4dff9;--learning-light:#233449;--calendar:#d0baf1;--calendar-hover:#e1d2f8;--calendar-light:#352b45;--dining:#f2ba9c;--dining-hover:#f8d3bf;--dining-light:#402e25;--on-action:#1a1a1a}:root[data-accent=clay]{--accent:#8d4938;--accent-hover:#71392b}:root[data-accent=lake]{--accent:#2c607d;--accent-hover:#224960}:root[data-theme=dark][data-accent=clay]{--accent:#edb09a;--accent-hover:#f2c9b8}:root[data-theme=dark][data-accent=lake]{--accent:#9fcfe6;--accent-hover:#c3e5f5}html,body{background-color:var(--bg-primary);width:100%;height:100%;color:var(--text-primary);font-family:var(--font-sans);font-size:.933rem;line-height:1.5;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-subtle)}button,input,textarea,select{font-family:inherit}h1,h2,h3,h4,h5,h6{color:var(--text-primary);letter-spacing:-.02em;font-weight:600}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulseGlow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.96)}}@keyframes typingPulse{0%,60%,to{opacity:.4}30%{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.btn{border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform .12s ease-out;-webkit-user-select:none;user-select:none;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:600;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:none}.btn-primary:hover{filter:brightness(1.1);box-shadow:none}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-medium);-webkit-backdrop-filter:none;backdrop-filter:none}.btn-secondary:hover{background:var(--bg-glass-hover);border-color:var(--border-medium)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--border-subtle);color:var(--text-primary)}.btn-danger{background:var(--danger-light);color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:var(--danger);color:var(--on-danger)}.btn-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.input-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.input-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.input-control{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:background-color var(--transition-fast);-webkit-backdrop-filter:none;backdrop-filter:none;padding:11px 14px;font-size:.933rem}.input-control:hover{border-color:var(--border-medium)}.input-control:focus{border-color:var(--accent);box-shadow:none;background:var(--bg-tertiary);outline:none}.input-control::placeholder{color:var(--text-muted)}.glass-panel{background:var(--bg-glass);-webkit-backdrop-filter:none;border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.app-container{z-index:1;width:100%;height:100dvh;display:flex;position:relative;overflow:hidden}.sidebar{background:var(--bg-glass);border-right:1px solid var(--border-subtle);-webkit-backdrop-filter:none;backdrop-filter:none;z-index:10;width:360px;min-width:320px;height:100%;transition:transform var(--transition-normal);flex-direction:column;display:flex;position:relative}@media (max-width:768px){.sidebar{width:100%;position:absolute;top:0;bottom:0;left:0;transform:translate(0)}.sidebar.hidden-mobile{transform:translate(-100%)}}.sidebar-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.sidebar-brand{align-items:center;gap:10px;display:flex}.brand-icon{border-radius:var(--radius-md);background:var(--accent-gradient);color:#fff;width:34px;height:34px;box-shadow:none;justify-content:center;align-items:center;display:flex}.brand-title{color:var(--text-primary);font-size:1.133rem;font-weight:700}.sidebar-search{padding:12px 18px}.search-box{align-items:center;display:flex;position:relative}.search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:12px}.search-input{background:var(--border-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-full);width:100%;color:var(--text-primary);transition:background-color var(--transition-fast);padding:8px 12px 8px 36px;font-size:.867rem}.search-input:focus{background:var(--border-subtle);border-color:var(--border-glow);box-shadow:none;outline:none}.sidebar-nav-tabs{gap:8px;padding:0 18px 8px;display:flex}.nav-pill{border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;padding:6px 12px;font-size:.8rem;font-weight:600}.nav-pill.active{background:var(--accent-light);color:var(--accent)}.conversation-list{flex-direction:column;flex:1;gap:4px;padding:6px 12px;display:flex;overflow-y:auto}.conversation-item{border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast);border:1px solid #0000;align-items:center;gap:12px;padding:10px 12px;display:flex;position:relative}.conversation-item:hover{background:var(--bg-glass-hover);border-color:var(--border-subtle)}.conversation-content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.conversation-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.conversation-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.conversation-time{color:var(--text-muted);flex-shrink:0;font-size:.8rem}.conversation-bottom{justify-content:space-between;align-items:center;gap:8px;display:flex}.conversation-preview{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.833rem;overflow:hidden}.conversation-preview.typing{color:var(--accent);font-weight:500}.badge-unread{background:var(--accent);color:#fff;border-radius:var(--radius-full);min-width:18px;height:18px;box-shadow:none;justify-content:center;align-items:center;padding:0 5px;font-size:.8rem;font-weight:700;display:flex}.sidebar-footer{border-top:1px solid var(--border-subtle);background:var(--bg-tertiary);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.user-profile-preview{cursor:pointer;border-radius:var(--radius-md);transition:background var(--transition-fast);align-items:center;gap:10px;padding:4px 8px;display:flex}.user-profile-info{flex-direction:column;display:flex}.user-profile-name{color:var(--text-primary);font-size:.867rem;font-weight:600}.user-profile-handle{color:var(--text-muted);font-size:.8rem}.chat-main{background:var(--bg-tertiary);flex-direction:column;flex:1;height:100%;display:flex;position:relative}.chat-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-glass);-webkit-backdrop-filter:none;backdrop-filter:none;z-index:5;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex}.chat-header-info{align-items:center;gap:12px;display:flex}.chat-title-group{flex-direction:column;display:flex}.chat-title{color:var(--text-primary);font-size:1rem;font-weight:700}.chat-subtitle{color:var(--text-secondary);align-items:center;gap:6px;font-size:.8rem;display:flex}.status-dot{background:var(--text-muted);border-radius:50%;width:8px;height:8px;display:inline-block}.status-dot.online{background:var(--success);box-shadow:none}.status-dot.pulsing{animation:1.8s ease-in-out infinite pulseGlow}.chat-header-actions{align-items:center;gap:8px;display:flex}.messages-container{flex-direction:column;flex:1;gap:4px;padding:20px 24px;display:flex;position:relative;overflow-y:auto}.date-divider{justify-content:center;align-items:center;margin:16px 0 12px;display:flex;position:relative}.date-divider:before{content:"";background:var(--border-subtle);height:1px;position:absolute;top:50%;left:0;right:0}.date-divider-text{z-index:1;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-secondary);padding:4px 12px;font-size:.8rem;font-weight:600;position:relative}.message-row{max-width:78%;transition:transform var(--transition-fast);gap:10px;margin-top:14px;display:flex;position:relative}.message-avatar-spacer{flex-shrink:0;width:32px;min-width:32px}.message-row.sent{flex-direction:row-reverse;align-self:flex-end}.message-row.received{align-self:flex-start}.message-skeleton-container{flex-direction:column;gap:16px;width:100%;padding:12px 0;display:flex}.message-skeleton-row{align-items:flex-end;gap:10px;width:100%;display:flex}.message-skeleton-row.skeleton-received{justify-content:flex-start}.message-skeleton-row.skeleton-sent{justify-content:flex-end}.message-skeleton-avatar{border-radius:50%;flex-shrink:0;width:32px;height:32px}.message-skeleton-bubble{border-radius:var(--radius-lg);background:var(--bg-tertiary);border:1px solid var(--border-subtle);flex-direction:column;gap:8px;min-width:120px;max-width:78%;padding:12px 14px;display:flex}.message-skeleton-row.skeleton-sent .message-skeleton-bubble{background:var(--accent-light);border-color:#0000}.shimmer-box{background:linear-gradient(90deg, var(--border-subtle) 0%, var(--bg-glass-hover) 50%, var(--border-subtle) 100%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmerPulse}.skeleton-line-title{width:60%;height:12px}.skeleton-line-body{width:90%;height:10px}.skeleton-line-body.short{width:50%}@keyframes shimmerPulse{0%{background-position:200% 0}to{background-position:-200% 0}}.avatar-upload-trigger{cursor:pointer;display:inline-block;position:relative}.avatar-hover-overlay{opacity:0;transition:opacity var(--transition-fast)}.avatar-upload-trigger:hover .avatar-hover-overlay{opacity:1!important}.message-bubble{border-radius:var(--radius-lg);word-break:break-word;transition:box-shadow var(--transition-fast);padding:10px 14px;font-size:.933rem;line-height:1.45;position:relative}.message-row.sent .message-bubble{background:var(--accent-gradient-bubble);color:#fff;box-shadow:none;border-bottom-right-radius:4px}.message-row.received .message-bubble{background:var(--bubble-received);border:1px solid var(--border-subtle);color:var(--text-primary);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-left-radius:4px}.message-sender-name{color:var(--accent);margin-bottom:2px;font-size:.8rem;font-weight:700}.message-text{white-space:pre-wrap}.message-meta{color:var(--border-subtle);justify-content:flex-end;align-items:center;gap:4px;margin-top:4px;font-size:.8rem;display:flex}.message-row.received .message-meta{color:var(--text-muted)}.message-edited-tag{opacity:.8;font-size:.8rem;font-style:italic}.message-actions-trigger{border-radius:var(--radius-full);background:var(--bg-secondary);border:1px solid var(--border-medium);width:36px;min-width:36px;height:36px;min-height:44px;color:var(--text-secondary);cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);z-index:10;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:4px}.message-row.sent .message-actions-trigger{left:0}.message-row.received .message-actions-trigger{right:0}.message-content-wrapper{min-width:0;max-width:100%;position:relative}.message-row.sent .message-content-wrapper{padding-left:40px}.message-row.received .message-content-wrapper{padding-right:40px}.message-row.actions-open{z-index:30}.message-row:hover .message-actions-trigger,.message-row:focus-within .message-actions-trigger,.message-row.actions-open .message-actions-trigger{opacity:1;pointer-events:auto}.message-actions-trigger:hover{background:var(--bg-tertiary);color:var(--text-primary)}.message-hover-actions{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:25;-webkit-backdrop-filter:none;backdrop-filter:none;align-items:center;gap:4px;padding:6px;display:none;position:absolute;top:0}.message-row.sent .message-hover-actions{right:0}.message-row.received .message-hover-actions{left:0}.message-hover-actions.open,.message-row.actions-open .message-hover-actions{animation:.15s ease-out scaleIn;display:flex}.message-edit{width:280px;max-width:100%;color:var(--text-primary)}.message-edit-input{resize:vertical;min-height:70px}.message-actions-emojis,.message-actions-tools{align-items:center;gap:2px;display:flex}.action-btn-label{display:none}.action-btn-mini{color:var(--text-secondary);border-radius:var(--radius-full);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.action-btn-mini:hover{background:var(--border-subtle);color:var(--text-primary)}.reactions-row{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.reaction-pill{background:var(--border-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-full);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform .12s ease-out;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;padding:2px 7px;font-size:.8rem;display:inline-flex}.reaction-pill:hover{background:var(--border-subtle);transform:scale(1.05)}.reaction-pill.active{background:var(--accent-light);border-color:var(--accent-light)}.reaction-count{color:var(--text-secondary);font-size:.8rem;font-weight:600}.message-bubble.deleted{font-style:italic;background:var(--border-subtle)!important;border:1px dashed var(--border-subtle)!important;color:var(--text-muted)!important}.attachment-card{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary);transition:background var(--transition-fast), border-color var(--transition-fast);align-items:center;gap:10px;margin-top:6px;padding:8px 12px;display:flex;box-shadow:0 1px 2px #0000000a}.attachment-card:hover{background:var(--bg-tertiary)}.attachment-filename{text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-size:.833rem;font-weight:600;overflow:hidden}.attachment-filesize{color:var(--text-secondary);margin-top:1px;font-size:.8rem}.attachment-icon{color:var(--accent);flex-shrink:0}.attachment-download-icon{color:var(--text-secondary);transition:color var(--transition-fast);flex-shrink:0}.attachment-card:hover .attachment-download-icon{color:var(--text-primary)}.message-row.sent .attachment-card{color:var(--on-accent);background:#0003;border:1px solid #ffffff47}.message-row.sent .attachment-card:hover{background:#00000047;border-color:#fff6}.message-row.sent .attachment-filename{color:var(--on-accent)}.message-row.sent .attachment-filesize{color:var(--on-accent);opacity:.88}.message-row.sent .attachment-icon{color:var(--on-accent)}.message-row.sent .attachment-download-icon{color:var(--on-accent);opacity:.88}.message-row.sent .attachment-card:hover .attachment-download-icon{opacity:1}:root[data-theme=dark] .message-row.sent .attachment-card{color:var(--on-accent);background:#00000029;border:1px solid #142a1e59}:root[data-theme=dark] .message-row.sent .attachment-card:hover{background:#0000003d}:root[data-theme=dark] .message-row.sent .attachment-filename{color:var(--on-accent)}:root[data-theme=dark] .message-row.sent .attachment-filesize{color:var(--on-accent);opacity:.88}:root[data-theme=dark] .message-row.sent .attachment-icon{color:var(--on-accent)}:root[data-theme=dark] .message-row.sent .attachment-download-icon{color:var(--on-accent);opacity:.88}.attachment-img-preview{border-radius:var(--radius-md);object-fit:cover;cursor:pointer;border:1px solid var(--border-subtle);max-width:320px;max-height:260px;transition:transform var(--transition-fast);margin-top:6px}.attachment-img-preview:hover{transform:scale(1.02)}.typing-bubble{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-full);box-shadow:none;align-self:flex-start;align-items:center;gap:5px;margin-bottom:8px;margin-left:24px;padding:8px 14px;display:inline-flex}.typing-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite typingPulse}.typing-dot:first-child{animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.typing-text{color:var(--text-secondary);margin-left:4px;font-size:.8rem}.chat-composer-wrapper{background:var(--bg-glass);-webkit-backdrop-filter:none;backdrop-filter:none;border-top:1px solid var(--border-subtle);flex-direction:column;gap:8px;padding:12px 24px 20px;display:flex}.composer-drafts{flex-wrap:wrap;gap:8px;padding:4px 0;display:flex}.draft-pill{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-md);color:var(--text-primary);align-items:center;gap:8px;padding:6px 12px;font-size:.833rem;font-weight:500;display:inline-flex;box-shadow:0 1px 2px #0000000a}.draft-pill .draft-icon{color:var(--accent);flex-shrink:0}.draft-pill .draft-filename{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-weight:600;overflow:hidden}.draft-remove{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;align-items:center;padding:2px;display:flex}.draft-remove:hover{color:var(--danger);background:var(--danger-light)}.composer-box{background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:var(--radius-lg);transition:background-color var(--transition-fast);box-shadow:none;align-items:flex-end;gap:10px;padding:8px 12px;display:flex}.composer-box:focus-within{border-color:var(--accent);box-shadow:none}.composer-input{color:var(--text-primary);resize:none;background:0 0;border:none;outline:none;flex:1;min-height:24px;max-height:140px;font-size:.933rem;line-height:1.45}.composer-input::placeholder{color:var(--text-muted)}.composer-btn-send{border-radius:var(--radius-md);background:var(--accent-gradient);color:#fff;cursor:pointer;width:38px;height:38px;transition:background-color var(--transition-fast);box-shadow:none;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.composer-btn-send:hover:not(:disabled){filter:brightness(1.15);box-shadow:none;transform:translateY(-1px)}.composer-btn-send:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.modal-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;z-index:1000;background:#04070dbf;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-xl);width:100%;max-width:480px;box-shadow:none;animation:.25s cubic-bezier(.16,1,.3,1) scaleIn;overflow:hidden}.modal-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.modal-body{max-height:75vh;padding:22px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-subtle);background:var(--bg-tertiary);justify-content:flex-end;align-items:center;gap:10px;padding:16px 22px;display:flex}.emoji-popover{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-lg);box-shadow:none;z-index:50;grid-template-columns:repeat(6,1fr);gap:6px;padding:10px;animation:.15s ease-out scaleIn;display:grid;position:absolute;bottom:50px}.emoji-btn{cursor:pointer;border-radius:var(--radius-sm);transition:transform var(--transition-fast);background:0 0;border:none;padding:6px;font-size:1.333rem}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;margin:auto;padding:40px 20px;display:flex}.empty-state-icon{border-radius:var(--radius-full);background:var(--accent-light);border:1px solid var(--accent-light);width:64px;height:64px;color:var(--accent);box-shadow:none;justify-content:center;align-items:center;display:flex}.empty-state-title{font-size:1.133rem;font-weight:700}.empty-state-desc{color:var(--text-secondary);max-width:320px;font-size:.867rem}.toast-container{z-index:2000;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.toast{pointer-events:auto;background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-md);box-shadow:none;color:var(--text-primary);align-items:center;gap:10px;padding:12px 18px;font-size:.867rem;animation:.25s ease-out slideUp;display:flex}.toast.success{border-color:#10b98180}.toast.error{border-color:#f43f5e80}html{font-size:15px}html[data-text-size=small]{font-size:14px}html[data-text-size=large]{font-size:17px}body{font-size:1rem}::selection{background:var(--accent-light);color:var(--text-primary)}input,textarea{caret-color:var(--accent)}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed;transform:none}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a{text-underline-offset:3px}fieldset{border:0;min-width:0}small{font-size:.8rem}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::-webkit-scrollbar-thumb{background:var(--border-medium)}.btn-icon{cursor:pointer;border:1px solid #0000;flex-shrink:0;min-width:44px;min-height:44px}.btn-primary,.composer-btn-send{color:var(--on-accent);background:var(--accent)}.btn-primary:hover,.composer-btn-send:hover:not(:disabled){background:var(--accent-hover);filter:none}.btn-ghost:hover{background:var(--bg-glass-hover)}.input-label{text-transform:none;letter-spacing:0;font-size:.867rem}.input-control,.search-input{background:var(--bg-secondary);border-radius:8px;font-size:1rem}.input-control:focus,.search-input:focus{background:var(--bg-secondary);box-shadow:0 0 0 3px var(--accent-light)}.app-container{background:var(--bg-primary)}.sidebar{flex-shrink:0;width:344px;min-width:300px}.sidebar-header{border:0;flex-wrap:wrap;gap:14px;padding:18px 16px 12px}.sidebar-header>.btn{width:100%;min-height:44px;border-radius:8px!important}.sidebar-brand{gap:12px}.brand-icon{color:var(--on-accent);background:var(--accent)!important;box-shadow:none!important}.brand-title{letter-spacing:-.03em;font-size:1.33rem}.sidebar-nav-tabs{flex-wrap:wrap;gap:3px;padding-inline:16px}.nav-pill{border-radius:6px;min-height:34px;font-size:.8rem!important}.nav-pill.active{color:var(--accent);background:var(--accent-light)}.nav-pill:hover{background:var(--bg-glass-hover);color:var(--text-primary)}.nav-pill.active:hover{background:var(--bg-glass-active);color:var(--accent)}.nav-pill,.btn-filter{transition:background-color var(--transition-fast), color var(--transition-fast)}.btn-filter:hover{box-shadow:inset 0 0 0 1px var(--accent)}.sidebar-tool{min-height:44px;color:var(--text-secondary)}.sidebar-tool:hover{color:var(--accent)}.btn{min-height:44px}.btn:disabled:hover{filter:none;transform:none}.btn-danger:hover:not(:disabled){color:var(--on-danger)}.conversation-list{min-height:0;padding:8px 12px}.conversation-item{border-radius:10px;min-height:64px}.conversation-item.active{background:var(--accent-light);border-color:#0000}.conversation-item:hover{background:var(--bg-glass-hover)}.conversation-item.active:hover{background:var(--bg-glass-active)}.conversation-name{font-size:.933rem}.conversation-preview{font-size:.867rem}.conversation-time{font-variant-numeric:tabular-nums;font-size:.8rem}.sidebar-footer{background:var(--bg-glass);gap:8px;padding:16px}.user-profile-preview{flex:1;min-width:0}.user-profile-info{min-width:0}.user-profile-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-profile-preview{border-radius:var(--radius-md);transition:background-color var(--transition-fast);margin:-6px;padding:6px}.user-profile-preview:hover{background:var(--bg-glass-hover)}.chat-main{background:var(--bg-primary);min-width:0}.chat-header{background:var(--bg-secondary);flex-shrink:0;gap:8px;height:auto;min-height:56px;padding:6px 16px;container:chat-header/inline-size}.chat-header-info,.chat-title-group{min-width:0}.chat-header-info{flex:1;gap:8px}.chat-title-line{align-items:center;gap:8px;min-width:0;display:flex}.chat-room-badge,.chat-admin-badge{flex-shrink:0}.chat-admin-badge{align-items:center;gap:4px;display:inline-flex}.chat-title{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.chat-subtitle{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;display:block;overflow:hidden}.chat-header-actions{flex-shrink:0;gap:4px}.chat-header-actions .btn{border-radius:8px;padding:7px 10px;font-size:.867rem}.chat-context-desktop{align-items:center;gap:4px;display:flex}.chat-context-mobile{display:none;position:relative}.chat-tools-panel{background:var(--bg-elevated);border:1px solid var(--border-medium);min-width:220px;max-width:calc(100vw - 24px);box-shadow:var(--shadow-lg);z-index:20;border-radius:12px;gap:4px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.chat-tools-panel .btn{white-space:normal;text-align:left;justify-content:flex-start}@container chat-header (max-width:620px){.chat-context-desktop{display:none}.chat-context-mobile{display:block}.chat-tools-panel .hidden-mobile{display:inline}.chat-room-badge,.chat-admin-badge,.has-campus-tools .chat-header-actions>button:last-child{display:none}}.messages-container{gap:3px;min-height:0;padding:8px 16px}.date-divider{margin:8px 0}.message-row{max-width:min(84%,680px);margin-top:5px}.message-row:first-child,.message-row.consecutive{margin-top:0}.message-bubble{border-radius:12px;padding:7px 10px;font-size:.933rem;line-height:1.45}.message-row.sent .message-bubble{color:var(--on-accent)}.message-row.received .message-bubble{border:0}.message-meta{color:inherit;opacity:1;margin-top:2px;font-size:.733rem}.message-sender-name{color:var(--accent);font-size:.8rem}.message-row.sent .message-sender-name{color:inherit}.action-btn-mini{min-width:28px;min-height:28px}.attachment-img-preview{max-width:min(100%,320px)}.date-divider-text{background:var(--bg-primary);border:0}.chat-composer-wrapper{background:var(--bg-primary);border:0;flex-shrink:0;padding:6px 16px 8px;position:relative}.composer-box{background:var(--bg-secondary);border-radius:12px;align-items:flex-end;gap:4px;padding:4px}.composer-box:focus-within{box-shadow:0 0 0 3px var(--accent-light)}.composer-input{min-width:0;min-height:44px;padding:10px 4px;font-size:1rem;line-height:1.5}.composer-input:focus-visible{outline:none}.composer-btn-send{border-radius:50%}.composer-box .btn-icon,.composer-btn-send{min-width:44px;min-height:44px}.composer-btn-send:hover:not(:disabled){transform:none}.emoji-popover{bottom:90px;right:28px}.modal-overlay{background:#101b1680;padding:24px}.modal-content{max-height:calc(100dvh - 48px);box-shadow:var(--shadow-lg);border:0;flex-direction:column;display:flex}.modal-header,.modal-footer{flex-shrink:0}.modal-body{overflow-wrap:anywhere;min-height:0;max-height:none;overflow-y:auto}.modal-title{font-size:1.2rem;font-weight:600}.modal-footer{background:var(--bg-glass)}.toast{box-shadow:var(--shadow-md)}.empty-state-icon{background:var(--accent-light);color:var(--accent)}.empty-state-title{color:var(--text-primary)}[data-density=compact] .messages-container{gap:3px}[data-density=compact] .message-row{margin-top:5px}[data-density=compact] .message-row:first-child,[data-density=compact] .message-row.consecutive{margin-top:0}[data-density=compact] .message-bubble{padding:7px 12px}[data-density=compact] .conversation-item{min-height:58px;padding-block:7px}.auth-page{grid-template-columns:46% 54%;height:100dvh;min-height:100dvh;display:grid;overflow-y:auto}.auth-story{color:#f4f5e9;background:#245b49;flex-direction:column;justify-content:space-between;gap:48px;padding:clamp(32px,5vw,84px);display:flex}.auth-brand{color:inherit;letter-spacing:-.03em;align-items:center;gap:14px;font-size:1.6rem;font-weight:600;text-decoration:none;display:flex}.auth-brand small{letter-spacing:0;color:#d4e3d5;font-size:.8rem;font-weight:400;display:block}.auth-story h1{color:inherit;letter-spacing:-.035em;text-wrap:balance;margin-bottom:24px;font-size:clamp(2.6rem,4.1vw,4.4rem);font-weight:500;line-height:1.08}.auth-story-copy>p{color:#dce8dc;max-width:34ch;margin-bottom:44px;font-size:1.067rem;line-height:1.7}.auth-feature{align-items:center;gap:12px;margin-top:20px;font-size:.933rem;display:flex}.auth-feature svg{color:#c3d9bd;flex-shrink:0}.auth-location{color:#d4e3d5;align-items:center;gap:8px;font-size:.8rem;display:flex}.auth-form-side{background:var(--bg-primary);justify-content:center;align-items:center;padding:100px 48px;display:flex;position:relative}.auth-settings{font-size:.867rem;position:absolute;top:28px;right:32px}.auth-form-wrap{width:100%;max-width:420px;animation:.36s cubic-bezier(.16,1,.3,1) settle-in}.auth-form-wrap h2{letter-spacing:-.025em;margin-bottom:14px;font-size:1.8rem;font-weight:600;line-height:1.2}.auth-intro{color:var(--text-secondary);overflow-wrap:anywhere;margin-bottom:32px;line-height:1.7}.auth-form .input-control{min-height:50px}.auth-form .input-group{gap:8px;margin-bottom:24px}.auth-submit{justify-content:space-between;width:100%;min-height:50px;font-size:1rem}.field-help{color:var(--text-muted);overflow-wrap:anywhere;font-size:.8rem;line-height:1.6}.password-field{position:relative}.password-field input{padding-right:50px}.password-field button{position:absolute;top:7px;right:8px}.auth-connection{color:var(--text-muted);align-items:center;gap:8px;margin-top:28px;font-size:.8rem;display:flex}.auth-connection .status-dot{flex-shrink:0}.auth-footnote{color:var(--text-muted);font-size:.8rem;position:absolute;bottom:28px}.auth-back{margin-bottom:24px;padding-left:0}.auth-notice{background:var(--success-light);color:var(--success);border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:24px;padding:16px;font-size:.867rem;display:flex}.auth-notice svg{flex-shrink:0}.settings-content{gap:24px;display:grid}.settings-content legend{margin-bottom:10px;font-size:.933rem;font-weight:600}.settings-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.settings-two{grid-template-columns:repeat(2,minmax(0,1fr))}.setting-option{border:1px solid var(--border-medium);background:var(--bg-secondary);min-height:52px;color:var(--text-secondary);transition:background-color var(--transition-fast), border-color var(--transition-fast);border-radius:8px;justify-content:center;align-items:center;gap:8px;font-size:.867rem;display:flex}.setting-option:hover{background:var(--bg-glass-hover)}.setting-option[aria-pressed=true]{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.accent-swatch{color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.swatch-pine{background:#245b49}.swatch-clay{background:#8d4938}.swatch-lake{background:#2c607d}.setting-switch{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;display:flex}.setting-switch strong{font-weight:600;display:block}.setting-switch small{color:var(--text-secondary);max-width:36ch;margin-top:4px;display:block}.setting-switch input{appearance:none;background:var(--border-medium);cursor:pointer;border-radius:999px;flex-shrink:0;width:42px;height:24px;position:relative}.setting-switch input:before{content:"";background:var(--bg-secondary);width:18px;height:18px;transition:transform var(--transition-normal);border-radius:50%;position:absolute;top:3px;left:3px}.setting-switch input:checked{background:var(--accent)}.setting-switch input:checked:before{transform:translate(18px)}.settings-preview{background:var(--bg-glass);border-radius:10px;padding:18px}.settings-preview>span,.settings-preview small{color:var(--text-secondary);font-size:.8rem}.settings-preview p{color:var(--on-accent);background:var(--accent);border-radius:10px 10px 2px;width:fit-content;margin:12px 0 8px auto;padding:12px 16px}.settings-bottom{color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;display:flex}@keyframes settle-in{0%{transform:translateY(8px)}to{transform:translateY(0)}}.animate-fade-in{animation:.2s ease-out fadeIn}.animate-slide-up{animation:.24s cubic-bezier(.16,1,.3,1) settle-in}.animate-scale-in{animation:.24s cubic-bezier(.16,1,.3,1) scaleIn}@media (max-width:900px){.auth-page{grid-template-columns:40% 60%}.auth-story{padding:32px}.auth-form-side{padding-inline:32px}.auth-feature{align-items:flex-start}}@media (max-width:768px){.sidebar{width:100%;min-width:0;transition:none}.sidebar.hidden-mobile{visibility:hidden;pointer-events:none}.chat-header{flex-wrap:nowrap;gap:4px;min-height:52px;padding:4px 8px}.chat-header-info{flex:1;gap:4px}.chat-title-line{gap:4px}.chat-room-badge,.chat-admin-badge{display:none}.chat-header-actions{flex-wrap:nowrap;justify-content:flex-end;gap:0;margin-left:auto}.chat-context-desktop{display:none}.chat-context-mobile{display:block}.chat-tools-panel .hidden-mobile{display:inline}.has-campus-tools .chat-header-actions>button:last-child{display:none}.chat-header-actions .btn{padding:6px 8px!important}.chat-composer-wrapper{padding:4px 8px max(6px, env(safe-area-inset-bottom))}.messages-container{gap:2px;padding:4px 8px}.message-row{gap:6px;margin-top:4px}.message-bubble{padding:6px 8px}.date-divider{margin:6px 0}.message-row{max-width:100%}.message-actions-trigger{opacity:1;pointer-events:auto;width:44px;min-width:44px;height:44px;min-height:44px;box-shadow:none;background:0 0;border:0}.message-row.sent .message-content-wrapper{padding-left:44px}.message-row.received .message-content-wrapper{padding-right:44px}.btn-icon,.composer-btn-send,.composer-box .btn-icon{min-width:44px;min-height:44px}.nav-pill,.btn{min-height:44px}.composer-box{gap:4px}.message-actions-backdrop{z-index:998;-webkit-backdrop-filter:blur(2px);background:#101b1673;animation:.15s ease-out fadeIn;display:block;position:fixed;inset:0}.message-row.actions-open .message-bubble{box-shadow:0 0 0 2px var(--accent), var(--shadow-md);z-index:999;position:relative}.message-hover-actions{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-xl);width:auto;max-width:420px;box-shadow:var(--shadow-lg);z-index:1000;flex-direction:column;gap:12px;margin:0 auto;padding:12px;display:none;position:fixed;inset:auto 12px 24px}.message-row.sent .message-hover-actions,.message-row.received .message-hover-actions{left:12px;right:12px}.message-hover-actions.open,.message-row.actions-open .message-hover-actions{animation:.2s cubic-bezier(.16,1,.3,1) slideUp;display:flex}.message-actions-emojis{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;width:100%;padding-bottom:12px;display:flex}.message-actions-emojis .action-btn-mini{min-width:44px;min-height:44px;font-size:1.4rem}.message-actions-tools{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.message-actions-tools .action-btn-mini{border-radius:var(--radius-md);background:var(--bg-tertiary);min-height:44px;color:var(--text-primary);flex:1;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-size:.9rem;font-weight:500;display:flex}.action-btn-label{font-size:.867rem;display:inline}.modal-overlay{padding:12px}.modal-content{max-height:calc(100dvh - 24px)}.modal-body,.modal-header{padding:18px}.auth-page{flex-direction:column;display:flex}.auth-story{gap:28px;padding:24px}.auth-brand{font-size:1.3rem}.auth-story h1{margin-bottom:12px;font-size:2.4rem}.auth-story-copy>p{max-width:48ch;margin-bottom:0;font-size:.933rem}.auth-feature,.auth-location{display:none}.auth-form-side{flex:1;align-items:flex-start;padding:88px 24px 64px}.auth-settings{top:20px;right:24px}.auth-form-wrap h2{font-size:1.6rem}.auth-footnote{bottom:20px}.input-control,.search-input,.composer-input{font-size:max(16px,1rem)}.setting-option{flex-wrap:wrap;gap:5px;padding:8px 4px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-property:color,background-color,border-color,opacity!important;transition-duration:.12s!important;animation:none!important}}html[data-reduce-motion=true] *,html[data-reduce-motion=true] :before,html[data-reduce-motion=true] :after{scroll-behavior:auto!important;transition-property:color,background-color,border-color,opacity!important;transition-duration:.12s!important;animation:none!important}.campus-welcome{gap:20px;max-width:520px;padding:40px}.campus-welcome>svg{color:var(--accent);margin-bottom:8px}.campus-welcome .empty-state-title{letter-spacing:-.03em;font-size:2rem;font-weight:500}.campus-welcome .empty-state-desc{font-size:1rem;line-height:1.7}.welcome-tools{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px;display:flex}@media (max-width:768px){#btn-mobile-back{display:inline-flex!important}}.campus-demo-notice,.campus-menu-date{color:var(--text-secondary);background:var(--bg-tertiary);flex-shrink:0;padding:12px 24px;font-size:.8rem;line-height:1.5}.campus-menu-date{background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle)}.campus-dialog{outline:none;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#131d198c!important}.campus-dialog>div,.campus-dialog .flex{min-width:0}.campus-dialog select{min-width:0;max-width:100%}.campus-dialog [class*="bg-[var(--accent)]"]{color:var(--on-accent)}.campus-dialog button,.campus-dialog select{min-height:36px}.campus-dialog input,.campus-dialog textarea,.campus-dialog select{color:var(--text-primary);background:var(--bg-secondary);caret-color:var(--accent)}.campus-dialog .font-mono{font-variant-numeric:tabular-nums;font-family:inherit}.campus-dialog [class*=backdrop-blur],.campus-dialog [class*=shadow-inner]{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.campus-dialog [class*="text-[11px]"]{font-size:.8rem}@media (max-width:768px){.campus-dialog{padding:10px!important}.campus-dialog>div{max-height:calc(100dvh - 20px)!important}.campus-dialog .p-6{padding:18px}.campus-dialog button,.campus-dialog select{min-height:40px}.campus-demo-notice,.campus-menu-date{padding:10px 18px}}.campus-tool{flex-direction:column;gap:24px;display:flex}.campus-tool .campus-demo-notice{border-radius:8px;padding:12px 16px}.campus-toolbar{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.campus-toolbar>label{flex:190px}.campus-tabs{flex:1;gap:4px;display:flex}.campus-tabs [aria-pressed=true]{color:var(--accent);background:var(--accent-light)}.campus-tool label{color:var(--text-secondary);flex-direction:column;gap:8px;font-size:.867rem;display:flex}.campus-form{background:var(--bg-tertiary);border-radius:12px;flex-direction:column;gap:16px;padding:20px;display:flex}.campus-form h4,.campus-record h4{font-size:1.067rem;font-weight:600;line-height:1.4}.campus-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.campus-records{flex-direction:column;display:flex}.campus-record{border-top:1px solid var(--border-subtle);flex-direction:column;gap:12px;padding:22px 0;display:flex}.campus-record p{color:var(--text-secondary);line-height:1.6}.campus-record-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;font-size:.8rem;display:flex}.campus-status{background:var(--accent-light);color:var(--accent);border-radius:6px;padding:3px 8px}.campus-ticket{flex-direction:row;align-items:flex-start;gap:18px}.campus-record-body{flex-direction:column;gap:10px;min-width:0;display:flex}.campus-record-body small{color:var(--text-muted);font-size:.8rem}.ticket-vote{background:var(--accent-light);min-width:52px;color:var(--accent);cursor:pointer;border:0;border-radius:8px;flex-direction:column;align-items:center;padding:8px;display:flex}.ticket-vote span{font-size:.733rem}.campus-state{text-align:center;color:var(--text-secondary);padding:40px 0}.campus-status-control{margin-top:12px}@media (max-width:540px){.campus-form-grid{grid-template-columns:minmax(0,1fr)}.campus-toolbar>label{flex-basis:100%}.campus-toolbar>.btn{width:100%}.campus-form{padding:16px}}.simulation-page{max-width:960px;height:100dvh;margin:0 auto;padding:28px 20px;overflow-y:auto}.simulation-page h1{margin:24px 0 12px;font-size:2rem}.simulation-intro{color:var(--text-secondary);margin-bottom:24px}.simulation-page label{margin-bottom:8px;display:block}.simulation-accounts{margin-top:20px;padding:0;list-style:none}.simulation-accounts li{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:20px;padding:20px 0;display:flex}.simulation-accounts h2{margin-bottom:6px;font-size:1.067rem}.simulation-accounts p{color:var(--text-secondary);overflow-wrap:anywhere}.simulation-accounts .btn{flex-shrink:0;min-height:44px}@media (max-width:540px){.simulation-accounts li{flex-direction:column;align-items:flex-start;gap:12px}}[data-tone=primary]{--action:var(--accent);--action-hover:var(--accent-hover);--action-light:var(--accent-light);--action-ink:var(--on-accent)}[data-tone=learning]{--action:var(--learning);--action-hover:var(--learning-hover);--action-light:var(--learning-light)}[data-tone=calendar]{--action:var(--calendar);--action-hover:var(--calendar-hover);--action-light:var(--calendar-light)}[data-tone=maintenance]{--action:var(--warning);--action-hover:var(--warning);--action-light:var(--warning-light)}[data-tone=dining]{--action:var(--dining);--action-hover:var(--dining-hover);--action-light:var(--dining-light)}.btn-tonal{color:var(--action,var(--accent));background:var(--action-light,var(--accent-light));border-color:var(--action,var(--accent))}@supports (color:color-mix(in lab, red, red)){.btn-tonal{border-color:color-mix(in srgb, var(--action,var(--accent)) 30%, var(--bg-secondary))}}.btn-tonal:hover:not(:disabled){color:var(--action,var(--accent));background:var(--action,var(--accent))}@supports (color:color-mix(in lab, red, red)){.btn-tonal:hover:not(:disabled){background:color-mix(in srgb, var(--action,var(--accent)) 18%, var(--bg-secondary))}}.btn-tonal:hover:not(:disabled){border-color:var(--action,var(--accent))}.btn-filled{color:var(--action-ink,var(--on-action));background:var(--action,var(--accent))}.btn-filled:hover:not(:disabled){background:var(--action-hover,var(--accent-hover))}.btn:disabled,.btn-icon:disabled{pointer-events:none}.btn svg,.btn-icon svg{flex-shrink:0}.sidebar-tool{min-height:60px;line-height:1.3}.sidebar-tool:hover:not(:disabled){color:var(--action)}.nav-pill{border:1px solid #0000;justify-content:center;align-items:center;gap:6px;min-height:40px;display:inline-flex}.nav-pill[data-tone] svg,.tone-icon{color:var(--action,var(--accent))}.nav-pill[data-tone].active{background:var(--action-light);color:var(--action);border-color:var(--action)}@supports (color:color-mix(in lab, red, red)){.nav-pill[data-tone].active{border-color:color-mix(in srgb, var(--action) 40%, var(--bg-secondary))}}.nav-pill[data-tone].active:hover{background:var(--action-light);color:var(--action)}.nav-pill:active:not(:disabled),.btn-icon:active:not(:disabled),.composer-btn-send:active:not(:disabled){transform:scale(.96)}.btn-icon,.composer-btn-send{transition:background-color .16s ease-out,color .16s ease-out,border-color .16s ease-out,transform .12s ease-out}.draft-remove{min-width:44px;min-height:44px;color:var(--danger);border-radius:8px;place-items:center;display:grid}.draft-remove:hover{background:var(--danger-light)}.emoji-btn{min-width:44px;min-height:44px}.emoji-btn:hover{background:var(--bg-glass-hover);transform:none}.emoji-popover{transform-origin:100% 100%;border-color:var(--border-medium);animation:.18s cubic-bezier(.16,1,.3,1) picker-open}@keyframes picker-open{0%{opacity:.4;transform:scale(.94)translateY(4px)}to{opacity:1;transform:none}}.composer-drafts{animation:.16s ease-out fadeIn}.campus-form{animation:.18s ease-out fadeIn}.campus-status[data-status=pending],.campus-status[data-status=open],.campus-status[data-status=in_progress]{background:var(--warning-light);color:var(--warning)}.campus-status[data-status=approved],.campus-status[data-status=completed],.campus-status[data-status=resolved]{background:var(--success-light);color:var(--success)}.campus-status[data-status=cancelled],.campus-status[data-status=conflict],.campus-status[data-status=rejected]{background:var(--danger-light);color:var(--danger)}.campus-tabs{flex-wrap:wrap}@media (max-width:768px){.nav-pill{min-height:44px}.chat-header-info{width:auto}.chat-header-actions .btn{min-width:44px}.emoji-popover{max-width:calc(100vw - 24px);right:12px}.campus-welcome{padding:24px}}@media (prefers-reduced-motion:reduce){.btn:active,.btn-icon:active,.nav-pill:active,.composer-btn-send:active{transform:none}}html[data-reduce-motion=true] .btn:active,html[data-reduce-motion=true] .btn-icon:active,html[data-reduce-motion=true] .nav-pill:active,html[data-reduce-motion=true] .composer-btn-send:active{transform:none}.campus-dialog button,.campus-dialog select,.campus-dialog a.btn{min-height:44px}.campus-dialog button{border-radius:8px}.campus-dialog button:focus-visible{outline-color:var(--action,var(--accent))}.campus-dialog>div{animation:.24s cubic-bezier(.16,1,.3,1) drawer-open}@keyframes drawer-open{0%{opacity:.6;transform:translate(32px)}to{opacity:1;transform:translate(0)}}.campus-status[data-status=Reported],.campus-status[data-status=Under\ Investigation]{background:var(--warning-light);color:var(--warning)}.campus-status[data-status="Resolved by Warden/Caretaker"]{background:var(--success-light);color:var(--success)}@media (max-width:540px){.campus-dialog .p-6{padding:16px}.campus-dialog .flex.items-center.justify-between{flex-wrap:wrap}.campus-dialog select{min-width:0;max-width:100%}}.campus-dialog>div>.flex.items-center.justify-between{padding-right:68px;position:relative}.campus-dialog>div>.flex.items-center.justify-between>.btn-icon,.campus-dialog>div>.flex.items-center.justify-between>.flex>.btn-icon{position:absolute;top:16px;right:16px}.campus-dialog>div>.flex.items-center.justify-between h2{overflow-wrap:anywhere}.campus-dining button[aria-pressed]{color:var(--text-secondary);background:0 0;border:1px solid #0000}.campus-dining button[aria-pressed=true]{background:var(--dining-light);color:var(--dining);border-color:var(--dining)}.cohort-selection{align-items:center;gap:12px;width:100%;min-width:0;display:flex}.cohort-selection-badge{background:var(--action-light);min-width:0;color:var(--action);border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:.8rem;font-weight:600;display:inline-flex}.cohort-selection-badge svg{flex-shrink:0}.cohort-selection-badge>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cohort-change{border-radius:8px;flex-shrink:0;margin-left:auto;padding:8px 12px;font-size:.8rem}.sidebar{width:360px;min-width:360px}.sidebar-header{flex-shrink:0;gap:16px;padding:16px 16px 12px}.sidebar-utilities{border-bottom:1px solid var(--border-subtle);flex-shrink:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 16px 16px;display:grid}.sidebar-utilities[data-chat-only]{grid-template-columns:1fr}.sidebar-utilities .sidebar-tool{min-height:56px}.sidebar-sections{flex-shrink:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:12px 16px;display:grid}.sidebar-sections .nav-pill{justify-content:flex-start;gap:6px;min-width:0;min-height:44px;padding:8px!important}.sidebar-filters{border-bottom:1px solid var(--border-subtle);flex-shrink:0;align-items:center;gap:6px;padding:0 16px 12px;display:flex;overflow-x:auto}.sidebar-filters .nav-pill{flex-shrink:0;min-height:44px;padding:6px 10px!important}.sidebar-search{flex-shrink:0;padding:12px 16px}.sidebar .conversation-list{padding:0 12px 12px}.sidebar-footer{flex-shrink:0;padding:12px 16px}.maintenance-workspace{gap:20px}.ticket-toolbar{border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(180px,1fr) auto auto;align-items:end;gap:12px;padding-bottom:20px;display:grid}.ticket-toolbar>label{min-width:0}.ticket-toolbar .campus-tabs{flex-wrap:nowrap;gap:4px}.ticket-toolbar .campus-tabs .btn{padding:8px 10px}.ticket-form{gap:16px;padding:20px}.ticket-form-actions{justify-content:flex-start;padding-top:4px;display:flex}.maintenance-workspace .campus-record:first-child{border-top:0;padding-top:4px}.maintenance-workspace .campus-record-body{flex:1}.maintenance-workspace .campus-state{padding:28px 0}.dining-workspace{gap:20px}.dining-toolbar{border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;padding-bottom:20px;display:grid}.dining-toolbar>label{min-width:0}.dining-tabs{flex-wrap:nowrap;gap:4px}.dining-tabs [aria-pressed=true]{color:var(--dining);background:var(--dining-light)}.dining-day{gap:4px;display:grid}.dining-day-row{justify-content:space-between;align-items:center;gap:20px;display:flex}.dining-day-controls{flex-shrink:0;align-items:end;gap:8px;display:flex}.dining-day-controls label{color:var(--text-secondary);gap:6px;font-size:.8rem;display:grid}.dining-day-controls select{min-width:170px}.dining-menu-notes{border-block:1px solid var(--border-subtle)}.dining-menu-notes summary{cursor:pointer;min-height:48px;color:var(--text-primary);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:.867rem;font-weight:600;list-style:none;display:flex}.dining-menu-notes summary::-webkit-details-marker{display:none}.dining-menu-notes summary:hover{color:var(--dining)}.dining-menu-notes summary svg{flex-shrink:0;transition:transform .16s ease-out}.dining-menu-notes[open] summary svg{transform:rotate(180deg)}.dining-menu-notes ul{color:var(--text-secondary);gap:8px;padding:0 8px 16px 20px;font-size:.867rem;line-height:1.55;display:grid}.dining-meal>p{white-space:pre-line}.dining-workspace h4{font-size:1rem;font-weight:600;line-height:1.4}.dining-workspace p{color:var(--text-secondary);line-height:1.6}.dining-day p,.dining-meal small,.dining-footer{color:var(--text-secondary);font-size:.8rem}.dining-meals{flex-direction:column;display:flex}.dining-meal{border-top:1px solid var(--border-subtle);grid-template-columns:200px minmax(0,1fr);gap:24px;padding:20px 0;display:grid}.dining-meal-label{align-items:flex-start;gap:12px;display:flex}.dining-meal-label>svg{color:var(--dining);flex-shrink:0;margin-top:2px}.dining-meal small{font-variant-numeric:tabular-nums;margin-top:4px;display:block}.dining-notice{background:var(--dining-light);color:var(--dining);border-radius:8px;align-items:flex-start;gap:12px;padding:16px;display:flex}.dining-notice>svg{flex-shrink:0;margin-top:2px}.dining-notice p{color:inherit}.dining-support{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:20px;padding-top:20px;display:flex}.dining-support p{margin-top:4px;font-size:.867rem}.dining-support .btn{flex-shrink:0}.dining-actions,.dining-estimate,.dining-footer{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.dining-actions{justify-content:flex-start}.dining-guidance{gap:12px;display:grid}.dining-guidance h4,.dining-workspace .campus-form h4{align-items:center;gap:8px;display:flex}.dining-guidance ul{color:var(--text-secondary);gap:8px;padding-left:20px;font-size:.867rem;line-height:1.6;display:grid}.dining-estimate{border-block:1px solid var(--border-subtle);font-variant-numeric:tabular-nums;padding:12px 0;font-size:.867rem}.dining-workspace .campus-form>.btn{align-self:flex-start}.dining-drafts article{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:16px;padding:16px 0;font-size:.867rem;display:flex}.dining-drafts>h4{margin-bottom:8px}.dining-drafts article>span{color:var(--text-secondary)}@media (max-width:768px){.sidebar{width:100%;min-width:0}.ticket-toolbar{grid-template-columns:minmax(0,1fr);gap:12px}.ticket-toolbar .campus-tabs{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ticket-toolbar>.btn{width:100%}.dining-toolbar{grid-template-columns:minmax(0,1fr);gap:12px}.dining-day-row{flex-direction:column;align-items:stretch;gap:12px}.dining-day-controls{flex-wrap:wrap}.dining-day-controls label{flex:1}.dining-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dining-meal{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px 0}.dining-support{flex-direction:column;align-items:stretch;gap:12px}.dining-drafts article{flex-direction:column;align-items:flex-start;gap:8px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
