@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_f367f3;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_f367f3{font-family:__Inter_f367f3,__Inter_Fallback_f367f3;font-style:normal}@keyframes modal-appear{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-appear{animation:modal-appear .2s ease-out}.line-clamp-2{-webkit-line-clamp:2;line-clamp:2}.line-clamp-2,.line-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;line-clamp:3}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:#4b5563 #1f2937}.custom-scrollbar::-webkit-scrollbar{width:8px}.custom-scrollbar::-webkit-scrollbar-track{background:#1f2937;border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb{background:#4b5563;border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#6b7280}@media (max-width:768px){.btn-mobile{min-height:44px;padding:12px 16px;font-size:14px}.toolbar-mobile{position:fixed;top:1rem;right:1rem;z-index:40}.modal-mobile{position:fixed;inset:1rem;width:auto;height:auto;max-width:none;max-height:none}}.dragging{opacity:.8;transform:rotate(2deg) scale(.95);pointer-events:none}.drag-over{background-color:rgba(99,102,241,.1);border-color:#6366f1}.component-card{transition:all .2s ease}.component-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.2)}.component-card:active{transform:translateY(0) scale(.98)}@media (hover:none) and (pointer:coarse){.component-card:hover{transform:none}.component-card:active{transform:scale(.95);background-color:rgba(75,85,99,.5)}}.category-badge{position:relative;overflow:hidden}.category-badge:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent,hsla(0,0%,100%,.1),transparent);transform:translateX(-100%);transition:transform .6s}.category-badge:hover:before{transform:translateX(100%)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mobile-dropdown{animation:slideDown .2s ease-out}.toolbar-compact{gap:.5rem}.toolbar-compact button{padding:.5rem;min-width:40px}.fab{position:fixed;bottom:2rem;right:2rem;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.3);z-index:40}.fab:hover{transform:scale(1.1);box-shadow:0 6px 16px rgba(0,0,0,.4)}.component-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}@media (max-width:640px){.component-grid{grid-template-columns:1fr;gap:.75rem}}@media (min-width:1024px){.component-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}.search-input:focus{box-shadow:0 0 0 3px rgba(99,102,241,.1)}.loading-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.backdrop-blur-custom{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}@keyframes slideInRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideOutRight{0%{transform:translateX(0);opacity:1}to{transform:translateX(100%);opacity:0}}.sidebar-enter{animation:slideInRight .3s ease-out forwards}.sidebar-exit{animation:slideOutRight .3s ease-out forwards}@keyframes fab-bounce{0%,20%,60%,to{transform:translateY(0) scale(1)}40%{transform:translateY(-10px) scale(1.05)}80%{transform:translateY(-4px) scale(1.02)}}.fab-bounce{animation:fab-bounce .6s ease-out}.sidebar-component-card{position:relative;overflow:hidden}.sidebar-component-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.1),transparent);transition:left .5s}.sidebar-component-card:hover:before{left:100%}@keyframes drag-pulse{0%,to{opacity:.3}50%{opacity:1}}.drag-indicator{animation:drag-pulse 1.5s infinite}.react-flow__node{transition:none!important;cursor:grab}.react-flow__node.dragging{cursor:grabbing!important;opacity:.8;z-index:1000}.react-flow__node:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.react-flow__viewport.drag-over{background:radial-gradient(circle at var(--mouse-x,50%) var(--mouse-y,50%),rgba(99,102,241,.1) 0,transparent 50%)}.sidebar-component-card,.sidebar-component-card:hover{cursor:move}.react-flow__viewport{transition:none!important}.react-flow__edges{pointer-events:stroke}.react-flow__edge{transition:stroke .2s ease}*{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}