*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}.header{z-index:1000;background:transparent;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.header--sticky{position:sticky;top:0}.logo-content{display:flex;align-items:center;gap:.5rem}.logo-image{height:clamp(calc(48px * var(--logo-scale, 1) * var(--logo-min-size, 50) / 100),calc(3.5vw * var(--logo-scale, 1)),calc(48px * var(--logo-scale, 1)));width:auto;max-width:100%;object-fit:contain;display:block;background:transparent;opacity:var(--logo-opacity, 1);filter:drop-shadow(0 2px 4px rgba(0,0,0,calc(.5 * var(--logo-shadow, 0))))}.logo-image--colored{aspect-ratio:4.76;background-color:var(--logo-color, #000);-webkit-mask-image:var(--logo-url);mask-image:var(--logo-url);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.header-container{max-width:1400px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;position:relative}.header-container .nav-desktop{position:absolute;left:50%;transform:translate(-50%)}.logo{text-decoration:none;color:var(--text-primary);font-family:var(--font-heading);font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:.5rem;transition:all var(--transition-normal)}.logo-icon{font-size:2rem;filter:drop-shadow(0 0 10px rgba(102,126,234,.5))}.logo-text{background:linear-gradient(135deg,var(--primary-gradient-start),var(--primary-gradient-end));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-desktop{display:flex;gap:2rem;align-items:center}.nav-link{color:var(--text-secondary);text-decoration:none;font-weight:500;font-size:1rem;padding:.5rem 1rem;border-radius:var(--border-radius-md);transition:all var(--transition-normal);position:relative}.nav-link:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%) scaleX(0);width:80%;height:2px;background:linear-gradient(90deg,var(--primary-gradient-start),var(--primary-gradient-end));transition:transform var(--transition-normal)}.nav-link:hover{color:var(--text-primary)}.nav-link:hover:after,.nav-link.active:after{transform:translate(-50%) scaleX(1)}.nav-link.active{color:var(--text-primary)}.header-controls{display:flex;gap:1rem;align-items:center}.language-selector{position:relative;display:inline-flex;align-self:center;margin-top:-1.8rem}.language-selector__trigger{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--background-card);border:1px solid var(--border);border-radius:var(--border-radius-md);cursor:pointer;transition:all .2s ease;font-size:.8rem;font-weight:500;color:var(--text-primary);box-shadow:0 1px 3px #0000000d}.language-selector__trigger:hover{border-color:var(--border-hover);background:var(--background-card-hover);box-shadow:0 2px 8px #00000014}.language-selector__trigger:focus-visible{outline:2px solid var(--primary-gradient-start, #667eea);outline-offset:1px}.language-selector__flag{width:20px;height:10px;flex-shrink:0;border-radius:2px;box-shadow:inset 0 0 0 1px #00000014}.language-selector__code{font-family:var(--font-mono, monospace);font-size:.75rem;font-weight:600;letter-spacing:.3px;min-width:20px;text-align:center}.language-selector__chevron{width:12px;height:12px;color:var(--text-secondary);transition:transform .2s ease;flex-shrink:0;margin-left:2px}.language-selector__chevron.open{transform:rotate(180deg)}.language-selector__dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:140px;background:var(--background-card);border:1px solid var(--border);border-radius:var(--border-radius-md);box-shadow:0 4px 12px #0000001f,0 2px 4px #00000014;overflow:hidden;z-index:1001;animation:langDropdownFade .15s ease-out}@keyframes langDropdownFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.language-selector__option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;background:transparent;color:var(--text-secondary);font-size:.85rem;font-weight:500;text-align:left;cursor:pointer;transition:all .15s ease}.language-selector__option:hover{background:var(--background-card-hover);color:var(--text-primary)}.language-selector__option:focus-visible{outline:2px solid var(--primary-gradient-start, #667eea);outline-offset:-2px}.language-selector__option-flag{width:20px;height:10px;flex-shrink:0;border-radius:2px;box-shadow:inset 0 0 0 1px #00000014}.language-selector__option-name{font-weight:500}.control-button,.language-toggle{display:none}.language-flag{font-size:1.2rem}.language-code-old{font-family:var(--font-mono)}.theme-selector{position:relative}.theme-icon{font-size:1.2rem}.theme-menu{position:absolute;top:calc(100% + .5rem);right:0;background:var(--background-secondary);border:1px solid var(--border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);overflow:hidden;min-width:200px;z-index:1001}.theme-option{width:100%;padding:.75rem 1rem;background:transparent;border:none;color:var(--text-secondary);text-align:left;cursor:pointer;font-size:.9rem;transition:all var(--transition-fast);border-bottom:1px solid var(--border)}.theme-option:last-child{border-bottom:none}.theme-option:hover{background:var(--background-card-hover);color:var(--text-primary)}.theme-option.active{background:linear-gradient(90deg,var(--primary-gradient-start),var(--primary-gradient-end));color:#fff;font-weight:600}.mobile-menu-toggle{display:none;flex-direction:column;gap:.25rem;background:transparent;border:none;cursor:pointer;padding:.5rem}.mobile-menu-toggle span{width:24px;height:2px;background:var(--text-primary);transition:all var(--transition-normal)}.nav-mobile{display:none}.nav-mobile .nav-link{padding:1rem;border-radius:var(--border-radius-md)}@media (max-width: 768px){.header-container{padding:1rem}.nav-desktop{display:none}.mobile-menu-toggle{display:flex}.nav-mobile{display:flex;flex-direction:column;gap:.5rem;background:var(--background);border-top:1px solid var(--border);overflow:hidden;max-height:0;padding-top:0;padding-bottom:0;padding-left:2rem;padding-right:2rem;opacity:0;pointer-events:none;transition:max-height .3s cubic-bezier(.4,0,.2,1),padding-top .3s cubic-bezier(.4,0,.2,1),padding-bottom .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1)}.nav-mobile--open{max-height:300px;padding-top:1rem;padding-bottom:1rem;opacity:1;pointer-events:auto}.mobile-menu-toggle[aria-expanded=true] span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.mobile-menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.mobile-menu-toggle[aria-expanded=true] span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.logo-text{display:none}.language-selector{margin-top:0}.language-selector__trigger{padding:5px 8px;gap:5px}.language-selector__flag{width:18px;height:9px}.language-selector__code{font-size:.7rem;min-width:18px}.language-selector__chevron{width:10px;height:10px}.language-selector__dropdown{min-width:130px;right:0}.language-selector__option{padding:8px 12px;font-size:.8rem}.language-code-old{display:none}.control-button{padding:.5rem}}@media (max-width: 480px){.header-container{padding:.75rem}.logo{font-size:1.25rem}.logo-icon{font-size:1.5rem}}.footer{width:100%;padding:2rem 0;background:transparent;border-top:1px solid var(--border)}.footer-content{max-width:1400px;margin:0 auto;padding:0 2rem;text-align:center}.copyright-text{margin:0;font-size:.875rem;color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.025em}.footer-link{color:var(--text-secondary);text-decoration:none;font-weight:600;transition:all var(--transition-fast);position:relative}.footer-link:hover{color:var(--accent)}.footer-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--accent);transition:width var(--transition-normal)}.footer-link:hover:after{width:100%}@media (max-width: 768px){.footer{padding:1.5rem 0}.footer-content{padding:0 1rem}.copyright-text{font-size:.8rem}}@media (max-width: 480px){.copyright-text{font-size:.75rem}}.page-loader-spinner{width:40px;height:40px;border:3px solid #ccc;border-top-color:#333;border-radius:50%;animation:page-loader-spin .8s linear infinite}@keyframes page-loader-spin{to{transform:rotate(360deg)}}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-primary);background:var(--background);background-attachment:fixed;background-size:100% 100vh;color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;width:100%}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:1.2}a{color:var(--accent);transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}button{font-family:var(--font-primary)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--background);border-radius:var(--border-radius-full)}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--primary-gradient-start),var(--primary-gradient-end));border-radius:var(--border-radius-full);border:2px solid var(--background)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,var(--primary-gradient-end),var(--primary-gradient-start))}::selection{background:var(--primary-gradient-start);color:#fff}::-moz-selection{background:var(--primary-gradient-start);color:#fff}img{max-width:100%;height:auto;display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideLeft{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideRight{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-in{animation:fadeIn var(--transition-normal)}.slide-up{animation:slideUp var(--transition-normal)}.slide-down{animation:slideDown var(--transition-normal)}.slide-left{animation:slideLeft var(--transition-normal)}.slide-right{animation:slideRight var(--transition-normal)}.loading{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:var(--accent);animation:spin 1s linear infinite}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}*:focus-visible{outline:2px solid var(--primary-gradient-start);outline-offset:2px}@media print{.header,.back-button,.filter-section,.contact-form{display:none}body{background:#fff;color:#000}.painting-card,.detail-container{break-inside:avoid}}@media (max-width: 768px){html{font-size:15px}}@media (max-width: 480px){html{font-size:14px}}@media (prefers-contrast: high){:root{--border: rgba(255, 255, 255, .3);--border-hover: rgba(255, 255, 255, .5)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
