:root{--bg0: #08090f;--bg1: #11131b;--bg2: #191b24;--panel: rgba(22, 24, 34, .75);--line: rgba(255, 255, 255, .08);--text: #ffffff;--muted: #a1a3b8;--accent-base: 247, 72%, 60%;--accent: hsl(var(--accent-base));--accent-hover: hsl(247, 80%, 65%);--accent-glow: rgba(103, 90, 226, .3);--danger: #ff5070;--danger-bg: rgba(255, 80, 112, .15);--success: #1fe090;--glass-border: rgba(255, 255, 255, .05);--glass-highlight: rgba(255, 255, 255, .02);--shadow-sm: 0 4px 12px rgba(0, 0, 0, .2);--shadow-md: 0 8px 30px rgba(0, 0, 0, .3);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .4);--curve: cubic-bezier(.2, .8, .2, 1);--curve-bounce: cubic-bezier(.34, 1.56, .64, 1);--trans-fast: .15s var(--curve);--trans-base: .3s var(--curve)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;color:var(--text);background:var(--bg0);background-image:radial-gradient(circle at 15% 50%,rgba(103,90,226,.08) 0%,transparent 40%),radial-gradient(circle at 85% 30%,rgba(31,224,144,.05) 0%,transparent 40%);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select{font:inherit;outline:none}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes fadeInSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-3px)}to{transform:translateY(0)}}@keyframes pulseGlow{0%{box-shadow:0 0 0 0 var(--accent-glow)}70%{box-shadow:0 0 0 10px #675ae200}to{box-shadow:0 0 #675ae200}}.center-screen{min-height:100%;display:grid;place-items:center}.auth-page{min-height:100%;display:grid;place-items:center;padding:24px}.language-switch{position:fixed;top:24px;right:24px;background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px 16px;border-radius:99px;color:var(--muted);border:1px solid var(--glass-border);box-shadow:var(--shadow-sm);cursor:pointer;transition:all var(--trans-base);font-size:.9rem;font-weight:500;z-index:100}.language-switch:hover{color:var(--text);background:#ffffff1a;border-color:#ffffff1a;transform:translateY(-2px)}.auth-card{width:min(440px,92vw);padding:40px;border:1px solid var(--glass-border);border-top-color:#ffffff1a;border-left-color:#ffffff1a;border-radius:24px;background:var(--panel);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-lg),inset 0 0 80px #ffffff05;display:grid;gap:20px;animation:fadeInSlideUp .6s var(--curve-bounce) both}.auth-card h1{margin:0 0 12px;text-align:center;font-size:2.25rem;font-weight:700;letter-spacing:-.03em;background:linear-gradient(135deg,#fff,#a1a3b8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.auth-card input{width:100%;padding:16px 20px;border-radius:12px;border:1px solid var(--glass-border);background:#0003;color:var(--text);font-size:1rem;transition:all var(--trans-base)}.auth-card input::placeholder{color:#5a5f73}.auth-card input:focus{border-color:var(--accent);background:#0006;box-shadow:0 0 0 3px var(--accent-glow);transform:translateY(-1px)}.turnstile-wrap{display:flex;justify-content:center;min-height:66px;margin-top:4px}.turnstile-missing{border:1px dashed rgba(255,255,255,.15);background:#ffffff05;border-radius:12px;padding:12px 16px;color:var(--muted);text-align:center;font-size:.9rem}.primary{background:linear-gradient(135deg,var(--accent) 0%,hsl(var(--accent-base),40%) 100%);color:#fff;border:none;border-radius:12px;padding:16px;font-size:1.05rem;font-weight:600;cursor:pointer;transition:all var(--trans-base);box-shadow:0 4px 15px #675ae24d;position:relative;overflow:hidden}.primary:after{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(to right,transparent,rgba(255,255,255,.2),transparent);transform:skew(-20deg);transition:all .5s}.primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #675ae266;background:linear-gradient(135deg,var(--accent-hover) 0%,var(--accent) 100%)}.primary:hover:after{left:150%}.primary:active{transform:translateY(1px);box-shadow:0 2px 10px #675ae24d}.link{border:none;background:transparent;color:var(--muted);cursor:pointer;text-align:center;font-size:.95rem;transition:all var(--trans-fast);padding:8px;border-radius:8px}.link:hover{color:var(--text);background:#ffffff0d}.error-box,.error-banner{padding:14px 16px;border-radius:12px;background:var(--danger-bg);border:1px solid rgba(255,80,112,.3);color:#ffdce3;font-size:.95rem;display:flex;align-items:center;animation:fadeInSlideUp .3s var(--curve)}.app-shell{display:grid;grid-template-columns:300px 1fr;min-height:100dvh;height:100dvh;overflow:hidden}.sidebar{border-right:1px solid var(--line);background:var(--bg1);display:grid;grid-template-rows:auto auto 1fr auto;min-height:0;z-index:10;box-shadow:2px 0 20px #0003}.sidebar-title{padding:24px;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;display:flex;align-items:center;gap:12px}.sidebar-title:before{content:"";display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent);animation:pulseGlow 2s infinite}.sidebar-action{margin:0 16px 16px;padding:12px 16px;border:1px dashed rgba(255,255,255,.15);background:#ffffff05;color:var(--text);border-radius:12px;text-align:left;cursor:pointer;transition:all var(--trans-fast);font-weight:500;display:flex;align-items:center;gap:8px}.sidebar-action:hover{background:#ffffff0d;border-color:#ffffff4d;transform:translateY(-1px)}.chat-list{padding:0 12px 12px;display:grid;gap:6px;overflow:auto;min-height:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#fff3}.chat-item{padding:12px 16px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--muted);text-align:left;cursor:pointer;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.95rem;transition:all var(--trans-fast)}.chat-item:hover{background:#ffffff08;color:var(--text)}.chat-item.active{background:linear-gradient(90deg,rgba(103,90,226,.15) 0%,transparent 100%);border-left:3px solid var(--accent);color:var(--text);font-weight:500;border-radius:0 10px 10px 0}.sidebar-footer{border-top:1px solid var(--line);padding:16px;display:grid;gap:12px;background:#0003}.chat-main{display:grid;grid-template-rows:auto 1fr auto;min-width:0;min-height:0;overflow:hidden;background:radial-gradient(circle at top right,rgba(103,90,226,.03) 0%,transparent 50%)}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:20px 32px;border-bottom:1px solid var(--line);background:#11131b99;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:5}.avatar{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#2c314a,#151822);border:1px solid rgba(255,255,255,.05);box-shadow:var(--shadow-sm);font-weight:600;color:var(--text);flex-shrink:0}.avatar.small{width:36px;height:36px;border-radius:8px;font-size:.85rem}.messages{overflow:auto;padding:32px;display:flex;flex-direction:column;gap:32px;min-height:0;scroll-behavior:smooth}.message-row{display:flex;gap:16px;max-width:min(85%,850px);min-width:0;align-items:flex-start;animation:fadeInSlideUp .4s var(--curve) both}.message-row.user{margin-left:auto;flex-direction:row-reverse}.bubble{padding:16px 20px;border-radius:18px;white-space:pre-wrap;max-width:100%;overflow-wrap:anywhere;word-break:break-word;font-size:1rem;line-height:1.6;box-shadow:0 4px 12px #0000001a}.message-row.user .bubble{background:linear-gradient(135deg,var(--accent) 0%,hsl(var(--accent-base),40%) 100%);color:#fff;border-bottom-right-radius:4px}.message-row:not(.user) .bubble{background:#ffffff0d;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom-left-radius:4px}.bubble pre{margin:12px 0;padding:16px;border-radius:12px;background:#0000004d!important;border:1px solid rgba(255,255,255,.1);overflow-x:auto}.bubble code{font-family:JetBrains Mono,Fira Code,monospace;background:#0003;padding:2px 6px;border-radius:4px;font-size:.9em}.bubble pre code{background:transparent;padding:0}.composer-wrap{display:grid;grid-template-columns:minmax(150px,200px) 1fr auto;gap:12px;padding:24px 32px;background:linear-gradient(to top,var(--bg0) 50%,transparent 100%);position:relative}.composer-wrap select,.composer,.composer-wrap input{border:1px solid rgba(255,255,255,.1);background:var(--bg1);color:var(--text);border-radius:16px;padding:16px 20px;font-size:1rem;box-shadow:0 4px 15px #0003;transition:all var(--trans-base)}.composer-wrap select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a1a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:48px}.composer-wrap select:hover,.composer:hover{border-color:#fff3}.composer:focus-within{border-color:var(--accent);box-shadow:0 4px 20px #675ae226,0 0 0 1px var(--accent);transform:translateY(-1px)}.composer-wrap form{display:contents}.admin-panel{padding:32px;overflow:auto}.admin-tabs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--line)}.admin-tabs button{border:1px solid var(--glass-border);background:#ffffff08;color:var(--muted);border-radius:99px;padding:10px 20px;cursor:pointer;font-weight:500;transition:all var(--trans-fast)}.admin-tabs button:hover{background:#ffffff14;color:var(--text);transform:translateY(-1px)}.admin-tabs button.active{background:#675ae226;border-color:#675ae266;color:var(--text);box-shadow:0 4px 12px #675ae233}.admin-section{display:grid;gap:20px;background:var(--bg1);padding:24px;border-radius:16px;border:1px solid var(--glass-border);box-shadow:var(--shadow-sm);animation:fadeInSlideUp .4s var(--curve) both}.admin-section h2{margin:0 0 8px;font-size:1.25rem}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.table{display:grid;gap:12px;width:100%}.row{display:grid;gap:12px;grid-template-columns:repeat(8,minmax(0,1fr));align-items:center;background:#0003;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:12px 16px;transition:all var(--trans-fast)}.row:hover{background:#ffffff08;border-color:#ffffff1a}.row.user-row{grid-template-columns:1.5fr repeat(6,minmax(0,1fr))}.row input,.row select,.inline-actions input{background:var(--bg0);border:1px solid rgba(255,255,255,.1);color:var(--text);border-radius:8px;padding:10px 12px;width:100%;font-size:.9rem;transition:all var(--trans-fast)}.row input:focus,.row select:focus,.inline-actions input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #675ae233}.inline-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.log-list{max-height:58vh;overflow:auto;border:1px solid var(--glass-border);border-radius:12px;padding:16px;background:var(--bg0)}pre{margin:0 0 12px;padding:16px;border-radius:10px;background:#0d0f14;border:1px solid #1f2330;font-family:JetBrains Mono,Fira Code,monospace;font-size:.85rem;color:#a1a3b8;overflow-x:auto}.chat-list .chat-item:nth-child(1){animation-delay:.05s}.chat-list .chat-item:nth-child(2){animation-delay:.1s}.chat-list .chat-item:nth-child(3){animation-delay:.15s}.chat-list .chat-item:nth-child(4){animation-delay:.2s}.chat-list .chat-item:nth-child(5){animation-delay:.25s}@media(max-width:1000px){.app-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sidebar{grid-template-rows:auto auto auto;border-right:none;border-bottom:1px solid var(--line);max-height:35vh}.chat-list{max-height:180px}.composer-wrap{grid-template-columns:1fr;padding:16px;gap:8px}.composer-wrap select,.composer-wrap input,.composer{width:100%}.row,.row.user-row{grid-template-columns:1fr;gap:8px;padding:16px}}
