@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-base:#0f111a;--bg-surface:#1a1d2d;--bg-surface-hover:#23273e;--text-primary:#e2e8f0;--text-secondary:#94a3b8;--accent-primary:#6366f1;--accent-primary-hover:#4f46e5;--accent-glow:#6366f166;--danger:#ef4444;--success:#10b981;--border-color:#ffffff14;--border-radius-sm:8px;--border-radius-md:12px;--border-radius-lg:16px;--shadow-sm:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-md:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-glow:0 0 20px var(--accent-glow);--transition-fast:.15s ease;--transition-normal:.3s ease}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;display:flex}#root{flex-direction:column;flex:1;display:flex}.glass-panel{-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);background:#1a1d2d99}.heading{letter-spacing:-.02em;font-weight:700}.text-gradient{background:linear-gradient(135deg,#a5b4fc 0%,#6366f1 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%{box-shadow:0 0 10px var(--accent-glow)}50%{box-shadow:0 0 25px var(--accent-glow)}to{box-shadow:0 0 10px var(--accent-glow)}}.animate-fade-in{animation:.4s ease-out forwards fadeIn}.animate-glow{animation:2s infinite pulseGlow}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--bg-surface-hover);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.md-body{color:var(--text-primary);word-break:break-word;font-size:.95rem;line-height:1.7}.md-p{margin:0 0 .75rem}.md-p:last-child{margin-bottom:0}.md-strong{color:#fff;font-weight:700}.md-em{color:#c4b5fd;font-style:italic}.md-h1,.md-h2,.md-h3{letter-spacing:-.02em;margin:1.25rem 0 .5rem;font-weight:700;line-height:1.3}.md-h1{color:#fff;font-size:1.4rem}.md-h2{color:#e2e8f0;font-size:1.2rem}.md-h3{color:#cbd5e1;font-size:1.05rem}.md-ul,.md-ol{flex-direction:column;gap:.25rem;margin:.5rem 0 .75rem;padding-left:1.5rem;display:flex}.md-li{line-height:1.6}.md-ul .md-li{list-style-type:disc}.md-ol .md-li{list-style-type:decimal}.md-blockquote{border-left:3px solid var(--accent-primary);border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0;color:var(--text-secondary);background:#6366f114;margin:.75rem 0;padding:.5rem 1rem;font-style:italic}.md-link{color:#a5b4fc;text-underline-offset:2px;text-decoration:underline;transition:color .15s}.md-link:hover{color:#fff}.md-hr{border:none;border-top:1px solid var(--border-color);margin:1rem 0}.md-inline-code{color:#c4b5fd;background:#6366f126;border:1px solid #6366f140;border-radius:4px;padding:.15em .45em;font-family:Consolas,JetBrains Mono,monospace;font-size:.85em}.code-block-wrapper{border-radius:var(--border-radius-md);background:#0d1117;border:1px solid #ffffff14;margin:.75rem 0;overflow:hidden}.code-block-header{background:#161b22;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.code-lang-badge{color:#8b949e;text-transform:uppercase;letter-spacing:.06em;font-family:Consolas,monospace;font-size:.75rem;font-weight:600}.code-copy-btn{color:#8b949e;cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:5px;align-items:center;gap:5px;padding:3px 10px;font-family:inherit;font-size:.75rem;transition:all .15s;display:flex}.code-copy-btn:hover{color:#fff;background:#ffffff0d;border-color:#ffffff4d}.md-table-wrapper{margin:.75rem 0;overflow-x:auto}.md-table{border-collapse:collapse;width:100%;font-size:.9rem}.md-th{color:#c4b5fd;text-align:left;border:1px solid var(--border-color);background:#6366f11f;padding:.5rem .75rem;font-weight:600}.md-td{border:1px solid var(--border-color);color:var(--text-secondary);padding:.45rem .75rem}.md-table tr:nth-child(2n) td{background:#ffffff05}.app-container{flex-direction:column;width:100%;max-width:1200px;min-height:100vh;margin:0 auto;padding:2rem;display:flex}.admin-toggle-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:#ffffff0d;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;transition:all .2s;display:flex}.admin-toggle-btn:hover{background:var(--bg-surface-hover);color:var(--accent-primary);border-color:var(--accent-primary);box-shadow:0 0 15px #6366f133}.admin-pulse{animation:2s ease-in-out infinite adminGlow;color:var(--accent-primary)!important;border-color:var(--accent-primary)!important;background:#6366f11a!important}@keyframes adminGlow{0%{transform:scale(1);box-shadow:0 0 5px #6366f133}50%{transform:scale(1.05);box-shadow:0 0 20px #6366f199}to{transform:scale(1);box-shadow:0 0 5px #6366f133}}.login-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.login-modal{text-align:center;flex-direction:column;gap:1.25rem;width:100%;max-width:400px;padding:2.5rem;display:flex}.login-modal p{color:var(--text-secondary);font-size:.9rem}.login-modal input{border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:#fff;background:#0003;outline:none;padding:.75rem 1rem;font-family:inherit}.login-modal .modal-actions{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.login-modal button{border-radius:var(--border-radius-sm);cursor:pointer;padding:.75rem;font-weight:600;transition:all .2s}.login-modal .cancel{color:#fff;border:1px solid var(--border-color);background:0 0}.login-modal .confirm{background:var(--accent-primary);color:#fff;border:none}.admin-overlay{z-index:2000;background:#111420;flex-direction:column;display:flex;position:fixed;inset:2rem;overflow:hidden}.admin-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.admin-title{align-items:center;gap:.75rem;display:flex}.admin-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none}.admin-content{flex:1;padding:2rem;overflow-y:auto}.admin-stats-row{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2.5rem;display:grid}.admin-stat-card{border:1px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--accent-primary);background:#ffffff08;align-items:center;gap:1.25rem;padding:1.5rem;display:flex}.admin-stat-info span{color:var(--text-secondary);font-size:.8rem}.admin-stat-info .val{color:#fff;font-size:1.5rem;font-weight:700}.section-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.search-box{border:1px solid var(--border-color);background:#0003;border-radius:8px;align-items:center;gap:.75rem;padding:.5rem 1rem;display:flex}.search-box input{color:#fff;background:0 0;border:none;outline:none;width:250px}.admin-table{border-collapse:collapse;width:100%}.admin-table th{text-align:left;color:var(--text-secondary);border-bottom:2px solid var(--border-color);padding:1rem;font-size:.85rem}.admin-table td{border-bottom:1px solid var(--border-color);padding:1rem}.ip-code,.key-code{background:#ffffff0d;border-radius:4px;padding:.2rem .5rem;font-family:monospace}.usage-progress{background:#ffffff0d;border-radius:6px;justify-content:center;align-items:center;width:120px;height:24px;display:flex;position:relative;overflow:hidden}.usage-progress .bar{height:100%;transition:width .3s;position:absolute;top:0;left:0}.usage-progress span{z-index:1;color:#fff;font-size:.75rem;font-weight:700;position:relative}.limit-display{align-items:center;gap:.75rem;display:flex}.limit-display button{color:var(--accent-primary);cursor:pointer;opacity:.6;background:0 0;border:none}.limit-display button:hover{opacity:1}.limit-edit{gap:.5rem;display:flex}.limit-edit input{border:1px solid var(--accent-primary);color:#fff;background:#000;border-radius:4px;width:80px;padding:.25rem}.limit-edit button{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.25rem .5rem;font-size:.75rem}.action-btn{color:var(--accent-primary);cursor:pointer;background:#6366f11a;border:1px solid #6366f133;border-radius:6px;align-items:center;gap:.5rem;padding:.4rem 1rem;font-size:.85rem;display:flex}.logs-drawer{background:#151a2e;flex-direction:column;width:50%;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-10px 0 30px #00000080}.drawer-header{border-bottom:1px solid var(--border-color);justify-content:space-between;padding:1.5rem 2rem;display:flex}.drawer-content{flex-direction:column;flex:1;gap:1.5rem;padding:2rem;display:flex;overflow-y:auto}.log-entry{border:1px solid var(--border-color);background:#ffffff05;border-radius:8px;overflow:hidden}.log-role{text-transform:uppercase;background:#ffffff0d;padding:.4rem 1rem;font-size:.7rem;font-weight:700}.log-entry.user .log-role{color:var(--accent-primary)}.log-entry.assistant .log-role{color:var(--success)}.log-body{padding:1rem;font-size:.9rem}.log-think{opacity:.7;border-left:2px solid #eab308;margin-bottom:1rem;padding-left:1rem}.loader-container{justify-content:center;align-items:center;gap:1rem;height:100%;display:flex}.queue-badge,.queue-countdown{border:1px solid;border-radius:20px;align-items:center;gap:6px;padding:5px 12px;font-size:.8rem;font-weight:600;display:flex}.queue-badge{color:#eab308;background:#eab30814;border-color:#eab3084d}.queue-countdown{color:#f97316;background:#f9731614;border-color:#f973164d}.queue-status-bar{color:var(--text-secondary);align-items:center;gap:6px;margin-top:.5rem;padding:0 .5rem;font-size:.78rem;display:flex}.message.queued .message-content,.queued-content{opacity:.45;background:var(--bg-surface)!important;border-style:dashed!important}.message.queued .message-avatar{background:#78716c!important}.queued-label{color:#a8a29e;align-items:center;gap:5px;margin-bottom:4px;font-size:.72rem;display:flex}.header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.logo-section{align-items:center;gap:12px;display:flex}.logo-icon{background:linear-gradient(135deg, var(--accent-primary) 0%, #a5b4fc 100%);color:#fff;width:40px;height:40px;box-shadow:var(--shadow-glow);border-radius:10px;justify-content:center;align-items:center;display:flex}.logo-text{margin:0;font-size:1.5rem}.stats-card{flex-direction:column;gap:1rem;margin-bottom:2rem;padding:1.5rem;display:flex}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.stat-item{border-radius:var(--border-radius-sm);background:#0003;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.stat-value{align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;display:flex}.stat-value.code{color:var(--accent-primary);background:#6366f11a;border-radius:4px;padding:.25rem .5rem;font-family:monospace;font-size:1.1rem}.tabs{border-bottom:1px solid var(--border-color);gap:1rem;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.tab-btn{color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);border-radius:var(--border-radius-sm);background:0 0;border:none;padding:.5rem 1rem;font-size:1rem;font-weight:600}.tab-btn:hover{color:var(--text-primary);background:var(--bg-surface-hover)}.tab-btn.active{color:var(--accent-primary);background:#6366f11a}.chat-container{background:#1a1d2d66;flex-direction:column;flex:1;height:600px;display:flex;overflow:hidden}.playground-container{height:600px;padding:2rem;overflow-y:auto}.snippet-block{margin-bottom:2rem}.snippet-label{color:var(--text-primary);margin-bottom:.5rem;font-weight:600;display:block}.code-box{border-radius:var(--border-radius-md);border:1px solid var(--border-color);color:#c9d1d9;white-space:pre-wrap;background:#0d1117;padding:1rem;font-family:Consolas,monospace;font-size:.9rem;overflow-x:auto}.chat-messages{flex-direction:column;flex:1;gap:1.5rem;padding:1.5rem;display:flex;overflow-y:auto}.message{gap:1rem;max-width:80%;animation:.3s ease-out fadeIn;display:flex}.message.user{flex-direction:row-reverse;align-self:flex-end}.message-avatar{background:var(--bg-surface-hover);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.message.user .message-avatar{background:var(--accent-primary)}.message-content{background:var(--bg-surface);border-radius:var(--border-radius-md);border:1px solid var(--border-color);white-space:pre-wrap;padding:1rem;font-size:.95rem;line-height:1.6}.message.user .message-content{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.thinking-block{border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0;color:var(--text-secondary);background:#0003;border-left:3px solid #eab308;margin-bottom:1rem;padding:1rem;font-size:.9rem}.thinking-header{color:#eab308;align-items:center;gap:8px;margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:flex}.chat-input-container{border-top:1px solid var(--border-color);background:#1a1d2dcc;padding:1.5rem}.chat-input-wrapper{background:var(--bg-base);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);transition:var(--transition-normal);gap:1rem;padding:.5rem;display:flex}.chat-input-wrapper:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 2px #6366f133}.chat-input{color:var(--text-primary);resize:none;background:0 0;border:none;outline:none;flex:1;padding:.5rem 1rem;font-family:inherit;font-size:1rem}.send-button{background:var(--accent-primary);color:#fff;border-radius:var(--border-radius-md);cursor:pointer;width:44px;height:44px;transition:var(--transition-fast);border:none;justify-content:center;align-items:center;display:flex}.send-button:hover:not(:disabled){background:var(--accent-primary-hover);transform:translateY(-1px)}.send-button:disabled{background:var(--bg-surface-hover);color:var(--text-secondary);cursor:not-allowed}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}
