*{margin:0;padding:0}body{background-color:#f8f9fa;color:#202122;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}#root{min-height:100vh}:root{--bg-primary:#faf9f6;--bg-secondary:#f5f3f0;--bg-tertiary:#efede8;--bg-card:#fff;--text-primary:#1a1a1a;--text-secondary:#4a4a4a;--text-tertiary:#8a8a8a;--text-muted:#b8b8b8;--accent-gold:#c9a961;--accent-gold-light:#d4b97a;--accent-gold-dark:#a68b4f;--accent-brass:#b8a082;--accent-malachite:#0dbb7c;--accent-malachite-light:#2dd99f;--accent-malachite-dark:#0a9d68;--accent-malachite-subtle:#0dbb7c1a;--accent-malachite-border:#0dbb7c4d;--accent-aquamarine:#7fd8be;--accent-aquamarine-light:#9fe5d1;--accent-aquamarine-dark:#5fc4a5;--accent-aquamarine-subtle:#7fd8be1a;--accent-aquamarine-border:#7fd8be4d;--accent-royal-blue:#4169e1;--accent-royal-blue-light:#6b8eff;--accent-royal-blue-dark:#2e4fc7;--accent-royal-blue-subtle:#4169e11a;--accent-royal-blue-border:#4169e14d;--border-subtle:#00000014;--border-medium:#00000026;--border-gold:#c9a9614d;--shadow-sm:0 1px 3px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--shadow-gold:0 2px 8px #c9a96126;--shadow-malachite:0 2px 8px #0dbb7c26;--shadow-aquamarine:0 2px 8px #7fd8be26;--shadow-royal-blue:0 2px 8px #4169e126;--spacing-xs:8px;--spacing-sm:16px;--spacing-md:24px;--spacing-lg:32px;--spacing-xl:40px;--spacing-2xl:48px;--spacing-3xl:64px;--spacing-4xl:80px;--font-serif:"Playfair Display","Cormorant Garamond","EB Garamond","Georgia",serif;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto",sans-serif;--transition:all 0.3s cubic-bezier(0.4,0,0.2,1);--transition-fast:all 0.2s ease}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#faf9f6;background-color:var(--bg-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-size:16px;line-height:1.6}body,h1,h2,h3,h4,h5,h6{color:#1a1a1a;color:var(--text-primary);font-weight:400;margin:0}h1,h2,h3,h4,h5,h6{font-family:Playfair Display,Cormorant Garamond,EB Garamond,Georgia,serif;font-family:var(--font-serif);letter-spacing:-.01em;line-height:1.2}h1{font-size:3.5rem;letter-spacing:-.02em}h1,h2{font-weight:400}h2{font-size:2.5rem}h3{font-size:1.875rem}h3,h4{font-weight:500}h4{font-size:1.5rem}h5{font-size:1.25rem}h5,h6{font-weight:600}h6{font-size:1rem}p{color:#1a1a1a;color:var(--text-primary);font-size:1rem;line-height:1.6;margin:0}.button,p{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans)}.button{background-color:#1a1a1a;background-color:var(--text-primary);border:1px solid #1a1a1a;border:1px solid var(--text-primary);border-radius:0;color:#faf9f6;color:var(--bg-primary);cursor:pointer;display:inline-block;font-size:14px;font-weight:500;letter-spacing:.5px;padding:14px 32px;text-decoration:none;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.button:hover{background-color:#2a2a2a;border-color:#c9a961;border-color:var(--accent-gold)}.button:active{transform:translateY(1px)}.button-secondary{background-color:initial;border-color:#00000026;border-color:var(--border-medium);color:#1a1a1a;color:var(--text-primary)}.button-secondary:hover{background-color:#f5f3f0;background-color:var(--bg-secondary)}.button-gold,.button-secondary:hover{border-color:#c9a961;border-color:var(--accent-gold)}.button-gold{background-color:#c9a961;background-color:var(--accent-gold);color:#faf9f6;color:var(--bg-primary)}.button-gold:hover{background-color:#a68b4f;background-color:var(--accent-gold-dark);border-color:#a68b4f;border-color:var(--accent-gold-dark)}.button:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.card{background-color:#fff;background-color:var(--bg-card);border:1px solid #00000014;border:1px solid var(--border-subtle);border-radius:0;box-shadow:0 1px 3px #0000000d;box-shadow:var(--shadow-sm);padding:40px;padding:var(--spacing-xl);transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.card:hover{border-color:#c9a9614d;border-color:var(--border-gold);box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-md);transform:translateY(-2px)}.input{background-color:#fff;background-color:var(--bg-card);border:1px solid #00000026;border:1px solid var(--border-medium);border-radius:0;box-sizing:border-box;color:#1a1a1a;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-size:16px;font-weight:400;padding:14px 16px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:100%}.input:focus{border:2px solid #c9a961;border:2px solid var(--accent-gold);outline:none;padding:13px 15px}.input::placeholder{color:#b8b8b8;color:var(--text-muted)}a{border-bottom:1px solid #0000;color:#1a1a1a;color:var(--text-primary);text-decoration:none;transition:all .2s ease;transition:var(--transition-fast)}a:hover{border-bottom-color:#c9a961;border-bottom-color:var(--accent-gold)}.text-gold,a:hover{color:#c9a961;color:var(--accent-gold)}.text-muted{color:#8a8a8a;color:var(--text-tertiary)}.border-gold{border-color:#c9a9614d!important;border-color:var(--border-gold)!important}.bg-secondary{background-color:#f5f3f0;background-color:var(--bg-secondary)}@media (max-width:768px){h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}}@media (max-width:480px){h1{font-size:2rem}h2{font-size:1.75rem}}.login-container{align-items:center;background-color:var(--bg-primary);display:flex;justify-content:center;min-height:100vh;padding:var(--spacing-md)}.login-box{background-color:var(--bg-card);border:1px solid var(--border-subtle);box-shadow:var(--shadow-md);max-width:400px;padding:var(--spacing-2xl);width:100%}.login-title{color:var(--text-primary);font-family:var(--font-serif);font-size:2.5rem;letter-spacing:-.02em;margin:0 0 var(--spacing-xs) 0}.login-subtitle,.login-title{font-weight:400;text-align:center}.login-subtitle{color:var(--text-secondary);font-family:var(--font-sans);font-size:1.1rem;margin:0 0 var(--spacing-lg) 0}.login-error{background-color:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-family:var(--font-sans);font-size:14px;padding:var(--spacing-sm)}.form-group,.login-error,.login-form{margin-bottom:var(--spacing-md)}.form-group label{display:block;font-size:14px;font-weight:500;margin-bottom:var(--spacing-xs)}.form-group input,.form-group label{color:var(--text-primary);font-family:var(--font-sans)}.form-group input{background-color:var(--bg-card);border:1px solid var(--border-medium);border-radius:0;box-sizing:border-box;font-size:16px;padding:14px 16px;transition:var(--transition);width:100%}.form-group input:focus{border:2px solid var(--accent-gold);outline:none;padding:13px 15px}.form-group input:disabled{background-color:var(--bg-secondary);cursor:not-allowed;opacity:.6}.login-button{background-color:var(--text-primary);border:1px solid var(--text-primary);border-radius:0;color:var(--bg-primary);cursor:pointer;font-family:var(--font-sans);font-size:14px;font-weight:500;letter-spacing:.5px;padding:14px 32px;text-transform:uppercase;transition:var(--transition);width:100%}.login-button:hover:not(:disabled){background-color:#2a2a2a;border-color:var(--accent-gold)}.login-button:active:not(:disabled){transform:translateY(1px)}.login-button:disabled{cursor:not-allowed;opacity:.5}.login-info{color:var(--text-secondary);font-family:var(--font-sans);font-size:14px;line-height:1.6;margin:0;text-align:center}.login-info small{color:var(--text-tertiary);display:block;font-size:12px;margin-top:var(--spacing-xs)}.home-container{background-color:var(--bg-primary);display:flex;flex-direction:column;min-height:100vh}.home-header{background-color:var(--bg-card);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);padding:var(--spacing-md) var(--spacing-lg)}.home-header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px}.home-title{color:var(--text-primary);font-family:var(--font-serif);font-size:2rem;font-weight:400;letter-spacing:-.02em;margin:0}.user-info{align-items:center;display:flex;gap:var(--spacing-sm)}.user-name{color:var(--text-secondary)}.logout-button,.user-name{font-family:var(--font-sans);font-size:14px}.logout-button{background-color:initial;border:1px solid var(--border-medium);border-radius:0;color:var(--text-primary);cursor:pointer;font-weight:500;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase;transition:var(--transition)}.logout-button:hover{background-color:var(--bg-secondary);border-color:var(--accent-gold)}.home-main{flex:1 1;margin:0 auto;max-width:1200px;padding:var(--spacing-3xl) var(--spacing-md);width:100%}.categories-title{color:var(--text-primary);font-family:var(--font-serif);font-size:2.5rem;font-weight:400;letter-spacing:-.01em;margin:0 0 var(--spacing-2xl) 0;text-align:center}.categories-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 auto;max-width:800px}.category-card{background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:0;box-shadow:var(--shadow-sm);cursor:pointer;padding:var(--spacing-xl);text-align:center;transition:var(--transition)}.category-card:hover{border-color:var(--border-gold);box-shadow:var(--shadow-md);transform:translateY(-4px)}.category-icon{align-items:center;display:flex;justify-content:center;margin-bottom:var(--spacing-md)}.category-icon,.category-icon svg{transition:var(--transition)}.category-card:hover .category-icon svg{stroke:var(--accent-gold);transform:scale(1.05)}.category-name{color:var(--text-primary);font-family:var(--font-serif);font-size:1.5rem;font-weight:500;margin:0 0 var(--spacing-sm) 0}.category-description{color:var(--text-secondary);font-family:var(--font-sans);font-size:14px;line-height:1.6;margin:0}.home-footer{background-color:var(--bg-card);border-top:1px solid var(--border-subtle);color:var(--text-tertiary);padding:var(--spacing-md);text-align:center}.home-footer p{font-size:14px;margin:0}.home-footer p,.loading{font-family:var(--font-sans)}.loading{color:var(--text-secondary);font-size:18px;padding:var(--spacing-3xl) var(--spacing-md);text-align:center}@media (max-width:768px){.home-header-content{flex-direction:column;gap:var(--spacing-sm);text-align:center}.user-info{flex-direction:column;gap:var(--spacing-xs)}.categories-title{font-size:2rem}.categories-grid{gap:var(--spacing-md);grid-template-columns:1fr}.category-card{padding:var(--spacing-lg)}}.module{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:0;box-shadow:var(--shadow-sm);overflow:visible;padding:clamp(28px,3vw,40px);position:relative;transform:none;transition:var(--transition);width:100%}.module:hover{border-color:var(--border-gold);box-shadow:var(--shadow-md);transform:translateY(-2px)}.module-header{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.module-header h2{color:var(--text-primary);font-family:var(--font-serif);font-size:2em;font-weight:400;letter-spacing:-.02em;margin:0}.module-badge{background:var(--accent-gold);border-radius:0;box-shadow:var(--shadow-gold);color:var(--bg-primary);font-family:var(--font-sans);font-size:.75em;font-weight:500;letter-spacing:.5px;padding:6px 16px;text-transform:uppercase;transition:var(--transition)}.module-badge:hover{background:var(--accent-gold-dark);transform:scale(1.05)}.module-badge.active{background:var(--accent-gold-dark);box-shadow:var(--shadow-gold)}.module-content{min-height:200px}.themes-container{padding:8px 0}.placeholder-text{color:var(--text-tertiary);font-family:var(--font-sans);font-size:1em;font-style:normal;font-weight:400;padding:60px 20px;text-align:center}.themes-list{list-style:none;margin:0;padding:0}.theme-item{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:0;cursor:pointer;margin-bottom:12px;padding:20px 24px;transition:var(--transition)}.theme-item:hover{background:var(--bg-secondary);border-color:var(--border-gold);box-shadow:var(--shadow-sm);transform:translateX(4px)}.theme-item:last-child{margin-bottom:0}.theme-content{display:flex;flex-direction:column;gap:14px}.theme-title{color:var(--text-primary);display:block;font-size:1.05em;-webkit-hyphens:none;hyphens:none;letter-spacing:-.01em;line-height:1.5;overflow-wrap:break-word;word-break:normal}.theme-summary-link,.theme-title{font-family:var(--font-sans);font-weight:500}.theme-summary-link{align-self:flex-start;background:none;border:none;color:var(--accent-gold);cursor:pointer;font-size:.9em;padding:0;text-align:left;text-decoration:none;transition:var(--transition)}.theme-summary-link:after{color:var(--accent-gold);content:"→";display:inline-block;margin-left:8px;transition:transform .3s ease}.theme-summary-link:hover{color:var(--accent-gold-dark)}.theme-summary-link:hover:after{color:var(--accent-gold-dark);transform:translateX(4px)}.themes-carousel-container{background:var(--bg-primary);border-radius:0;margin:0;padding:var(--spacing-md);position:relative;width:100%}.themes-carousel-wrapper{overflow:hidden;position:relative;width:100%}.themes-carousel{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;display:flex;gap:24px;overflow-x:auto;overflow-y:hidden;padding:0;perspective:1000px;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-width:none}.themes-carousel::-webkit-scrollbar{display:none}.themes-cards{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr);padding:8px 0;perspective:1000px;width:100%}.theme-card{background:#0000;border:none;border-radius:0;cursor:pointer;flex-shrink:0;height:auto;min-height:400px;position:relative;scroll-snap-align:start;transition:transform .4s cubic-bezier(.25,.46,.45,.94),opacity .3s ease,filter .3s ease,box-shadow .3s ease;width:calc(25% - 18px);width:calc((100% - (var(--cards-per-page, 4) - 1)*24px)/var(--cards-per-page, 4))}.theme-card:hover:not(.flipped){filter:brightness(1.05);transform:translateY(-6px) scale(1.02)}.themes-carousel:not(:hover) .theme-card{transition:transform .6s cubic-bezier(.25,.46,.45,.94),opacity .4s ease}.theme-card-inner{height:100%;min-height:inherit;position:relative;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.25,.46,.45,.94);width:100%}.theme-card.flipped .theme-card-inner{transform:rotateY(180deg)}.theme-card-back,.theme-card-front{align-items:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid var(--border-subtle);border-radius:0;box-shadow:var(--shadow-sm);box-sizing:border-box;display:flex;height:100%;justify-content:center;padding:clamp(20px,3vw,32px);position:absolute;width:100%}.theme-card-front{background:var(--bg-card);z-index:2}.theme-card-back{background:var(--bg-card);transform:rotateY(180deg);transition:box-shadow .3s ease,border-color .3s ease;z-index:1}.theme-card.flipped .theme-card-back{border-color:var(--border-gold);box-shadow:var(--shadow-gold)}.theme-card-content{align-items:center;display:flex;flex-direction:column;gap:20px;height:100%;justify-content:center;padding:20px;text-align:center;width:100%}.theme-card-back .theme-card-content{gap:0;padding:0}.theme-card-title{word-wrap:break-word;color:var(--text-primary);font-family:var(--font-serif);font-size:clamp(.95rem,1.8vw,1.1rem);font-weight:500;-webkit-hyphens:none;hyphens:none;letter-spacing:-.01em;line-height:1.35;margin:0;overflow-wrap:break-word;word-break:normal}.theme-card-hint{color:var(--text-tertiary);font-family:var(--font-sans);font-size:.85em;opacity:.7;transition:opacity .3s ease}.theme-card:hover .theme-card-hint{color:var(--accent-gold);opacity:1}.theme-card-loading{animation:pulse 1.5s ease-in-out infinite;color:var(--accent-gold);font-family:var(--font-sans);font-size:.9em;font-style:italic;margin:0}.theme-card-image-container{align-items:center;background:var(--bg-secondary);border-radius:0;display:flex;height:100%;justify-content:center;left:0;overflow:hidden;position:absolute;top:0;width:100%}.theme-card-image{height:100%;object-fit:cover;object-position:center;transition:transform .3s ease;width:100%}.theme-card.flipped .theme-card-image{transform:scale(1.05)}.theme-card-back .theme-card-content:has(.theme-card-image-container) .theme-card-loading{display:none}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.carousel-button{align-items:center;background:var(--accent-malachite);border:1px solid var(--accent-malachite-border);border-radius:0;box-shadow:var(--shadow-malachite);color:var(--bg-primary);cursor:pointer;display:flex;font-size:1.5em;font-weight:700;height:52px;justify-content:center;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:var(--transition);width:52px;z-index:20}.themes-carousel-container:hover .carousel-button{animation:slide-in .4s cubic-bezier(.25,.46,.45,.94) forwards;opacity:1;pointer-events:all}@keyframes slide-in{0%{opacity:0;transform:translateY(-50%) scale(.8)}to{opacity:1;transform:translateY(-50%) scale(1)}}.carousel-button-left{left:8px}.carousel-button-right{right:8px}.carousel-button:hover{background:var(--accent-malachite-dark);border-color:var(--accent-malachite-dark);box-shadow:var(--shadow-malachite);transform:translateY(-50%) scale(1.1)}.carousel-button:active{box-shadow:var(--shadow-sm);transform:translateY(-50%) scale(1.05)}.carousel-button:disabled{background:var(--bg-secondary);cursor:not-allowed;opacity:.2;pointer-events:none}@media (min-width:1800px){.theme-card{min-height:450px}.themes-carousel{gap:24px}}@media (min-width:1400px) and (max-width:1799px){.theme-card{min-height:420px}.themes-carousel{gap:24px}}@media (min-width:1024px) and (max-width:1399px){.theme-card{min-height:380px}.themes-carousel{gap:24px}}@media (min-width:768px) and (max-width:1023px){.theme-card{min-height:320px}.themes-carousel{gap:20px}}@media (max-width:767px){.module{border-radius:0;padding:clamp(24px,4vw,32px)}.theme-card{min-height:280px}.themes-carousel{gap:16px}.theme-card-back,.theme-card-front{padding:clamp(16px,4vw,24px)}.module-header h2{font-size:clamp(1.5em,4vw,1.75em)}.carousel-button{font-size:1.2em;height:40px;width:40px}}@media (max-width:480px){.theme-card{min-height:260px}.theme-card-title{font-size:clamp(.85rem,3.5vw,1rem);line-height:1.3}.carousel-button{font-size:1em;height:36px;width:36px}.carousel-button-left{left:4px}.carousel-button-right{right:4px}}.product-carousel-container{isolation:isolate;margin:0 auto;max-width:100%;padding:var(--spacing-md) var(--spacing-xl) var(--spacing-xl);perspective:1200px;position:relative;width:100%}.carousel-info{margin-bottom:var(--spacing-md);text-align:center}.carousel-counter{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:0;color:var(--text-secondary);display:inline-block;font-family:var(--font-sans);font-size:.85em;font-weight:500;padding:6px 16px}.carousel-wrapper{align-items:center;display:flex;height:550px;justify-content:center;margin-bottom:var(--spacing-xl);min-height:550px;perspective:1200px;perspective-origin:50%;position:relative;width:100%}.carousel-card{left:50%;max-width:550px;position:absolute;top:50%;transform:translate(-50%,-50%);transition:transform .8s cubic-bezier(.4,0,.2,1),opacity .8s cubic-bezier(.4,0,.2,1),filter .8s cubic-bezier(.4,0,.2,1);will-change:transform,opacity,filter}.carousel-card,.carousel-card-inner{backface-visibility:hidden;-webkit-backface-visibility:hidden;height:100%;transform-style:preserve-3d;width:100%}.carousel-card-inner{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:0;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;min-height:550px;overflow-x:hidden;overflow-y:auto;padding:var(--spacing-xl);position:relative;transition:box-shadow .8s cubic-bezier(.4,0,.2,1),border-color .8s cubic-bezier(.4,0,.2,1);will-change:box-shadow,border-color}.carousel-card-current{filter:brightness(1) blur(0);opacity:1;transform:translate(-50%,-50%) translateX(0) translateZ(0) rotateY(0deg);z-index:3}.carousel-card-current .carousel-card-inner{border-color:var(--border-gold);box-shadow:var(--shadow-md),0 0 0 1px var(--border-gold) inset}.carousel-card-current.swiveling-next{animation:swivelNext .8s cubic-bezier(.4,0,.2,1) forwards}.carousel-card-current.swiveling-prev{animation:swivelPrev .8s cubic-bezier(.4,0,.2,1) forwards}.carousel-card-next{filter:brightness(.7) blur(2px);opacity:.5;pointer-events:none;transform:translate(-50%,-50%) translateX(60%) translateZ(-200px) rotateY(-25deg) scale(.85);z-index:1}.carousel-card-next .carousel-card-inner{border-color:var(--border-subtle);box-shadow:var(--shadow-sm)}.carousel-card-next.swiveling{animation:nextCardMoveIn .8s cubic-bezier(.4,0,.2,1) forwards}.carousel-card-prev{filter:brightness(.7) blur(2px);opacity:.5;pointer-events:none;transform:translate(-50%,-50%) translateX(-60%) translateZ(-200px) rotateY(25deg) scale(.85);z-index:1}.carousel-card-prev .carousel-card-inner{border-color:var(--border-subtle);box-shadow:var(--shadow-sm)}.carousel-card-prev.swiveling{animation:prevCardMoveIn .8s cubic-bezier(.4,0,.2,1) forwards}@keyframes swivelNext{0%{filter:brightness(1) blur(0);opacity:1;transform:translate(-50%,-50%) translateX(0) translateZ(0) rotateY(0deg) scale(1)}30%{filter:brightness(.9) blur(1px);opacity:.9;transform:translate(-50%,-50%) translateX(-15%) translateZ(-50px) rotateY(20deg) scale(.95)}70%{filter:brightness(.75) blur(1.5px);opacity:.6;transform:translate(-50%,-50%) translateX(-45%) translateZ(-150px) rotateY(35deg) scale(.88)}to{filter:brightness(.7) blur(2px);opacity:.5;transform:translate(-50%,-50%) translateX(-60%) translateZ(-200px) rotateY(25deg) scale(.85)}}@keyframes swivelPrev{0%{filter:brightness(1) blur(0);opacity:1;transform:translate(-50%,-50%) translateX(0) translateZ(0) rotateY(0deg) scale(1)}30%{filter:brightness(.9) blur(1px);opacity:.9;transform:translate(-50%,-50%) translateX(15%) translateZ(-50px) rotateY(-20deg) scale(.95)}70%{filter:brightness(.75) blur(1.5px);opacity:.6;transform:translate(-50%,-50%) translateX(45%) translateZ(-150px) rotateY(-35deg) scale(.88)}to{filter:brightness(.7) blur(2px);opacity:.5;transform:translate(-50%,-50%) translateX(60%) translateZ(-200px) rotateY(-25deg) scale(.85)}}@keyframes nextCardMoveIn{0%{filter:brightness(.7) blur(2px);opacity:.5;transform:translate(-50%,-50%) translateX(60%) translateZ(-200px) rotateY(-25deg) scale(.85)}30%{filter:brightness(.75) blur(1.5px);opacity:.6;transform:translate(-50%,-50%) translateX(45%) translateZ(-150px) rotateY(-35deg) scale(.88)}70%{filter:brightness(.9) blur(1px);opacity:.9;transform:translate(-50%,-50%) translateX(15%) translateZ(-50px) rotateY(-20deg) scale(.95)}to{filter:brightness(1) blur(0);opacity:1;transform:translate(-50%,-50%) translateX(0) translateZ(0) rotateY(0deg) scale(1)}}@keyframes prevCardMoveIn{0%{filter:brightness(.7) blur(2px);opacity:.5;transform:translate(-50%,-50%) translateX(-60%) translateZ(-200px) rotateY(25deg) scale(.85)}30%{filter:brightness(.75) blur(1.5px);opacity:.6;transform:translate(-50%,-50%) translateX(-45%) translateZ(-150px) rotateY(35deg) scale(.88)}70%{filter:brightness(.9) blur(1px);opacity:.9;transform:translate(-50%,-50%) translateX(-15%) translateZ(-50px) rotateY(20deg) scale(.95)}to{filter:brightness(1) blur(0);opacity:1;transform:translate(-50%,-50%) translateX(0) translateZ(0) rotateY(0deg) scale(1)}}.carousel-card-content{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-md);min-height:100%;position:relative;z-index:1}.carousel-card-price-badge{background:var(--accent-malachite);border-radius:0;box-shadow:var(--shadow-malachite);color:var(--bg-primary);font-family:var(--font-sans);font-size:.85em;font-weight:700;letter-spacing:.5px;padding:10px 18px;position:absolute;right:24px;text-transform:uppercase;top:24px;z-index:2}.carousel-card-brand{color:var(--text-primary);font-family:var(--font-serif);font-size:2em;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin-bottom:16px;margin-top:12px}.carousel-card-product{color:var(--text-primary);font-family:var(--font-sans);font-size:1.2em;font-weight:500;line-height:1.6;margin-bottom:12px}.carousel-card-why{background:var(--bg-secondary);border-radius:0;border-top:1px solid var(--border-subtle);flex-shrink:0;margin:24px -40px -40px;padding:24px 40px}.carousel-card-why-label{color:var(--accent-gold);font-family:var(--font-sans);font-size:.75em;font-weight:700;letter-spacing:1.5px;margin-bottom:12px;text-transform:uppercase}.carousel-card-why-text{color:var(--text-secondary);font-family:var(--font-sans);font-size:1em;font-weight:400;line-height:1.8}.carousel-card-corner-accent{background:radial-gradient(circle at bottom left,#c9a9611a 0,#0000 70%);border-radius:0;bottom:0;height:120px;left:0;opacity:.7;pointer-events:none;position:absolute;width:120px}.carousel-card-summary{display:flex;flex-direction:column;gap:var(--spacing-md);padding-top:var(--spacing-lg)}.carousel-card-summary-label{color:var(--accent-gold);font-family:var(--font-sans);font-size:.75em;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}.carousel-card-summary-heading{color:var(--text-primary);font-family:var(--font-serif);font-size:1.6em;font-weight:600;letter-spacing:-.01em}.carousel-card-summary-lede{color:var(--text-secondary);font-family:var(--font-sans);font-size:1.05em;font-style:italic;line-height:1.9;white-space:pre-wrap}.carousel-card-summary-link{align-items:center;align-self:flex-start;background:#0000;border:none;color:var(--accent-malachite);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-weight:600;gap:8px;letter-spacing:.5px;margin-top:auto;padding:0;text-transform:uppercase}.carousel-card-summary-link:after{content:"→";font-size:1.2em;transition:transform .2s ease}.carousel-card-summary-link:hover:after{transform:translateX(4px)}.carousel-navigation{align-items:center;display:flex;justify-content:space-between;left:0;padding:0 var(--spacing-md);pointer-events:none;position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:10}.carousel-nav-button{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#ffffffe6;border:1px solid var(--border-subtle);border-radius:50%;box-shadow:var(--shadow-md);color:var(--text-primary);cursor:pointer;display:flex;height:56px;justify-content:center;overflow:hidden;pointer-events:all;position:relative;transition:var(--transition);width:56px;will-change:transform,background,border-color,box-shadow}.carousel-nav-button:hover:not(:disabled){background:#fff;border-color:var(--accent-malachite);box-shadow:0 4px 20px #0dbb7c4d;transform:scale(1.15)}.carousel-nav-button svg{transition:var(--transition)}.carousel-nav-button:hover:not(:disabled) svg{stroke:var(--accent-malachite);transform:scale(1.1)}.carousel-nav-button:active:not(:disabled){transform:scale(1.05);transition:transform .1s ease}.carousel-nav-button:disabled{cursor:not-allowed;opacity:0;pointer-events:none}.carousel-dots{display:flex;gap:12px;justify-content:center;margin-top:30px}.carousel-dot{background:var(--border-medium);border:none;border-radius:0;cursor:pointer;height:10px;padding:0;transition:var(--transition);width:10px}.carousel-dot:hover{background:var(--accent-gold);transform:scale(1.2)}.carousel-dot.active{background:var(--accent-gold);border-radius:0;box-shadow:var(--shadow-gold);width:24px}.carousel-dot-video{background:var(--accent-gold);position:relative}.carousel-dot-video:after{color:var(--bg-primary);content:"▶";font-size:7px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.carousel-dot-video.active{background:var(--accent-gold-dark);box-shadow:var(--shadow-gold)}.carousel-card-video{align-items:center;background:var(--bg-primary);border-radius:0;display:flex;height:100%;justify-content:center;overflow:hidden;position:relative;width:100%}.carousel-video-player{border-radius:0;height:100%;object-fit:contain;width:100%}.carousel-card-inner:has(.carousel-card-video){background:var(--bg-primary);overflow:hidden;padding:0}@media (max-width:768px){.product-carousel-container{padding:var(--spacing-xs) var(--spacing-sm)}.carousel-wrapper{height:min(75vh,600px);min-height:min(75vh,500px)}.carousel-card-inner{aspect-ratio:3/4;margin:0 auto;max-height:122.66667vw;max-width:92vw;min-height:min(75vh,500px);overflow-x:hidden;overflow-y:auto;padding:var(--spacing-md) var(--spacing-md) var(--spacing-sm)}.carousel-card-price-badge{font-size:.7em!important;letter-spacing:.3px!important;padding:5px 9px!important;right:var(--spacing-sm)!important;top:var(--spacing-sm)!important}.carousel-card-content{gap:var(--spacing-sm)}.carousel-card-brand{font-size:clamp(1.3em,4.5vw,1.5em);line-height:1.15;margin-bottom:var(--spacing-xs)}.carousel-card-product{font-size:clamp(.9em,3.2vw,1em);line-height:1.4;margin-bottom:var(--spacing-xs)}.carousel-card-why{margin-bottom:calc(var(--spacing-sm)*-1);margin-left:calc(var(--spacing-md)*-1);margin-right:calc(var(--spacing-md)*-1);margin-top:auto;padding:var(--spacing-sm) var(--spacing-md)}.carousel-card-why-label{font-size:.62em;letter-spacing:1px;margin-bottom:6px}.carousel-card-why-text{font-size:clamp(.82em,2.8vw,.92em);line-height:1.5}.carousel-navigation{padding:0 var(--spacing-xs)}.carousel-nav-button{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fffffff2!important;box-shadow:0 2px 12px #00000026!important;height:48px!important;width:48px!important}.carousel-nav-button:active{background:#fff!important;transform:scale(.9) translateY(-50%)}.carousel-nav-button:hover:not(:disabled){transform:scale(1.1)}.carousel-dots{gap:var(--spacing-xs);margin-top:var(--spacing-md)}.carousel-dot{height:8px;width:8px}.carousel-dot.active{width:20px}}@media (max-width:390px){.product-carousel-container{padding:0 var(--spacing-xs)}.carousel-wrapper{height:min(82vh,680px);min-height:min(82vh,550px)}.carousel-card-inner{aspect-ratio:3/4;max-height:126.66667vw;max-width:95vw;min-height:min(82vh,550px);padding:var(--spacing-sm) var(--spacing-md) var(--spacing-xs)}.carousel-card-price-badge{font-size:.64em!important;letter-spacing:.2px!important;padding:4px 7px!important;right:var(--spacing-xs)!important;top:var(--spacing-xs)!important}.carousel-card-content{gap:var(--spacing-xs)}.carousel-card-brand{font-size:clamp(1.15em,5vw,1.3em);line-height:1.1;margin-bottom:4px}.carousel-card-product{font-size:clamp(.85em,3.5vw,.95em);line-height:1.35;margin-bottom:4px}.carousel-card-why{margin-bottom:calc(var(--spacing-xs)*-1);margin-left:calc(var(--spacing-sm)*-1);margin-right:calc(var(--spacing-sm)*-1);padding:var(--spacing-xs) var(--spacing-sm)}.carousel-card-why-label{font-size:.6em;letter-spacing:.8px;margin-bottom:4px}.carousel-card-why-text{font-size:clamp(.78em,3.2vw,.88em);line-height:1.45}.carousel-navigation{padding:0 2px}.carousel-nav-button{box-shadow:0 2px 10px #0003!important;height:40px!important;width:40px!important}.carousel-nav-button svg{height:18px;width:18px}.carousel-dots{margin-top:var(--spacing-sm)}}@media (max-width:768px) and (orientation:landscape){.carousel-wrapper{height:min(88vh,580px);min-height:min(88vh,480px)}.carousel-card-inner{grid-gap:var(--spacing-md);aspect-ratio:4/3;display:grid;gap:var(--spacing-md);grid-template-columns:1fr 1fr;max-height:63.75vw;max-width:85vw;min-height:min(88vh,480px);padding:var(--spacing-sm) var(--spacing-md)}.carousel-card-content{grid-gap:var(--spacing-sm);align-items:start;display:grid;gap:var(--spacing-sm);grid-column:1/-1;grid-template-columns:1fr 1fr}.carousel-card-brand,.carousel-card-product{grid-column:1/-1}.carousel-card-why{grid-column:1/-1;margin-bottom:0;margin-left:0;margin-right:0}.carousel-card-brand{font-size:clamp(1.1em,3.5vw,1.3em);margin-bottom:6px}.carousel-card-product{font-size:clamp(.85em,2.5vw,.95em);line-height:1.35}.carousel-card-why-text{font-size:clamp(.8em,2.3vw,.88em);line-height:1.4}}.modal-overlay{align-items:center!important;animation:fadeIn .3s cubic-bezier(.25,.46,.45,.94);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background-color:#000000bf!important;bottom:0!important;box-sizing:border-box;display:flex!important;height:100vh!important;justify-content:center!important;left:0!important;margin:0!important;min-height:100vh!important;min-width:100vw!important;overflow-x:hidden;overflow-y:auto;padding:var(--spacing-xl);position:fixed!important;right:0!important;top:0!important;transform:none!important;width:100vw!important;z-index:99999!important}.modal-overlay.closing{animation:fadeOut .3s cubic-bezier(.25,.46,.45,.94)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.modal-content{align-self:center;animation:slideUp .4s cubic-bezier(.25,.46,.45,.94);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:0;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;margin:0;max-height:90vh;max-width:1200px;overflow:hidden;position:relative;width:100%;z-index:100000}.modal-content:has(.product-carousel-container){max-height:95vh;max-width:1400px}.modal-overlay.closing .modal-content{animation:slideDown .3s cubic-bezier(.25,.46,.45,.94)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideDown{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(30px) scale(.96)}}.modal-header{align-items:flex-start;background:var(--bg-card);border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-lg)}.modal-title{color:var(--text-primary);flex:1 1;font-family:var(--font-serif);font-size:2em;font-weight:400;-webkit-hyphens:none;hyphens:none;letter-spacing:-.02em;line-height:1.3;margin:0;overflow-wrap:break-word;padding-right:var(--spacing-md);word-break:normal}.modal-close-button{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:0;color:var(--text-primary);cursor:pointer;display:flex;flex-shrink:0;font-size:1.5em;height:44px;justify-content:center;padding:0;width:44px}.modal-close-button,.modal-close-button svg{transition:var(--transition)}.modal-close-button:hover{background:var(--bg-tertiary);border-color:var(--accent-malachite);transform:scale(1.05)}.modal-close-button:hover svg{stroke:var(--accent-malachite);transform:rotate(90deg)}.modal-body{background-color:var(--bg-card);flex:1 1;overflow-y:auto;padding:var(--spacing-xl)}.modal-body:has(.product-carousel-container){overflow-y:auto;padding:var(--spacing-md) var(--spacing-xl) var(--spacing-lg)}.trend-section{border-top:1px solid var(--border-subtle);margin-top:var(--spacing-lg);padding-top:var(--spacing-md)}.trend-section h3{color:var(--text-primary);font-family:var(--font-serif);font-size:1.2em;font-weight:500;-webkit-hyphens:none;hyphens:none;margin-bottom:var(--spacing-sm);margin-top:0;overflow-wrap:break-word;word-break:normal}.trend-section p{color:var(--text-secondary);font-family:var(--font-sans);line-height:1.7;margin-bottom:12px}.trend-section p:last-child{margin-bottom:0}.trend-section b,.trend-section strong{color:var(--accent-malachite);font-weight:600}.modal-body p{color:var(--text-primary);font-family:var(--font-sans);font-size:1.1em;font-weight:400;letter-spacing:-.01em;line-height:1.7;margin-bottom:1.6em}.modal-body p:last-child{margin-bottom:0}.modal-footer{background:var(--bg-card);border-top:1px solid var(--border-subtle);display:flex;justify-content:flex-end;padding:var(--spacing-md) var(--spacing-xl)}.modal-close-button-footer{border:1px solid var(--accent-malachite);border-radius:0;color:var(--bg-primary);cursor:pointer;font-family:var(--font-sans);font-size:1em;font-weight:500;letter-spacing:.5px;padding:12px 28px;text-transform:uppercase;transition:var(--transition)}.modal-close-button-footer,.modal-close-button-footer:hover{background:var(--accent-malachite);box-shadow:var(--shadow-malachite)}.modal-close-button-footer:hover{border-color:var(--accent-malachite);transform:translateY(-2px)}.modal-close-button-footer:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.modal-body{scrollbar-color:var(--border-medium) var(--bg-secondary);scrollbar-width:thin}.modal-body::-webkit-scrollbar{width:10px}.modal-body::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:0}.modal-body::-webkit-scrollbar-thumb{background:var(--border-medium);border:2px solid var(--bg-secondary);border-radius:0}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.markdown-content{-webkit-hyphens:none;hyphens:none;word-break:normal}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6,.markdown-content p{-webkit-hyphens:none;hyphens:none;overflow-wrap:break-word;word-break:normal}.markdown-content h3{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);font-family:var(--font-serif);font-size:1.5em;font-weight:400;margin:2em 0 1em;padding-bottom:.5em}.markdown-content h3:first-child{margin-top:0}.markdown-content hr{border:none;border-top:1px solid var(--border-subtle);margin:2em 0}.markdown-content p{margin:1em 0}.markdown-content ol,.markdown-content p,.markdown-content ul{color:var(--text-primary);font-family:var(--font-sans);line-height:1.7}.markdown-content ol,.markdown-content ul{margin:1em 0 1em 1.5em}.markdown-content li{margin:.5em 0}.markdown-content table{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-collapse:collapse;border-radius:0;box-shadow:var(--shadow-sm);margin:2em 0;overflow:hidden;width:100%}.markdown-content thead{background:var(--bg-tertiary)}.markdown-content th{border-bottom:1px solid var(--border-medium);font-size:.9em;font-weight:600;letter-spacing:.5px;text-align:left;text-transform:uppercase}.markdown-content td,.markdown-content th{color:var(--text-primary);font-family:var(--font-sans);padding:16px 20px}.markdown-content td{border-bottom:1px solid var(--border-subtle);line-height:1.6}.markdown-content tbody tr:last-child td{border-bottom:none}.markdown-content tbody tr:hover{background:var(--bg-tertiary);transition:background .2s ease}.markdown-content td:first-child{color:var(--accent-malachite);font-weight:600;white-space:nowrap}.markdown-content td:nth-child(2){color:var(--text-primary);font-weight:500}.markdown-content strong{color:var(--text-primary);font-weight:600}.markdown-content a{border-bottom:1px solid #0000;color:var(--accent-malachite);text-decoration:none;transition:var(--transition)}.markdown-content a:hover{border-bottom-color:var(--accent-malachite);color:var(--accent-malachite-dark)}.markdown-content code{background:var(--bg-secondary);border-radius:0;color:var(--text-primary);font-family:Monaco,Courier New,monospace;font-size:.9em;padding:2px 6px}@media (max-width:768px){.modal-overlay{padding:var(--spacing-xs)}.modal-content{border-radius:0;margin:0;max-height:96vh;max-width:100%;width:100vw}.modal-footer,.modal-header{padding:var(--spacing-md) var(--spacing-md) var(--spacing-sm)}.modal-body{max-height:calc(96vh - 160px);padding:var(--spacing-sm) var(--spacing-md)}.modal-title{font-size:clamp(1.3em,5vw,1.6em);line-height:1.3;margin-bottom:var(--spacing-xs)}.modal-subtitle{font-size:clamp(.85em,3vw,.95em);line-height:1.4}.modal-close-button{height:40px;right:var(--spacing-sm);top:var(--spacing-sm);width:40px}.markdown-content{font-size:clamp(.9em,3vw,1em);line-height:1.6}.markdown-content h1{font-size:clamp(1.4em,5vw,1.6em)}.markdown-content h2{font-size:clamp(1.2em,4.5vw,1.4em)}.markdown-content h3{font-size:clamp(1.1em,4vw,1.2em)}.markdown-content table{-webkit-overflow-scrolling:touch;display:block;font-size:clamp(.8em,2.5vw,.9em);overflow-x:auto}.markdown-content td,.markdown-content th{font-size:clamp(.8em,2.5vw,.85em);padding:10px 12px}.markdown-content code{font-size:clamp(.8em,2.5vw,.85em);padding:2px 6px}.markdown-content pre{-webkit-overflow-scrolling:touch;overflow-x:auto;padding:var(--spacing-sm)}.markdown-content pre code{font-size:clamp(.75em,2.3vw,.8em)}}@media (max-width:390px){.modal-overlay{padding:0}.modal-content{border:none;margin:0;max-height:100vh;width:100vw}.modal-footer,.modal-header{padding:var(--spacing-sm) var(--spacing-md)}.modal-body{max-height:calc(100vh - 140px);padding:var(--spacing-xs) var(--spacing-md)}.modal-title{font-size:clamp(1.2em,5.5vw,1.4em)}.modal-subtitle{font-size:clamp(.8em,3.5vw,.9em)}.modal-close-button{height:36px;right:var(--spacing-xs);top:var(--spacing-xs);width:36px}.markdown-content{font-size:clamp(.85em,3.5vw,.95em)}.markdown-content td,.markdown-content th{padding:8px 10px}}.category-page{background-color:var(--bg-primary);display:flex;flex-direction:column;min-height:100vh}.category-header{background-color:var(--bg-card);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);padding:var(--spacing-md) var(--spacing-lg)}.category-header-content{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-sm);justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 var(--spacing-md)}.back-button{align-items:center;background-color:initial;border:1px solid var(--border-medium);border-radius:0;color:var(--text-primary);cursor:pointer;display:flex;font-family:var(--font-sans);font-size:14px;font-weight:500;gap:var(--spacing-xs);letter-spacing:.5px;padding:8px 16px;text-transform:uppercase;transition:var(--transition)}.back-button:hover{background-color:var(--bg-secondary);border-color:var(--accent-gold)}.category-site-title{color:var(--text-primary);flex:1 1;font-family:var(--font-serif);font-size:2.5rem;font-weight:400;letter-spacing:-.02em;margin:0;text-align:center}.category-header-user-info{align-items:center;color:var(--text-secondary);display:flex;font-family:var(--font-sans);font-size:14px;gap:var(--spacing-sm)}.category-header-logout-button{background-color:initial;border:1px solid var(--border-medium);border-radius:0;color:var(--text-primary);cursor:pointer;font-family:var(--font-sans);font-size:14px;font-weight:500;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase;transition:var(--transition)}.category-header-logout-button:hover{background-color:var(--bg-secondary);border-color:var(--accent-gold)}.category-main-content{grid-gap:var(--spacing-3xl);display:grid;flex:1 1;gap:var(--spacing-3xl);grid-template-columns:1fr;margin:0 auto;max-width:1400px;padding:var(--spacing-3xl) var(--spacing-md);width:100%}.category-footer{background-color:var(--bg-card);border-top:1px solid var(--border-subtle);color:var(--text-tertiary);font-size:14px;padding:var(--spacing-md)}.category-footer,.category-loading{font-family:var(--font-sans);text-align:center}.category-loading{color:var(--text-secondary);font-size:18px;padding:var(--spacing-3xl) var(--spacing-md)}@media (max-width:768px){.category-header-content{flex-direction:column;text-align:center}.category-site-title{font-size:2rem}.category-header-user-info{flex-direction:column;gap:var(--spacing-xs)}}
/*# sourceMappingURL=main.0fb94c07.css.map*/