:root{color:#e5eefb;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#07111f;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at top,#4475ff38,#0000 30%),linear-gradient(#07111f 0%,#0c1729 100%);min-width:320px;min-height:100vh;margin:0}button,a{font:inherit}button{cursor:pointer;border:none}#root{min-height:100vh}.page-shell{max-width:1180px;margin:0 auto;padding:24px 20px 64px}.topbar{justify-content:space-between;align-items:center;gap:20px;padding:18px 0 30px;display:flex}.brand{letter-spacing:.04em;color:#e5eefb;font-size:1.5rem;font-weight:700;text-decoration:none}.brand-button{letter-spacing:.04em;color:#e5eefb;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;font-weight:700;transition:opacity .2s}.brand-button:hover{opacity:.8}.nav{align-items:center;gap:18px;display:flex}.nav a{color:#cfe1ff;opacity:.8;text-decoration:none}.nav-button,.primary,.secondary{border-radius:999px;padding:.8rem 1.2rem;transition:transform .2s,opacity .2s}.nav-button,.primary{color:#fff;background:linear-gradient(135deg,#6ea8fe,#7c5cff);box-shadow:0 10px 25px #6d80ff59}.secondary{color:#edf4ff;background:#94a3b814;border:1px solid #94a3b833}.danger{color:#ffb4b4;background:#ff6b6b24;border:1px solid #ff6b6b59}.danger:hover{background:#ff6b6b38;transform:translateY(-1px)}.danger:disabled{opacity:.6;cursor:not-allowed;transform:none}.nav-button:hover,.primary:hover,.secondary:hover{transform:translateY(-1px)}.login-button{color:#dbeafe;background:0 0;padding:.7rem .9rem}.login-button:hover{color:#fff}.account-button{color:#e5eefb;text-overflow:ellipsis;white-space:nowrap;background:#94a3b81f;border-radius:999px;max-width:220px;padding:.7rem .9rem;overflow:hidden}.account-button:hover{background:#94a3b833}.hero{grid-template-columns:1.3fr .9fr;align-items:center;gap:28px;padding:48px 0 38px;display:grid}.basic-hero{padding:72px 0 52px;display:block}.hero-copy h1{letter-spacing:-.06em;margin:0;font-size:clamp(2.5rem,5vw,4.6rem);line-height:1.04}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#8bc5ff;margin:0 0 12px;font-size:.72rem;font-weight:700}.subtitle{color:#c7d5ef;max-width:620px;margin-top:20px;font-size:1.08rem}.cta-row{flex-wrap:wrap;gap:14px;margin-top:28px;display:flex}.hero-panel{justify-content:center;display:flex}.panel-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172ab8;border:1px solid #94a3b833;border-radius:24px;width:min(100%,390px);padding:26px;box-shadow:0 20px 40px #020a1459}.chip{color:#9ae6b4;background:#22c55e1f;border:1px solid #22c55e40;border-radius:999px;margin-bottom:18px;padding:.42rem .75rem;font-size:.75rem;font-weight:700;display:inline-block}.panel-card h2{margin:0;font-size:1.5rem}.stat-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px;display:grid}.stat-row div{background:#60a5fa14;border:1px solid #60a5fa2e;border-radius:18px;flex-direction:column;gap:6px;padding:16px;display:flex}.stat-row strong{font-size:1.9rem;line-height:1}.stat-row span{color:#cfe1ff}.features,.about{padding-top:32px}.section-heading{margin-bottom:22px}.section-heading h2{letter-spacing:-.05em;margin:0;font-size:clamp(2rem,4vw,2.7rem)}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.feature-card{background:#0f172ab3;border:1px solid #94a3b82e;border-radius:8px;padding:24px}.feature-label{color:#8bc5ff;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:.78rem;font-weight:700}.feature-card h3{margin:0 0 10px;font-size:1.25rem}.feature-card p,.about p{color:#c4d3ef;margin:0}.about{background:#0f172aa3;border:1px solid #94a3b826;border-radius:24px;margin-top:38px;padding:28px 24px}.narrow{margin-bottom:18px}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.empty-state p{color:#cfe1ff;margin:0;font-size:1.1rem}.empty-state span{color:#a8b8d8;margin:0;font-size:.95rem}.empty-state.error p{color:#ff6b6b}.empty-state.error span{color:#ff8787}.item-list{width:100%;margin:0;padding:0;list-style:none}.item-list li{border-bottom:1px solid #94a3b81a;padding:0;transition:background-color .2s}.item-list li:last-child{border-bottom:none}.item-list li:hover{background-color:#6ea8fe14}.item-button{text-align:left;color:#cfe1ff;cursor:pointer;width:100%;font-size:inherit;background:0 0;border:none;padding:12px 16px;transition:color .2s}.item-button:hover{color:#b8ccf7}.file-item{color:#cfe1ff;align-items:center;gap:12px;width:100%;padding:12px 16px;display:flex}.status-badge{color:#cfe1ff;white-space:nowrap;background:#94a3b829;border-radius:6px;padding:.3rem .7rem;font-size:.8rem;font-weight:600}.status-completed{color:#86efac;background:#22c55e29}.status-running{color:#93c5fd;background:#6ea8fe29}.status-waiting_manual,.status-waiting_review{color:#fde68a;background:#facc1529}.status-failed,.status-rejected{color:#ff8787;background:#ff6b6b29}.task-widget{border:1px solid #facc1559}.task-form{flex-direction:column;gap:16px;padding:16px;display:flex}.task-actions{gap:12px;display:flex}.file-button{width:100%;color:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:flex}.file-button:hover{color:#b8ccf7}.preview-backdrop{z-index:10;background:#020a14b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.file-preview{background:#0c1729;border:1px solid #94a3b83d;border-radius:18px;width:min(760px,100%);max-height:min(720px,90vh);padding:24px;overflow:hidden;box-shadow:0 24px 70px #0006}.preview-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.preview-header h2{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.preview-close{color:#e5eefb;background:#94a3b81f;border-radius:8px;width:36px;height:36px;font-size:1.4rem}.file-preview-content{color:#d9e7ff;white-space:pre-wrap;background:#07111fb3;border:1px solid #94a3b829;border-radius:10px;max-height:calc(90vh - 150px);margin:0;padding:16px;font:.9rem/1.6 Monaco,Menlo,Ubuntu Mono,monospace;overflow:auto}.file-page{flex-direction:column;gap:24px;display:flex}.file-page-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.file-page-header h1{overflow-wrap:anywhere;margin:0;font-size:clamp(2rem,4vw,3rem)}.file-page-content{color:#d9e7ff;white-space:pre-wrap;background:#0f172ab3;border:1px solid #94a3b82e;border-radius:14px;min-height:420px;margin:0;padding:24px;font:.95rem/1.7 Monaco,Menlo,Ubuntu Mono,monospace;overflow:auto}.file-page-pdf{background:#0f172ab3;border:1px solid #94a3b82e;border-radius:14px;width:100%;height:75vh}.file-page-image{object-fit:contain;background:#0f172ab3;border:1px solid #94a3b82e;border-radius:14px;width:min(100%,1024px);max-height:70vh;margin:0 auto;display:block}.file-type-icon{color:#a8c9ff;background:#6ea8fe1f;border:1px solid #6ea8fe59;border-radius:8px;flex-shrink:0;place-items:center;width:38px;height:38px;font-size:.68rem;font-weight:800;display:inline-grid}.file-type-pdf{color:#faa;background:#ff6b6b1f;border-color:#ff6b6b59}.api-url{color:#a8b8d8;cursor:help;background:#94a3b814;border-radius:6px;padding:.4rem .8rem;font-size:.85rem}.language-selector{color:#cfe1ff;align-items:center;gap:8px;font-size:.85rem;display:flex}.language-selector select{color:#e5eefb;font:inherit;background:#0f172acc;border:1px solid #94a3b83d;border-radius:6px;padding:.4rem .6rem}.home-main{padding-top:20px}.home-container{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;display:grid}.home-section:has(.files-widget){grid-column:1/-1}.home-section{flex-direction:column;gap:14px;display:flex}.profile-main{place-items:start center;padding-top:44px;display:grid}.profile-panel{background:#0f172ab8;border:1px solid #94a3b82e;border-radius:8px;width:min(100%,620px);padding:28px}.profile-panel h1{margin:0 0 24px;font-size:clamp(2rem,4vw,3rem)}.profile-details{gap:14px;margin:0 0 28px;display:grid}.profile-details div{border-bottom:1px solid #94a3b81f;grid-template-columns:140px minmax(0,1fr);gap:16px;padding:14px 0;display:grid}.profile-details dt{color:#9fb4d8;font-weight:700}.profile-details dd{color:#edf4ff;overflow-wrap:anywhere;margin:0}.token-usage{gap:12px;display:grid}.token-usage-header{color:#cfe1ff;justify-content:space-between;align-items:center;gap:16px;display:flex}.token-usage-header strong{color:#fff;font-size:1.35rem}.token-meter{background:#94a3b829;border-radius:999px;height:12px;overflow:hidden}.token-meter span{border-radius:inherit;background:linear-gradient(135deg,#6ea8fe,#7c5cff);height:100%;display:block}.profile-form{border-top:1px solid #94a3b81f;gap:14px;margin-top:28px;padding-top:24px;display:grid}.profile-form h2{margin:0;font-size:1.2rem}.profile-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.auth-success{color:#86efac;margin:0;font-size:.92rem}.section-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-header h2{letter-spacing:-.02em;margin:0;font-size:1.5rem}.primary-small{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#6ea8fe,#7c5cff);border-radius:999px;padding:.6rem 1rem;font-size:.9rem;transition:transform .2s,opacity .2s;box-shadow:0 10px 25px #6d80ff59}.primary-small:hover{transform:translateY(-1px)}.widget{background:#0f172ab3;border:1px solid #94a3b82e;border-radius:22px;justify-content:center;align-items:center;min-height:300px;padding:24px;display:flex}.widget:has(.pagination){display:block}.pagination{justify-content:flex-end;align-items:center;gap:12px;margin-top:16px;display:flex}.pagination-button{color:#e5eefb;background:#94a3b814;border:1px solid #94a3b83d;border-radius:6px;padding:.45rem .75rem}.pagination-button:hover:not(:disabled){background:#6ea8fe29}.pagination-button:disabled{cursor:not-allowed;opacity:.45}.pagination-status{color:#a8b8d8;text-align:center;min-width:5.5rem;font-size:.9rem}.workflow-editor-main{padding-top:20px}.editor-container{flex-direction:column;gap:20px;display:flex}.editor-header{align-items:center;gap:12px;display:flex}.editor-action{white-space:nowrap;flex-shrink:0}.file-form .editor-header>div{flex:1}.file-form .editor-action{align-self:flex-end;margin-left:20px}.editor-mode-badge{color:#c4b5fd;white-space:nowrap;background:#7c5cff29;border-radius:6px;padding:.4rem .8rem;font-size:.85rem;font-weight:600}.workflow-title-input{color:#e5eefb;background:#0f172ab3;border:1px solid #94a3b82e;border-radius:12px;outline:none;flex:1;padding:12px 16px;font-size:1.5rem;font-weight:600;transition:border-color .2s}.workflow-title-input:focus{border-color:#6ea8fe80}.workflow-title-input::placeholder{color:#7a8fa8}.file-form{flex-direction:column;gap:28px;display:flex}.form-title{margin:0;font-size:clamp(2rem,4vw,3rem);line-height:1.1}.file-form-fields{background:#0f172ab3;border:1px solid #94a3b82e;border-radius:22px;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:24px;display:grid}.form-field{color:#cfe1ff;flex-direction:column;gap:8px;font-weight:600;display:flex}.form-field-wide{grid-column:1/-1}.form-field input,.form-field select,.form-field textarea{color:#e5eefb;width:100%;font:inherit;background:#07111fb3;border:1px solid #94a3b838;border-radius:10px;outline:none;padding:12px 14px;transition:border-color .2s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#6ea8feb3}.form-field textarea{resize:vertical;min-height:180px}.form-field input::placeholder,.form-field textarea::placeholder{color:#7a8fa8}.error-banner,.success-banner{border-left:4px solid;border-radius:12px;padding:12px 16px}.error-banner{background:#ff6b6b1a;border-left-color:#ff6b6b}.error-banner p{color:#ff8787;margin:0}.success-banner{background:#22c55e1a;border-left-color:#22c55e}.success-banner p{color:#86efac;margin:0}.confirm-banner{justify-content:space-between;align-items:center;gap:16px;display:flex}.confirm-banner p{color:#ffb4b4}.confirm-banner-actions{flex-shrink:0;gap:10px;display:flex}.overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#080c14b8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.overlay-content{flex-direction:column;align-items:center;gap:18px;padding:32px;display:flex}.spinner{border:4px solid #6ea8fe33;border-top-color:#6ea8fe;border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}.overlay-text{color:#e2e8f0;margin:0;font-size:15px}.auth-backdrop{z-index:110;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020a14c7;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.auth-panel{background:#0c1729;border:1px solid #94a3b83d;border-radius:8px;width:min(100%,440px);padding:28px;box-shadow:0 28px 72px #00000073}.auth-panel-header{justify-content:space-between;gap:18px;display:flex}.auth-panel-header h1{margin:0;font-size:1.8rem}.icon-button{color:#e5eefb;background:#94a3b81f;border-radius:6px;width:36px;height:36px;padding:0;font-size:1.3rem;line-height:1}.auth-mode-switch{background:#94a3b81a;border-radius:8px;grid-template-columns:repeat(2,1fr);gap:4px;margin:28px 0 22px;padding:4px;display:grid}.auth-mode-switch button{color:#a8b8d8;background:0 0;border-radius:5px;padding:.65rem}.auth-mode-switch button.active{color:#fff;background:#315a9e}.auth-form{flex-direction:column;gap:18px;display:flex}.auth-error{color:#ffb4b4;background:#ff6b6b1a;border-left:3px solid #ff6b6b;margin:0;padding:10px 12px}.auth-submit{width:100%;margin-top:4px}.auth-submit:disabled{cursor:wait;opacity:.7}@keyframes spin{to{transform:rotate(360deg)}}.editor-content{grid-template-columns:1fr 350px;gap:20px;min-height:500px;display:grid}.editor-main{background:#0f172ab3;border:1px solid #94a3b82e;border-radius:12px;justify-content:center;align-items:center;min-height:500px;display:flex}.editor-placeholder{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.editor-placeholder p{color:#cfe1ff;margin:0;font-size:1.1rem}.editor-placeholder span{color:#a8b8d8;margin:0;font-size:.95rem}.editor-sidebar{background:#0f172ab3;border:1px solid #94a3b82e;border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.stage-inspector-empty{text-align:center;padding:24px 16px}.stage-inspector-empty p{color:#a8b8d8;margin:0;font-size:.9rem}.editor-main--graph{flex-direction:column;justify-content:flex-start;align-items:stretch;padding:16px;overflow:hidden}.workflow-toolbar{flex-shrink:0;align-items:center;gap:12px;margin-bottom:12px;display:flex}.workflow-toolbar-hint{color:#a8b8d8;font-size:.9rem}.workflow-canvas-wrapper{background:#07111f8c;border:1px solid #94a3b824;border-radius:10px;flex:1;overflow:auto}.workflow-canvas{min-width:100%;min-height:100%;position:relative}.workflow-edges{pointer-events:none;color:#6ea8fe;position:absolute;top:0;left:0}.workflow-edge path{stroke:#6ea8fe;stroke-width:2px;pointer-events:stroke;cursor:pointer}.workflow-edge--approved path{stroke:#22c55e}.workflow-edge--rejected path{stroke:#ff6b6b}.workflow-edge--selected path{stroke:#f0b429;stroke-width:3px}.workflow-edge--pending{color:#f0b429}.workflow-edge--pending path{stroke:#f0b429;stroke-dasharray:6 4}.workflow-edge-label{fill:#a8b8d8;text-transform:uppercase;pointer-events:none;font-size:11px;font-weight:600}.workflow-edge-delete{pointer-events:all;cursor:pointer}.workflow-edge-delete circle{fill:#1c2b45;stroke:#f0b429;stroke-width:1.5px}.workflow-edge-delete text{fill:#f0b429;font-size:12px;font-weight:700}.workflow-node{cursor:default;-webkit-user-select:none;user-select:none;background:#0f172aeb;border:1.5px solid #94a3b84d;border-radius:10px;flex-direction:column;justify-content:center;gap:4px;padding:12px 14px;display:flex;position:absolute;overflow:visible;box-shadow:0 8px 20px #020a1459}.workflow-node--start,.workflow-node--end{background:#60a5fa24;border-color:#60a5fa66;border-radius:999px;justify-content:center;align-items:center}.workflow-node--upload{border-color:#2dd4bf66}.workflow-node--generate{border-color:#7c5cff66}.workflow-node--review{border-color:#f0b42966}.workflow-node--generate,.workflow-node--upload,.workflow-node--review,.workflow-node--start,.workflow-node--end{cursor:grab}.workflow-node--dragging{cursor:grabbing;z-index:5;box-shadow:0 14px 30px #020a1480}.workflow-node--selected{border-color:#6ea8fe;box-shadow:0 0 0 2px #6ea8fe66}.workflow-node--current{border-color:#6ea8fe;animation:1.6s ease-in-out infinite workflow-pulse;box-shadow:0 0 0 3px #6ea8fe59}.workflow-node--completed{background:#22c55e1a;border-color:#22c55e}.workflow-node--failed{background:#ff6b6b1a;border-color:#ff6b6b}.workflow-node--skipped{opacity:.5}@keyframes workflow-pulse{0%,to{box-shadow:0 0 0 3px #6ea8fe59}50%{box-shadow:0 0 0 6px #6ea8fe2e}}.workflow-node-kind{text-transform:uppercase;letter-spacing:.08em;color:#8bc5ff;font-size:.65rem;font-weight:700}.workflow-node-name{color:#e5eefb;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:600;overflow:hidden}.workflow-node-meta{color:#a8b8d8;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.workflow-handle{cursor:crosshair;background:#6ea8fe;border:2px solid #0c1729;border-radius:50%;width:12px;height:12px;position:absolute;left:50%;transform:translate(-50%)}.workflow-handle--input{top:-7px}.workflow-handle--output{bottom:-7px}.workflow-handle--approved{background:#22c55e;left:33%}.workflow-handle--rejected{background:#ff6b6b;left:67%}.stage-inspector{border-bottom:1px solid #94a3b82e;flex-direction:column;gap:14px;padding:16px;display:flex}.stage-inspector-header{justify-content:space-between;align-items:center;display:flex}.stage-inspector-header h3{margin:0;font-size:1rem}.stage-inspector-header-actions{align-items:center;gap:4px;display:flex}.stage-inspector .form-field{gap:6px;font-size:.85rem}.stage-inspector .form-field input,.stage-inspector .form-field select,.stage-inspector .form-field textarea{padding:8px 10px;font-size:.9rem}.stage-inspector .form-field textarea{min-height:90px}.form-field-checkbox{align-items:center;flex-direction:row!important;gap:8px!important}.form-field-checkbox input{width:auto}.stage-file-list{flex-direction:column;gap:10px;display:flex}.stage-file-list-header{justify-content:space-between;align-items:center;font-size:.85rem;font-weight:600;display:flex}.stage-file-hint{color:#94a3b8e6;margin:0;font-size:.78rem}.stage-file-item{border:1px solid #94a3b82e;border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.stage-file-item-row{align-items:center;gap:8px;display:flex}.stage-file-name{flex:1}.stage-file-required{font-size:.8rem}.stage-file-references{min-height:80px}button.secondary.small{padding:4px 10px;font-size:.78rem}@media (width<=820px){.hero,.feature-grid{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start}.nav{flex-wrap:wrap}.home-container{grid-template-columns:1fr}.home-section:has(.files-widget){grid-column:auto}.section-header{flex-wrap:wrap}.editor-content,.file-form-fields,.profile-details div,.profile-form-grid{grid-template-columns:1fr}.editor-main{min-height:300px}.workflow-title-input{font-size:1.25rem}}.app-footer{text-align:center;border-top:1px solid #ffffff14;max-width:1180px;margin:40px auto 0;padding:20px 0 0}.app-footer a{color:#a8b8d8;font-size:.85rem;text-decoration:none}.app-footer a:hover{color:#cddcff;text-decoration:underline}.terms-main{max-width:720px;margin:0 auto;padding-bottom:40px}.terms-main h1{margin-bottom:4px}.terms-updated{color:#a8b8d8;margin-top:0;font-size:.85rem}.terms-main h2{color:#cddcff;margin-top:28px;margin-bottom:6px;font-size:1.05rem}
