*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Geist,Geist Fallback,ui-sans-serif,system-ui,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:Geist Mono,ui-monospace,SFMono-Regular,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.top-chrome{inset-inline:0;z-index:50;border-bottom:1px solid var(--outline-variant);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f8fafdf5;position:sticky;top:0}.top-chrome-inner{justify-content:space-between;align-items:center;gap:1rem;width:min(100%,1440px);margin-inline:auto;display:flex}.brand-lockup{align-items:center;gap:.85rem;min-width:0;display:flex}.brand-mark{background:var(--primary);color:#fff;border-radius:8px;flex:none;place-items:center;width:2.5rem;height:2.5rem;display:grid}.brand-copy{flex-direction:column;gap:.1rem;min-width:0;display:flex}.brand-title{color:var(--foreground);font-family:var(--title-font);letter-spacing:0;font-size:.98rem;font-weight:580}.brand-subtitle{color:var(--muted);font-size:.8rem}.desktop-nav{background:var(--surface-container);border-radius:8px;align-items:center;gap:.25rem;padding:.25rem;display:flex}.desktop-nav-link{min-height:2.5rem;color:var(--secondary);border-radius:6px;justify-content:center;align-items:center;gap:.45rem;padding:0 .9rem;font-size:.9rem;font-weight:540;transition:background-color .16s,color .16s;display:inline-flex}.desktop-nav-link:hover,.desktop-nav-link-active{background:var(--primary-container);color:var(--on-primary-container)}.app-shell{background:linear-gradient(180deg, #d8e6ff8c, #f8fafd00 22rem), var(--background);min-height:100vh}.dashboard-shell{gap:1rem;width:min(100%,1440px);margin-inline:auto;padding:1rem;display:grid}.project-rail{border:1px solid var(--outline-variant);background:var(--surface);border-radius:8px;align-content:start;gap:.85rem;padding:.85rem;display:grid}.project-rail-header,.section-toolbar,.workbench-heading,.row-actions{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.project-list{gap:.25rem;display:grid}.workbench{align-content:start;gap:1rem;display:grid}.workbench-surface,.party-auth-panel,.party-auth-aside,.party-hero-card,.party-section-card,.party-stat-box,.party-note-card,.party-soft-card{border:1px solid var(--outline-variant);background:var(--surface);box-shadow:none;border-radius:8px}.workbench-surface,.party-auth-panel,.party-auth-aside,.party-hero-card,.party-section-card{padding:1rem}.party-auth-grid{border:1px solid var(--outline-variant);background:var(--surface);border-radius:8px;gap:0;min-height:calc(100vh - 4rem);display:grid;overflow:hidden}.party-auth-panel,.party-auth-aside{border:0;border-radius:0}.party-auth-aside{background:var(--primary-container);flex-direction:column;justify-content:space-between;gap:1.25rem;display:flex}.party-heading{align-items:flex-start;gap:.85rem;display:flex}.party-heading-icon{background:var(--primary-container);width:2.5rem;height:2.5rem;color:var(--primary);border-radius:8px;flex:none;place-items:center;display:inline-grid}.party-kicker{color:var(--primary);letter-spacing:0;font-size:.76rem;font-weight:650}.party-section-title{color:var(--foreground);font-family:var(--title-font);margin-top:.15rem;font-size:clamp(1.2rem,2vw,1.65rem);font-weight:580;line-height:1.18}.party-section-copy{color:var(--muted);line-height:1.62}.party-form-grid{gap:1rem;display:grid}.field-label{color:var(--secondary);font-size:.84rem;font-weight:560}.input-field{border:1px solid var(--outline);background:var(--surface);width:100%;min-height:2.75rem;color:var(--foreground);border-radius:6px;outline:none;padding:.7rem .85rem;transition:border-color .16s,background-color .16s}.input-field::placeholder{color:#8794a7}.input-field:focus{border-color:var(--primary);background:#fbfdff}.btn-primary,.btn-secondary,.btn-danger,.btn-text{border-radius:6px;justify-content:center;align-items:center;gap:.5rem;min-height:2.5rem;padding:.68rem .95rem;font-size:.88rem;font-weight:580;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex}.btn-primary{border:1px solid var(--primary);background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-secondary{border:1px solid var(--secondary-container);background:var(--secondary-container);color:#213044}.btn-secondary:hover{background:#d4ddeb}.btn-danger{border:1px solid var(--danger-container);background:var(--danger-container);color:var(--danger)}.btn-danger:hover{background:#f3cfcc;border-color:#efc8c5}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled,.btn-text:disabled{cursor:not-allowed;opacity:.56}.icon-button{width:2.35rem;height:2.35rem;color:var(--secondary);background:0 0;border:1px solid #0000;border-radius:6px;flex:none;place-items:center;transition:background-color .16s,color .16s;display:inline-grid}.icon-button:hover{color:var(--primary);background:#0b57d014}.party-hero-card{background:var(--surface);gap:1rem;display:grid}.party-hero-card.split{grid-template-columns:minmax(0,1fr);align-items:stretch}.party-hero-title{color:var(--foreground);font-family:var(--title-font);letter-spacing:0;margin-top:.1rem;font-size:clamp(2rem,5vw,3.6rem);font-weight:580;line-height:1}.party-hero-lead{max-width:42rem;color:var(--muted);font-size:1.01rem;line-height:1.65}.party-stat-grid{border:1px solid var(--outline-variant);background:var(--surface);border-radius:8px;display:grid;overflow:hidden}.party-stat-box{background:0 0;border:0;border-radius:0;padding:1rem}.party-stat-box+.party-stat-box{border-top:1px solid var(--outline-variant)}.party-stat-box strong{color:var(--foreground);font-family:var(--title-font);margin-top:.25rem;font-size:1.8rem;font-weight:580;line-height:1;display:block}.party-list-title{color:var(--foreground);font-weight:580}.party-note-card{background:var(--primary-container);color:var(--on-primary-container);padding:.85rem 1rem}.party-soft-card{background:var(--surface-container-low);padding:1rem}.party-empty{border:1px dashed var(--outline);background:var(--surface-container-low);border-radius:8px;padding:1rem}.project-list-button,.deployment-row,.domain-row,.health-row,.settings-row{border:1px solid var(--outline-variant);background:var(--surface);text-align:left;border-radius:6px;gap:.75rem;padding:.85rem;transition:border-color .16s,background-color .16s;display:grid}.project-list-button{background:0 0;border-color:#0000;grid-template-columns:minmax(0,1fr) auto;align-items:center}.project-list-button:hover,.project-list-button-active{background:var(--primary-container);color:var(--on-primary-container)}.deployment-row,.domain-row,.settings-row{align-items:center}.health-list{gap:.5rem;margin-top:1rem;display:grid}.health-row{background:var(--surface-container-low);grid-template-columns:auto minmax(0,1fr);align-items:start}.site-breadcrumb{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.site-breadcrumb-pill,.party-mini-pill,.status-badge{border:1px solid var(--outline-variant);background:var(--surface-container);width:fit-content;min-height:1.75rem;color:var(--secondary);letter-spacing:0;border-radius:6px;justify-content:center;align-items:center;padding:.3rem .65rem;font-size:.76rem;font-weight:580;display:inline-flex}.party-mini-pill-active{border-color:var(--primary-container);background:var(--primary-container);color:var(--on-primary-container)}.status-badge-ok{border-color:var(--success-container);background:var(--success-container);color:var(--success)}.status-badge-failed{border-color:var(--danger-container);background:var(--danger-container);color:var(--danger)}.status-badge-pending{border-color:var(--warning-container);background:var(--warning-container);color:var(--warning)}.code-pill{border:1px solid var(--outline-variant);background:var(--surface-container-low);border-radius:6px;justify-content:space-between;align-items:center;gap:.75rem;min-width:0;padding:.65rem .75rem;display:flex}.mobile-tab-strip{border:1px solid var(--outline-variant);background:var(--surface);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;padding:.35rem;display:grid}.mobile-tab-strip button{min-height:2.4rem;color:var(--secondary);border-radius:6px;justify-content:center;align-items:center;gap:.3rem;font-size:.74rem;font-weight:580;display:inline-flex}.mobile-tab-strip .mobile-tab-active{background:var(--primary-container);color:var(--on-primary-container)}.segmented-control{background:var(--surface-container);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;padding:.25rem;display:grid}.segmented-control button{min-height:2.5rem;color:var(--secondary);border-radius:6px;font-size:.9rem;font-weight:580}.segmented-control .segment-active{background:var(--surface);color:var(--primary)}.drawer-backdrop,.dialog-backdrop{z-index:80;background:#09121f5c;display:flex;position:fixed;inset:0}.drawer-backdrop{justify-content:flex-end}.drawer-panel{border-left:1px solid var(--outline-variant);background:var(--surface);grid-template-rows:auto 1fr;width:min(100%,440px);display:grid}.drawer-header,.dialog-header{border-bottom:1px solid var(--outline-variant);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem;display:flex}.drawer-body{padding:1rem;overflow:auto}.dialog-backdrop{justify-content:center;align-items:center;padding:1rem}.dialog-panel{border:1px solid var(--outline-variant);background:var(--surface);border-radius:8px;width:min(100%,440px);overflow:hidden}.dialog-body{padding:1rem}.dialog-footer{border-top:1px solid var(--outline-variant);flex-wrap:wrap;justify-content:flex-end;gap:.75rem;padding:1rem;display:flex}.mx-auto{margin-left:auto;margin-right:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-4{height:1rem}.h-5{height:1.25rem}.min-h-\[72px\]{min-height:72px}.min-h-screen{min-height:100vh}.w-4{width:1rem}.w-5{width:1.25rem}.w-full{width:100%}.min-w-0{min-width:0}.max-w-6xl{max-width:72rem}.shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-center{align-content:center}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border-\[\#f4c7c3\]{--tw-border-opacity:1;border-color:rgb(244 199 195/var(--tw-border-opacity,1))}.bg-\[\#fff8f7\]{--tw-bg-opacity:1;background-color:rgb(255 248 247/var(--tw-bg-opacity,1))}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-8{padding-bottom:2rem}.pt-1{padding-top:.25rem}.font-mono{font-family:Geist Mono,ui-monospace,SFMono-Regular,monospace}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.text-\[\#0b57d0\]{--tw-text-opacity:1;color:rgb(11 87 208/var(--tw-text-opacity,1))}.text-\[\#b3261e\]{--tw-text-opacity:1;color:rgb(179 38 30/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.opacity-70{opacity:.7}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f8fafd;--foreground:#18202a;--surface:#fff;--surface-container:#f1f4f9;--surface-container-high:#e9eef6;--surface-container-low:#f7f9fc;--outline:#c7d0dc;--outline-variant:#dfe5ed;--primary:#0b57d0;--primary-hover:#0846a8;--primary-container:#d8e6ff;--on-primary-container:#082f73;--secondary:#4f6075;--secondary-container:#e1e7f0;--success:#146c43;--success-container:#dcefe5;--warning:#875400;--warning-container:#ffeed1;--danger:#b3261e;--danger-container:#f9dedc;--muted:#566579;--body-font:"Segoe UI Variable Text", "Segoe UI", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", Arial, sans-serif;--title-font:"Segoe UI Variable Display", "Segoe UI", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", Arial, sans-serif}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--background);color:var(--foreground);font-family:var(--body-font);margin:0;font-weight:420}button,input{font:inherit}button{appearance:none}a{color:inherit;text-decoration:none}::selection{background:#0b57d038}[data-animate]{will-change:opacity, transform}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (min-width:768px){.party-auth-grid{grid-template-columns:minmax(0,1fr) minmax(22rem,.75fr);align-items:stretch}.deployment-row{grid-template-columns:minmax(0,1fr) auto}.domain-row{grid-template-columns:minmax(0,1fr) auto auto}.settings-row{grid-template-columns:minmax(0,1fr) auto}}@media (min-width:1024px){.dashboard-shell{grid-template-columns:300px minmax(0,1fr);padding:1.25rem 2rem 2rem}.party-hero-card.split{grid-template-columns:minmax(0,1.2fr) minmax(20rem,.8fr)}.party-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.party-stat-box+.party-stat-box{border-top:0;border-left:1px solid var(--outline-variant)}}@media (max-width:767px){.top-chrome-inner{min-height:auto}.party-hero-title{font-size:2rem}.row-actions,.section-toolbar,.workbench-heading{flex-direction:column;align-items:flex-start}}.file\:mr-3::file-selector-button{margin-right:.75rem}.file\:rounded::file-selector-button{border-radius:.25rem}.file\:border-0::file-selector-button{border-width:0}.file\:bg-\[\#0b57d0\]::file-selector-button{--tw-bg-opacity:1;background-color:rgb(11 87 208/var(--tw-bg-opacity,1))}.file\:px-3::file-selector-button{padding-left:.75rem;padding-right:.75rem}.file\:py-1::file-selector-button{padding-top:.25rem;padding-bottom:.25rem}.file\:text-white::file-selector-button{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}@media (min-width:1024px){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:px-8{padding-left:2rem;padding-right:2rem}}
