*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;font-size:14px;height:100%;overflow:hidden;-webkit-font-smoothing:antialiased}#root{height:100%;display:flex;flex-direction:column}body{background:var(--pc-bg, #f5f5f3);color:var(--pc-ink, #111);font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.app-spinner{display:inline-block;width:28px;height:28px;border:3px solid rgba(0,0,0,.1);border-top-color:var(--pc-accent, oklch(62% .12 210deg));border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:root{--pc-bg: #f5f5f3;--pc-surface: #ffffff;--pc-surface-2: #fafaf9;--pc-surface-3: #f0efec;--pc-ink: #111110;--pc-ink-2: #3a3a38;--pc-ink-3: #6b6b66;--pc-ink-4: #a5a49e;--pc-line: #e6e5e0;--pc-line-2: #d9d8d2;--pc-accent: oklch(62% .12 210);--pc-accent-soft: oklch(62% .12 210 / .12);--pc-accent-ink: oklch(38% .08 210);--pc-warn: oklch(70% .14 65);--pc-danger: oklch(58% .18 25);--pc-ok: oklch(62% .13 150);--pc-canvas-bg: #faf9f6;--pc-canvas-grid: #e5e3dd;--pc-canvas-grid-major: #cfcdc5;--pc-overlay-bg: rgba(250, 249, 246, .86);--pc-shape-fill: oklch(62% .12 210 / .08);--pc-shape-stroke: oklch(38% .08 210);--pc-font-sans: "Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--pc-font-mono: "JetBrains Mono", ui-monospace, monospace;--pc-radius: 6px;--pc-radius-lg: 10px;--pc-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 1px rgba(0, 0, 0, .03);--pc-shadow-2: 0 8px 24px rgba(20, 20, 15, .08), 0 2px 6px rgba(20, 20, 15, .05)}[data-theme=dark]{--pc-bg: #0f0f0e;--pc-surface: #1a1a18;--pc-surface-2: #1f1f1c;--pc-surface-3: #252522;--pc-ink: #f5f4ef;--pc-ink-2: #d4d3cc;--pc-ink-3: #8c8b83;--pc-ink-4: #545350;--pc-line: #2a2a27;--pc-line-2: #353531;--pc-canvas-bg: #141412;--pc-canvas-grid: #25251f;--pc-canvas-grid-major: #2e2e28;--pc-overlay-bg: rgba(20, 20, 18, .86);--pc-shape-fill: oklch(62% .12 210 / .16);--pc-shape-stroke: oklch(72% .12 210);--pc-shadow-1: 0 1px 2px rgba(0, 0, 0, .3);--pc-shadow-2: 0 12px 28px rgba(0, 0, 0, .5)}.pc-mono{font-family:var(--pc-font-mono);font-feature-settings:"tnum"}.pc-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--pc-line);background:var(--pc-surface);color:var(--pc-ink-2);border-radius:var(--pc-radius);cursor:pointer;font-weight:500;font-size:12px;font-family:var(--pc-font-sans);transition:background .12s,border-color .12s;line-height:1}.pc-btn:hover:not(:disabled){background:var(--pc-surface-3);border-color:var(--pc-line-2)}.pc-btn:disabled{opacity:.4;cursor:not-allowed}.pc-btn.primary{background:var(--pc-ink);color:var(--pc-bg);border-color:var(--pc-ink)}.pc-btn.primary:hover:not(:disabled){background:var(--pc-ink-2);border-color:var(--pc-ink-2)}.pc-btn.accent{background:var(--pc-accent);color:#fff;border-color:var(--pc-accent)}.pc-btn.ghost{background:transparent;border-color:transparent}.pc-btn.ghost:hover:not(:disabled){background:var(--pc-surface-3)}.pc-btn.danger{background:var(--pc-danger);color:#fff;border-color:var(--pc-danger)}.pc-btn.icon{padding:6px;width:28px;height:28px;justify-content:center}.pc-btn.lg{padding:9px 14px;font-size:13px}.pc-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;background:var(--pc-surface-3);color:var(--pc-ink-2);border:1px solid var(--pc-line);font-weight:500}.pc-seg{display:inline-flex;background:var(--pc-surface-3);border:1px solid var(--pc-line);border-radius:var(--pc-radius);padding:2px;gap:2px}.pc-seg>button{padding:4px 10px;border:none;background:transparent;color:var(--pc-ink-3);cursor:pointer;border-radius:4px;font-size:12px;font-weight:500}.pc-seg>button.on{background:var(--pc-surface);color:var(--pc-ink);box-shadow:var(--pc-shadow-1)}.pc-rail-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--pc-ink-3);font-weight:600;margin:0 0 8px}.pc-kbd{font-family:var(--pc-font-mono);font-size:10px;padding:1px 5px;border-radius:3px;background:var(--pc-surface-3);border:1px solid var(--pc-line);color:var(--pc-ink-3);line-height:1.4}.pc-root{background:var(--pc-bg);color:var(--pc-ink);font-family:var(--pc-font-sans);font-size:13px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.pc-root input,.pc-root select,.pc-root textarea,.pc-root button{font-family:inherit}@keyframes pc-pop-in{0%{opacity:0;transform:scale(.96) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes pc-fade-in{0%{opacity:0}to{opacity:1}}@keyframes pc-spin{to{transform:rotate(360deg)}}.pc-pop{animation:pc-pop-in .16s cubic-bezier(.2,0,.2,1)}.pc-fade{animation:pc-fade-in .2s ease}.pc-spin{animation:pc-spin .8s linear infinite}.pc-link-btn{border:0;background:transparent;padding:0;color:var(--pc-accent-ink);cursor:pointer;font:inherit;font-weight:600;text-decoration:none}.pc-alert-stack{padding:10px 16px;background:var(--pc-surface);border-bottom:1px solid var(--pc-line)}.pc-ai-modal{font-family:var(--pc-font-sans)}.pc-ai-modal .modal-content{border-radius:14px;border:1px solid var(--pc-line);background:var(--pc-surface);color:var(--pc-ink);box-shadow:var(--pc-shadow-2);overflow:hidden}.pc-ai-modal .modal-header,.pc-ai-modal .modal-footer{background:var(--pc-surface-2);border-color:var(--pc-line)}.pc-ai-modal .modal-body{background:var(--pc-surface)}.pc-ai-modal .pc-ai-shell{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr)}.pc-ai-modal .pc-ai-main{padding:18px 22px;min-width:0}.pc-ai-modal .pc-ai-aside{border-left:1px solid var(--pc-line);background:var(--pc-surface-2);padding:18px 20px;min-width:0}@media (max-width: 900px){.pc-ai-modal .pc-ai-shell{grid-template-columns:1fr}.pc-ai-modal .pc-ai-aside{border-left:0;border-top:1px solid var(--pc-line)}}.pc-auth{min-height:100vh;display:flex;background:var(--pc-bg);font-family:var(--pc-font-sans);color:var(--pc-ink)}.pc-auth .pc-auth-hero{flex:1.1;background:#0f0f0e;color:#f5f4ef;padding:48px 56px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.pc-auth .pc-auth-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(600px 400px at 90% -10%,oklch(62% .12 210deg / .25),transparent 70%),radial-gradient(500px 400px at -10% 110%,oklch(62% .14 280deg / .2),transparent 70%),linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px) 0 0/24px 24px,linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px) 0 0/24px 24px;pointer-events:none}.pc-auth .pc-auth-hero>*{position:relative;z-index:1}.pc-auth .pc-auth-form{flex:1;display:flex;align-items:center;justify-content:center;padding:32px}.pc-auth .pc-auth-form-inner{width:100%;max-width:380px}.pc-auth .pc-auth-logo{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px}.pc-auth .pc-auth-logo .pc-auth-logo-img{display:block;width:118px;height:auto;background:#f5f4eff5;border-radius:10px;padding:8px 10px}.pc-auth .pc-auth-logo .pc-auth-logo-mark{width:30px;height:30px;border-radius:8px;background:#f5f4ef;color:#0f0f0e;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.pc-auth .pc-auth-title{font-size:28px;font-weight:700;letter-spacing:-.01em;margin:0 0 8px}.pc-auth .pc-auth-sub{color:var(--pc-ink-3);font-size:13px;margin:0 0 28px}.pc-auth .pc-field{display:block;margin-bottom:14px}.pc-auth .pc-field>span,.pc-auth .pc-field label{display:block;font-size:11px;font-weight:600;color:var(--pc-ink-2);letter-spacing:.04em;margin-bottom:6px}.pc-auth .pc-field .pc-input-wrap{position:relative;display:flex;align-items:center}.pc-auth .pc-field input{width:100%;padding:10px 12px;border:1px solid var(--pc-line);border-radius:var(--pc-radius);background:var(--pc-surface);color:var(--pc-ink);font-size:13px;transition:border-color .12s,box-shadow .12s}.pc-auth .pc-field input:focus{outline:none;border-color:var(--pc-accent);box-shadow:0 0 0 3px var(--pc-accent-soft)}.pc-auth .pc-field .pc-input-icon{position:absolute;left:10px;color:var(--pc-ink-3);pointer-events:none}.pc-auth .pc-field.with-icon input{padding-left:34px}.pc-auth .pc-field .pc-input-btn{position:absolute;right:6px;background:transparent;border:0;padding:4px;color:var(--pc-ink-3);cursor:pointer}.pc-auth .pc-field .pc-input-btn:hover{color:var(--pc-ink)}.pc-auth .pc-auth-alert{padding:10px 12px;border-radius:var(--pc-radius);font-size:12px;margin-bottom:14px;border:1px solid}.pc-auth .pc-auth-alert.warn{background:#fdf0dc;color:#613700;color:oklch(38% .1 65deg);border-color:#eac992}.pc-auth .pc-auth-alert.danger{background:#ffecea;background:oklch(96% .03 25deg);color:#831a1d;border-color:#febab4}.pc-auth .pc-auth-alert.ok,.pc-auth .pc-auth-alert.success{background:#e0fae4;color:#005725;color:oklch(40% .12 150deg);border-color:#a9ddb2}.pc-auth .pc-auth-trust{display:flex;gap:12px;flex-wrap:wrap}.pc-auth .pc-auth-trust .pc-auth-trust-item{display:flex;align-items:center;gap:6px;font-size:11px;color:#f5f4ef99}.pc-auth .pc-auth-trust .pc-auth-trust-item .dot{width:6px;height:6px;border-radius:50%;background:#429c5a}.pc-auth .pc-auth-deck{padding:32px 0;aspect-ratio:984/822;width:100%;overflow:hidden}.pc-auth .pc-auth-testimonial{border-left:2px solid var(--pc-accent);padding:8px 0 8px 16px;font-size:13px;color:#f5f4efd9;font-style:italic}.pc-auth .pc-auth-testimonial .author{display:block;margin-top:6px;font-style:normal;color:#f5f4ef8c;font-size:11px}@media (max-width: 900px){.pc-auth .pc-auth-hero{display:none}}@media (max-width: 560px){.pc-auth .pc-auth-form{padding:48px 22px 22px;align-items:flex-start}}.pc-workspace{flex:1;min-height:0;background:var(--pc-bg);color:var(--pc-ink);font-family:var(--pc-font-sans);font-size:13px;display:flex;flex-direction:column;overflow:hidden}.pc-workspace .pc-topbar{display:flex;align-items:center;gap:16px;padding:10px 16px;background:var(--pc-surface);border-bottom:1px solid var(--pc-line);min-height:52px;flex-wrap:wrap}.pc-workspace .pc-topbar-brand{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--pc-ink)}.pc-workspace .pc-topbar-brand .pc-topbar-logo{display:block;width:94px;height:auto}.pc-workspace .pc-topbar-brand .mark{width:26px;height:26px;border-radius:6px;background:var(--pc-ink);color:var(--pc-bg);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.pc-workspace .pc-topbar-spacer{flex:1}.pc-workspace .pc-topbar-steps{display:inline-flex;gap:2px;background:var(--pc-surface-3);border:1px solid var(--pc-line);border-radius:var(--pc-radius);padding:2px}.pc-workspace .pc-topbar-steps>button{padding:6px 14px;border:0;background:transparent;color:var(--pc-ink-3);font-size:12px;font-weight:500;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.pc-workspace .pc-topbar-steps>button .num{width:16px;height:16px;border-radius:50%;background:var(--pc-surface);border:1px solid var(--pc-line);font-size:10px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--pc-font-mono)}.pc-workspace .pc-topbar-steps>button.on{background:var(--pc-surface);color:var(--pc-ink);box-shadow:var(--pc-shadow-1)}.pc-workspace .pc-topbar-steps>button.on .num{background:var(--pc-ink);color:var(--pc-bg);border-color:var(--pc-ink)}.pc-workspace .pc-topbar-steps>button:disabled{opacity:.5;cursor:not-allowed}.pc-workspace .pc-workspace-body{flex:1;display:flex;min-height:0}.pc-workspace .pc-rail{width:260px;flex:0 0 260px;background:var(--pc-surface);border-right:1px solid var(--pc-line);overflow-y:auto;min-height:0}.pc-workspace .pc-rail.right{border-right:0;border-left:1px solid var(--pc-line)}.pc-workspace .pc-rail-section{padding:14px 16px;border-bottom:1px solid var(--pc-line)}.pc-workspace .pc-rail-section:last-child{border-bottom:0}.pc-workspace .pc-project-title{color:var(--pc-ink);font-size:14px;font-weight:650;line-height:1.35;word-break:break-word}.pc-workspace .pc-project-input{width:100%;border:1px solid var(--pc-line-2);border-radius:var(--pc-radius);background:var(--pc-surface);color:var(--pc-ink);padding:7px 8px;font-size:13px;font-weight:600}.pc-workspace .pc-project-input:focus{outline:none;border-color:var(--pc-accent);box-shadow:0 0 0 3px var(--pc-accent-soft)}.pc-workspace .pc-canvas-area{flex:1;display:flex;flex-direction:column;min-width:0;position:relative;background:var(--pc-bg)}.pc-workspace .pc-canvas-inner{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:16px;min-height:0}.pc-workspace .pc-metrics-dock{display:flex;align-items:center;gap:24px;padding:10px 20px;background:var(--pc-surface);border-top:1px solid var(--pc-line);font-family:var(--pc-font-mono);font-size:12px}.pc-workspace .pc-metrics-dock .metric{display:flex;flex-direction:column;gap:2px}.pc-workspace .pc-metrics-dock .metric .label{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--pc-ink-3);font-family:var(--pc-font-sans);font-weight:600}.pc-workspace .pc-metrics-dock .metric .value{color:var(--pc-ink);font-weight:600}.pc-workspace .pc-metrics-dock .metric.accent .value{color:var(--pc-accent-ink)}.pc-workspace .pc-panel{background:var(--pc-surface);border:1px solid var(--pc-line);border-radius:var(--pc-radius-lg);box-shadow:var(--pc-shadow-1)}@media (max-width: 1120px){.pc-workspace .pc-metrics-dock{flex-wrap:wrap;gap:12px 20px}}@media (max-width: 760px){.pc-workspace{border-radius:0}.pc-workspace .pc-topbar{align-items:stretch}.pc-workspace .pc-topbar-steps{width:100%;overflow-x:auto}}
