*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;font-weight:400;--color-bg-primary: #0f0f0f;--color-bg-secondary: #1a1a1a;--color-bg-tertiary: #2a2a2a;--color-bg-card: #1e1e1e;--color-bg-modal: rgba(0, 0, 0, .85);--color-bg-primary-rgb: 15, 15, 15;--color-text-primary: #ffffff;--color-text-secondary: #b3b3b3;--color-text-tertiary: #808080;--color-text-muted: #666666;--color-border-primary: #333333;--color-border-secondary: #404040;--color-border-hover: #555555;--color-border-focus: #ffffff;--color-accent: #ffffff;--color-accent-hover: #f0f0f0;--color-primary: #f3f3f3;--color-secondary: #7d7d7d;--color-surface: #161616;--color-surface-hover: #242424;--z-dropdown: 1200;--z-modal: 1300;--primary-color: #000000;--primary-hover: #1a1a1a;--primary-gradient: linear-gradient(135deg, #000000 0%, #1a1a1a 100%);--primary-gradient-hover: linear-gradient(135deg, #1a1a1a 0%, #333333 100%);--secondary-color: #1a1a1a;--accent-color: #333333;--background-primary: var(--color-bg-primary);--background-secondary: var(--color-bg-secondary);--background-tertiary: var(--color-bg-tertiary);--text-primary: var(--color-text-primary);--text-secondary: var(--color-text-secondary);--text-muted: var(--color-text-muted);--text-inverse: #000000;--border-color: var(--color-border-primary);--border-hover: var(--color-border-hover);--error-color: #ffffff;--success-color: #ffffff;--warning-color: #ffffff;--info-color: #ffffff;--shadow-xs: 0 1px 2px rgba(255, 255, 255, .1);--shadow-sm: 0 1px 3px rgba(255, 255, 255, .1);--shadow-md: 0 4px 6px rgba(255, 255, 255, .1);--shadow-lg: 0 10px 25px rgba(255, 255, 255, .1);--shadow-xl: 0 20px 25px rgba(255, 255, 255, .1);--shadow-2xl: 0 25px 50px rgba(255, 255, 255, .1);--shadow-inner: inset 0 2px 4px rgba(255, 255, 255, .1);--shadow-colored: 0 10px 25px rgba(255, 255, 255, .1);--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-3xl: 24px;--radius-full: 9999px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--transition-all: all .2s ease;--transition-bounce: all .2s ease;--transition-smooth: all .4s cubic-bezier(.25, .46, .45, .94);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-display:swap}body{margin:0;min-height:100vh;background:var(--color-bg-primary);background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.03) 1px,transparent 0);background-size:20px 20px;color:var(--color-text-primary);font-family:inherit;line-height:inherit}a{color:var(--primary-color);text-decoration:none;transition:color .2s ease}a:hover{color:#5a67d8;text-decoration:underline}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--text-primary)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}p{line-height:1.6;color:var(--text-secondary)}input,textarea,select{font-family:inherit;font-size:1rem}button{font-family:inherit;font-size:1rem;cursor:pointer;border:none;outline:none;transition:all .2s ease}button:disabled{cursor:not-allowed;opacity:.6}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--background-secondary);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}img{max-width:100%;height:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-family:inherit;font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;transition:var(--transition-all);position:relative;overflow:hidden}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-primary{background:var(--primary-gradient);color:var(--text-inverse);box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){background:var(--primary-gradient-hover);transform:translateY(-2px);box-shadow:var(--shadow-colored)}.btn-secondary{background:var(--background-primary);color:var(--primary-color);border:2px solid var(--primary-color);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--primary-color);color:var(--text-inverse);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-outline{background:transparent;color:var(--primary-color);border:2px solid var(--border-color)}.btn-outline:hover:not(:disabled){border-color:var(--primary-color);background:var(--primary-color);color:var(--text-inverse);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--text-secondary);border:none;box-shadow:none}.btn-ghost:hover:not(:disabled){background:var(--background-tertiary);color:var(--text-primary)}.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:.875rem}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:1.125rem}.btn-full{width:100%}.card{background:var(--background-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--border-color);overflow:hidden;transition:var(--transition-all)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.card-header{padding:var(--spacing-xl);border-bottom:1px solid var(--border-color)}.card-body{padding:var(--spacing-xl)}.card-footer{padding:var(--spacing-xl);border-top:1px solid var(--border-color);background:var(--background-secondary)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;margin-bottom:var(--spacing-sm);font-weight:600;color:var(--text-primary);font-size:.875rem}.form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;transition:var(--transition-all);background:var(--background-primary)}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #0000001a}.form-input:hover{border-color:var(--border-hover)}.form-textarea{resize:vertical;min-height:100px}.loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-dots{display:inline-flex;gap:4px}.loading-dots span{width:6px;height:6px;border-radius:50%;background:var(--primary-color);animation:bounce 1.4s ease-in-out infinite both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.shadow{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-error{color:var(--error-color)}.text-success{color:var(--success-color)}.text-warning{color:var(--warning-color)}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.bg-primary{background-color:var(--primary-color)}.bg-secondary{background-color:var(--secondary-color)}.bg-white{background-color:#fff}.bg-transparent{background-color:transparent}.border{border:1px solid var(--border-color)}.border-primary{border-color:var(--primary-color)}.border-error{border-color:var(--error-color)}.border-success{border-color:var(--success-color)}.transition-colors{transition:color .2s ease,background-color .2s ease,border-color .2s ease}.transition-all{transition:all .2s ease}.transition-transform{transition:transform .2s ease}.hover\:text-primary:hover{color:var(--primary-color)}.hover\:bg-primary:hover{background-color:var(--primary-color)}.hover\:transform:hover{transform:translateY(-2px)}.hidden{display:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}@media(max-width:767px){:root{font-size:14px}body{padding:0}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.25rem}.mobile-hidden{display:none!important}.mobile-full-width{width:100%!important}.mobile-text-center{text-align:center!important}.mobile-flex-col{flex-direction:column!important}.mobile-gap-2{gap:.5rem!important}.mobile-p-4{padding:1rem!important}.mobile-mt-2{margin-top:.5rem!important}.mobile-mb-2{margin-bottom:.5rem!important}}@media(min-width:768px)and (max-width:1023px){.tablet-hidden{display:none!important}.tablet-flex-col{flex-direction:column!important}.tablet-gap-3{gap:.75rem!important}}@media(min-width:1024px){.desktop-hidden{display:none!important}.desktop-flex-row{flex-direction:row!important}.desktop-gap-4{gap:1rem!important}}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}@media(min-width:768px){.container{padding:0 2rem}}@media(min-width:1024px){.container{padding:0 3rem}}.grid{display:grid;gap:1rem}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.md\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}@media(min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.lg\:grid-cols-5{grid-template-columns:repeat(5,1fr)}.lg\:grid-cols-6{grid-template-columns:repeat(6,1fr)}}@media(hover:none)and (pointer:coarse){button,a,input[type=button],input[type=submit],.clickable{min-height:44px;min-width:44px}*:hover{transform:none!important}}@media(prefers-contrast:high){:root{--border-color: #f5f5f5;--text-secondary: #f5f5f5;--text-muted: #d9d9d9;--color-border-primary: #f5f5f5;--color-border-secondary: #d9d9d9;--color-text-secondary: #f5f5f5;--color-text-tertiary: #d9d9d9}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-color-scheme:dark){:root{--primary-color: #000000;--secondary-color: #1a1a1a;--text-primary: #ffffff;--text-secondary: #cccccc;--text-muted: #999999;--border-color: #333333;--error-color: #ffffff;--success-color: #ffffff;--warning-color: #ffffff}body{background-color:#000;color:var(--text-primary)}}@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(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideInDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-8px,0)}70%{transform:translate3d(0,-4px,0)}90%{transform:translate3d(0,-2px,0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.animate-fade-in{animation:fadeIn .5s ease-out}.animate-fade-in-up{animation:fadeInUp .6s ease-out}.animate-fade-in-down{animation:fadeInDown .6s ease-out}.animate-fade-in-left{animation:fadeInLeft .6s ease-out}.animate-fade-in-right{animation:fadeInRight .6s ease-out}.animate-scale-in{animation:scaleIn .4s ease-out}.animate-slide-in-up{animation:slideInUp .5s ease-out}.animate-slide-in-down{animation:slideInDown .5s ease-out}.animate-bounce{animation:none}.animate-pulse{animation:pulse 2s infinite}.animate-shake{animation:shake .5s ease-in-out}.animate-spin{animation:spin 1s linear infinite}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-500{animation-delay:.5s}.hover-lift{transition:var(--transition-smooth)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.hover-scale{transition:var(--transition-normal)}.hover-scale:hover{transform:scale(1.01)}.hover-glow{transition:var(--transition-normal)}.hover-glow:hover{box-shadow:0 0 20px #0006}.loading-skeleton{background:linear-gradient(90deg,#1a1a1a 25%,#252525,#1a1a1a 75%);background-size:200px 100%;animation:shimmer 1.5s infinite}.loading-dots{display:inline-block}.loading-dots:after{content:".";animation:dots 1.5s steps(5,end) infinite}@keyframes dots{0%,20%{color:#fff0;text-shadow:.25em 0 0 rgba(255,255,255,0),.5em 0 0 rgba(255,255,255,0)}40%{color:currentColor;text-shadow:.25em 0 0 rgba(255,255,255,0),.5em 0 0 rgba(255,255,255,0)}60%{text-shadow:.25em 0 0 currentColor,.5em 0 0 rgba(255,255,255,0)}80%,to{text-shadow:.25em 0 0 currentColor,.5em 0 0 currentColor}}.header{position:fixed;top:0;left:0;right:0;background:#121212f0;border-bottom:1px solid var(--color-border-primary);box-shadow:0 8px 30px #0000002e;backdrop-filter:blur(12px);z-index:9999}.header-container{max-width:1400px;margin:0 auto;padding:0 var(--spacing-md);display:flex;align-items:center;justify-content:space-between;height:64px}.brand-section{flex-shrink:0}.brand-logo{display:flex;align-items:center;gap:var(--spacing-sm);text-decoration:none;color:var(--color-text-primary);transition:var(--transition-fast);padding:var(--spacing-xs) 0}.brand-logo:hover{color:var(--color-accent-hover)}.brand-icon{color:var(--color-accent);flex-shrink:0}.brand-name{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.brand-tagline{font-size:.75rem;color:var(--color-text-tertiary);font-weight:300;margin-left:var(--spacing-xs)}.desktop-nav{display:flex;align-items:center;gap:var(--spacing-lg)}.nav-link{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-secondary);text-decoration:none;font-size:.875rem;font-weight:500;transition:all var(--transition-normal);position:relative}.nav-link:hover{color:var(--color-text-primary);border-color:var(--color-border-hover);background:#ffffff0d}.nav-link svg{flex-shrink:0;opacity:.7;transition:var(--transition-fast)}.nav-link:hover svg{opacity:1}.user-section{position:relative;display:flex;align-items:center}.user-menu-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);background:transparent;color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-normal);font-size:.875rem}.user-menu-btn:hover{border-color:var(--color-border-hover);background:#ffffff0d}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-bg-tertiary);display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border-primary)}.user-name{font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron{transition:var(--transition-fast)}.chevron.open{transform:rotate(180deg)}.user-dropdown{position:absolute;top:calc(100% + var(--spacing-xs));right:0;min-width:200px;background:var(--color-bg-modal);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);backdrop-filter:blur(10px);padding:var(--spacing-sm);z-index:var(--z-dropdown);animation:fadeIn .2s ease-out}.dropdown-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);text-decoration:none;font-size:.875rem;cursor:pointer;transition:var(--transition-fast)}.dropdown-item:hover{color:var(--color-text-primary);background:#ffffff1a}.dropdown-item.logout-btn{color:var(--color-text-muted);border-top:1px solid var(--color-border-primary);margin-top:var(--spacing-xs);padding-top:var(--spacing-md)}.dropdown-item.logout-btn:hover{color:var(--color-text-primary)}.mobile-menu-btn{display:none;flex-direction:column;justify-content:center;align-items:center;width:36px;height:36px;border:1px solid var(--color-border-primary);border-radius:var(--radius-md);background:transparent;cursor:pointer;transition:var(--transition-normal)}.mobile-menu-btn:hover{border-color:var(--color-border-hover);background:#ffffff0d}.hamburger{position:relative;width:18px;height:14px}.hamburger span{position:absolute;left:0;width:100%;height:1.5px;background:var(--color-text-primary);border-radius:1px;transition:var(--transition-normal)}.hamburger span:nth-child(1){top:0}.hamburger span:nth-child(2){top:50%;transform:translateY(-50%)}.hamburger span:nth-child(3){bottom:0}.hamburger.active span:nth-child(1){top:50%;transform:translateY(-50%) rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){bottom:50%;transform:translateY(50%) rotate(-45deg)}.mobile-nav{position:absolute;top:100%;left:0;right:0;background:var(--color-bg-modal);border-bottom:1px solid var(--color-border-primary);backdrop-filter:blur(10px);transform:translateY(-100%);opacity:0;visibility:hidden;transition:all var(--transition-normal);z-index:var(--z-modal)}.mobile-nav.active{transform:translateY(0);opacity:1;visibility:visible}.mobile-nav-content{padding:var(--spacing-lg) var(--spacing-md);max-height:calc(100vh - 64px);overflow-y:auto}.mobile-user-info{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);background:#ffffff05}.mobile-user-avatar{width:40px;height:40px;border-radius:50%;background:var(--color-bg-tertiary);display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border-primary)}.mobile-user-name{font-weight:600;color:var(--color-text-primary)}.mobile-nav-link{display:flex;align-items:center;gap:var(--spacing-md);width:100%;padding:var(--spacing-md);margin-bottom:var(--spacing-sm);border:1px solid transparent;border-radius:var(--radius-lg);background:transparent;color:var(--color-text-secondary);text-decoration:none;font-size:1rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal)}.mobile-nav-link:hover{color:var(--color-text-primary);border-color:var(--color-border-hover);background:#ffffff0d}.mobile-nav-link.logout-btn{color:var(--color-text-muted);border-top:1px solid var(--color-border-primary);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.mobile-nav-link.logout-btn:hover{color:var(--color-text-primary)}.mobile-nav-link svg{flex-shrink:0;opacity:.7}.mobile-nav-link:hover svg{opacity:1}@media(max-width:768px){.desktop-nav,.user-section{display:none}.mobile-menu-btn{display:flex}.brand-name{font-size:1.25rem}.brand-tagline{display:none}.header-container{padding:0 var(--spacing-sm);height:56px}}@media(max-width:480px){.brand-name{font-size:1.125rem}.mobile-nav-content{padding:var(--spacing-md) var(--spacing-sm)}.mobile-nav-link{padding:var(--spacing-sm) var(--spacing-md)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.header *,.header *:before,.header *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-contrast:high){.nav-link,.mobile-nav-link,.user-avatar{border-color:var(--color-text-primary)}}.nav-link:focus-visible,.mobile-nav-link:focus-visible,.user-menu-btn:focus-visible,.mobile-menu-btn:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.nav-link.active,.mobile-nav-link.active{color:var(--color-text-primary);background:#ffffff1a;border-color:var(--color-border-focus)}.language-section{position:relative;margin-right:var(--spacing-md)}.language-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:1px solid var(--color-border-primary);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal)}.language-btn:hover{color:var(--color-text-primary);border-color:var(--color-border-hover);background:#ffffff0d}.language-btn svg{flex-shrink:0;opacity:.7;transition:var(--transition-fast)}.language-btn:hover svg{opacity:1}.language-btn .chevron{transition:transform var(--transition-normal)}.language-btn .chevron.open{transform:rotate(180deg)}.language-dropdown{position:absolute;top:calc(100% + var(--spacing-xs));right:0;min-width:120px;background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;z-index:1000}.language-dropdown .dropdown-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;color:var(--color-text-secondary);font-size:.875rem;text-align:left;cursor:pointer;transition:var(--transition-fast)}.language-dropdown .dropdown-item:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.language-dropdown .dropdown-item.active{background:var(--color-accent);color:#fff}.language-dropdown .dropdown-item.active:hover{background:var(--color-accent-hover)}@media(max-width:768px){.language-section{display:none}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;gap:1rem;padding:2rem}.loading-fullscreen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(var(--color-bg-primary-rgb),.9);backdrop-filter:blur(8px);z-index:9999;gap:1.5rem}.loading-spinner{position:relative;display:inline-block;will-change:transform}.loading-spinner-small{width:32px;height:32px}.loading-spinner-medium{width:48px;height:48px}.loading-spinner-large{width:64px;height:64px}.spinner-ring{position:absolute;top:0;left:0;width:100%;height:100%;border:3px solid transparent;border-radius:50%;animation:spin 2s linear infinite;will-change:transform}.spinner-ring:nth-child(1){border-top-color:var(--color-accent);animation-duration:1.5s}.spinner-ring:nth-child(2){border-right-color:var(--color-primary);animation-duration:2s;animation-direction:reverse}.spinner-ring:nth-child(3){border-bottom-color:var(--color-secondary);animation-duration:2.5s}.loading-spinner-small .spinner-ring{border-width:2px}.loading-spinner-large .spinner-ring{border-width:4px}.loading-text{color:var(--color-text-secondary);font-size:.875rem;font-weight:500;margin:0;text-align:center;opacity:.8}.loading-fullscreen .loading-text{font-size:1rem;color:var(--color-text-primary)}@media(max-width:480px){.loading-container{min-height:150px;padding:1.5rem;gap:.75rem}.loading-fullscreen{gap:1rem}.loading-spinner-medium{width:40px;height:40px}.loading-spinner-large{width:56px;height:56px}.loading-text{font-size:.8rem}.loading-fullscreen .loading-text{font-size:.9rem}}@media(prefers-color-scheme:dark){.loading-fullscreen{background:#000c}}.home-container{min-height:100vh;background:var(--color-bg-primary);color:var(--color-text-primary)}.hero-section{padding:var(--spacing-3xl) 0;text-align:center;position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.03) 0%,transparent 65%);pointer-events:none}.hero-content{max-width:800px;margin:0 auto;padding:0 var(--spacing-md);position:relative;z-index:1}.brand-showcase{margin-bottom:var(--spacing-3xl)}.brand-icon-large{display:inline-flex;align-items:center;justify-content:center;width:120px;height:120px;border:2px solid var(--color-border-primary);border-radius:50%;background:var(--color-bg-secondary);color:var(--color-accent);margin-bottom:var(--spacing-xl);transition:border-color var(--transition-normal),background var(--transition-normal);position:relative}.brand-icon-large:before{display:none}.brand-icon-large:hover{border-color:var(--color-border-hover)}.brand-title{font-size:3.5rem;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--spacing-md);letter-spacing:-.02em;line-height:1.1}.brand-tagline{font-size:1.5rem;color:var(--color-text-secondary);font-weight:300;margin-bottom:var(--spacing-lg);letter-spacing:.02em}.brand-description{font-size:1.125rem;color:var(--color-text-tertiary);line-height:1.6;max-width:600px;margin:0 auto}.action-section{display:flex;justify-content:center;gap:var(--spacing-md);flex-wrap:wrap}.user-actions,.guest-actions{display:flex;gap:var(--spacing-md);flex-wrap:wrap;justify-content:center}.action-btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);background:transparent;color:var(--color-text-secondary);text-decoration:none;font-size:1rem;font-weight:500;transition:all var(--transition-normal);min-width:160px;justify-content:center}.action-btn:before{display:none}.action-btn:hover{color:var(--color-text-primary);border-color:var(--color-border-hover);background:#ffffff0d}.action-btn-primary{background:var(--color-accent);color:var(--color-bg-primary);border-color:var(--color-accent)}.action-btn-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-bg-primary)}.action-btn svg{flex-shrink:0;opacity:.8;transition:var(--transition-fast)}.action-btn:hover svg{opacity:1}.features-section{padding:var(--spacing-3xl) 0}.features-container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.features-title{font-size:2.5rem;font-weight:700;color:var(--color-text-primary);text-align:center;margin-bottom:var(--spacing-3xl);position:relative}.features-title:after{content:"";position:absolute;bottom:-var(--spacing-md);left:50%;transform:translate(-50%);width:56px;height:1px;background:var(--color-border-hover)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-xl);margin-top:var(--spacing-2xl)}.feature-card{background:var(--color-bg-card);border:1px solid var(--color-border-primary);border-radius:var(--radius-xl);padding:var(--spacing-2xl);text-align:center;transition:border-color var(--transition-normal),background var(--transition-normal)}.feature-card:before{display:none}.feature-card:hover{border-color:var(--color-border-hover);background:#222}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;border:1px solid var(--color-border-primary);border-radius:50%;background:var(--color-bg-tertiary);color:var(--color-accent);margin-bottom:var(--spacing-lg);transition:all var(--transition-normal)}.feature-card:hover .feature-icon{border-color:var(--color-border-hover);background:#ffffff1a}.feature-title{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.feature-description{color:var(--color-text-secondary);line-height:1.6;font-size:1rem}.stats-section{padding:var(--spacing-3xl) 0}.stats-container{max-width:800px;margin:0 auto;padding:0 var(--spacing-md);display:flex;justify-content:space-around;gap:var(--spacing-xl)}.stat-item{text-align:center;flex:1}.stat-number{display:block;font-size:3rem;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--spacing-sm);background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-text-primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{font-size:.875rem;color:var(--color-text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.05em}@media(max-width:768px){.hero-section{padding:var(--spacing-2xl) 0}.brand-icon-large{width:100px;height:100px}.brand-title{font-size:2.5rem}.brand-tagline{font-size:1.25rem}.brand-description{font-size:1rem}.action-section{flex-direction:column;align-items:center}.user-actions,.guest-actions{flex-direction:column;width:100%;max-width:300px}.action-btn{width:100%}.features-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.feature-card{padding:var(--spacing-lg)}.feature-icon{width:60px;height:60px}.features-title{font-size:2rem}.stats-container{flex-direction:column;gap:var(--spacing-lg)}.stat-number{font-size:2.5rem}}@media(max-width:480px){.hero-content{padding:0 var(--spacing-sm)}.brand-icon-large{width:80px;height:80px}.brand-title{font-size:2rem}.brand-tagline{font-size:1.125rem}.brand-description{font-size:.875rem}.action-btn{padding:var(--spacing-sm) var(--spacing-lg);font-size:.875rem}.features-container{padding:0 var(--spacing-sm)}.feature-card{padding:var(--spacing-md)}.feature-icon{width:50px;height:50px}.feature-title{font-size:1.25rem}.feature-description{font-size:.875rem}.stat-number{font-size:2rem}.info-links{flex-direction:column;gap:var(--spacing-sm)}}@media(prefers-reduced-motion:reduce){.action-btn:before{display:none}}@media(prefers-contrast:high){.feature-card,.action-btn,.brand-icon-large,.feature-icon{border-width:2px}}.action-btn:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.info-link:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:var(--radius-sm)}.auth-container{min-height:100vh;background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.auth-main{display:flex;align-items:center;justify-content:center;width:100%;padding:2.5rem 1rem}.auth-card{background:#121212;border:1px solid #2a2a2a;border-radius:16px;padding:2.5rem;width:100%;max-width:440px;box-shadow:0 24px 60px #00000059}.auth-title{text-align:center;margin-bottom:1.75rem}.auth-title h1{font-size:1.8rem;font-weight:700;margin-bottom:.6rem;color:#fff}.auth-title p{font-size:.95rem;color:#9c9c9c;margin:0;line-height:1.6}.error-message{background:#2a1a1a;border:1px solid #3a2a2a;color:#ff6b6b;padding:.8rem 1rem;border-radius:6px;margin-bottom:1.5rem;font-size:.85rem;text-align:center}.success-message{background:#1a2a1a;border:1px solid #2a3a2a;color:#51cf66;padding:.8rem 1rem;border-radius:6px;margin-bottom:1.5rem;font-size:.85rem;text-align:center}.auth-form{margin-bottom:1.5rem}.form-group{margin-bottom:1rem}.auth-label{display:block;margin-bottom:.45rem;color:#d7d7d7;font-size:.88rem;font-weight:500}.form-input{width:100%;padding:.8rem 1rem;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:6px;color:#fff;font-size:.9rem;transition:border-color .2s ease;box-sizing:border-box}.form-input:focus{outline:none;border-color:#6a6a6a;background:#202020;box-shadow:0 0 0 3px #ffffff0a}.form-input::placeholder{color:#666}.auth-btn{width:100%;padding:.95rem 1rem;background:#fff;color:#000;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.auth-btn:hover:not(:disabled){background:#f0f0f0}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.loading-spinner{width:16px;height:16px;border:2px solid #666666;border-top:2px solid #000000;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.divider{text-align:center;margin:1.5rem 0;position:relative}.divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#2a2a2a}.divider span{background:#111;padding:0 1rem;color:#666;font-size:.8rem;position:relative;z-index:1}.oauth-buttons{display:flex;gap:.8rem;margin-bottom:1.5rem}.oauth-btn{flex:1;padding:.8rem 1rem;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:6px;color:#fff;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.oauth-btn:hover{background:#2a2a2a;border-color:#3a3a3a}.auth-footer{text-align:center}.auth-footer p{margin:0;font-size:.85rem;color:#888}.auth-link{color:#fff;text-decoration:none;font-weight:500;margin-left:.3rem;transition:color .2s ease}.auth-link:hover{color:#d9d9d9}@media(max-width:480px){.auth-main{padding:1.25rem .75rem}.auth-card{padding:1.75rem 1.25rem}.auth-title h1{font-size:1.5rem}.oauth-buttons{flex-direction:column}.oauth-btn{justify-content:center}}.confirm-dialog-overlay{position:fixed;inset:0;z-index:10010;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);background:#060606d1;backdrop-filter:blur(10px)}.confirm-dialog{width:min(100%,30rem);padding:var(--spacing-xl);border:1px solid var(--color-border-primary);border-radius:var(--radius-xl);background:var(--color-bg-card);box-shadow:0 24px 60px #0006}.confirm-dialog-default{border-color:var(--color-border-primary)}.confirm-dialog-danger{border-color:#ae3d3d59}.confirm-dialog-copy h2{margin:0;font-size:1.35rem;line-height:1.15;color:var(--color-text-primary)}.confirm-dialog-copy p{margin:var(--spacing-sm) 0 0;color:var(--color-text-secondary);line-height:1.65}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:var(--spacing-xl)}.confirm-dialog-btn{min-height:2.75rem;padding:.75rem 1.1rem;border-radius:var(--radius-lg);border:1px solid var(--color-border-primary);font-size:.95rem;font-weight:600;cursor:pointer}.confirm-dialog-btn-secondary{background:transparent;color:var(--color-text-secondary)}.confirm-dialog-btn-secondary:hover{background:#ffffff0a;border-color:var(--color-border-hover);color:var(--color-text-primary)}.confirm-dialog-btn-primary{background:#fff;border-color:#fff;color:#111}.confirm-dialog-btn-primary:hover{background:#ededed;border-color:#ededed}.confirm-dialog-btn-danger{background:#ae3d3d2e;border-color:#ae3d3d66;color:#ffd0d0}.confirm-dialog-btn-danger:hover{background:#ae3d3d42;border-color:#ae3d3d85}.confirm-dialog-btn:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}@media(max-width:640px){.confirm-dialog{padding:1.1rem}.confirm-dialog-actions{flex-direction:column-reverse}.confirm-dialog-btn{width:100%}}.image-gallery{padding:var(--spacing-lg) 0}.gallery-container{max-width:1400px;margin:0 auto;padding:0 var(--spacing-md)}.images-grid{display:grid;grid-template-columns:repeat(var(--gallery-columns, 3),minmax(0,1fr));gap:var(--spacing-md)}.image-item{position:relative;border-radius:var(--radius-xl);overflow:hidden;background:var(--color-bg-card);border:1px solid var(--color-border-primary);animation:fadeIn .45s ease-out}.image-frame{display:block;width:100%;padding:0;border:0;background:none;text-align:left;aspect-ratio:1;overflow:hidden;position:relative}.image-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#00000005,#00000038);opacity:0;transition:opacity var(--transition-normal);pointer-events:none}.image-frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--transition-normal),filter var(--transition-normal);filter:brightness(.92)}.image-item:hover .image-frame:after,.image-item:focus-within .image-frame:after{opacity:1}.image-item:hover .image-frame img,.image-item:focus-within .image-frame img{transform:scale(1.03);filter:brightness(1)}.image-frame:focus-visible,.image-action-btn:focus-visible,.lightbox-close:focus-visible,.lightbox-nav:focus-visible,.copy-btn:focus-visible,.edit-modal-close:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.image-overlay{position:absolute;inset:auto 0 0;padding:var(--spacing-md);background:linear-gradient(180deg,#0000,#000000d9);opacity:0;pointer-events:none;transition:opacity var(--transition-normal)}.image-item:hover .image-overlay,.image-item:focus-within .image-overlay{opacity:1}.image-info{color:#fff}.image-title{font-size:.95rem;font-weight:600;line-height:1.35}.image-description{margin-top:var(--spacing-xs);font-size:.78rem;line-height:1.45;color:#ffffffc7}.image-actions{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);display:flex;gap:var(--spacing-xs);opacity:0;transition:opacity var(--transition-normal)}.image-item:hover .image-actions,.image-item:focus-within .image-actions{opacity:1}.image-action-btn{width:2.2rem;height:2.2rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.24);background:#070707bd;color:#fff;backdrop-filter:blur(8px)}.image-action-btn:hover{background:#0e0e0eeb;border-color:#ffffff73}.image-action-btn.danger{border-color:#bf51515c;color:#ffd9d9}.image-action-btn.danger:hover{background:#451313eb;border-color:#bf515194}.gallery-empty{min-height:22rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);text-align:center;color:var(--color-text-secondary)}.gallery-empty-icon{opacity:.35}.gallery-empty h3{color:var(--color-text-primary);font-size:1.25rem}.lightbox-overlay,.edit-modal-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);background:#040404e6;backdrop-filter:blur(12px)}.lightbox-container{position:relative;width:min(100%,72rem);max-height:min(90vh,54rem);background:var(--color-bg-card);border:1px solid var(--color-border-primary);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 24px 80px #00000080}.lightbox-close,.edit-modal-close{width:2.4rem;height:2.4rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border-primary);border-radius:var(--radius-md);background:#101010d1;color:var(--color-text-primary)}.lightbox-close:hover,.edit-modal-close:hover{border-color:var(--color-border-hover);background:#1e1e1ef5}.lightbox-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);z-index:2}.lightbox-content{display:grid;grid-template-columns:minmax(0,1fr) 21rem;min-height:34rem}.lightbox-image-container{position:relative;background:#090909;display:flex;align-items:center;justify-content:center;min-height:24rem}.lightbox-image-container img{max-width:100%;max-height:min(78vh,44rem);object-fit:contain}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:2.8rem;height:2.8rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.18);background:#090909c2;color:#fff}.lightbox-nav:hover:not(:disabled){background:#141414f0;border-color:#ffffff5c}.lightbox-nav:disabled{opacity:.35}.lightbox-prev{left:var(--spacing-md)}.lightbox-next{right:var(--spacing-md)}.lightbox-info{padding:calc(var(--spacing-xl) + .5rem) var(--spacing-xl) var(--spacing-xl);border-left:1px solid var(--color-border-primary);display:flex;flex-direction:column;gap:var(--spacing-lg)}.lightbox-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md)}.lightbox-header h3{font-size:1.25rem;color:var(--color-text-primary);line-height:1.3}.lightbox-counter{padding:.35rem .55rem;border-radius:var(--radius-full);background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:.78rem;white-space:nowrap}.lightbox-description{color:var(--color-text-secondary);line-height:1.65}.lightbox-meta{display:flex;flex-direction:column;gap:var(--spacing-md)}.meta-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.meta-label{font-size:.85rem;color:var(--color-text-secondary)}.meta-link{display:flex;gap:var(--spacing-xs);align-items:stretch}.link-input{flex:1;min-width:0;padding:.8rem .95rem;border-radius:var(--radius-md);border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);color:var(--color-text-primary)}.copy-btn{padding:.8rem 1rem;border-radius:var(--radius-md);border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);color:var(--color-text-primary);white-space:nowrap}.copy-btn:hover{border-color:var(--color-border-hover);background:var(--color-bg-tertiary)}.edit-modal{width:min(100%,42rem);background:var(--color-bg-card);border:1px solid var(--color-border-primary);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 24px 70px #00000073}.edit-modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border-primary)}.edit-modal-header h3{color:var(--color-text-primary);font-size:1.1rem}.edit-modal-content{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.edit-preview{background:#090909;min-height:18rem;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg)}.edit-preview img{max-width:100%;max-height:18rem;object-fit:contain;border-radius:var(--radius-md)}.edit-form{padding:var(--spacing-xl);border-left:1px solid var(--color-border-primary)}.edit-form-copy{margin-bottom:var(--spacing-md);color:var(--color-text-secondary);font-size:.85rem;word-break:break-all}.edit-error{margin-bottom:var(--spacing-md);padding:.8rem .95rem;border-radius:var(--radius-md);border:1px solid rgba(174,61,61,.36);background:#ae3d3d1f;color:#ffd2d2;font-size:.9rem;line-height:1.5}.edit-form .form-group{margin-bottom:var(--spacing-lg)}.edit-form label{display:block;margin-bottom:var(--spacing-xs);color:var(--color-text-secondary);font-size:.85rem}.edit-form input,.edit-form textarea{width:100%;padding:.8rem .95rem;border-radius:var(--radius-md);border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);color:var(--color-text-primary);resize:vertical}.edit-form input:focus,.edit-form textarea:focus,.link-input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 2px #ffffff1f}.edit-modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--color-border-primary)}.gallery-modal-btn{min-height:2.75rem;padding:.78rem 1.1rem;border-radius:var(--radius-lg);border:1px solid var(--color-border-primary);font-size:.95rem;font-weight:600}.gallery-modal-btn-secondary{background:transparent;color:var(--color-text-secondary)}.gallery-modal-btn-secondary:hover{background:#ffffff0a;border-color:var(--color-border-hover);color:var(--color-text-primary)}.gallery-modal-btn-primary{background:#fff;border-color:#fff;color:#111}.gallery-modal-btn-primary:hover{background:#ececec;border-color:#ececec}.gallery-modal-btn:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}@media(max-width:960px){.images-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lightbox-content,.edit-modal-content{grid-template-columns:1fr}.lightbox-info,.edit-form{border-left:0;border-top:1px solid var(--color-border-primary)}}@media(max-width:640px){.gallery-container{padding:0 var(--spacing-sm)}.images-grid{grid-template-columns:1fr;gap:var(--spacing-sm)}.image-overlay,.image-actions{opacity:1}.lightbox-overlay,.edit-modal-overlay{padding:var(--spacing-sm)}.lightbox-container,.edit-modal{width:100%;max-height:100%}.lightbox-info,.edit-form,.edit-modal-header,.edit-modal-actions{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.meta-link,.edit-modal-actions{flex-direction:column}.copy-btn,.gallery-modal-btn{width:100%}}@media(prefers-reduced-motion:reduce){.image-item,.image-frame:after,.image-frame img,.image-overlay,.image-actions{animation:none;transition:none}}@media(prefers-contrast:high){.image-item,.image-frame,.lightbox-container,.edit-modal,.link-input,.copy-btn{border-width:2px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.shared-album-container{width:100%;max-width:1080px;margin:0 auto;padding:1.5rem 0 3rem;color:var(--color-text-primary)}.shared-album-header{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:2rem;padding:2rem;background:var(--color-bg-card);border:1px solid var(--color-border-primary);border-radius:var(--radius-xl)}.shared-album-badge{display:inline-flex;align-items:center;gap:.5rem;width:fit-content;padding:.45rem .8rem;border:1px solid var(--color-border-primary);border-radius:var(--radius-full);background:#ffffff08;color:var(--color-text-secondary);font-size:.85rem;font-weight:500}.shared-album-info h1{margin:0;font-size:clamp(2rem,4vw,3rem);line-height:1.1;color:var(--color-text-primary)}.shared-album-intro{margin:0 0 .75rem;color:var(--color-text-secondary);font-size:.95rem}.shared-album-description{max-width:760px;margin:.9rem 0 0;color:var(--color-text-secondary);font-size:1rem;line-height:1.7}.album-meta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.album-meta span{display:inline-flex;align-items:center;min-height:2.25rem;padding:.45rem .8rem;border:1px solid var(--color-border-primary);border-radius:var(--radius-full);background:#ffffff05;color:var(--color-text-secondary);font-size:.9rem}.album-actions{display:flex;align-items:center;gap:.75rem;margin-top:1.25rem}.shared-album-primary-btn,.shared-album-status,.shared-album-reload-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;padding:.7rem 1.15rem;border-radius:var(--radius-lg);font-size:.95rem;font-weight:600}.shared-album-primary-btn,.shared-album-reload-btn{background:#fff;color:#111;border:1px solid #ffffff;text-decoration:none}.shared-album-primary-btn:hover:not(:disabled),.shared-album-reload-btn:hover{background:#ededed;color:#111}.shared-album-primary-btn:disabled{opacity:.6;cursor:not-allowed}.shared-album-status{border:1px solid var(--color-border-primary);background:#ffffff0a;color:var(--color-text-primary)}.shared-album-link-btn{width:fit-content}.shared-album-helper{margin:0;color:var(--color-text-tertiary);font-size:.92rem;line-height:1.6}.shared-album-content{background:transparent}.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:3rem 1.5rem;background:var(--color-bg-card);border:1px solid var(--color-border-primary);border-radius:var(--radius-xl)}.error-icon,.empty-icon{margin-bottom:1rem;color:var(--color-text-tertiary)}.error-state h2,.empty-state h3{margin:0 0 .75rem;color:var(--color-text-primary)}.error-state p,.empty-state p{max-width:520px;margin:0;color:var(--color-text-secondary);line-height:1.7}.error-actions{margin-top:1.5rem}.shared-album-footer{display:flex;justify-content:center;margin-top:2rem}.shared-album-footer-link{color:var(--color-text-secondary);text-decoration:none;font-size:.95rem}.shared-album-footer-link:hover{color:var(--color-text-primary);text-decoration:none}.loading-spinner-small{width:16px;height:16px;border:2px solid rgba(17,17,17,.2);border-top:2px solid #111111;border-radius:50%;animation:shared-album-spin 1s linear infinite}@keyframes shared-album-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.shared-album-container{padding-top:1rem}.shared-album-header{padding:1.25rem}.album-actions{flex-direction:column;align-items:stretch}.shared-album-primary-btn,.shared-album-status,.shared-album-reload-btn,.shared-album-link-btn{width:100%}}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg-primary)}.app-main{flex:1;width:100%;max-width:1400px;margin:64px auto 0;padding:var(--spacing-lg) var(--spacing-md)}.page-container{max-width:1200px;margin:0 auto;padding:var(--spacing-xl) 0}.page-title{font-size:2.5rem;font-weight:700;color:var(--color-text-primary);text-align:center;margin-bottom:var(--spacing-2xl);position:relative}.page-title:after{content:"";position:absolute;bottom:-var(--spacing-md);left:50%;transform:translate(-50%);width:60px;height:2px;background:var(--color-accent);border-radius:1px}.page-subtitle{font-size:1.125rem;color:var(--color-text-secondary);text-align:center;margin-bottom:var(--spacing-2xl);max-width:600px;margin-left:auto;margin-right:auto}.card{background:var(--color-bg-card);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-normal);position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.02) 0%,transparent 50%);pointer-events:none}.card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-primary)}.card-title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.card-description{color:var(--color-text-secondary);line-height:1.6}.card-content{margin-bottom:var(--spacing-lg)}.card-footer{padding-top:var(--spacing-md);border-top:1px solid var(--color-border-primary);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:var(--spacing-md)}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-border-primary);border-top:3px solid var(--color-accent);border-radius:50%;animation:spin 1s linear infinite}.loading-text{color:var(--color-text-secondary);font-size:.875rem}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:var(--spacing-md);text-align:center}.error-icon{width:64px;height:64px;color:var(--color-text-muted)}.error-title{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.error-message{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);max-width:400px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:40vh;gap:var(--spacing-md);text-align:center;padding:var(--spacing-2xl)}.empty-icon{font-size:4rem;opacity:.3;margin-bottom:var(--spacing-md)}.empty-title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.empty-description{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);max-width:400px}.app-footer{margin-top:auto;padding:var(--spacing-2xl) 0;border-top:1px solid var(--color-border-primary);background:var(--color-bg-secondary)}.app-footer .container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md);text-align:center}.app-footer .footer-content{margin-bottom:var(--spacing-md)}.app-footer .footer-text{color:var(--color-text-muted);margin-bottom:var(--spacing-md);font-size:.875rem}.app-footer .footer-text strong{color:var(--color-text-secondary)}.app-footer .footer-links{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);flex-wrap:wrap}.app-footer .footer-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-tertiary);text-decoration:none;font-size:.875rem;transition:var(--transition-fast)}.app-footer .footer-link:hover{color:var(--color-text-primary)}.app-footer .footer-separator{color:var(--color-text-muted);font-size:.875rem}.app-footer .footer-version{color:var(--color-text-muted);font-size:.875rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace}@media(max-width:768px){.app-main{margin-top:56px;padding:var(--spacing-md) var(--spacing-sm)}.page-title{font-size:2rem}.page-subtitle{font-size:1rem}.card{padding:var(--spacing-md)}.card-footer{flex-direction:column;align-items:stretch}.empty-state{padding:var(--spacing-lg)}.empty-icon{font-size:3rem}}@media(max-width:480px){.page-title{font-size:1.75rem}.app-footer{padding:var(--spacing-lg) 0}.app-footer .footer-links{flex-direction:column;gap:var(--spacing-sm)}.card{padding:var(--spacing-sm)}}.page-enter{opacity:0;transform:translateY(20px)}.page-enter-active{opacity:1;transform:translateY(0);transition:all var(--transition-normal)}.page-exit{opacity:1;transform:translateY(0)}.page-exit-active{opacity:0;transform:translateY(-20px);transition:all var(--transition-normal)}.focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.selected{background:#ffffff1a;border-color:var(--color-border-focus)}.disabled{opacity:.5;pointer-events:none;cursor:not-allowed}.image-frame{border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);overflow:hidden;transition:all var(--transition-normal)}.image-frame:hover{border-color:#ffffff4d;box-shadow:var(--shadow-glow);transform:scale(1.02)}.button-group{display:flex;gap:var(--spacing-sm);align-items:center}.button-group button{flex:1}@media(max-width:480px){.button-group{flex-direction:column}.button-group button{width:100%}}.responsive-grid{display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}@media(max-width:640px){.responsive-grid{grid-template-columns:1fr;gap:var(--spacing-sm)}}.brand-section{text-align:center;padding:var(--spacing-3xl) 0}.brand-title{font-size:3rem;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--spacing-sm);letter-spacing:-.02em}.brand-tagline{font-size:1.125rem;color:var(--color-text-secondary);font-weight:300}@media(max-width:768px){.brand-title{font-size:2.5rem}.brand-tagline{font-size:1rem}}.stats-section{display:flex;justify-content:center;gap:var(--spacing-2xl);padding:var(--spacing-xl) 0;border-top:1px solid var(--color-border-primary)}.stat-item{text-align:center}.stat-number{font-size:2rem;font-weight:700;color:var(--color-text-primary);display:block}.stat-label{font-size:.875rem;color:var(--color-text-muted);margin-top:var(--spacing-xs)}@media(max-width:640px){.stats-section{flex-direction:column;gap:var(--spacing-lg)}.stat-number{font-size:1.5rem}}
