*,:after,:before{box-sizing:border-box}:root{--bg-color:#f4f4f4;--chat-bg:#f4f4f4;--bubble-bg:#ddd;--input-bg:#ddd;--border-color:#aaa;--text-color:#111;--wizard-color:#4a4e69;--accent-color:#c9ada7;--scrollbar-bg:#ddd;--scrollbar-thumb:#aaa;--file-chip-bg:#ccc}:root[data-theme=dark]{--bg-color:#000;--chat-bg:#000;--bubble-bg:#111;--input-bg:#111;--border-color:#555;--text-color:#eee;--scrollbar-bg:#111;--scrollbar-thumb:#555;--file-chip-bg:#333}body,html{background-color:#f4f4f4;background-color:var(--bg-color);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;height:100%;margin:0;overflow:hidden;padding:0}::-webkit-scrollbar{background-color:#ddd;background-color:var(--scrollbar-bg);height:8px;width:8px}::-webkit-scrollbar-thumb{background-color:#aaa;background-color:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background-color:#4a4e69;background-color:var(--wizard-color)}.App{height:100dvh;justify-content:center}.App,.chat-container{display:flex;overflow:hidden;width:100%}.chat-container{background:#f4f4f4;background:var(--chat-bg);box-shadow:0 0 20px #0000001a;color:#111;color:var(--text-color);flex-direction:column;height:100%}.chat-header{align-items:center;background-color:#4a4e69;background-color:var(--wizard-color);box-shadow:0 2px 10px #00000026;color:#fff;display:flex;justify-content:space-between;letter-spacing:.3px;min-height:48px;padding:0 1.5rem;position:relative;z-index:100}.header-left{font-size:1rem;font-weight:700}.header-center{font-size:1.2rem;font-weight:700;justify-content:center;left:50%;max-width:60%;overflow:visible;position:absolute;text-align:center;transform:translateX(-50%)}.header-center,.header-right{align-items:center;display:flex;white-space:nowrap}.header-right{cursor:pointer;font-size:.9rem;gap:5px}.messages-area{display:flex;flex:1 1;flex-direction:column;gap:15px;overflow-y:auto;padding:20px}.message-row{display:flex;width:100%}.message-row.user{justify-content:flex-end}.message-row.ethan{justify-content:flex-start}.bubble{word-wrap:break-word;align-items:flex-start;border-radius:18px;box-shadow:0 2px 6px #0000000d;display:flex;gap:12px;line-height:1.5;max-width:90%;padding:12px 18px}.bubble.ethan{background-color:#ddd;background-color:var(--bubble-bg);border-bottom-left-radius:4px}.bubble.user{background-color:#4a4e69;background-color:var(--wizard-color);border-bottom-right-radius:4px;color:#fff}.bubble.thinking{color:#666;font-style:italic}.avatar{font-size:1.5rem}.copy-icon{border-radius:6px;cursor:pointer;font-size:1.2rem;opacity:1;padding:4px;transition:transform .2s ease,opacity .2s ease,background-color .2s ease;-webkit-user-select:none;user-select:none}.copy-icon:hover{background-color:#00000014;opacity:1;transform:scale(1.1)}:root[data-theme=dark] .copy-icon:hover{background-color:#ffffff26}.message-tools-ai{flex-shrink:0;gap:4px;justify-content:flex-start;margin-top:2px;min-width:45px}.message-tools-ai,.timestamp-wrapper{align-items:flex-end;display:flex;flex-direction:column}.timestamp-wrapper{font-size:.65rem;line-height:1.2;opacity:.55;text-align:right;-webkit-user-select:none;user-select:none}.message-tools-user{align-items:center;display:flex;flex-direction:row;flex-shrink:0;gap:8px;justify-content:flex-end;margin-top:2px}.time-row{font-weight:700}.input-area-wrapper{background-color:#f4f4f4;background-color:var(--chat-bg);padding:10px 15px 15px}.input-area{align-items:flex-end;background-color:#ddd;background-color:var(--input-bg);border:1px solid #aaa;border:1px solid var(--border-color);border-radius:25px;box-shadow:0 4px 15px #00000014;display:flex;gap:10px;padding:6px 10px;transition:box-shadow .2s ease,border-color .2s ease}.input-area:focus-within{border-color:#4a4e69;border-color:var(--wizard-color);box-shadow:0 6px 20px #00000026}.input-area textarea{background-color:initial;border:none;box-sizing:border-box;color:#111;color:var(--text-color);flex:1 1;font-family:inherit;font-size:1rem;height:auto;line-height:1.4;margin-bottom:3px;max-height:200px;outline:none;overflow-y:hidden;padding:10px 5px;resize:none}.input-area button{background-color:#4a4e69;background-color:var(--wizard-color);border:none;border-radius:22px;color:#fff;cursor:pointer;font-weight:700;height:44px;padding:0 20px;transition:transform .15s ease,filter .2s,box-shadow .2s}.input-area button:not(:disabled):hover{box-shadow:0 4px 10px #0003;filter:brightness(.9);transform:scale(1.05)}.input-area button:disabled{background-color:#ccc;box-shadow:none;cursor:not-allowed}.login-container{align-items:center;background-color:#f4f4f4;background-color:var(--bg-color);display:flex;height:100vh;justify-content:center}.login-box{background:#fff;border-radius:10px;box-shadow:0 4px 15px #0000001a;padding:40px;text-align:center;width:300px}.login-box input{border:1px solid #ddd;border-radius:5px;box-sizing:border-box;margin:10px 0;padding:10px;width:100%}.login-box button{background-color:#4a4e69;background-color:var(--wizard-color);border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:700;padding:10px;width:100%}.error-msg{color:red;font-size:.9rem;margin-top:10px}.file-preview{background-color:#ccc;background-color:var(--file-chip-bg);border-radius:15px;color:#111;color:var(--text-color);font-size:.85rem;padding:2px 10px}.input-area .round-button{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:1.3rem;height:44px;justify-content:center;padding:0;width:44px}.round-button.listening{animation:pulse 1.5s infinite;background-color:#ffe0e0;border-color:red}@keyframes pulse{0%{box-shadow:0 0 0 0 #f006}70%{box-shadow:0 0 0 10px #f000}to{box-shadow:0 0 0 0 #f000}}.account-menu{border-radius:6px;cursor:pointer;font-weight:700;padding:6px 10px;position:relative;text-decoration:none;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.dropdown-content{background-color:#f4f4f4;background-color:var(--chat-bg);border:1px solid #aaa;border:1px solid var(--border-color);border-radius:5px;box-shadow:0 8px 16px 0 #0003;color:#111;color:var(--text-color);margin-top:5px;min-width:160px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.dropdown-item{color:inherit;display:block;font-weight:400;padding:12px 16px;text-align:left;text-decoration:none;white-space:nowrap}.dropdown-item:hover{background-color:#ddd;background-color:var(--bubble-bg)}.dropdown-item.danger{color:#d9534f}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-box{background:#f4f4f4;background:var(--chat-bg);border-radius:10px;box-shadow:0 5px 15px #0000004d;padding:30px;width:300px}.modal-box,.modal-box h3{color:#111;color:var(--text-color)}.modal-box h3{margin-top:0}.modal-box input{background-color:#ddd;background-color:var(--input-bg);border:1px solid #aaa;border:1px solid var(--border-color);border-radius:5px;box-sizing:border-box;color:#111;color:var(--text-color);margin:10px 0;padding:10px;width:100%}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:15px}.btn-cancel{background:#ccc}.btn-cancel,.btn-save{border:none;border-radius:5px;cursor:pointer;padding:8px 15px}.btn-save{background:#4a4e69;background:var(--wizard-color);color:#fff}.org-selector{display:inline-block;font-weight:700;margin-left:5px;overflow:hidden;text-decoration:none;text-overflow:ellipsis;vertical-align:bottom}.header-icon-btn,.org-selector{border-radius:6px;cursor:pointer;padding:6px 10px;transition:background-color .2s ease}.header-icon-btn{align-items:center;display:flex;font-size:1.2rem;justify-content:center;-webkit-user-select:none;user-select:none}.account-menu:hover,.community-switcher:hover,.header-icon-btn:hover,.org-selector:hover{background-color:#ffffff26;color:#fff!important}.org-name-desktop{display:inline}.org-icon-mobile{display:none}.org-dropdown{left:0;min-width:150px;right:auto;text-align:left;transform:none}.community-switcher{background:#0000;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:700;outline:none;padding:6px 10px;text-decoration:none;transition:background-color .2s ease}.bubble.mailbox{background-color:#fff9c4;border:1px solid #ffecb3;border-bottom-left-radius:2px;color:#5d4037;font-family:Courier New,Courier,monospace}:root[data-theme=dark] .bubble.mailbox{background-color:#4a401c;border-color:#63562a;color:#ffecb3}.message-row.mailbox{justify-content:flex-start}.markdown-collapsed{-webkit-mask-image:linear-gradient(180deg,#000 60%,#0000);mask-image:linear-gradient(180deg,#000 60%,#0000);max-height:150px;overflow:hidden}.markdown-expanded{display:block;-webkit-mask-image:none;mask-image:none;max-height:none}.text p{margin-bottom:.25em;margin-top:0}.text p:last-child{margin-bottom:0}.text ol,.text ul{margin-bottom:.25em;margin-top:.25em;padding-left:20px}.text li{margin-bottom:.1em}.text li>p{margin-bottom:0;margin-top:0}.expand-footer{cursor:pointer;display:flex;font-size:.85rem;justify-content:flex-end;margin-top:5px;opacity:.6;padding-top:0;-webkit-user-select:none;user-select:none}.expand-footer:hover{opacity:1}.text{word-wrap:break-word;min-width:0;overflow-wrap:break-word;width:100%;word-break:break-word}.text pre{word-wrap:break-word!important;background-color:#00000014;border:1px solid #aaa;border:1px solid var(--border-color);border-radius:6px;max-width:100%;overflow-x:auto;padding:12px;white-space:pre-wrap!important}.text table{border-collapse:collapse;font-size:.9rem;margin:10px 0;width:100%}.text td,.text th{border:1px solid #aaa;border:1px solid var(--border-color);padding:8px 12px;text-align:left}.text th{background-color:#0000000d}:root[data-theme=dark] .text th{background-color:#ffffff0d}.text blockquote{background-color:#00000005;border-left:4px solid #4a4e69;border-left:4px solid var(--wizard-color);color:#555;margin:10px 0;padding-bottom:5px;padding-left:15px;padding-top:5px}:root[data-theme=dark] .text blockquote{background-color:#ffffff05;color:#bbb}.typing-indicator{align-items:baseline;display:inline-flex}.typing-dot{animation:bounce 1.4s ease-in-out infinite both;background-color:#111;background-color:var(--text-color);border-radius:50%;height:4px;margin-left:3px;width:4px}.typing-dot:first-child{animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}:root[data-theme=dark] .text pre{background-color:#ffffff1a}.text code{white-space:pre-wrap!important;word-break:break-word!important}.text a{color:#0366d6;text-decoration:none;transition:color .2s ease}.text a:hover{text-decoration:underline}:root[data-theme=dark] .text a{color:#82b1ff}.text table{display:block;max-width:100%;overflow-x:auto}.text img{height:auto;max-width:100%}@media (max-width:768px){.admin-token-stats{display:none!important}.chat-header{justify-content:flex-start;min-height:42px;padding:0 .75rem}.header-center{margin-left:8px;margin-right:auto;position:static;transform:none}.header-right{gap:0}.account-menu,.header-icon-btn,.org-selector{padding:4px 6px}.org-selector{margin-left:0}.org-name-desktop{display:none}.org-icon-mobile{display:inline}.hide-label{display:none}.input-area-wrapper{padding:10px}.input-area{border-radius:20px;gap:6px;padding:6px 10px}.input-area .round-button{font-size:1.1rem;height:38px;width:38px}.input-area textarea{padding:8px 2px}}.outer-diagram-container{align-items:flex-start;display:flex;gap:8px;margin-top:10px;width:100%}.diagram-toolbar-vertical{display:flex;flex-direction:column;flex-shrink:0;gap:8px}.diagram-wrapper{background-color:#f8f9fa;border:1px solid #aaa;border:1px solid var(--border-color);border-radius:8px;height:fit-content;max-width:calc(100% - 45px);overflow:hidden;padding:10px;position:relative;resize:both;text-align:center;width:fit-content}.diagram-wrapper svg{display:block;height:100%!important;object-fit:contain;width:100%!important}:root[data-theme=dark] .diagram-wrapper{filter:invert(.9) hue-rotate(180deg)}.diagram-action-btn{background:#0000;border:none;border-radius:4px;color:#111;color:var(--text-color);cursor:pointer;font-size:1.3rem;opacity:1;padding:4px;transition:transform .1s,background-color .2s}.diagram-action-btn:hover{background-color:#00000014;transform:scale(1.1)}:root[data-theme=dark] .diagram-action-btn:hover{background-color:#ffffff26}