#nprogress{pointer-events:none}#nprogress .bar{z-index:1031;background:#29d;width:100%;height:2px;position:fixed;top:0;left:0}#nprogress .peg{opacity:1;width:100px;height:100%;display:block;position:absolute;right:0;transform:rotate(3deg)translateY(-4px);box-shadow:0 0 10px #29d,0 0 5px #29d}#nprogress .spinner{z-index:1031;display:block;position:fixed;top:15px;right:15px}#nprogress .spinner-icon{box-sizing:border-box;border:2px solid transparent;border-color:#29d transparent transparent #29d;border-radius:50%;width:18px;height:18px;animation:.4s linear infinite nprogress-spinner}.nprogress-custom-parent{position:relative;overflow:hidden}.nprogress-custom-parent #nprogress .spinner,.nprogress-custom-parent #nprogress .bar{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{background-color:#f8f9fa;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{vertical-align:baseline;display:inline-block}audio:not([controls]){height:0;display:none}[hidden],template{display:none}a:active{outline:0}em{font-style:normal}pre{overflow:auto}button,input,optgroup,select,textarea{font:inherit;color:inherit;margin:0}button{cursor:pointer;overflow:visible}button[disabled]{cursor:default}button,select{text-transform:none}button::-moz-focus-inner{border:0;padding:0}input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox]{cursor:pointer;padding:0}input[type=radio]{cursor:pointer;padding:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}a{color:#337ab7;-webkit-text-decoration:none;text-decoration:none}table{border-spacing:0;border-collapse:collapse}*{box-sizing:border-box}.clearfix:after{content:"";clear:both;height:0;font-size:0;display:table}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-nowrap{white-space:nowrap}.text-overflow{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.text-wrap{word-wrap:break-word;word-break:break-all}.text-base{font-size:14px}.text-md{font-size:13px}.text-sm{font-size:12px}.font-bold{font-weight:700}.font-normal{font-weight:400}.min-0{min-width:0}.min-1{min-width:1px}.w-full{width:100%}.h-full{height:100%}.flex{display:flex}.flex-1{flex:1}.flex-auto{flex:auto}.items-center{align-items:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.relative{position:relative}.absolute{position:absolute}.block{display:block}.inline-block{display:inline-block}.mx-auto{margin-left:auto;margin-right:auto}.shadow-sm{box-shadow:0 1px 2px rgba(0,0,0,.1),0 1px 3px rgba(0,0,0,.06)}.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.m-8{margin:8px!important}.mt-8{margin-top:8px!important}.mb-8{margin-bottom:8px!important}.mr-8{margin-right:8px!important}.ml-8{margin-left:8px!important}.m-10{margin:10px!important}.mt-10{margin-top:10px!important}.mb-10{margin-bottom:10px!important}.mr-10{margin-right:10px!important}.ml-10{margin-left:10px!important}.m-12{margin:12px!important}.mt-12{margin-top:12px!important}.mb-12{margin-bottom:12px!important}.mr-12{margin-right:12px!important}.ml-12{margin-left:12px!important}.m-15{margin:15px!important}.mt-15{margin-top:15px!important}.mb-15{margin-bottom:15px!important}.mr-15{margin-right:15px!important}.ml-15{margin-left:15px!important}.m-16{margin:16px!important}.mt-16{margin-top:16px!important}.mb-16{margin-bottom:16px!important}.mr-16{margin-right:16px!important}.ml-16{margin-left:16px!important}.m-20{margin:20px!important}.mt-20{margin-top:20px!important}.mb-20{margin-bottom:20px!important}.mr-20{margin-right:20px!important}.ml-20{margin-left:20px!important}.m-25{margin:25px!important}.mt-25{margin-top:25px!important}.mb-25{margin-bottom:25px!important}.mr-25{margin-right:25px!important}.ml-25{margin-left:25px!important}.m-24{margin:24px!important}.mt-24{margin-top:24px!important}.mb-24{margin-bottom:24px!important}.mr-24{margin-right:24px!important}.ml-24{margin-left:24px!important}.m-30{margin:30px!important}.mt-30{margin-top:30px!important}.mb-30{margin-bottom:30px!important}.mr-30{margin-right:30px!important}.ml-30{margin-left:30px!important}.m-28{margin:28px!important}.mt-28{margin-top:28px!important}.mb-28{margin-bottom:28px!important}.mr-28{margin-right:28px!important}.ml-28{margin-left:28px!important}.m-35{margin:35px!important}.mt-35{margin-top:35px!important}.mb-35{margin-bottom:35px!important}.mr-35{margin-right:35px!important}.ml-35{margin-left:35px!important}.m-32{margin:32px!important}.mt-32{margin-top:32px!important}.mb-32{margin-bottom:32px!important}.mr-32{margin-right:32px!important}.ml-32{margin-left:32px!important}.m-36{margin:36px!important}.mt-36{margin-top:36px!important}.mb-36{margin-bottom:36px!important}.mr-36{margin-right:36px!important}.ml-36{margin-left:36px!important}.m-45{margin:45px!important}.mt-45{margin-top:45px!important}.mb-45{margin-bottom:45px!important}.mr-45{margin-right:45px!important}.ml-45{margin-left:45px!important}.m-40{margin:40px!important}.mt-40{margin-top:40px!important}.mb-40{margin-bottom:40px!important}.mr-40{margin-right:40px!important}.ml-40{margin-left:40px!important}.m-50{margin:50px!important}.mt-50{margin-top:50px!important}.mb-50{margin-bottom:50px!important}.mr-50{margin-right:50px!important}.ml-50{margin-left:50px!important}.p-8{padding:8px!important}.pt-8{padding-top:8px!important}.pb-8{padding-bottom:8px!important}.pr-8{padding-right:8px!important}.pl-8{padding-left:8px!important}.p-10{padding:10px!important}.pt-10{padding-top:10px!important}.pb-10{padding-bottom:10px!important}.pr-10{padding-right:10px!important}.pl-10{padding-left:10px!important}.p-12{padding:12px!important}.pt-12{padding-top:12px!important}.pb-12{padding-bottom:12px!important}.pr-12{padding-right:12px!important}.pl-12{padding-left:12px!important}.p-15{padding:15px!important}.pt-15{padding-top:15px!important}.pb-15{padding-bottom:15px!important}.pr-15{padding-right:15px!important}.pl-15{padding-left:15px!important}.p-16{padding:16px!important}.pt-16{padding-top:16px!important}.pb-16{padding-bottom:16px!important}.pr-16{padding-right:16px!important}.pl-16{padding-left:16px!important}.p-20{padding:20px!important}.pt-20{padding-top:20px!important}.pb-20{padding-bottom:20px!important}.pr-20{padding-right:20px!important}.pl-20{padding-left:20px!important}.p-25{padding:25px!important}.pt-25{padding-top:25px!important}.pb-25{padding-bottom:25px!important}.pr-25{padding-right:25px!important}.pl-25{padding-left:25px!important}.p-24{padding:24px!important}.pt-24{padding-top:24px!important}.pb-24{padding-bottom:24px!important}.pr-24{padding-right:24px!important}.pl-24{padding-left:24px!important}.p-30{padding:30px!important}.pt-30{padding-top:30px!important}.pb-30{padding-bottom:30px!important}.pr-30{padding-right:30px!important}.pl-30{padding-left:30px!important}.p-28{padding:28px!important}.pt-28{padding-top:28px!important}.pb-28{padding-bottom:28px!important}.pr-28{padding-right:28px!important}.pl-28{padding-left:28px!important}.p-35{padding:35px!important}.pt-35{padding-top:35px!important}.pb-35{padding-bottom:35px!important}.pr-35{padding-right:35px!important}.pl-35{padding-left:35px!important}.p-32{padding:32px!important}.pt-32{padding-top:32px!important}.pb-32{padding-bottom:32px!important}.pr-32{padding-right:32px!important}.pl-32{padding-left:32px!important}.p-36{padding:36px!important}.pt-36{padding-top:36px!important}.pb-36{padding-bottom:36px!important}.pr-36{padding-right:36px!important}.pl-36{padding-left:36px!important}.p-45{padding:45px!important}.pt-45{padding-top:45px!important}.pb-45{padding-bottom:45px!important}.pr-45{padding-right:45px!important}.pl-45{padding-left:45px!important}.p-40{padding:40px!important}.pt-40{padding-top:40px!important}.pb-40{padding-bottom:40px!important}.pr-40{padding-right:40px!important}.pl-40{padding-left:40px!important}.p-50{padding:50px!important}.pt-50{padding-top:50px!important}.pb-50{padding-bottom:50px!important}.pr-50{padding-right:50px!important}.pl-50{padding-left:50px!important}table{width:100%}table thead.sticky,table tr.sticky{z-index:500;position:-webkit-sticky;position:sticky;top:0}table tr[left]>td,table tr[left]>th{text-align:left}table tr[center]>td,table tr[center]>th{text-align:center}table tr[right]>td,table tr[right]>th{text-align:right}table th[left],table td[left],table p[left]{text-align:left}table th[center],table td[center],table p[center]{text-align:center}table th[right],table td[right],table p[right]{text-align:right}@font-face{font-family:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwA_JxhTg.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAopxhTg.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAkJxhTg.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAfJthTg.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwARZthTg.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAIpthTg.ttf)format("truetype")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbY2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKxjPQ.ttf)format("truetype")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbY2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8-qxjPQ.ttf)format("truetype")}.common-devdeck-page{--dd-page-content-width:min(100%, 1240px);background:radial-gradient(ellipse 80% 60% at 50% 0%, var(--dd-glow) 0%, transparent 60%), radial-gradient(ellipse 40% 40% at 80% 20%, var(--dd-subtle-glow) 0%, transparent 50%), var(--dd-bg-base);min-height:100vh;color:var(--dd-text-primary);flex-direction:column;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;overflow-x:hidden}.common-devdeck-page.with-workspace-sidebar{flex-direction:row;height:100vh;overflow:hidden}.common-devdeck-workspace-main{flex-direction:column;flex:1;min-width:0;min-height:100vh;display:flex}.common-devdeck-page.with-workspace-sidebar .common-devdeck-workspace-main{height:100vh;min-height:0;overflow-x:hidden;overflow-y:auto}.common-devdeck-brand{align-items:center;gap:10px;min-width:0;font-size:20px;font-weight:800;display:inline-flex}.common-devdeck-brand-mark{width:32px;height:32px;box-shadow:0 2px 12px color-mix(in srgb, var(--dd-cta), transparent 70%);-o-object-fit:cover;object-fit:cover;border-radius:8px}.common-project-studio{--bg-deep:#0a0c10;--bg-base:#111318;--bg-surface:#1a1d26;--bg-card:#22252e;--bg-elevated:#2a2e3a;--accent:#1a6fe8;--cta:#f5a623;--hot:#e8502a;--text-primary:#fff;--text-secondary:#9ca3af;--text-muted:#6b7280;--border:#2a2e3a;--input-bg:#1a1d26;z-index:50;background:#111318;background:var(--bg-base);color:var(--text-primary);height:100vh;font-family:DM Sans,sans-serif;animation:.4s commonProjectStudioFadeIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.common-project-studio button,.common-project-studio input,.common-project-studio textarea{font-family:DM Sans,sans-serif}.common-project-studio button{transition:all .15s}.common-project-studio .live-url-pill i,.common-project-studio .live-row i,.common-project-studio .live-data-pill i{background:#22c55e;border-radius:3px;width:5px;height:5px;animation:2s infinite commonProjectStudioPulse}.common-project-studio .live-row.is-deploying i,.common-project-studio .live-row.is-checking i{background:#f59e0b}.common-project-studio .live-row.is-failed i{background:#ef4444;animation:none}.common-project-studio .live-data-pill.is-checking i{background:#f59e0b}.common-project-studio .live-data-pill.is-failed i,.common-project-studio .live-data-pill.is-idle i{animation:none}.common-project-studio .live-data-pill.is-failed i{background:#ef4444}.common-project-studio .live-data-pill.is-idle i{background:var(--text-muted)}.common-project-studio .studio-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.common-project-studio .studio-navbar{border-bottom:1px solid var(--border);background:var(--bg-base);flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:10px 24px;display:flex}.common-project-studio .studio-breadcrumb,.common-project-studio .studio-navbar-actions,.common-project-studio .live-url-pill,.common-project-studio .button-row,.common-project-studio .preview-toolbar,.common-project-studio .preview-toolbar>div,.common-project-studio .table-action-row,.common-project-studio .domain-url-row,.common-project-studio .checklist-head{align-items:center;display:flex}.common-project-studio .studio-breadcrumb{white-space:nowrap;flex:1;gap:8px;min-width:0;overflow:hidden}.common-project-studio .studio-breadcrumb button{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:500;display:block;overflow:hidden}.common-project-studio .studio-breadcrumb button:hover{color:var(--text-primary)}.common-project-studio .studio-breadcrumb span{color:var(--text-muted);flex:none}.common-project-studio .studio-breadcrumb strong,.common-project-studio .breadcrumb-project-name,.common-project-studio .breadcrumb-project-name-input{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:600;display:block;overflow:hidden}.common-project-studio .breadcrumb-project-name{max-width:min(280px,34vw);color:var(--text-primary);flex:0 auto;padding:0}.common-project-studio .breadcrumb-project-name-input{border:1px solid var(--accent);background:var(--bg-soft);width:min(280px,34vw);height:28px;color:var(--text-primary);border-radius:6px;outline:none;padding:3px 8px}.common-project-studio .breadcrumb-project-name-input:disabled{opacity:.7}.common-project-studio .studio-breadcrumb em{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-style:normal;font-weight:500;display:block;overflow:hidden}.common-project-studio .studio-navbar-actions{flex:1 1 0;justify-content:flex-end;gap:10px;min-width:0}.common-project-studio .studio-environment-switch{flex:none}.common-project-studio .studio-environment-switch button:first-child.active{background:color-mix(in srgb, var(--cta) 15%, transparent);color:var(--cta)}.common-project-studio .studio-environment-switch button:last-child.active{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent)}.common-project-studio .studio-environment-help{flex:none;display:flex;position:relative}.common-project-studio .environment-help-button{border:1px solid var(--border);width:16px;height:16px;color:var(--text-muted);cursor:help;background:0 0;border-radius:50%;align-items:center;justify-items:center;padding:0;font-size:9px;font-weight:800;line-height:1;display:grid}.common-project-studio .environment-help-tooltip{z-index:40;visibility:hidden;border:1px solid var(--border);background:var(--bg-surface);opacity:0;pointer-events:none;border-radius:10px;width:248px;padding:12px;transition:opacity .15s;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 45px rgba(0,0,0,.38)}.common-project-studio .studio-environment-help:hover .environment-help-tooltip{visibility:visible;opacity:1}.common-project-studio .studio-environment-help:focus-within .environment-help-tooltip{visibility:visible;opacity:1}.common-project-studio .environment-help-tooltip p{color:var(--text-secondary);margin:0;font-size:11px;line-height:1.55}.common-project-studio .environment-help-tooltip p+p{margin-top:6px}.common-project-studio .environment-help-tooltip strong.is-testing{color:var(--cta)}.common-project-studio .environment-help-tooltip strong.is-production{color:var(--accent)}.common-project-studio .live-url-pill.is-testing>i{background:var(--cta)}.common-project-studio .live-url-pill.is-production>i{background:var(--accent)}.common-project-studio .live-url-pill{border:1px solid var(--border);background:var(--bg-card);border-radius:8px;flex:0 auto;gap:8px;min-width:0;padding:6px 10px 6px 12px}.common-project-studio .live-url-pill span{min-width:120px;max-width:360px;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500;overflow:hidden}.common-project-studio .live-url-pill button,.common-project-studio .icon-button{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;justify-items:center;display:grid}.common-project-studio .live-url-pill button:hover{color:var(--text-primary)}.common-project-studio .icon-button{border:1px solid var(--border);background:var(--bg-card);width:36px;height:36px;color:var(--text-secondary);border-radius:8px}.common-project-studio .icon-button:hover{background:var(--bg-elevated);color:var(--text-primary)}.common-project-studio .publish-button{background:var(--accent);color:#fff;white-space:nowrap;cursor:pointer;border:0;border-radius:8px;flex:none;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;display:flex;box-shadow:0 2px 8px rgba(26,111,232,.25)}.common-project-studio .publish-button:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(26,111,232,.33)}.common-project-studio .studio-page-scroll{scrollbar-width:thin;scrollbar-color:var(--bg-elevated) var(--bg-base);flex:1;overflow:auto}.common-project-studio .studio-page-scroll.has-admin-frame{min-height:0;overflow:hidden}.common-project-studio .project-sidebar{scrollbar-width:thin;scrollbar-color:var(--bg-elevated) var(--bg-surface)}.common-project-studio .studio-page-scroll::-webkit-scrollbar{width:10px;height:10px}.common-project-studio .project-sidebar::-webkit-scrollbar{width:10px;height:10px}.common-project-studio .studio-page-scroll::-webkit-scrollbar-track{background:var(--bg-base)}.common-project-studio .project-sidebar::-webkit-scrollbar-track{background:var(--bg-surface)}.common-project-studio .studio-page-scroll::-webkit-scrollbar-thumb{background:var(--bg-elevated);background-clip:content-box;border:2px solid transparent;border-radius:999px}.common-project-studio .project-sidebar::-webkit-scrollbar-thumb{background:var(--bg-elevated);background-clip:content-box;border:2px solid transparent;border-radius:999px}.common-project-studio .studio-page-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-muted);background-clip:content-box}.common-project-studio .project-sidebar::-webkit-scrollbar-thumb:hover{background:var(--text-muted);background-clip:content-box}.common-project-studio .page-shell{box-sizing:border-box;max-width:1100px;margin:0 auto;padding:24px 32px;animation:.4s commonProjectStudioFadeIn}.common-project-studio .page-shell.page-shell-fill{flex-direction:column;height:100%;display:flex}.common-project-studio .page-shell.page-shell-fill>:not(.page-shell-head){flex:auto;min-height:0}.common-project-studio .page-shell-head{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.common-project-studio .page-shell h1{color:var(--text-primary);margin:0;font-size:26px;font-weight:700}.common-project-studio .page-shell p{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.common-project-studio .page-actions{flex-shrink:0;gap:8px;display:flex}.common-project-studio .overview-live-card,.common-project-studio .section-card,.common-project-studio .schema-card,.common-project-studio .relations-card,.common-project-studio .domain-card-large,.common-project-studio .settings-card,.common-project-studio .empty-card{border:1px solid var(--border);background:var(--bg-surface)}.common-project-studio .overview-live-card{border-radius:14px;margin-bottom:16px;padding:24px}.common-project-studio .overview-live-main{grid-gap:24px;grid-template-columns:1fr 200px;gap:24px;display:grid}.common-project-studio .live-row{align-items:center;gap:8px;margin-bottom:10px;display:flex}.common-project-studio .live-row strong{color:#22c55e;letter-spacing:.4px;font-size:12px}.common-project-studio .live-row.is-deploying strong,.common-project-studio .live-row.is-checking strong{color:#f59e0b}.common-project-studio .live-row.is-failed strong{color:#ef4444}.common-project-studio .live-row.is-idle strong{color:var(--text-muted)}.common-project-studio .live-row.is-idle i{background:var(--text-muted);animation:none}.common-project-studio .live-row span{color:var(--text-muted);font-size:12px}.common-project-studio .live-url{color:var(--text-primary);word-break:break-all;margin-bottom:14px;font-family:JetBrains Mono,monospace;font-size:22px;font-weight:700}.common-project-studio .button-row{gap:8px}.common-project-studio .primary-dark,.common-project-studio .secondary-dark,.common-project-studio .secondary-button{cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:600;display:inline-flex}.common-project-studio .primary-dark{background:var(--text-primary);color:var(--bg-base);border:0}.common-project-studio .secondary-dark{border:1px solid var(--border);color:var(--text-secondary);background:0 0}.common-project-studio .secondary-dark:hover{border-color:var(--text-muted);color:var(--text-primary)}.common-project-studio .secondary-button{border:1px solid var(--border);color:var(--text-secondary);background:0 0}.common-project-studio .secondary-button:hover{border-color:var(--text-muted);color:var(--text-primary)}.common-project-studio button:disabled{cursor:default;opacity:.5}.common-project-studio .mini-preview{border:1px solid var(--border);background:var(--bg-card);aspect-ratio:16/10;border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.common-project-studio .mini-browser{border-bottom:1px solid var(--border);background:var(--bg-elevated);align-items:center;gap:3px;height:12px;padding:0 6px;display:flex}.common-project-studio .mini-browser i{border-radius:3px;width:5px;height:5px}.common-project-studio .mini-browser i:first-child{background:#ff5f56}.common-project-studio .mini-browser i:nth-child(2){background:#ffbd2e}.common-project-studio .mini-browser i:nth-child(3){background:#27c93f}.common-project-studio .mini-preview-body{flex-direction:column;flex:1;gap:4px;padding:8px;display:flex}.common-project-studio .mini-preview-body b,.common-project-studio .mini-preview-body span,.common-project-studio .mini-preview-body em,.common-project-studio .mini-preview-body i{background:var(--bg-elevated);border-radius:2px;display:block}.common-project-studio .mini-preview-body b{width:40%;height:8px}.common-project-studio .mini-preview-body span{opacity:.6;width:70%;height:5px}.common-project-studio .mini-preview-body em{opacity:0;flex:1}.common-project-studio .mini-preview-body div{grid-gap:3px;grid-template-columns:repeat(3,1fr);gap:3px;display:grid}.common-project-studio .mini-preview-body i{aspect-ratio:1}.common-project-studio .section-card{border-radius:14px;margin-bottom:16px;padding:20px}.common-project-studio .section-title{color:var(--text-muted);letter-spacing:.8px;text-transform:uppercase;margin-bottom:12px;font-size:11px;font-weight:700}.common-project-studio .stats-grid{grid-template-columns:repeat(4,1fr);display:grid}.common-project-studio .stat-card{text-align:left;cursor:pointer;background:0 0;border:0;min-width:0;padding:0 16px}.common-project-studio .stat-card:first-child{padding-left:0}.common-project-studio .stat-card:last-child{padding-right:0}.common-project-studio .stat-card.has-divider{border-left:1px solid var(--border)}.common-project-studio .stat-card:hover{color:var(--accent)}.common-project-studio .stat-card strong{color:var(--text-primary);margin-bottom:6px;font-size:24px;line-height:1;display:block}.common-project-studio .stat-card strong.is-loading{color:var(--text-muted)}.common-project-studio .stat-card span{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;display:block;overflow:hidden}.common-project-studio .stat-card small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11px;display:block;overflow:hidden}.common-project-studio .overview-metrics{border-top:1px solid var(--border);margin-top:20px;padding-top:18px}.common-project-studio .overview-metrics-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;display:flex}.common-project-studio .overview-metrics-head>strong{color:var(--text-secondary);font-size:12px;font-weight:800}.common-project-studio .overview-inline-error{color:#ef4444;align-items:center;gap:8px;min-width:0;font-size:11px;display:flex}.common-project-studio .overview-inline-error span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.common-project-studio .overview-inline-error button,.common-project-studio .overview-empty-state button{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:4px 9px;font-size:11px;font-weight:700}.common-project-studio .version-history-head,.common-project-studio .version-meta{align-items:center;display:flex}.common-project-studio .version-history-head{justify-content:space-between;gap:12px;margin-bottom:12px}.common-project-studio .version-history-head .section-title{margin-bottom:0}.common-project-studio .version-toggle{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.common-project-studio .version-toggle .rotated{transform:rotate(180deg)}.common-project-studio .overview-empty-state{min-height:64px;color:var(--text-muted);justify-content:center;align-items:center;gap:10px;font-size:12px;display:flex}.common-project-studio .overview-empty-state.is-error{color:#ef4444}.common-project-studio .unpublished-changes-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.common-project-studio .unpublished-changes-head .section-title{margin-bottom:0}.common-project-studio .unpublished-changes-head>span{color:var(--text-muted);font-size:11px}.common-project-studio .unpublished-change-list{flex-direction:column;display:flex}.common-project-studio .unpublished-change-row{grid-gap:12px;border-bottom:1px solid var(--border);grid-template-columns:88px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 0;display:grid}.common-project-studio .unpublished-change-row:last-child{border-bottom:0}.common-project-studio .unpublished-change-tag{color:#3b82f6;background:rgba(59,130,246,.1);border-radius:999px;justify-self:start;padding:3px 8px;font-size:10px;font-weight:800}.common-project-studio .unpublished-change-tag.is-secrets{color:#a855f7;background:rgba(168,85,247,.1)}.common-project-studio .unpublished-change-tag.is-connection{color:#f97316;background:rgba(249,115,22,.1)}.common-project-studio .unpublished-change-row strong{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.common-project-studio .unpublished-change-row time{color:var(--text-muted);white-space:nowrap;font-size:11px}.common-project-studio .version-list{position:relative}.common-project-studio .version-row{grid-gap:14px;border-bottom:1px solid var(--border);grid-template-columns:7px 1fr;gap:14px;padding:10px 0;display:grid}.common-project-studio .version-row:last-child{border-bottom:0}.common-project-studio .version-row>i{background:var(--text-muted);border-radius:50%;width:7px;height:7px;margin-top:5px}.common-project-studio .version-row>i.current{background:#22c55e}.common-project-studio .version-meta{gap:8px}.common-project-studio .version-meta strong{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:13px}.common-project-studio .version-meta em{color:#22c55e;background:rgba(34,197,94,.08);border-radius:10px;padding:2px 7px;font-size:10px;font-style:normal;font-weight:700}.common-project-studio .version-meta time{color:var(--text-muted);margin-left:auto;font-size:11px}.common-project-studio .version-row p{color:var(--text-secondary);margin:3px 0 0;font-size:12px;line-height:1.5}.common-project-studio .checklist-head{justify-content:space-between}.common-project-studio .checklist-head span{color:var(--text-muted);font-size:11px}.common-project-studio .checklist-list{flex-direction:column;gap:6px;display:flex}.common-project-studio .checklist-list button{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:1px solid transparent;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex}.common-project-studio .checklist-list button:hover{border-color:var(--border);background:var(--bg-card)}.common-project-studio .checklist-list i{border:1px solid var(--border);color:#22c55e;border-radius:10px;flex-shrink:0;align-items:center;justify-items:center;width:20px;height:20px;font-style:normal;line-height:1;display:inline-grid}.common-project-studio .checklist-list i svg{display:block}.common-project-studio .checklist-list .done i{background:rgba(34,197,94,.08);border-color:#22c55e}.common-project-studio .checklist-list span{flex:1}.common-project-studio .checklist-list strong,.common-project-studio .checklist-list small{display:block}.common-project-studio .checklist-list strong{color:var(--text-primary);font-size:13px}.common-project-studio .checklist-list small{color:var(--text-muted);margin-top:2px;font-size:11px}.common-project-studio .checklist-list em{border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;align-items:center;gap:4px;padding:5px 10px;font-size:11px;font-style:normal;font-weight:600;display:inline-flex}.common-project-studio .preview-page{flex-direction:column;height:100%;min-height:0;display:flex}.common-project-studio .preview-toolbar{border-bottom:1px solid var(--border);background:var(--bg-base);justify-content:space-between;padding:12px 24px}.common-project-studio .preview-toolbar>div{gap:8px}.common-project-studio .preview-toolbar code{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:11px}.common-project-studio .segmented-control{border:1px solid var(--border);background:var(--bg-card);border-radius:8px;padding:2px;display:flex}.common-project-studio .segmented-control button{color:var(--text-secondary);cursor:pointer;text-transform:capitalize;background:0 0;border:0;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:600}.common-project-studio .segmented-control button.active{background:var(--bg-elevated);color:var(--text-primary)}.common-project-studio .live-data-pill{color:#22c55e;background:rgba(34,197,94,.08);border-radius:8px;align-items:center;gap:5px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.common-project-studio .live-data-pill.is-checking{color:#f59e0b;background:rgba(245,158,11,.1)}.common-project-studio .live-data-pill.is-failed{color:#fca5a5;background:rgba(239,68,68,.12)}.common-project-studio .live-data-pill.is-idle{color:var(--text-muted);background:rgba(107,114,128,.12)}.common-project-studio .preview-stage{background:var(--bg-deep);flex:1;justify-content:center;align-items:stretch;min-height:0;padding:0;display:flex;overflow:hidden}.common-project-studio .preview-frame{background:var(--bg-base);height:100%;min-height:0}.common-project-studio .preview-frame.desktop{width:100%;max-width:none}.common-project-studio .preview-frame.mobile{width:min(380px,100%)}.common-project-studio .preview-frame iframe{background:#fff;border:0;width:100%;height:100%;display:block}.common-project-studio .project-admin-frame{border:1px solid var(--border);background:var(--bg-base);border-radius:10px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.common-project-studio .project-admin-frame-bar{border-bottom:1px solid var(--border);background:var(--bg-surface);justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;display:flex}.common-project-studio .project-admin-frame-bar span{color:var(--text-secondary);text-transform:uppercase;font-size:11px;font-weight:800}.common-project-studio .project-admin-frame-bar code{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:11px;overflow:hidden}.common-project-studio .project-admin-frame iframe{border:0;flex:1;width:100%;height:100%;display:block}.common-project-studio .project-admin-embed-frame{border:0;width:100%;height:100%;min-height:0;display:block}.common-project-studio .project-admin-state{grid-gap:10px;border:1px solid var(--border);background:var(--bg-surface);min-height:280px;color:var(--text-muted);text-align:center;border-radius:10px;align-content:center;align-items:center;justify-items:center;gap:10px;padding:32px;display:grid}.common-project-studio .project-admin-state svg{color:var(--accent)}.common-project-studio .project-admin-state.error svg{color:#ef4444}.common-project-studio .project-admin-state strong{color:var(--text-primary);font-size:15px}.common-project-studio .project-admin-state p{max-width:460px;color:var(--text-muted);margin:0;font-size:12px;line-height:1.5}.common-project-studio .schema-stats{gap:16px;margin-bottom:24px;display:flex}.common-project-studio .schema-stats div{border:1px solid var(--border);background:var(--bg-surface);border-radius:10px;min-width:100px;padding:12px 20px}.common-project-studio .schema-stats strong{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:22px;display:block}.common-project-studio .schema-stats span{color:var(--text-muted);font-size:11px;font-weight:600}.common-project-studio .schema-grid{grid-gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:24px;display:grid}.common-project-studio .schema-card{border-radius:12px;overflow:hidden}.common-project-studio .schema-card header{border-bottom:1px solid var(--border);background:var(--bg-card);align-items:center;gap:10px;padding:12px 16px;display:flex}.common-project-studio .schema-card header i{background:var(--accent);border-radius:4px;width:8px;height:8px}.common-project-studio .schema-card header strong{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:14px}.common-project-studio .schema-card header span{color:var(--text-muted);margin-left:auto;font-size:11px}.common-project-studio .schema-field{grid-gap:8px;border-bottom:1px solid var(--border);grid-template-columns:26px minmax(0,1fr) max-content;align-items:center;gap:8px;padding:8px 16px;font-size:12px;display:grid}.common-project-studio .schema-field.last{border-bottom:0}.common-project-studio .schema-field b{text-align:center;border-radius:3px;width:22px;min-height:15px;padding:1px 0;font-size:9px;font-weight:800}.common-project-studio .schema-field b.req{color:var(--hot)}.common-project-studio .schema-field b.pk{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent)}.common-project-studio .schema-field code{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-weight:500;overflow:hidden}.common-project-studio .schema-field span{border:1px solid var(--border);background:var(--bg-card);max-width:112px;color:var(--text-muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:2px 7px;font-family:JetBrains Mono,monospace;font-size:11px;font-style:normal;line-height:1.25;overflow:hidden}.common-project-studio .relations-card{border-radius:12px;padding:16px}.common-project-studio .relations-card strong{color:var(--text-primary);font-size:13px}.common-project-studio .table-tabs{border-bottom:1px solid var(--border);align-items:center;gap:4px;margin-bottom:18px;display:flex}.common-project-studio .table-tabs button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid transparent;align-items:center;gap:4px;padding:10px 16px;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500;display:inline-flex}.common-project-studio .table-tabs button.active{border-bottom-color:var(--accent);color:var(--text-primary);font-weight:600}.common-project-studio .table-tabs span{color:var(--text-muted);font-family:DM Sans,sans-serif;font-size:11px}.common-project-studio .table-action-row{justify-content:space-between;margin-bottom:14px}.common-project-studio .table-action-row>div{color:var(--text-muted);align-items:center;gap:10px;font-size:12px;display:flex}.common-project-studio .table-action-row code{color:var(--text-secondary);font-family:JetBrains Mono,monospace}.common-project-studio .table-action-buttons{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.common-project-studio .compact-button{padding:6px 10px}.common-project-studio .table-note{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-muted);border-radius:8px;margin:0 0 12px;padding:10px 12px;font-size:12px}.common-project-studio .data-table-wrap{border:1px solid var(--border);background:var(--bg-surface);border-radius:12px;overflow:auto}.common-project-studio .data-table-wrap table{border-collapse:collapse;width:100%}.common-project-studio .data-table-wrap th,.common-project-studio .data-table-wrap td{border-bottom:1px solid var(--border);color:var(--text-secondary);text-align:left;vertical-align:middle;white-space:nowrap;padding:12px 14px;font-size:12px}.common-project-studio .data-table-wrap th{color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;font-size:11px;font-weight:700}.common-project-studio .data-table-wrap tbody td:not(.table-row-actions){color:#ccc}.common-project-studio .data-table-wrap th span,.common-project-studio .data-table-wrap th small{display:block}.common-project-studio .data-table-wrap th small{color:var(--text-muted);letter-spacing:0;text-transform:none;margin-top:3px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500}.common-project-studio .data-table-wrap td{max-width:260px}.common-project-studio .table-row-actions{width:118px;text-align:right!important}.common-project-studio .row-action-group{justify-content:flex-end;gap:6px;display:inline-flex}.common-project-studio .table-cell-button{width:100%;max-width:240px;color:inherit;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;background:0 0;border:1px solid transparent;border-radius:6px;padding:5px 6px;display:block;overflow:hidden}.common-project-studio .table-cell-button:hover{border-color:var(--border);background:var(--bg-card);color:#ccc}.common-project-studio .table-cell-button.empty,.common-project-studio .empty-value{color:var(--text-muted);font-style:italic}.common-project-studio .table-cell-input{border:1px solid var(--accent);background:var(--bg-card);width:100%;min-width:140px;max-width:240px;color:var(--text-primary);border-radius:7px;outline:none;padding:7px 8px;font-size:12px}.common-project-studio .draft-row td{background:var(--bg-card)}.common-project-studio .table-delete-button{color:var(--text-muted);display:inline-grid}.common-project-studio .table-delete-button:hover{color:#dc2626;border-color:rgba(220,38,38,.35)}.common-project-studio .table-empty-row{color:var(--text-muted);text-align:center!important;padding:42px 14px!important}.common-project-studio .table-empty-row span{margin-bottom:12px;display:block}.common-project-studio .visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.common-project-studio .file-upload-zone{border:1.5px dashed var(--border);background:var(--bg-surface);width:100%;color:inherit;text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:14px;margin-bottom:18px;padding:20px;transition:border-color .15s,background .15s;display:flex}.common-project-studio .file-upload-zone:hover,.common-project-studio .file-upload-zone.active{border-color:var(--accent);background:rgba(26,111,232,.05)}.common-project-studio .file-upload-icon{background:var(--bg-card);width:42px;height:42px;color:var(--accent);border-radius:9px;flex:none;align-items:center;justify-items:center;display:grid}.common-project-studio .file-upload-copy{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.common-project-studio .file-upload-copy strong{color:var(--text-primary);font-size:13px}.common-project-studio .file-upload-copy small,.common-project-studio .file-list-toolbar{color:var(--text-muted);font-size:11px}.common-project-studio .file-list-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.common-project-studio .file-list-toolbar>div{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.common-project-studio .sort-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid transparent;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:500;display:inline-flex}.common-project-studio .sort-toggle.active{color:var(--accent);background:rgba(26,111,232,.15);border-color:rgba(26,111,232,.3);font-weight:600}.common-project-studio .sort-toggle span,.common-project-studio .file-table th button span{color:inherit;opacity:.75;font-size:10px}.common-project-studio .file-list,.common-project-studio .analytics-preview-panel{border:1px solid var(--border);background:var(--bg-surface);border-radius:12px;overflow:hidden}.common-project-studio .file-list{overflow-x:auto}.common-project-studio .file-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:560px}.common-project-studio .file-col-name{width:auto}.common-project-studio .file-col-type{width:80px}.common-project-studio .file-col-size{width:90px}.common-project-studio .file-col-uploaded{width:132px}.common-project-studio .file-col-actions{width:36px}.common-project-studio .file-table th,.common-project-studio .file-table td{border-bottom:1px solid var(--border);color:var(--text-secondary);text-align:left;vertical-align:middle;padding:10px 18px;font-size:12px}.common-project-studio .file-table th{background:var(--bg-card);padding-top:12px;padding-bottom:12px}.common-project-studio .file-table tbody tr:last-child td{border-bottom:0}.common-project-studio .file-table th button,.common-project-studio .file-table th span{color:var(--text-muted);letter-spacing:.6px;text-align:left;text-transform:uppercase;background:0 0;border:0;font-size:11px;font-weight:700}.common-project-studio .file-table th button{white-space:nowrap;cursor:pointer;padding:0}.common-project-studio .file-table td:nth-child(3),.common-project-studio .file-table td:nth-child(4){white-space:nowrap}.common-project-studio .file-table td:last-child,.common-project-studio .file-table th:last-child{text-align:right;padding-left:0}.common-project-studio .file-name-cell{align-items:center;gap:10px;min-width:0;display:flex}.common-project-studio .file-name-cell code{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:12px;overflow:hidden}.common-project-studio .file-chat-button{opacity:0;flex:none;width:26px;height:26px}.common-project-studio .file-table tbody tr:hover .file-chat-button{opacity:1}.common-project-studio .file-chat-button:focus-visible{opacity:1}.common-project-studio .file-chat-button:hover{color:var(--accent);border-color:rgba(26,111,232,.35)}.common-project-studio .file-type-icon{background:color-mix(in srgb, var(--file-color) 15%, transparent);width:30px;height:30px;color:var(--file-color);border-radius:6px;flex:none;align-items:center;justify-items:center;display:grid}.common-project-studio .file-type-pill{width:-moz-max-content;background:color-mix(in srgb, var(--file-color) 12%, transparent);width:max-content;min-width:44px;color:var(--file-color);text-transform:uppercase;border-radius:4px;justify-content:center;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;display:inline-flex}.common-project-studio .file-remove-button{width:28px;height:28px}.common-project-studio .file-remove-button:hover{color:#dc2626;border-color:rgba(220,38,38,.35)}.common-project-studio .file-empty-state{color:var(--text-muted);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:48px 20px;display:flex}.common-project-studio .file-empty-state strong{color:var(--text-primary);font-size:14px}.common-project-studio .analytics-empty-panel{border:1px dashed var(--border);background:var(--bg-surface);color:var(--text-muted);text-align:center;border-radius:14px;flex-direction:column;align-items:center;margin-bottom:16px;padding:40px 20px;display:flex}.common-project-studio .analytics-empty-panel strong{color:var(--text-primary);margin-top:14px;margin-bottom:6px;font-size:16px;font-weight:700}.common-project-studio .analytics-empty-panel p{max-width:400px;color:var(--text-muted);margin:0 0 18px;font-size:13px}.common-project-studio .analytics-empty-panel small{color:var(--text-muted);margin-top:10px;font-size:11px}.common-project-studio .analytics-preview-panel{opacity:.5;padding:20px}.common-project-studio .analytics-metric-grid{grid-gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.common-project-studio .analytics-metric-card{border:1px solid var(--border);background:var(--bg-card);border-radius:10px;padding:14px}.common-project-studio .analytics-metric-card strong{color:var(--text-muted);font-size:24px;font-weight:700;display:block}.common-project-studio .analytics-metric-card span{color:var(--text-muted);font-size:12px}.common-project-studio .code-layout{grid-gap:16px;grid-template-columns:240px 1fr;gap:16px;height:480px;display:grid}.common-project-studio .file-tree{border:1px solid var(--border);background:var(--bg-surface);border-radius:10px;padding:8px;overflow:auto}.common-project-studio .file-tree button{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:6px;padding-top:4px;padding-bottom:4px;font-family:JetBrains Mono,monospace;font-size:12px;display:flex}.common-project-studio .file-tree button.active{color:var(--accent);background:rgba(26,111,232,.08);font-weight:600}.common-project-studio .code-viewer{border:1px solid var(--border);background:var(--bg-surface);border-radius:10px;padding:12px 16px;overflow:auto}.common-project-studio .code-path{color:var(--text-muted);margin-bottom:8px;font-family:JetBrains Mono,monospace;font-size:10px}.common-project-studio .code-viewer pre{color:var(--text-secondary);white-space:pre-wrap;margin:0;font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.7}.common-project-studio .domain-card-large,.common-project-studio .settings-card{border-radius:12px;margin-bottom:12px;padding:20px}.common-project-studio .domain-url-row{gap:10px}.common-project-studio .domain-url-row code{border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;border-radius:8px;flex:1;padding:10px 14px;font-family:JetBrains Mono,monospace;font-size:13px;overflow:hidden}.common-project-studio .domain-url-row button,.common-project-studio .domain-card-large button{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;padding:10px 16px;font-size:12px;font-weight:600}.common-project-studio .domain-publish-actions{justify-content:flex-start;margin-top:16px;display:flex}.common-project-studio .domain-card-large .domain-publish-actions .primary-dark{background:var(--accent);color:#fff;border:0}.common-project-studio .domain-card-large.dashed{text-align:center;border-style:dashed;flex-direction:column;align-items:center;display:flex}.common-project-studio .domain-card-large.dashed svg{color:var(--text-muted);margin-bottom:10px}.common-project-studio .domain-card-large.dashed strong{color:var(--text-primary);font-size:14px}.common-project-studio .domain-card-large.dashed p{margin:4px 0 14px}.common-project-studio .readiness-list{grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none;display:grid}.common-project-studio .readiness-list li{border:1px solid var(--border);background:var(--bg-card);border-radius:8px;gap:10px;padding:10px;display:flex}.common-project-studio .readiness-list li>span{color:#fff;border-radius:11px;align-items:center;justify-items:center;width:22px;height:22px;font-size:12px;font-weight:800;display:grid}.common-project-studio .readiness-list .is-passed>span{background:#22c55e}.common-project-studio .readiness-list .is-warning>span{background:#f59e0b}.common-project-studio .readiness-list .is-blocked>span,.common-project-studio .readiness-list .is-failed>span{background:#ef4444}.common-project-studio .readiness-list strong,.common-project-studio .readiness-list small{display:block}.common-project-studio .readiness-list strong{color:var(--text-primary);font-size:12px}.common-project-studio .readiness-list small{color:var(--text-muted);margin-top:2px;font-size:11px}.common-project-studio .settings-card input,.common-project-studio .settings-project-name{border:1px solid var(--border);background:var(--bg-card);width:100%;color:var(--text-primary);border-radius:8px;outline:none;padding:10px 12px;font-size:13px}.common-project-studio .settings-project-name{cursor:text;text-align:left;display:block}.common-project-studio .settings-project-name:hover{border-color:var(--accent)}.common-project-studio .settings-card code{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:13px}.common-project-studio .settings-card.danger{border-color:rgba(239,68,68,.25)}.common-project-studio .settings-card.danger .section-title{color:#ef4444}.common-project-studio .settings-card.danger>div:not(.section-title){justify-content:space-between;align-items:center;gap:12px;display:flex}.common-project-studio .settings-card.danger strong,.common-project-studio .settings-card.danger small{display:block}.common-project-studio .settings-card.danger strong{color:var(--text-primary);font-size:13px}.common-project-studio .settings-card.danger small{color:var(--text-muted);margin-top:2px;font-size:11px}.common-project-studio .settings-card.danger button{color:#ef4444;background:0 0;border:1px solid rgba(239,68,68,.25);border-radius:8px;padding:8px 16px;font-size:12px;font-weight:600}.common-project-studio .empty-card{color:var(--text-muted);text-align:center;border-radius:12px;padding:24px;font-size:13px}.common-project-studio .empty-card.compact{padding:16px}.common-project-studio .seo-form-card{grid-gap:20px;border:1px solid var(--border);background:var(--bg-surface);border-radius:8px;gap:20px;max-width:760px;padding:24px;display:grid}.common-project-studio .seo-field{grid-gap:8px;gap:8px;display:grid}.common-project-studio .seo-field-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.common-project-studio .seo-field-head strong{color:var(--text-primary);font-size:13px;font-weight:600}.common-project-studio .seo-field-head small{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:10px}.common-project-studio .seo-field input,.common-project-studio .seo-field textarea{box-sizing:border-box;border:1px solid var(--border);background:var(--bg-card);width:100%;color:var(--text-primary);border-radius:6px;outline:none;padding:10px 12px;font-size:13px;line-height:1.5}.common-project-studio .seo-field textarea{resize:vertical;min-height:108px}.common-project-studio .seo-field input:focus,.common-project-studio .seo-field textarea:focus{border-color:var(--accent)}.common-project-studio .seo-field input::-moz-placeholder{color:var(--text-muted)}.common-project-studio .seo-field textarea::-moz-placeholder{color:var(--text-muted)}.common-project-studio .seo-field input::-webkit-input-placeholder{color:var(--text-muted)}.common-project-studio .seo-field input::-moz-placeholder{color:var(--text-muted)}.common-project-studio .seo-field input::-ms-input-placeholder{color:var(--text-muted)}.common-project-studio .seo-field input::placeholder{color:var(--text-muted)}.common-project-studio .seo-field textarea::-webkit-input-placeholder{color:var(--text-muted)}.common-project-studio .seo-field textarea::-moz-placeholder{color:var(--text-muted)}.common-project-studio .seo-field textarea::-ms-input-placeholder{color:var(--text-muted)}.common-project-studio .seo-field textarea::placeholder{color:var(--text-muted)}.common-project-studio .seo-save-button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:7px;align-items:center;gap:7px;padding:9px 15px;font-size:12px;font-weight:600;display:inline-flex}.common-project-studio .seo-save-button:disabled{opacity:.55;cursor:not-allowed}.common-project-studio .seo-error{color:#f87171;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.3);border-radius:6px;padding:10px 12px;font-size:12px}.common-project-studio .empty-card.error,.common-project-studio .error-text{color:#ef4444}.common-project-studio .missing-state{height:100%;color:var(--text-secondary);text-align:center;align-items:center;justify-items:center;display:grid}.common-project-studio .missing-state strong{color:var(--text-primary);margin-bottom:8px;display:block}.common-project-studio .missing-state button{background:var(--accent);color:#fff;border:0;border-radius:8px;margin-top:12px;padding:8px 16px;font-weight:600}.common-project-studio .ai-panel{border-right:1px solid var(--border);background:var(--bg-surface);flex-direction:column;width:380px;min-width:380px;height:100%;animation:.3s commonProjectStudioFadeIn;display:flex}.common-project-studio .ai-panel header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.common-project-studio .ai-panel header>div,.common-project-studio .ai-panel header>div>div:first-child{align-items:center;gap:8px;display:flex}.common-project-studio .ai-panel header span{background:linear-gradient(135deg, var(--cta), #fbbf24);color:#fff;border-radius:8px;align-items:center;justify-items:center;width:28px;height:28px;display:grid}.common-project-studio .ai-panel header strong,.common-project-studio .ai-panel header small{display:block}.common-project-studio .ai-panel header strong{color:var(--text-primary);font-size:14px}.common-project-studio .ai-panel header small{color:var(--text-muted);font-size:11px}.common-project-studio .ai-panel header button{border:1px solid var(--border);background:var(--bg-card);width:28px;height:28px;color:var(--text-muted);cursor:pointer;border-radius:6px;align-items:center;justify-items:center;font-size:16px;display:grid}.common-project-studio .ai-messages{overflow-anchor:none;flex-direction:column;flex:1;padding:16px;display:flex;overflow:auto}.common-project-studio .ai-messages-content{flex-direction:column;gap:10px;min-height:100%;display:flex}.common-project-studio .ai-message{max-width:88%}.common-project-studio .ai-message.user{align-self:flex-end}.common-project-studio .ai-message.ai{align-self:flex-start}.common-project-studio .ai-message>div{color:var(--text-primary);border-radius:14px;padding:10px 14px;font-size:13px;line-height:1.55}.common-project-studio .ai-message.ai>div{border:1px solid var(--border);background:var(--bg-card)}.common-project-studio .ai-message.user>div{background:var(--accent);color:#fff}.common-project-studio .ai-message button{color:var(--text-muted);background:0 0;border:0;margin-top:4px;font-size:11px}.common-project-studio .ai-task-log{box-sizing:border-box;border:1px solid var(--border);background:rgba(10,12,16,.36);border-radius:12px;width:100%;padding:10px}.common-project-studio .ai-task-log-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.common-project-studio .ai-task-log-head strong{color:var(--text-primary);font-size:12px}.common-project-studio .ai-task-log-head span{color:var(--text-muted);letter-spacing:.4px;text-transform:uppercase;font-family:JetBrains Mono,Consolas,monospace;font-size:9px;font-weight:700}.common-project-studio .suggestion-chips{flex-wrap:wrap;gap:6px;padding:0 16px 10px;display:flex}.common-project-studio .suggestion-chips button{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);border-radius:14px;padding:5px 10px;font-size:11px;font-weight:500}.common-project-studio .suggestion-chips button:hover{border-color:var(--accent);color:var(--accent)}.common-project-studio .ai-input-wrap{background:var(--bg-surface);flex-shrink:0;padding:10px 12px}.common-project-studio .ai-input{border:1px solid var(--border);background:var(--bg-card);border-radius:20px;overflow:visible}.common-project-studio .ai-reference-chip-list{flex-wrap:wrap;gap:6px;padding:10px 12px 0;display:flex}.common-project-studio .ai-reference-chip{border:1px solid var(--border);background:var(--bg-elevated);max-width:100%;color:var(--text-secondary);border-radius:8px;align-items:center;gap:6px;padding:5px 8px;display:inline-flex}.common-project-studio .ai-reference-chip>span{grid-gap:1px;gap:1px;min-width:0;display:grid}.common-project-studio .ai-reference-chip strong,.common-project-studio .ai-reference-chip small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.common-project-studio .ai-reference-chip strong{color:var(--text-primary);font-size:11px}.common-project-studio .ai-reference-chip small{color:var(--text-muted);font-size:10px}.common-project-studio .ai-reference-chip button{width:18px;height:18px;color:var(--text-muted);background:0 0;border:0;border-radius:9px}.common-project-studio .ai-reference-chip button:hover{color:var(--text-primary);background:rgba(107,114,128,.12)}.common-project-studio .ai-input textarea{box-sizing:border-box;resize:none;width:100%;color:var(--text-primary);background:0 0;border:0;outline:none;padding:14px 16px 6px;font-size:13px;line-height:1.5}.common-project-studio .ai-role-menu{z-index:140;border:1px solid var(--border);background:var(--bg-card);border-radius:8px;width:172px;padding:6px;box-shadow:0 16px 36px rgba(15,23,42,.18)}.common-project-studio .ai-input .ai-role-menu>button{width:100%;height:auto;min-height:34px;color:var(--text-primary);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:flex-start;align-items:center;gap:8px;padding:7px 10px;display:flex}.common-project-studio .ai-input .ai-role-menu>button:hover,.common-project-studio .ai-input .ai-role-menu>button.active{background:var(--bg-elevated)}.common-project-studio .ai-input .ai-role-menu>button>span{background:color-mix(in srgb, var(--accent) 14%, transparent);width:20px;height:20px;color:var(--accent);border-radius:6px;flex:0 0 20px;align-items:center;justify-items:center;font-size:13px;font-weight:800;line-height:1;display:inline-grid}.common-project-studio .ai-role-menu strong{grid-gap:2px;gap:2px;font-size:12px;font-weight:700;display:grid}.common-project-studio .ai-input-controls{justify-content:space-between;align-items:center;padding:4px 12px 10px;display:flex}.common-project-studio .ai-input button{border:1px solid var(--border);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:15px;align-items:center;justify-items:center;display:grid}.common-project-studio .ai-send-button{background:var(--text-primary);width:34px;height:34px;color:var(--bg-base);border:0;border-radius:17px}.common-project-studio .ai-plus-wrap{display:inline-flex;position:relative}.common-project-studio .ai-plus-menu,.common-project-studio .ai-upload-panel{z-index:20;border:1px solid var(--border);background:var(--bg-card);border-radius:8px;width:220px;position:absolute;bottom:42px;left:0;box-shadow:0 16px 36px rgba(15,23,42,.18)}.common-project-studio .ai-plus-menu{padding:6px}.common-project-studio .ai-plus-menu button{width:100%;height:auto;color:var(--text-primary);border:0;border-radius:6px;justify-content:flex-start;gap:10px;padding:8px 14px;font-size:12px;font-weight:600;display:flex}.common-project-studio .ai-plus-menu button svg{width:16px;height:16px}.common-project-studio .ai-plus-icon-text{flex:none;align-items:center;justify-items:center;width:16px;height:16px;font-size:13px;font-weight:800;line-height:1;display:inline-grid}.common-project-studio .ai-plus-menu button:hover{background:var(--bg-elevated)}.common-project-studio .ai-upload-panel{padding:8px}.common-project-studio .ai-upload-panel-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;display:flex}.common-project-studio .ai-upload-panel-header button{width:auto;height:auto;color:var(--text-muted);border:0;border-radius:6px;padding:4px 6px}.common-project-studio .ai-upload-dropzone{grid-gap:4px;border:1px dashed var(--border);min-height:112px;color:var(--text-secondary);text-align:center;cursor:pointer;border-radius:8px;align-items:center;justify-items:center;gap:4px;padding:14px;display:grid}.common-project-studio .ai-upload-dropzone.active,.common-project-studio .ai-upload-dropzone:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);color:var(--accent)}.common-project-studio .ai-upload-dropzone span{font-size:10px;font-weight:700}.common-project-studio .ai-upload-dropzone small{color:var(--text-muted);font-size:8px}.common-project-studio .ai-upload-dropzone input{display:none}.common-project-studio .mode-toggle{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);cursor:pointer;border-radius:16px;margin-left:auto;margin-right:8px;padding:2px;font-size:11px}.common-project-studio .mode-toggle i{background:var(--accent);color:#fff;border-radius:14px;padding:4px 10px;font-style:normal;font-weight:700;display:block}.common-project-studio .mode-toggle.direct i{background:var(--cta)}@keyframes commonProjectStudioFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes commonProjectStudioPulse{0%,to{opacity:1}50%{opacity:.45}}@media (max-width:960px){.common-project-studio .ai-panel{width:340px;min-width:340px}.common-project-studio .overview-live-main,.common-project-studio .code-layout{grid-template-columns:1fr}.common-project-studio .stats-grid{grid-template-columns:repeat(2,1fr);row-gap:20px}.common-project-studio .stat-card:nth-child(odd){border-left:0;padding-left:0}.common-project-studio .stat-card:nth-child(2n){padding-right:0}.common-project-studio .live-url-pill span{max-width:240px}.common-project-studio .unpublished-change-row{grid-template-columns:80px minmax(0,1fr)}.common-project-studio .unpublished-change-row time{grid-column:2}}:root{--cpad:12px;--topbar-height:60px}html{height:100%}.common-shadow-box{background-color:#fff;border:1px solid #eaeaea;border-radius:3px;box-shadow:1px 2px 10px #e6e7ec}.common-data-empty,.common-empty-text{text-align:center;flex:1;padding:2em 1px;font-size:13px}.common-data-empty:empty:after,.common-empty-text:empty:after{content:"暂无数据"}.common-content-wrapper{padding:18px}.common-card-title{color:#333;margin:0;font-size:14px;font-weight:500}.common-search-section{background-color:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:12px 20px 14px}.common-search-section .btn{padding:6px 12px;font-size:12px;font-weight:500}.common-search-section .form-label{color:#6c757d;margin-bottom:5px;font-size:12px}.common-search-section .form-control,.common-search-section .form-select{font-size:14px}.table th{color:#495057;background-color:#f8f9fa;border-bottom:2px solid #dee2e6;font-size:14px;font-weight:600}.table td{vertical-align:middle;font-size:14px}.common-badge-outline{color:#6c757d;background-color:transparent;border:1px solid #dee2e6;border-radius:.375rem;padding:.25em .5em;font-size:.75em}.common-badge-small{color:#333;padding:2px 4px;font-size:11px}.common-drawer-footer{text-align:right;margin-top:12px}
