@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{color-scheme:dark;--c-amber-200:253 230 138;--c-amber-400:251 191 36;--c-amber-500:245 158 11;--c-amber-700:180 83 9;--c-amber-900:120 53 15;--c-black:0 0 0;--c-blue-100:219 234 254;--c-blue-300:147 197 253;--c-blue-400:96 165 250;--c-blue-500:59 130 246;--c-blue-900:30 58 138;--c-cyan-400:34 211 238;--c-cyan-50:236 254 255;--c-cyan-600:8 145 178;--c-cyan-700:14 116 144;--c-emerald-100:209 250 229;--c-emerald-200:167 243 208;--c-emerald-400:52 211 153;--c-gray-900:17 24 39;--c-green-200:187 247 208;--c-green-300:134 239 172;--c-green-500:34 197 94;--c-green-800:22 101 52;--c-green-900:20 83 45;--c-mint-50:223 253 243;--c-placeholder:135 133 147;--c-purple-300:216 180 254;--c-purple-400:192 132 252;--c-purple-50:243 232 255;--c-purple-500:168 85 247;--c-purple-700:126 34 206;--c-red-200:254 202 202;--c-red-300:252 165 165;--c-red-400:248 113 113;--c-red-500:239 68 68;--c-red-700:185 28 28;--c-red-900:127 29 29;--c-rose-400:251 113 133;--c-rose-50:255 241 242;--c-sky-100:224 242 254;--c-sky-200:186 230 253;--c-sky-300:125 211 252;--c-sky-400:56 189 248;--c-sky-500:14 165 233;--c-sky-900:12 74 110;--c-slate-200:226 232 240;--c-slate-300:203 213 225;--c-slate-400:148 163 184;--c-slate-700:51 65 85;--c-slate-800:33 33 40;--c-slate-900:22 22 27;--c-slate-950:13 13 16;--c-violet-400:167 139 250;--c-violet-600:124 58 237;--c-white:255 255 255;--c-yellow-400:250 204 21;--c-slate-50:248 250 252;--c-slate-100:241 245 249;--c-slate-500:100 116 139;--c-slate-600:71 85 105;--c-rose-100:255 228 230;--c-rose-200:254 205 211;--c-rose-300:253 164 175;--c-rose-500:244 63 94;--c-pink-300:249 168 212;--c-green-600:22 163 74;--c-amber-600:217 119 6;--c-red-600:220 38 38;--c-ink-text:15 23 42;--c-ink-900:10 10 12;--c-ink-850:20 20 24;--c-ink-panel:19 19 23;--c-ink-panel-strong:22 22 27;--c-ink-accent-text:2 17 27;--c-ink-031525:15 15 18;--c-ink-04111f:14 14 17;--c-ink-050814:10 10 12;--c-ink-060913:11 11 13;--c-ink-070b14:12 12 15;--c-ink-080d18:15 15 18;--c-ink-090e19:16 16 19;--c-ink-0a0f1b:17 17 20;--c-ink-0a0f1c:17 17 21;--c-ink-0b111d:18 18 22;--c-ink-0c121f:19 19 23;--c-ink-0c1220:19 19 23;--c-ink-0d0c16:17 17 20;--c-ink-0d1524:21 21 25;--c-ink-140a20:20 10 32;--c-ink-280e12:40 14 18;--c-surface-0:9 9 11;--c-surface-1:15 15 18;--c-surface-2:22 22 27;--c-surface-3:31 31 38;--bg:rgb(var(--c-surface-0));--bg-soft:rgb(var(--c-surface-1));--panel:rgb(var(--c-surface-2) / .78);--panel-strong:rgb(var(--c-surface-2));--text:rgb(var(--c-slate-50));--text-secondary:rgb(var(--c-slate-300));--text-strong:rgb(var(--c-slate-200));--muted:rgb(var(--c-slate-400));--text-muted:rgb(var(--c-slate-400) / .85);--text-on-accent:rgb(var(--c-ink-accent-text));--border:rgb(var(--c-white) / .08);--border-strong:rgb(var(--c-white) / .16);--border-subtle:rgb(var(--c-white) / .06);--accent:rgb(var(--c-sky-400));--accent-soft:rgb(var(--c-sky-400) / .18);--link:rgb(var(--c-sky-400));--success:rgb(var(--c-emerald-400));--success-soft:rgb(var(--c-emerald-400) / .12);--success-text:rgb(var(--c-green-200));--warning:rgb(var(--c-amber-500));--warning-text:rgb(var(--c-amber-200));--danger:rgb(var(--c-red-400));--danger-soft:rgb(var(--c-red-400) / .28);--danger-text:rgb(var(--c-red-200));--shadow:0 1px 2px rgb(var(--c-black) / .4), 0 10px 28px rgb(var(--c-black) / .5);--scrim:rgb(var(--c-black) / .66);--gradient-app-bg:radial-gradient(120% 80% at 50% -20%, rgb(var(--c-sky-400) / .08), transparent 60%), linear-gradient(180deg, rgb(var(--c-surface-0)) 0%, rgb(var(--c-surface-0)) 100%);--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--tracking-tight:-.011em;--tracking-tighter:-.02em;--rail-width:56px;--topbar-height:52px}[data-theme=light]{color-scheme:light;--c-ink-900:255 245 247;--c-ink-850:255 255 255;--c-ink-panel:255 255 255;--c-ink-panel-strong:255 255 255;--c-ink-070b14:255 255 255;--c-ink-080d18:255 255 255;--c-ink-090e19:255 255 255;--c-ink-0a0f1b:255 255 255;--c-ink-0a0f1c:255 255 255;--c-ink-0b111d:255 255 255;--c-ink-0c121f:255 255 255;--c-ink-0c1220:255 255 255;--c-ink-0d0c16:255 255 255;--c-ink-0d1524:255 255 255;--c-ink-031525:255 255 255;--c-ink-04111f:255 255 255;--c-ink-050814:255 245 247;--c-ink-060913:255 245 247;--c-ink-140a20:255 255 255;--c-ink-280e12:255 255 255;--c-slate-950:255 255 255;--c-slate-900:255 255 255;--c-slate-800:255 255 255;--c-gray-900:255 255 255;--c-surface-0:255 255 255;--c-surface-1:255 255 255;--c-surface-2:255 255 255;--c-surface-3:248 250 252;--c-sky-400:244 63 94;--c-sky-500:225 29 72;--c-sky-300:225 29 72;--c-sky-200:190 18 60;--c-sky-100:255 228 230;--c-cyan-600:225 29 72;--c-cyan-700:190 18 60;--c-cyan-400:251 113 133;--c-blue-900:219 234 254;--c-sky-900:224 242 254;--c-red-900:254 226 226;--c-amber-900:254 243 199;--c-green-900:220 252 231;--c-blue-100:225 29 72;--c-mint-50:22 101 52;--c-green-300:22 101 52;--c-emerald-200:22 101 52;--c-emerald-100:22 101 52;--c-red-300:185 28 28;--bg:rgb(var(--c-slate-50));--bg-soft:rgb(var(--c-slate-100));--panel:rgb(var(--c-white));--panel-strong:rgb(var(--c-white));--text:rgb(var(--c-ink-text));--text-secondary:rgb(var(--c-slate-700));--text-strong:rgb(var(--c-ink-text));--muted:rgb(var(--c-slate-600));--text-muted:rgb(var(--c-slate-500));--text-on-accent:rgb(var(--c-white));--border:rgb(var(--c-slate-300) / .75);--border-strong:rgb(var(--c-slate-400) / .7);--border-subtle:rgb(var(--c-slate-300) / .45);--accent:rgb(var(--c-rose-500));--accent-soft:rgb(var(--c-rose-500) / .14);--link:rgb(var(--c-violet-600));--success:rgb(var(--c-green-600));--success-soft:rgb(var(--c-green-600) / .14);--success-text:rgb(var(--c-green-800));--warning:rgb(var(--c-amber-600));--warning-text:rgb(var(--c-amber-700));--danger:rgb(var(--c-red-600));--danger-soft:rgb(var(--c-red-600) / .12);--danger-text:rgb(var(--c-red-700));--shadow:0 1px 2px rgb(var(--c-slate-900) / .06), 0 10px 28px rgb(var(--c-slate-900) / .08);--scrim:rgb(var(--c-slate-900) / .32);--gradient-app-bg:radial-gradient(120% 80% at 50% -20%, rgb(var(--c-slate-200) / .6), transparent 60%), linear-gradient(180deg, rgb(var(--c-slate-50)) 0%, rgb(var(--c-slate-100)) 100%)}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--gradient-app-bg);color:var(--text);font-family:var(--font-sans);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;background-attachment:fixed}a{color:inherit;text-decoration:none}.app-shell{grid-template-columns:var(--rail-width) minmax(0, 1fr);height:100dvh;display:grid}.app-rail{z-index:20;border-right:1px solid var(--border);background:rgb(var(--c-surface-1) / .7);backdrop-filter:blur(16px);flex-direction:column;align-items:center;gap:1rem;padding:.75rem 0;display:flex;position:relative}.rail-brand{place-items:center;padding:.25rem;display:grid}.rail-brand__mark{background:linear-gradient(135deg, rgb(var(--c-cyan-400) / .9), rgb(var(--c-cyan-700) / .9));width:2rem;height:2rem;color:rgb(var(--c-ink-04111f));box-shadow:0 8px 20px rgb(var(--c-cyan-400) / .25);border-radius:.75rem;place-items:center;font-size:.95rem;font-weight:700;display:grid}.rail-brand__mark--muted{background:rgb(var(--c-slate-400) / .14);color:var(--muted);box-shadow:none;font-size:.75rem}.rail-nav{gap:.35rem;width:100%;padding:0 .35rem;display:grid}.rail-link{aspect-ratio:1;width:100%;color:var(--muted);border:1px solid #0000;border-radius:.75rem;place-items:center;transition:color .18s,border-color .18s,background .18s;display:grid}.rail-link:hover,.rail-link.is-active{color:var(--accent);border-color:var(--border-strong);background:var(--accent-soft)}.rail-foot{margin-top:auto;padding-bottom:.35rem}.user{position:relative}.user__trigger{background:rgb(var(--c-slate-400) / .14);width:2rem;height:2rem;color:var(--muted);cursor:pointer;border:1px solid #0000;border-radius:.75rem;place-items:center;list-style:none;transition:color .18s,border-color .18s,background .18s;display:grid}.user__trigger::-webkit-details-marker{display:none}.user__trigger:hover,.user[open] .user__trigger{color:rgb(var(--c-blue-100));border-color:var(--border-strong);background:rgb(var(--c-sky-500) / .1)}.user__avatar{font-size:.75rem;font-weight:700}.user__menu{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .94);min-width:12rem;box-shadow:var(--shadow);border-radius:1rem;gap:.5rem;padding:.55rem;display:grid;position:absolute;bottom:0;left:calc(100% + .75rem)}.user__identity{align-items:center;gap:.45rem;min-width:0;display:flex}.user__name{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:600;overflow:hidden}.user__badge{background:var(--success-soft);color:rgb(var(--c-emerald-200));text-transform:uppercase;border-radius:999px;padding:.12rem .4rem;font-size:.68rem;font-weight:700}.user form{margin:0}.user__logout{background:rgb(var(--c-slate-400) / .12);width:100%;color:var(--muted);font:inherit;cursor:pointer;border:0;border-radius:999px;padding:.4rem .65rem;font-size:.75rem;font-weight:700}.user__logout:hover{color:var(--text);background:var(--border-subtle)}.app-viewport{flex-direction:column;min-width:0;min-height:0;display:flex}.app-topbar{z-index:30;min-height:var(--topbar-height);border-bottom:1px solid var(--border);background:rgb(var(--c-surface-0) / .7);backdrop-filter:blur(16px)saturate(140%);justify-content:space-between;align-items:center;gap:1rem;padding:0 1rem;display:flex;position:relative}.topbar-title{align-items:center;gap:.5rem;min-width:0;display:flex;position:relative}.topbar-title h1{letter-spacing:var(--tracking-tight);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.95rem;font-weight:600;overflow:hidden}.topbar-crumb{color:var(--muted);align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.topbar-crumb a:hover{color:var(--text)}.topbar-eyebrow{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-left:.25rem;font-size:.75rem}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.environment-nav{align-items:center;gap:.45rem;min-width:0;display:inline-flex;position:relative}.environment-nav__divider{color:rgb(var(--c-slate-400) / .45);font-size:1.2rem}.environment-nav__trigger{min-width:0;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.35rem;padding:.15rem .1rem;font-size:.95rem;font-weight:600;display:inline-flex}.environment-nav__trigger span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.environment-nav__trigger svg{color:var(--muted);flex:none;transition:color .15s,transform .15s}.environment-nav__trigger:hover svg,.environment-nav__trigger[aria-expanded=true] svg{color:var(--accent)}.environment-nav__trigger[aria-expanded=true] svg{transform:rotate(180deg)}.environment-menu{z-index:40;border:1px solid rgb(var(--c-slate-400) / .18);background:rgb(var(--c-ink-0a0f1c) / .98);width:min(20rem,100vw - 2rem);box-shadow:0 18px 48px var(--scrim), 0 0 0 1px rgb(var(--c-sky-300) / .04);backdrop-filter:blur(12px);border-radius:.75rem;padding:.8rem .55rem .55rem;animation:.14s ease-out add-menu-in;position:absolute;top:calc(100% + 1.1rem);left:-.8rem}.environment-menu__title{color:var(--muted);margin:0 0 .45rem;padding:0 .6rem;font-size:.82rem;font-weight:700}.environment-menu__list{border-bottom:1px solid rgb(var(--c-slate-400) / .14);gap:.1rem;padding-bottom:.55rem;display:grid}.environment-menu__item,.environment-menu__new{width:100%;min-height:2.6rem;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.55rem;align-items:center;gap:.75rem;padding:0 .6rem;font-size:.92rem;font-weight:600;transition:background .14s,color .14s;display:flex}.environment-menu__item:hover,.environment-menu__new:hover{background:rgb(var(--c-sky-500) / .12)}.environment-menu__check,.environment-menu__new span:first-child{width:1.4rem;color:var(--accent);place-items:center;font-size:1.05rem;line-height:1;display:grid}.environment-menu__new{color:rgb(var(--c-slate-200) / .7);margin-top:.55rem}.environment-menu__new:hover{color:var(--text)}.environment-modal-overlay{background:rgb(var(--c-black) / .68);-webkit-backdrop-filter:blur(9px)}.environment-modal{border:1px solid rgb(var(--c-slate-400) / .14);background:rgb(var(--c-ink-0a0f1c) / .98);width:min(42rem,100%);box-shadow:0 26px 70px rgb(var(--c-slate-950) / .72), 0 0 0 1px rgb(var(--c-sky-300) / .05);border-radius:1.15rem;gap:1.05rem;padding:1.45rem;animation:.18s cubic-bezier(.16,1,.3,1) modal-dialog-in;display:grid}.environment-modal__header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.environment-modal__header h2{letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:800}.environment-modal__close{background:0 0;border:0}.environment-modal__intro{max-width:35rem;color:rgb(var(--c-slate-300) / .72);margin:-.25rem 0 0;font-size:1rem;line-height:1.45}.environment-modal__name-input{border:1px solid rgb(var(--c-sky-400) / .55);background:rgb(var(--c-slate-950) / .72);width:100%;min-height:3.05rem;color:var(--text);font:inherit;box-shadow:0 0 0 1px rgb(var(--c-sky-400) / .12);border-radius:.55rem;outline:none;padding:0 .95rem;font-size:1rem}.environment-modal__name-input::placeholder{color:rgb(var(--c-slate-300) / .55)}.environment-modal__name-input:focus{border-color:rgb(var(--c-sky-400) / .9);box-shadow:0 0 0 3px var(--accent-soft)}.environment-modal__options{border:0;gap:.7rem;margin:0;padding:0;display:grid}.environment-modal__option{border:1px solid rgb(var(--c-slate-400) / .14);background:rgb(var(--c-white) / .025);cursor:pointer;border-radius:.6rem;grid-template-columns:auto minmax(0,1fr);gap:.85rem;padding:1rem;transition:background .15s,border-color .15s;display:grid}.environment-modal__option--selected{border-color:rgb(var(--c-sky-400) / .42);background:rgb(var(--c-sky-500) / .14)}.environment-modal__radio{border:1.5px solid rgb(var(--c-slate-400) / .45);border-radius:999px;place-items:center;width:1.35rem;height:1.35rem;margin-top:.1rem;display:grid}.environment-modal__option--selected .environment-modal__radio{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 .35rem rgb(var(--c-ink-0a0f1c) / .98)}.environment-modal__option-content{gap:.75rem;min-width:0;display:grid}.environment-modal__option-content strong{color:var(--text);font-size:1rem;font-weight:800}.environment-modal__option-copy{color:rgb(var(--c-slate-300) / .68);font-size:.94rem;line-height:1.45}.environment-modal__select-wrap{max-width:100%;display:block;position:relative}.environment-modal__select-wrap svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;right:.9rem;transform:translateY(-50%)}.environment-modal__select{border:1px solid var(--border);appearance:none;background:rgb(var(--c-slate-950) / .86);width:100%;min-height:3rem;color:var(--text);font:inherit;border-radius:.55rem;outline:none;padding:0 2.6rem 0 .9rem;font-size:1rem}.environment-modal__select:focus{border-color:rgb(var(--c-sky-400) / .72);box-shadow:0 0 0 3px rgb(var(--c-sky-400) / .14)}.environment-modal__select:disabled{cursor:not-allowed;opacity:.55}.environment-modal__submit{background:linear-gradient(135deg, rgb(var(--c-cyan-600)), var(--accent));min-height:3.2rem;color:var(--text-on-accent);font:inherit;cursor:pointer;border:0;border-radius:.55rem;font-size:1rem;font-weight:800;transition:background .15s,transform .15s,opacity .15s}.environment-modal__submit:hover:enabled{background:linear-gradient(135deg, rgb(var(--c-cyan-700)), rgb(var(--c-cyan-400)));transform:translateY(-1px)}.environment-modal__submit:disabled{cursor:not-allowed;opacity:.48}.app-content{flex:1;min-height:0;padding:1.25rem;overflow:auto}.app-content--bleed{padding:0;overflow:hidden}.app-content__subtitle{max-width:60ch;color:var(--muted);margin:0 0 1rem;line-height:1.55}.auth-page{place-items:center;min-height:100dvh;padding:1.5rem;display:grid}.auth-card{border:1px solid var(--border);background:var(--panel);width:min(100%,26rem);box-shadow:var(--shadow);border-radius:1.15rem;padding:1.4rem}.auth-card__brand{align-items:center;gap:.55rem;margin-bottom:1.5rem;font-weight:700;display:inline-flex}.auth-card__eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .25rem;font-size:.75rem;font-weight:700}.auth-card h1{margin:0;font-size:1.6rem}.auth-card__subtitle{color:var(--muted);margin:.45rem 0 1.25rem}.auth-card__mock-note,.auth-form__error{border-radius:.75rem;margin:0 0 1rem;padding:.75rem .85rem;font-size:.88rem;line-height:1.45}.auth-card__mock-note{border:1px solid rgb(var(--c-emerald-400) / .25);background:rgb(var(--c-emerald-400) / .1);color:rgb(var(--c-emerald-100))}.auth-form{gap:.9rem;display:grid}.auth-form label{color:var(--muted);gap:.35rem;font-size:.82rem;font-weight:700;display:grid}.auth-form input{border:1px solid var(--border);background:rgb(var(--c-slate-950) / .45);width:100%;color:var(--text);font:inherit;border-radius:.7rem;padding:.72rem .8rem}.auth-form input:focus{border-color:var(--border-strong);box-shadow:0 0 0 3px rgb(var(--c-sky-400) / .12);outline:none}.auth-form button{border:1px solid rgb(var(--c-sky-300) / .45);background:linear-gradient(135deg, rgb(var(--c-sky-400) / .94), rgb(var(--c-cyan-700) / .95));color:rgb(var(--c-ink-031525));font:inherit;cursor:pointer;border-radius:.7rem;padding:.72rem .9rem;font-weight:800}.auth-form__error{border:1px solid var(--danger-soft);background:rgb(var(--c-red-400) / .12);color:var(--danger-text)}.projects-page{gap:1.25rem;display:grid}.projects-page__summary{align-items:center;gap:.85rem;padding:.1rem .15rem;display:flex}.projects-page__summary p{letter-spacing:var(--tracking-tight);color:var(--muted);margin:0;font-size:.8125rem;font-weight:500}.new-project__button{background:var(--accent);color:var(--text-on-accent);font:inherit;letter-spacing:var(--tracking-tight);cursor:pointer;border:1px solid #0000;border-radius:.55rem;align-items:center;gap:.4rem;padding:.38rem .8rem;font-size:.82rem;font-weight:600;transition:transform .15s,box-shadow .15s,opacity .15s;display:inline-flex}.new-project__button:hover,.new-project__button[aria-expanded=true]{box-shadow:0 6px 18px var(--accent-soft);transform:translateY(-1px)}.new-project__plus{font-size:1rem;line-height:1}.modal-overlay{z-index:50;background:var(--scrim);-webkit-backdrop-filter:blur(6px);place-items:center;padding:1.5rem;animation:.16s ease-out modal-overlay-in;display:grid;position:fixed;inset:0}@keyframes modal-overlay-in{0%{opacity:0}to{opacity:1}}.modal-dialog{border:1px solid var(--border);background:rgb(var(--c-ink-0a0f1c) / .96);width:min(28rem,100%);box-shadow:0 24px 60px rgb(var(--c-slate-950) / .6), 0 0 0 1px rgb(var(--c-slate-400) / .06);border-radius:1rem;animation:.18s cubic-bezier(.16,1,.3,1) modal-dialog-in}@keyframes modal-dialog-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-dialog__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1rem .75rem;display:flex}.modal-dialog__header h2{margin:0;font-size:1rem;font-weight:600}.modal-dialog__close{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .85);width:1.9rem;height:1.9rem;color:var(--muted);cursor:pointer;border-radius:.55rem;place-items:center;transition:background .15s,color .15s,border-color .15s;display:grid}.modal-dialog__close:hover:enabled{background:rgb(var(--c-slate-800) / .95);color:var(--text);border-color:rgb(var(--c-slate-400) / .45)}.modal-dialog__close:disabled{cursor:not-allowed;opacity:.6}.modal-dialog__form{gap:.6rem;padding:1rem;display:grid}.modal-dialog__form label{color:var(--muted);font-size:.82rem}.modal-dialog__form input{border:1px solid var(--border);background:rgb(var(--c-slate-950) / .85);min-height:2.5rem;color:var(--text);font:inherit;border-radius:.6rem;outline:none;padding:0 .75rem;font-size:.9rem}.modal-dialog__form input:focus{border-color:rgb(var(--c-sky-400) / .6);box-shadow:0 0 0 3px rgb(var(--c-sky-400) / .15)}.modal-dialog__field{color:var(--muted);gap:.4rem;font-size:.82rem;display:grid}.modal-dialog__field input{border:1px solid var(--border);background:rgb(var(--c-slate-950) / .85);min-height:2.5rem;color:var(--text);font:inherit;border-radius:.6rem;outline:none;padding:0 .75rem;font-size:.9rem}.modal-dialog__field input:focus{border-color:rgb(var(--c-sky-400) / .6);box-shadow:0 0 0 3px rgb(var(--c-sky-400) / .15)}.modal-dialog__actions{justify-content:flex-end;gap:.5rem;margin-top:.25rem;display:flex}.modal-dialog__submit,.modal-dialog__confirm,.modal-dialog__cancel{min-height:2.4rem;font:inherit;cursor:pointer;border-radius:.6rem;padding:0 .95rem;font-size:.85rem;font-weight:600}.modal-dialog__submit,.modal-dialog__confirm{background:linear-gradient(135deg, rgb(var(--c-cyan-600)), var(--accent));color:var(--text-on-accent);border:0;transition:transform .15s,box-shadow .15s}.modal-dialog__submit:hover:enabled,.modal-dialog__confirm:hover:enabled{box-shadow:0 10px 20px rgb(var(--c-sky-400) / .2);transform:translateY(-1px)}.modal-dialog__submit:disabled,.modal-dialog__confirm:disabled{cursor:not-allowed;opacity:.6}.modal-dialog__cancel{border:1px solid var(--border);color:var(--muted);background:0 0}.modal-dialog__cancel:hover:enabled{color:var(--text);border-color:rgb(var(--c-slate-400) / .45)}.modal-dialog__cancel:disabled{cursor:not-allowed;opacity:.6}.modal-dialog__error{background:rgb(var(--c-red-900) / .22);border:1px solid var(--danger-soft);color:var(--danger-text);border-radius:.55rem;margin:0;padding:.55rem .75rem;font-size:.83rem}.modal-dialog__body{color:var(--text);gap:.65rem;padding:.95rem 1rem .25rem;font-size:.88rem;line-height:1.5;display:grid}.modal-dialog>.modal-dialog__actions{margin-top:0;padding:.25rem 1rem 1rem}.modal-dialog__body p{margin:0}.modal-dialog__body strong{color:var(--danger-text)}.modal-dialog__warning{border:1px solid rgb(var(--c-amber-500) / .38);background:rgb(var(--c-amber-900) / .22);color:var(--warning-text);border-radius:.55rem;padding:.55rem .75rem;font-size:.83rem}.modal-dialog__danger{background:linear-gradient(135deg, rgb(var(--c-red-700)), rgb(var(--c-red-500)));min-height:2.4rem;color:rgb(var(--c-rose-50));font:inherit;cursor:pointer;border:0;border-radius:.6rem;padding:0 .95rem;font-size:.85rem;font-weight:600;transition:transform .15s,box-shadow .15s}.modal-dialog__danger:hover:enabled{box-shadow:0 10px 22px rgb(var(--c-red-500) / .28);transform:translateY(-1px)}.modal-dialog__danger:disabled{cursor:not-allowed;opacity:.65}.danger-zone{border-top:1px solid var(--border);gap:.6rem;margin-top:.4rem;padding-top:.75rem;display:grid}.danger-zone__actions{gap:.6rem;display:flex}.danger-zone__actions .danger-zone__button{flex:1}.danger-zone__button{border:1px solid rgb(var(--c-red-400) / .35);background:rgb(var(--c-red-900) / .14);color:rgb(var(--c-red-300));font:inherit;cursor:pointer;border-radius:.55rem;padding:.55rem .85rem;font-size:.85rem;font-weight:600;transition:background .15s,color .15s,border-color .15s}.danger-zone__button:hover:enabled{background:rgb(var(--c-red-900) / .3);color:var(--danger-text);border-color:rgb(var(--c-red-400) / .55)}.danger-zone__button:disabled{cursor:not-allowed;opacity:.55}.detach-form{border-top:1px solid var(--border);gap:.55rem;margin-top:.1rem;padding-top:.5rem;display:grid}.detach-form__submit{border:1px solid rgb(var(--c-yellow-400) / .3);background:rgb(var(--c-amber-900) / .18);color:var(--warning-text);font:inherit;cursor:pointer;border-radius:.55rem;padding:.5rem .8rem;font-size:.82rem;font-weight:600;transition:background .15s,border-color .15s}.detach-form__submit:hover:enabled{background:rgb(var(--c-amber-900) / .32);border-color:rgb(var(--c-yellow-400) / .5)}.detach-form__submit:disabled{cursor:not-allowed;opacity:.55}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(17.5rem,20rem));justify-content:start;align-items:start;gap:.85rem;display:grid}.project-card,.empty-state,.details-panel{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow);backdrop-filter:blur(18px);border-radius:1rem}.project-card{grid-template-rows:auto minmax(0,1fr) auto;gap:.75rem;width:100%;min-height:13rem;padding:.95rem 1rem .85rem;transition:transform .18s,border-color .18s,box-shadow .18s;animation:.32s both rise-in;display:grid;position:relative}.project-card:hover{border-color:var(--border-strong);box-shadow:0 1px 2px rgb(var(--c-black) / .3), 0 16px 40px rgb(var(--c-black) / .45);transform:translateY(-2px)}.project-card--deleting{opacity:.62}.project-card__delete-error{color:var(--danger-text);flex-basis:100%}.project-card__header,.project-card__footer,.details-panel__header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.details-panel__header-actions{align-items:center;gap:.5rem;display:inline-flex}.details-panel__eyebrow{align-items:center;gap:.5rem;margin:0;display:inline-flex}.details-panel__eyebrow .status-pill{letter-spacing:0;text-transform:none}.details-panel__close{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .74);width:1.8rem;height:1.8rem;color:var(--muted);cursor:pointer;border-radius:.5rem;place-items:center;padding:0;transition:color .16s,border-color .16s,background .16s;display:grid}.details-panel__close:hover{color:var(--text);border-color:var(--border-strong);background:rgb(var(--c-sky-500) / .12)}.project-card__header h2,.details-panel__header h3{letter-spacing:var(--tracking-tight);color:var(--text-strong);margin:0;font-size:.9375rem;font-weight:600}.details-tabs{border-bottom:1px solid var(--border);gap:1.2rem;margin:-.2rem -1rem 0;padding:0 1rem;display:flex}.details-tabs__item{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:.15rem 0 .75rem;font-size:.82rem;font-weight:600;transition:color .16s;position:relative}.details-tabs__item:hover,.details-tabs__item--active{color:var(--text)}.details-tabs__item--active:after{content:"";background:var(--text);border-radius:999px;height:1px;position:absolute;bottom:-1px;left:0;right:0}.details-tab-panel--empty{min-height:12rem}.variables-panel{gap:.8rem;display:grid}.variables-panel__header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.variables-panel__header strong{color:var(--text);font-size:.95rem}.variables-panel__new-button{border:1px solid rgb(var(--c-sky-400) / .3);background:rgb(var(--c-sky-500) / .14);min-height:2.2rem;color:rgb(var(--c-sky-200));font:inherit;cursor:pointer;border-radius:.6rem;padding:0 .85rem;font-size:.82rem;font-weight:700;transition:background .15s,border-color .15s,color .15s,transform .15s}.variables-panel__new-button:hover:enabled{border-color:rgb(var(--c-sky-400) / .5);background:rgb(var(--c-sky-500) / .24);color:rgb(var(--c-sky-100));transform:translateY(-1px)}.variables-panel__new-button:disabled{cursor:not-allowed;opacity:.6}.variable-form{border-bottom:1px solid var(--border);gap:.65rem;padding-bottom:.8rem;display:grid}.variable-form__row{grid-template-columns:minmax(9rem,.85fr) minmax(12rem,1.2fr) auto auto;align-items:center;gap:.55rem;display:grid}.variable-form__field{color:var(--muted);font-size:.78rem;display:grid;position:relative}.variable-form__label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.variable-form input{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .88);width:100%;min-height:2.45rem;color:var(--text);font:inherit;border-radius:.65rem;padding:0 .75rem;font-size:.88rem}.variable-form input:focus{outline:2px solid rgb(var(--c-sky-400) / .32);outline-offset:2px;border-color:rgb(var(--c-sky-400) / .45)}.variable-form__secret{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .72);width:fit-content;min-height:2.45rem;color:var(--text);cursor:pointer;border-radius:.65rem;align-items:center;gap:.5rem;padding:0 .8rem;font-size:.82rem;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.variable-form__secret:hover{border-color:rgb(var(--c-slate-400) / .45)}.variable-form__secret:has(input:checked){border-color:rgb(var(--c-sky-400) / .4);background:rgb(var(--c-sky-400) / .08)}.variable-form__secret input[type=checkbox]{appearance:none;box-sizing:border-box;border:1px solid var(--border-strong);background:rgb(var(--c-slate-900) / .9);cursor:pointer;border-radius:.35rem;flex:none;width:1.05rem;height:1.05rem;min-height:0;margin:0;padding:0;transition:background .15s,border-color .15s}.variable-form__secret input[type=checkbox]:checked{border-color:var(--accent);background-color:var(--accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%2302111b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.4l3 3 6-6.6'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:.72rem}.variable-form__secret input[type=checkbox]:focus-visible{outline:2px solid rgb(var(--c-sky-400) / .32);outline-offset:2px}.variable-form__secret input[type=checkbox]:disabled{cursor:not-allowed;opacity:.55}.variable-form__actions{align-items:center;gap:.5rem;display:flex}.variable-form__submit,.variable-form__cancel,.variable-row button{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .9);min-height:2.35rem;color:var(--text);font:inherit;cursor:pointer;border-radius:.6rem;padding:0 .9rem;font-size:.82rem;font-weight:600;transition:background .15s,border-color .15s}.variable-form__submit{background:linear-gradient(135deg, rgb(var(--c-cyan-600)), var(--accent));color:var(--text-on-accent);border:0}.variable-form__cancel{background:rgb(var(--c-slate-900) / .72);color:var(--muted)}.variable-form__submit:hover:enabled,.variable-row button:hover:enabled{border-color:rgb(var(--c-slate-400) / .45);background:rgb(var(--c-slate-800) / .95)}.variable-form__submit:hover:enabled{background:linear-gradient(135deg, rgb(var(--c-cyan-700)), rgb(var(--c-cyan-400)))}.variable-form__cancel:hover:enabled{border-color:rgb(var(--c-slate-400) / .45);color:var(--text)}.variable-form__submit:disabled,.variable-form__cancel:disabled,.variable-row button:disabled{cursor:not-allowed;opacity:.6}@media (width<=980px){.variable-form__row{grid-template-columns:1fr}.variable-form__actions{justify-content:stretch}.variable-form__actions>button{flex:1}}.variables-list{gap:.55rem;display:grid}.variable-row{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .66);border-radius:.75rem;grid-template-columns:minmax(0,1fr) repeat(3,auto);align-items:center;gap:.5rem;padding:.65rem;display:grid}.variable-row__main{gap:.35rem;min-width:0;display:grid}.variable-row__heading{align-items:center;gap:.4rem;min-width:0;display:flex}.variable-row code{font-family:JetBrains Mono,SFMono-Regular,ui-monospace,monospace;font-size:.78rem}.variable-row__heading code,.variable-row__value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.variable-row__value{color:var(--muted)}.variable-badge{border:1px solid rgb(var(--c-slate-400) / .22);color:var(--muted);border-radius:999px;padding:.16rem .38rem;font-size:.68rem;line-height:1}.project-card__preview{border:1px solid var(--border-subtle);background:radial-gradient(var(--border) 1px, transparent 1px) 0 0 / 18px 18px, var(--bg);border-radius:.65rem;place-items:center;min-height:0;padding:1rem;display:grid;position:relative;overflow:hidden}.project-card__icons{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;display:flex}.resource-icon{border:1px solid rgb(var(--c-slate-400) / .18);background:rgb(var(--c-slate-900) / .82);color:var(--text);box-shadow:0 6px 16px rgb(var(--c-slate-950) / .35);border-radius:.65rem;place-items:center;transition:transform .18s,border-color .18s,background .18s;display:inline-grid}.resource-icon--md{width:2.5rem;height:2.5rem}.resource-icon--sm{width:1.6rem;height:1.6rem;box-shadow:none;border-radius:.45rem}.project-card:hover .resource-icon{border-color:rgb(var(--c-slate-400) / .32)}.resource-icon--md svg{width:1.25rem;height:1.25rem}.resource-icon--sm svg{width:.95rem;height:.95rem}.resource-icon--postgres{color:rgb(var(--c-sky-300));background:rgb(var(--c-sky-900) / .45);border-color:rgb(var(--c-sky-300) / .32)}.resource-icon--redis{color:rgb(var(--c-red-300));background:rgb(var(--c-red-900) / .42);border-color:rgb(var(--c-red-300) / .32)}.resource-icon--github{color:var(--text-strong);background:rgb(var(--c-gray-900) / .9);border-color:rgb(var(--c-slate-400) / .28)}.resource-icon--docker{color:rgb(var(--c-blue-400));background:rgb(var(--c-blue-900) / .4);border-color:rgb(var(--c-blue-400) / .3)}.resource-icon--bare{box-shadow:none;background:0 0;border:0;border-radius:0;width:auto;height:auto}.resource-icon--creating,.resource-icon--deleting{opacity:.7;animation:1.6s ease-in-out infinite resource-icon-pulse}.resource-icon--unhealthy{border-color:rgb(var(--c-red-400) / .55);box-shadow:0 0 0 1px rgb(var(--c-red-400) / .18), 0 6px 16px rgb(var(--c-slate-950) / .35)}.resource-icon--overflow{color:var(--muted);letter-spacing:.02em;font-size:.78rem;font-weight:600}@keyframes resource-icon-pulse{0%,to{opacity:.55}50%{opacity:.9}}@media (prefers-reduced-motion:reduce){.project-loading,.project-loading__node,.project-loading__edge,.project-loading__icon,.project-loading__badge,.project-loading__title,.project-loading__subtitle,.project-loading__status,.resource-icon--creating,.resource-icon--deleting,.project-card__status--deleting .project-card__status-dot{animation:none}}.project-card__empty{color:var(--muted);margin:0;font-size:.8125rem}.project-card__footer{color:var(--muted);letter-spacing:var(--tracking-tight);flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.4rem;font-size:.72rem}.project-card__footer-sep{color:var(--border-strong)}.project-card__status{border:1px solid var(--border);background:var(--bg-soft);white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.2rem .5rem .2rem .45rem;font-size:.7rem;font-weight:600;display:inline-flex}.project-card__status-dot{background:currentColor;border-radius:999px;width:.5rem;height:.5rem}.project-card__status--online{color:var(--success)}.project-card__status--degraded{color:rgb(var(--c-amber-400))}.project-card__status--empty{color:rgb(var(--c-slate-400) / .7)}.project-card__status--deleting{color:var(--warning)}.project-card__status--failed{color:var(--danger)}.project-card__status--deleting .project-card__status-dot{box-shadow:0 0 0 2px rgb(var(--c-slate-900) / .7), 0 0 0 0 rgb(var(--c-amber-500) / .42);animation:1.2s ease-in-out infinite project-delete-pulse}@keyframes project-delete-pulse{0%,to{opacity:.65;box-shadow:0 0 0 2px rgb(var(--c-slate-900) / .7), 0 0 0 0 rgb(var(--c-amber-500) / .38);transform:scale(.92)}50%{opacity:1;box-shadow:0 0 0 2px rgb(var(--c-slate-900) / .7), 0 0 0 5px rgb(var(--c-amber-500) / 0);transform:scale(1.08)}}.empty-state{padding:1.75rem}.not-found-layout{place-items:center;height:100%;min-height:0;padding:2rem;display:grid}.empty-state--centered{text-align:center;width:min(32rem,100%)}.empty-state__eyebrow{letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;font-weight:700;color:var(--accent)!important;margin:0 0 .45rem!important}.empty-state__link{color:rgb(var(--c-sky-200));font:inherit;cursor:pointer;background:0 0;border:0;margin-top:1rem;font-weight:600;display:inline-flex}.empty-state__link:hover{color:var(--text)}.empty-state h2,.details-panel__empty h3{margin:0}.empty-state p,.details-panel__empty p{color:var(--muted);margin:.5rem 0 0;line-height:1.6}.project-loading{background:radial-gradient(circle at 30% 20%, rgb(var(--c-sky-400) / .05), transparent 50%), radial-gradient(circle, rgb(var(--c-slate-400) / .14) 1px, transparent 1px), linear-gradient(180deg, rgb(var(--c-ink-080d18) / .92), rgb(var(--c-ink-070b14) / .95));background-size:auto,22px 22px,cover;grid-template-rows:auto minmax(0,1fr) auto;gap:1rem;height:100%;min-height:0;padding:.75rem;animation:.22s ease-out both project-page-in;display:grid;position:relative}.project-loading__summary{gap:.45rem;display:flex}.project-loading__summary span{background:rgb(var(--c-slate-400) / .12);border-radius:999px;width:5.5rem;height:1.8rem}.project-loading__canvas{flex-direction:column;justify-content:center;align-items:center;gap:6.5rem;min-height:0;display:flex;position:relative}.project-loading__node{z-index:1;border:1px solid var(--accent-soft);background:rgb(var(--c-ink-090e19) / .82);width:20rem;min-height:8.4rem;box-shadow:0 18px 46px rgb(var(--c-slate-950) / .28);border-radius:1rem;gap:.7rem;padding:1rem;animation:1.8s ease-in-out infinite project-node-float;display:grid;position:relative}.project-loading__node--bottom{animation-delay:.12s}.project-loading__node-header{align-items:center;gap:.65rem;display:flex}.project-loading__icon,.project-loading__badge,.project-loading__title,.project-loading__subtitle,.project-loading__status{background:linear-gradient(90deg, transparent, rgb(var(--c-slate-200) / .16), transparent), rgb(var(--c-slate-400) / .1);background-size:220% 100%;animation:1.35s ease-in-out infinite project-skeleton-shimmer;display:block;overflow:hidden}.project-loading__icon{border:1px solid rgb(var(--c-sky-400) / .22);border-radius:.6rem;width:2rem;height:2rem}.project-loading__badge{border-radius:999px;width:6.25rem;height:1.45rem}.project-loading__title{border-radius:.35rem;width:9rem;height:1.1rem}.project-loading__subtitle{border-radius:.35rem;width:14rem;height:.8rem}.project-loading__status{border-radius:999px;width:5rem;height:.8rem}.project-loading__edge{border-left:2px dashed rgb(var(--c-blue-300) / .32);width:1px;height:8.5rem;animation:1.1s linear infinite project-edge-flow;position:absolute}.project-loading p{color:var(--muted);text-align:center;margin:0;font-size:.86rem}@keyframes project-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes project-node-float{0%,to{opacity:.78;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@keyframes project-edge-flow{0%{opacity:.32}50%{opacity:.68}to{opacity:.32}}@keyframes project-page-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.user__link{width:100%;color:var(--muted);text-align:center;border-radius:999px;padding:.4rem .65rem;font-size:.75rem;font-weight:700;text-decoration:none;display:block}.user__link:hover{color:var(--text);background:var(--border-subtle)}.github-page{max-width:46rem}.github-connection{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow);backdrop-filter:blur(18px);border-radius:1rem;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.github-connection__head{align-items:flex-start;gap:.75rem;display:flex}.github-connection__logo{border:1px solid var(--border);background:var(--bg-soft);width:2.25rem;height:2.25rem;color:var(--text);border-radius:.6rem;flex:none;justify-content:center;align-items:center;display:inline-flex}.github-connection__title{letter-spacing:-.01em;color:var(--text);margin:0;font-size:1rem;font-weight:600}.github-connection__lead{color:var(--text-secondary);margin:.15rem 0 0;font-size:.85rem;line-height:1.45}.github-connection__pill{border:1px solid var(--border);border-radius:999px;flex:none;align-self:center;margin-left:auto;padding:.18rem .55rem;font-size:.72rem;font-weight:600}.github-connection__pill--on{color:var(--success-text);background:var(--success-soft);border-color:var(--success-soft)}.github-connection__pill--off{color:var(--text-muted);background:var(--bg-soft)}.github-connection__notice{border:1px solid var(--border);background:var(--bg-soft);color:var(--text-secondary);border-radius:.7rem;padding:.85rem 1rem;font-size:.85rem;line-height:1.5}.github-connection__notice code{font-family:var(--font-mono);background:var(--panel-strong);color:var(--text);border-radius:.3rem;padding:.05rem .3rem;font-size:.8em}.github-connection__list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.github-connection__item{border:1px solid var(--border);background:var(--bg-soft);border-radius:.6rem;justify-content:space-between;align-items:center;padding:.55rem .8rem;display:flex}.github-connection__account{color:var(--text);font-size:.88rem;font-weight:600}.github-connection__item-meta{color:var(--text-muted);font-size:.72rem}.github-connection__empty{color:var(--text-muted);margin:0;font-size:.85rem}.github-connection__error{color:var(--danger-text);margin:0;font-size:.82rem}.github-connection__actions{flex-wrap:wrap;gap:.5rem;display:flex}.github-connection__button{border:1px solid var(--border-strong);background:var(--bg-soft);color:var(--text);font:inherit;cursor:pointer;border-radius:.55rem;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:inline-flex}.github-connection__button:hover{border-color:var(--text-muted);transform:translateY(-1px)}.github-connection__button:disabled{opacity:.6;cursor:default;transform:none}.github-connection__button--primary{background:var(--accent);color:var(--text-on-accent);border-color:#0000}.github-connection__button--primary:hover{box-shadow:0 6px 18px var(--accent-soft);border-color:#0000}.repo-picker{flex-direction:column;gap:.5rem;display:flex}.repo-picker__filter{width:100%}.repo-picker__list{flex-direction:column;gap:.25rem;max-height:13rem;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.repo-picker__row{border:1px solid var(--border);background:var(--bg-soft);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:.5rem;justify-content:space-between;align-items:center;gap:.6rem;padding:.45rem .65rem;transition:border-color .15s,background .15s;display:flex}.repo-picker__row:hover{border-color:var(--border-strong)}.repo-picker__row--selected{border-color:var(--accent);background:var(--accent-soft)}.repo-picker__name{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;overflow:hidden}.repo-picker__meta{flex:none;align-items:center;gap:.4rem;display:inline-flex}.repo-picker__badge{border:1px solid var(--border);border-radius:999px;padding:.05rem .4rem;font-size:.68rem;font-weight:600}.repo-picker__badge--private{color:var(--warning-text);background:rgb(var(--c-amber-500) / .12)}.repo-picker__badge--public{color:var(--text-muted);background:var(--panel-strong)}.repo-picker__branch{font-family:var(--font-mono);color:var(--text-muted);font-size:.7rem}.repo-picker__row--skeleton{pointer-events:none;cursor:default;min-height:2.0625rem}.repo-picker__skeleton{background:linear-gradient(90deg, transparent, rgb(var(--c-slate-200) / .16), transparent), rgb(var(--c-slate-400) / .1);background-size:220% 100%;border-radius:.35rem;animation:1.35s ease-in-out infinite repo-picker-skeleton-shimmer;display:block}.repo-picker__skeleton--name{width:56%;height:.85rem}li:nth-child(2)>.repo-picker__row--skeleton .repo-picker__skeleton--name{width:38%}li:nth-child(3)>.repo-picker__row--skeleton .repo-picker__skeleton--name{width:64%}.repo-picker__skeleton--badge{border-radius:999px;width:3.4rem;height:.95rem}.repo-picker__skeleton--branch{width:2.4rem;height:.7rem}@keyframes repo-picker-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.repo-picker__skeleton{animation:none}}.git-create-options{flex-direction:column;gap:.6rem;display:flex}.git-create-options__subdir{color:var(--text-secondary);flex-direction:column;gap:.3rem;font-size:.78rem;font-weight:600;display:flex}.git-create-options__deploy-now{color:var(--text);cursor:pointer;align-items:flex-start;gap:.5rem;font-size:.82rem;display:flex}.git-create-options__deploy-now input{accent-color:var(--accent);margin-top:.15rem}.git-create-options__deploy-now small{color:var(--text-muted);margin-top:.1rem;font-size:.72rem;font-weight:400;display:block}.repo-picker__manual-toggle{color:var(--link);font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-size:.78rem;font-weight:600}.repo-picker__manual-toggle:hover{text-decoration:underline}.repo-picker__manual-toggle:disabled{opacity:.6;cursor:default}.topology-layout{grid-template-columns:minmax(0,1fr) auto;gap:0;height:100%;min-height:0;display:grid}.details-panel{width:clamp(520px,58vw,820px);min-width:min(480px,100vw)}.topology-stage{background:radial-gradient(circle at 30% 20%, rgb(var(--c-sky-400) / .05), transparent 50%);flex-direction:column;min-height:0;display:flex;position:relative}.topology-canvas{background:radial-gradient(circle, rgb(var(--c-slate-400) / .14) 1px, transparent 1px), linear-gradient(180deg, rgb(var(--c-ink-080d18) / .92), rgb(var(--c-ink-070b14) / .95));background-size:22px 22px,cover;border:0;border-radius:0;flex:1;min-height:0;position:relative}.topology-flow{width:100%;height:100%}.topology-metrics{z-index:5;pointer-events:none;flex-wrap:wrap;gap:.4rem;display:flex;position:absolute;top:.75rem;left:.75rem}.topology-actions{z-index:6;flex-direction:column;align-items:flex-end;gap:.5rem;display:flex;position:absolute;top:.75rem;right:.75rem}.topology-flashes{z-index:7;pointer-events:none;gap:.45rem;max-width:min(34rem,100% - 2rem);display:grid;position:absolute;top:3.25rem;left:50%;transform:translate(-50%)}.topology-flashes .flash{pointer-events:auto;box-shadow:0 12px 28px rgb(var(--c-slate-950) / .45)}.topology-deploy-bar{z-index:8;border:1px solid rgb(var(--c-purple-700) / .5);background:rgb(var(--c-ink-140a20) / .94);min-height:2.65rem;box-shadow:0 14px 38px rgb(var(--c-slate-950) / .45), 0 0 0 1px rgb(var(--c-purple-400) / .08);border-radius:.5rem;align-items:center;gap:.45rem;padding:.35rem;display:flex;position:absolute;top:.75rem;left:50%;transform:translate(-50%)}.topology-deploy-bar__summary{color:rgb(var(--c-purple-300));white-space:nowrap;padding:0 .75rem;font-size:.83rem;font-weight:700}.topology-deploy-bar button{min-height:2rem;font:inherit;cursor:pointer;border-radius:.4rem;font-size:.8rem;font-weight:700}.topology-deploy-bar__details,.topology-deploy-bar__more{border:1px solid rgb(var(--c-slate-400) / .24);background:rgb(var(--c-slate-900) / .72);color:var(--text)}.topology-deploy-bar__details:hover,.topology-deploy-bar__more:hover,.topology-deploy-bar__more[aria-expanded=true]{border-color:rgb(var(--c-slate-400) / .4);background:rgb(var(--c-slate-800) / .85)}.topology-deploy-bar__details{padding:0 .85rem}.topology-deploy-bar__deploy{background:linear-gradient(135deg, rgb(var(--c-violet-600)), rgb(var(--c-purple-400)));color:#fff;border:0;align-items:center;gap:.45rem;padding:0 .95rem;display:inline-flex}.topology-deploy-bar__deploy span{color:rgb(var(--c-white) / .72);font-size:.68rem;font-weight:600}.topology-deploy-bar__more-wrap{position:relative}.topology-deploy-bar__more{width:2rem;padding:0}.topology-deploy-bar__menu{z-index:9;border:1px solid rgb(var(--c-slate-400) / .24);background:rgb(var(--c-ink-140a20) / .98);min-width:11.5rem;box-shadow:0 14px 38px rgb(var(--c-slate-950) / .45);border-radius:.5rem;flex-direction:column;gap:.15rem;padding:.3rem;display:flex;position:absolute;top:calc(100% + .35rem);right:0}.topology-deploy-bar__menu button{width:100%;min-height:2rem;color:var(--text);background:0 0;border:0;justify-content:flex-start;padding:.4rem .65rem;font-weight:600;display:flex}.topology-deploy-bar__menu button:hover{background:rgb(var(--c-slate-400) / .12)}.topology-deploy-bar__menu-danger{color:var(--danger-text)}.topology-deploy-bar button:disabled{cursor:wait;opacity:.65}.topology-deploy-bar__error{border:1px solid rgb(var(--c-red-400) / .35);background:rgb(var(--c-red-900) / .95);color:var(--danger-text);white-space:nowrap;border-radius:.55rem;align-items:center;gap:.75rem;margin:0;padding:.5rem .65rem;font-size:.78rem;display:flex;position:absolute;top:calc(100% + .45rem);left:0}.topology-deploy-bar__error-action{color:inherit;text-underline-offset:.15rem;background:0 0;border:0;padding:0;text-decoration:underline;min-height:auto!important;font-size:inherit!important}.topology-deploy-bar__error-action:hover{color:rgb(var(--c-red-100))}.topology-deploy-bar--applying{padding-inline:.75rem .35rem}.topology-deploy-bar__spinner{border:2px solid rgb(var(--c-purple-400) / .25);border-top-color:rgb(var(--c-purple-400));border-radius:999px;width:1rem;height:1rem;margin-left:.35rem;animation:.8s linear infinite topology-deploy-spin}.topology-deploy-bar__inspect{color:rgb(var(--c-purple-300));background:0 0;border:0;padding:0 .85rem}.topology-deploy-bar__inspect:hover{color:rgb(var(--c-purple-50))}@keyframes topology-deploy-spin{to{transform:rotate(360deg)}}.pending-changes-modal{width:min(36rem,100%)}.pending-changes-modal__body{flex-direction:column;gap:1rem;display:flex}.pending-changes-modal__app{align-items:center;gap:.65rem;margin:0;display:flex}.pending-changes-modal__app span{color:var(--muted);font-size:.82rem}.deploy-preview__intro{color:var(--muted);margin:0;font-size:.82rem;line-height:1.55}.deploy-preview{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .55);border-radius:.55rem;flex-direction:column;margin:0;display:flex;overflow:hidden}.deploy-preview__field{grid-template-columns:8rem minmax(0,1fr);align-items:center;gap:.75rem;padding:.7rem .75rem;display:grid}.deploy-preview__field+.deploy-preview__field{border-top:1px solid var(--border)}.deploy-preview__field dt{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:700}.deploy-preview__field dd{min-width:0;margin:0}.deploy-preview__field code{color:var(--text);overflow-wrap:anywhere;font-size:.8rem}.pending-changes-table{flex-direction:column;gap:.45rem;display:flex}.pending-changes-table__header,.pending-changes-table__row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.pending-changes-table__header{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:700}.pending-changes-table__row{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .55);border-radius:.55rem;padding:.75rem}.pending-changes-table__change{flex-direction:column;gap:.2rem;display:flex}.pending-changes-table__kind{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:700}.pending-changes-table__value code{background:rgb(var(--c-green-500) / .12);color:rgb(var(--c-green-300));word-break:break-all;border-radius:.35rem;padding:.15rem .4rem;font-size:.78rem;display:inline-block}.pending-changes-modal__footer{border-top:1px solid var(--border);color:rgb(var(--c-purple-300));align-items:center;gap:.65rem;padding:.85rem 1rem;font-size:.82rem;font-weight:600;display:flex}.add-button{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .85);color:var(--text);font:inherit;cursor:pointer;border-radius:.55rem;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.82rem;font-weight:600;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.add-button:hover,.add-button[aria-expanded=true]{background:rgb(var(--c-slate-800) / .95);border-color:rgb(var(--c-slate-400) / .45)}.add-button__plus{color:var(--muted);font-size:.95rem;line-height:1}.add-menu{border:1px solid var(--border);background:rgb(var(--c-ink-0a0f1c) / .96);width:min(22rem,100vw - 2rem);box-shadow:0 16px 40px var(--scrim), 0 0 0 1px rgb(var(--c-slate-400) / .05);backdrop-filter:blur(8px);border-radius:.85rem;animation:.14s ease-out add-menu-in;overflow:hidden}.add-menu-overlay{background:rgb(var(--c-slate-950) / .6);-webkit-backdrop-filter:blur(10px)}.add-menu--dialog{width:min(34rem,100vw - 2rem);max-height:min(38rem,100vh - 3rem);animation:.18s cubic-bezier(.16,1,.3,1) modal-dialog-in;display:grid;overflow:hidden}.add-menu__modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1rem .85rem;display:flex}.add-menu__modal-header .page-eyebrow{margin:0 0 .25rem}.add-menu__modal-header h2{margin:0;font-size:1.05rem;font-weight:700}.add-menu--dialog .add-menu__picker,.add-menu--dialog .add-menu__form{min-height:0;overflow:auto}@keyframes add-menu-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.add-menu__picker{flex-direction:column;display:flex}.add-menu__category-header{border-bottom:1px solid var(--border);align-items:center;gap:.55rem;padding:.75rem;display:flex}.add-menu__search{border:0;border-bottom:1px solid var(--border);min-height:2.6rem;color:var(--text);font:inherit;background:0 0;outline:none;padding:0 .85rem;font-size:.9rem}.add-menu__search::placeholder{color:var(--muted)}.add-menu__search:focus{background:rgb(var(--c-sky-400) / .06)}.add-menu__list{max-height:18rem;margin:0;padding:.25rem;list-style:none;overflow-y:auto}.add-menu__item{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.55rem;align-items:center;gap:.75rem;padding:.55rem .6rem;transition:background .12s;display:flex}.add-menu__item:hover:not(:disabled),.add-menu__item:focus-visible:not(:disabled){background:rgb(var(--c-sky-400) / .1);outline:none}.add-menu__item--disabled,.add-menu__item:disabled{cursor:not-allowed;opacity:.55}.add-menu__item-icon{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .85);width:2rem;height:2rem;color:rgb(var(--c-blue-300));border-radius:.45rem;flex:none;place-items:center;display:grid}.add-menu__item-text{flex:1;gap:.1rem;min-width:0;display:grid}.add-menu__item-text strong{font-size:.88rem;font-weight:600}.add-menu__item-text span{color:var(--muted);font-size:.78rem}.add-menu__item-chevron{color:var(--muted);flex:none}.add-menu__empty{color:var(--muted);text-align:center;padding:.8rem;font-size:.85rem}.add-menu__form{gap:.6rem;padding:.75rem;display:grid}.add-menu__form-header{align-items:center;gap:.55rem;display:flex}.add-menu__form-title{flex:1;align-items:center;gap:.6rem;min-width:0;display:flex}.add-menu__form-title strong{font-size:.9rem;font-weight:600;display:block}.add-menu__form-title p{color:var(--muted);margin:0;font-size:.78rem}.add-menu__back{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .85);width:1.8rem;height:1.8rem;color:var(--muted);cursor:pointer;border-radius:.45rem;flex:none;place-items:center;display:grid}.add-menu__back:hover:enabled{color:var(--text);border-color:rgb(var(--c-slate-400) / .45)}.add-menu__back:disabled{opacity:.5;cursor:not-allowed}.add-menu__form input,.add-menu__field select{border:1px solid var(--border);background:rgb(var(--c-slate-950) / .85);min-height:2.4rem;color:var(--text);font:inherit;border-radius:.55rem;outline:none;padding:0 .7rem;font-size:.88rem}.add-menu__form input:focus,.add-menu__field select:focus{border-color:rgb(var(--c-sky-400) / .6);box-shadow:0 0 0 3px rgb(var(--c-sky-400) / .15)}.add-menu__field{gap:.35rem;display:grid}.add-menu__field label{color:var(--muted);font-size:.78rem;font-weight:600}.add-menu__field p{color:var(--muted);margin:0;font-size:.78rem}.add-menu__submit{background:linear-gradient(135deg, rgb(var(--c-cyan-600)), var(--accent));min-height:2.4rem;color:var(--text-on-accent);font:inherit;cursor:pointer;border:0;border-radius:.55rem;padding:0 .85rem;font-size:.85rem;font-weight:700;transition:transform .15s,box-shadow .15s}.add-menu__submit:hover:enabled{box-shadow:0 10px 20px rgb(var(--c-sky-400) / .2);transform:translateY(-1px)}.add-menu__submit:disabled{cursor:not-allowed;opacity:.6}.add-menu__error{background:rgb(var(--c-red-900) / .22);border:1px solid var(--danger-soft);color:var(--danger-text);border-radius:.5rem;margin:0;padding:.5rem .65rem;font-size:.82rem}.add-menu__hint{background:rgb(var(--c-blue-900) / .25);border:1px solid rgb(var(--c-blue-500) / .35);color:rgb(var(--c-blue-300));border-radius:.55rem;align-items:center;gap:.4rem;margin:0;padding:.55rem .7rem;font-size:.82rem;display:flex}.add-menu__examples{background:rgb(var(--c-slate-900) / .6);border:1px solid var(--border);color:var(--muted);border-radius:.55rem;gap:.35rem;padding:.65rem .75rem;font-size:.8rem;display:grid}.add-menu__examples strong{color:var(--text);font-size:.85rem;font-weight:600}.add-menu__examples ul{margin:0;padding-left:1.1rem;list-style:outside}.add-menu__examples li{color:var(--muted);font-family:JetBrains Mono,SFMono-Regular,ui-monospace,monospace;font-size:.78rem}.add-menu__github-preview{gap:.5rem;min-height:3.4rem;display:grid}.add-menu__github-card{background:rgb(var(--c-slate-900) / .75);border:1px solid var(--border);text-align:center;border-radius:.7rem;justify-items:center;gap:.35rem;padding:1rem .9rem 1.1rem;display:grid}.add-menu__github-card-icon{width:2.2rem;height:2.2rem;color:var(--text);place-items:center;display:grid}.add-menu__github-card strong{color:var(--text);font-family:JetBrains Mono,SFMono-Regular,ui-monospace,monospace;font-size:.9rem;font-weight:600}.add-menu__github-card p{color:var(--muted);margin:0;font-size:.8rem}.add-menu__submit--github{background:linear-gradient(135deg, rgb(var(--c-violet-600)), rgb(var(--c-purple-500)));color:rgb(var(--c-white))}.add-menu__submit--github:hover:enabled{box-shadow:0 10px 20px rgb(var(--c-purple-500) / .25)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.resource-logs-panel,.resource-logs-section{gap:.7rem;display:grid}.resource-logs-section__header{gap:.55rem;display:grid}.resource-logs-button{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .85);color:var(--text);font:inherit;cursor:pointer;border-radius:.55rem;padding:.5rem .85rem;font-size:.85rem;font-weight:600;transition:background .15s,border-color .15s}.resource-logs-button:hover:enabled{background:rgb(var(--c-slate-800) / .95);border-color:rgb(var(--c-slate-400) / .45)}.resource-logs-button:disabled{cursor:not-allowed;opacity:.6}.resource-logs{border:1px solid var(--border);background:rgb(var(--c-slate-950) / .92);max-height:32rem;color:var(--text-strong);white-space:pre-wrap;word-break:break-word;border-radius:.6rem;margin:0;padding:.7rem .85rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.78rem;line-height:1.5;overflow:auto}.logs-page{background:linear-gradient(rgb(var(--c-slate-900) / .7) 1px, transparent 1px), linear-gradient(90deg, rgb(var(--c-slate-900) / .7) 1px, transparent 1px), var(--bg);background-size:4rem 4rem;grid-template-rows:auto auto 1fr;gap:.75rem;min-height:100%;padding:1rem;display:grid}.logs-toolbar{border:1px solid var(--border);background:rgb(var(--c-slate-950) / .76);box-shadow:var(--shadow);border-radius:.9rem;grid-template-columns:minmax(18rem,1fr) auto auto;align-items:center;gap:.55rem;padding:.7rem;display:grid}.logs-search input,.logs-select,.logs-toolbar__button{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .92);width:100%;min-height:2.25rem;color:var(--text);font:inherit;border-radius:.65rem;font-size:.85rem}.logs-search{display:block;position:relative}.logs-search input{padding:0 .85rem 0 2.3rem}.logs-search input:focus{border-color:var(--border-strong);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.logs-search input::placeholder{color:var(--muted)}.logs-search__icon{fill:none;width:1rem;height:1rem;stroke:var(--muted);stroke-width:2px;stroke-linecap:round;pointer-events:none;position:absolute;top:50%;left:.8rem;transform:translateY(-50%)}.logs-suggest{z-index:30;border:1px solid var(--border-strong);background:var(--panel-strong);box-shadow:var(--shadow);border-radius:.7rem;max-height:18rem;margin:0;padding:.3rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow:auto}.logs-suggest__label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;padding:.35rem .6rem .25rem;font-size:.68rem;font-weight:700}.logs-suggest__item{cursor:pointer;border-radius:.5rem;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.42rem .6rem;display:flex}.logs-suggest__item.is-active{background:var(--accent-soft)}.logs-suggest__name{color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.82rem}.logs-suggest__hint{color:var(--muted);text-align:right;white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.logs-live{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .92);min-width:5.6rem;min-height:2.25rem;color:var(--muted);font:inherit;cursor:pointer;border-radius:.65rem;justify-content:center;align-items:center;gap:.45rem;padding:0 .9rem;font-size:.82rem;font-weight:700;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.logs-live__dot{background:var(--muted);border-radius:999px;width:.5rem;height:.5rem}.logs-live.is-live{border-color:rgb(var(--c-emerald-400) / .45);color:var(--success)}.logs-live.is-live .logs-live__dot{background:var(--success);box-shadow:0 0 0 0 rgb(var(--c-emerald-400) / .55);animation:1.8s ease-out infinite logs-live-pulse}@keyframes logs-live-pulse{0%{box-shadow:0 0 0 0 rgb(var(--c-emerald-400) / .55)}70%{box-shadow:0 0 0 .4rem rgb(var(--c-emerald-400) / 0)}to{box-shadow:0 0 0 0 rgb(var(--c-emerald-400) / 0)}}@media (prefers-reduced-motion:reduce){.logs-live.is-live .logs-live__dot{animation:none}}.logs-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem;padding:0 2rem 0 .75rem}.logs-range{position:relative}.logs-select--range{min-width:9.5rem}.logs-range__panel{z-index:40;border:1px solid var(--border-strong);background:var(--panel-strong);width:18rem;max-width:min(18rem,100vw - 2rem);box-shadow:var(--shadow);border-radius:.7rem;gap:.55rem;padding:.75rem;display:grid;position:absolute;top:calc(100% + .35rem);left:auto;right:0}.logs-range__field{gap:.25rem;display:grid}.logs-range__field label{color:var(--muted);font-size:.72rem;font-weight:600}.logs-range__input-wrap{display:block;position:relative}.logs-range__input-wrap svg{color:var(--text);pointer-events:none;position:absolute;top:50%;right:.65rem;transform:translateY(-50%)}.logs-range__input{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .92);width:100%;min-height:2.25rem;color:var(--text);color-scheme:dark;font:inherit;border-radius:.65rem;padding:0 2.1rem 0 .65rem;font-size:.85rem;position:relative}.logs-range__input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:0;width:1.5rem;height:100%;margin:0;position:absolute;top:0;right:.45rem}.logs-range__input:focus{border-color:var(--border-strong);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.logs-range__hint{color:var(--muted);margin:0;font-size:.72rem}.logs-range__error{margin:0;padding:.45rem .55rem;font-size:.78rem}.logs-range__apply{border:1px solid var(--border);background:rgb(var(--c-sky-500) / .16);min-height:2.1rem;color:var(--text);font:inherit;cursor:pointer;border-radius:.65rem;padding:0 .75rem;font-size:.82rem;font-weight:700;transition:border-color .15s,background .15s}.logs-range__apply:hover{border-color:rgb(var(--c-sky-300) / .55);background:rgb(var(--c-sky-500) / .24)}.logs-live:disabled{cursor:not-allowed;opacity:.55}.logs-toolbar__button{cursor:pointer;min-width:5.6rem;padding:0 .9rem;font-weight:700;transition:border-color .15s,background .15s}.logs-toolbar__button:hover:enabled{border-color:rgb(var(--c-sky-300) / .55);background:rgb(var(--c-sky-500) / .16)}.logs-toolbar__button:disabled{cursor:not-allowed;opacity:.6}.resource-console-panel{grid-template-rows:auto 1fr;gap:.6rem;min-height:0;display:grid}.resource-console__bar{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.resource-console__status{color:var(--muted);align-items:center;gap:.45rem;font-size:.78rem;font-weight:600;display:inline-flex}.resource-console__dot{background:var(--muted);border-radius:999px;width:.5rem;height:.5rem}.resource-console__status--connected{color:var(--success)}.resource-console__status--connected .resource-console__dot{background:var(--success)}.resource-console__status--error,.resource-console__status--closed{color:var(--danger-text)}.resource-console__status--error .resource-console__dot,.resource-console__status--closed .resource-console__dot{background:rgb(var(--c-red-400) / .9)}.resource-console__reconnect{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .85);color:var(--text);font:inherit;cursor:pointer;border-radius:.55rem;padding:.4rem .75rem;font-size:.8rem;font-weight:600;transition:background .15s,border-color .15s}.resource-console__reconnect:hover{background:rgb(var(--c-slate-800) / .95);border-color:rgb(var(--c-slate-400) / .45)}.resource-console__terminal{border:1px solid var(--border);background:rgb(var(--c-slate-950) / .92);border-radius:.6rem;height:60vh;min-height:22rem;max-height:38rem;padding:.5rem;overflow:hidden}.resource-console__terminal .xterm,.resource-console__terminal .xterm-viewport{height:100%}.logs-results{border:1px solid var(--border);background:rgb(var(--c-slate-950) / .7);border-radius:1rem;min-height:0;overflow:hidden}.logs-list{align-content:start;max-height:calc(100vh - 12rem);display:grid;overflow:auto}.logs-row{border-bottom:1px solid rgb(var(--c-slate-800) / .72);color:var(--text-secondary);grid-template-columns:5.4rem minmax(8rem,12rem) 4.5rem minmax(0,1fr);align-items:baseline;gap:.75rem;padding:.42rem .75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.78rem;display:grid}.logs-row time,.logs-row__resource,.logs-row__stream{color:var(--muted)}.logs-row__resource,.logs-row__stream{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.logs-row code{color:var(--text-strong);white-space:pre-wrap;word-break:break-word}.logs-empty{text-align:center;min-height:calc(100vh - 12rem);color:var(--muted);align-content:center;place-items:center;gap:.45rem;padding:2rem;display:grid}.logs-empty h2{color:var(--text);margin:0;font-size:.95rem}.logs-empty p{margin:0;font-size:.8rem}.logs-empty__icon{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .7);border-radius:.8rem;place-items:center;width:3.4rem;height:3.4rem;display:grid}.logs-empty__icon span{border:1px solid rgb(var(--c-slate-400) / .45);width:1.7rem;height:1.2rem;box-shadow:0 -.45rem 0 -.2rem rgb(var(--c-slate-400) / .25), 0 .45rem 0 -.2rem rgb(var(--c-slate-400) / .25);border-radius:.2rem}@media (width<=820px){.logs-toolbar{grid-template-columns:1fr}.logs-range__panel{width:auto;max-width:none;left:0;right:0}.logs-row{grid-template-columns:4.6rem 1fr}.logs-row__stream{display:none}.logs-row code{grid-column:1/-1}}.app-metrics-panel,.app-metrics-section,.app-metrics-grid{gap:.65rem;display:grid}.app-metrics-section__header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.metrics-section-title{color:var(--text);margin:0 0 .15rem;font-size:.9rem;font-weight:800}.app-metrics-section__header .detail-note,.app-metrics-section>.detail-note,.database-metrics-section>.detail-note{margin:0}.app-scale-form{gap:.75rem;margin-top:.35rem;display:grid}.app-scale-grid{gap:.5rem;display:grid}.app-scale-row{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .55);border-radius:.7rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .7rem;display:flex}.app-scale-row__label{gap:.1rem;min-width:0;display:grid}.app-scale-row__label strong{color:var(--text);font-size:.85rem;font-weight:700}.app-scale-row__label .detail-note{margin:0;font-size:.72rem}.app-scale-stepper{align-items:center;gap:.35rem;display:flex}.app-scale-stepper__button{border:1px solid var(--border);background:rgb(var(--c-slate-400) / .08);width:1.85rem;height:1.85rem;color:var(--text);cursor:pointer;border-radius:.55rem;justify-content:center;align-items:center;font-size:1rem;line-height:1;display:inline-flex}.app-scale-stepper__button:hover:not(:disabled){background:rgb(var(--c-slate-400) / .18)}.app-scale-stepper__button:disabled{opacity:.4;cursor:not-allowed}.app-scale-stepper__input{text-align:center;border:1px solid var(--border);background:rgb(var(--c-slate-900) / .65);width:3.2rem;color:var(--text);-moz-appearance:textfield;border-radius:.55rem;padding:.35rem .4rem;font-size:.85rem}.app-scale-stepper__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.app-scale-stepper__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.app-scale-actions{justify-content:flex-end;display:flex}.app-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.app-metrics-card{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .55);border-radius:.8rem;gap:.75rem;padding:.75rem;display:grid}.app-metrics-card__header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.app-metrics-card__header div{gap:.15rem;min-width:0;display:grid}.app-metrics-card__header span,.app-metrics-card__header code,.app-metrics-list dt,.app-metrics-list dd span{color:var(--muted);font-size:.78rem}.app-metrics-card__header span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-metrics-card__header code{flex:none}.app-metrics-list{gap:.55rem;margin:0;display:grid}.app-metrics-list div{gap:.15rem;display:grid}.app-metrics-list dt,.app-metrics-list dd{margin:0}.app-metrics-list dd{color:var(--text);gap:.1rem;font-weight:700;display:grid}.database-metrics-section{border-top:1px solid var(--border);gap:.6rem;padding-top:.6rem;display:grid}.database-metrics-status{border:1px solid var(--border);color:var(--muted);text-transform:uppercase;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:700}.database-metrics-status--fresh{border-color:rgb(var(--c-green-500) / .45);color:var(--success-text)}.database-metrics-status--stale{border-color:rgb(var(--c-amber-500) / .45);color:var(--warning-text)}.database-metrics-status--unavailable{border-color:rgb(var(--c-red-400) / .45);color:var(--danger-text)}.deployments-section,.deployments-layout,.deployments-history,.deployments-list,.deployment-log-card{gap:.75rem;display:grid}.deployments-section__header,.deployment-log-card__header,.release-phase__header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.release-phase{border-top:1px solid var(--border-subtle,var(--border-subtle));gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:grid}.release-phase__header code{word-break:break-all;margin-top:.25rem;font-size:.8rem;display:block}.deployments-list{gap:.5rem}.deployment-subtabs{align-items:center;gap:.35rem;margin:-.1rem -.25rem 0;padding-bottom:.2rem;display:flex;overflow-x:auto}.deployment-subtabs__detail{align-items:stretch;min-width:0;display:inline-flex}.deployment-subtabs__item,.deployment-subtabs__close{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .62);color:var(--muted);font:inherit;cursor:pointer;font-size:.78rem;font-weight:700;transition:color .16s,border-color .16s,background .16s}.deployment-subtabs__item{text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;border-radius:999px;max-width:14rem;padding:.4rem .7rem;overflow:hidden}.deployment-subtabs__detail .deployment-subtabs__item{border-top-right-radius:0;border-bottom-right-radius:0}.deployment-subtabs__close{border-left:0;border-radius:0 999px 999px 0;place-items:center;width:2rem;display:grid}.deployment-subtabs__item:hover,.deployment-subtabs__close:hover,.deployment-subtabs__item--active{border-color:rgb(var(--c-sky-400) / .45);background:rgb(var(--c-sky-500) / .12);color:var(--text)}.deployments-history__header{color:var(--text);justify-content:space-between;align-items:center;gap:.75rem;font-size:.82rem;display:flex}.deployments-history__header span{color:var(--muted);font-size:.75rem}.deployment-row{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .65);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:.75rem;grid-template-columns:minmax(0,1fr) auto;gap:.45rem .65rem;padding:.7rem;transition:border-color .16s,background .16s,transform .16s;display:grid}.deployment-row .status-pill{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;grid-area:1/2;align-self:start;padding:.18rem .48rem;font-size:.68rem;font-weight:700}.deployment-row:hover,.deployment-row--selected{border-color:rgb(var(--c-sky-400) / .45);background:rgb(var(--c-sky-500) / .1)}.deployment-row:hover{transform:translateY(-1px)}.deployment-row--current{border-color:rgb(var(--c-emerald-400) / .28);background:linear-gradient(135deg, rgb(var(--c-green-500) / .13), rgb(var(--c-slate-900) / .72)), rgb(var(--c-slate-900) / .7);padding:.9rem}.deployment-row__main{gap:.18rem;min-width:0;display:grid}.deployment-row__main strong{text-transform:capitalize}.deployment-row__eyebrow{color:rgb(var(--c-green-300));letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:800}.deployment-row__main span,.deployment-row__meta,.deployment-log-card p,.deployment-log-card__meta{color:var(--muted);font-size:.78rem}.deployment-row__meta{grid-column:1/-1}.deployment-log-card{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .55);border-radius:.8rem;padding:.75rem}.deployment-log-card .status-pill{text-transform:uppercase;align-self:flex-start}.deployment-log-card__header p{word-break:break-word;margin:.2rem 0 0}.deployment-log-card__meta{text-align:right;white-space:nowrap;gap:.2rem;display:grid}.deployment-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:0;display:grid}.deployment-detail-grid div{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .5);border-radius:.7rem;padding:.65rem}.deployment-detail-grid dt{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .2rem;font-size:.68rem;font-weight:800}.deployment-detail-grid dd{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:.82rem;font-weight:700}.topology-metrics span,.status-pill,.detail-card,.attached-list__item{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .85);color:var(--muted);border-radius:999px;padding:.35rem .7rem;font-size:.78rem}.topology-controls{overflow:hidden;background:rgb(var(--c-slate-900) / .82)!important;border:1px solid var(--border)!important;box-shadow:none!important;border-radius:.55rem!important}.topology-controls .react-flow__controls-button{border:0;border-bottom:1px solid var(--border);color:rgb(var(--c-blue-100));fill:currentColor;background:0 0;width:28px;height:28px;transition:background .16s,color .16s}.topology-controls .react-flow__controls-button:last-child{border-bottom:0}.topology-controls .react-flow__controls-button:hover{background:rgb(var(--c-sky-500) / .12);color:var(--text)}.topology-controls .react-flow__controls-button:disabled{opacity:.5}.topology-controls .react-flow__controls-button svg{fill:currentColor;max-width:12px;max-height:12px}.details-panel{border-top:0;border-bottom:0;border-right:0;border-left:1px solid var(--border);background:rgb(var(--c-ink-090e19) / .72);box-shadow:none;border-radius:0;align-content:start;gap:1rem;padding:1rem;animation:.28s cubic-bezier(.22,1,.36,1) both panel-in;display:grid;overflow:auto}.page-eyebrow,.detail-note{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.8rem}.detail-note{letter-spacing:0;text-transform:none;font-size:.9rem;line-height:1.55}.status-pill{padding:.3rem .65rem;font-size:.78rem}.status-pill--ready{border-color:rgb(var(--c-emerald-400) / .32);color:var(--success-text)}.status-pill--creating,.status-pill--pending,.status-pill--running{border-color:rgb(var(--c-amber-500) / .32);color:var(--warning-text)}.status-pill--succeeded{border-color:rgb(var(--c-emerald-400) / .32);color:var(--success-text)}.status-pill--failed,.status-pill--unhealthy{border-color:rgb(var(--c-red-400) / .45);background:rgb(var(--c-red-900) / .28);color:rgb(var(--c-red-300))}.status-pill--deleting{border-color:rgb(var(--c-red-400) / .32);color:var(--danger-text)}.details-stack,.attached-list{gap:.6rem;display:grid}.settings-sections{gap:1.1rem;display:grid}.settings-section{border:1px solid var(--border);background:rgb(var(--c-ink-0c1220) / .5);border-radius:.9rem;gap:.75rem;padding:.85rem .9rem .95rem;display:grid}.settings-section__header{align-items:flex-start;gap:.65rem;display:flex}.settings-section__icon{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .85);width:1.95rem;height:1.95rem;color:rgb(var(--c-sky-200));border-radius:.6rem;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.settings-section__icon svg{width:16px;height:16px}.settings-section__heading{gap:.15rem;padding-top:.1rem;display:grid}.settings-section__title{letter-spacing:-.01em;color:var(--text);margin:0;font-size:.92rem;font-weight:700}.settings-section__subtitle{color:var(--muted);margin:0;font-size:.82rem;line-height:1.5}.settings-section__body{gap:.6rem;display:grid}.settings-section--danger{border-color:var(--danger-soft);background:rgb(var(--c-ink-280e12) / .4)}.settings-section--danger .settings-section__icon{border-color:rgb(var(--c-red-400) / .4);background:rgb(var(--c-red-900) / .2);color:rgb(var(--c-red-300))}.settings-section--danger .danger-zone{border-top:0;margin-top:0;padding-top:0}.detail-card{background:rgb(var(--c-slate-900) / .74);border-radius:.65rem;gap:.25rem;padding:.6rem .8rem;display:grid}.detail-card span,.detail-card label{color:var(--muted);font-size:.78rem}.detail-card strong{font-size:.95rem}.domain-status-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.detail-card .domain-status-badge{border:1px solid rgb(var(--c-slate-400) / .24);background:rgb(var(--c-slate-900) / .72);width:fit-content;color:var(--text-secondary);border-radius:999px;align-items:center;padding:.12rem .48rem;font-size:.72rem;font-weight:700;display:inline-flex}.detail-card .domain-status-badge--ready,.detail-card .domain-status-badge--active{border-color:rgb(var(--c-emerald-400) / .42);background:rgb(var(--c-green-900) / .28);color:var(--success-text)}.detail-card .domain-status-badge--pending{border-color:rgb(var(--c-amber-500) / .44);background:rgb(var(--c-amber-900) / .26);color:var(--warning-text)}.detail-card .domain-status-badge--failed{border-color:rgb(var(--c-red-400) / .5);background:rgb(var(--c-red-900) / .28);color:var(--danger-text)}.detail-card .domain-status-badge--inactive,.detail-card .domain-status-badge--unknown{border-color:rgb(var(--c-slate-400) / .26);background:rgb(var(--c-slate-700) / .28);color:var(--text-secondary)}.detail-card input,.detail-card select{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .88);width:100%;min-height:2.4rem;color:var(--text);font:inherit;border-radius:.6rem;padding:0 .7rem}.healthcheck-card{gap:.45rem}.healthcheck-form{gap:.55rem;display:grid}.docker-image-card{gap:.45rem}.docker-image-form{gap:.55rem;display:grid}.detail-card__button{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .9);min-height:2.35rem;color:var(--text);font:inherit;cursor:pointer;border-radius:.6rem;font-size:.82rem;font-weight:600}.detail-card__button:disabled{cursor:wait;opacity:.65}.resource-group-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.domain-action-button{border-color:rgb(var(--c-slate-400) / .24);background:rgb(var(--c-slate-900) / .72);min-height:2rem;color:var(--text-secondary);padding:0 .7rem;font-size:.78rem;transition:background .15s,border-color .15s,color .15s,transform .15s}.domain-action-button:hover:enabled{border-color:rgb(var(--c-sky-400) / .45);background:rgb(var(--c-sky-500) / .14);color:rgb(var(--c-sky-100));transform:translateY(-1px)}.domain-action-button--primary{border-color:rgb(var(--c-sky-400) / .38);background:rgb(var(--c-sky-500) / .16);color:rgb(var(--c-sky-200))}.domain-action-button--danger{border-color:rgb(var(--c-red-400) / .35);background:rgb(var(--c-red-900) / .14);color:rgb(var(--c-red-300))}.domain-action-button--danger:hover:enabled{border-color:rgb(var(--c-red-400) / .55);background:rgb(var(--c-red-900) / .3);color:var(--danger-text)}.detail-note--error{color:var(--danger-text)}.attach-form{gap:.55rem;display:grid}.attach-form label{color:var(--muted);font-size:.85rem}.attach-form input,.attach-form select,.attach-form button{width:100%;min-height:2.6rem;font:inherit;border-radius:.65rem}.attach-form input,.attach-form select{border:1px solid var(--border);background:rgb(var(--c-slate-900) / .88);color:var(--text);padding:0 .75rem}.attach-form button{background:linear-gradient(135deg, rgb(var(--c-cyan-600)), var(--accent));color:var(--text-on-accent);cursor:pointer;border:0;font-weight:700;transition:transform .18s,box-shadow .18s}.attach-form button:hover:enabled{box-shadow:0 12px 24px rgb(var(--c-sky-400) / .22);transform:translateY(-1px)}.attach-form button:disabled{cursor:not-allowed;opacity:.6}.flash{border-radius:.75rem;margin:0;padding:.7rem .85rem;font-size:.88rem;animation:.18s ease-out flash-enter}@keyframes flash-enter{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.flash,.details-panel{animation:none}}.flash--success{background:rgb(var(--c-green-800) / .22);border:1px solid rgb(var(--c-emerald-400) / .26);color:var(--success-text)}.flash--error{background:rgb(var(--c-red-900) / .2);border:1px solid var(--danger-soft);color:var(--danger-text)}.resource-group-node{border:1px solid rgb(var(--c-placeholder) / .28);background:rgb(var(--c-placeholder) / .05);width:100%;height:100%;box-shadow:0 14px 36px rgb(var(--c-slate-950) / .12);cursor:default;border-radius:12px;transition:background .16s,border-color .16s,box-shadow .16s}.react-flow__node-group{box-shadow:none!important;background:0 0!important;border:0!important}.resource-group-node.is-selected{border-color:rgb(var(--c-slate-200) / .42);background:rgb(var(--c-slate-200) / .16);box-shadow:inset 0 0 0 1px rgb(var(--c-slate-900) / .54), 0 18px 50px rgb(var(--c-slate-950) / .22)}.resource-group-node__header{cursor:grab;border-bottom:0;align-items:center;gap:.7rem;min-height:3.5rem;padding:.85rem 1rem .65rem;display:flex}.react-flow__node.dragging .resource-group-node__header{cursor:grabbing}.react-flow__edge-path{stroke-linecap:round;stroke-linejoin:round}.resource-group-node__header>div{min-width:0}.resource-group-node[data-collapsed=true] .resource-group-node__header{border-bottom:0}.resource-group-node__icon{background:rgb(var(--c-slate-400) / .15);width:1.9rem;height:1.9rem;color:var(--text-strong);border-radius:.65rem;justify-content:center;align-items:center;font-size:.78rem;font-weight:700;line-height:1;display:flex}.resource-group-node__header strong,.resource-group-node__header span:not(.resource-group-node__icon){display:block}.resource-group-node__header strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.resource-group-node__header span{color:var(--muted);font-size:.72rem}.resource-group-node--blue{--group-accent:rgb(var(--c-blue-500) / .34)}.resource-group-node--emerald{--group-accent:rgb(var(--c-emerald-400) / .34)}.resource-group-node--violet{--group-accent:rgb(var(--c-violet-400) / .34)}.resource-group-node--amber{--group-accent:rgb(var(--c-amber-500) / .34)}.resource-group-node--rose{--group-accent:rgb(var(--c-rose-400) / .34)}.resource-group-node--slate{--group-accent:rgb(var(--c-slate-400) / .34)}.resource-group-node--blue .resource-group-node__icon,.resource-group-node--emerald .resource-group-node__icon,.resource-group-node--violet .resource-group-node__icon,.resource-group-node--amber .resource-group-node__icon,.resource-group-node--rose .resource-group-node__icon,.resource-group-node--slate .resource-group-node__icon{border:1px solid var(--group-accent)}.resource-group-node__menu{width:1.8rem;height:1.8rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:.55rem;flex-direction:column;justify-content:center;align-items:center;gap:.18rem;margin-left:auto;display:inline-flex}.resource-group-node__menu:hover{background:rgb(var(--c-slate-400) / .12);color:var(--text)}.resource-group-node__menu span{background:currentColor;border-radius:999px;width:.22rem;height:.22rem}.canvas-context-menu{z-index:120;border:1px solid rgb(var(--c-slate-400) / .18);background:rgb(var(--c-ink-0c121f) / .98);min-width:14rem;box-shadow:0 18px 50px rgb(var(--c-slate-950) / .48);border-radius:.8rem;gap:.15rem;padding:.45rem;display:grid;position:fixed}.canvas-context-menu button,.canvas-context-menu summary{min-height:2.2rem;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.55rem;justify-content:space-between;align-items:center;gap:.75rem;padding:0 .75rem;font-size:.82rem;font-weight:600;list-style:none;display:flex}.canvas-context-menu summary::-webkit-details-marker{display:none}.canvas-context-menu button:hover:not(:disabled),.canvas-context-menu summary:hover{background:rgb(var(--c-slate-400) / .12)}.canvas-context-menu button:disabled{cursor:not-allowed;opacity:.45}.canvas-context-menu__label{align-items:center;gap:.7rem;min-width:0;display:inline-flex}.canvas-context-menu__group-icon,.canvas-context-menu__plus{color:rgb(var(--c-purple-400));place-items:center;display:inline-grid}.canvas-context-menu__flyout{display:grid;position:relative}.canvas-context-menu__flyout-trigger{width:100%}.canvas-context-menu__flyout:hover>.canvas-context-menu__flyout-trigger,.canvas-context-menu__flyout:focus-within>.canvas-context-menu__flyout-trigger{background:rgb(var(--c-purple-500) / .14);color:rgb(var(--c-purple-300))}.canvas-context-menu__flyout-panel{border:1px solid rgb(var(--c-slate-400) / .18);background:rgb(var(--c-ink-0d0c16) / .98);min-width:13.5rem;box-shadow:0 18px 50px rgb(var(--c-slate-950) / .48);opacity:0;pointer-events:none;visibility:hidden;border-radius:.8rem;gap:.15rem;padding:.45rem;display:grid;position:absolute;top:-.45rem;left:calc(100% + .45rem)}.canvas-context-menu__flyout:hover>.canvas-context-menu__flyout-panel,.canvas-context-menu__flyout:focus-within>.canvas-context-menu__flyout-panel{opacity:1;pointer-events:auto;visibility:visible}.canvas-context-menu__submenu{display:grid}.canvas-context-menu__submenu-panel{gap:.1rem;padding:.15rem 0 .2rem 1rem;display:grid}.canvas-context-menu__submenu-panel button{min-height:1.9rem;color:var(--muted);text-transform:capitalize}.canvas-context-menu__danger{color:var(--danger-text)!important}.resource-node{border:1px solid var(--border);background:rgb(var(--c-ink-0b111d) / .96);width:13.5rem;box-shadow:0 14px 36px rgb(var(--c-slate-950) / .38);cursor:grab;border-radius:.85rem;gap:.5rem;padding:.9rem 1rem;transition:border-color .16s,box-shadow .16s,background .16s;display:grid}.react-flow__node.dragging .resource-node,.react-flow__node.dragging .resource-group-node{cursor:grabbing}.resource-node:hover{border-color:rgb(var(--c-slate-400) / .3);background:rgb(var(--c-ink-0d1524) / .98);box-shadow:0 20px 46px rgb(var(--c-slate-950) / .46)}.resource-node>strong{margin-top:.1rem}.resource-node>small{margin-top:.15rem}.resource-node__volume{border:none;border-top:1px solid var(--border,rgb(var(--c-slate-400) / .18));width:100%;min-width:0;color:var(--text-muted,var(--text-muted));text-align:left;cursor:pointer;background:0 0;align-items:center;gap:.4rem;margin-top:.5rem;padding:.5rem 0 0;font-family:inherit;font-size:.72rem;transition:color .12s;display:flex}.resource-node__volume:hover{color:var(--text,rgb(var(--c-slate-200) / .95))}.resource-node__volume.is-selected{color:rgb(var(--c-sky-300) / .95)}.resource-node__volume svg{opacity:.8;flex:none}.resource-node__volume span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.resource-node.is-selected{border-color:rgb(var(--c-sky-400) / .55);box-shadow:0 18px 56px rgb(var(--c-sky-500) / .2)}.resource-node strong{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;overflow:hidden}.resource-node p,.resource-node small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.72rem;overflow:hidden}.resource-node__heading{align-items:center;gap:.4rem;width:fit-content;display:inline-flex}.resource-node__badge{background:rgb(var(--c-sky-400) / .14);color:rgb(var(--c-sky-200));letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:.2rem .45rem;font-size:.6rem}.resource-node__status{color:rgb(var(--c-mint-50));align-items:center;gap:.45rem;font-size:.75rem;display:inline-flex}.status-dot{background:var(--muted);width:.45rem;height:.45rem;box-shadow:0 0 0 4px rgb(var(--c-slate-400) / .08);border-radius:999px}.status-dot--ready{background:var(--success);box-shadow:0 0 0 4px var(--success-soft)}.status-dot--creating{background:var(--warning);box-shadow:0 0 0 4px rgb(var(--c-amber-500) / .12)}.status-dot--unhealthy{background:var(--danger);box-shadow:0 0 0 4px rgb(var(--c-red-400) / .18)}.status-dot--deleting{background:var(--danger);box-shadow:0 0 0 4px rgb(var(--c-red-400) / .12)}.resource-node__handle{opacity:0;pointer-events:none}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes panel-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@media (width<=960px){.topology-layout{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr)}.details-panel{border-left:0;border-top:1px solid var(--border);width:auto;min-width:0;max-height:40vh}}@media (width<=720px){:root{--rail-width:48px;--topbar-height:48px}.app-content{padding:1rem}.projects-page__summary{flex-direction:column;align-items:flex-start}.projects-grid{grid-template-columns:minmax(0,1fr)}.project-card{width:100%}.project-card__footer{row-gap:.35rem}.topbar-eyebrow{display:none}}
