@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-I4S5GZfc.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-BmXc_FBt.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-GZpp1pK2.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-D8KDMBhC.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-DrnZ1wKl.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-B_7UjwxQ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f7f8fa;--bg2:#f1f3f5;--bg3:#e6e8ec;--card:#fff;--card-hover:#fafbfc;--border:#dde1e6;--text:#1d232a;--text-secondary:#3f4752;--text-dim:#68717d;--accent:#252b33;--accent-dim:#eceff3;--accent-light:#111820;--on-accent:#fff;--focus-ring:#8a94a3;--red:#b42318;--red-dim:#f7ecec;--green:#166534;--yellow:#a16207;--radius-xs:4px;--radius-sm:6px;--radius:8px;--radius-lg:8px}:root[data-theme=dark]{--bg:#0f1216;--bg2:#151a20;--bg3:#20262e;--card:#171c22;--card-hover:#1d232b;--border:#2d3540;--text:#f2f4f7;--text-secondary:#cbd2da;--text-dim:#98a2ae;--accent:#e6eaf0;--accent-dim:#242b34;--accent-light:#fff;--on-accent:#111820;--focus-ring:#7d8794;--red:#ffb4ab;--red-dim:#54312e;--green:#86efac;--yellow:#facc15}*{box-sizing:border-box}html,body,#root{background:var(--bg);color:var(--text);min-height:100dvh;margin:0;padding:0;font-family:Geist Variable,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}body{font-synthesis-weight:none;text-rendering:optimizelegibility;font-size:14.5px;line-height:1.5}code,pre,.mono{font-family:Geist Mono Variable,ui-monospace,SFMono-Regular,Menlo,monospace}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}:where(a,button,input,select,textarea,[role=button],[tabindex]):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.center{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.app-preloader{background:var(--bg);place-items:center;min-height:100dvh;padding:16px;display:grid}.app-preloader__panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:12px;width:min(100%,360px);padding:14px;display:flex}.app-preloader__mark{border:1px solid var(--border);border-radius:var(--radius-sm);width:36px;height:36px;color:var(--text);background:var(--accent-dim);letter-spacing:0;flex:none;place-items:center;font-size:11.5px;font-weight:700;display:grid}.app-preloader__copy{min-width:0}.app-preloader__copy h1,.app-preloader__copy p{margin:0}.app-preloader__copy h1{font-size:14.5px;font-weight:700;line-height:1.25}.app-preloader__copy p{color:var(--text-dim);margin-top:2px;font-size:12.5px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:none;padding:20px}.login-card{width:100%;max-width:380px;padding:32px}.login-card h1{margin:0 0 6px;font-size:21px;font-weight:700}.login-card .sub{color:var(--text-dim);margin-bottom:24px;font-size:13.5px}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{text-transform:uppercase;color:var(--text-dim);letter-spacing:0;font-size:11.5px}.field input{background:var(--bg2);border:1px solid var(--border);color:var(--text);border-radius:6px;outline:none;padding:10px 12px;font-family:inherit;font-size:14.5px}.field input:focus{border-color:var(--accent)}@media (width<=600px){.codex-chat-panel input,.codex-chat-panel textarea,.codex-chat-panel select,.codex-chat-panel .MuiInputBase-input{font-size:16px!important}}button.primary{background:var(--accent);color:var(--on-accent);cursor:pointer;border:none;border-radius:6px;width:100%;padding:11px 16px;font-size:14.5px;font-weight:600;transition:background .15s}button.primary:hover{background:var(--accent-light)}button.primary:disabled{opacity:.5;cursor:not-allowed}.error{color:var(--red);margin-top:6px;font-size:12.5px}.header{border-bottom:1px solid var(--border);background:var(--card);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.header h1{margin:0;font-size:16.5px;font-weight:700}.header h1 span{color:var(--accent)}.nav{background:var(--bg2);border-bottom:1px solid var(--border);gap:4px;padding:10px 20px;display:flex}.nav button{color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:8px 14px;font-size:13.5px}.nav button.active{background:var(--card);border-color:var(--border);color:var(--text)}.content{max-width:1280px;margin:0 auto;padding:20px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:0;font-size:11.5px}.stat-value{margin-top:6px;font-size:26px;font-weight:700;line-height:1.12}.bar{background:var(--bg2);border-radius:4px;height:6px;margin-top:10px;overflow:hidden}.bar>div{background:var(--accent);height:100%;transition:width .3s}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;display:grid}.proj-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.proj-card h3{margin:0 0 4px;font-size:15.5px;font-weight:700}.proj-card .sub{color:var(--text-dim);margin-bottom:12px;font-family:Geist Mono Variable,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px}.proj-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 0;font-size:12.5px;display:flex}.badge{border-radius:var(--radius);text-transform:uppercase;letter-spacing:0;padding:2px 8px;font-size:10.5px;font-weight:700;display:inline-block}.badge.running{background:var(--accent-dim);color:var(--green)}.badge.partial{background:var(--bg3);color:var(--yellow)}.badge.idle{background:var(--bg3);color:var(--text-dim)}.proj-row button{background:var(--bg2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:5px;margin-left:4px;padding:4px 10px;font-size:11.5px}.proj-row button:hover{background:var(--accent-dim);border-color:var(--accent)}.proj-row button.danger{color:var(--red)}.proj-row button.danger:hover{background:var(--red-dim);border-color:var(--red)}.chat-fab{z-index:9998;background:var(--accent);width:52px;height:52px;color:var(--on-accent);border:1px solid var(--border);cursor:pointer;box-shadow:none;border-radius:50%;justify-content:center;align-items:center;font-size:22px;display:flex;position:fixed;bottom:20px;right:20px}.chat-panel{z-index:9999;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:380px;max-width:calc(100vw - 40px);height:560px;max-height:calc(100vh - 120px);box-shadow:none;flex-direction:column;display:flex;position:fixed;bottom:84px;right:20px;overflow:hidden}.chat-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:12px 14px;font-size:13.5px;font-weight:600;display:flex}.chat-head>span:first-child{flex-shrink:0}.chat-head select{background:var(--bg2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:3px 6px;font-family:inherit;font-size:12.5px}.chat-head .status{color:var(--text-dim);flex:1;font-size:11px;font-weight:400}.chat-head button{color:var(--text-dim);cursor:pointer;background:0 0;border:none;font-size:18px}.chat-body{background:var(--bg2);flex-direction:column;flex:1;gap:8px;padding:12px;display:flex;overflow-y:auto}.chat-msg{border-radius:var(--radius);background:var(--card);border:1px solid var(--border);word-wrap:break-word;white-space:pre-wrap;max-width:85%;padding:8px 10px;font-size:12.5px;line-height:1.45}.chat-msg.self{background:var(--accent-dim);border-color:var(--accent);align-self:flex-end}.chat-msg.codex{background:var(--bg2)}.chat-msg.system{opacity:.7}.chat-msg .meta{color:var(--text-dim);margin-bottom:3px;font-family:Geist Mono Variable,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px}.chat-msg img{cursor:pointer;border-radius:6px;max-width:100%;margin-top:4px;display:block}.chat-msg audio{width:100%;margin-top:4px}.chat-foot{border-top:1px solid var(--border);background:var(--card);align-items:center;gap:6px;padding:10px;display:flex}.chat-foot input[type=text]{background:var(--bg2);border:1px solid var(--border);color:var(--text);border-radius:6px;outline:none;flex:1;padding:8px 10px;font-family:inherit;font-size:12.5px}.chat-foot input[type=text]:focus{border-color:var(--accent)}.chat-foot button{background:var(--bg2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:34px;height:34px;font-size:15px;display:flex}.chat-foot button.rec{background:var(--red-dim);border-color:var(--red);color:var(--red)}.chat-foot button.send{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
