/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:oklch(63.7% .237 25.331);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-700:oklch(37.2% .044 257.287);--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--font-weight-semibold:600;--radius-xl:.75rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary:#2563eb;--color-accent:#2563eb;--color-surface:#131319;--color-surface-alt:#1a1a22}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);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}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.fixed{position:fixed}.relative{position:relative}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e+38px}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-current{border-color:currentColor}.border-primary{border-color:var(--color-primary)}.border-red-500{border-color:var(--color-red-500)}.border-slate-700{border-color:var(--color-slate-700)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.bg-surface{background-color:var(--color-surface)}.bg-surface-alt{background-color:var(--color-surface-alt)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-primary{color:var(--color-primary)}.text-slate-400{color:var(--color-slate-400)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-accent\/30:hover{border-color:#2563eb4d}@supports (color:color-mix(in lab,red,red)){.hover\:border-accent\/30:hover{border-color:color-mix(in oklab,var(--color-accent) 30%,transparent)}}.hover\:text-slate-200:hover{color:var(--color-slate-200)}}}:root{--font-display:"Space Grotesk",system-ui,sans-serif;--font-ui:"Hanken Grotesk",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--mint:#2563eb;--blue:#2563eb;--mint-deep:#1d4ed8;--blue-deep:#1d4ed8;--grad:linear-gradient(118deg,#1d4ed8,#2563eb 50%,#60a5fa);--grad-soft:linear-gradient(118deg,#2563eb29,#2563eb1a);--r-xs:7px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-full:999px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--ease:cubic-bezier(.22,1,.36,1);--ease-in-out:cubic-bezier(.65,0,.35,1)}:root,[data-theme=dark]{--bg:#0b0b10;--bg-grad:radial-gradient(1200px 700px at 78% -8%,#2563eb14,transparent 60%),radial-gradient(900px 600px at 0% 100%,#2563eb0f,transparent 55%);--surface:#131319;--surface-2:#1a1a22;--surface-3:#21212b;--hover:#ffffff0a;--border:#ffffff17;--border-2:#ffffff26;--text:#f4f4f7;--text-muted:#9b9ba8;--text-faint:#66667a;--on-accent:#fff;--shadow-sm:0 1px 2px #0006;--shadow-md:0 8px 30px #00000073;--shadow-lg:0 24px 70px #0000008c;--chart-grid:#ffffff12;--accent-text:var(--mint);--glow:0 0 0 1px #2563eb40,0 8px 40px #2563eb24;color-scheme:dark}[data-theme=light]{--bg:#f6f7f9;--bg-grad:radial-gradient(1100px 650px at 82% -10%,#2563eb1a,transparent 60%),radial-gradient(800px 560px at -5% 100%,#2563eb14,transparent 55%);--surface:#fff;--surface-2:#f3f4f7;--surface-3:#eceef2;--hover:#0d0d1409;--border:#0d0d141a;--border-2:#0d0d1429;--text:#15151c;--text-muted:#5d5d6b;--text-faint:#9494a3;--on-accent:#fff;--shadow-sm:0 1px 2px #1414280f;--shadow-md:0 10px 34px #1e223c1a;--shadow-lg:0 28px 70px #1e223c29;--chart-grid:#0d0d1414;--accent-text:var(--mint-deep);--glow:0 0 0 1px #1d4ed847,0 10px 40px #1d4ed81f;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:var(--font-ui);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:15px;line-height:1.5}#__next,#root{min-height:100%}::selection{background:var(--mint);color:var(--on-accent)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-2);background-clip:padding-box;border:2px solid #0000;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint);background-clip:padding-box}::-webkit-scrollbar-track{background:0 0}.display{font-family:var(--font-display);letter-spacing:-.02em;font-weight:600;line-height:1.02}.mono{font-family:var(--font-mono)}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;font-weight:600;line-height:1.05}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{color:inherit;font-family:inherit}.grad-text{background:var(--grad);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}.btn{font-family:var(--font-ui);border-radius:var(--r-full);white-space:nowrap;height:42px;transition:transform .18s var(--ease),background .2s,box-shadow .2s,border-color .2s,color .2s;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:14px;font-weight:600;display:inline-flex}.btn:active{transform:translateY(1px)scale(.99)}.btn svg{width:17px;height:17px}.btn-primary{background:var(--grad);color:var(--on-accent);box-shadow:var(--shadow-sm)}.btn-primary:hover{box-shadow:var(--glow);transform:translateY(-1px)}.btn-solid{background:var(--text);color:var(--bg)}.btn-solid:hover{opacity:.9;transform:translateY(-1px)}.btn-ghost{color:var(--text);border-color:var(--border-2);background:0 0}.btn-ghost:hover{background:var(--hover);border-color:var(--text-faint)}.btn-subtle{background:var(--surface-2);color:var(--text)}.btn-subtle:hover{background:var(--surface-3)}.btn-sm{height:34px;padding:0 13px;font-size:13px}.btn-lg{height:50px;padding:0 26px;font-size:15.5px}.btn-icon{border-radius:var(--r-sm);width:38px;height:38px;padding:0}.btn:disabled{opacity:.5;pointer-events:none}.field{flex-direction:column;gap:7px;display:flex}.field label{color:var(--text-muted);font-size:13px;font-weight:600}.input{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);width:100%;height:46px;color:var(--text);padding:0 14px;font-size:15px;transition:border-color .18s,box-shadow .18s,background .18s}.input::placeholder{color:var(--text-faint)}.input:focus{border-color:var(--mint);outline:none;box-shadow:0 0 0 4px #2563eb29}textarea.input{resize:none;height:auto;padding:12px 14px;line-height:1.5}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);transition:border-color .2s,transform .2s var(--ease),box-shadow .2s}.chip{border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--border);height:32px;color:var(--text-muted);transition:all .16s var(--ease);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:0 13px;font-size:13px;font-weight:500;display:inline-flex}.chip:hover{color:var(--text);border-color:var(--border-2);background:var(--surface-3);transform:translateY(-1px)}.chip svg{width:14px;height:14px}.badge{border-radius:var(--r-full);letter-spacing:.01em;align-items:center;gap:6px;height:24px;padding:0 9px;font-size:11.5px;font-weight:600;display:inline-flex}.badge-dot{border-radius:50%;width:6px;height:6px}.badge-pub{color:var(--accent-text);background:#2563eb24}.badge-pub .badge-dot{background:var(--mint)}.badge-draft{background:var(--surface-3);color:var(--text-muted)}.badge-draft .badge-dot{background:var(--text-faint)}.divider{background:var(--border);border:none;width:100%;height:1px}.kbd{font-family:var(--font-mono);background:var(--surface-3);border:1px solid var(--border);color:var(--text-muted);border-radius:5px;padding:2px 6px;font-size:11px}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes shimmer{to{transform:translate(100%)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.45}}@keyframes float-bar{0%{transform:scaleY(.2)}to{transform:scaleY(1)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.fade-up{animation:fadeUp .5s var(--ease) both}.fade-in{animation:fadeIn .4s var(--ease) both}.scale-in{animation:scaleIn .35s var(--ease) both}.skeleton{background:var(--surface-2);border-radius:var(--r-sm);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,transparent,var(--hover),transparent);animation:shimmer 1.4s infinite;position:absolute;inset:0;transform:translate(-100%)}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.001ms!important}}html.settled .auth-mock,html.settled .auth-mock-chat,html.settled .board-card,html.settled .chat-msg,html.settled .fade-in,html.settled .fade-up,html.settled .gen-block,html.settled .hero-preview,html.settled .mini-kpi,html.settled .pchat-msg,html.settled .route-fade,html.settled .scale-in,html.settled .source-trow,html.settled .step-card,html.settled svg circle,html.settled svg path,html.settled svg rect,html.settled svg text{opacity:1!important;animation-duration:1ms!important;animation-delay:0s!important;animation-fill-mode:forwards!important}.route-fade{animation:fadeIn .35s var(--ease) both;min-height:100vh}.app-shell{background:var(--bg);background-image:var(--bg-grad);background-attachment:fixed;min-height:100vh;display:flex}.app-main{flex:1;min-width:0}.app-main,.sidebar{height:100vh;overflow-y:auto}.sidebar{border-right:1px solid var(--border);background:var(--surface);width:254px;transition:width .2s var(--ease),padding .2s var(--ease);flex-direction:column;padding:22px 16px 16px;display:flex;position:sticky;top:0}.side-card,.side-user,.sidebar{flex-shrink:0}.side-link{border-radius:var(--r-sm);width:100%;color:var(--text-muted);text-align:left;background:0 0;border:none;align-items:center;gap:11px;padding:10px 12px;font-size:14px;font-weight:600;transition:background .15s,color .15s;display:flex}.side-link:hover{background:var(--hover);color:var(--text)}.side-link.active{background:var(--surface-3);color:var(--text)}.side-link.active svg{color:var(--accent-text)}.side-card{border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);margin-bottom:14px;padding:15px}.side-user{border-top:1px solid var(--border);align-items:center;gap:10px;padding:14px 6px 2px;display:flex}.avatar{background:var(--grad);width:34px;height:34px;color:var(--on-accent);border-radius:50%;flex-shrink:0;place-items:center;font-size:13px;font-weight:700;display:grid}.side-header{justify-content:space-between;align-items:center;gap:4px;padding:4px 8px 18px;display:flex}.side-logo-link{background:0 0;border:none;align-items:center;gap:8px;padding:0;display:inline-flex}.side-pin{border-radius:var(--r-sm);width:28px;height:28px;color:var(--text-faint);cursor:pointer;background:0 0;border:none;flex-shrink:0;place-items:center;transition:background .15s,color .15s,opacity .15s;display:grid}.side-pin:hover{background:var(--hover);color:var(--text)}.sidebar.collapsed{width:60px;padding:22px 6px 16px;overflow:hidden}.sidebar.collapsed .side-text{display:none}.sidebar.collapsed .side-card{padding:10px}.sidebar.collapsed .side-card .side-text,.sidebar.collapsed .side-user-info{display:none}.sidebar.collapsed .side-link{justify-content:center;gap:0;padding:10px}.sidebar.collapsed .side-create{padding:0 10px}.sidebar.collapsed .side-header{justify-content:center;padding:4px 0 18px}.sidebar.collapsed .side-logo-link{gap:0}.sidebar.collapsed .side-pin{display:none}.sidebar.collapsed .side-user{justify-content:center}.sidebar.collapsed .side-user .icon-btn{display:none}.sidebar.unpinned:not(.collapsed){z-index:200;box-shadow:var(--shadow-lg);width:254px;position:fixed;top:0;left:0}.page{max-width:1180px;margin:0 auto;padding:36px 40px 80px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;display:flex}.page-title{font-size:30px}.page-sub{color:var(--text-muted);margin-top:6px;font-size:15px}.dash-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px}.dash-tile-head{font-family:var(--font-display);letter-spacing:-.01em;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:15px;font-weight:600;display:flex}.dash-tile-tag{font-family:var(--font-mono);color:var(--text-faint);background:var(--surface-2);border-radius:99px;gap:5px;padding:3px 8px;font-size:11px;font-weight:500}.dash-filter,.dash-tile-tag{align-items:center;display:inline-flex}.dash-filter{background:var(--surface);border:1px solid var(--border);height:34px;color:var(--text-muted);cursor:pointer;border-radius:99px;gap:7px;padding:0 12px;font-size:13px;font-weight:600;transition:all .15s}.dash-filter:hover{border-color:var(--border-2);color:var(--text)}.dash-filter svg:first-child{color:var(--accent-text)}.board-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px;display:grid}.board-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s,border-color .2s;overflow:hidden}.board-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-2);transform:translateY(-3px)}.board-thumb{border-bottom:1px solid var(--border);align-items:flex-end;gap:5px;height:138px;padding:16px;display:flex;position:relative;overflow:hidden}.board-card-body{padding:15px 16px 16px}.source-icon{border-radius:9px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.source-icon.excel{color:var(--mint-deep);background:#1d4ed826}.source-icon.csv{color:var(--mint);background:#2563eb26}.source-icon.db{color:#9b82ff;background:#9b82ff29}.source-icon.json{color:#f59e0b;background:#f59e0b26}.search-box{border-radius:var(--r-full);background:var(--surface);border:1px solid var(--border);align-items:center;gap:9px;min-width:240px;height:42px;padding:0 14px;display:flex}.search-box input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:14px}.board-menu,.search-box svg{color:var(--text-faint)}.board-menu{width:28px;height:28px;background:0 0;border:none;border-radius:7px;flex-shrink:0;place-items:center;display:grid}.board-menu:hover{background:var(--hover);color:var(--text)}.board-new{text-align:center;min-height:250px;color:var(--text);background:0 0;border-width:1.5px;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;border-style:dashed!important}.board-new:hover .board-new-ic{background:var(--grad);color:var(--on-accent);transform:scale(1.06)}.board-new-ic{background:var(--surface-2);border:1px solid var(--border);width:56px;height:56px;color:var(--text-faint);transition:all .2s var(--ease);border-radius:16px;place-items:center;margin-bottom:8px;display:grid}.spinner{border:2px solid #00000040;border-top:2px solid var(--on-accent);border-radius:50%;width:18px;height:18px;animation:spin .7s linear infinite}.btn-ghost .spinner,.icon-btn .spinner{border-color:var(--border-2);border-top-color:var(--text)}.icon-btn{border-radius:var(--r-sm);width:36px;height:36px;color:var(--text-muted);background:0 0;border:none;place-items:center;transition:background .15s,color .15s;display:grid}.icon-btn:hover{background:var(--hover);color:var(--text)}.seg{border:1px solid var(--border);background:var(--surface);height:36px;color:var(--text-muted);border-radius:99px;padding:0 16px;font-size:13.5px;font-weight:600;transition:all .15s}.seg:hover{color:var(--text);border-color:var(--border-2)}.seg.active{background:var(--text);color:var(--bg);border-color:var(--text)}.empty-state{text-align:center;padding:80px 20px}.empty-state .empty-ic{background:var(--surface-2);border:1px solid var(--border);width:64px;height:64px;color:var(--text-faint);border-radius:18px;place-items:center;margin:0 auto 18px;display:grid}.empty-state h3{margin-bottom:6px;font-size:20px}.empty-state p{color:var(--text-muted)}.auth{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-brand{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;align-items:center;padding:40px;display:flex;position:relative;overflow:hidden}.auth-brand-inner{z-index:2;width:100%;max-width:420px;margin:auto 0;position:relative}.auth-back{color:var(--text-muted);z-index:2;background:0 0;border:none;align-self:flex-start;align-items:center;gap:7px;font-size:14px;font-weight:600;display:inline-flex;position:relative}.auth-back:hover{color:var(--text)}.auth-brand-title{letter-spacing:-.03em;margin:28px 0 30px;font-size:clamp(26px,2.8vw,36px);line-height:1.12}.auth-orb{background:var(--grad);filter:blur(110px);opacity:.14;border-radius:50%;width:440px;height:440px;position:absolute;bottom:-140px;left:-80px}.auth-mock{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);flex-direction:column;gap:10px;padding:18px;display:flex}.auth-mock-chat{border-radius:12px;max-width:85%;padding:10px 13px;font-size:13px}.auth-mock-chat.user{background:var(--grad);color:var(--on-accent);border-bottom-right-radius:4px;align-self:flex-end;font-weight:500}.auth-mock-chat.ai{background:var(--surface-2);border:1px solid var(--border);border-bottom-left-radius:4px;align-self:flex-start;align-items:center;gap:6px;display:flex}.auth-mock-bars{align-items:flex-end;gap:8px;height:70px;margin-top:4px;display:flex}.auth-mock-bars span{background:var(--grad);transform-origin:bottom;animation:float-bar .7s var(--ease) both;border-radius:5px 5px 0 0;flex:1}.auth-quote{margin-top:28px}.auth-quote p{color:var(--text-muted);font-size:15px;font-style:italic;font-weight:500;line-height:1.5}.auth-quote-by{color:var(--text-muted);gap:10px;margin-top:14px;font-size:13.5px;font-weight:600}.auth-form-wrap,.auth-quote-by{align-items:center;display:flex}.auth-form-wrap{background:var(--bg);background-image:var(--bg-grad);flex-direction:column;justify-content:center;padding:40px}.auth-form-top{justify-content:flex-end;display:flex}.auth-form{width:100%;max-width:400px}.auth-title{letter-spacing:-.03em;font-size:30px}.auth-sub{color:var(--text-muted);margin:8px 0 30px}.input-ic{align-items:center;display:flex;position:relative}.input-ic svg{color:var(--text-faint);pointer-events:none;position:absolute;left:14px}.input-ic .input{padding-left:42px}.field-err{color:#e0607a;font-size:12.5px;font-weight:500}.auth-or{color:var(--text-faint);align-items:center;gap:12px;margin:22px 0;font-size:12.5px;display:flex}.auth-or:after,.auth-or:before{content:"";background:var(--border);flex:1;height:1px}.auth-social{gap:10px;display:flex}.auth-switch{text-align:center;color:var(--text-muted);margin-top:24px;font-size:14px}.auth-switch button{color:var(--accent-text);background:0 0;border:none;font-size:14px;font-weight:700}.auth-switch button:hover{text-decoration:underline}.source-table{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.source-thead,.source-trow{grid-template-columns:2.4fr 1.2fr .9fr 1fr 1.1fr .8fr;align-items:center;gap:14px;padding:14px 22px;display:grid}.source-thead{background:var(--surface-2);color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:700}.source-thead,.source-trow{border-bottom:1px solid var(--border)}.source-trow{transition:background .14s}.source-trow:last-child{border-bottom:none}.source-trow:hover{background:var(--hover)}.src-type-pill{background:var(--surface-2);border:1px solid var(--border);height:24px;color:var(--text-muted);font-size:11.5px;font-weight:600;font-family:var(--font-mono);border-radius:99px;justify-self:start;align-items:center;padding:0 10px;display:inline-flex}.modal-overlay{z-index:8000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#05050a8c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}[data-theme=light] .modal-overlay{background:#14142852}.modal{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-xl);width:100%;max-width:620px;box-shadow:var(--shadow-lg);flex-direction:column;max-height:90vh;display:flex;overflow:hidden}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:22px 24px 18px;display:flex}.modal-body{padding:24px;overflow-y:auto}.modal-foot{border-top:1px solid var(--border);background:var(--surface-2);justify-content:space-between;gap:12px;padding:18px 24px;display:flex}.wiz-steps{align-items:center;gap:8px;margin-top:14px;display:flex}.wiz-step{color:var(--text-faint);align-items:center;gap:7px;font-size:13px;font-weight:600;display:inline-flex}.wiz-step.active{color:var(--text)}.wiz-step.done{color:var(--accent-text)}.wiz-dot{background:var(--surface-3);width:22px;height:22px;color:var(--text-faint);border:1px solid var(--border);border-radius:50%;place-items:center;font-size:12px;display:grid}.wiz-step.active .wiz-dot{background:var(--grad);color:var(--on-accent);border-color:#0000}.wiz-step.done .wiz-dot{color:var(--accent-text);background:#2563eb2e;border-color:#0000}.wiz-line{background:var(--border);width:26px;height:1.5px}.wiz-q{margin-bottom:18px;font-size:16px;font-weight:700}.type-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.type-card{text-align:left;border-radius:var(--r-md);border:1.5px solid var(--border);background:var(--surface-2);transition:all .16s var(--ease);cursor:pointer;padding:20px;position:relative}.type-card:hover{border-color:var(--border-2);transform:translateY(-2px)}.type-card.sel{border-color:var(--mint);background:var(--grad-soft)}.type-check{background:var(--grad);width:22px;height:22px;color:var(--on-accent);border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;right:12px}.dropzone{border-radius:var(--r-lg);border:2px dashed var(--border-2);background:var(--surface-2);text-align:center;width:100%;color:var(--text);padding:44px 20px;transition:all .18s}.dropzone:hover:not(:disabled){border-color:var(--mint);background:var(--grad-soft)}.dropzone.busy{border-style:solid}.drop-ic{background:var(--grad-soft);border:1px solid var(--border);width:60px;height:60px;color:var(--accent-text);border-radius:16px;place-items:center;display:inline-grid}.upload-done{border-radius:var(--r-md);background:var(--grad-soft);border:1px solid var(--border);gap:14px;padding:18px}.upload-done,.wiz-confirm-note{align-items:center;display:flex}.wiz-confirm-note{border-radius:var(--r-md);background:#2563eb1a;border:1px solid #2563eb40;gap:9px;margin-top:16px;padding:13px 15px;font-size:13.5px}.pub{background:var(--bg);background-image:var(--bg-grad);flex-direction:column;min-height:100vh;display:flex}.pub-header{z-index:50;background:var(--bg);position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.pub-header{background:color-mix(in srgb,var(--bg) 85%,transparent)}}.pub-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.pub-head-inner{justify-content:space-between;align-items:center;gap:20px;margin:0 auto;padding:14px 32px;display:flex}.pub-title{letter-spacing:-.02em;font-size:19px}.pub-meta{align-items:center;gap:10px;margin-top:3px;display:flex}.pub-main{flex-direction:column;flex:1;padding:20px 24px 40px;display:flex}.pub-canvas{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);min-height:75vh;display:flex}.pub-canvas,.pub-canvas iframe{border-radius:var(--r-lg);flex:1}.pub-cta{width:100%;max-width:900px;margin-top:20px;margin-left:auto;margin-right:auto}.pub-cta-inner{border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface);flex-wrap:wrap;align-items:center;gap:20px;padding:22px 26px}.pub-cta-inner,.pub-footer{justify-content:space-between;display:flex}.pub-footer{color:var(--text-faint);width:100%;margin:0 auto;padding:24px 32px 40px;font-size:13px}.editor{background:var(--bg);background-image:var(--bg-grad);flex-direction:column;height:100vh;display:flex;overflow:hidden}.ed-header{border-bottom:1px solid var(--border);background:var(--surface);z-index:20;flex-shrink:0;justify-content:space-between;gap:16px;padding:12px 18px}.ed-head-left,.ed-header{align-items:center;display:flex}.ed-head-left{gap:8px;min-width:0}.ed-title-wrap{min-width:0}.ed-title{color:var(--text);font-family:var(--font-display);letter-spacing:-.02em;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:8px;max-width:360px;padding:2px 6px;font-size:17px;font-weight:600;transition:background .14s;display:inline-flex}.ed-title:hover{background:var(--hover)}.ed-title svg{flex-shrink:0}.ed-title-input{font-family:var(--font-display);letter-spacing:-.02em;background:var(--surface-2);border:1px solid var(--mint);color:var(--text);border-radius:7px;outline:none;width:320px;padding:2px 6px;font-size:17px;font-weight:600}.ed-source{color:var(--text-faint);align-items:center;gap:6px;margin-top:1px;padding:1px 6px;font-size:12px;display:flex}.ed-source .mono{font-size:11.5px}.ed-source-dot{background:var(--mint);border-radius:50%;width:5px;height:5px;margin-left:4px;box-shadow:0 0 0 3px #2563eb33}.ed-head-right{flex-shrink:0;align-items:center;gap:9px;display:flex}.ed-body{flex:1;grid-template-columns:1fr 400px;min-height:0;display:grid}.ed-body.fs{grid-template-columns:1fr}.ed-canvas{border-right:1px solid var(--border);flex-direction:column;min-width:0;min-height:0;display:flex}.ed-canvas-scroll{flex:1;padding:24px;position:relative;overflow-y:auto}.ed-body.fs .ed-canvas-scroll{padding:32px max(32px,6vw)}.ed-canvas-foot{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:12px;padding:11px 18px;display:flex}.ed-version{color:var(--text-faint);font-size:11.5px}.empty-canvas{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:620px;height:100%;margin:0 auto;padding:40px 24px;display:flex}.empty-canvas-mark{background:var(--surface);border:1px solid var(--border);width:96px;height:96px;box-shadow:var(--glow);border-radius:28px;place-items:center;margin-bottom:26px;animation:float 4s ease-in-out infinite;display:grid}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.empty-canvas-title{letter-spacing:-.025em;font-size:27px}.empty-canvas-sub{color:var(--text-muted);max-width:460px;margin:12px 0 26px;font-size:15.5px;line-height:1.55}.empty-prompts{flex-direction:column;gap:10px;width:100%;max-width:500px;display:flex}.empty-prompt{text-align:left;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--text);transition:all .16s var(--ease);cursor:pointer;align-items:center;gap:12px;padding:15px 17px;font-size:14.5px;font-weight:500;display:flex}.empty-prompt:hover{border-color:var(--mint);background:var(--grad-soft);transform:translate(3px)}.empty-prompt.guide{cursor:default;color:var(--text-muted)}.empty-prompt.guide:hover{border-color:var(--border);background:var(--surface);transform:none}.empty-prompt span{flex:1}.error-mark{color:#e0607a;background:#e0607a1f;border:1px solid #e0607a4d;border-radius:24px;place-items:center;width:80px;height:80px;margin-bottom:22px;display:grid}.gen-wrap{flex-direction:column;gap:20px;height:100%;display:flex}.gen-status{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);gap:16px;padding:16px 18px}.gen-orb,.gen-status{align-items:center;display:flex}.gen-orb{gap:4px}.gen-orb span{background:var(--grad);border-radius:50%;width:9px;height:9px;animation:pulse-soft 1s ease-in-out infinite}.gen-orb span:nth-child(2){animation-delay:.18s}.gen-orb span:nth-child(3){animation-delay:.36s}.gen-title{font-size:15.5px;font-weight:700;font-family:var(--font-display)}.gen-bar{background:var(--surface-3);border-radius:99px;width:240px;max-width:50vw;height:5px;margin-top:8px;overflow:hidden}.gen-bar-fill{background:var(--grad);height:100%;transition:width .5s var(--ease);border-radius:99px}.gen-grid{flex:1;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(0,1fr);gap:14px;min-height:0;display:grid}.gen-block{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);animation:genpop .5s var(--ease) both;position:relative;overflow:hidden}.gen-block:after{content:"";background:linear-gradient(90deg,transparent,var(--hover),transparent);animation:shimmer 1.5s infinite;position:absolute;inset:0;transform:translate(-100%)}@keyframes genpop{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}.gen-block.kpi{grid-column:span 1}.gen-block.big{grid-area:span 2/span 2;align-items:flex-end;padding:16px;display:flex}.gen-block.med{grid-area:span 1/span 2;place-items:center;display:grid}.gen-block.bars,.gen-block.med2{grid-column:span 2}.gen-block.bars{align-items:flex-end;gap:10px;padding:16px;display:flex}.gen-block.bars span{background:var(--grad);opacity:.4;transform-origin:bottom;animation:float-bar .8s var(--ease) infinite alternate;border-radius:5px 5px 0 0;flex:1}.gen-donut{border-left:13px solid var(--surface-3);border-bottom:13px solid var(--surface-3);border-right-color:var(--surface-3);border-top-color:var(--surface-3);border-top:13px solid var(--mint);border-right:13px solid var(--mint);border-radius:50%;width:72px;height:72px;animation:spin 1.4s linear infinite}.ed-chat{background:var(--surface);flex-direction:column;min-height:0;display:flex}.ed-chat-head{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.chat-spark{background:var(--grad);width:28px;height:28px;color:var(--on-accent);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.ed-chat-log{flex-direction:column;flex:1;gap:12px;padding:18px;display:flex;overflow-y:auto}.chat-intro{text-align:center;margin:auto 0;padding:20px}.chat-intro .chat-spark{margin:0 auto}.chat-msg{overflow-wrap:break-word;word-break:break-word;border-radius:14px;gap:8px;min-width:0;max-width:90%;padding:11px 14px;font-size:14px;line-height:1.5;display:flex}.chat-msg.user{background:var(--grad);color:var(--on-accent);border-bottom-right-radius:5px;align-self:flex-end;font-weight:500}.chat-msg.ai{background:var(--surface-2);border:1px solid var(--border);border-bottom-left-radius:5px;align-self:flex-start}.chat-msg.ai.err{background:#e0607a1a;border-color:#e0607a4d}.chat-msg-ic{background:var(--grad);width:20px;height:20px;color:var(--on-accent);border-radius:6px;flex-shrink:0;place-items:center;margin-top:1px;display:grid}.chat-msg.err .chat-msg-ic{background:#e0607a}.typing{align-items:center;gap:4px;padding:3px 0;display:inline-flex}.typing span{background:var(--text-faint);border-radius:50%;width:7px;height:7px;animation:pulse-soft 1s infinite}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}.ed-chat-foot{border-top:1px solid var(--border);flex-shrink:0;padding:14px}.ed-chips{flex-wrap:wrap;gap:7px;padding-bottom:12px;display:flex}.ed-chips .chip:disabled{opacity:.5;pointer-events:none}.ed-input-row{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);align-items:flex-end;gap:9px;padding:8px 8px 8px 14px;transition:border-color .16s,box-shadow .16s;display:flex}.ed-input-row:focus-within{border-color:var(--mint);box-shadow:0 0 0 4px #2563eb24}.ed-input{resize:none;min-height:60px;max-height:140px;color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:5px 0;font-size:14.5px;line-height:1.45}.ed-send{background:var(--grad);width:38px;height:38px;color:var(--on-accent);border:none;border-radius:11px;flex-shrink:0;place-items:center;transition:transform .15s,opacity .15s;display:grid}.ed-send:hover:not(:disabled){transform:scale(1.06)}.ed-send:disabled{opacity:.4}.ed-input-hint{color:var(--text-faint);flex-wrap:wrap;align-items:center;gap:6px;margin-top:9px;font-size:11.5px;display:flex}.canvas-iframe-wrapper{flex:1;position:relative;overflow:hidden}.canvas-container{position:absolute;inset:0}.canvas-iframe{background:var(--bg);border:none;width:100%;height:100%}.canvas-overlay{z-index:10;background:var(--bg);position:absolute;inset:0}.landing{background:var(--bg);background-image:var(--bg-grad);min-height:100vh}.lnav{z-index:100;border-bottom:1px solid #0000;transition:background .25s,border-color .25s,-webkit-backdrop-filter .25s,backdrop-filter .25s;position:sticky;top:0}.lnav.scrolled{background:var(--bg)}@supports (color:color-mix(in lab,red,red)){.lnav.scrolled{background:color-mix(in srgb,var(--bg) 82%,transparent)}}.lnav.scrolled{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:var(--border)}.lnav-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1180px;margin:0 auto;padding:15px 40px;display:flex}.lnav-links{gap:28px;display:flex}.lnav-links a{color:var(--text-muted);font-size:14.5px;font-weight:600;transition:color .15s}.lnav-links a:hover{color:var(--text)}.hero{text-align:center;max-width:1180px;padding:70px 40px 40px}.hero,.hero-inner{margin:0 auto;position:relative}.hero-inner{z-index:2;max-width:820px}.hero-badge{background:var(--surface);border:1px solid var(--border);height:34px;color:var(--text-muted);white-space:nowrap;border-radius:99px;align-items:center;gap:7px;margin-bottom:26px;padding:0 15px;font-size:13px;font-weight:600;display:inline-flex}.hero-title{letter-spacing:-.035em;font-size:clamp(40px,7vw,76px);line-height:1}.hero-sub{color:var(--text-muted);text-wrap:pretty;max-width:620px;margin:26px auto 0;font-size:clamp(16px,2vw,20px);line-height:1.55}.hero-cta{gap:13px;margin-top:34px}.hero-cta,.hero-trust{flex-wrap:wrap;justify-content:center;display:flex}.hero-trust{color:var(--text-muted);gap:22px;margin-top:26px;font-size:14px;font-weight:500}.hero-trust span{align-items:center;gap:7px;display:inline-flex}.hero-preview{z-index:2;max-width:1000px;margin:56px auto 0;position:relative}.preview-glow{background:var(--grad);filter:blur(90px);opacity:.2;z-index:-1;border-radius:50%;position:absolute;inset:-8% 8% 30%}.preview-window{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);overflow:hidden}.preview-bar{border-bottom:1px solid var(--border);background:var(--surface-2);align-items:center;gap:7px;padding:13px 16px;display:flex}.preview-bar .dot{background:var(--border-2);border-radius:50%;width:11px;height:11px}.preview-url{color:var(--text-faint);font-size:12px;font-family:var(--font-mono);background:var(--surface-3);border-radius:99px;align-items:center;gap:6px;margin-left:14px;padding:4px 12px;display:inline-flex}.preview-body{grid-template-columns:1.7fr 1fr;height:360px;display:grid}.preview-canvas{border-right:1px solid var(--border);flex-direction:column;gap:12px;padding:18px;display:flex;overflow:hidden}.mini-kpi{background:var(--surface-2);border:1px solid var(--border);text-align:left;animation:fadeUp .5s var(--ease) both;border-radius:12px;flex:1;padding:11px 13px}.mini-kpi-label{background:var(--surface-3);border-radius:4px;width:54%;height:7px;margin-bottom:9px}.mini-kpi-val{font-family:var(--font-display);font-size:21px;font-weight:700}.mini-chart{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;flex:1;min-height:0;padding:10px}.mini-bars{align-items:flex-end;gap:8px;height:76px;padding:0 2px;display:flex}.mini-bar{background:var(--grad);transform-origin:bottom;animation:float-bar .6s var(--ease) both;border-radius:5px 5px 0 0;flex:1}.preview-chat{background:var(--surface);flex-direction:column;gap:10px;padding:16px;display:flex}.pchat-msg{animation:fadeUp .5s var(--ease) both;border-radius:12px;max-width:92%;padding:10px 12px;font-size:12.5px;line-height:1.4}.pchat-msg.user{background:var(--grad);color:var(--on-accent);border-bottom-right-radius:4px;align-self:flex-end;font-weight:500}.pchat-msg.ai{border:1px solid var(--border);border-bottom-left-radius:4px;align-self:flex-start;gap:6px}.pchat-input,.pchat-msg.ai{background:var(--surface-2);align-items:center;display:flex}.pchat-input{color:var(--text-faint);border:1px solid var(--border);border-radius:12px;gap:4px;margin-top:auto;padding:11px 12px;font-size:12px}.pchat-cursor{background:var(--mint);width:1.5px;height:13px;animation:blink 1.1s step-end infinite}.pchat-send{background:var(--grad);width:24px;height:24px;color:var(--on-accent);border-radius:7px;place-items:center;margin-left:auto;display:grid}.lsection{max-width:1180px;margin:0 auto;padding:80px 40px}.lsection-head{text-align:center;margin-bottom:48px}.eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);margin-bottom:14px;font-size:12.5px;font-weight:600;display:inline-block}.lsection-title{letter-spacing:-.03em;font-size:clamp(28px,4vw,44px)}.steps{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.step-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);animation:fadeUp .5s var(--ease) both;transition:transform .2s var(--ease),border-color .2s;padding:28px}.step-card:hover{border-color:var(--border-2);transform:translateY(-4px)}.step-top{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.step-n{font-family:var(--font-mono);color:var(--text-faint);letter-spacing:.05em;font-size:13px;font-weight:600}.step-ic{background:var(--grad-soft);border:1px solid var(--border);width:46px;height:46px;color:var(--accent-text);border-radius:13px;place-items:center;display:grid}.step-title{margin-bottom:10px;font-size:21px}.step-desc{color:var(--text-muted);font-size:15px;line-height:1.55}.sources-band{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);grid-template-columns:1fr 1fr;align-items:center;gap:50px;padding:50px;display:grid}.sources-list{flex-direction:column;gap:12px;display:flex}.source-row{border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);transition:transform .18s var(--ease);align-items:center;gap:14px;padding:16px;display:flex}.source-row:hover{transform:translate(4px)}.lcta{max-width:1180px;margin:0 auto;padding:20px 40px 90px}.lcta-card{background:var(--grad);border-radius:var(--r-xl);text-align:center;color:var(--on-accent);padding:70px 40px;position:relative;overflow:hidden}.lcta-orb{background:radial-gradient(circle,#ffffff59,#0000 65%);border-radius:50%;width:460px;height:460px;position:absolute;top:-180px;right:-120px}.lcta-title{letter-spacing:-.035em;font-size:clamp(30px,5vw,52px);position:relative}.lcta-sub{opacity:.82;max-width:420px;margin:18px auto 30px;font-size:18px;font-weight:500;position:relative}.lfooter{border-top:1px solid var(--border)}.lfooter-inner{flex-wrap:wrap;justify-content:space-between;gap:40px;max-width:1180px;margin:0 auto;padding:56px 40px 36px;display:flex}.lfooter-cols{flex-wrap:wrap;gap:64px;display:flex}.lfooter-h{margin-bottom:14px;font-size:14px;font-weight:700}.lfooter-link{color:var(--text-muted);cursor:pointer;margin-bottom:9px;font-size:13.5px;transition:color .15s;display:block}.lfooter-link:hover{color:var(--text)}.lfooter-bottom{border-top:1px solid var(--border);max-width:1180px;color:var(--text-faint);justify-content:space-between;margin:0 auto;padding:22px 40px;font-size:13px;display:flex}@keyframes buildingFadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes buildingBarGrow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes buildingPieReveal{0%{stroke-dasharray:0 251.3}}@keyframes buildingSpin{to{transform:rotate(1turn)}}@keyframes buildingShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes buildingPulse{0%,to{opacity:.5}50%{opacity:1}}.canvas-building{background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;height:100%;padding:2rem;display:flex;overflow:hidden}.canvas-building-inner{flex-direction:column;gap:16px;width:100%;max-width:700px;display:flex}.building-block{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);background-size:200% 100%;border-radius:4px;height:12px;animation:buildingShimmer 1.8s infinite}.building-header{justify-content:space-between;align-items:center;animation:buildingFadeUp .5s both;display:flex}.building-title{width:180px;height:20px}.building-badge{border-radius:8px;width:60px;height:16px}.building-metrics{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.building-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:16px;animation:buildingFadeUp .5s both}.building-charts{grid-template-columns:1.5fr 1fr;gap:12px;display:grid}.building-chart-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:16px;animation:buildingFadeUp .5s both}.building-bars{align-items:flex-end;gap:8px;height:100px;display:flex}.building-bar{background:var(--grad);transform-origin:bottom;border-radius:3px 3px 0 0;flex:1;animation:buildingBarGrow .6s both}.building-pie{justify-content:center;align-items:center;height:100px;display:flex}.building-pie-svg{width:90px;height:90px}.building-pie-segment{transform-origin:50%;animation:buildingPieReveal 1.2s both}.building-table{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:16px;animation:buildingFadeUp .5s both}.building-table-row{border-bottom:1px solid var(--border);gap:12px;padding:8px 0;animation:buildingFadeUp .4s both;display:flex}.canvas-building-label{color:var(--text-muted);align-items:center;gap:.625rem;font-size:.9rem;animation:buildingPulse 2s infinite;display:flex}.building-spinner{border:2px solid var(--border);border-top-color:var(--mint);border-radius:50%;width:16px;height:16px;animation:buildingSpin .8s linear infinite}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:10px;width:100%;max-width:400px;display:flex;position:fixed;top:20px;right:20px}.toast{pointer-events:auto;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-md);animation:toastIn .35s var(--ease) both;align-items:flex-start;gap:12px;padding:14px 16px;display:flex;position:relative;overflow:hidden}.toast-exit{animation:toastOut .25s var(--ease) both}.toast-icon{border-radius:var(--r-sm);flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.toast-content{flex:1;min-width:0;padding-top:4px}.toast-title{color:var(--text);font-size:13.5px;font-weight:600;line-height:1.3}.toast-desc{color:var(--text-muted);margin-top:2px;font-size:12.5px;line-height:1.4}.toast-close{width:24px;height:24px;color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;place-items:center;transition:background .15s,color .15s;display:grid}.toast-close:hover{background:var(--hover);color:var(--text)}.toast-progress{background:var(--surface-3);height:3px;position:absolute;bottom:0;left:0;right:0}.toast-progress-bar{border-radius:0 3px 0 0;height:100%;animation:toastCountdown linear forwards}.toast-success .toast-icon{color:#22c55e;background:#22c55e24}.toast-success .toast-progress-bar{background:#22c55e}.toast-error .toast-icon{color:#e0607a;background:#e0607a24}.toast-error .toast-progress-bar{background:#e0607a}.toast-warning .toast-icon{color:#f59e0b;background:#f59e0b24}.toast-warning .toast-progress-bar{background:#f59e0b}.toast-info .toast-icon{color:var(--mint);background:#2563eb24}.toast-info .toast-progress-bar{background:var(--mint)}@keyframes toastIn{0%{opacity:0;transform:translate(100%)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(100%)scale(.95)}}@keyframes toastCountdown{0%{width:100%}to{width:0}}.confirm-overlay{z-index:8000;background:0 0;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.confirm-dialog{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-xl);width:100%;max-width:420px;animation:scaleIn .25s var(--ease) both;overflow:hidden;box-shadow:0 24px 80px #00000073,0 0 0 1px #ffffff0f}[data-theme=light] .confirm-dialog{box-shadow:0 24px 80px #1e223c2e,0 0 0 1px #0000000a}.confirm-body{text-align:center;padding:28px 24px 20px}.confirm-icon{color:#e0607a;background:#e0607a1f;border:1px solid #e0607a40;border-radius:16px;place-items:center;width:56px;height:56px;margin:0 auto 16px;display:grid}.confirm-title{font-size:18px;font-weight:700;font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:8px}.confirm-desc{color:var(--text-muted);font-size:14px;line-height:1.5}.confirm-name{color:var(--text);font-weight:600}.confirm-actions{border-top:1px solid var(--border);background:var(--surface-2);gap:10px;padding:16px 24px;display:flex}.confirm-actions .btn{flex:1}.btn-danger{color:#fff;background:#e0607a;border-color:#0000}.btn-danger:hover{background:#d04a66;box-shadow:0 0 0 4px #e0607a33}@media (max-width:880px){.sidebar{display:none}.page{padding:24px 20px 80px}.auth{grid-template-columns:1fr}.auth-brand{display:none}.type-grid{grid-template-columns:1fr}.source-thead{display:none}.source-trow{grid-template-columns:1fr auto;gap:8px}.source-trow>span:nth-child(3),.source-trow>span:nth-child(4),.source-trow>span:nth-child(5){display:none}.pub-head-inner,.pub-main{padding-left:18px;padding-right:18px}.lnav-links{display:none}.hero,.lcta,.lnav-inner,.lsection{padding-left:20px;padding-right:20px}.preview-body{grid-template-columns:1fr;height:auto}.preview-chat{display:none}.sources-band,.steps{grid-template-columns:1fr}.sources-band{gap:30px;padding:32px}.lfooter-cols{gap:36px}}@media (max-width:820px){.ed-body{grid-template-rows:1fr auto;grid-template-columns:1fr}.ed-chat{border-top:1px solid var(--border);max-height:44vh}.gen-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.building-metrics{grid-template-columns:repeat(2,1fr)}.building-charts{grid-template-columns:1fr}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}