@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700;9..144,800&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";.demo{--demo-ink: #0f172a;--demo-ink-2: #334155;--demo-muted: #64748b;--demo-faint: #94a3b8;--demo-line: #e3e9f2;--demo-blue: #1f4e9a;--demo-blue-2: #2a62b8;--demo-blue-soft: #eef3fb;--demo-green: #15803d;--demo-red: #b91c1c;--st-req: #475569;--st-concept: #7c3aed;--st-logic: #1f4e9a;--st-test: #d97706;--st-accept: #15803d;display:flex;flex-direction:column;gap:14px;height:calc(100vh - var(--topbar-h));padding:16px 22px 18px;box-sizing:border-box;font-family:Microsoft YaHei,PingFang SC,Noto Sans SC,IBM Plex Sans,sans-serif;color:var(--demo-ink)}.demo--fullscreen{height:100vh;padding:18px 26px 20px;background:radial-gradient(1100px 520px at 0% -10%,rgba(42,98,184,.12),transparent 60%),radial-gradient(900px 480px at 100% 0%,rgba(20,133,122,.08),transparent 60%),linear-gradient(180deg,#f3f6fb,#eef2f8)}.demo__head{display:flex;align-items:center;justify-content:space-between;gap:16px}.demo__brand{display:flex;align-items:center;gap:14px}.demo__logo{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#2a62b8,#163a78);box-shadow:0 8px 18px #1f4e9a52}.demo__logo svg{width:30px;height:30px}.demo__title{margin:0;font-size:24px;font-weight:800;letter-spacing:.01em;color:#0b1f44}.demo__sub{margin-top:3px;font-size:13px;color:var(--demo-muted)}.demo__sub i{font-style:normal;color:var(--demo-faint);margin:0 3px}.demo__meta{display:flex;gap:8px;flex-wrap:wrap}.demo__chip{padding:7px 13px;border-radius:999px;background:#ffffffe6;border:1px solid var(--demo-line);font-size:13px;color:var(--demo-muted);white-space:nowrap;box-shadow:0 2px 6px #0f172a0a}.demo__chip--status{font-weight:600}.demo__chip--status.is-live{color:var(--demo-blue);border-color:#c4d6f3;background:var(--demo-blue-soft)}.demo__chip--status.is-live:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--demo-blue-2);margin-right:7px;vertical-align:1px;animation:demo-pulse 1.2s ease-in-out infinite}.demo__chip--status.is-good{color:#fff;border-color:transparent;background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 4px 12px #15803d47}.demo__chip--status.is-bad{color:var(--demo-red);border-color:#fecaca;background:#fef2f2}.demo__grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(390px,30%) 1fr;gap:16px}.demo__left{display:flex;flex-direction:column;gap:16px;min-height:0}.demo-card{position:relative;background:#fff;border:1px solid var(--demo-line);border-radius:16px;box-shadow:0 10px 28px #0f234b12;padding:15px 18px 16px;display:flex;flex-direction:column;min-height:0;overflow:hidden}.demo-card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,#2a62b8,#14857a);opacity:.85}.demo-card--grow{flex:1}.demo-card__head{display:flex;align-items:center;font-size:15.5px;font-weight:800;color:#0b1f44;margin-bottom:11px}.demo-card__head--tabs{justify-content:space-between}.demo-card__num{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:9px;border-radius:8px;background:linear-gradient(135deg,#2a62b8,#163a78);color:#fff;font-size:12.5px;font-weight:800}.demo__req{width:100%;box-sizing:border-box;min-height:148px;resize:vertical;border:1px solid var(--demo-line);border-left:3px solid #9bb6e0;border-radius:10px;padding:11px 13px;font:inherit;font-size:14px;line-height:1.72;color:var(--demo-ink-2);background:#f8fafd;outline:none}.demo__req:focus{border-color:#9bb6e0;background:#fff}.demo__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px;align-items:center}.demo__preset{border:1px solid var(--demo-line);background:#fff;border-radius:999px;padding:5px 12px;font:inherit;font-size:12.5px;color:var(--demo-muted);cursor:pointer}.demo__preset:hover:not(:disabled){border-color:#9bb6e0;color:var(--demo-blue)}.demo__go{margin-left:auto;border:0;border-radius:10px;padding:9px 20px;background:linear-gradient(135deg,#2a62b8,#163a78);color:#fff;font:inherit;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 6px 14px #1f4e9a4d}.demo__go:disabled{opacity:.5;cursor:default;box-shadow:none}.demo-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;justify-content:space-between;flex:1}.demo-step{--st: var(--st-req);position:relative;display:grid;grid-template-columns:22px 34px 1fr auto;align-items:center;column-gap:10px;padding:6px 10px 6px 4px;border-radius:11px}.demo-step.stage-concept{--st: var(--st-concept)}.demo-step.stage-logic{--st: var(--st-logic)}.demo-step.stage-test{--st: var(--st-test)}.demo-step.stage-accept{--st: var(--st-accept)}.demo-step:not(:last-child):after{content:"";position:absolute;left:14px;top:calc(50% + 12px);height:calc(100% - 4px);width:2px;background:#e5eaf2}.demo-step.is-done:not(:last-child):after{background:#86c79c}.demo-step__dot{width:22px;height:22px;border-radius:50%;border:2px solid #d3dbe7;background:#fff;box-sizing:border-box;display:grid;place-items:center;z-index:1}.demo-step__dot svg{width:14px;height:14px}.demo-step__stage{font-size:11px;font-weight:700;text-align:center;padding:2px 0;border-radius:6px;color:#a3aec0;background:#f3f5f9}.demo-step__body{display:flex;flex-direction:column;min-width:0}.demo-step__role{font-size:14px;font-weight:800;color:#a3aec0}.demo-step__task{font-size:12px;color:#b4bdcc;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.demo-step__state{font-size:12px;color:#a3aec0;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.demo-step__state em{font-style:normal;font-weight:700;color:#b45309;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;padding:1px 8px}.demo-step__state b{font-weight:600}.demo-step.is-done .demo-step__dot{border-color:var(--demo-green);background:var(--demo-green)}.demo-step.is-done .demo-step__stage,.demo-step.is-active .demo-step__stage{color:var(--st);background:color-mix(in srgb,var(--st) 11%,white)}.demo-step.is-done .demo-step__role{color:var(--demo-ink)}.demo-step.is-done .demo-step__task{color:var(--demo-muted)}.demo-step.is-done .demo-step__state b{color:var(--demo-green)}.demo-step.is-active{background:linear-gradient(90deg,var(--demo-blue-soft),rgba(238,243,251,.2))}.demo-step.is-active .demo-step__dot{border-color:var(--demo-blue-2);background:radial-gradient(circle,var(--demo-blue-2) 0 4px,#fff 5px);animation:demo-ring 1.4s ease-out infinite}.demo-step.is-active .demo-step__role{color:var(--demo-blue)}.demo-step.is-active .demo-step__task{color:var(--demo-ink-2)}.demo-step.is-active .demo-step__state b{color:var(--demo-blue)}@keyframes demo-ring{0%{box-shadow:0 0 #2a62b873}to{box-shadow:0 0 0 9px #2a62b800}}@keyframes demo-pulse{0%,to{opacity:1}50%{opacity:.35}}.demo__right{min-height:0}.demo-tabs{display:flex;gap:3px;background:#f0f3f8;border-radius:10px;padding:3px}.demo-tabs__tab{border:0;background:transparent;border-radius:8px;padding:6px 13px;font:inherit;font-size:12.5px;font-weight:500;color:var(--demo-muted);cursor:pointer}.demo-tabs__tab[aria-selected=true]{background:#fff;color:var(--demo-blue);font-weight:800;box-shadow:0 1px 4px #0f172a1f}.demo__canvas{flex:1;min-height:0;border-radius:12px;border:1px solid #e8edf5;background-color:#f9fbfe;background-image:radial-gradient(#dde5f1 1px,transparent 1.2px);background-size:18px 18px;overflow:hidden;display:flex;flex-direction:column}.demo-er{width:100%;height:100%;display:block}.demo-er__title{fill:#fff;font-size:15px;font-weight:800;font-family:inherit;letter-spacing:.01em}.demo-er__reltag{fill:#fff;font-size:10.5px;font-weight:700;font-family:inherit}.demo-er__attr{fill:#1e293b;font-size:13.5px;font-family:inherit}.demo-er__attr--pk{font-weight:800;text-decoration:underline}.demo-er__badge{font-size:10px;font-weight:800;font-family:inherit}.demo-er__badge--pk{fill:#92400e}.demo-er__badge--fk{fill:#1d4ed8}.demo-er__card{fill:#475569;font-size:11.5px;font-weight:800;font-family:inherit}.demo__empty{margin:auto;color:var(--demo-faint);font-size:14px;text-align:center;padding:20px}.demo__error{margin:10px;padding:10px 12px;border-radius:8px;background:#fef2f2;border:1px solid #fecaca;color:var(--demo-red);font-size:13px}.demo-feed{overflow:auto;padding:12px 14px;display:grid;gap:9px;background:#f9fbfe}.demo-feed__item{background:#fff;border:1px solid var(--demo-line);border-radius:10px;padding:9px 12px}.demo-feed__who{font-size:12.5px;font-weight:800;color:var(--demo-blue);margin-bottom:4px}.demo-feed__text{margin:0;white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.5;color:#334155;max-height:180px;overflow:auto;font-family:ui-monospace,Consolas,monospace}.demo__json{margin:0;padding:14px;overflow:auto;font-size:12px;font-family:ui-monospace,Consolas,monospace;color:#334155;background:#f9fbfe}.demo__stats{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:13px;color:var(--demo-muted)}.demo__stat{display:inline-flex;align-items:baseline;gap:4px;padding:4px 12px;border-radius:999px;background:var(--demo-blue-soft);color:var(--demo-ink-2)}.demo__stat b{color:var(--demo-blue);font-size:16px;font-weight:800}.demo__legend{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;margin-left:8px}.demo__badge{font-style:normal;font-size:10px;font-weight:800;padding:1px 5px;border-radius:4px;margin-left:8px}.demo__badge--pk{background:#fef3c7;color:#92400e}.demo__badge--fk{background:#dbeafe;color:#1d4ed8}.demo__swatch{display:inline-block;width:12px;height:12px;border-radius:3px;margin-left:8px}.demo__swatch--rel{background:linear-gradient(135deg,#14857a,#0b5c56)}.demo__legend-n{margin-left:8px;font-weight:800;color:#475569}.demo__replay{margin-left:auto;display:inline-flex;align-items:center;gap:8px}.demo__link{border:0;background:none;padding:0;font:inherit;font-size:12px;color:var(--demo-faint);cursor:pointer;text-decoration:underline}.demo__link:disabled{cursor:default;opacity:.5}.demo__replay-tag{font-size:12px;color:#b45309}:root{--page: #eef1f6;--surface: rgba(255, 255, 255, .84);--surface-strong: #ffffff;--ink: #0a1325;--muted: rgba(10, 19, 37, .6);--line: rgba(10, 19, 37, .12);--line-strong: rgba(10, 19, 37, .2);--nav: #07111f;--nav-2: #0d1c32;--nav-ink: rgba(255, 255, 255, .92);--nav-muted: rgba(255, 255, 255, .62);--nav-line: rgba(255, 255, 255, .12);--accent: #22d3aa;--accent-2: #32b9ff;--shadow: 0 18px 50px rgba(12, 18, 32, .12);--shadow-tight: 0 10px 24px rgba(12, 18, 32, .12);--r-lg: 18px;--r-md: 14px;--r-sm: 12px;--sidebar-w: 276px;--topbar-h: 58px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;color:var(--ink);background:radial-gradient(1200px 800px at 10% -10%,rgba(56,189,248,.22),transparent 60%),radial-gradient(900px 600px at 100% 0%,rgba(45,212,191,.18),transparent 55%),radial-gradient(900px 700px at 60% 120%,rgba(11,18,32,.06),transparent 60%),var(--page);font-family:IBM Plex Sans,ui-sans-serif,system-ui,-apple-system,Segoe UI Variable,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit}:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 60%,white);outline-offset:2px}.studio{position:relative;isolation:isolate;min-height:100%;display:grid;grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--topbar-h) 1fr}.studio__ambient{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(1200px 800px at 10% -10%,rgba(50,185,255,.3),transparent 60%),radial-gradient(900px 620px at 100% 4%,rgba(34,211,170,.2),transparent 50%),radial-gradient(980px 780px at 60% 120%,rgba(7,17,31,.1),transparent 65%);pointer-events:none}.studio__sidebar{grid-column:1;grid-row:1 / span 2;position:sticky;top:0;height:100vh;background:radial-gradient(1200px 900px at 10% 10%,rgba(45,212,191,.12),transparent 55%),linear-gradient(160deg,var(--nav),var(--nav-2));border-right:1px solid var(--nav-line)}.studio__topbar{grid-column:2;grid-row:1;position:sticky;top:0;z-index:5;background:var(--surface);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.studio__main{grid-column:2;grid-row:2;overflow:auto}.studio__workspace{min-height:100%}.sidebar{height:100%;display:flex;flex-direction:column;padding:18px 14px;gap:14px}.brand{display:flex;align-items:baseline;justify-content:space-between;padding:10px 12px;border-radius:var(--r-md);border:1px solid rgba(255,255,255,.08);background:#ffffff0a}.brand__name{font-family:Fraunces,Georgia,serif;font-weight:780;letter-spacing:-.02em;color:var(--nav-ink);font-size:15px;line-height:1.1}.brand__tag{color:var(--nav-muted);font-size:12px;font-weight:600}.nav{display:flex;flex-direction:column;gap:6px;padding:6px}.nav__label{padding:10px 12px 8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#ffffff85}.nav-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:14px;background:transparent;color:var(--nav-ink);padding:10px 12px;cursor:pointer;display:flex;align-items:center;gap:10px;text-align:left;transition:transform .14s ease,background .14s ease,border-color .14s ease;border:1px solid transparent}.nav-item:hover{background:#ffffff0f;border-color:#ffffff14;transform:translateY(-1px)}.nav-item[aria-current=page]{background:linear-gradient(90deg,#2dd4bf29,#38bdf814 52%,#ffffff0a);border-color:#2dd4bf42}.nav-item__icon{width:18px;height:18px;flex:0 0 18px;opacity:.92}.nav-item__text{display:flex;flex-direction:column;gap:2px;min-width:0}.nav-item__title{font-size:13px;font-weight:700;letter-spacing:-.01em}.nav-item__hint{font-size:12px;color:#ffffff94;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__foot{margin-top:auto;padding:12px 12px 10px;border-top:1px solid rgba(255,255,255,.08);color:#ffffff8c;font-size:12px;display:flex;flex-direction:column;gap:8px}.sidebar__foot-label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#ffffff80}.sidebar__flow{display:flex;flex-wrap:wrap;gap:6px}.sidebar__flow>span{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:#ffffffbd;font-weight:600}.dot{width:8px;height:8px;border-radius:50%;background:#ffffff52}.dot--ok{background:color-mix(in srgb,var(--accent) 80%,white)}.topbar{height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;padding:0 18px;gap:12px}.topbar__left{display:flex;align-items:baseline;gap:10px;min-width:0}.crumb{font-size:12px;color:var(--muted);font-weight:650;letter-spacing:.04em;text-transform:uppercase}.topbar__title{font-family:Fraunces,Georgia,serif;font-weight:820;letter-spacing:-.02em;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar__right{display:flex;align-items:center;gap:10px}.chip{border:1px solid var(--line);background:var(--surface-strong);box-shadow:0 10px 26px #0c122014;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:700;color:#0b1220c2;display:inline-flex;align-items:center;gap:8px}.switch{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--muted)}.switch__label{line-height:1}.switch__input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.switch__track{width:42px;height:24px;border-radius:999px;border:1px solid var(--line);background:#0a132514;padding:2px;display:inline-flex;align-items:center;transition:background .16s ease,border-color .16s ease}.switch__thumb{width:18px;height:18px;border-radius:50%;background:var(--surface-strong);box-shadow:0 4px 10px #0a13253d;transform:translate(0);transition:transform .16s ease}.switch__input:checked+.switch__track{background:linear-gradient(90deg,#22d3aa47,#32b9ff47);border-color:#22d3aa80}.switch__input:checked+.switch__track .switch__thumb{transform:translate(18px)}.switch__input:focus-visible+.switch__track{outline:3px solid color-mix(in srgb,var(--accent) 60%,white);outline-offset:2px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line-strong);background:linear-gradient(180deg,#fffffff5,#fffc);box-shadow:var(--shadow-tight);padding:9px 12px;border-radius:12px;font-weight:700;font-size:12px;color:var(--ink);cursor:pointer;transition:transform .14s ease,box-shadow .14s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 16px 34px #0c12201f}.btn:active{transform:translateY(0)}.btn:disabled{cursor:not-allowed;opacity:.58;transform:none;box-shadow:none}.btn--primary{border-color:#22d3aa59;background:linear-gradient(180deg,#22d3aa33,#32b9ff1f)}.btn--ghost{background:#fffc}.workspace{padding:20px 20px 24px;max-width:1200px}.workspace__header{padding:18px 18px 12px;border-radius:var(--r-lg);border:1px solid rgba(11,18,32,.1);background:#ffffffbd;box-shadow:var(--shadow);transform-origin:20% 0%;animation:in .52s cubic-bezier(.16,1,.3,1) both}.workspace__kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#0b12209e;font-weight:720}.workspace__title{margin:8px 0 6px;font-family:Fraunces,Georgia,serif;font-size:28px;letter-spacing:-.04em;line-height:1.08}.workspace__subtitle{margin:0;color:var(--muted);font-size:13px;max-width:74ch}.workspace__canvas{margin-top:14px;border-radius:var(--r-lg);border:1px solid rgba(11,18,32,.1);background:#fff9;box-shadow:var(--shadow);overflow:hidden;animation:in2 .62s cubic-bezier(.16,1,.3,1) both;animation-delay:60ms}.workspace--deploy .workspace__header{background:linear-gradient(135deg,#38bdf824,#22d3aa1a 44%,#fffc),#ffffffc7}.workspace--deploy .workspace__canvas{background:radial-gradient(760px 360px at 8% -6%,rgba(56,189,248,.14),transparent 60%),radial-gradient(700px 360px at 92% -8%,rgba(34,211,170,.14),transparent 60%),#ffffffad}.deploy-surface{display:grid;gap:12px;padding:14px}.deploy-state-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:10px;border-radius:var(--r-md);border:1px solid rgba(11,18,32,.09);background:linear-gradient(120deg,#38bdf81f,#22d3aa1a,#ffffffdb)}.deploy-state-strip__item{padding:8px 10px;border-radius:10px;border:1px solid rgba(11,18,32,.08);background:#ffffffbf;display:grid;gap:6px}.deploy-state-strip__label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#0a132594;font-weight:700}.deploy-state-strip__value{font-size:13px;font-weight:760}.deploy-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:12px}.deploy-grid__form,.deploy-grid__summary{display:grid;gap:12px;align-content:start}.deploy-card{background:#ffffffdb}.archive-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:20px;padding:18px}.archive-grid__list,.archive-grid__detail{display:grid;gap:16px;align-content:start}.archive-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.archive-list__item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}.archive-row{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;text-align:left;border:1px solid rgba(10,19,37,.12);border-radius:14px;background:#ffffffd1;padding:12px 14px;display:grid;gap:4px;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease}.archive-row:hover{transform:translateY(-1px);border-color:#22d3aa47}.archive-row--active{border-color:#22d3aa85;background:linear-gradient(135deg,#22d3aa1f,#32b9ff1a)}.archive-row__title{font-size:13px;font-weight:700;color:var(--ink)}.archive-row__meta{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.archive-detail{min-height:100%}.er-grid{display:grid;grid-template-columns:240px minmax(0,1fr) 320px;gap:18px;min-height:640px;padding:18px}.er-grid__list,.er-grid__canvas,.er-grid__inspector{display:grid;gap:16px;align-content:start}.er-grid__canvas .panel{min-height:100%}.diagram{width:100%;height:auto;min-height:520px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.field{display:grid;gap:6px}.field__label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#0a132594;font-weight:700}.generate-config-row__helper{font-size:12px;color:var(--muted);line-height:1.35;grid-column:1 / -1;margin-top:-2px}.input,.select,.textarea{width:100%;border:1px solid rgba(11,18,32,.16);border-radius:11px;background:#fffffff2;color:var(--ink);font:inherit}.input,.select{min-height:38px;padding:0 10px}.textarea{padding:10px 12px;line-height:1.5;resize:vertical}.toggle{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#0a1325bd}.toggle input{margin:0}.panel__foot{padding:0 13px 13px;display:flex;justify-content:flex-end}.callout{border-radius:10px;border:1px solid rgba(11,18,32,.1);background:#ffffffe6;padding:10px;font-size:12px;line-height:1.45}.callout--bad{border-color:#b91c1c33;background:#fef2f2e6}.callout__title{font-size:12px;font-weight:760;margin-bottom:4px}.callout__body{font-size:12px;color:#0a1325b8}.kv{margin:0;display:grid;gap:7px}.kv__row{display:flex;align-items:center;justify-content:space-between;gap:10px}.kv__k{margin:0;color:#0a132594;font-size:12px}.kv__v{margin:0;font-size:12px;font-weight:700}.plain-list{margin:0;padding-left:16px;display:grid;gap:6px;color:#0a1325bf;font-size:12px;line-height:1.45}.panel{border-radius:var(--r-md);border:1px solid rgba(11,18,32,.11);background:#ffffffd6;box-shadow:0 16px 36px #0c12201a}.panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:11px 13px 10px;border-bottom:1px solid rgba(11,18,32,.08)}.panel__title{font-size:13px;font-weight:760;letter-spacing:-.01em}.panel__hint{color:#0a132599;font-size:12px}.panel__actions{display:flex;align-items:center;gap:8px}.panel__body{padding:12px 13px}.panel--flush .panel__body{padding-top:0}.code{margin:0;overflow:auto;padding:10px 11px;border-radius:10px;border:1px solid rgba(11,18,32,.1);background:#09101eeb;color:#f1f8fff2;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.code--compact{max-height:320px}.issue-list{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:8px}.issue{display:flex;align-items:flex-start;gap:8px}.issue__msg{font-size:12px;line-height:1.45;color:var(--ink)}.status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:760;text-transform:capitalize}.status--ok{color:#126a57;background:#22d3aa2b}.status--warn{color:#8a5f00;background:#fbbf2430}.status--bad{color:#981b1b;background:#f8717133}.status--muted{color:#0a13259e;background:#0a132514}.muted{color:#0a132599;font-size:12px;line-height:1.45}.ddl-review{display:grid;gap:12px;padding:14px}.review-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px;border-radius:var(--r-md);border:1px solid rgba(11,18,32,.09);background:linear-gradient(120deg,#38bdf81a,#2dd4bf1a,#ffffffd1)}.review-strip__item{display:grid;gap:4px;padding:8px 10px;border-radius:12px;border:1px solid rgba(11,18,32,.08);background:#ffffffb8}.review-strip__label{color:#0a13258f;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.review-strip__value{font-size:13px;font-weight:700}.review-tabs{display:flex;flex-wrap:wrap;gap:8px}.review-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(10,19,37,.16);border-radius:11px;background:#ffffffd1;color:#0a1325c7;font-size:12px;font-weight:700;padding:8px 12px;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease}.review-tab:hover{transform:translateY(-1px);border-color:#22d3aa66}.review-tab[aria-selected=true]{border-color:#22d3aa9e;background:linear-gradient(135deg,#22d3aa38,#32b9ff24);color:#07111ff2}.review-body{min-height:420px}.review-panel{height:100%;border-radius:var(--r-md);border:1px solid rgba(11,18,32,.11);background:#ffffffe0;box-shadow:0 16px 36px #0c12201a}.review-panel .panel__body{max-height:520px;overflow:auto}.generate-stage .workspace__header{background:linear-gradient(135deg,#38bdf829,#2dd4bf1f 42%,#fffc),#ffffffc7}.generate-stage .workspace__canvas{background:radial-gradient(900px 420px at 10% -8%,rgba(56,189,248,.12),transparent 56%),radial-gradient(700px 380px at 92% -6%,rgba(45,212,191,.13),transparent 58%),#ffffffb3}.generate-stage__layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:14px;padding:14px}.generate-stage__main{display:grid;gap:12px}.generate-stage__controls{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(260px,1fr);gap:10px}.generate-action-panel{display:grid;align-content:start;gap:10px;padding:14px;background:linear-gradient(180deg,#fffffff0,#f6fbffeb),#ffffffe0}.generate-action-panel__kicker{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#0a13258f;font-weight:700}.generate-action-panel__title{font-size:18px;line-height:1.1;letter-spacing:-.02em;font-weight:780}.generate-action-panel__button{width:100%;min-height:48px}.generate-action-panel__body{color:#0a1325b8;font-size:12px;line-height:1.45}.generate-action-panel__mode{font-size:12px;font-weight:700;color:#0e7561;padding-top:2px}.generate-stage__preview{min-height:220px}.generate-stage__side{display:flex}.generate-stage__side-stack{display:grid;gap:12px;width:100%}.generate-stage .panel{border-radius:var(--r-md);border:1px solid rgba(11,18,32,.11);background:#ffffffd6;box-shadow:0 16px 36px #0c12201a}.generate-stage .panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:11px 13px 10px;border-bottom:1px solid rgba(11,18,32,.08)}.generate-stage .panel__title{font-size:13px;font-weight:760;letter-spacing:-.01em}.generate-stage .panel__hint{margin-top:4px;color:#0a132599;font-size:12px}.generate-stage .panel__body{padding:12px 13px}.generate-stage .field{display:grid;gap:6px}.generate-stage .field__label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#0a132594;font-weight:700}.generate-stage .input,.generate-stage .select,.generate-stage .textarea{width:100%;border:1px solid rgba(11,18,32,.16);border-radius:11px;background:#fffffff2;color:var(--ink);font:inherit}.generate-stage .input,.generate-stage .select{min-height:38px;padding:0 10px}.generate-stage .textarea{padding:10px 12px;line-height:1.5;resize:vertical}.generate-stage .code{margin:0;max-height:320px;overflow:auto;padding:10px 11px;border-radius:10px;border:1px solid rgba(11,18,32,.1);background:#09101eeb;color:#f1f8fff2;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.generate-requirement__badge{border-radius:999px;border:1px solid rgba(34,211,170,.46);padding:5px 9px;font-size:11px;font-weight:760;color:#0e7561;background:#22d3aa29}.generate-requirement__tips{margin-top:10px;display:grid;gap:6px;color:#0a1325a3;font-size:12px}.generate-config-row{display:grid;align-content:center}.generate-config-row__fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end}.generate-config-row__custom{margin-top:10px}.generate-config-row__note{font-size:12px;color:#0a13258f}.generation-summary__progress{margin-bottom:10px;font-size:13px;font-weight:700;color:#0a1325d1}.generation-summary .status{border-radius:999px;padding:4px 10px;font-size:11px;font-weight:760;text-transform:capitalize}.generation-summary .status--ok{color:#126a57;background:#22d3aa2b}.generation-summary .status--warn{color:#8a5f00;background:#fbbf2430}.generation-summary .status--bad{color:#981b1b;background:#f8717133}.generation-summary .status--muted{color:#0a13259e;background:#0a132514}.generate-stage .kv{margin:0;display:grid;gap:7px}.generate-stage .kv__row{display:flex;align-items:center;justify-content:space-between;gap:10px}.generate-stage .kv__k{margin:0;color:#0a132594;font-size:12px}.generate-stage .kv__v{margin:0;font-size:12px;font-weight:700}.generation-summary__meta,.generate-stage .muted{color:#0a132599;font-size:12px;line-height:1.45}.canvas{display:grid;grid-template-columns:220px 1fr 240px;gap:0;min-height:520px}.canvas__rail{padding:14px;border-right:1px solid rgba(11,18,32,.09);background:linear-gradient(180deg,#ffffffe0,#ffffffa3)}.canvas__rail--right{border-right:0;border-left:1px solid rgba(11,18,32,.09)}.mono-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid rgba(11,18,32,.14);background:#ffffffe6;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,monospace;font-weight:750;font-size:12px;letter-spacing:.02em}.mono-pill--ghost{background:#fff9}.rail-note{margin-top:10px;color:#0b122099;font-size:12px;line-height:1.35}.canvas__main{padding:14px}.canvas-card{border-radius:var(--r-lg);border:1px solid rgba(11,18,32,.1);background:#ffffffdb;box-shadow:0 24px 60px #0c12201f;overflow:hidden}.canvas-card__title{padding:12px 14px;border-bottom:1px solid rgba(11,18,32,.08);font-weight:850;letter-spacing:-.02em}.canvas-card__body{padding:14px}.placeholder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.placeholder-block{height:56px;border-radius:14px;border:1px dashed rgba(11,18,32,.18);background:linear-gradient(120deg,#38bdf81a,#2dd4bf14,#fff9)}.hint{margin-top:12px;color:#0b1220b8;font-size:13px;line-height:1.4}.canvas-foot{margin-top:12px;display:flex;align-items:center;gap:10px;color:#0b1220b3}.foot-note{font-size:12px}@keyframes in{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes in2{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dot--pulse{background:color-mix(in srgb,var(--accent) 80%,white);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 980px){.studio{grid-template-columns:84px 1fr}.brand__tag,.nav-item__hint{display:none}.nav-item__title{font-size:12px}.nav-item{justify-content:center}.nav-item__text{display:none}.sidebar{padding:16px 10px}.workspace{padding:18px 14px 20px}.review-strip{grid-template-columns:1fr}.deploy-state-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.deploy-grid,.form-grid,.canvas{grid-template-columns:1fr}.canvas__rail,.canvas__rail--right{display:none}.generate-stage__layout{grid-template-columns:1fr;padding:10px}.generate-stage__controls,.generate-config-row__fields{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
