:root{--bg-primary: #000000;--bg-secondary: #0a0a0a;--bg-tertiary: #111111;--bg-elevated: #1a1a1a;--bg-glass: rgba(0, 0, 0, .7);--bg-glass-hover: rgba(10, 10, 10, .85);--border-subtle: rgba(255, 255, 255, .06);--border-medium: rgba(255, 255, 255, .12);--border-strong: rgba(255, 255, 255, .2);--text-primary: #ffffff;--text-secondary: #aaaaaa;--text-muted: #666666;--white: #ffffff;--black: #000000;--gray-100: #f5f5f5;--gray-200: #e5e5e5;--gray-300: #cccccc;--gray-400: #aaaaaa;--gray-500: #888888;--gray-600: #666666;--gray-700: #444444;--gray-800: #333333;--gray-900: #222222;--gray-950: #111111;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--sidebar-width: 280px;color-scheme:dark;font-family:IBM Plex Mono,Courier New,monospace;line-height:1.6}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}::selection{background:#fff3;color:#fff}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}.app{display:flex;height:100vh;overflow:hidden;background:var(--bg-primary)}.sidebar-toggle{display:none;position:fixed;top:16px;left:16px;z-index:100;width:40px;height:40px;border-radius:var(--radius-sm);border:1px solid var(--border-medium);background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-secondary);cursor:pointer;align-items:center;justify-content:center;transition:all .2s ease}.sidebar-toggle:hover{color:var(--white);border-color:var(--border-strong)}.sidebar{width:var(--sidebar-width);height:100vh;display:flex;flex-direction:column;background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--border-subtle);flex-shrink:0;transition:transform .3s ease}.sidebar__header{padding:20px 16px;border-bottom:1px solid var(--border-subtle)}.sidebar__brand{display:flex;align-items:center;gap:12px;margin-bottom:20px}.sidebar__logo-icon{width:48px;height:48px;border-radius:var(--radius-md);overflow:hidden;flex-shrink:0;border:1px solid var(--border-medium);background:var(--gray-950)}.sidebar__logo-icon img{width:100%;height:100%;object-fit:cover;display:block}.sidebar__brand-name{font-size:1.25rem;font-weight:700;color:var(--white);letter-spacing:.05em;text-transform:uppercase;text-shadow:0 0 10px rgba(255,255,255,.3)}.sidebar__new-chat{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-medium);background:#ffffff0a;color:var(--text-primary);font-size:.875rem;font-family:IBM Plex Mono,Courier New,monospace;cursor:pointer;transition:all .2s ease;letter-spacing:.01em}.sidebar__new-chat:hover{background:#ffffff14;border-color:var(--border-strong);color:var(--white)}.sidebar__nav{flex:1;overflow-y:auto;padding:8px}.sidebar__empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;color:var(--text-muted);font-size:.85rem;letter-spacing:.01em}.sidebar__item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;position:relative;color:var(--text-secondary);font-size:.85rem;border:1px solid transparent;letter-spacing:.01em}.sidebar__item:hover{background:#ffffff0f;color:var(--text-primary)}.sidebar__item--active{background:#ffffff14;color:var(--white);border-color:var(--border-medium)}.sidebar__item-icon{flex-shrink:0;opacity:.5}.sidebar__item-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.01em}.sidebar__item-delete{display:none;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--text-muted);border-radius:4px;cursor:pointer;flex-shrink:0}.sidebar__item:hover .sidebar__item-delete{display:flex}.sidebar__item-delete:hover{color:var(--white);background:#ffffff1a}.sidebar__footer{padding:12px 16px;border-top:1px solid var(--border-subtle)}.sidebar__user{display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--text-secondary);letter-spacing:.01em}.sidebar__avatar{width:32px;height:32px;border-radius:50%;background:var(--gray-900);border:1px solid var(--border-medium);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--white);overflow:hidden}.sidebar__avatar img{width:100%;height:100%;object-fit:cover}.sidebar__x-link{display:flex;align-items:center;gap:8px;padding:8px 10px;margin-top:8px;border-radius:var(--radius-sm);color:var(--gray-400);font-size:.8rem;text-decoration:none;transition:all .2s ease;cursor:pointer;letter-spacing:.01em}.sidebar__x-link:hover{color:var(--white);background:#ffffff0f}.sidebar__x-link svg{flex-shrink:0}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:85;opacity:0;transition:opacity .3s ease}.sidebar-overlay--visible{display:block;opacity:1}.mobile-header{display:none;position:fixed;top:0;left:0;right:0;z-index:80;height:56px;background:var(--bg-primary);border-bottom:1px solid var(--border-subtle);align-items:center;padding:0 16px;gap:12px}.mobile-header--visible{display:flex}.mobile-header__toggle{width:40px;height:40px;border-radius:var(--radius-sm);border:1px solid var(--border-medium);background:transparent;color:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.mobile-header__toggle:hover{background:#ffffff14;border-color:var(--border-strong)}.mobile-header__brand{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.mobile-header__logo-icon{width:36px;height:36px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;border:1px solid var(--border-medium);background:var(--gray-950)}.mobile-header__logo-icon img{width:100%;height:100%;object-fit:cover;display:block}.mobile-header__brand-name{font-size:1.1rem;font-weight:700;color:var(--white);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;text-shadow:0 0 10px rgba(255,255,255,.3)}.main{flex:1;display:flex;flex-direction:column;height:100vh;overflow:hidden;transition:all .3s ease}.main--full{margin-left:0}.chat{flex:1;overflow-y:auto;display:flex;flex-direction:column;min-height:0}.chat__messages{flex:1;padding:24px 0;max-width:800px;width:100%;margin:0 auto;overflow-y:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.chat__input-container{padding:0 24px 24px;max-width:800px;width:100%;margin:0 auto;flex-shrink:0}.welcome{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;gap:48px;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.welcome__logo{text-align:center}.welcome__icon{width:80px;height:80px;border-radius:var(--radius-lg);overflow:hidden;margin:0 auto 24px;border:1px solid var(--border-medium);background:var(--gray-950);animation:float 6s ease-in-out infinite}.welcome__icon img{width:100%;height:100%;object-fit:cover;display:block}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.welcome__title{font-size:2.5rem;font-weight:700;letter-spacing:.08em;color:var(--white);margin-bottom:8px;text-transform:uppercase;text-shadow:0 0 20px rgba(255,255,255,.4)}.welcome__subtitle{color:var(--text-secondary);font-size:1.05rem;letter-spacing:.01em}.welcome__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:640px;width:100%}.suggestion-card{display:flex;align-items:flex-start;gap:14px;padding:18px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;text-align:left;font-family:inherit;color:inherit;transition:all .25s ease}.suggestion-card:hover{border-color:var(--border-strong);background:var(--bg-glass-hover);transform:translateY(-2px);box-shadow:0 8px 32px #00000080}.suggestion-card__icon{flex-shrink:0;color:var(--gray-400);margin-top:2px}.suggestion-card__title{font-size:.9rem;font-weight:600;margin-bottom:4px;color:var(--white);letter-spacing:.02em}.suggestion-card__text{font-size:.8rem;color:var(--text-secondary);line-height:1.5;letter-spacing:.01em}.message{display:flex;gap:16px;padding:20px 24px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message--user{background:transparent}.message--assistant{background:#ffffff08}.message__avatar{flex-shrink:0}.avatar{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;overflow:hidden}.avatar--ai{background:var(--gray-900);border:1px solid var(--border-medium);color:var(--white);position:relative}.avatar--ai img{width:100%;height:100%;object-fit:cover}.avatar--user{background:var(--white);color:var(--black)}.message__body{flex:1;min-width:0}.message__header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.message__name{font-size:.85rem;font-weight:600;color:var(--white);letter-spacing:.02em}.message__time{font-size:.7rem;color:var(--text-muted);letter-spacing:.02em}.message__content{font-size:.92rem;line-height:1.7;color:var(--gray-200);word-break:break-word}.message--user .message__content{color:var(--gray-900)}.message__content strong{font-weight:600;color:var(--white)}.message--user .message__content strong{color:var(--black)}.message__code{background:#ffffff0f;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:14px 16px;margin:10px 0;font-family:IBM Plex Mono,Courier New,monospace;font-size:.82rem;line-height:1.6;overflow-x:auto;color:var(--gray-200)}.inline-code{background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:4px;padding:1px 6px;font-family:IBM Plex Mono,Courier New,monospace;font-size:.82em;color:var(--gray-300)}.message__copy{display:inline-flex;align-items:center;gap:4px;margin-top:8px;padding:4px 8px;border:none;background:transparent;color:var(--text-muted);font-size:.75rem;font-family:inherit;cursor:pointer;border-radius:4px;transition:all .15s ease}.message__copy:hover{background:#ffffff0f;color:var(--text-secondary)}.typing-cursor{display:inline-block;width:2px;height:1em;background:var(--white);margin-left:2px;vertical-align:text-bottom;animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.thinking-dots{display:flex;gap:6px;padding:8px 0}.thinking-dots span{width:8px;height:8px;border-radius:50%;background:var(--gray-400);opacity:.4;animation:dotPulse 1.4s ease-in-out infinite;box-shadow:0 0 6px #ffffff4d}.thinking-dots span:nth-child(2){animation-delay:.2s}.thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}.avatar-pulse{width:8px;height:8px;border-radius:50%;background:#fff;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.input-area{width:100%}.input-wrapper{display:flex;align-items:flex-end;gap:8px;padding:12px 16px;border-radius:var(--radius-lg);border:1px solid var(--border-medium);background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:all .25s ease}.input-wrapper:focus-within{border-color:var(--border-strong);box-shadow:0 0 0 3px #ffffff0d}.input-textarea{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-family:IBM Plex Mono,Courier New,monospace;font-size:.92rem;line-height:1.5;resize:none;max-height:200px}.input-textarea::placeholder{color:var(--text-muted);letter-spacing:.02em}.input-send{width:36px;height:36px;border-radius:var(--radius-sm);border:1px solid var(--border-medium);background:var(--white);color:var(--black);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.input-send:hover:not(:disabled){transform:scale(1.05);box-shadow:0 2px 12px #ffffff26}.input-send--stop{background:var(--gray-800);color:var(--white);border-color:var(--gray-700)}.input-send--stop:hover{background:var(--gray-700)}.input-send--disabled{opacity:.2;cursor:not-allowed}.input-hint{text-align:center;font-size:.72rem;color:var(--text-muted);margin-top:10px}.message--user{flex-direction:row-reverse}.message--user .message__body{text-align:right}.message--user .message__header{flex-direction:row-reverse}.message--user .message__bubble{display:inline-block;background:var(--white);color:var(--black);padding:12px 18px;border-radius:var(--radius-md);max-width:100%}.message--user .message__content{color:var(--black)}.message--assistant .message__bubble{display:inline-block;background:var(--gray-950);color:var(--gray-200);padding:12px 18px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);max-width:100%}@media(max-width:768px){.sidebar{position:fixed;left:0;top:0;z-index:90;transform:translate(-100%);height:100vh;height:100dvh}.sidebar--open{transform:translate(0)}.sidebar-toggle{display:none}.sidebar-toggle--visible,.mobile-header{display:flex}.main{padding-top:56px;height:100vh;height:100dvh}.chat{height:calc(100vh - 56px);height:calc(100dvh - 56px);overflow:hidden}.chat__messages{height:calc(100% - 120px);overflow-y:auto;padding:16px 0;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.chat__input-container{position:sticky;bottom:0;background:var(--bg-primary);padding:12px 16px 16px;border-top:1px solid var(--border-subtle);flex-shrink:0}.welcome__grid{grid-template-columns:1fr}.welcome__title{font-size:1.8rem}.welcome{padding:24px 16px;gap:32px;overflow-y:auto;-webkit-overflow-scrolling:touch}.message{padding:14px 16px;gap:12px}.message__bubble{padding:10px 14px}.input-wrapper{padding:10px 12px}.input-textarea{font-size:16px}}@media(max-width:480px){.message{padding:12px;gap:10px}.message__bubble{padding:8px 12px}.chat__input-container{padding:10px 12px 12px}.welcome__title{font-size:1.5rem}.welcome__subtitle{font-size:.9rem}.suggestion-card{padding:14px}.sidebar__header{padding:16px 12px}.sidebar__footer{padding:10px 12px}}@supports (padding-bottom: env(safe-area-inset-bottom)){.chat__input-container{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.sidebar__footer{padding-bottom:calc(10px + env(safe-area-inset-bottom))}}
