.projects-section{padding:calc(var(--spacing-4xl) + var(--spacing-lg)) 0;background:linear-gradient(135deg,var(--color-background) 0,var(--color-surface) 100%);position:relative;overflow:hidden}.projects-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(59,130,246,.03) 0,transparent 50%),radial-gradient(circle at 80% 20%,rgba(59,130,246,.02) 0,transparent 50%);pointer-events:none}.projects-container{max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg);position:relative;z-index:1}.projects-header{text-align:center;margin-bottom:var(--spacing-4xl);position:relative}.projects-title-input{font-size:clamp(var(--text-3xl),4vw,var(--text-5xl));font-weight:var(--font-weight-black);margin-bottom:var(--spacing-lg);text-align:center;width:100%;color:var(--color-text-primary);background:var(--color-surface);border:2px dashed var(--color-secondary-300);border-radius:var(--border-radius-lg);padding:var(--spacing-md) var(--spacing-lg);transition:all var(--transition-base);letter-spacing:-.02em}.projects-title-input:focus{border-color:var(--color-primary-500);outline:none;box-shadow:0 0 0 4px rgba(59,130,246,.1);transform:scale(1.02)}.projects-description{font-size:var(--text-xl);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-normal)}.projects-description,.projects-description-editor{max-width:600px;margin:0 auto}.projects-rich-text-medium{min-height:120px;max-height:200px;border-radius:var(--border-radius-lg);border:2px dashed var(--color-secondary-300);padding:var(--spacing-md);transition:all var(--transition-base)}.projects-rich-text-medium:focus-within{border-color:var(--color-primary-500);box-shadow:0 0 0 4px rgba(59,130,246,.1)}.projects-rich-text-small{font-size:var(--text-xl);color:var(--color-text-secondary);max-width:600px;margin:0 auto;line-height:var(--line-height-relaxed);font-weight:var(--font-weight-normal);text-align:center;border:none;background:transparent;outline:none;min-height:60px;padding:var(--spacing-sm) 0;border-radius:var(--border-radius);transition:all .3s ease}.projects-rich-text-small:focus-within{outline:2px solid var(--color-primary-500);outline-offset:4px;border-radius:var(--border-radius)}.projects-rich-text-small .ProseMirror{outline:none;font-size:inherit;color:inherit;line-height:inherit;font-weight:inherit;text-align:inherit;background:transparent;border:none}.projects-rich-text-small .ProseMirror p{margin:0;color:inherit;font-size:inherit;line-height:inherit;text-align:inherit}.projects-rich-text-small .ProseMirror:empty:before{content:attr(data-placeholder);color:var(--color-text-secondary);opacity:.6;float:left;height:0;pointer-events:none}.projects-settings{margin-top:var(--spacing-3xl);padding:var(--spacing-lg);background:var(--color-surface);border-radius:var(--border-radius-xl);border:1px solid var(--color-secondary-300);max-width:500px;margin-left:auto;margin-right:auto;box-shadow:var(--shadow-sm)}.projects-settings-row{margin-bottom:var(--spacing-md)}.projects-settings-row:last-child{margin-bottom:0}.projects-settings-label{display:flex;flex-direction:column;font-weight:var(--font-weight-semibold)}.projects-settings-input,.projects-settings-label{font-size:var(--text-sm);color:var(--color-text-primary)}.projects-settings-input{margin-top:var(--spacing-sm);padding:var(--spacing-md);border:1px solid var(--color-secondary-300);border-radius:var(--border-radius-md);background:var(--color-background);transition:all var(--transition-base)}.projects-settings-input:focus{border-color:var(--color-primary-500);outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.projects-settings-checkbox{display:flex;align-items:center;font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);cursor:pointer}.projects-settings-checkbox input[type=checkbox]{margin-right:var(--spacing-md);width:var(--spacing-md);height:var(--spacing-md);accent-color:var(--color-primary-500)}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-2xl);margin-bottom:var(--spacing-4xl);margin-top:var(--spacing-md)}.project-item{position:relative;background:var(--color-surface);border-radius:var(--border-radius-2xl);overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);border:1px solid var(--color-secondary-300);box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);height:fit-content}.project-item:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 25px 50px -12px rgba(0,0,0,.15),0 10px 25px -5px rgba(0,0,0,.1);border-color:var(--color-primary-500)}.project-item-hidden{opacity:.6;filter:grayscale(50%) blur(1px);transform:scale(.97)}.project-item-link{display:block;text-decoration:none;color:inherit}.project-item-link-disabled{cursor:not-allowed;pointer-events:none}.project-item-content{position:relative;height:100%;display:flex;flex-direction:column}.project-item-image-container{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,var(--color-surface) 0,var(--color-secondary-300) 100%)}.project-item-image{width:100%;height:100%;object-fit:cover;transition:all .6s cubic-bezier(.4,0,.2,1)}.project-item:hover .project-item-image{transform:scale(1.08)}.project-item-image-container:after{content:"";position:absolute;bottom:0;left:0;right:0;height:30%;background:linear-gradient(transparent,rgba(0,0,0,.4));pointer-events:none}.project-item-info{padding:var(--spacing-lg);flex:1;display:flex;flex-direction:column;position:relative}.project-item-title{font-size:var(--text-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md);color:var(--color-text-primary);line-height:var(--line-height-tight);-webkit-line-clamp:2;line-clamp:2;letter-spacing:-.01em}.project-item-summary,.project-item-title{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.project-item-summary{font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);-webkit-line-clamp:3;line-clamp:3;flex:1;margin-bottom:var(--spacing-sm)}.project-item-external{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:rgba(248,250,252,.9);backdrop-filter:blur(8px);border-radius:var(--border-radius-full);padding:var(--spacing-sm);border:1px solid var(--color-secondary-300);opacity:0;transition:all var(--transition-base)}.project-item:hover .project-item-external{opacity:1}.project-item-external-icon{width:var(--spacing-md);height:var(--spacing-md);color:var(--color-text-primary)}.project-item-controls{position:absolute;top:var(--spacing-md);left:var(--spacing-md);z-index:10;display:flex;gap:var(--spacing-xs);opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1)}.project-item:hover .project-item-controls{opacity:1;transform:scale(1.05)}.project-control-btn{width:var(--spacing-3xl);height:var(--spacing-3xl);border-radius:var(--border-radius-lg);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(16px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);position:relative;overflow:hidden}.project-control-btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.project-control-btn:not(:disabled):hover{transform:scale(1.1) translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.15),0 4px 6px -2px rgba(0,0,0,.1)}.project-control-btn:not(:disabled):active{transform:scale(1.05)}.project-control-edit{background:linear-gradient(135deg,#3b82f6,#2563eb);color:white}.project-control-edit:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8)}.project-control-visible{background:linear-gradient(135deg,#10b981,#059669);color:white}.project-control-visible:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857)}.project-control-hidden{background:linear-gradient(135deg,#f59e0b,#d97706);color:white}.project-control-hidden:hover:not(:disabled){background:linear-gradient(135deg,#d97706,#b45309)}.project-control-delete{background:linear-gradient(135deg,#ef4444,#dc2626);color:white}.project-control-delete:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c)}.project-control-icon{transition:all var(--transition-base)}.project-control-icon,.project-control-spinner{width:var(--spacing-xl);height:var(--spacing-xl)}.project-control-spinner{border:2px solid;border-top:2px solid transparent;border-radius:var(--border-radius-full);animation:spin 1s linear infinite}.project-item-hidden-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;pointer-events:none;border-radius:var(--border-radius-2xl)}.project-item-hidden-label{background:linear-gradient(135deg,var(--color-error),#dc2626);color:white;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius-full);font-size:var(--text-sm);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.1em;box-shadow:0 4px 20px rgba(239,68,68,.3)}.projects-cta-container{text-align:center;margin-top:var(--spacing-3xl)}.projects-cta{display:inline-flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-2xl);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);text-decoration:none;border-radius:var(--border-radius-full);transition:all .3s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:white;box-shadow:0 4px 15px rgba(59,130,246,.3);position:relative;overflow:hidden}.projects-cta:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.projects-cta:hover:before{left:100%}.projects-cta:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 8px 25px rgba(59,130,246,.4)}.projects-cta-icon{width:var(--spacing-xl);height:var(--spacing-xl);transition:all var(--transition-base)}.projects-cta:hover .projects-cta-icon{transform:translateX(4px)}.projects-empty-state{text-align:center;padding:var(--spacing-4xl) var(--spacing-2xl);background:var(--color-surface);border-radius:var(--border-radius-2xl);border:2px dashed var(--color-secondary-300);margin:var(--spacing-2xl) 0}.projects-empty-icon{width:calc(var(--spacing-4xl) * 2);height:calc(var(--spacing-4xl) * 2);margin:0 auto var(--spacing-2xl);color:var(--color-text-muted);opacity:.6}.projects-empty-icon svg{width:100%;height:100%}.projects-empty-title{font-size:var(--text-3xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md);color:var(--color-text-primary)}.projects-empty-description{font-size:var(--text-lg);color:var(--color-text-secondary);max-width:400px;margin:0 auto var(--spacing-3xl);line-height:var(--line-height-relaxed)}.projects-empty-cta{display:inline-flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:white;border:none;border-radius:var(--border-radius-full);font-size:var(--text-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);box-shadow:0 4px 15px rgba(59,130,246,.3)}.projects-empty-cta:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(59,130,246,.4)}.projects-empty-cta-icon{width:var(--spacing-xl);height:var(--spacing-xl)}.projects-add-container{text-align:center;margin-top:var(--spacing-3xl)}.projects-add-button{display:inline-flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-surface);color:var(--color-text-secondary);border:2px dashed var(--color-secondary-300);border-radius:var(--border-radius-full);font-size:var(--text-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.projects-add-button:hover{border-color:var(--color-primary-500);color:var(--color-primary-500);transform:scale(1.02)}.projects-add-icon{width:var(--spacing-md);height:var(--spacing-md)}.projects-loading{text-align:center;padding:var(--spacing-4xl) var(--spacing-2xl);font-size:var(--text-lg);color:var(--color-text-secondary);background:var(--color-surface);border-radius:var(--border-radius-2xl)}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.project-item{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1) both}.project-item:first-child{animation-delay:.1s}.project-item:nth-child(2){animation-delay:.2s}.project-item:nth-child(3){animation-delay:.3s}.project-item:nth-child(4){animation-delay:.4s}.project-item:nth-child(5){animation-delay:.5s}.project-item:nth-child(6){animation-delay:.6s}@media (min-width:1400px){.projects-grid{gap:var(--spacing-3xl)}.projects-container{max-width:1600px;padding:0 var(--spacing-2xl)}}@media (min-width:1200px) and (max-width:1399px){.projects-grid{gap:var(--spacing-3xl)}}@media (max-width:1199px) and (min-width:1024px){.projects-container{max-width:1200px}}@media (max-width:1023px) and (min-width:768px){.projects-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.projects-container{padding:0 var(--spacing-md)}.project-item-title{font-size:var(--text-xl)}.project-item-summary{font-size:var(--text-base)}.project-item-image-container{aspect-ratio:16/9}.project-control-btn{width:var(--spacing-2xl);height:var(--spacing-2xl)}.project-control-icon{width:var(--spacing-md);height:var(--spacing-md)}}@media (max-width:767px){.projects-section{padding:var(--spacing-4xl) 0}.projects-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.projects-container{padding:0 var(--spacing-md)}.projects-header{margin-bottom:var(--spacing-3xl)}.projects-title{font-size:var(--text-3xl);margin-bottom:var(--spacing-md)}.projects-title-input{font-size:var(--text-3xl);padding:var(--spacing-md) var(--spacing-md)}.projects-description{font-size:var(--text-lg)}.project-item-info{padding:var(--spacing-xl)}.project-item-title{font-size:var(--text-2xl);-webkit-line-clamp:unset;line-clamp:unset;margin-bottom:var(--spacing-md)}.project-item-summary{font-size:var(--text-lg);-webkit-line-clamp:unset;line-clamp:unset}.project-item-image-container{aspect-ratio:16/9}.project-control-btn{width:var(--spacing-3xl);height:var(--spacing-3xl)}.project-control-icon,.project-control-spinner{width:var(--spacing-lg);height:var(--spacing-lg)}.project-item-controls{top:var(--spacing-md);left:var(--spacing-md);gap:var(--spacing-sm);opacity:1}.projects-description-editor{max-width:100%}.projects-settings{max-width:100%;margin-top:var(--spacing-2xl);padding:var(--spacing-xl)}.projects-cta{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--text-base)}.projects-empty-state{padding:var(--spacing-4xl) var(--spacing-lg)}.projects-empty-icon{width:var(--spacing-4xl);height:var(--spacing-4xl);margin-bottom:var(--spacing-lg)}.projects-empty-title{font-size:var(--text-2xl)}.projects-empty-description{font-size:var(--text-base);max-width:100%}}@media (max-width:479px){.project-item-controls{gap:var(--spacing-xs)}.project-control-btn{width:var(--spacing-3xl);height:var(--spacing-3xl)}.project-control-icon,.project-control-spinner{width:var(--spacing-xl);height:var(--spacing-xl)}.projects-title,.projects-title-input{font-size:var(--text-2xl)}}.project-item-actions{margin-top:auto;padding-top:var(--spacing-md)}.project-item-view-details{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-primary-500);transition:all .3s cubic-bezier(.4,0,.2,1)}.project-item-arrow-icon{width:var(--spacing-lg);height:var(--spacing-lg);transition:transform .3s cubic-bezier(.4,0,.2,1)}.project-item:hover .project-item-view-details{color:var(--color-primary-hover)}.project-item:hover .project-item-arrow-icon{transform:translateX(var(--spacing-xs))}.project-item-external-link{position:absolute;top:var(--spacing-md);right:var(--spacing-md);z-index:10}.project-item-external-button{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-background);border:1px solid var(--color-secondary-300);border-radius:var(--border-radius-md);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-weight-medium);text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px rgba(0,0,0,.05);backdrop-filter:blur(8px)}.project-item-external-button:hover{background:var(--color-primary-500);border-color:var(--color-primary-500);color:var(--color-primary-foreground);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.project-item-external-button .project-item-external-icon{width:var(--spacing-lg);height:var(--spacing-lg);transition:transform .3s cubic-bezier(.4,0,.2,1)}.project-item-external-button:hover .project-item-external-icon{transform:scale(1.1)}@media (max-width:768px){.project-item-external-link{top:var(--spacing-sm);right:var(--spacing-sm)}.project-item-external-button{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--text-xs)}.project-item-external-button .project-item-external-icon{width:var(--spacing-md);height:var(--spacing-md)}}@media (max-width:479px){.project-item-external-button span{display:none}.project-item-external-button{padding:var(--spacing-xs);min-width:auto}}