/*! tailwindcss v4.3.1 | 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)))){*,:before,:after,::backdrop{--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-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, 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;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--font-weight-medium:500;--leading-snug:1.375;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) 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)}}@layer base{*,:after,:before,::backdrop{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}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, 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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{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{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-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{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.right-0{right:0}.right-5{right:calc(var(--spacing) * 5)}.bottom-5{bottom:calc(var(--spacing) * 5)}.bottom-full{bottom:100%}.left-0{left:0}.z-\[150\]{z-index:150}.z-\[160\]{z-index:160}.z-\[200\]{z-index:200}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-9{margin-top:calc(var(--spacing) * 9)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-7{margin-bottom:calc(var(--spacing) * 7)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-14{height:calc(var(--spacing) * 14)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-14{width:calc(var(--spacing) * 14)}.w-\[300px\]{width:300px}.w-\[336px\]{width:336px}.w-\[min\(360px\,calc\(100vw-2\.5rem\)\)\]{width:min(360px,100vw - 2.5rem)}.w-full{width:100%}.min-w-0{min-width:0}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[10px\]{border-radius:10px}.rounded-\[var\(--radius\)\]{border-radius:var(--radius)}.rounded-\[var\(--radius-lg\)\]{border-radius:var(--radius-lg)}.rounded-\[var\(--radius-md\)\]{border-radius:var(--radius-md)}.rounded-\[var\(--radius-sm\)\]{border-radius:var(--radius-sm)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-10{padding-block:calc(var(--spacing) * 10)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.9rem\]{font-size:.9rem}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.break-all{word-break:break-all}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.shadow-\[var\(--shadow-lg\)\]{--tw-shadow:var(--shadow-lg);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);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,)}.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-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (width>=40rem){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}:root{--ink:#2a1c0e;--ink-soft:#6a523a;--ink-faint:#9a876f;--paper:#fbf6ec;--paper-2:#fff;--paper-3:#f3ead8;--line:#e7dac2;--line-soft:#f0e7d5;--amber:#e8870a;--amber-soft:#ffb347;--amber-wash:#e8870a1a;--coral:#f26a4b;--coral-wash:#f26a4b1f;--ember:#c9531f;--green:#5e8c4e;--green-wash:#5e8c4e24;--blue:#3f6e8c;--blue-wash:#3f6e8c1f;--mauve:#8a6e7a;--ff-display:"Fraunces", "Hoefler Text", Georgia, serif;--ff-text:"Inter", system-ui, -apple-system, sans-serif;--ff-mono:ui-monospace, "Cascadia Code", "Fira Code", monospace;--shadow-sm:0 1px 2px #2a1c0e0d;--shadow:0 1px 2px #2a1c0e0a, 0 10px 28px #2a1c0e12;--shadow-lg:0 18px 50px #2a1c0e26, 0 3px 10px #2a1c0e14;--shadow-glow:0 0 0 1px #e8870a1f, 0 14px 40px #e8870a24;--grad-warm:linear-gradient(135deg, var(--amber-soft), var(--coral) 72%, var(--ember));--radius:11px;--radius-sm:8px;--radius-lg:18px;--sidebar-w:240px;--topbar-h:64px}[data-theme=dark]{--ink:#f4ebda;--ink-soft:#c2ae92;--ink-faint:#8c7a62;--paper:#1c150d;--paper-2:#261d12;--paper-3:#2f2417;--line:#3c2f1e;--line-soft:#332817;--amber:#f39b2a;--amber-soft:#ffb347;--amber-wash:#f39b2a24;--coral:#f47b5e;--coral-wash:#f47b5e29;--ember:#c9531f;--green:#7baa67;--green-wash:#7baa6729;--blue:#6fa0be;--blue-wash:#6fa0be29;--mauve:#b49aa4;--shadow-sm:0 1px 2px #0000004d;--shadow:0 1px 2px #0000004d, 0 10px 28px #0000006b;--shadow-lg:0 18px 50px #0000008c, 0 3px 10px #0006;--shadow-glow:0 0 0 1px #ffb34729, 0 14px 40px #ffb3471f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--ff-text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:1.55}h1,h2,h3,h4{font-family:var(--ff-display);color:var(--ink);letter-spacing:-.012em;font-weight:400;line-height:1.14}em{color:var(--amber);font-style:italic}button{font-family:inherit}::selection{background:var(--amber-wash);color:var(--ink)}:focus-visible{outline:3px solid var(--amber-soft);outline-offset:2px;border-radius:4px}.btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:10px 16px;font-size:.92rem;font-weight:500;text-decoration:none;transition:transform .1s,box-shadow .18s,background .15s,border-color .15s;display:inline-flex}.btn-primary{background:var(--grad-warm);color:#fff;box-shadow:var(--shadow-glow)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 0 0 1px #e8870a29,0 18px 44px #c9531f3d}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}[data-theme=dark] .btn-primary{color:#1c150d}.btn-ghost{color:var(--ink);border-color:var(--line);background:0 0}.btn-ghost:hover{background:var(--paper-3)}.btn-icon{border-radius:var(--radius-sm);min-width:38px;min-height:38px;color:var(--ink-soft);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn-icon:hover{background:var(--paper-3);color:var(--ink)}.app{grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;height:100dvh;display:grid}.sidebar{background:var(--paper-2);border-right:1px solid var(--line);flex-direction:column;grid-row:1/span 2;gap:4px;min-height:0;padding:16px 14px;display:flex}.brand{font-family:var(--ff-display);color:var(--ink);letter-spacing:-.01em;align-items:center;gap:10px;padding:6px 8px 16px;font-size:1.26rem;font-weight:500;text-decoration:none;display:flex}.brand .mark{filter:drop-shadow(0 2px 5px #e8870a47);flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.brand .mark svg{display:block}.nav-section-label{font-family:var(--ff-mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-faint);padding:14px 10px 6px;font-size:.6rem}.nav-link{border-radius:var(--radius-sm);color:var(--ink-soft);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:11px;width:100%;min-height:40px;padding:9px 11px;font-size:.93rem;font-weight:500;text-decoration:none;transition:background .13s,color .13s;display:flex}.nav-link:hover{background:var(--paper-3);color:var(--ink)}.nav-link.active{background:var(--amber-wash);color:var(--amber);font-weight:600}.nav-link.active .nav-ic{color:var(--amber)}.nav-ic{width:18px;height:18px;color:var(--ink-faint);flex-shrink:0;display:inline-flex}.nav-count{font-size:.72rem;font-family:var(--ff-mono);background:var(--paper-3);color:var(--ink-faint);text-align:center;border-radius:100px;min-width:20px;margin-left:auto;padding:1px 7px}.sidebar-foot{border-top:1px solid var(--line-soft);margin-top:auto;padding-top:12px}.workspace-chip{border-radius:var(--radius-sm);align-items:center;gap:10px;padding:8px 10px;font-size:.82rem;display:flex}.ws-avatar{background:var(--blue-wash);width:30px;height:30px;color:var(--blue);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:.82rem;font-weight:600;display:flex}.ws-name{color:var(--ink);font-weight:600;line-height:1.2}.ws-meta{color:var(--ink-faint);font-size:.72rem}.topbar{background:var(--paper);border-bottom:1px solid var(--line);grid-area:1/2;align-items:center;gap:14px;min-width:0;padding:0 22px;display:flex}.topbar .ws-title{font-family:var(--ff-display);color:var(--ink);white-space:nowrap;font-size:1.05rem;font-weight:500}.search-field{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);min-width:0;max-width:420px;height:40px;color:var(--ink-faint);flex:1;align-items:center;gap:9px;padding:0 12px;transition:border-color .15s,box-shadow .15s;display:flex}.search-field:focus-within{border-color:var(--amber-soft);box-shadow:0 0 0 3px var(--amber-wash)}.search-field input{color:var(--ink);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:.9rem}.search-field input::placeholder{color:var(--ink-faint)}.search-field .kbd{font-family:var(--ff-mono);background:var(--paper-3);border:1px solid var(--line);color:var(--ink-faint);border-radius:5px;margin-left:auto;padding:2px 6px;font-size:.7rem}.topbar-right{align-items:center;gap:9px;margin-left:auto;display:flex}.icon-badge{position:relative}.icon-badge .dot{background:var(--coral);border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:8px}.canvas{scroll-behavior:smooth;background:radial-gradient(900px 460px at 88% -6%, #ffb34712, transparent 60%), radial-gradient(700px 420px at -4% 102%, #f26a4b0d, transparent 58%), var(--paper);grid-area:2/2;min-width:0;position:relative;overflow:hidden auto}[data-theme=dark] .canvas{background:radial-gradient(900px 460px at 88% -6%, #ffb3471a, transparent 60%), radial-gradient(700px 420px at -4% 102%, #f26a4b12, transparent 58%), var(--paper)}.view{max-width:1140px;margin:0 auto;padding:30px 36px 60px;animation:.26s both viewIn}@keyframes viewIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.canvas-empty{text-align:center;min-height:60vh;color:var(--ink-soft);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.canvas-empty .ic{background:var(--amber-wash);width:64px;height:64px;color:var(--amber);border-radius:18px;justify-content:center;align-items:center;display:flex}.canvas-empty h1{font-size:1.85rem}.canvas-empty p{max-width:42ch}.theme-seg{background:var(--paper-3);border-radius:var(--radius-sm);gap:2px;padding:3px;display:inline-flex}.theme-seg button{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;border-radius:5px;align-items:center;gap:5px;min-height:30px;padding:5px 10px;font-size:.8rem;font-weight:500;transition:background .13s,color .13s;display:inline-flex}.theme-seg button.active{background:var(--paper-2);color:var(--ink);box-shadow:var(--shadow-sm);font-weight:600}.auth-wrap{background:radial-gradient(900px 520px at 82% -8%, #ffb3471a, transparent 60%), radial-gradient(760px 460px at -6% 104%, #f26a4b12, transparent 58%), var(--paper);justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.auth-card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;max-width:408px;box-shadow:var(--shadow-lg);padding:38px 34px}.auth-brand{align-items:center;gap:11px;margin-bottom:26px;display:flex}.auth-brand .mark{filter:drop-shadow(0 2px 6px #e8870a4d);flex-shrink:0;width:38px;height:38px}.auth-brand .wm{font-family:var(--ff-display);letter-spacing:-.01em;font-size:1.45rem;font-weight:500}.auth-head{margin-bottom:22px}.auth-head h1{margin-bottom:5px;font-size:1.6rem}.auth-head p{color:var(--ink-soft);font-size:.92rem}.field{margin-bottom:16px}.field label{color:var(--ink-soft);margin-bottom:6px;font-size:.8rem;font-weight:600;display:block}.field input{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);width:100%;height:42px;color:var(--ink);outline:none;padding:0 13px;font-family:inherit;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.field input:focus{border-color:var(--amber-soft);box-shadow:0 0 0 3px var(--amber-wash)}.auth-error{background:var(--coral-wash);border:1px solid var(--coral);color:var(--coral);border-radius:var(--radius);margin-bottom:16px;padding:10px 13px;font-size:.85rem}.auth-foot{border-top:1px solid var(--line-soft);text-align:center;color:var(--ink-faint);margin-top:22px;padding-top:18px;font-size:.78rem}.btn-sm{min-height:34px;padding:7px 12px;font-size:.85rem}.btn-soft{background:var(--paper-3);color:var(--ink);border-color:#0000}.btn-soft:hover{background:var(--line-soft);border-color:var(--line)}.view-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.view-head h1{margin-bottom:3px;font-size:1.85rem}.view-head .sub{color:var(--ink-soft);font-size:.95rem}.view-head-actions{align-items:center;gap:9px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.filter-box{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);min-width:220px;max-width:380px;height:38px;color:var(--ink-faint);flex:1;align-items:center;gap:9px;padding:0 12px;transition:border-color .15s,box-shadow .15s;display:flex}.filter-box:focus-within{border-color:var(--amber-soft);box-shadow:0 0 0 3px var(--amber-wash)}.filter-box input{color:var(--ink);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:.9rem}.filter-box input::placeholder{color:var(--ink-faint)}.filter-box svg{color:var(--ink-faint);flex-shrink:0}.view-toggle{background:var(--paper-3);border-radius:var(--radius-sm);gap:2px;padding:3px;display:inline-flex}.view-toggle button{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;border-radius:5px;align-items:center;gap:5px;min-height:30px;padding:6px 12px;font-family:inherit;font-size:.82rem;font-weight:500;transition:background .13s,color .13s;display:inline-flex}.view-toggle button[aria-pressed=true]{background:var(--paper-2);color:var(--ink);box-shadow:var(--shadow-sm);font-weight:600}.table-wrap{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}table.data{border-collapse:collapse;width:100%;font-size:.9rem}table.data thead th{text-align:left;font-family:var(--ff-mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line);padding:12px 16px;font-size:.64rem;font-weight:600}table.data tbody tr{cursor:pointer;border-bottom:1px solid var(--line-soft);transition:background .12s}table.data tbody tr:last-child{border-bottom:none}table.data tbody tr:hover{background:var(--paper-3)}table.data tbody tr:focus-visible{outline:2px solid var(--amber);outline-offset:-2px;background:var(--paper-3)}table.data td{color:var(--ink);vertical-align:middle;padding:13px 16px}table.data td.muted{color:var(--ink-soft)}.cell-person{align-items:center;gap:10px;display:flex}.avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.78rem;font-weight:600;display:flex}.avatar.sm{width:24px;height:24px;font-size:.68rem}.cell-person .pn{font-weight:500;line-height:1.2}.cell-person .pe{color:var(--ink-faint);font-size:.76rem}.tag{background:var(--paper-3);color:var(--ink-soft);white-space:nowrap;border-radius:100px;align-items:center;padding:2px 9px;font-size:.74rem;font-weight:500;display:inline-flex}.tag-person{background:var(--blue-wash);color:var(--blue)}.tag-company{background:var(--amber-wash);color:var(--amber)}.empty-rows{text-align:center;color:var(--ink-soft);background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:44px 24px}.client-grid{grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:14px;display:grid}.client-card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;flex-direction:column;gap:10px;padding:16px;font-family:inherit;transition:box-shadow .15s,transform .1s,border-color .15s;display:flex}.client-card:hover{box-shadow:var(--shadow);border-color:var(--amber-soft);transform:translateY(-1px)}.client-card:focus-visible{outline:2px solid var(--amber);outline-offset:1px}.client-card-top{align-items:center;gap:11px;display:flex}.client-card .cc-name{white-space:nowrap;text-overflow:ellipsis;font-size:.96rem;font-weight:600;line-height:1.2;overflow:hidden}.client-card .cc-sub{color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.client-card-foot{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:8px;padding-top:10px;display:flex}.client-card .cc-meta{color:var(--ink-faint);font-size:.76rem}.scrim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:80;opacity:0;background:#2a1c0e57;animation:.2s forwards fade;position:fixed;inset:0}[data-theme=dark] .scrim{background:#0000008c}@keyframes fade{to{opacity:1}}.drawer{z-index:90;background:var(--paper);border-left:1px solid var(--line);width:min(540px,94vw);box-shadow:var(--shadow-lg);flex-direction:column;animation:.28s cubic-bezier(.22,.61,.36,1) both slideIn;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes slideIn{0%{transform:translate(100%)}to{transform:none}}.drawer-head{border-bottom:1px solid var(--line);flex-direction:column;gap:12px;padding:20px 24px 16px;display:flex}.drawer-head-top{align-items:flex-start;gap:12px;display:flex}.drawer-head .dh-avatar{flex-shrink:0}.drawer-head .dh-title{flex:1;min-width:0}.drawer-head h2{margin-bottom:4px;font-size:1.4rem;line-height:1.15}.drawer-head .dh-sub{color:var(--ink-soft);font-size:.85rem}.drawer-close{flex-shrink:0}.drawer-body{flex:1;padding:6px 0;overflow-y:auto}.drawer-section{border-bottom:1px solid var(--line-soft);padding:16px 24px}.drawer-section h4{font-family:var(--ff-mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-faint);margin-bottom:12px;font-size:.64rem;font-weight:600}.field-row{align-items:flex-start;gap:14px;min-height:40px;padding:7px 0;display:flex}.field-row .fl{width:118px;color:var(--ink-faint);flex-shrink:0;padding-top:8px;font-size:.83rem}.field-row .fv{flex:1;min-width:0}.inline-edit{border-radius:var(--radius-sm);width:100%;color:var(--ink);word-break:break-word;border:1px solid #0000;min-height:36px;padding:7px 9px;font-size:.92rem;line-height:1.4;display:block}.cmdk-scrim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:120;opacity:0;background:#2a1c0e4d;justify-content:center;align-items:flex-start;padding-top:12vh;animation:.15s forwards fade;display:flex;position:fixed;inset:0}[data-theme=dark] .cmdk-scrim{background:#0000008c}.cmdk{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(520px,94vw);box-shadow:var(--shadow-lg);overflow:hidden}.cmdk-input-row{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:16px 18px;display:flex}.create-form{flex-direction:column;gap:14px;padding:20px 24px;display:flex}.create-form .cf-field label{color:var(--ink-soft);margin-bottom:6px;font-size:.8rem;font-weight:500;display:block}.create-form .cf-field input,.create-form .cf-field select{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);width:100%;height:42px;color:var(--ink);outline:none;padding:0 13px;font-family:inherit;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.create-form .cf-field input:focus,.create-form .cf-field select:focus{border-color:var(--amber);box-shadow:0 0 0 3px var(--amber-wash)}.create-form .cf-actions{justify-content:flex-end;gap:9px;margin-top:4px;display:flex}@media (width<=720px){.view{padding:22px 18px 60px}table.data{min-width:480px}.table-wrap{overflow-x:auto}.drawer{border-left:none;width:100vw}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line);border-radius:100px}::-webkit-scrollbar-thumb:hover{background:var(--mauve)}@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-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@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}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
