:root{color:#f8f9fa;background:#121212;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;overflow-x:hidden}html{overflow-x:hidden}.scrim{position:fixed;inset:0;z-index:19;display:block;border:0;background:#00000080;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}button,input,select,textarea{font:inherit;font-size:16px}button{cursor:pointer}button:disabled{cursor:not-allowed}.loadingShell,.authShell{display:grid;min-height:100dvh;place-items:center;padding:20px;background:#121212}.loadingShell{gap:12px;color:#ced4da;font-weight:700}.authCard{display:grid;gap:18px;width:min(420px,calc(100vw - 40px));max-width:100%;padding:24px;border:1px solid #3b3b3b;border-radius:8px;background:#242424;box-shadow:none}.authBrand span{color:#828282}.authTabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border-radius:10px;background:#1f1f1f}.authTabs button{height:38px;border:0;border-radius:8px;background:transparent;color:#ced4da;font-weight:800}.authTabs button.active{background:#3b3b3b;color:#fff;box-shadow:none}.authForm{display:grid;gap:14px}.appShell{display:grid;grid-template-columns:240px minmax(0,1fr);width:100%;min-height:100dvh;overflow-x:clip;background:#121212}.sidebar,.inspector{min-height:100vh;border-color:#495057;-webkit-backdrop-filter:none;backdrop-filter:none}.sidebar{display:flex;flex-direction:column;gap:10px;min-width:0;padding:8px 10px;border-right:1px solid #495057;background:#242424;color:#fff}.drawerHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px}.brand{display:flex;align-items:center;gap:12px;min-height:40px}.brand img{width:28px;height:28px}.brand strong{display:block;color:#fff;font-size:15px;font-weight:700}.brand span,.sidebarFooter,.modelHint,.generationMeta span,.modeHeader p{color:#828282;font-size:12px}.sidebar .brand span,.sidebarFooter,.sidebarSectionTitle{color:#828282}.primaryAction,.sendButton,.secondaryAction{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:34px;border:0;border-radius:8px;background:#4dabf7;color:#fff;font-weight:700;box-shadow:none}.secondaryAction{background:#3b3b3b;color:#fff;box-shadow:none}.secondaryAction:disabled,.primaryAction:disabled{opacity:.7}.ghostAction{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;border:1px solid #3b3b3b;border-radius:8px;background:#2e2e2e;color:#ced4da;font-size:12px;font-weight:800}.ghostAction:disabled{opacity:.55}.modeActions{display:grid;gap:2px}.modeActions button{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 8px;border:0;border-radius:8px;background:transparent;color:#ced4da;font-size:13px}.modeActions button.active,.modeActions button:hover{background:#3b3b3b;color:#fff}.sidebarSectionTitle{padding:2px 8px 0;font-size:12px}.sidebarSearch{position:relative;display:block}.sidebarSearch svg{position:absolute;left:10px;top:50%;color:#828282;transform:translateY(-50%);pointer-events:none}.sidebarSearch input{width:100%;height:30px;border:1px solid #3b3b3b;border-radius:8px;background:#1f1f1f;color:#fff;outline:none;padding:0 10px 0 30px}.sidebarSearch input::placeholder{color:#828282}.sessionList{display:flex;flex:1;flex-direction:column;gap:8px;min-height:0;overflow-y:auto}.sessionItem{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:30px;padding:0 8px;border:1px solid transparent;border-radius:8px;background:transparent;color:#ced4da;font-size:13px;text-align:left}.sessionItem span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sessionItem svg{flex:0 0 auto;color:#828282}.sessionItem.active,.sessionItem:hover{border-color:transparent;background:#3b3b3b;color:#fff}.sidebarBottom{display:grid;gap:8px;margin-top:auto}.adminEntry,.sidebarFooter{display:flex;align-items:center;gap:8px;min-height:36px;padding:0 6px}.adminEntry{width:100%;border:0;border-radius:8px;background:transparent;color:#ced4da;font-size:13px;font-weight:700;text-align:left}.adminEntry.active,.adminEntry:hover{background:#3b3b3b;color:#fff}.workspace{display:grid;grid-template-rows:48px minmax(0,1fr) auto auto;min-width:0;height:100dvh;min-height:100dvh;max-height:100dvh;overflow-x:clip}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 18px;border-bottom:1px solid #2e2e2e;background:#121212;-webkit-backdrop-filter:none;backdrop-filter:none}.topActions{display:inline-flex;align-items:center;flex:0 0 auto;gap:8px}.balancePill{display:inline-flex;align-items:center;height:30px;padding:0 10px;border:1px solid rgba(77,171,247,.22);border-radius:999px;background:#4dabf714;color:#4dabf7;font-size:12px;font-weight:900}.topTitle{display:grid;flex:1 1 auto;gap:2px;min-width:0}.topTitle strong,.topTitle span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topTitle strong{color:#fff;font-size:15px}.topTitle span{color:#828282;font-size:12px}.iconButton{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:#ced4da}.iconButton{width:38px;height:38px;border-radius:8px}.iconButton:hover{background:#2e2e2e}.iconButton:disabled{opacity:.6}.stage{min-height:0;overflow:hidden;background:#121212}.keySetupPane{display:grid;height:100%;place-items:center;padding:28px 18px}.keySetupCard{display:grid;gap:16px;width:min(420px,calc(100vw - 36px));max-width:100%;padding:26px;border:1px solid #3b3b3b;border-radius:8px;background:#242424;box-shadow:none}.keySetupIcon{display:grid;width:48px;height:48px;place-items:center;border-radius:12px;background:#4dabf71f;color:#4dabf7}.keySetupCard h1{margin:0;color:#fff;font-size:22px}.keySetupCard p{margin:0;color:#ced4da;line-height:1.65}.setupAction{width:100%}.keyStatus{display:inline-flex;align-items:flex-start;gap:7px;min-height:24px;color:#ced4da;font-size:12px;line-height:1.45}.keyStatus.valid{color:#69db7c}.keyStatus.invalid{color:#fca5a5}.messagePane,.generationPane{height:100%;overflow-y:auto;padding:22px clamp(18px,5vw,72px)}.messagePane{display:flex;flex-direction:column;gap:18px;max-width:876px;margin:0 auto}.message{display:grid;grid-template-columns:32px minmax(0,760px);gap:12px;align-items:start}.message.user{grid-template-columns:minmax(0,760px) 32px;justify-content:end}.message.user .avatar{order:2;background:#3b3b3b;color:#fff}.message.user .bubble{background:#2e2e2e;color:#fff;padding:10px 12px}.avatar{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:#424242;color:#fff;font-size:13px;font-weight:800}.bubble{min-height:40px;padding:0;border:0;border-radius:8px;background:transparent;color:#fff;box-shadow:none;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}.typing{color:#828282}.generationPane{display:flex;flex-direction:column;gap:22px}.modeHeader{display:flex;align-items:center;gap:12px}.modeHeader svg{color:#4dabf7}.modeHeader h1{margin:0;color:#fff;font-size:24px}.modeHeader p{margin:4px 0 0}.resultGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.generationCard,.emptyState{border:1px solid #3b3b3b;border-radius:8px;background:#242424}.generationCard{padding:14px}.generationMeta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.generationCard p{color:#ced4da;line-height:1.55}.mediaStack{display:grid;gap:10px}.mediaStack img,.mediaStack video{width:100%;border-radius:8px;background:#111827}.mediaStack audio{width:100%}.referenceThumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.referenceThumbs img{width:54px;height:54px;border:1px solid #3b3b3b;border-radius:8px;object-fit:cover}.generationCard pre{max-height:280px;overflow:auto;padding:12px;border-radius:8px;background:#1f1f1f;color:#f9fafb;font-size:12px}.emptyState{display:grid;min-height:220px;place-items:center;color:#828282}.composer{position:sticky;bottom:0;z-index:8;width:min(880px,calc(100% - 36px));margin:0 auto;padding:12px 0 18px;border-top:0;background:#121212}.composerBox{display:grid;gap:8px;min-width:0;border:1px solid #3b3b3b;border-radius:8px;background:#242424;padding:10px}.composer textarea{min-height:58px;max-height:160px;resize:vertical;border:0;border-radius:0;padding:0;outline:none;background:transparent;color:#fff;line-height:1.55}.composer textarea::placeholder{color:#828282}.composerBox:focus-within{border-color:#4dabf7;box-shadow:0 0 0 2px #4dabf729}.referenceTray{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:38px}.referenceUpload{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:1px dashed #4a5568;border-radius:8px;color:#ced4da;cursor:pointer;font-size:12px}.referenceUpload:hover{border-color:#4dabf7;color:#fff}.referenceUpload input{display:none}.attachmentAction{display:inline-flex;align-items:center;flex:0 0 auto;gap:6px;height:30px;padding:0 8px;border:1px solid #3b3b3b;border-radius:8px;background:#1f1f1f;color:#ced4da;cursor:pointer;font-size:12px}.attachmentAction:hover{border-color:#4dabf7;color:#fff}.attachmentAction input{display:none}.referenceThumb{position:relative;width:38px;height:38px}.referenceThumb img{width:100%;height:100%;border:1px solid #3b3b3b;border-radius:8px;object-fit:cover}.referenceThumb button{position:absolute;top:-6px;right:-6px;display:grid;width:18px;height:18px;place-items:center;border:1px solid #3b3b3b;border-radius:50%;background:#121212;color:#fff;cursor:pointer}.attachmentChip{display:inline-flex;align-items:center;max-width:240px;height:34px;gap:7px;padding:0 7px;border:1px solid #3b3b3b;border-radius:8px;background:#1f1f1f;color:#ced4da;font-size:12px}.attachmentChip img{width:22px;height:22px;border-radius:6px;object-fit:cover}.attachmentChip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachmentChip button{display:grid;width:18px;height:18px;place-items:center;border:0;border-radius:50%;background:transparent;color:#ced4da;cursor:pointer}.attachmentChip button:hover{background:#2e2e2e;color:#fff}.composerMeta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#828282;font-size:12px}.composerTools{display:flex;align-items:center;min-width:0;gap:10px}.composerModelSelect{max-width:min(280px,36vw);height:30px;min-width:120px;border:1px solid #3b3b3b;border-radius:8px;padding:0 28px 0 9px;outline:none;background:#1f1f1f;color:#ced4da;font-size:12px}.composerModelSelect:focus{border-color:#4dabf7;box-shadow:0 0 0 2px #4dabf729}.composerTools>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field input:focus,.field select:focus,.customModel:focus{border-color:#4dabf7;box-shadow:0 0 0 2px #4dabf729}.sendButton{align-self:end;min-width:80px}.sendButton:disabled{cursor:not-allowed;opacity:.7}.spin{animation:spin 1s linear infinite}.errorBar{margin:0 18px;padding:10px 12px;border:1px solid rgba(224,108,117,.3);border-radius:8px;background:#e06c751f;color:#fca5a5;font-size:13px}.errorBar.inline{margin:0}.inspector{position:fixed;inset:0 0 0 auto;z-index:30;display:flex;flex-direction:column;gap:16px;width:min(360px,92vw);padding:18px;border-left:1px solid #495057;background:#242424;transform:translate(100%);transition:transform .16s ease;visibility:hidden;overflow-y:auto}.inspector.open{transform:translate(0);visibility:visible}.panelTitle{display:flex;align-items:center;gap:8px;min-height:38px;color:#fff;font-weight:800}.accountCard,.balanceCard{border:1px solid #3b3b3b;border-radius:10px;background:#1f1f1f}.accountCard{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px}.accountCard div,.balanceHeader div,.balanceStats div{display:grid;gap:3px}.accountCard span,.balanceHeader span,.balanceStats span,.modelTools span{color:#828282;font-size:12px}.accountCard strong,.balanceHeader strong,.balanceStats strong{color:#fff}.balanceCard{display:grid;gap:12px;padding:12px}.balanceHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.balanceHeader strong{font-size:24px}.balanceStats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.balanceStats div{min-width:0;padding:10px;border-radius:8px;background:#242424}.balanceCard p{margin:0;color:#fca5a5;font-size:12px;line-height:1.45}.balanceCard p.successText{color:#69db7c}.balanceCard p.quotaRaw{color:#828282}.field{display:grid;gap:7px;color:#ced4da;font-size:13px}.field input,.field select,.customModel{width:100%;height:38px;border:1px solid #3b3b3b;border-radius:8px;padding:0 10px;outline:none;background:#1f1f1f;color:#fff}.field input[type=range]{padding:0;accent-color:#4dabf7}.fieldGrid{display:grid;gap:12px}.fieldGrid.twoColumns{grid-template-columns:1fr 1fr}.modelTools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}.customModel{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.endpointBox{display:grid;gap:5px;padding:12px;border:1px solid rgba(77,171,247,.22);border-radius:8px;background:#4dabf714;color:#ced4da}.endpointBox span{font-size:12px}.adminPanel{display:grid;align-content:start;gap:14px;width:min(980px,100%);min-height:100%;margin:0 auto;padding:22px clamp(14px,4vw,48px);overflow-y:auto}.adminPanel>.balanceCard,.adminPanel>.adminList{width:100%}.adminPanel>.panelTitle{margin-bottom:2px}.codeList{display:grid;gap:6px;max-height:160px;overflow:auto;padding:10px;border-radius:8px;background:#121212}.codeList code,.adminRow code{color:#ced4da;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.adminList{display:grid;gap:8px}.adminListHeader,.adminRow{display:flex;align-items:center;justify-content:space-between;gap:10px}.adminListHeader{color:#828282;font-size:12px}.adminListHeader strong{color:#ced4da}.adminRow{min-width:0;padding:10px;border:1px solid #3b3b3b;border-radius:8px;background:#1f1f1f}.adminRow div{display:grid;min-width:0;gap:3px}.adminRow strong,.adminRow span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminRow strong{color:#fff;font-size:13px}.adminRow span{color:#828282;font-size:12px}.mobileOnly{display:none}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:760px){.appShell{display:block;overflow-x:hidden;min-height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:min(300px,88vw);transform:translate(-100%);transition:transform .16s ease;visibility:hidden}.sidebar.open{transform:translate(0);visibility:visible}.mobileOnly{display:inline-flex}.workspace{grid-template-rows:48px minmax(0,1fr) auto auto;width:100%;max-width:100vw;height:100dvh;min-height:100dvh;max-height:100dvh}.topbar{position:sticky;top:0;z-index:10;padding-inline:10px;background:#121212;-webkit-backdrop-filter:none;backdrop-filter:none}.balancePill{max-width:108px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messagePane,.generationPane{padding:18px 12px 12px}.message{grid-template-columns:28px minmax(0,1fr);gap:10px}.message.user{grid-template-columns:minmax(0,1fr) 28px}.avatar{width:28px;height:28px;font-size:12px}.composer{width:100%;margin:0;padding:8px 10px max(10px,env(safe-area-inset-bottom));border-top:1px solid #2e2e2e;background:#121212;-webkit-backdrop-filter:none;backdrop-filter:none}.composer textarea{font-size:16px;min-height:56px;max-height:132px}.field input,.field select,.customModel{font-size:16px}.composerMeta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sendButton{width:auto;min-width:68px;min-height:34px}.inspector{z-index:30;padding-bottom:max(18px,env(safe-area-inset-bottom));overflow-y:auto;visibility:hidden}.inspector.open{visibility:visible}}.accountDock{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:12px;border:1px solid #2e2e2e;background:#1a1a1a;color:#e6e6e6;cursor:pointer;text-align:left;transition:background .15s ease}.accountDock:hover{background:#232323}.accountAvatar{width:30px;height:30px;flex:none;border-radius:50%;display:grid;place-items:center;background:#4dabf7;color:#fff;font-weight:600;font-size:14px}.accountInfo{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.25}.accountInfo strong{font-size:13px;color:#f2f2f2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accountInfo span{font-size:12px;color:#9aa0a6}.accountGear{flex:none;color:#828282}.accountPop{width:300px;max-width:80vw;display:flex;flex-direction:column;gap:12px}.accountLogout{justify-content:center}.codeResult{margin-top:12px;display:flex;flex-direction:column;gap:8px}.codeResultHeader{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#9aa0a6}.codeList{display:flex;flex-direction:column;gap:6px}.codeChip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;border:1px solid #2e2e2e;background:#161616;color:#d6d6d6;cursor:pointer}.codeChip code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.codeChip:hover{border-color:#4dabf7;color:#fff}.adminTable{margin-top:18px}.adminTable .adminListHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:13px;color:#c2c2c2}.adminTable .adminListHeader strong{color:#4dabf7}.genPane .genPrompt{margin:0;white-space:pre-wrap}.genBubble{max-width:min(520px,78%)}.genBubble .mediaStack{display:flex;flex-direction:column;gap:8px}.genBubble .mediaStack img,.genBubble .mediaStack video{width:100%;border-radius:10px;display:block}.genBubble .mediaStack audio{width:100%}.genEmpty{color:#9aa0a6;font-size:13px}.genFrame{width:min(420px,70vw);border-radius:12px;border:1px dashed #3b3b3b;background:linear-gradient(135deg,#1a1a1a,#222);display:grid;place-items:center;overflow:hidden}.genFrame.audio{width:auto;aspect-ratio:auto;padding:16px 18px;display:flex;align-items:center;gap:10px;color:#c2c2c2}.genFrameInner{display:flex;flex-direction:column;align-items:center;gap:8px;color:#c2c2c2}.genFrameInner small{color:#828282;font-variant-numeric:tabular-nums}.genBubble .referenceThumbs img,.message .referenceThumbs img{width:56px;height:56px;object-fit:cover;border-radius:8px;margin-top:6px;margin-right:6px}.adminPanel{height:100%;overflow-y:auto;padding:16px 18px 32px}.adminPanel .panelTitle{display:flex;align-items:center;gap:8px}.adminPanel .adminRefresh{margin-left:auto}.adminTabPane{display:flex;flex-direction:column;gap:14px;padding-top:4px}.adminTabPane .balanceCard{max-width:460px}
