:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d10;--surface:#12161b;--surface-2:#181d24;--line:#28303a;--text:#f4f6f8;--muted:#98a5b3;--brand:#ca9b55;--brand-deep:#9e7137;--green:#55c98b;--red:#ff7474;--blue:#68a7ff;--radius:12px}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--blue);outline-offset:2px}code{color:#c8d2dd;font-family:SFMono-Regular,Consolas,monospace;font-size:.82rem}.app-shell{grid-template:88px 1fr/220px 1fr;min-height:100vh;display:grid}.resource-header{border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#12161bf5;grid-column:1/-1;align-items:center;gap:26px;padding:14px 24px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;min-width:180px;display:flex}.brand-mark{color:#17110a;background:linear-gradient(145deg, #f0c682, var(--brand-deep));border-radius:10px;place-items:center;width:42px;height:42px;font:800 1.35rem Georgia,serif;display:grid;box-shadow:inset 0 1px #ffffff59}.brand strong,.brand small{display:block}.brand small{color:var(--muted);margin-top:2px;font-size:.72rem}.resource-grid{border:1px solid var(--line);background:var(--line);border-radius:9px;flex:1;grid-template-columns:repeat(4,minmax(150px,1fr));gap:1px;display:grid;overflow:hidden}.metric{background:var(--surface-2);min-height:56px;padding:8px 13px}.metric small,.metric strong,.metric span{display:block}.metric small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.62rem}.metric strong{margin-top:3px;font-size:.88rem}.metric span{color:var(--muted);margin-top:2px;font-size:.68rem}.connection{white-space:nowrap;color:var(--muted);align-items:center;gap:7px;font-size:.75rem;display:inline-flex}.connection>span{background:#68717c;border-radius:50%;width:7px;height:7px}.connection.connected>span{background:var(--green);box-shadow:0 0 0 4px #55c98b1f}.connection.disconnected>span{background:var(--red)}.metrics-status{text-align:right}.sample-time{color:var(--muted);margin-top:5px;font-size:.68rem;display:block}.sidebar{border-right:1px solid var(--line);background:#0e1115;flex-direction:column;justify-content:space-between;padding:24px 14px;display:flex}.sidebar nav{gap:6px;display:grid}.sidebar a,.text-button{min-height:44px;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;padding:0 13px;display:flex}.sidebar a:hover,.sidebar a.active,.text-button:hover{color:var(--text);background:var(--surface-2)}.sidebar a.active{box-shadow:inset 3px 0 var(--brand)}.main-content{min-width:0;padding:36px clamp(24px,4vw,56px) 60px}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.page-heading h1{letter-spacing:-.025em;margin:2px 0 8px;font:600 clamp(2rem,4vw,3.1rem)/1.05 Georgia,serif}.page-heading p:not(.eyebrow){color:var(--muted);margin:0}.eyebrow{color:var(--brand);text-transform:uppercase;letter-spacing:.14em;margin:0;font-size:.68rem;font-weight:700}.heading-actions{flex-wrap:wrap;gap:10px;display:flex}.primary-button,.secondary-button,.danger-button,.icon-button{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:0 16px;font-weight:650;display:inline-flex}.primary-button{background:var(--brand);color:#18110a}.primary-button:hover{background:#ddb36e}.secondary-button{background:var(--surface-2);border-color:var(--line);color:var(--text)}.danger-button{color:#ff9b9b;background:0 0;border-color:#773b3b}.danger-button:hover{background:#ff74741a}button:disabled{opacity:.6;cursor:wait}.toolbar{color:var(--muted);justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;font-size:.8rem;display:flex}.search-label{flex:1;max-width:470px}input{width:100%;min-height:44px;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:0 13px}input::placeholder{color:#687380}.instance-grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px;display:grid}.task-list{gap:12px;display:grid}.task-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:minmax(260px,1fr) auto auto;align-items:center;gap:28px;padding:20px;display:grid}.task-row h2{margin:5px 0;font-size:1rem}.task-row>div>span{color:var(--muted);font-size:.72rem}.task-row dl{grid-template-columns:repeat(3,74px);gap:14px;margin:0;display:grid}.task-status{gap:8px;display:flex}.instance-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:19px;transition:border-color .15s,transform .15s}.instance-card:hover{border-color:#52606f;transform:translateY(-1px)}.card-top{grid-template-columns:44px 1fr auto;align-items:center;gap:12px;display:grid}.app-icon,.artifact-icon{width:44px;height:44px;color:var(--brand);background:#242018;border:1px solid #463a29;border-radius:9px;place-items:center;font-size:.78rem;font-weight:800;display:grid}.card-top h2{margin:0 0 4px;font-size:1rem}.card-details{border-block:1px solid var(--line);grid-template-columns:1fr 1fr;gap:14px;margin:17px 0;padding:18px 0;display:grid}dt,small{color:var(--muted);font-size:.7rem}dd{text-overflow:ellipsis;margin:4px 0 0;font-size:.84rem;overflow:hidden}.instance-card footer{color:var(--muted);justify-content:space-between;align-items:center;font-size:.72rem;display:flex}.status{text-transform:capitalize;white-space:nowrap;border-radius:999px;align-items:center;min-height:25px;padding:3px 8px;font-size:.68rem;font-weight:700;display:inline-flex}.status-success{color:#8ae7b2;background:#55c98b1f;border:1px solid #55c98b40}.status-danger{color:#ff9b9b;background:#ff74741a;border:1px solid #ff747438}.status-active{color:#9cc6ff;background:#68a7ff1a;border:1px solid #68a7ff38}.status-neutral{color:#b7c0ca;background:#98a5b31a;border:1px solid #98a5b32e}.progress-block>div,.progress-label{color:var(--muted);justify-content:space-between;margin-bottom:7px;font-size:.72rem;display:flex}progress{width:100%;height:5px;accent-color:var(--blue);display:block}.progress-block{margin-bottom:16px}.empty-state,.panel-empty{color:var(--muted)}.empty-state{text-align:center;border:1px dashed var(--line);border-radius:var(--radius);padding:80px 20px}.empty-state h2{color:var(--text)}.notice{border-radius:8px;margin-bottom:18px;padding:12px 14px}.notice.danger,.form-error{color:#ffabab;background:#ff74741a;border:1px solid #ff747440}.notice-action{margin-left:16px}.skeleton-list{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.skeleton-list div,.skeleton-detail{border-radius:var(--radius);background:linear-gradient(90deg, var(--surface), var(--surface-2), var(--surface));background-size:200%;height:260px;animation:1.3s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.back-link{color:var(--muted);min-height:44px;margin-bottom:24px;line-height:44px;display:inline-block}.summary-strip{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(4,1fr);margin-bottom:20px;display:grid}.summary-strip>div{border-right:1px solid var(--line);min-height:80px;padding:15px 18px}.summary-strip>div:last-child{border:0}.summary-strip small,.summary-strip strong{margin-bottom:8px;display:block}.detail-grid{grid-template-columns:1fr;gap:18px;display:grid}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:72px;padding:15px 20px;display:flex}.panel h2{margin:3px 0 0;font-size:1rem}.panel-empty{margin:0;padding:30px 20px}.source-row,.build-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,1.4fr) minmax(150px,1fr) minmax(150px,1fr) auto;align-items:center;gap:20px;min-height:76px;padding:13px 20px;display:grid}.source-row:last-child,.build-row:last-child{border:0}.source-row>div>*,.build-row>div>*{display:block}.source-row span,.build-row span{color:var(--muted);margin-top:4px;font-size:.72rem}.build-row{grid-template-columns:180px 1fr auto auto}.grow{min-width:160px}.artifact-list>a,.artifact-list>button{border-bottom:1px solid var(--line);width:100%;min-height:68px;color:var(--text);border-inline:0;text-align:left;cursor:pointer;background:0 0;border-top:0;grid-template-columns:40px 1fr auto auto;align-items:center;gap:14px;padding:11px 20px;display:grid}.artifact-list>a:hover,.artifact-list>button:hover{background:var(--surface-2)}.route-list>a,.route-list>button{border-bottom:1px solid var(--line);width:100%;min-height:64px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:180px 1fr auto;align-items:center;gap:16px;padding:11px 20px;display:grid}.route-list>a:hover,.route-list>button:hover{background:var(--surface-2)}.route-list strong,.route-list span{display:block}.test-run{border-bottom:1px solid var(--line)}.test-run:last-child{border:0}.test-run-heading,.check-row{justify-content:space-between;align-items:center;gap:18px;padding:13px 20px;display:flex}.test-run-heading{background:var(--surface-2)}.test-run-heading strong,.test-run-heading span,.check-row strong,.check-row span{display:block}.test-run-heading span,.check-row span{color:var(--muted);margin-top:4px;font-size:.72rem}.check-row{border-top:1px solid var(--line);min-height:62px}.check-row>div{flex:1;min-width:0}.check-row .check-message{color:#ffb1b1}.check-row .artifact-state{white-space:nowrap}.operation-row{border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:18px;min-height:64px;padding:12px 20px;display:grid}.operation-row:last-child{border:0}.operation-row strong,.operation-row span{display:block}.operation-row span{color:var(--muted);margin-top:4px;font-size:.72rem}.operation-row .check-message{color:#ffb1b1}.route-list span{color:var(--muted);margin-top:3px;font-size:.72rem}.artifact-icon{width:38px;height:38px}.artifact-list strong,.artifact-list code{display:block}.artifact-list span,.artifact-list time{color:var(--muted);font-size:.72rem}.outcome-counts{grid-template-columns:repeat(4,1fr);margin:0;display:grid}.outcome-counts div{border-right:1px solid var(--line);padding:18px 20px}.outcome-counts dd{font-size:1.5rem;font-weight:700}.manifest{border-top:1px solid var(--line);padding:16px 20px}.manifest small,.manifest code{display:block}.log-modal{width:min(1100px,100vw - 32px);height:min(760px,100vh - 32px);color:var(--text);background:#0b0e12;border:1px solid #3a4551;border-radius:13px;padding:0;box-shadow:0 24px 80px #0000008c}.log-modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#000000b8}.log-modal>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:74px;padding:15px 20px;display:flex}.log-modal h2{margin:3px 0 0}.icon-button{width:44px;color:var(--muted);background:0 0;padding:0;font-size:1.6rem}.log-toolbar{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 20px;display:flex}.log-toolbar input{max-width:390px}.log-toolbar .connection{margin-left:auto}.log-output{height:calc(100% - 143px);padding:14px 20px;font:12px/1.55 SFMono-Regular,Consolas,monospace;overflow:auto}.log-output>div{grid-template-columns:90px 140px 1fr;gap:12px;padding:3px 0;display:grid}.log-output time,.log-output b{color:#718091}.log-output .stderr span{color:#ff9b9b}.login-page{background:radial-gradient(circle at 50% 20%, #252117 0, transparent 36%), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);background:#12161bf5;border-radius:15px;width:min(440px,100%);padding:34px;box-shadow:0 28px 90px #0006}.login-brand{margin-bottom:38px}.login-card h1{margin:0 0 8px;font:600 2.3rem Georgia,serif}.login-card>p{color:var(--muted);margin:0 0 26px}.login-card form{gap:17px;display:grid}.login-card label{color:#cbd3dc;gap:7px;font-size:.82rem;display:grid}.delete-modal{z-index:50;width:min(620px,100vw - 32px);color:var(--text);background:var(--surface);border:1px solid #773b3b;border-radius:13px;margin:auto;padding:0;position:fixed;inset:0;box-shadow:0 24px 80px #000000a6}.delete-modal::backdrop{background:#000000bf}.delete-modal>div{padding:26px}.delete-modal h2{margin:5px 0 10px}.delete-modal p:not(.eyebrow){color:var(--muted);line-height:1.55}.delete-modal dl{border-block:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:20px 0;display:grid}.delete-modal dl div{padding:13px 8px}.delete-modal label{gap:8px;margin-bottom:20px;font-size:.82rem;display:grid}.delete-modal .heading-actions{justify-content:flex-end}.form-error{border-radius:7px;padding:10px 12px;font-size:.82rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:1000px){.app-shell{grid-template:auto auto 1fr/1fr}.resource-header{flex-wrap:wrap;position:static}.resource-grid{flex-basis:100%;order:3;grid-template-columns:repeat(2,1fr)}.sidebar{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;padding:8px 20px}.sidebar nav{display:flex;overflow-x:auto}.sidebar a,.text-button{white-space:nowrap;padding-inline:12px}.source-row,.build-row,.task-row{grid-template-columns:1fr 1fr}}@media (max-width:620px){.resource-header{padding:12px 16px}.connection{margin-left:auto}.main-content{padding:24px 16px 50px}.page-heading{flex-direction:column;align-items:stretch}.heading-actions{display:grid}.summary-strip{grid-template-columns:1fr 1fr}.summary-strip>div:nth-child(2){border-right:0}.summary-strip>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.source-row,.build-row,.task-row{grid-template-columns:1fr;gap:11px}.artifact-list>a,.artifact-list>button{grid-template-columns:40px 1fr auto}.artifact-list time{display:none}.outcome-counts{grid-template-columns:1fr 1fr}.log-toolbar{flex-wrap:wrap}.log-toolbar input{flex-basis:100%;max-width:none}.log-output>div{grid-template-columns:75px 1fr}.log-output>div span{grid-column:1/-1}}.stack-create-grid{grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);align-items:start;gap:18px;display:grid}.stack-form-body,.review-summary{gap:18px;padding:20px;display:grid}.stack-field{gap:7px;margin:0;display:grid}.stack-field>span,.stack-field legend{color:var(--text);font-size:.78rem;font-weight:700}.stack-field small,.check-field small{color:var(--muted);font-size:.7rem}.field-error{color:#ffabab!important}select{width:100%;min-height:44px;color:var(--text);background:var(--surface);border:1px solid var(--line);font:inherit;border-radius:8px;padding:0 13px}select:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.check-field{border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:flex-start;gap:12px;padding:14px;display:flex}.check-field input{width:18px;min-height:18px;margin:2px 0 0}.check-field strong,.check-field small{display:block}.check-field small{margin-top:4px}.task-association{border:0;padding:0}.segmented-control{border:1px solid var(--line);background:var(--bg);border-radius:9px;grid-template-columns:1fr 1fr;padding:3px;display:grid}.segmented-control button{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px}.segmented-control button.active{color:var(--text);background:var(--surface-2)}.stack-actions{border-top:1px solid var(--line);justify-content:flex-end;padding:16px 20px;display:flex}.review-summary>dl{grid-template-columns:repeat(3,1fr);gap:12px;margin:0;display:grid}.review-summary>dl>div,.review-source{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;padding:14px}.review-source{gap:7px;display:grid}.review-source span{color:var(--muted);font-size:.72rem}.review-source code{overflow-wrap:anywhere}.dependency-list{flex-wrap:wrap;gap:8px;display:flex}.dependency-list span{color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:5px 9px;font-size:.7rem}@media (max-width:980px){.stack-create-grid{grid-template-columns:1fr}}
