:root{--navy:#012049;--blue:#014baa;--cyan:#0fa9c8;--teal:#36f2e0;--sky:#8fe4fd;--gradient:linear-gradient(135deg, #014baa 0%, #0fa9c8 70%, #2fd6d0 100%);--bg:#f4f7fb;--surface:#fff;--surface-2:#eef4fb;--text:#0b1f3a;--muted:#5d6b82;--border:#dbe4ef;--accent:#014baa;--accent-soft:#e6f1fc;--on-accent:#fff;--ok:#11845b;--warn:#b26b00;--bad:#c0362c;--shadow:0 1px 2px #0120490f, 0 8px 24px #0120490f;--radius:14px;color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#06152a;--surface:#0b2040;--surface-2:#0f2a50;--text:#e7eef8;--muted:#93a5c0;--border:#1d3a63;--accent:#3fb6e8;--accent-soft:#10325c;--on-accent:#04162d;--ok:#4cd39a;--warn:#f0b34a;--bad:#f28b82;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000040}}*{box-sizing:border-box}body{background:var(--bg);margin:0}button,input,select{font:inherit}h1,h2,h3{letter-spacing:-.01em;font-family:Outfit,Inter,system-ui,sans-serif}a{color:var(--accent)}.muted{color:var(--muted);font-size:.92em}.small{font-size:.85em}.center{text-align:center}.spacer{flex:1}.row,.quick{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.error{color:var(--bad);margin:0}.ok-text{color:var(--ok);margin:0}button,.button{cursor:pointer;background:var(--gradient);color:#fff;border:none;border-radius:10px;align-items:center;gap:6px;padding:8px 16px;font-weight:500;text-decoration:none;transition:filter .15s,transform 50ms,box-shadow .15s;display:inline-flex;box-shadow:0 1px 2px #01204926}button:hover:not(:disabled),.button:hover{filter:brightness(1.06);box-shadow:0 4px 14px #014baa40}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:default;box-shadow:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.ghost-btn,.button.ghost,.quick button,button.google{background:var(--surface);color:var(--accent);border:1px solid var(--border);box-shadow:none}.ghost-btn:hover:not(:disabled),.button.ghost:hover,.quick button:hover{border-color:var(--cyan);box-shadow:none;filter:none}button.link{box-shadow:none;color:var(--accent);background:0 0;border:none;padding:0;font-size:.92em;font-weight:500}button.link:hover{box-shadow:none;text-decoration:underline}.icon-btn{color:var(--text);border:1px solid var(--border);box-shadow:none;background:0 0;padding:4px 10px}input,select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:9px 12px}input:focus,select:focus{border-color:var(--cyan);outline:none;box-shadow:0 0 0 3px #0fa9c82e}input[type=checkbox]{accent-color:var(--blue);padding:0}input.pct{width:70px;padding:4px 8px}label.muted{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}table{border-collapse:collapse;font-size:.9em}th{text-align:left;color:var(--muted);padding:3px 16px 3px 0;font-weight:500}td{font-variant-numeric:tabular-nums;padding:3px 12px 3px 0}thead th{text-transform:uppercase;letter-spacing:.05em;font-size:.75em}tr.bad th,tr.bad td{color:var(--bad);font-weight:600}details ul{margin:4px 0 10px;padding-left:18px;font-size:.9em}summary{cursor:pointer;font-weight:600}.brand{color:var(--navy);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand img{filter:drop-shadow(0 2px 6px #014baa40);flex:none}.brand-text{flex-direction:column;line-height:1;display:flex}.brand-name{letter-spacing:.06em;color:var(--navy);font-family:Outfit,sans-serif;font-size:1.3rem;font-weight:700}.brand-sub{letter-spacing:.32em;text-transform:uppercase;color:var(--navy);margin-top:3px;font-family:Outfit,sans-serif;font-size:.62rem}.brand-sub b{color:var(--cyan);font-weight:600}@media (prefers-color-scheme:dark){.brand-name,.brand-sub{color:#fff}}.shell{height:100dvh;display:flex}.app{flex-direction:column;flex:1;min-width:0;height:100dvh;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 20px;display:flex;position:relative}.topbar:after{content:"";background:var(--gradient);opacity:.8;height:2px;position:absolute;bottom:-1px;left:0;right:0}.menu-btn{display:none}.chip{border:1px solid var(--border);color:var(--muted);background:var(--surface);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.75rem;display:inline-flex}.chip.org{color:var(--text);font-weight:500}.chip .dot{background:currentColor;border-radius:50%;width:7px;height:7px}.chip.ok{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 40%, transparent)}.chip.warn{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 40%, transparent)}.notice{background:var(--accent-soft);cursor:pointer;border:1px solid var(--border);border-radius:10px;margin:10px 20px 0;padding:10px 14px;font-size:.9em}main{flex-direction:column;flex:1;gap:14px;padding:24px 20px;display:flex;overflow-y:auto}main>*{width:100%;max-width:860px;margin-left:auto;margin-right:auto}.msg{align-items:flex-start;gap:10px;display:flex}.msg.user{justify-content:flex-end}.avatar{background:var(--surface);border:1px solid var(--border);border-radius:50%;flex:none;width:32px;height:32px;padding:2px}.bubble{max-width:min(760px,88%);box-shadow:var(--shadow);border-radius:16px;padding:11px 15px}.bubble p{white-space:pre-wrap;margin:0}.bubble.user{background:var(--gradient);color:#fff;border-bottom-right-radius:4px}.bubble.assistant{background:var(--surface);border:1px solid var(--border);border-top-left-radius:4px}.bubble.assistant:has(.card){width:100%}.typing{gap:5px;padding:14px 16px;display:inline-flex}.typing span{background:var(--cyan);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite blink}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.welcome{text-align:center;flex-direction:column;align-items:center;gap:10px;margin:auto;padding:12px 0 24px;display:flex}.welcome-robot{filter:drop-shadow(0 18px 30px #014baa38);width:min(260px,60vw);height:auto;animation:6s ease-in-out infinite float}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.welcome h2{color:var(--text);margin:6px 0 0;font-size:1.7rem}.welcome p{max-width:520px;margin:0}.suggestions{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;width:100%;margin-top:14px;display:grid}.suggestion{text-align:left;background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px}.suggestion strong{color:var(--accent);font-weight:600}.suggestion span{color:var(--muted);font-size:.86em}.suggestion:hover:not(:disabled){border-color:var(--cyan);transform:translateY(-1px)}@media (prefers-reduced-motion:reduce){.welcome-robot,.typing span{animation:none}}.composer{border-top:1px solid var(--border);background:var(--surface);flex-direction:column;gap:10px;padding:12px 20px 18px;display:flex}.composer>*{width:100%;max-width:860px;margin:0 auto}.quick button{border-radius:999px;padding:5px 12px;font-size:.85em}form{gap:8px;display:flex}.composer form input{background:var(--bg);border-radius:12px;flex:1;min-width:0;padding:12px 16px}.card{background:var(--bg);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:12px;margin-top:10px;padding:16px;display:flex}.card img{border:1px solid var(--border);border-radius:8px;width:100%}.badge{background:var(--gradient);color:#fff;letter-spacing:.02em;border-radius:999px;align-self:flex-start;padding:3px 10px;font-size:.72rem;font-weight:600}.badge.ok{background:var(--ok)}.badge.bad{background:var(--bad)}.step{background:var(--accent-soft);border-left:3px solid var(--cyan);border-radius:0 8px 8px 0;padding:8px 12px;line-height:1.9}.drop{border-style:dashed;align-items:flex-start}.drop.drag{border-color:var(--cyan);background:var(--accent-soft)}.drop p{margin:0}.checklist{margin:0;padding:0;line-height:1.9;list-style:none}.checklist .ok{color:var(--ok)}.checklist .bad{color:var(--bad)}.checklist-box{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px 14px}.warnings{color:var(--bad);margin:0;padding-left:0;font-size:.9em;list-style:none}.steps{flex-direction:column;gap:6px;margin:0;padding:0;font-size:.9em;list-style:none;display:flex}.steps li{align-items:flex-start;gap:8px;display:flex}.steps .icon{text-align:center;flex:none;width:1.3em}.steps .done .icon{color:var(--ok)}.steps .waiting .icon{color:var(--warn)}.steps .error .icon,.steps .error{color:var(--bad)}.steps .skipped{color:var(--muted)}.sidebar{background:var(--navy);color:#dce8f7;flex-direction:column;flex:none;gap:10px;width:280px;height:100dvh;padding:16px 12px;display:flex;overflow-y:auto}.sidebar .muted{color:#9fb4d1}.new-chat{justify-content:center;width:100%}.tabs{background:#ffffff0f;border-radius:10px;gap:4px;padding:3px;display:flex}.tabs button{box-shadow:none;color:#9fb4d1;background:0 0;flex:1;justify-content:center;padding:6px;font-size:.85em}.tabs button.active{color:#fff;background:#ffffff1f}.history{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.history li{border-radius:10px;align-items:center;display:flex}.history li:hover,.history li.active{background:#ffffff14}.history li.active{box-shadow:inset 3px 0 0 var(--cyan)}.history-item{min-width:0;box-shadow:none;color:inherit;background:0 0;flex:1;justify-content:space-between;gap:8px;padding:8px 10px;font-weight:400;display:flex}.history-item:hover{box-shadow:none;filter:none}.history-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.history-when{color:#8aa2c4;flex:none;font-size:.75em}.history-delete{box-shadow:none;color:#8aa2c4;opacity:0;background:0 0;padding:4px 8px}.history li:hover .history-delete{opacity:1}.history-delete:hover{color:#fff;box-shadow:none}.runs li{flex-direction:column;align-items:stretch;gap:2px;padding:8px 10px}.run-head{align-items:center;gap:6px;display:flex}.run-head strong{flex:1;font-size:.9em;font-weight:500}.run-icon{text-align:center;width:1.2em}.run.succeeded .run-icon{color:#4cd39a}.run.failed .run-icon{color:#f28b82}.run-links{flex-wrap:wrap;gap:8px;font-size:.82em;display:flex}.run-links a{color:var(--sky)}.sidebar .error{color:#f28b82}.sidebar-backdrop{display:none}@media (width<=900px){.menu-btn{display:inline-flex}.sidebar{z-index:20;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%);box-shadow:8px 0 24px #0000004d}.sidebar.open{transform:none}.sidebar-backdrop.open{z-index:19;background:#01102473;display:block;position:fixed;inset:0}.topbar{padding:10px 12px}.topbar .chip.org{display:none}main{padding:16px 12px}.composer{padding:10px 12px 14px}.brand-sub{display:none}}.splash{place-items:center;height:100dvh;display:grid}.splash img{animation:2s ease-in-out infinite float}.auth{background:var(--bg);grid-template-columns:1.1fr 1fr;min-height:100dvh;display:grid}.auth-hero{color:#fff;text-align:center;background:radial-gradient(circle at 70% 20%,#36f2e02e,#0000 45%),linear-gradient(160deg,#012049 0%,#01336f 55%,#014baa 100%);flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:40px;display:flex}.auth-hero img{filter:drop-shadow(0 24px 40px #00000059);width:min(380px,80%);height:auto;animation:6s ease-in-out infinite float}.auth-hero .brand-name{color:#fff;font-size:2.6rem}.auth-hero .brand-sub{color:#fff;font-size:.85rem}.auth-hero .tagline{letter-spacing:.3em;color:var(--sky);text-transform:uppercase;margin:0;font-family:Outfit,sans-serif;font-size:.8rem}.auth-main{place-items:center;padding:24px 16px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:400px;box-shadow:var(--shadow);border-radius:18px;flex-direction:column;gap:12px;padding:28px;display:flex}.auth-card h1{color:var(--text);margin:0;font-size:1.5rem}.auth-card p{margin:0}.auth-card form{flex-direction:column;gap:10px;display:flex}.auth-card form button[type=submit]{justify-content:center;padding:10px}.auth-card .brand{display:none}button.google{color:var(--text);justify-content:center;padding:10px}button.google svg{flex:none}.divider{color:var(--muted);align-items:center;gap:8px;font-size:.85em;display:flex}.divider:before,.divider:after{content:"";border-top:1px solid var(--border);flex:1}.auth-links{flex-wrap:wrap;gap:14px;display:flex}.legal-links{text-align:center;margin:4px 0 0}@media (width<=860px){.auth{grid-template-columns:1fr}.auth-hero{display:none}.auth-card .brand{align-self:center;margin-bottom:6px;display:inline-flex}}.panel-backdrop{z-index:30;background:#01102473;justify-content:flex-end;display:flex;position:fixed;inset:0}.panel{background:var(--bg);flex-direction:column;gap:14px;width:min(500px,100%);height:100%;padding:18px;display:flex;overflow-y:auto;box-shadow:-8px 0 24px #0003}.panel-head{justify-content:space-between;align-items:center;display:flex}.panel h2{margin:0}.panel h3{margin:0 0 8px;font-size:1rem}.panel h4{margin:14px 0 6px;font-size:.9rem}.panel section{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px}.panel section p{margin:0 0 8px}.panel .row input{flex:1;min-width:0}table.members{width:100%}table.members td{padding:5px 8px 5px 0}.legal{max-width:780px;margin:0 auto;padding:16px 20px 56px;line-height:1.7}.legal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0 16px;display:flex}.legal-head nav{gap:16px;display:flex}.legal h1{margin:28px 0 4px;font-size:2rem}.legal h2{color:var(--accent);margin:30px 0 8px;font-size:1.15rem}.legal ul{padding-left:20px}.legal li{margin-bottom:6px}.legal code{word-break:break-all;font-size:.85em}.spinner{vertical-align:-2px;opacity:.85;border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}button .spinner{margin-right:6px}@keyframes spin{to{transform:rotate(360deg)}}.loading-line{align-items:center;gap:8px;display:flex}.flash{border-radius:8px;animation:.9s ease-out flash-in}p.flash.error,p.flash.ok-text{margin-top:8px;padding:6px 10px}p.flash.error{background:color-mix(in srgb, var(--bad) 10%, transparent);border:1px solid color-mix(in srgb, var(--bad) 35%, transparent)}p.flash.ok-text{background:color-mix(in srgb, var(--ok) 10%, transparent)}@keyframes flash-in{0%{opacity:0;transform:translateY(-3px);box-shadow:0 0 0 4px #0fa9c873}60%{opacity:1;transform:none}to{box-shadow:0 0 #0fa9c800}}.flash-time{opacity:.7;white-space:nowrap;font-size:.82em}.checked-at{margin:0 0 6px}.invite-note{background:var(--accent-soft);border:1px solid var(--border);border-radius:10px;margin:0;padding:10px 12px;font-size:.92em}@media (prefers-reduced-motion:reduce){.flash,.spinner{animation-duration:10ms}.spinner{opacity:.5;border-right-color:currentColor;animation:none}}.lang-switch{border:1px solid var(--border);background:var(--surface,transparent);border-radius:999px;flex-shrink:0;gap:2px;padding:2px;display:inline-flex}.lang-switch button{box-shadow:none;color:var(--muted,inherit);letter-spacing:.04em;background:0 0;border:none;border-radius:999px;min-height:0;padding:3px 9px;font-size:.75em;font-weight:600}.lang-switch button:hover:not(.active){color:var(--accent);filter:none}.lang-switch button.active{background:var(--accent);color:#fff}.auth-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.auth-card-head .lang-switch{margin-left:auto}.legal-head nav{align-items:center;gap:16px;display:flex}.card .drop{border:1px dashed var(--border);border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:flex}.source-tabs{background:var(--surface-2);max-width:360px}.source-tabs button{color:var(--muted)}.source-tabs button.active{background:var(--surface);color:var(--accent);box-shadow:0 1px 2px #00000014}.drive-picker{flex-direction:column;gap:10px;display:flex}.drive-picker form input{flex:1;min-width:220px}.file-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.file-list li{align-items:center;gap:10px;display:flex}.file-list .file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.file-list button{padding:5px 12px;font-size:.85em}
