@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&display=swap";@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) ease-out}.animate-fade-in-down{animation:fadeInDown var(--transition-base) ease-out}.animate-slide-in-left{animation:slideInLeft var(--transition-slow) ease-out}.animate-slide-in-right{animation:slideInRight var(--transition-slow) ease-out}.animate-scale-in{animation:scaleIn var(--transition-base) ease-out}.animate-pulse{animation:pulse 2s ease-in-out infinite}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.stagger-7{animation-delay:.35s}.stagger-8{animation-delay:.4s}.stagger-item{--stagger-index: 0;opacity:0;animation:staggerFadeInUp .5s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--stagger-index) * 60ms)}@keyframes staggerFadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}:root{--color-gold: #c9a66b;--color-gold-light: #d4b87d;--color-gold-dark: #b8955a;--color-gold-muted: rgba(201, 166, 107, .15);--color-charcoal: #1a1a1a;--color-charcoal-light: #2a2a2a;--color-charcoal-lighter: #3a3a3a;--color-cream: #faf8f5;--color-cream-dark: #f0ebe3;--color-text-primary: #e8e4de;--color-text-secondary: #9a958d;--color-text-muted: #6a655d;--color-success: #7cb87c;--color-error: #c97c7c;--color-warning: #c9b07c;--font-display: "Cormorant Garamond", Georgia, serif;--font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--sidebar-width: 260px;--header-height: 64px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .4);--shadow-gold: 0 0 20px rgba(201, 166, 107, .15);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;color:var(--color-text-primary);background-color:var(--color-charcoal);min-height:100vh}a{color:var(--color-gold);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-gold-light)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:500;line-height:1.3;color:var(--color-cream)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-width);background:linear-gradient(180deg,var(--color-charcoal) 0%,var(--color-charcoal-light) 100%);border-right:1px solid var(--color-charcoal-lighter);display:flex;flex-direction:column;z-index:100}.sidebar-brand{padding:var(--space-8) var(--space-6);border-bottom:1px solid var(--color-charcoal-lighter)}.sidebar-brand h1{font-size:var(--text-xl);font-weight:600;color:var(--color-gold);letter-spacing:.05em;margin-bottom:var(--space-1)}.sidebar-brand span{font-size:var(--text-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em}.sidebar-nav{flex:1;padding:var(--space-6) 0}.nav-section{margin-bottom:var(--space-6)}.nav-section-title{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);padding:0 var(--space-6) var(--space-3)}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-6);color:var(--color-text-secondary);transition:all var(--transition-fast);border-left:3px solid transparent;cursor:pointer;position:relative;overflow:hidden}.nav-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background-color:var(--color-gold-muted);transition:width var(--transition-fast);z-index:-1}.nav-item:hover:before{width:100%}.nav-item:hover{color:var(--color-text-primary)}.nav-item:hover svg{transform:scale(1.1)}.nav-item.active{background-color:var(--color-gold-muted);color:var(--color-gold);border-left-color:var(--color-gold)}.nav-item svg{width:20px;height:20px;opacity:.8}.main-content{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-height:100vh}.header{height:var(--header-height);background-color:var(--color-charcoal);border-bottom:1px solid var(--color-charcoal-lighter);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-8);position:sticky;top:0;z-index:50}.header-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text-secondary)}.header-actions{display:flex;align-items:center;gap:var(--space-4)}.user-badge{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background-color:var(--color-charcoal-light);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-secondary)}.user-badge:before{content:"";width:8px;height:8px;background-color:var(--color-success);border-radius:50%}.page-content{flex:1;padding:var(--space-8);background-color:var(--color-charcoal);animation:fadeIn var(--transition-base) ease-out}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-8)}.page-header h2{font-weight:500}.form-group{margin-bottom:var(--space-6)}.form-label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.05em}.form-input,.form-textarea,.form-select{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-primary);background-color:var(--color-charcoal-light);border:1px solid var(--color-charcoal-lighter);border-radius:var(--radius-md);transition:all var(--transition-fast)}.form-input:hover,.form-textarea:hover,.form-select:hover{border-color:var(--color-text-muted)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-gold);box-shadow:var(--shadow-gold),0 0 0 3px var(--color-gold-muted);transform:translateY(-1px)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}.form-textarea{min-height:200px;resize:vertical;line-height:1.7}.form-checkbox-group{display:flex;align-items:center;gap:var(--space-3)}.form-checkbox{width:20px;height:20px;accent-color:var(--color-gold);cursor:pointer}.form-checkbox-label{font-size:var(--text-base);color:var(--color-text-primary);cursor:pointer}.form-hint{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-2)}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}@media(max-width:768px){.form-row{grid-template-columns:1fr}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;text-transform:uppercase;letter-spacing:.05em;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden}.btn:before{content:"";position:absolute;inset:0;background:linear-gradient(to right,transparent,rgba(255,255,255,.1),transparent);transform:translate(-100%);transition:transform .5s ease}.btn:hover:before{transform:translate(100%)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-gold);color:var(--color-charcoal)}.btn-primary:hover:not(:disabled){background-color:var(--color-gold-light);box-shadow:var(--shadow-gold)}.btn-secondary{background-color:var(--color-charcoal-lighter);color:var(--color-text-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-charcoal-light)}.btn-ghost{background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-charcoal-lighter)}.btn-ghost:hover:not(:disabled){background-color:var(--color-gold-muted);border-color:var(--color-gold);color:var(--color-gold)}.btn-danger{background-color:transparent;color:var(--color-error);border:1px solid var(--color-error)}.btn-danger:hover:not(:disabled){background-color:var(--color-error);color:var(--color-cream)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base)}.card{background-color:var(--color-charcoal-light);border:1px solid var(--color-charcoal-lighter);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-base)}.card.stagger-item{opacity:0;animation:cardEnter .5s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--stagger-index, 0) * 60ms)}@keyframes cardEnter{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.card:hover{border-color:var(--color-gold-muted);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-image{position:relative;width:100%;aspect-ratio:16 / 10;background-color:var(--color-charcoal);overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.card:hover .card-image img{transform:scale(1.05)}.card-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:var(--text-sm)}.card-badge{position:absolute;top:var(--space-3);right:var(--space-3);padding:var(--space-1) var(--space-3);background-color:var(--color-warning);color:var(--color-charcoal);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm)}.card-body{padding:var(--space-5)}.card-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;color:var(--color-cream);margin-bottom:var(--space-2);line-height:1.4}.card-meta{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-4)}.card-actions{display:flex;gap:var(--space-2)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-6)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-charcoal) 0%,var(--color-charcoal-light) 100%);padding:var(--space-4)}.login-card{width:100%;max-width:400px;background-color:var(--color-charcoal-light);border:1px solid var(--color-charcoal-lighter);border-radius:var(--radius-xl);padding:var(--space-10);box-shadow:var(--shadow-lg);animation:fadeInUp .6s ease-out}.login-header{text-align:center;margin-bottom:var(--space-8)}.login-header h1{font-size:var(--text-2xl);color:var(--color-gold);margin-bottom:var(--space-2)}.login-header p{color:var(--color-text-muted);font-size:var(--text-sm)}.login-form{display:flex;flex-direction:column;gap:var(--space-5)}.login-form .btn{margin-top:var(--space-4)}.login-error{padding:var(--space-3) var(--space-4);background-color:#c97c7c1a;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--text-sm);text-align:center}.text-gold{color:var(--color-gold)}.text-muted{color:var(--color-text-muted)}.text-center{text-align:center}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.image-preview{margin-top:var(--space-3);border-radius:var(--radius-md);overflow:hidden;background-color:var(--color-charcoal);border:1px solid var(--color-charcoal-lighter)}.image-preview img{width:100%;max-height:200px;object-fit:cover}.loading{display:flex;align-items:center;justify-content:center;padding:var(--space-16);color:var(--color-text-muted);animation:fadeIn var(--transition-base) ease-out}.loading:after{content:"";width:24px;height:24px;margin-left:var(--space-3);border:2px solid var(--color-charcoal-lighter);border-top-color:var(--color-gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:var(--space-16);color:var(--color-text-muted)}.empty-state h3{color:var(--color-text-secondary);margin-bottom:var(--space-4)}.image-uploader-preview{position:relative;border-radius:var(--radius-md);overflow:hidden;background-color:var(--color-charcoal);border:1px solid var(--color-charcoal-lighter);margin-bottom:var(--space-3)}.image-uploader-preview img{width:100%;max-height:250px;object-fit:cover;display:block}.image-uploader-preview-actions{display:flex;gap:var(--space-2);padding:var(--space-3);background:linear-gradient(to top,rgba(0,0,0,.7),transparent);position:absolute;bottom:0;left:0;right:0}.image-uploader-dropzone{border:2px dashed var(--color-charcoal-lighter);border-radius:var(--radius-md);padding:var(--space-8);text-align:center;transition:all var(--transition-fast);cursor:pointer;background-color:var(--color-charcoal-light);position:relative}.image-uploader-dropzone:hover,.image-uploader-dropzone.dragover{border-color:var(--color-gold);background-color:var(--color-gold-muted);transform:scale(1.01)}.image-uploader-dropzone.dragover{animation:pulse 1s ease-in-out infinite}.image-uploader-icon{margin-bottom:var(--space-4)}.image-uploader-icon svg{width:48px;height:48px;color:var(--color-text-muted)}.image-uploader-dropzone:hover .image-uploader-icon svg,.image-uploader-dropzone.dragover .image-uploader-icon svg{color:var(--color-gold)}.image-uploader-text{color:var(--color-text-secondary);margin-bottom:var(--space-2)}.image-uploader-link{color:var(--color-gold);cursor:pointer;text-decoration:underline}.image-uploader-link:hover{color:var(--color-gold-light)}.image-uploader-hint{font-size:var(--text-sm);color:var(--color-text-muted)}.image-uploader-uploading{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);color:var(--color-text-secondary)}.image-uploader-spinner{width:32px;height:32px;border:3px solid var(--color-charcoal-lighter);border-top-color:var(--color-gold);border-radius:50%;animation:spin .8s linear infinite}.image-uploader-error{color:var(--color-error);font-size:var(--text-sm);margin-top:var(--space-2)}@media(max-width:1024px){.sidebar{transform:translate(-100%);transition:transform var(--transition-base)}.sidebar.open{transform:translate(0)}.main-content{margin-left:0}}.page-header-actions{display:flex;align-items:center;gap:var(--space-4)}.view-toggle{display:flex;background-color:var(--color-charcoal-light);border:1px solid var(--color-charcoal-lighter);border-radius:var(--radius-md);padding:var(--space-1)}.view-toggle-btn{display:flex;align-items:center;justify-content:center;padding:var(--space-2);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.view-toggle-btn:hover{color:var(--color-text-primary);background-color:var(--color-charcoal-lighter)}.view-toggle-btn.active{background-color:var(--color-gold-muted);color:var(--color-gold)}.table-container{overflow-x:auto;border:1px solid var(--color-charcoal-lighter);border-radius:var(--radius-lg);background-color:var(--color-charcoal-light)}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.data-table th{text-align:left;padding:var(--space-4);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);background-color:var(--color-charcoal);border-bottom:1px solid var(--color-charcoal-lighter);white-space:nowrap}.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-charcoal-lighter);color:var(--color-text-secondary);vertical-align:middle}.table-row{transition:all var(--transition-fast)}.table-row.stagger-item{opacity:0;animation:rowEnter .4s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--stagger-index, 0) * 40ms)}@keyframes rowEnter{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.table-row:hover{background-color:var(--color-gold-muted)}.table-row:last-child td{border-bottom:none}.th-image{width:64px}.th-title{min-width:180px}.th-slug{min-width:140px}.th-date{width:120px}.th-status{width:100px}.th-actions{width:90px}.table-thumbnail{width:48px;height:48px;object-fit:cover;border-radius:var(--radius-sm);display:block;border:1px solid var(--color-charcoal-lighter)}.table-thumbnail-placeholder{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background-color:var(--color-charcoal);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--text-sm)}.table-title-link{font-family:var(--font-display);font-size:var(--text-base);font-weight:500;color:var(--color-cream);transition:color var(--transition-fast)}.table-title-link:hover{color:var(--color-gold)}.table-slug{font-family:monospace;font-size:var(--text-xs);color:var(--color-text-muted);background-color:var(--color-charcoal);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.table-actions{display:flex;gap:var(--space-2)}.status-badge{display:inline-block;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-radius:var(--radius-sm)}.status-wip{background-color:var(--color-warning);color:var(--color-charcoal)}.status-published{background-color:#7cb87c26;color:var(--color-success);border:1px solid var(--color-success)}.btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:transparent;border:1px solid var(--color-charcoal-lighter);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.btn-icon:hover{background-color:var(--color-gold-muted);border-color:var(--color-gold);color:var(--color-gold);transform:scale(1.1)}.btn-icon:active{transform:scale(.95)}.btn-icon-danger:hover{background-color:#c97c7c1a;border-color:var(--color-error);color:var(--color-error)}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.pagination{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-6);padding:var(--space-4) 0;border-top:1px solid var(--color-charcoal-lighter)}.pagination-info{font-size:var(--text-sm);color:var(--color-text-muted)}.pagination-controls{display:flex;align-items:center;gap:var(--space-1)}.pagination-btn{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 var(--space-2);background-color:transparent;border:1px solid var(--color-charcoal-lighter);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast)}.pagination-btn:hover:not(:disabled){background-color:var(--color-gold-muted);border-color:var(--color-gold);color:var(--color-gold)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-btn.active{background-color:var(--color-gold);border-color:var(--color-gold);color:var(--color-charcoal)}@media(max-width:640px){.pagination{flex-direction:column;gap:var(--space-4)}.pagination-page{display:none}.pagination-page.active{display:flex}}.multi-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.multi-image-item{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;border:2px solid var(--color-charcoal-lighter);cursor:grab;transition:all var(--transition-fast);animation:scaleIn var(--transition-base) ease-out backwards}.multi-image-item:hover{border-color:var(--color-gold);transform:scale(1.02);box-shadow:var(--shadow-md)}.multi-image-item.is-primary{border-color:var(--color-gold);box-shadow:0 0 0 2px var(--color-gold-muted)}.multi-image-item.dragging{opacity:.5;transform:scale(.95)}.multi-image-item.pending{border-style:dashed;opacity:.7}.multi-image-item img{width:100%;height:100%;object-fit:cover}.multi-image-grip{position:absolute;top:var(--space-2);left:var(--space-2);width:24px;height:24px;display:flex;align-items:center;justify-content:center;background-color:#0009;border-radius:var(--radius-sm);color:var(--color-cream);opacity:0;transition:opacity var(--transition-fast)}.multi-image-item:hover .multi-image-grip{opacity:1}.multi-image-badge{position:absolute;top:var(--space-2);right:var(--space-2);padding:var(--space-1) var(--space-2);background-color:var(--color-gold);color:var(--color-charcoal);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-radius:var(--radius-sm)}.multi-image-badge.pending-badge{background-color:var(--color-warning)}.multi-image-delete{position:absolute;bottom:var(--space-2);right:var(--space-2);width:28px;height:28px;display:flex;align-items:center;justify-content:center;background-color:#c97c7ce6;border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;opacity:0;transition:opacity var(--transition-fast)}.multi-image-item:hover .multi-image-delete{opacity:1}.multi-image-delete:hover{background-color:var(--color-error)}.image-uploader-dropzone.compact{padding:var(--space-4);min-height:auto}.image-uploader-dropzone.compact .image-uploader-text{margin:0;font-size:var(--text-sm)}.page-enter{animation:pageEnter .5s cubic-bezier(.22,1,.36,1)}@keyframes pageEnter{0%{opacity:0;transform:translateY(30px) scale(.98);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.empty-state svg,.empty-state-icon{animation:float 3s ease-in-out infinite}@keyframes glowPulse{0%,to{box-shadow:0 0 5px var(--color-gold-muted)}50%{box-shadow:0 0 20px var(--color-gold),0 0 30px var(--color-gold-muted)}}.btn-primary:focus{animation:glowPulse 2s ease-in-out infinite}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;background-image:radial-gradient(circle,var(--color-gold) 10%,transparent 10.01%);background-repeat:no-repeat;background-position:50%;transform:scale(10);opacity:0;transition:transform .5s,opacity 1s}.btn-ripple:active:after{transform:scale(0);opacity:.3;transition:0s}.card-image img{opacity:0;animation:imageReveal .6s ease-out forwards;animation-delay:.2s}@keyframes imageReveal{0%{opacity:0;transform:scale(1.1);filter:blur(10px)}to{opacity:1;transform:scale(1);filter:blur(0)}}.skeleton{background:linear-gradient(90deg,var(--color-charcoal-light) 25%,var(--color-charcoal-lighter) 50%,var(--color-charcoal-light) 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1em;margin-bottom:var(--space-2)}.skeleton-text:last-child{width:60%}.skeleton-image{aspect-ratio:16 / 10}.skeleton-avatar{width:48px;height:48px;border-radius:50%}.toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:1000;display:flex;flex-direction:column;gap:var(--space-3);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background-color:var(--color-charcoal-light);border:1px solid var(--color-charcoal-lighter);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);pointer-events:auto;animation:toastSlideIn .4s cubic-bezier(.22,1,.36,1);max-width:400px}.toast-exit{animation:toastSlideOut .3s ease-in forwards}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%) scale(.8)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toastSlideOut{to{opacity:0;transform:translate(100%) scale(.8)}}.toast-success{border-left:4px solid var(--color-success)}.toast-error{border-left:4px solid var(--color-error)}.toast-warning{border-left:4px solid var(--color-warning)}.toast-info{border-left:4px solid var(--color-gold)}.toast-icon{flex-shrink:0;width:24px;height:24px}.toast-success .toast-icon{color:var(--color-success)}.toast-error .toast-icon{color:var(--color-error)}.toast-warning .toast-icon{color:var(--color-warning)}.toast-info .toast-icon{color:var(--color-gold)}.toast-content{flex:1}.toast-title{font-weight:600;color:var(--color-cream);font-size:var(--text-sm);margin-bottom:var(--space-1)}.toast-message{font-size:var(--text-sm);color:var(--color-text-secondary)}.toast-close{flex-shrink:0;background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);transition:color var(--transition-fast)}.toast-close:hover{color:var(--color-text-primary)}.progress-bar{width:100%;height:4px;background-color:var(--color-charcoal-lighter);border-radius:2px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-gold-dark),var(--color-gold),var(--color-gold-light));background-size:200% 100%;border-radius:2px;transition:width .3s ease-out;animation:progressShine 1.5s ease-in-out infinite}@keyframes progressShine{0%{background-position:200% 0}to{background-position:-200% 0}}.form-checkbox{appearance:none;width:22px;height:22px;border:2px solid var(--color-charcoal-lighter);border-radius:var(--radius-sm);background-color:var(--color-charcoal-light);cursor:pointer;position:relative;transition:all var(--transition-fast)}.form-checkbox:hover{border-color:var(--color-gold)}.form-checkbox:checked{background-color:var(--color-gold);border-color:var(--color-gold);animation:checkPop .3s cubic-bezier(.68,-.55,.265,1.55)}.form-checkbox:checked:after{content:"";position:absolute;left:6px;top:2px;width:6px;height:12px;border:solid var(--color-charcoal);border-width:0 2px 2px 0;transform:rotate(45deg);animation:checkmark .2s ease-out .1s forwards;opacity:0}@keyframes checkPop{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes checkmark{0%{opacity:0;transform:rotate(45deg) scale(0)}to{opacity:1;transform:rotate(45deg) scale(1)}}.switch{position:relative;width:48px;height:26px;background-color:var(--color-charcoal-lighter);border-radius:13px;cursor:pointer;transition:background-color var(--transition-fast)}.switch:before{content:"";position:absolute;width:22px;height:22px;border-radius:50%;background-color:var(--color-text-secondary);top:2px;left:2px;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);box-shadow:var(--shadow-sm)}.switch.active{background-color:var(--color-gold-muted)}.switch.active:before{transform:translate(22px);background-color:var(--color-gold)}.dropdown-menu{position:absolute;top:100%;right:0;min-width:180px;background-color:var(--color-charcoal-light);border:1px solid var(--color-charcoal-lighter);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-2);opacity:0;visibility:hidden;transform:translateY(-10px) scale(.95);transform-origin:top right;transition:all .2s cubic-bezier(.22,1,.36,1);z-index:100}.dropdown.open .dropdown-menu{opacity:1;visibility:visible;transform:translateY(var(--space-2)) scale(1)}.dropdown-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.dropdown-item:hover{background-color:var(--color-gold-muted);color:var(--color-gold);transform:translate(4px)}.modal-overlay{position:fixed;inset:0;background-color:#0000;backdrop-filter:blur(0px);display:flex;align-items:center;justify-content:center;z-index:1000;transition:all .3s ease;pointer-events:none}.modal-overlay.open{background-color:#000000b3;backdrop-filter:blur(4px);pointer-events:auto}.modal{background-color:var(--color-charcoal-light);border:1px solid var(--color-charcoal-lighter);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:500px;width:90%;max-height:90vh;overflow-y:auto;transform:scale(.9) translateY(20px);opacity:0;transition:all .3s cubic-bezier(.22,1,.36,1)}.modal-overlay.open .modal{transform:scale(1) translateY(0);opacity:1}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-6);border-bottom:1px solid var(--color-charcoal-lighter)}.modal-header h3{font-size:var(--text-xl);margin:0}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.modal-close:hover{background-color:var(--color-charcoal-lighter);color:var(--color-text-primary);transform:rotate(90deg)}.modal-body{padding:var(--space-6)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-6);border-top:1px solid var(--color-charcoal-lighter)}.tooltip{position:relative}.tooltip:before,.tooltip:after{position:absolute;opacity:0;visibility:hidden;transition:all .2s ease;pointer-events:none}.tooltip:before{content:attr(data-tooltip);bottom:100%;left:50%;transform:translate(-50%) translateY(8px);padding:var(--space-2) var(--space-3);background-color:var(--color-charcoal);color:var(--color-text-primary);font-size:var(--text-xs);white-space:nowrap;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:100}.tooltip:after{content:"";bottom:100%;left:50%;transform:translate(-50%) translateY(8px);border:6px solid transparent;border-top-color:var(--color-charcoal);margin-bottom:-12px}.tooltip:hover:before,.tooltip:hover:after{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.typewriter{overflow:hidden;border-right:2px solid var(--color-gold);white-space:nowrap;animation:typing 2s steps(20,end),blinkCursor .75s step-end infinite}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blinkCursor{0%,to{border-color:transparent}50%{border-color:var(--color-gold)}}.success-checkmark{width:80px;height:80px;margin:0 auto}.success-checkmark circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:var(--color-success);fill:none;animation:strokeCircle .6s cubic-bezier(.65,0,.45,1) forwards}.success-checkmark path{stroke-dasharray:48;stroke-dashoffset:48;stroke-width:2;stroke-linecap:round;stroke:var(--color-success);fill:none;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .6s forwards}@keyframes strokeCircle{to{stroke-dashoffset:0}}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97)}.form-input.error,.form-textarea.error{border-color:var(--color-error);animation:shake .5s cubic-bezier(.36,.07,.19,.97)}@keyframes confettiFall{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.confetti{position:fixed;width:10px;height:10px;top:0;z-index:1001;pointer-events:none;animation:confettiFall 3s linear forwards}.morph-loader{width:40px;height:40px;background-color:var(--color-gold);animation:morph 1.5s ease-in-out infinite}@keyframes morph{0%,to{border-radius:50%;transform:rotate(0) scale(1)}25%{border-radius:0%;transform:rotate(90deg) scale(.8)}50%{border-radius:50%;transform:rotate(180deg) scale(1)}75%{border-radius:20%;transform:rotate(270deg) scale(.8)}}.btn-magnetic{transition:transform .3s cubic-bezier(.22,1,.36,1)}.text-gradient-animate{background:linear-gradient(90deg,var(--color-gold-dark),var(--color-gold),var(--color-gold-light),var(--color-gold));background-size:300% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientFlow 3s ease-in-out infinite}@keyframes gradientFlow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.nav-item.active:after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:4px;height:0;background-color:var(--color-gold);border-radius:2px 0 0 2px;animation:navIndicator .3s ease-out forwards}@keyframes navIndicator{to{height:60%}}.card-flip{perspective:1000px}.card-flip-inner{position:relative;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}.card-flip:hover .card-flip-inner{transform:rotateY(180deg)}.card-flip-front,.card-flip-back{position:absolute;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden}.card-flip-back{transform:rotateY(180deg)}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.breathe{animation:breathe 4s ease-in-out infinite}.counter{display:inline-block;transition:all .3s cubic-bezier(.22,1,.36,1)}.counter.counting{animation:countPulse .2s ease-out}@keyframes countPulse{0%{transform:scale(1)}50%{transform:scale(1.3);color:var(--color-gold)}to{transform:scale(1)}}.btn-liquid{position:relative;z-index:1}.btn-liquid:before{content:"";position:absolute;inset:0;background:var(--color-gold-light);border-radius:inherit;z-index:-1;transform:scaleX(0);transform-origin:right;transition:transform .5s cubic-bezier(.22,1,.36,1)}.btn-liquid:hover:before{transform:scaleX(1);transform-origin:left}@keyframes particleFloat{0%,to{transform:translateY(0) translate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-100vh) translate(50px);opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
