@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap";.create-project-modal>header{background:radial-gradient(circle at 82% -80%,#fff3,#0000 38%),linear-gradient(125deg,#164f35 0%,#236747 55%,#317657 100%)!important;border-bottom:0!important;min-height:0!important;margin:-28px -22px 18px -28px!important;padding:20px 24px 19px 28px!important;top:0!important;box-shadow:0 8px 22px #12452c33,inset 0 1px #ffffff26!important}.create-project-modal>header h2{letter-spacing:-.02em;text-shadow:0 1px 2px #0000001f;color:#fff!important;margin:0!important;font-size:24px!important;line-height:1.2!important}.create-project-modal>header p{line-height:1.45;color:#ffffffb8!important;margin:5px 0 0!important;font-size:12px!important}.create-project-modal>header .icon{color:#fff!important;background:#ffffff1c!important;border:1px solid #ffffff2e!important;border-radius:50%!important;width:36px!important;height:36px!important;padding:0!important;box-shadow:inset 0 1px #ffffff1f!important}.create-project-modal>header .icon:hover{background:#fff3!important}.create-project-modal>header{margin-bottom:10px!important;position:relative!important;top:auto!important}.create-project-modal label em{float:right;color:#aa443c;text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-style:normal}.create-project-modal label small{color:#748078;margin-top:6px;font-size:10px;font-weight:500;line-height:1.4;display:block}.create-project-modal label small code{color:#2a6948;background:#e8f1ea;border-radius:4px;padding:2px 4px}.create-project-modal .field-invalid input{background:#fff7f6;border-color:#d85c52;box-shadow:0 0 0 3px #d85c521a}.create-project-modal input:invalid:not(:placeholder-shown){background:#fff8f7;border-color:#d85c52}.create-project-modal input:valid{border-color:#a9c4b0}:root{color:#18201c;font-synthesis:none;background:#f4f6f2;font-family:Manrope,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer;border:0}.topbar{background:#fff;border-bottom:1px solid #e2e7df;align-items:center;gap:56px;height:68px;padding:0 5vw;display:flex}.brand{align-items:center;gap:11px;display:flex}.brand>span,.brand-mark{color:#fff;background:#236345;border-radius:10px;place-items:center;font-weight:700;display:grid}.brand>span{width:36px;height:36px}.brand-mark{width:50px;height:50px;margin:auto}.topbar nav{flex:1;align-items:center;gap:32px;height:100%;display:flex}.topbar nav button{color:#66706a;background:0 0;border-radius:0;align-items:center;height:100%;padding:0;font-size:14px;display:flex}.topbar nav .active{color:#236345;border-bottom:2px solid #236345;font-weight:600}.avatar{color:#236345;background:#e2eee7;border-radius:50%;width:36px;height:36px}.page{max-width:1320px;margin:auto;padding:58px 32px}.hero{justify-content:space-between;align-items:end;display:flex}.hero h1{margin:8px 0;font-size:42px}.hero p{color:#66706a;margin:0}.eyebrow{color:#367557;letter-spacing:.16em;font-size:12px;font-weight:700}button,.primary{color:#fff;background:#236345;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-weight:600;display:inline-flex}.toolbar{justify-content:space-between;align-items:center;margin:44px 0 22px;display:flex}.toolbar>span{color:#7d8781;font-size:13px}.search{color:#89938d;background:#fff;border:1px solid #dfe5dc;border-radius:9px;align-items:center;width:320px;padding:0 13px;display:flex}.search input{background:0 0;border:0;outline:0;width:100%;padding:11px}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.card{background:#fff;border:1px solid #e0e5dd;border-radius:14px;overflow:hidden;box-shadow:0 5px 18px #233d2b0a}.cover{background:#dfe8e0;height:180px;position:relative}.cover img{object-fit:cover;width:100%;height:100%}.placeholder{text-align:center;color:#557163;place-content:center;height:100%;display:grid}.placeholder svg{width:33px;height:33px;margin:auto}.placeholder span{font-size:22px;font-weight:700}.badge{background:#fff;border-radius:20px;padding:7px 10px;font-size:11px;font-weight:700;position:absolute;top:14px;right:14px}.badge.published{color:#147644}.card-body{padding:21px}.card h3{margin:0 0 7px;font-size:19px}.card p{color:#717b75;min-height:44px;margin:0;font-size:13px;line-height:1.6}.card dl{border-top:1px solid #edf0eb;border-bottom:1px solid #edf0eb;margin:18px 0;padding:13px 0}.card dl div{justify-content:space-between;gap:10px;margin:7px 0;font-size:12px;display:flex}.card dt{color:#8b948e}.card dd{text-align:right;margin:0;font-weight:600}.actions{gap:8px;display:flex}.actions .primary{flex:1}.actions a{color:#3b4b42;border:1px solid #dce3db;border-radius:9px;place-items:center;width:42px;display:grid}.backdrop{background:#10171399;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:min(680px,100%);padding:28px;box-shadow:0 24px 70px #0003}.modal header{justify-content:space-between;display:flex}.modal h2{margin:0}.modal header p{color:#747e78;margin:6px 0 24px}.icon{color:#526059;background:0 0;padding:4px}.modal label{color:#536059;margin:14px 0;font-size:12px;font-weight:700;display:block}.modal input,.modal textarea,.modal select{border:1px solid #dce2da;border-radius:8px;outline-color:#236345;width:100%;margin-top:6px;padding:11px;display:block}.grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.upload{border:1px dashed #adc0b1;border-radius:10px;align-items:center;padding:15px;color:#286348!important;gap:10px!important;display:flex!important}.modal footer{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.secondary{color:#34443a;background:#edf1ec}.error{color:#a7332d;background:#fff0ef;border-radius:8px;padding:10px;font-size:13px}.panel{margin-bottom:20px}.empty{text-align:center;background:#fff;border:1px dashed #cbd5cb;border-radius:14px;grid-column:1/-1;padding:70px}.empty>svg{color:#4b785f;width:42px;height:42px}.login{background:radial-gradient(circle at 50% 10%,#dceadf,#f5f6f2 55%);place-items:center;min-height:100vh;display:grid}.login form{text-align:center;background:#fff;border-radius:16px;width:370px;padding:36px;box-shadow:0 18px 60px #23382a1a}.login h1{margin:15px 0 5px}.login p,.login small{color:#7a847e}.login label{text-align:left;margin:18px 0;font-size:12px;font-weight:700;display:block}.login input{border:1px solid #dce2db;border-radius:8px;width:100%;margin-top:6px;padding:12px;display:block}.login button{width:100%;margin-bottom:14px}@media (width<=900px){.cards{grid-template-columns:repeat(2,1fr)}.topbar nav{display:none}}@media (width<=620px){.cards{grid-template-columns:1fr}.page{padding:35px 18px}.hero{align-items:start;gap:20px}.hero h1{font-size:34px}.hero>button{padding:12px;font-size:0}.toolbar{gap:10px}.search{width:100%}.grid{grid-template-columns:1fr}}.actions a{justify-content:center;align-items:center;gap:5px;width:auto;text-decoration:none;display:flex}.actions .icon-link{width:42px}.actions .repo-link{padding:8px 10px;font-size:11px;font-weight:700}.actions button:disabled{cursor:not-allowed;background:#8da297}.source-paths{gap:6px;margin:-6px 0 14px;display:grid}.source-paths div{align-items:center;gap:7px;min-width:0;display:flex}.source-paths strong{color:#307052;background:#e9f1eb;border-radius:4px;padding:3px 5px;font-size:10px}.source-paths code{text-overflow:ellipsis;white-space:nowrap;color:#748079;font-size:10px;overflow:hidden}.source-paths .path-button{color:#2e684a;background:0 0;border:1px dashed #b7c8ba;width:100%;padding:7px 9px;font-size:11px}.pipeline-actions{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;display:grid}.pipeline-actions button{color:#245d40;background:#e7efe9;padding:9px 8px;font-size:11px}.pipeline-actions button:disabled{opacity:.6}.pipeline-message{color:#51645a;overflow-wrap:anywhere;background:#f1f5f1;border-radius:6px;margin-bottom:8px;padding:7px 9px;font-size:11px}.paths-modal small{color:#7a847e;margin:8px 0 14px;display:block}.pipeline-hint{color:#7b857f;margin-top:auto;margin-bottom:6px;font-size:10px}.pipeline-hint code,.publications-hero code{color:#38634b;background:#e8eee9;border-radius:4px;padding:2px 4px}.edit-modal{max-height:92vh}.edit-scroll{max-height:65vh;padding-right:6px;overflow:auto}.page{max-width:1480px;padding:34px 40px 60px}.hero{align-items:center;padding:12px 0 6px}.hero h1{letter-spacing:-.035em;margin:5px 0;font-size:36px}.hero p{font-size:14px}.toolbar{margin:24px 0 18px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.card{border-radius:16px;grid-template-columns:170px minmax(0,1fr);min-height:310px;display:grid}.cover{background:linear-gradient(145deg,#e1eae3,#d2dfd6);border-right:1px solid #e1e7e1;height:auto;min-height:100%}.placeholder span{font-size:18px}.placeholder svg{width:29px;height:29px}.badge{padding:6px 9px;top:15px;left:14px;right:auto}.card-body{flex-direction:column;padding:20px;display:flex}.card h3{font-size:20px}.card p{min-height:auto;margin-bottom:13px}.card dl{grid-template-columns:1fr 1.25fr;gap:8px 16px;margin:0 0 12px;padding:11px 0;display:grid}.card dl div{margin:0;display:block}.card dt{margin-bottom:4px}.card dd{text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.source-paths{gap:4px;margin:0 0 10px}.source-paths .path-button{text-align:left;border-style:solid;margin-top:3px}.pipeline-actions{margin-top:auto;margin-bottom:8px}.actions{flex-wrap:nowrap}.actions .repo-link{flex:1}.actions .icon-link{flex:0 0 42px}@media (width<=1050px){.cards{grid-template-columns:1fr}}@media (width<=700px){.page{padding:28px 18px}.card{grid-template-columns:1fr}.cover{border-bottom:1px solid #e1e7e1;border-right:0;min-height:120px}.hero{align-items:flex-end}.card dl{grid-template-columns:1fr}.actions{flex-wrap:wrap}}.publications-hero{margin-bottom:28px}.publications-hero button:disabled{opacity:.65}.publications-error{margin-top:20px}.publication-list{gap:10px;display:grid}.publication{background:#fff;border:1px solid #e0e5dd;border-radius:12px;grid-template-columns:5px minmax(260px,1fr) 190px 90px;align-items:center;gap:18px;padding:15px 18px;display:grid}.pipeline-state{background:#87918b;border-radius:5px;height:34px}.pipeline-state.success{background:#27a467}.pipeline-state.failed{background:#d64d45}.pipeline-state.running,.pipeline-state.pending{background:#d49b26}.publication-main>div{align-items:center;gap:8px;display:flex}.publication-main small{color:#7b857f;margin-top:5px;display:block}.component,.status{text-transform:uppercase;border-radius:20px;padding:4px 8px;font-size:10px;font-weight:700}.component{color:#42604f;background:#e9efea}.status{color:#606a64;background:#eef0ee}.status-success{color:#16804c;background:#e5f5ec}.status-failed{color:#ae332d;background:#fde9e7}.status-running,.status-pending{color:#946613;background:#fff3d8}.publication time{color:#68736d;font-size:12px}.publication>a{color:#246343;justify-content:flex-end;align-items:center;gap:5px;font-size:12px;font-weight:700;text-decoration:none;display:flex}.templates-empty{margin-top:40px}@media (width<=700px){.publication{grid-template-columns:5px 1fr auto}.publication time{grid-column:2}.publication>a{grid-area:1/3/3}}.publication-groups{gap:20px;display:grid}.project-publications{background:#fff;border:1px solid #dfe5dd;border-radius:16px;padding:22px}.project-publications>header{border-bottom:1px solid #e8ece7;justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:16px;display:flex}.project-publications h2{margin:3px 0 0;font-size:22px}.project-publications>header>span{color:#79837d;font-size:12px}.component-columns{grid-template-columns:1fr 1fr;gap:22px;display:grid}.component-columns>section>h3{text-transform:uppercase;color:#42604f;align-items:center;gap:7px;margin:0 0 11px;font-size:13px;display:flex}.component-columns .publication{grid-template-columns:4px minmax(120px,1fr) 132px 22px;gap:10px;padding:11px 12px}.component-columns .pipeline-state{height:30px}.component-columns .publication time{font-size:10px}.no-pipelines{text-align:center;color:#89928d;border:1px dashed #d7dfd7;border-radius:10px;padding:22px;font-size:12px}@media (width<=900px){.component-columns{grid-template-columns:1fr}}@media (width<=600px){.component-columns .publication{grid-template-columns:4px 1fr 24px}.component-columns .publication time{grid-column:2}.component-columns .publication>a{grid-area:1/3/3}.project-publications{padding:16px}}.publication-main strong{font-size:11px}.publication-main .last-job{color:#286348;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;width:max-content;max-width:100%;margin-top:7px;font-size:10px;font-weight:700;text-decoration:none;display:flex;overflow:hidden}.project-publications{padding:0;overflow:hidden}.project-publications>header{border:0;margin:0;padding:0;display:flex}.project-toggle{text-align:left;color:#18201c;background:#fff;border-radius:0;flex:1;grid-template-columns:36px minmax(160px,1fr) auto auto;align-items:center;gap:14px;min-width:0;padding:17px 20px;display:grid}.project-toggle:hover{background:#f8faf7}.project-toggle>span:nth-child(2){gap:3px;display:grid}.project-toggle strong{font-size:17px}.project-chevron{color:#306b4c;background:#edf3ee;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.project-chevron svg{transition:transform .2s}.project-publications.expanded .project-chevron svg{transform:rotate(180deg)}.project-counters{color:#77827b;white-space:nowrap;font-size:11px}.project-counters b{color:#285f43;margin-left:8px}.project-publications>header>a{color:#286348;white-space:nowrap;border-left:1px solid #e8ece7;align-items:center;gap:6px;padding:0 20px;font-size:11px;font-weight:700;text-decoration:none;display:flex}.project-publications .component-columns{border-top:1px solid #e8ece7;padding:20px}.project-publications.expanded{box-shadow:0 8px 24px #233d2b0a}@media (width<=750px){.project-toggle{grid-template-columns:32px 1fr auto}.project-counters{display:none}.project-publications>header>a{padding:0 14px;font-size:0}.project-publications>header>a svg{width:18px;height:18px}}.templates-error{margin-top:25px}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px;display:grid}.template-card{background:#fff;border:1px solid #dfe5dd;border-radius:16px;padding:22px;box-shadow:0 5px 18px #233d2b0a}.template-card>header{align-items:center;gap:14px;display:flex}.template-icon{color:#276446;background:#e6f0e8;border-radius:12px;place-items:center;width:48px;height:48px;display:grid}.template-card h2{margin:3px 0;font-size:19px}.template-card header code{color:#7c8780;font-size:10px}.template-card>p{color:#6c7770;min-height:42px;font-size:13px;line-height:1.6}.template-stack{grid-template-columns:1fr 1fr;gap:10px;margin:18px 0;display:grid}.template-stack>div{background:#f5f7f4;border:1px solid #e7ebe5;border-radius:10px;gap:4px;padding:13px;display:grid}.template-stack span{color:#377154;text-transform:uppercase;letter-spacing:.1em;font-size:9px;font-weight:700}.template-stack strong{font-size:13px}.template-stack small{color:#78827c;font-size:10px}.template-card>footer{border-top:1px solid #e9ede8;gap:8px;padding-top:14px;display:flex}.template-card>footer a{color:#286348;border:1px solid #dce4dc;border-radius:8px;align-items:center;gap:6px;padding:8px 10px;font-size:11px;font-weight:700;text-decoration:none;display:flex}@media (width<=800px){.template-grid{grid-template-columns:1fr}}@media (width<=520px){.template-stack{grid-template-columns:1fr}}.template-sources{gap:6px;margin:0 0 16px;display:grid}.template-sources>div{align-items:center;gap:7px;min-width:0;display:flex}.template-sources b{color:#fff;background:#397355;border-radius:4px;padding:3px 5px;font-size:9px}.template-sources code{color:#68746d;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.template-modal .edit-scroll{max-height:58vh;padding-right:12px}.template-modal .edit-scroll::-webkit-scrollbar{width:7px}.template-modal .edit-scroll::-webkit-scrollbar-thumb{background:#b8c6bb;border-radius:10px}.template-modal:after{content:"Прокрутите форму, чтобы увидеть все параметры";text-align:right;color:#89938d;margin-top:7px;font-size:10px;display:block}.generation-summary{color:#526159;background:#f0f5f1;border:1px solid #d9e4da;border-radius:10px;gap:5px;margin:14px 0;padding:12px;font-size:11px;display:grid}.generation-summary strong{color:#245e40}.generation-summary code{overflow-wrap:anywhere}.stack-features{color:#587065;border-top:1px solid #e6ebe5;grid-template-columns:1fr 1fr;gap:8px;padding-top:15px;font-size:11px;display:grid}.topbar{z-index:10;background:linear-gradient(#fff 0%,#fbfcfa 100%);border-bottom-color:#d9e1d9;position:relative;box-shadow:0 2px 8px #1c37260f,0 10px 30px #233d2b09}.brand>span{background:linear-gradient(145deg,#2d7653,#185638);box-shadow:inset 0 1px #fff3,0 5px 12px #18563833}.topbar nav .active{border-bottom:0;position:relative}.topbar nav .active:after{content:"";background:linear-gradient(90deg,#1d6140,#4d8d69);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #2363452e}.avatar{border:1px solid #d4e4d9;box-shadow:0 3px 9px #1e4e331a,inset 0 1px #fff}.card{isolation:isolate;border-color:#d8e0d8;transition:transform .22s,box-shadow .22s,border-color .22s;position:relative;box-shadow:0 2px 3px #213a290a,0 12px 26px #213a2917,0 28px 55px #213a290e}.card:before{content:"";z-index:2;pointer-events:none;border-radius:inherit;position:absolute;inset:0;box-shadow:inset 0 1px #ffffffe6}.card:hover{border-color:#c8d5ca;transform:translateY(-4px);box-shadow:0 3px 5px #213a290d,0 18px 35px #213a291f,0 36px 70px #213a2912}.cover{background:radial-gradient(circle at 35% 22%,#ffffffd9,#0000 34%),linear-gradient(145deg,#e8f0e9 0%,#cbdccf 52%,#bcd0c1 100%);overflow:hidden}.cover:after{content:"";filter:blur(2px);background:#fff3;border-radius:50%;height:46%;position:absolute;inset:auto -35% -22% 12%;transform:rotate(-8deg)}.placeholder{z-index:1;text-shadow:0 1px #ffffffbf;position:relative}.placeholder svg{filter:drop-shadow(0 4px 5px #234b332b)}.badge{z-index:3;border:1px solid #ffffffe6;box-shadow:0 5px 14px #20432c1f,inset 0 1px #fff}.card-body{background:linear-gradient(150deg,#fff 0% 72%,#fafcf9 100%);position:relative}.hero>button{background:linear-gradient(145deg,#28714d,#195c3c);transition:transform .18s,box-shadow .18s;box-shadow:0 7px 16px #1d604033,inset 0 1px #fff3}.hero>button:hover{transform:translateY(-2px);box-shadow:0 10px 22px #1d604040,inset 0 1px #fff3}.pipeline-actions button{border:1px solid #d9e5dc;box-shadow:inset 0 1px #fffc,0 3px 7px #2655380f}.actions a,.source-paths .path-button{background:linear-gradient(#fff,#fafcfa);box-shadow:0 2px 5px #21442c0b,inset 0 1px #fff}.page>.hero{background:radial-gradient(circle at 76% -20%,#fffffff2,#0000 31%),linear-gradient(130deg,#e8f1e9 0%,#f6f9f5 48%,#e2ede5 100%);border:1px solid #cbdacf;border-radius:18px;padding:30px 32px;position:relative;overflow:hidden;box-shadow:inset 0 1px #fffffff2,0 3px 5px #1e3f290b,0 15px 34px #1e3f2917}.page>.hero:before{content:"";pointer-events:none;border:1px solid #3775531f;border-radius:50%;width:340px;height:250px;position:absolute;bottom:-125px;right:-80px;box-shadow:0 0 0 34px #37755309,0 0 0 72px #37755306}.page>.hero>div,.page>.hero>button{z-index:1;position:relative}.page>.hero h1{color:#17241c;text-shadow:0 1px #fff}.page>.hero p{color:#5d6d63}.page>.hero .eyebrow{color:#28714d}.page>.hero+.toolbar{margin-top:26px}@media (width<=620px){.page>.hero{border-radius:15px;padding:24px 22px}.page>.hero:before{opacity:.6}}.backdrop{z-index:1000;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#111d1694}.project-form{border:1px solid #ffffffbf;padding:0;overflow:hidden;box-shadow:0 35px 100px #07140c61,0 8px 24px #07140c2e}.project-form>header{z-index:2;background:radial-gradient(circle at 82% -20%,#ffffffbf,#0000 36%),linear-gradient(135deg,#e5f0e7,#f7faf6);border-bottom:1px solid #d7e2d8;flex:none;padding:24px 28px 20px;position:relative;box-shadow:inset 0 1px #fff}.project-form>header h2{margin-top:5px;font-size:25px}.project-form>header p{margin-bottom:0}.modal-eyebrow{letter-spacing:.15em;color:#367557;font-size:10px;font-weight:700}.project-form .edit-scroll{background:#f4f7f3;max-height:62vh;padding:18px 24px}.form-section{background:#fff;border:1px solid #dfe6de;border-radius:13px;margin-bottom:13px;padding:12px 17px 15px;box-shadow:0 5px 14px #1f3e290e,inset 0 1px #fff}.form-section h3{letter-spacing:.1em;text-transform:uppercase;color:#367154;border-bottom:1px solid #edf0eb;margin:2px 0 8px;padding-bottom:8px;font-size:11px}.project-form>footer{background:#fff;border-top:1px solid #e0e6df;margin:0;padding:16px 24px;box-shadow:0 -8px 20px #203a290b}.folder-input{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.folder-input input{min-width:0}.folder-input button{white-space:nowrap;background:linear-gradient(145deg,#397b58,#236345);margin-top:6px;padding:11px 13px;box-shadow:0 4px 10px #2363452b}@media (width<=620px){.folder-input{grid-template-columns:1fr}.folder-input button{width:100%}.project-form .edit-scroll{padding:14px}.project-form>header{padding:20px}}.project-author{color:#758078;align-items:center;gap:4px;margin:-3px 0 7px;font-size:10px;display:flex}.project-author strong{color:#365e47}.actions .delete-project{color:#b43d35;background:#fff3f1;border:1px solid #f0d0cc;flex:0 0 42px;padding:8px;box-shadow:0 2px 5px #78231e0f}.actions .delete-project:hover{background:#fee8e5}.delete-modal{border:1px solid #ecd4d0;max-width:560px;box-shadow:0 30px 90px #3d110d4d}.delete-modal .modal-eyebrow{color:#ad3c34}.delete-warning{color:#8f312b;background:#fff2f0;border:1px solid #f0d2ce;border-radius:11px;gap:14px;margin:18px 0;padding:16px;display:flex}.delete-warning>svg{flex:none}.delete-warning p{margin:5px 0 0;font-size:12px;line-height:1.55}.delete-modal .danger{background:linear-gradient(145deg,#c94b42,#a82f29);box-shadow:0 5px 12px #a62d2633}.delete-modal .danger:disabled{opacity:.45;cursor:not-allowed}.profile-modal{max-width:520px}.profile-role{background:linear-gradient(145deg,#edf5ef,#f8faf7);border:1px solid #d7e3d9;border-radius:11px;align-items:center;gap:12px;margin:16px 0;padding:14px;display:flex}.profile-role>svg{color:#2c704d}.profile-role>div{gap:3px;display:grid}.profile-role span,.profile-modal label small{color:#748078;font-size:10px}.profile-modal label small{margin-top:6px;display:block}.profile-modal footer{justify-content:space-between}.profile-modal .logout-button{color:#59645d;background:#f1f3f0}.create-project-modal{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:calc(100vh - 36px);padding-right:22px;overflow-y:auto}.create-project-modal::-webkit-scrollbar{width:9px}.create-project-modal::-webkit-scrollbar-track{background:#edf2ed;border-radius:10px;margin:18px 0}.create-project-modal::-webkit-scrollbar-thumb{background:linear-gradient(#82a38d,#4e795f);border:2px solid #edf2ed;border-radius:10px}.create-project-modal>header{z-index:3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;padding-top:28px;padding-bottom:12px;position:sticky;top:-28px}.create-project-modal>footer{z-index:3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;border-top:1px solid #e1e7e0;margin:18px -6px -28px;padding:16px 6px 24px;position:sticky;bottom:-28px}@media (width<=620px){.create-project-modal{max-height:calc(100vh - 16px);padding-right:18px}.create-project-modal>header{top:-28px}.create-project-modal>footer{bottom:-28px}}.create-project-modal{background:linear-gradient(145deg,#f9fbf8,#eef4ef)}.create-project-modal>header{border-bottom:1px solid #dbe4dc;margin-left:-28px;margin-right:-22px;padding-left:28px;padding-right:28px;box-shadow:0 7px 18px #1f3e290e}.create-section{background:linear-gradient(150deg,#fff 0% 78%,#f8fbf8 100%);border:1px solid #dbe4dc;border-radius:14px;margin:16px 0;padding:15px 18px 18px;position:relative;box-shadow:inset 0 1px #fff,0 3px 5px #1c3a2609,0 10px 24px #1c3a2611}.create-section:before{content:"";background:linear-gradient(#4b8b68,#266347);border-radius:0 3px 3px 0;width:3px;position:absolute;top:18px;bottom:18px;left:-1px}.create-section>h3{color:#315f47;letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid #e9eee9;align-items:center;gap:8px;margin:0 0 12px;padding-bottom:10px;font-size:11px;display:flex}.create-section>h3>span{color:#fff;background:linear-gradient(145deg,#347956,#205d3f);border-radius:7px;place-items:center;width:22px;height:22px;font-size:10px;display:grid;box-shadow:0 3px 7px #205d3f33}.create-section .generation-summary{background:linear-gradient(135deg,#edf6ef,#f8fbf8);margin:0;box-shadow:inset 0 1px #fff}.cover-section .upload{background:#fbfdfb;margin-bottom:0;transition:border-color .18s,background .18s,transform .18s}.cover-section .upload:hover{background:#f0f7f2;border-color:#669176;transform:translateY(-1px)}.result-section{border-color:#cddfd1}.result-section:before{background:linear-gradient(#65a37d,#2d714d)}@media (width<=700px){.upload-library{grid-template-columns:1fr;gap:7px}.upload-library select{min-width:0}}.upload-library{color:#26372e;grid-template-columns:170px minmax(300px,560px);align-items:center;gap:16px;margin:12px 0;font-size:14px;font-weight:700;display:grid}.upload-panel>.upload-library{width:min(760px,100% - 72px);margin:22px 36px}.upload-library select{color:#486858;background:#fff;border:1px solid #d6e2d8;border-radius:12px;width:100%;padding:14px 16px;font-size:15px}.key-manager{margin-top:18px}.key-manager>header{border-bottom:1px solid #e3ebe3;align-items:center;gap:14px;padding-bottom:18px;display:flex}.key-manager h2{margin:0}.key-manager header p{color:#718078;margin:4px 0 0;font-size:12px}.key-manager footer{border-top:1px solid #e5ece5;justify-content:space-between;align-items:center;margin-top:18px;padding-top:16px;display:flex}.key-manager footer span{color:#688074;gap:6px;font-size:11px;display:flex}.key-list{gap:9px;margin-top:18px;display:grid}.key-list article{background:#f7faf7;border:1px solid #dce8de;border-radius:11px;justify-content:space-between;align-items:center;padding:13px 15px;display:flex}.key-list article div{gap:3px;display:grid}.key-list article strong{color:#245f41}.key-list article small{color:#718078;font-size:11px}.key-list .danger{padding:9px 12px;font-size:11px}@media (width<=700px){.upload-library,.upload-panel>.upload-library{grid-template-columns:1fr;gap:7px;width:calc(100% - 36px);margin:16px 18px}.upload-library select{min-width:0}}.upload-panel .upload-log-head,.upload-panel .upload-log-row{grid-template-columns:minmax(180px,1fr) 105px 135px minmax(280px,1.5fr)}@media (width<=700px){.upload-panel .upload-log-head,.upload-panel .upload-log-row{grid-template-columns:minmax(130px,1fr) 80px 100px minmax(180px,1.2fr)}}.actions .topology-link{color:#fff;background:linear-gradient(135deg,#1e6544,#347c59);flex:1;padding:8px 11px;font-size:11px;transition:all .2s;box-shadow:0 5px 13px #1e65442e}.actions .topology-link:hover{transform:translateY(-2px)}.topology-backdrop{padding:28px}.topology-modal{background:#f3f7f3;width:min(1180px,100%);max-height:92vh;padding:0;overflow:auto}.topology-modal>header{z-index:4;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;border-bottom:1px solid #dce5dd;padding:24px 28px;position:sticky;top:0}.topology-modal>header h2{margin-top:4px;font-size:28px}.topology-loading{color:#53705f;place-content:center;justify-items:center;gap:15px;min-height:380px;display:grid}.topology-loading svg{animation:1.4s linear infinite spin}.architecture-canvas{background:radial-gradient(circle at 18% 12%,#50916921,#0000 25%),radial-gradient(circle at 80% 85%,#4173581a,#0000 28%),linear-gradient(145deg,#f5f8f5,#edf3ee);padding:28px}.architecture-core{grid-template-columns:150px 38px minmax(0,1fr) 38px 150px;align-items:center;display:grid}.arch-node{text-align:center;background:linear-gradient(145deg,#fff,#edf5ef);border:1px solid #ccdbcf;border-radius:20px;place-content:center;justify-items:center;gap:7px;min-height:128px;animation:.45s both node-in;display:grid;box-shadow:0 14px 34px #20482e1f,inset 0 1px #fff}.arch-node svg{color:#276b49;width:30px;height:30px}.arch-node span{font-size:13px;font-weight:800}.arch-node small{color:#718078;overflow-wrap:anywhere;max-width:120px;font-size:9px}.flow-line{background:linear-gradient(90deg,#89af98,#2d7953,#89af98);height:2px;position:relative;overflow:hidden}.flow-line:after{content:"";background:linear-gradient(90deg,#0000,#fff,#0000);width:32%;animation:1.8s linear infinite flow;position:absolute;inset:0}.arch-components{gap:18px;display:grid}.component-flow{background:#ffffffe0;border:1px solid #d5e1d7;border-radius:18px;padding:18px;animation:.5s 80ms both node-in;box-shadow:0 10px 28px #23493017}.component-flow>header{align-items:center;gap:11px;display:flex}.component-symbol{color:#246847;background:#e4f0e7;border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.component-flow>header>div:nth-child(2){flex:1;gap:3px;display:grid}.component-flow>header small{color:#748078;font-size:10px}.live-status{text-transform:uppercase;background:#edf0ed;border-radius:20px;padding:5px 8px;font-size:9px;font-weight:800}.live-status.success{color:#147747;background:#ddf4e7}.live-status.failed{color:#ad332d;background:#fde8e5}.live-status.running,.live-status.pending{color:#9b6911;background:#fff0ca}.stage-track{align-items:stretch;gap:8px;margin-top:15px;padding-bottom:5px;display:flex;overflow-x:auto}.pipeline-stage{background:#f4f7f4;border:1px solid #e3e9e3;border-radius:11px;align-content:start;gap:6px;min-width:130px;padding:9px;display:grid}.pipeline-stage>b{text-transform:uppercase;letter-spacing:.1em;color:#688071;font-size:9px}.job-node{color:#263b2f;background:#fff;border:1px solid #dfe6df;border-radius:8px;grid-template-columns:7px 1fr auto;align-items:center;gap:5px;padding:7px;font-size:9px;font-weight:700;text-decoration:none;transition:all .18s;display:grid}.job-node:hover{transform:translateY(-2px);box-shadow:0 5px 12px #20452c1a}.job-node>span{background:#89948d;border-radius:50%;width:7px;height:7px}.job-node.success>span{background:#23a15f;box-shadow:0 0 0 3px #daf1e3}.job-node.failed>span{background:#d34840;box-shadow:0 0 0 3px #f8ddda}.job-node.running>span{background:#dc9c20;animation:1.3s infinite pulse}.job-node small{color:#849088;font-size:8px}.stage-arrow{color:#4d8162;align-self:center}.empty-pipeline{color:#7b867f;padding:16px;font-size:11px}.open-pipeline{color:#286b49;align-items:center;gap:5px;width:max-content;margin-top:10px;font-size:10px;font-weight:800;text-decoration:none;display:flex}.architecture-canvas>aside{color:#69776e;align-items:center;gap:8px;margin-top:18px;font-size:10px;display:flex}.pulse-dot{background:#2fa364;border-radius:50%;width:8px;height:8px;animation:1.8s infinite pulse;box-shadow:0 0 0 5px #2fa3641f}.hero-orbit{z-index:2;background:#ffffffb8;border:1px solid #c8daca;border-radius:50%;place-content:center;justify-items:center;width:112px;height:112px;display:grid;position:relative;box-shadow:0 12px 30px #204e301f,inset 0 1px #fff}.hero-orbit:before,.hero-orbit:after{content:"";border:1px solid #2e6f4b2e;border-radius:50%;animation:9s linear infinite orbit;position:absolute;inset:-10px}.hero-orbit:after{animation-duration:13s;animation-direction:reverse;inset:-18px}.hero-orbit svg{color:#2c714f;width:24px}.hero-orbit span{font-size:23px;font-weight:800}.hero-orbit small{color:#718078;font-size:9px}.template-card{transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden}.template-card:hover{transform:translateY(-5px);box-shadow:0 20px 45px #1f452b21}.template-card:before{content:"";background:linear-gradient(90deg,#1f6543,#79ae8c);height:3px;position:absolute;inset:0 0 auto}.template-card>header>div:nth-child(2){flex:1}.ready-mark{letter-spacing:.12em;color:#197747;background:#e2f4e9;border:1px solid #c5e8d2;border-radius:20px;padding:5px 7px;font-size:8px;font-weight:900}.inspect-template{color:#286849;background:#eff5f0;border:1px solid #d5e3d8;width:100%;margin-top:15px;font-size:11px}.inspect-template svg:last-child{margin-left:auto;transition:all .2s}.template-expanded .inspect-template svg:last-child{transform:rotate(180deg)}.template-files{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;animation:.25s both reveal;display:grid}.template-files>section{color:#dce9df;background:#17241d;border:1px solid #30483a;border-radius:11px;min-width:0;overflow:hidden}.template-files header{text-transform:uppercase;letter-spacing:.08em;background:#203128;justify-content:space-between;padding:9px 11px;font-size:9px;display:flex}.template-files header b{color:#82b697}.template-files>section>div{max-height:170px;padding:8px;display:grid;overflow:auto}.template-files code{color:#c5d6ca;white-space:nowrap;gap:7px;padding:4px;font-size:9px;display:flex}.template-files i{color:#5b8f70;font-style:normal}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.45;transform:scale(.88)}}@keyframes flow{0%{transform:translate(-110%)}to{transform:translate(330%)}}@keyframes node-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}@keyframes reveal{0%{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}@keyframes orbit{to{transform:rotate(360deg)}}@media (width<=900px){.architecture-core{grid-template-columns:1fr;gap:14px}.flow-line{justify-self:center;width:2px;height:28px}.template-files{grid-template-columns:1fr}.hero-orbit{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.template-group-title{grid-template-columns:auto 1fr;align-items:end;gap:4px 14px;margin:38px 0 18px;padding-left:4px;display:grid}.template-group-title>span{color:#24734a;letter-spacing:.12em;background:#e5f1e9;border-radius:12px;grid-row:1/3;padding:9px 12px;font-size:10px;font-weight:900}.template-group-title h2{margin:0;font-size:22px}.template-group-title small{color:#7a887f}:root{--accent:#236345;--accent-2:#397b58;--accent-soft:#e6f0e8;--accent-wash:#f1f7f3;--accent-line:#bdd3c3;--surface:#fff;--surface-2:#f6f9f6;--page-bg:#f4f6f2;--hero-a:#e8f1e9;--hero-b:#e2ede5;--ink:#18201c;--muted:#66706a;--line:#d9e1d9;--cover-a:#e8f0e9;--cover-b:#bcd0c1;--theme-shadow:#1c462b1f}html[data-theme=ocean]{--accent:#176b87;--accent-2:#2c87a5;--accent-soft:#e3f1f5;--accent-wash:#f0f8fa;--accent-line:#b8d7e1;--surface:#fff;--surface-2:#f4f9fb;--page-bg:#f1f6f8;--hero-a:#e4f2f6;--hero-b:#dbeef4;--ink:#14242b;--muted:#5e7078;--line:#d3e2e7;--cover-a:#e5f3f7;--cover-b:#b9dbe5;--theme-shadow:#155b7424}html[data-theme=violet]{--accent:#6750a4;--accent-2:#8068b7;--accent-soft:#eee9f8;--accent-wash:#f8f5fc;--accent-line:#d2c5e8;--surface:#fff;--surface-2:#faf7fc;--page-bg:#f6f3f9;--hero-a:#eee9f7;--hero-b:#e6ddf2;--ink:#241c2e;--muted:#706779;--line:#e0d8e8;--cover-a:#f0eafb;--cover-b:#d0c1e5;--theme-shadow:#533d8924}html[data-theme=graphite]{--accent:#a76222;--accent-2:#c07a2d;--accent-soft:#f4eadc;--accent-wash:#faf6ef;--accent-line:#dfc8a9;--surface:#fff;--surface-2:#f8f7f3;--page-bg:#f3f3f1;--hero-a:#ecebe7;--hero-b:#e4e1da;--ink:#20211f;--muted:#6c6d69;--line:#deddd8;--cover-a:#efeee9;--cover-b:#d3d0c6;--theme-shadow:#5b472b24}html,body,#root{background:var(--page-bg);min-height:100%;color:var(--ink);transition:background .28s,color .28s}.brand>span,.brand-mark{background:linear-gradient(145deg,var(--accent-2),var(--accent))}.topbar{border-bottom-color:var(--line)}.topbar nav .active,.eyebrow,.modal-eyebrow{color:var(--accent)}.topbar nav .active:after{background:linear-gradient(90deg,var(--accent),var(--accent-2))}button,.primary,.hero>button{background:linear-gradient(145deg,var(--accent-2),var(--accent))}.page>.hero{border-color:var(--line);background:radial-gradient(circle at 76% -20%,#fffffff2,transparent 31%),linear-gradient(130deg,var(--hero-a),#fafafa 48%,var(--hero-b))}.cover{background:radial-gradient(circle at 35% 22%,#ffffffd9,transparent 34%),linear-gradient(145deg,var(--cover-a),var(--cover-b))}.template-icon,.component-symbol,.avatar{background:var(--accent-soft);color:var(--accent)}.create-project-modal>header{background:radial-gradient(circle at 82% -80%,#fff3,transparent 38%),linear-gradient(125deg,var(--accent),var(--accent-2))!important}.create-section:before,.result-section:before,.create-section>h3>span,.folder-input button{background:linear-gradient(var(--accent-2),var(--accent))}.create-section>h3,.template-stack span,.generation-summary strong{color:var(--accent)}.theme-control{position:relative}.theme-trigger{height:38px;color:var(--ink);border:1px solid var(--line);background:#fff;padding:0 12px;font-size:11px;box-shadow:0 3px 10px #0000000c}.theme-trigger:hover{border-color:var(--accent);color:var(--accent)}.theme-menu{z-index:50;border:1px solid var(--line);background:#fff;border-radius:13px;width:170px;padding:7px;animation:.18s both theme-in;position:absolute;top:46px;right:0;box-shadow:0 18px 45px #18251d2b}.theme-menu button{text-align:left;color:#3d4540;background:0 0;border-radius:8px;grid-template-columns:14px 1fr 16px;width:100%;padding:9px;font-size:11px;display:grid}.theme-menu button:hover,.theme-menu button.selected{background:var(--accent-soft);color:var(--accent)}.theme-menu i{border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 3px #0000000a}.theme-menu b{text-align:center}@keyframes theme-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:none}}@media (width<=720px){.theme-trigger span{display:none}.theme-trigger{padding:0 10px}.theme-menu{right:-45px}}.architecture-canvas{perspective:1400px}.architecture-core{filter:drop-shadow(0 16px 22px color-mix(in srgb,var(--ink) 7%,transparent))}.arch-node{transition:transform .22s,box-shadow .22s;position:relative;overflow:hidden;transform:translateZ(18px);border-width:1px!important;border-color:color-mix(in srgb,var(--accent) 26%,var(--line))!important;background:radial-gradient(circle at 25% 15%,#ffffffd9,transparent 32%),linear-gradient(145deg,var(--surface),var(--accent-wash))!important;box-shadow:0 22px 42px color-mix(in srgb,var(--accent) 14%,transparent),0 7px 13px color-mix(in srgb,var(--ink) 8%,transparent),inset 0 1px 0 #fff,inset 0 -8px 16px color-mix(in srgb,var(--accent) 5%,transparent)!important}.arch-node:before{content:"";background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.7;height:4px;position:absolute;inset:0 0 auto}.arch-node:hover{transform:translateY(-5px)translateZ(24px);box-shadow:0 29px 52px color-mix(in srgb,var(--accent) 19%,transparent),0 9px 17px color-mix(in srgb,var(--ink) 10%,transparent),inset 0 1px 0 #fff!important}.arch-node svg{background:linear-gradient(145deg,var(--accent-soft),var(--surface));border:1px solid var(--accent-line);filter:drop-shadow(0 6px 7px var(--theme-shadow));border-radius:14px;padding:9px;width:46px!important;height:46px!important}.component-flow{transition:transform .22s,box-shadow .22s;position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--accent) 25%,var(--line))!important;background:radial-gradient(circle at 92% 0%,var(--accent-soft),transparent 25%),linear-gradient(145deg,var(--surface),var(--surface) 65%,var(--accent-wash))!important;box-shadow:0 24px 48px color-mix(in srgb,var(--accent) 13%,transparent),0 8px 16px color-mix(in srgb,var(--ink) 7%,transparent),inset 0 1px 0 #fff,inset 0 -10px 22px color-mix(in srgb,var(--accent) 4%,transparent)!important}.component-flow:before{content:"";background:linear-gradient(var(--accent-2),var(--accent));width:4px;box-shadow:5px 0 14px color-mix(in srgb,var(--accent) 25%,transparent);border-radius:0 5px 5px 0;position:absolute;top:18px;bottom:18px;left:0}.component-flow:hover{transform:translateY(-4px);box-shadow:0 30px 58px color-mix(in srgb,var(--accent) 17%,transparent),0 10px 19px color-mix(in srgb,var(--ink) 9%,transparent),inset 0 1px 0 #fff!important}.component-symbol{border:1px solid var(--accent-line);box-shadow:0 8px 17px var(--theme-shadow),inset 0 1px 0 #fff;background:linear-gradient(145deg,var(--surface),var(--accent-soft))!important}.live-status{border:1px solid color-mix(in srgb,currentColor 18%,transparent);box-shadow:0 4px 10px color-mix(in srgb,currentColor 10%,transparent),inset 0 1px 0 #fff}.pipeline-stage{box-shadow:0 9px 18px color-mix(in srgb,var(--ink) 7%,transparent),inset 0 1px 0 #fff,inset 0 -5px 10px color-mix(in srgb,var(--accent) 4%,transparent);position:relative;border-color:color-mix(in srgb,var(--accent) 18%,var(--line))!important;background:linear-gradient(155deg,var(--surface),var(--surface-2))!important}.pipeline-stage>b{border-bottom:1px solid var(--accent-line);padding-bottom:6px}.job-node{box-shadow:0 4px 9px color-mix(in srgb,var(--ink) 6%,transparent),inset 0 1px 0 #fff;border-color:color-mix(in srgb,var(--accent) 15%,var(--line))!important;background:linear-gradient(180deg,var(--surface),var(--surface-2))!important}.job-node:hover{box-shadow:0 9px 17px var(--theme-shadow)!important;border-color:var(--accent-line)!important;transform:translateY(-3px)!important}.flow-line{height:3px;box-shadow:0 2px 7px color-mix(in srgb,var(--accent) 24%,transparent);border-radius:3px}.topology-modal>header{isolation:isolate;min-height:170px;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--surface) 90%,transparent),0 14px 30px var(--theme-shadow);align-items:flex-start;position:sticky;overflow:hidden;background:radial-gradient(circle at 78% 15%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 24%),radial-gradient(circle at 92% 110%,var(--hero-b),transparent 34%),linear-gradient(135deg,var(--surface) 0%,var(--accent-wash) 54%,var(--accent-soft) 100%)!important;border-bottom:1px solid var(--accent-line)!important;padding:30px 34px!important}.topology-modal>header:before{content:"";z-index:-1;border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);width:210px;height:210px;box-shadow:0 0 0 28px color-mix(in srgb,var(--accent) 4%,transparent),0 0 0 58px color-mix(in srgb,var(--accent) 3%,transparent);border-radius:50%;position:absolute;top:-68px;right:105px}.topology-modal>header:after{content:"";background:linear-gradient(90deg,var(--accent),var(--accent-2));width:145px;height:3px;box-shadow:0 -5px 18px color-mix(in srgb,var(--accent) 30%,transparent);border-radius:4px 4px 0 0;position:absolute;bottom:0;left:34px}.topology-modal>header>div{padding-left:66px;position:relative}.topology-modal>header>div:before{content:"⌘";background:linear-gradient(145deg,var(--accent-2),var(--accent));color:#fff;width:48px;height:48px;box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 30%,transparent),inset 0 1px 0 #ffffff70;border-radius:15px;place-items:center;font-size:23px;font-weight:800;display:grid;position:absolute;top:2px;left:0}.topology-modal>header .modal-eyebrow{border:1px solid var(--accent-line);background:color-mix(in srgb,var(--surface) 72%,transparent);box-shadow:0 3px 10px var(--theme-shadow);border-radius:20px;padding:5px 9px;display:inline-flex}.topology-modal>header h2{letter-spacing:-.025em;margin-top:9px!important;font-size:31px!important}.topology-modal>header p{max-width:680px;margin:5px 0 0!important}.topology-modal>header>.icon{border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line));background:color-mix(in srgb,var(--surface) 75%,transparent);width:42px;height:42px;color:var(--accent);box-shadow:0 8px 20px var(--theme-shadow),inset 0 1px 0 #fff;border-radius:13px;padding:0;transition:all .2s}.topology-modal>header>.icon:hover{background:var(--surface);transform:translateY(-2px)rotate(3deg)}@media (width<=650px){.topology-modal>header{min-height:145px;padding:23px!important}.topology-modal>header>div{padding-left:0}.topology-modal>header>div:before{display:none}.topology-modal>header h2{font-size:25px!important}}.project-stats{grid-template-columns:repeat(4,1fr);gap:13px;margin:18px 0 0;display:grid}.project-stats>button{color:var(--ink);border:1px solid var(--line);background:#ffffffc9;justify-content:flex-start;gap:12px;padding:15px;transition:all .2s;display:flex;box-shadow:0 5px 16px #18251d0b}.project-stats>button:hover{border-color:var(--accent);transform:translateY(-2px)}.project-stats>button.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft),0 8px 20px #18251d12}.project-stats>button>span{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:10px;place-items:center;display:grid}.project-stats svg{width:17px}.project-stats>button>div{text-align:left;display:grid}.project-stats strong{font-size:20px;line-height:1}.project-stats small{color:#748078;margin-top:5px}.stat-failed>span{color:#bd4139!important;background:#fdeae7!important}.stat-published>span{color:#218354!important;background:#e1f3e8!important}.catalog-tools{color:#748078;align-items:center;gap:14px;font-size:11px;display:flex}.view-switch{background:#e9eeea;border-radius:10px;padding:3px;display:flex}.view-switch button{color:#69756e;background:0 0;border-radius:7px;width:34px;height:30px;padding:0}.view-switch button.active{color:var(--accent);background:#fff;box-shadow:0 2px 6px #17241c17}.compact-view{grid-template-columns:1fr}.compact-view .card{grid-template-columns:118px minmax(0,1fr);min-height:245px}.compact-view .cover{min-height:245px}.compact-view .card-body{padding:16px 20px}.compact-view .card dl{grid-template-columns:180px 1fr}.compact-view .source-paths{grid-template-columns:1fr 1fr}.compact-view .source-paths .path-button{grid-column:1/-1}.compact-view .pipeline-actions{grid-template-columns:240px 240px}.compact-view .actions{max-width:700px}.skeleton-card{min-height:300px}.skeleton-card>div{background:linear-gradient(100deg,#e9eeea 30%,#f8faf8 45%,#e9eeea 60%) 0 0/220% 100%;animation:1.4s infinite skeleton}.skeleton-card>section{align-content:start;gap:14px;padding:25px;display:grid}.skeleton-card i{background:linear-gradient(100deg,#e8ede9 30%,#f8faf8 45%,#e8ede9 60%) 0 0/220% 100%;border-radius:7px;height:17px;animation:1.4s infinite skeleton}.skeleton-card i:nth-child(2){width:70%}.skeleton-card i:nth-child(3){height:55px}.skeleton-card i:nth-child(4){height:38px;margin-top:25px}@keyframes skeleton{to{background-position:-220% 0}}@media (width<=900px){.project-stats,.compact-view .pipeline-actions{grid-template-columns:1fr 1fr}}@media (width<=560px){.project-stats{grid-template-columns:1fr 1fr}.project-stats>button{padding:11px}.project-stats>button>span,.catalog-tools>span{display:none}.compact-view .card{grid-template-columns:1fr}.compact-view .cover{min-height:110px}.compact-view .source-paths{grid-template-columns:1fr}}.card,.template-card,.publication,.project-publications,.empty,.modal,.login form{background:var(--surface);border-color:var(--line);box-shadow:0 12px 30px var(--theme-shadow)}.card-body{background:linear-gradient(150deg,var(--surface) 0%,var(--surface) 70%,var(--surface-2) 100%)}.card dl,.project-publications .component-columns,.stack-features,.template-card>footer{border-color:var(--line)}.card p,.card dt,.toolbar>span,.project-author,.pipeline-hint,.template-card>p,.template-stack small,.modal header p{color:var(--muted)}.source-paths strong,.template-sources b{background:var(--accent-soft);color:var(--accent)}.source-paths code,.template-sources code{color:var(--muted)}.source-paths .path-button,.actions a,.actions .repo-link,.actions .icon-link,.topology-link{border-color:var(--accent-line);color:var(--accent);background:linear-gradient(180deg,var(--surface),var(--accent-wash))}.pipeline-actions button{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.pipeline-message,.pipeline-hint code,.publications-hero code{background:var(--accent-soft);color:var(--accent)}.project-form,.create-project-modal{background:var(--surface-2)}.project-form>header{background:radial-gradient(circle at 82% -20%,#fffc,transparent 36%),linear-gradient(135deg,var(--accent-soft),var(--surface));border-color:var(--accent-line)}.project-form .edit-scroll{background:var(--accent-wash)}.form-section,.create-section{background:linear-gradient(150deg,var(--surface),var(--surface) 75%,var(--surface-2));border-color:var(--accent-line);box-shadow:0 10px 24px var(--theme-shadow)}.form-section h3,.create-section>h3{color:var(--accent);border-color:var(--line)}.modal input,.modal textarea,.modal select{background:var(--surface);border-color:var(--line);color:var(--ink);outline-color:var(--accent)}.modal input:focus,.modal textarea:focus,.modal select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.secondary,.profile-modal .logout-button{background:var(--accent-soft);color:var(--accent)}.folder-input button,.modal footer button:not(.secondary):not(.danger):not(.logout-button){background:linear-gradient(145deg,var(--accent-2),var(--accent))}.generation-summary,.profile-role{background:linear-gradient(135deg,var(--accent-soft),var(--surface));border-color:var(--accent-line)}.cover-section .upload,.upload{background:var(--surface);border-color:var(--accent-line);color:var(--accent)!important}.cover-section .upload:hover{background:var(--accent-soft);border-color:var(--accent)}.arch-node,.component-flow{border-color:var(--accent-line);background:linear-gradient(145deg,var(--surface),var(--accent-wash));box-shadow:0 14px 34px var(--theme-shadow)}.arch-node svg,.component-symbol{color:var(--accent)}.pipeline-stage>b,.open-pipeline{color:var(--accent)}.template-stack>div{background:var(--accent-wash);border-color:var(--accent-line)}.template-files>section{border-color:var(--accent);box-shadow:0 10px 25px var(--theme-shadow)}.tabbed-project-form>header{isolation:isolate;min-height:132px;box-shadow:inset 0 1px 0 #fff,0 12px 28px var(--theme-shadow);align-items:center;overflow:hidden;background:radial-gradient(circle at 86% -25%,color-mix(in srgb,var(--accent) 17%,transparent),transparent 31%),linear-gradient(128deg,var(--accent-soft),var(--surface) 58%,var(--accent-wash))!important;padding:20px 28px 18px 92px!important}.tabbed-project-form>header:before{content:"⚙";background:linear-gradient(145deg,var(--accent-2),var(--accent));color:#fff;width:46px;height:46px;box-shadow:0 9px 21px color-mix(in srgb,var(--accent) 30%,transparent),inset 0 1px 0 #ffffff70;border-radius:14px;place-items:center;font-size:21px;display:grid;position:absolute;top:26px;left:28px}.tabbed-project-form>header:after{content:"";z-index:-1;border:1px solid color-mix(in srgb,var(--accent) 16%,transparent);width:195px;height:195px;box-shadow:0 0 0 30px color-mix(in srgb,var(--accent) 4%,transparent);border-radius:50%;position:absolute;top:-82px;right:110px}.tabbed-project-form>header h2{letter-spacing:-.025em;margin-top:5px!important;font-size:27px!important}.tabbed-project-form>header p{font-size:12px;margin:4px 0 0!important}.tabbed-project-form>header>.icon{border:1px solid var(--accent-line);background:color-mix(in srgb,var(--surface) 80%,transparent);width:40px;height:40px;color:var(--accent);box-shadow:0 7px 18px var(--theme-shadow),inset 0 1px 0 #fff;border-radius:12px;padding:0}.tabbed-project-form .edit-tabs{z-index:3;background:linear-gradient(180deg,var(--surface),var(--surface-2));box-shadow:0 7px 18px var(--theme-shadow);gap:7px;padding:9px 15px;position:relative}.tabbed-project-form .edit-tabs button{border:1px solid #0000;border-radius:10px;transition:all .18s}.tabbed-project-form .edit-tabs button:hover{background:var(--accent-wash);color:var(--accent);transform:translateY(-1px)}.tabbed-project-form .edit-tabs button.active{border-color:var(--accent-line);background:linear-gradient(145deg,var(--surface),var(--accent-soft));box-shadow:0 6px 14px var(--theme-shadow),inset 0 1px 0 #fff}.tabbed-project-form .edit-scroll{background:radial-gradient(circle at 8% 4%,var(--accent-soft),transparent 25%),linear-gradient(145deg,var(--surface-2),var(--accent-wash))!important;padding:20px 25px!important}.tabbed-project-form .form-section{border:1px solid var(--accent-line);background:linear-gradient(145deg,var(--surface),var(--surface) 72%,var(--accent-wash));box-shadow:0 15px 34px var(--theme-shadow),inset 0 1px 0 #fff;border-radius:16px;padding:18px 20px 20px;position:relative;overflow:hidden}.tabbed-project-form .form-section:before{content:"";background:linear-gradient(var(--accent-2),var(--accent));width:4px;box-shadow:4px 0 13px color-mix(in srgb,var(--accent) 23%,transparent);border-radius:0 5px 5px 0;position:absolute;top:18px;bottom:18px;left:0}.tabbed-project-form .form-section h3{margin:0 0 15px;padding:0 0 11px 10px;font-size:12px}.tabbed-project-form .form-section label{color:color-mix(in srgb,var(--ink) 76%,var(--muted));margin:16px 0}.tabbed-project-form .form-section input,.tabbed-project-form .form-section textarea,.tabbed-project-form .form-section select{border-color:color-mix(in srgb,var(--accent-line) 70%,var(--line));background:linear-gradient(180deg,var(--surface),var(--surface-2));box-shadow:inset 0 2px 5px color-mix(in srgb,var(--ink) 5%,transparent),0 1px 0 #fff;border-radius:11px;transition:all .2s}.tabbed-project-form .form-section input:hover,.tabbed-project-form .form-section textarea:hover{border-color:var(--accent-line);box-shadow:inset 0 2px 5px color-mix(in srgb,var(--ink) 5%,transparent),0 5px 12px var(--theme-shadow)}.tabbed-project-form .form-section input:focus,.tabbed-project-form .form-section textarea:focus{background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft),0 8px 18px var(--theme-shadow)}.tabbed-project-form>footer{z-index:4;box-shadow:0 -10px 24px var(--theme-shadow);position:relative}@media (width<=650px){.tabbed-project-form>header{min-height:112px;padding:17px 18px!important}.tabbed-project-form>header:before{display:none}.tabbed-project-form .form-section{padding:15px}}.tabbed-project-form .edit-tabs{grid-template-columns:repeat(5,1fr)}.pipeline-edit-panel{padding:16px}.edit-yaml-editors{margin:14px 0 0}.edit-yaml-editors textarea{height:285px}.pipeline-edit-panel .topology-loading{min-height:250px}.actions .topology-link{background:linear-gradient(135deg,var(--accent),var(--accent-2))!important;border-color:var(--accent)!important;box-shadow:0 5px 13px var(--theme-shadow)!important;color:#fff!important}.actions .topology-link:hover{background:linear-gradient(135deg,var(--accent-2),var(--accent))!important;box-shadow:0 8px 18px var(--theme-shadow)!important}.actions .topology-link{background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 5px 13px var(--theme-shadow);color:#fff}.topology-backdrop{background:color-mix(in srgb,var(--ink) 58%,transparent)}.topology-modal{background:var(--surface-2)}.topology-modal>header{background:color-mix(in srgb,var(--surface) 94%,transparent);border-bottom-color:var(--accent-line)}.topology-loading{color:var(--accent)}.architecture-canvas{background:radial-gradient(circle at 18% 12%,var(--accent-soft),transparent 28%),radial-gradient(circle at 80% 85%,var(--hero-b),transparent 30%),linear-gradient(145deg,var(--surface-2),var(--accent-wash))}.arch-node{border-color:var(--accent-line);background:linear-gradient(145deg,var(--surface),var(--accent-wash));box-shadow:0 14px 34px var(--theme-shadow),inset 0 1px 0 #fff}.arch-node svg{color:var(--accent)}.arch-node small,.component-flow>header small,.empty-pipeline,.architecture-canvas>aside{color:var(--muted)}.flow-line{background:linear-gradient(90deg,var(--accent-line),var(--accent),var(--accent-line))}.flow-line:after{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--surface) 90%,transparent),transparent)}.component-flow{background:color-mix(in srgb,var(--surface) 92%,transparent);border-color:var(--accent-line);box-shadow:0 10px 28px var(--theme-shadow)}.component-symbol,.live-status:not(.success):not(.failed):not(.running):not(.pending){background:var(--accent-soft);color:var(--accent)}.pipeline-stage{background:var(--surface-2);border-color:var(--line)}.pipeline-stage>b,.stage-arrow,.open-pipeline{color:var(--accent)}.job-node{background:var(--surface);border-color:var(--line);color:var(--ink)}.job-node:hover{box-shadow:0 5px 12px var(--theme-shadow)}.job-node small{color:var(--muted)}.pulse-dot{background:var(--accent);box-shadow:0 0 0 5px var(--accent-soft)}.required-field>em{float:right;text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-style:normal;color:#bd4139!important}.required-field>em:before{content:"* ";font-size:13px}.wizard-step .field-invalid input,.wizard-step .field-invalid textarea{background:#fff8f7!important;border-color:#d55249!important;box-shadow:0 0 0 3px #d5524918!important}.validation-message{float:none!important;color:#bd4139!important;margin-top:6px!important;font-size:9px!important;font-weight:700!important;display:block!important}.wizard-step .field-invalid{color:#a63832}.wizard-step input,.wizard-step textarea{transition:border-color .18s,box-shadow .18s,background .18s}.health-strip{gap:8px;margin:2px 0 9px;display:flex}.health-strip span,.health-editor header>span{background:var(--surface-2);color:var(--muted);border-radius:20px;align-items:center;gap:6px;padding:5px 8px;font-size:9px;font-weight:700;display:flex}.health-strip i,.health-editor header>span i{background:#9aa29d;border-radius:50%;width:7px;height:7px}.health-strip .available,.health-editor .available{color:#187a48;background:#e1f3e8}.health-strip .available i,.health-editor .available i{background:#25a361;box-shadow:0 0 0 3px #25a36120}.health-strip .unavailable,.health-editor .unavailable{color:#ae3730;background:#fdeae7}.health-strip .unavailable i,.health-editor .unavailable i{background:#d94b43;box-shadow:0 0 0 3px #d94b4320}.tabbed-project-form{flex-direction:column;width:min(780px,100%);height:min(720px,100vh - 32px);display:flex}.edit-tabs{background:var(--surface);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);padding:8px 14px;display:grid}.edit-tabs button{color:var(--muted);background:0 0;gap:7px;padding:10px 8px;font-size:10px;display:flex}.edit-tabs button.active{background:var(--accent-soft);color:var(--accent)}.edit-tabs svg{width:15px}.tabbed-project-form .edit-scroll{flex:1;min-height:0;max-height:none;padding:18px 24px}.tab-panel{min-height:100%;margin:0}.repository-block{background:var(--accent-wash);border:1px solid var(--accent-line);border-radius:11px;grid-template-columns:1fr 180px;gap:0 14px;margin-top:13px;padding:13px;display:grid}.repository-block>strong{color:var(--accent);grid-column:1/-1;font-size:11px}.health-help{color:var(--muted);font-size:11px}.health-editor{background:var(--accent-wash);border:1px solid var(--accent-line);border-radius:12px;margin-top:14px;padding:14px}.health-editor>header{justify-content:space-between;align-items:center;display:flex}.health-editor>header>div{gap:3px;display:grid}.health-editor>header small{color:var(--muted);font-size:9px}.health-input{grid-template-columns:1fr auto;gap:8px;margin-top:10px;display:grid}.health-input input{margin:0}.health-input button{padding:9px 13px}.tabbed-project-form>footer{flex:none}@media (width<=650px){.edit-tabs button{font-size:0}.edit-tabs svg{width:18px}.repository-block{grid-template-columns:1fr}.health-editor>header{align-items:flex-start;gap:8px}.health-input{grid-template-columns:1fr}.health-strip{flex-wrap:wrap}}.yaml-editors{grid-template-columns:1fr 1fr;gap:13px;margin-bottom:16px;display:grid}.yaml-editors>section{border:1px solid var(--accent);min-width:0;box-shadow:0 10px 25px var(--theme-shadow);background:#15211b;border-radius:13px;overflow:hidden}.yaml-editors>section>header{color:#dce8df;background:#1d2c24;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.yaml-editors>section>header>div{align-items:center;gap:8px;display:flex}.yaml-editors header span{display:grid}.yaml-editors header small{color:#93a99a;font-size:8px}.yaml-editors header button{color:#cde1d2;background:#ffffff12;border:1px solid #fff2;padding:6px 8px;font-size:8px}.yaml-editors textarea{resize:vertical;tab-size:2;width:100%;height:215px;color:#c9e6d1!important;box-shadow:none!important;background:#15211b!important;border:0!important;border-radius:0!important;outline:none!important;margin:0!important;padding:13px!important;font:10px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace!important}.yaml-editors>section>footer{color:#9daf9f;background:#1d2c24;justify-content:space-between;padding:7px 11px;font-size:8px;display:flex}.yaml-editors>section>footer.valid span{color:#68d597}.yaml-editors>section>footer.invalid span{color:#f18e86}@media (width<=720px){.yaml-editors{grid-template-columns:1fr}.yaml-editors textarea{height:170px}}.progress-panel{margin-top:18px}.progress-panel>header{background:linear-gradient(135deg,var(--accent-wash),var(--surface));justify-content:space-between;align-items:center;gap:18px;padding:22px 26px 12px;display:flex}.progress-panel>header button{flex:none}.progress-grid{grid-template-columns:repeat(4,1fr);gap:12px;padding:12px 26px 18px;display:grid}.progress-grid>div{border:1px solid var(--accent-line);background:var(--surface-2);border-radius:14px;gap:6px;min-height:92px;padding:18px;display:grid}.progress-grid strong{letter-spacing:-.04em;color:var(--ink);white-space:nowrap;font-size:23px;line-height:1.1}.progress-grid small{color:var(--muted);font-size:11px;line-height:1.35}.progress-note{border-top:1px solid var(--line);color:var(--muted);margin:0;padding:14px 26px 17px;font-size:11px;line-height:1.45}@media (width<=700px){.progress-panel>header{align-items:flex-start;padding:18px}.progress-grid{grid-template-columns:1fr 1fr;padding:10px 18px 18px}.progress-grid>div{min-height:76px;padding:14px}.progress-grid strong{font-size:19px}.progress-note{padding:13px 18px 17px}}.upload-panel{margin-top:18px}.upload-panel>header{background:linear-gradient(135deg,var(--accent-wash),var(--surface));border-bottom:1px solid var(--accent-line);padding:23px 26px 16px}.upload-heading{align-items:flex-start;gap:14px;display:flex}.upload-heading .maintenance-icon{margin:0}.upload-workspace{background:var(--surface);grid-template-columns:minmax(230px,1.3fr) 112px minmax(245px,1fr) auto auto;align-items:center;gap:12px;padding:20px 26px;display:grid}.upload-picker{background:var(--accent-wash);cursor:pointer;border-radius:13px;grid-template-columns:24px 1fr;align-items:center;gap:0 9px;transition:all .18s;position:relative;border:1px dashed var(--accent)!important;color:var(--accent)!important;margin:0!important;padding:13px 15px!important;display:grid!important}.upload-picker:hover{box-shadow:0 8px 18px var(--theme-shadow);background:var(--accent-soft);transform:translateY(-1px)}.upload-picker input{opacity:0;cursor:pointer;position:absolute;inset:0}.upload-picker span{font-size:12px;font-weight:800}.upload-picker small{color:var(--muted);grid-column:2;font-size:9px;font-weight:500}.upload-summary{border-left:3px solid var(--accent-line);gap:1px;padding-left:13px;display:grid}.upload-summary strong{color:var(--accent);font-size:24px;line-height:1}.upload-summary span{font-size:10px;font-weight:800}.upload-summary small{color:var(--muted);white-space:nowrap;font-size:9px}.upload-type-switch{border:1px solid var(--line);background:var(--surface-2);border-radius:11px;padding:4px;display:flex}.upload-type-switch button{color:var(--muted);background:0 0;align-items:center;gap:6px;padding:8px 9px;font-size:10px;display:flex}.upload-type-switch button.active{background:var(--accent);color:#fff;box-shadow:0 3px 9px var(--theme-shadow)}.upload-type-switch button:disabled{opacity:.42}.upload-type-switch b{background:var(--surface);min-width:17px;height:17px;color:var(--accent);border-radius:9px;place-items:center;font-size:9px;display:grid}.upload-type-switch button.active b{color:#fff;background:#ffffff2b}.upload-status{background:var(--accent-wash);border-top:1px solid var(--accent-line);flex-wrap:wrap;align-items:center;gap:10px;padding:13px 26px;font-size:12px;display:flex}.upload-status span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:65ch;overflow:hidden}.upload-concurrency{white-space:nowrap;align-items:center;gap:8px;font-weight:700;display:flex;color:var(--muted)!important;margin:0!important}.upload-concurrency select{border:1px solid var(--line);background:var(--surface-2);width:auto;min-width:108px;color:var(--ink);border-radius:10px;padding:10px 30px 10px 12px;margin:0!important}.upload-start{white-space:nowrap}.upload-active-files{gap:6px;width:100%;margin-top:10px;display:grid}.upload-active-files span{color:var(--muted);font-size:.92rem}@media (width<=1230px){.upload-workspace{grid-template-columns:minmax(240px,1fr) 112px minmax(260px,1fr)}.upload-concurrency{grid-column:1/2}.upload-start{grid-column:2/-1;justify-self:stretch}}@media (width<=760px){.upload-workspace{grid-template-columns:1fr;padding:16px 18px}.upload-summary{border-left:0;border-top:3px solid var(--accent-line);padding:10px 0 0}.upload-type-switch{width:max-content}.upload-concurrency,.upload-start{grid-column:auto}.upload-start{width:100%}.upload-status{padding:13px 18px}}@media (width<=480px){.upload-panel>header{padding:18px}.upload-type-switch{width:100%;overflow:auto}}.upload-log-table{border-top:1px solid var(--line);max-height:290px;font-size:11px;overflow:auto}.upload-log-head,.upload-log-row{grid-template-columns:minmax(180px,1fr) minmax(220px,1.5fr);gap:18px;padding:10px 26px;display:grid}.upload-log-head{background:var(--surface-2);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:800;position:sticky;top:0}.upload-log-row{border-top:1px solid var(--line)}.upload-log-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.maintenance-page{flex-direction:column;display:flex}.maintenance-page>.hero{order:0}.maintenance-page>.maintenance-tabs{order:1;margin-top:18px}.maintenance-page>.progress-panel,.maintenance-page>.upload-panel{order:2}.maintenance-page>.maintenance-panel:not(.progress-panel):not(.upload-panel){order:3}:is(.maintenance-page:has(.maintenance-tabs button:first-child.active)>.progress-panel,.maintenance-page:has(.maintenance-tabs button:first-child.active)>.upload-panel){display:none}.maintenance-page:has(.maintenance-tabs button:nth-child(2).active)>.upload-panel{display:none}.maintenance-page:has(.maintenance-tabs button:nth-child(2).active)>.maintenance-panel:not(.progress-panel):not(.upload-panel){display:none}.maintenance-page:has(.maintenance-tabs button:nth-child(3).active)>.progress-panel{display:none}.maintenance-page:has(.maintenance-tabs button:nth-child(3).active)>.maintenance-panel:not(.progress-panel):not(.upload-panel){display:none}.maintenance-page{max-width:1080px}.maintenance-hero{gap:24px}.maintenance-power{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.maintenance-power .danger{background:#c8453c}.maintenance-power button:disabled{opacity:.48;cursor:not-allowed}.power-status{color:var(--muted);flex-basis:100%;justify-content:flex-end;align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}.power-status i{background:#a4aaa6;border-radius:50%;width:8px;height:8px}.power-status.online{color:#187a48}.power-status.online i{background:#2ca763;box-shadow:0 0 0 4px #2ca7631c}.power-status.offline{color:#a63b34}.power-status.offline i{background:#d95048;box-shadow:0 0 0 4px #d950481c}.maintenance-tabs{border-bottom:1px solid var(--line);gap:8px;margin:28px 0 20px;display:flex}.maintenance-tabs button{color:var(--muted);background:0 0;border-radius:10px 10px 0 0;padding:12px 14px;font-size:12px}.maintenance-tabs button.active{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.maintenance-panel{background:var(--surface);border:1px solid var(--accent-line);box-shadow:0 14px 34px var(--theme-shadow);border-radius:18px;overflow:hidden}.maintenance-panel form>header{background:linear-gradient(135deg,var(--accent-wash),var(--surface));border-bottom:1px solid var(--accent-line);gap:14px;padding:23px 26px;display:flex}.maintenance-panel h2{margin:0 0 5px;font-size:21px}.maintenance-panel header p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.maintenance-icon{background:var(--accent);color:#fff;border-radius:12px;flex:0 0 42px;place-items:center;height:42px;display:grid}.maintenance-grid{grid-template-columns:1fr 1fr;gap:0 20px;padding:8px 26px 20px;display:grid}.maintenance-panel label{color:var(--ink);margin:15px 0;font-size:12px;font-weight:700;display:block}.maintenance-panel input[type=text],.maintenance-panel input[type=password],.maintenance-panel input:not([type]){border:1px solid var(--line);background:var(--surface-2);width:100%;color:var(--ink);outline-color:var(--accent);border-radius:10px;margin-top:7px;padding:11px;display:block}.maintenance-panel label small{color:var(--muted);margin-top:6px;font-size:10px;font-weight:500;display:block}.maintenance-panel footer{border-top:1px solid var(--line);background:var(--surface-2);justify-content:space-between;align-items:center;gap:12px;padding:16px 26px;display:flex}.maintenance-panel footer span{color:var(--muted);align-items:center;gap:6px;font-size:10px;display:flex}.schedule-switch{border:1px solid var(--accent-line);background:var(--accent-wash);border-radius:12px;align-items:center;gap:9px;padding:14px;margin:26px!important;display:flex!important}.schedule-switch input{width:17px;height:17px;accent-color:var(--accent)}.maintenance-panel form>label:not(.schedule-switch){max-width:600px;margin:20px 26px}.maintenance-message{align-items:center;gap:8px;margin-top:16px;display:flex}.maintenance-message.success{color:#187a48;background:#e5f5ec;border-radius:10px;padding:12px 14px;font-size:12px}.maintenance-loading{color:var(--muted);align-items:center;gap:8px;padding:55px;display:flex}@media (width<=700px){.maintenance-hero{align-items:flex-start}.maintenance-power{justify-content:flex-start;width:100%}.maintenance-power button{flex:1}.power-status{justify-content:flex-start}.maintenance-grid{grid-template-columns:1fr;padding:8px 18px 18px}.maintenance-panel form>header,.maintenance-panel footer{padding-left:18px;padding-right:18px}.maintenance-panel form>label:not(.schedule-switch){margin-left:18px;margin-right:18px}.schedule-switch{margin:18px!important}.maintenance-tabs{overflow:auto}.maintenance-tabs button{white-space:nowrap}}.wizard-modal{flex-direction:column;width:min(900px,100%);height:min(720px,100vh - 32px);max-height:none;display:flex;overflow:hidden;padding:0!important}.wizard-modal>header{flex:none;margin:0!important;padding:22px 28px!important;position:relative!important;top:auto!important}.wizard-modal>header p{margin-bottom:0!important}.wizard-progress{background:var(--surface);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:0;padding:15px 26px;display:grid}.wizard-progress button{color:var(--muted);background:0 0;justify-items:center;gap:5px;padding:0 4px;font-size:10px;display:grid;position:relative}.wizard-progress button:after{content:"";background:var(--line);width:calc(100% - 36px);height:2px;position:absolute;top:14px;left:calc(50% + 18px)}.wizard-progress button:last-child:after{display:none}.wizard-progress button>span{z-index:1;background:var(--surface-2);border:1px solid var(--line);border-radius:50%;place-items:center;width:29px;height:29px;font-weight:800;display:grid;position:relative}.wizard-progress button.active,.wizard-progress button.done{color:var(--accent)}.wizard-progress button.active>span{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 5px var(--accent-soft)}.wizard-progress button.done>span{background:var(--accent-soft);border-color:var(--accent-line)}.wizard-progress button.done:after{background:var(--accent-line)}.wizard-body{background:var(--accent-wash);flex:1;min-height:0;padding:24px 30px;overflow:auto}.wizard-step{animation:.25s both wizard-step}.step-heading{margin-bottom:20px}.step-heading h3{color:var(--ink);margin:0 0 5px;font-size:21px}.step-heading p{color:var(--muted);margin:0;font-size:12px}.wizard-step>label{color:var(--ink);margin:14px 0;font-size:12px;font-weight:700;display:block}.wizard-step label>small{float:right;color:var(--muted);font-weight:500}.component-picker{grid-template-columns:1fr 1fr;gap:18px;display:grid}.component-picker>section{background:var(--surface);border:1px solid var(--accent-line);box-shadow:0 9px 24px var(--theme-shadow);border-radius:15px;padding:15px}.component-picker>section>header{color:var(--accent);align-items:center;gap:9px;margin-bottom:12px;display:flex}.component-picker>section>header>div{display:grid}.component-picker header small{color:var(--muted);font-size:9px}.component-picker>section>button{text-align:left;background:var(--surface-2);border:1px solid var(--line);width:100%;color:var(--ink);grid-template-columns:1fr auto 18px;align-items:center;gap:9px;margin-top:8px;padding:12px;display:grid}.component-picker>section>button.selected{background:var(--accent-soft);border-color:var(--accent)}.component-picker button>span{gap:4px;display:grid}.component-picker button small{color:var(--muted);font-size:9px;font-weight:500;line-height:1.35}.component-picker button em{color:var(--accent);white-space:nowrap;font-size:9px;font-style:normal}.component-picker button svg{color:var(--accent)}.pipeline-preview{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px;display:grid}.pipeline-preview>section{background:var(--surface);border:1px solid var(--accent-line);border-radius:13px;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:15px;display:grid}.pipeline-preview svg{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border-radius:10px;padding:8px}.pipeline-preview div{gap:3px;display:grid}.pipeline-preview small{color:var(--muted)}.pipeline-preview>section>span{color:var(--accent);background:var(--accent-soft);border-radius:6px;padding:5px 7px;font-size:9px}.wizard-upload{margin-top:18px!important}.review-architecture{background:var(--surface);border:1px solid var(--accent-line);border-radius:15px;grid-template-columns:1fr auto 1.3fr auto 1fr;align-items:center;gap:14px;padding:18px;display:grid}.review-architecture>div{text-align:center;justify-items:center;gap:5px;display:grid}.review-architecture svg{color:var(--accent)}.review-architecture small{color:var(--muted)}.review-architecture>span{color:var(--accent);font-size:22px}.review-architecture>section{gap:7px;display:grid}.review-architecture>section b{text-align:center;background:var(--accent-soft);color:var(--accent);border-radius:8px;padding:9px;font-size:10px}.review-grid{grid-template-columns:1fr 1fr;gap:11px;margin-top:14px;display:grid}.review-grid>section{background:var(--surface);border:1px solid var(--line);border-radius:11px;gap:5px;padding:13px;display:grid}.review-grid>section>span{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:800}.review-grid code{overflow-wrap:anywhere;font-size:9px}.review-grid small{color:var(--muted)}.wizard-error{margin:0 28px}.wizard-modal>footer{flex:none;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;background:var(--surface)!important;margin:0!important;padding:14px 28px!important;position:relative!important;bottom:auto!important}.wizard-modal>footer>button:last-child{justify-self:end}.wizard-modal>footer>span{color:var(--muted);font-size:10px}@keyframes wizard-step{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}@media (width<=680px){.wizard-modal{height:calc(100vh - 12px)}.wizard-progress{padding:12px 10px}.wizard-progress small{display:none}.wizard-body{padding:18px}.component-picker,.pipeline-preview,.review-grid,.review-architecture{grid-template-columns:1fr}.review-architecture>span{transform:rotate(90deg)}.wizard-modal>footer{padding:12px 16px!important}}.page.maintenance-page{max-width:1480px}.upload-result-counters{flex-wrap:wrap;align-items:center;gap:9px;width:100%;display:flex}.upload-result-counters>span{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:9px;align-items:baseline;gap:5px;padding:7px 10px;font-size:13px;display:inline-flex}.upload-result-counters b{color:var(--accent);font-size:18px}.upload-result-counters .uploaded{border-color:#9bd7b4}.upload-result-counters .uploaded b{color:#187a48}.upload-result-counters .skipped{border-color:#d7c798}.upload-result-counters .skipped b{color:#a87920}.upload-result-counters .failed{border-color:#e4b0aa}.upload-result-counters .failed b{color:#b63e36}.upload-log-table{font-size:13px}.upload-log-head,.upload-log-row{grid-template-columns:minmax(180px,1fr) 135px minmax(280px,1.5fr);padding-top:13px;padding-bottom:13px}.upload-result{font-weight:800}.upload-result.uploaded{color:#187a48}.upload-result.skipped{color:#a87920}.upload-result.error{color:#b63e36}@media (width<=700px){.upload-log-head,.upload-log-row{grid-template-columns:minmax(130px,1fr) 100px minmax(180px,1.2fr);gap:10px;padding-left:18px;padding-right:18px}.upload-result-counters>span{font-size:12px}}.progress-actions{flex-wrap:wrap;gap:9px;display:flex}.sync-inventory{grid-template-columns:1fr 1fr;gap:12px;padding:0 26px 18px;display:grid}.sync-inventory>div{border:1px solid var(--line);background:var(--surface-2);border-radius:13px;gap:5px;padding:15px 18px;display:grid}.sync-inventory span,.sync-inventory small{color:var(--muted);font-size:12px}.sync-inventory strong{letter-spacing:-.03em;color:var(--accent);font-size:22px}.sync-inventory small{font-size:10px}@media (width<=700px){.progress-panel>header{align-items:flex-start}.progress-actions{width:100%}.progress-actions button{flex:1}.sync-inventory{grid-template-columns:1fr;padding:0 18px 18px}}.knowledge-page{background:var(--page-bg);flex-direction:column;max-width:1800px;height:calc(100vh - 68px);margin:auto;padding:24px 30px 30px;display:flex}.knowledge-head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.knowledge-head>div>span{color:var(--accent);letter-spacing:.15em;align-items:center;gap:7px;font-size:10px;font-weight:800;display:flex}.knowledge-head h1{letter-spacing:-.03em;margin:5px 0 2px;font-size:27px}.knowledge-head p{color:var(--muted);margin:0;font-size:12px}.knowledge-head>button{padding:10px 14px;font-size:11px}.knowledge-head>button:disabled{opacity:.6}.knowledge-shell{background:#11151c;border:1px solid #27313d;border-radius:15px;flex:1;grid-template-columns:248px minmax(0,1fr);min-height:520px;display:grid;overflow:hidden;box-shadow:0 25px 70px #1720192b}.graph-sidebar{color:#d8dce3;background:#181d25;border-right:1px solid #2b333e;flex-direction:column;padding:17px;display:flex}.graph-search{color:#707a88;background:#11151b;border:1px solid #343d49;border-radius:8px;align-items:center;gap:8px;height:38px;padding:0 10px;display:flex}.graph-search:focus-within{border-color:#7669d8;box-shadow:0 0 0 3px #7669d81c}.graph-search input{color:#e8eaf0;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:11px}.graph-search button{color:#7d8794;background:0 0;padding:2px}.graph-label{color:#828b97;letter-spacing:.12em;text-transform:uppercase;gap:7px;margin:17px 0 2px;font-size:9px;font-weight:800;display:grid}.graph-label select{appearance:none;color:#d8dce3;background:#202630;border:1px solid #343d49;border-radius:7px;outline:0;width:100%;padding:9px 28px 9px 10px;font-size:11px}.graph-section{gap:4px;margin-top:19px;display:grid}.graph-section>b{color:#747e8b;text-transform:uppercase;letter-spacing:.13em;margin-bottom:7px;font-size:9px}.graph-section label,.legend-row{color:#c1c7d0;align-items:center;gap:9px;min-height:29px;font-size:11px;display:flex}.graph-section label input{opacity:0;position:absolute}.graph-section label>span{background:#3b424c;border-radius:12px;width:26px;height:15px;transition:all .2s;position:relative}.graph-section label>span:after{content:"";background:#9ba3ad;border-radius:50%;width:9px;height:9px;transition:all .2s;position:absolute;top:3px;left:3px}.graph-section label input:checked+span{background:#6f61d1}.graph-section label input:checked+span:after{background:#fff;left:14px}.graph-section label:has(input:disabled){opacity:.35}.legend-row{background:0 0;border-radius:5px;justify-content:flex-start;width:100%;padding:3px;font-weight:500}.legend-row:hover{background:#232a34}.legend-row i{border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px}.legend-row span{text-align:left;text-overflow:ellipsis;flex:1;overflow:hidden}.legend-row em{color:#6e7885;font-size:10px;font-style:normal}.graph-stats{border-top:1px solid #2b333e;gap:17px;margin-top:auto;padding-top:17px;display:flex}.graph-stats span{color:#707a87;font-size:9px;display:grid}.graph-stats strong{color:#dfe3e9;font-size:18px;font-weight:600}.graph-stage{background-color:#10141a;background-image:radial-gradient(#2c3440 1px,#0000 1px);background-size:24px 24px;position:relative;overflow:hidden}.graph-stage:before{content:"";pointer-events:none;background:radial-gradient(circle at 50% 45%,#20263499,#0000 68%);position:absolute;inset:0}.graph-svg{cursor:grab;touch-action:none;width:100%;height:100%;position:absolute;inset:0}.graph-svg:active{cursor:grabbing}.edge{stroke:#66717f;stroke-width:.65px;opacity:.38}.edge.hot{stroke:#a99df8;stroke-width:1.5px;opacity:.9}.graph-node{cursor:pointer}.graph-node circle:not(.node-hit){stroke:#d9dcff;stroke-width:.7px}.graph-node.selected circle:not(.node-hit){stroke:#fff;stroke-width:2px}.node-hit{fill:#0000}.graph-node text{fill:#b9c0ca;paint-order:stroke;stroke:#10141a;stroke-width:3px;stroke-linejoin:round;pointer-events:none;font-size:9px;font-weight:500}.graph-node:hover text,.graph-node.selected text{fill:#fff}.graph-tools{gap:7px;display:flex;position:absolute;bottom:16px;left:16px}.graph-tools button{color:#aeb5c0;background:#1b212a;border:1px solid #343d49;width:34px;height:34px;padding:0}.graph-tools button:hover,.graph-tools button.active{color:#fff;background:#30294f;border-color:#7769d8}.graph-tools svg{width:15px}.graph-zoom{color:#6e7783;font:10px monospace;position:absolute;bottom:16px;right:15px}.graph-state{color:#7e8794;place-content:center;justify-items:center;gap:8px;display:grid;position:absolute;inset:0}.graph-state svg{width:34px;height:34px;animation:1.3s linear infinite spin}.graph-state b{color:#d9dde4;font-size:13px}.graph-state span{font-size:11px}.graph-state button{margin-top:6px;padding:8px 12px;font-size:10px}.error-state svg{display:none}.depth-control{background:#141920;border:1px solid #303844;border-radius:8px;gap:5px;margin:10px 0 2px;padding:10px;transition:all .2s;display:grid}.depth-control.disabled{opacity:.35}.depth-control>div:first-child{color:#aeb6c1;justify-content:space-between;align-items:center;font-size:10px;display:flex}.depth-control strong{color:#fff;background:#6f61d1;border-radius:5px;place-items:center;width:20px;height:20px;font-size:10px;display:grid}.depth-control input[type=range]{accent-color:#8274e6;cursor:pointer;background:#343d49;border:0;border-radius:4px;width:100%;height:4px;margin:5px 0 0;padding:0}.depth-control input:disabled{cursor:not-allowed}.depth-scale{color:#68727f;justify-content:space-between;display:flex}.depth-scale small{font-size:8px}.node-inspector{z-index:3;color:#e4e7eb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#1b212aeb;border:1px solid #343d49;border-radius:12px;width:min(340px,100% - 36px);padding:19px;animation:.18s ease-out inspector-in;position:absolute;top:18px;right:18px;box-shadow:0 18px 50px #0008}.close-inspector{color:#7f8995;background:0 0;width:28px;height:28px;padding:0;position:absolute;top:10px;right:10px}.close-inspector svg{width:15px}.doc-kind{color:#9ca5b1;text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:7px;font-size:9px;display:flex}.doc-kind i{border-radius:50%;width:8px;height:8px}.doc-kind small{color:#767f8b;margin-left:auto;margin-right:27px}.node-inspector h2{margin:12px 0 5px;font-size:18px}.node-inspector>code{color:#858f9d;text-overflow:ellipsis;font-size:9px;display:block;overflow:hidden}.node-inspector p{color:#b1b8c2;margin:15px 0;font-size:11px;line-height:1.65}.node-inspector footer{border-top:1px solid #303844;justify-content:space-between;align-items:center;gap:12px;margin-top:17px;padding-top:13px;display:flex}.node-inspector footer span,.node-inspector footer a{align-items:center;gap:5px;font-size:10px;display:flex}.node-inspector footer span{color:#8c96a2}.node-inspector footer a{color:#afa4f3;font-weight:700;text-decoration:none}.markdown-reader{z-index:5;color:#d8dde5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#1a2029f7;border:1px solid #3a4452;border-radius:14px;flex-direction:column;animation:.2s ease-out inspector-in;display:flex;position:absolute;inset:18px 18px 18px max(18px,8%);overflow:hidden;box-shadow:0 24px 80px #000b}.markdown-reader>header{background:#1d242e;border-bottom:1px solid #303946;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 24px 17px;display:flex}.markdown-reader h2{color:#f3f5f8;margin:8px 0 4px;font-size:22px}.markdown-reader header code{color:#818c99;font-size:10px}.markdown-reader .doc-kind small{color:#788391;margin:0}.reader-actions{align-items:center;gap:7px;display:flex}.reader-actions>a{color:#b8aff8;border:1px solid #414b59;border-radius:7px;align-items:center;gap:6px;padding:8px 10px;font-size:10px;font-weight:700;text-decoration:none;display:flex}.markdown-reader .close-inspector{color:#aeb6c1;background:#252c36;border:1px solid #414b59;position:static}.markdown-scroll{scrollbar-color:#566171 transparent;flex:1;padding:25px clamp(24px,6vw,74px) 48px;overflow:auto}.markdown-scroll>*{max-width:920px;margin-left:auto;margin-right:auto}.markdown-scroll h1{color:#fff;letter-spacing:-.025em;margin-top:0;font-size:30px}.markdown-scroll h2{color:#edf0f4;border-bottom:1px solid #343e4a;margin-top:32px;padding-bottom:8px;font-size:20px}.markdown-scroll h3{color:#e6e9ee;margin-top:26px;font-size:16px}.markdown-scroll p,.markdown-scroll li{color:#c3cad3;font-size:13px;line-height:1.75}.markdown-scroll li+li{margin-top:5px}.markdown-scroll a{color:#a99df8}.markdown-scroll code{color:#9fd6c2;background:#11161d;border:1px solid #37414d;border-radius:4px;padding:2px 5px;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.markdown-scroll pre{background:#10151c;border:1px solid #343e4a;border-radius:9px;padding:16px;overflow:auto}.markdown-scroll pre code{color:#d7dce3;background:0 0;border:0;padding:0}.markdown-scroll blockquote{color:#aeb6c1;border-left:3px solid #7669d8;margin-left:auto;padding:3px 16px}.markdown-scroll table{border-collapse:collapse;width:100%;font-size:12px}.markdown-scroll th,.markdown-scroll td{text-align:left;border:1px solid #394451;padding:9px 11px}.markdown-scroll th{color:#edf0f4;background:#252d38}.markdown-reader>footer{background:#1d242e;border-top:1px solid #303946;align-items:center;gap:14px;min-height:48px;padding:9px 24px;display:flex}.markdown-reader>footer>span{color:#8f99a6;align-items:center;gap:6px;font-size:10px;display:flex}.markdown-reader .tag-list{margin-left:auto}.tag-list{flex-wrap:wrap;gap:5px;display:flex}.tag-list span{color:#9f96e8;background:#252a37;border:1px solid #3b4451;border-radius:5px;padding:4px 6px;font-size:9px}.graph-warnings{color:#8a601b;background:#fff1db;padding:8px 12px;font-size:10px}@keyframes inspector-in{0%{opacity:0;transform:translate(8px)}}.markdown-version-warning{color:#e9d99c;background:#332d1d;border:1px solid #695f38;border-radius:8px;gap:5px;max-width:920px;margin:0 auto 22px;padding:13px 15px;display:grid}.markdown-version-warning b{font-size:12px}.markdown-version-warning span{color:#c8ba88;font-size:10px;line-height:1.5}@media (width<=800px){.knowledge-page{height:auto;min-height:calc(100vh - 68px);padding:18px}.knowledge-shell{grid-template-rows:auto 65vh;grid-template-columns:1fr}.graph-sidebar{border-bottom:1px solid #2b333e;border-right:0;grid-template-columns:1fr 1fr;gap:10px;display:grid}.graph-section,.graph-stats{display:none}.graph-label{margin:0}.knowledge-head p{display:none}.knowledge-head h1{font-size:22px}.knowledge-head>button{font-size:0}.knowledge-head>button svg{margin:0}.markdown-reader{inset:8px}.markdown-reader>header{padding:16px}.markdown-reader h2{font-size:18px}.markdown-scroll{padding:20px 18px 40px}.reader-actions>a{display:none}}
