.scroll-progress-container{position:fixed;top:0;left:0;width:100%;height:3px;background:#ffffff1a;z-index:9999;pointer-events:none}.scroll-progress-bar{height:100%;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb);transition:width .1s ease-out;box-shadow:0 0 10px #667eea80}.main-header{background:var(--bg-primary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:1000;box-shadow:0 2px 8px #0000000d}.header-container{max-width:1400px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.5rem;font-weight:700;font-family:Playfair Display,serif;color:var(--text-primary);text-decoration:none;letter-spacing:-.02em;transition:color .3s ease;letter-spacing:.5em}.logo:hover{color:var(--accent-color)}.main-nav{display:flex;align-items:center;gap:2rem}.nav-item-wrapper{position:relative;display:flex;align-items:center}.nav-link{color:var(--text-primary);text-decoration:none;font-weight:500;font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;transition:opacity .3s ease;font-family:Inter,sans-serif;cursor:pointer;padding:.5rem 0;display:inline-block}.nav-link:hover,.nav-link.active{opacity:.6}.nav-link:hover,.nav-link.active{color:var(--accent-color)}.submenu{position:absolute;top:100%;left:50%;background:var(--bg-primary);border:1px solid var(--text-primary);border-radius:0;box-shadow:none;min-width:180px;padding:0;margin-top:.5rem;animation:submenuFadeIn .2s ease;transform:translate(-50%);z-index:100}@keyframes submenuFadeIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.submenu-item{display:block;padding:.75rem 1.5rem;color:var(--text-primary);text-decoration:none;transition:all .2s ease;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;font-weight:500;border-bottom:1px solid rgba(0,0,0,.05)}.submenu-item:last-child{border-bottom:none}.submenu-item:hover{background:var(--text-primary);color:var(--bg-primary)}.theme-toggle{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;transition:all .3s ease}.theme-toggle:hover{background:var(--accent-color);transform:scale(1.1)}.hamburger{display:none;flex-direction:column;gap:5px;background:transparent;border:none;cursor:pointer;padding:8px;z-index:1001}.hamburger span{width:25px;height:3px;background:var(--text-primary);border-radius:3px;transition:all .3s ease}.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(8px,8px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.mobile-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:999;animation:fadeIn .3s ease}.dropdown-arrow{display:none;margin-left:.5rem;font-size:.7rem;transition:transform .3s ease}@media (max-width: 768px){.header-container{padding:1rem}.logo{font-size:1.4rem}.hamburger{display:flex}.dropdown-arrow{display:inline}.mobile-overlay{display:block}.main-nav{position:fixed;top:0;right:-100%;height:100vh;width:280px;max-width:80vw;background:var(--bg-primary);flex-direction:column;align-items:flex-start;padding:5rem 2rem 2rem;gap:0;box-shadow:-4px 0 12px #0000001a;transition:right .3s ease;z-index:1000;overflow-y:auto}.main-nav.mobile-open{right:0}.nav-item-wrapper{width:100%;border-bottom:1px solid var(--border-color);display:block}.nav-link{display:flex;justify-content:space-between;align-items:center;width:100%;padding:1rem 0;font-size:1.1rem}.submenu{position:static;transform:none;left:auto;box-shadow:none;border:none;border-radius:0;margin:0;padding:0;background:var(--bg-secondary);animation:slideDown .3s ease;width:100%}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:300px}}.submenu-item{padding:.875rem 1.5rem;font-size:1rem;border-bottom:1px solid var(--border-color)}.submenu-item:last-child{border-bottom:none}.theme-toggle{width:100%;height:50px;border-radius:8px;margin-top:1rem;font-size:1.2rem}}@media (max-width: 600px){.main-nav{width:260px}.logo{font-size:1.2rem}}.main-footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:2rem;margin-top:auto}.footer-content{max-width:1400px;margin:0 auto;text-align:center}.footer-content p{color:var(--text-secondary);font-size:.75rem;margin:0;text-transform:uppercase;letter-spacing:.2em;font-family:Inter,sans-serif;opacity:.4}.landing-page{min-height:100vh}.hero-section{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:6rem 0}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;width:100%;max-width:1400px;margin:0 auto;padding:0 2rem;align-items:center}.hero-content{opacity:0;transform:translateY(20px);animation:fadeInUp .8s ease-out forwards;animation-delay:.2s}.hero-subtitle{font-size:.875rem;text-transform:uppercase;letter-spacing:.3em;margin-bottom:1.5rem;opacity:.7;font-weight:400}.hero-title{font-family:Playfair Display,serif;font-size:clamp(2.5rem,6vw,5rem);font-weight:700;line-height:1.1;margin-bottom:2rem}.hero-title-italic{font-style:italic;font-weight:300;display:block}.hero-description{font-size:1.125rem;line-height:1.6;opacity:.8;margin-top:1.5rem}.hero-buttons{display:flex;gap:1rem;margin-top:2rem}.hero-btn{display:inline-block;padding:1rem 2.5rem;text-decoration:none;text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:600;font-family:Inter,sans-serif;border:2px solid currentColor;transition:all .3s ease}.hero-btn-primary{background:var(--color-text-primary);color:var(--color-bg-primary);border-color:var(--color-text-primary)}.hero-btn-primary:hover{background:transparent;color:var(--color-text-primary)}.hero-btn-secondary{background:transparent;color:var(--color-text-primary);border-color:var(--color-text-primary)}.hero-btn-secondary:hover{background:var(--color-text-primary);color:var(--color-bg-primary)}.hero-image{position:relative;height:80vh;max-height:800px;overflow:hidden;opacity:0;transform:translate(20px);animation:fadeInRight .8s ease-out forwards;animation-delay:.4s}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}.scroll-indicator{position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%);opacity:.5;animation:bounce 2s infinite}.scroll-icon{width:1.5rem;height:1.5rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-10px)}}.about-section{padding:8rem 2rem;max-width:1400px;margin:0 auto}.about-header{display:flex;flex-direction:column;gap:1rem;margin-bottom:4rem}.section-title{font-family:Playfair Display,serif;font-size:clamp(2.5rem,5vw,4rem);font-weight:700;margin:0}.about-description{max-width:600px;opacity:.7;line-height:1.8;font-size:1.125rem;text-align:justify}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about-image{position:relative;overflow:hidden;aspect-ratio:3/4;width:100%}.about-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.25,.46,.45,.94)}.about-image:hover img{transform:scale(1.05)}.about-text{padding:2rem 0}.about-greeting{font-family:Playfair Display,serif;font-size:2rem;font-style:italic;margin-bottom:1.5rem}.about-bio{line-height:1.8;opacity:.8;margin-bottom:3rem;font-size:1.125rem;text-align:justify}.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding-top:2rem;border-top:1px solid rgba(128,128,128,.2)}.stat-item{display:flex;flex-direction:column;gap:.5rem}.stat-number{font-family:Playfair Display,serif;font-size:2.5rem;font-weight:700}.stat-label{font-size:.875rem;opacity:.6;text-transform:uppercase;letter-spacing:.1em}.services-section{padding:8rem 2rem;background:#80808008}.services-container{max-width:1400px;margin:0 auto}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:4rem}.service-card{padding:3rem 2rem;border:1px solid currentColor;text-decoration:none;color:inherit;transition:all .5s ease;text-align:center;display:flex;flex-direction:column;align-items:center}.service-card:hover{background:var(--color-text-primary);color:var(--color-bg-primary);transform:translateY(-4px)}.service-card:hover .service-title,.service-card:hover .service-description{color:var(--color-bg-primary)}.service-icon{font-size:3.5rem;margin-bottom:1.5rem}.service-title{font-family:Playfair Display,serif;font-size:1.5rem;margin-bottom:1rem}.service-description{opacity:.8;line-height:1.6;font-size:.9375rem}.service-card:hover .service-description{opacity:1}.cta-section{padding:8rem 2rem;text-align:center}.cta-container{max-width:800px;margin:0 auto}.cta-title{font-family:Playfair Display,serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;margin-bottom:1rem;line-height:1.3}.cta-subtitle{font-size:1.125rem;opacity:.7;margin-bottom:2.5rem}.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.cta-button{display:inline-block;padding:1rem 3rem;text-decoration:none;text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;font-weight:600;border:1px solid currentColor;transition:all .3s ease}.cta-button-primary{background:var(--color-text-primary);color:var(--color-bg-primary)}.cta-button-primary:hover,.cta-button-secondary{background:transparent;color:var(--color-text-primary)}.cta-button-secondary:hover{background:var(--color-text-primary);color:var(--color-bg-primary)}@media (max-width: 1024px){.hero-grid{grid-template-columns:1fr;gap:3rem;padding:0 2rem}.hero-image{height:60vh;max-height:600px}.about-content{grid-template-columns:1fr;gap:3rem}.about-stats{grid-template-columns:repeat(3,1fr)}.services-grid{grid-template-columns:1fr;gap:1.5rem}}@media (max-width: 768px){.hero-section{padding:3rem 1.5rem}.hero-subtitle{font-size:.75rem;letter-spacing:.2em}.hero-buttons{flex-direction:column;width:100%}.hero-grid{padding:0;gap:2rem}.hero-btn{width:100%;text-align:center}.about-section,.services-section,.cta-section{padding:4rem 1.5rem}.about-header{margin-bottom:3rem}.about-description{font-size:1rem}.about-stats{grid-template-columns:1fr;gap:1.5rem}.stat-number{font-size:2rem}.cta-buttons{flex-direction:column;align-items:stretch}.cta-button{width:100%}}.date-list{background:var(--bg-secondary);border-radius:12px;box-shadow:none;overflow:hidden;height:fit-content;max-height:calc(100vh - 200px);display:flex;flex-direction:column;border:1px solid var(--color-border)}.date-list-header{padding:1.5rem;background:var(--bg-secondary);border-bottom:1px solid var(--color-border)}.date-list-header h3{margin:0;font-size:.875rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;text-transform:uppercase;letter-spacing:.1em}.date-list-items{flex:1;overflow-y:auto;padding:1rem}.date-list-empty{padding:2rem;text-align:center;color:var(--text-secondary)}.date-list-empty p{font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.date-list-empty span{font-size:.875rem}.date-item{padding:1rem;margin-bottom:.5rem;background:transparent;border:1px solid var(--color-border);border-radius:0;cursor:pointer;transition:all .3s ease;animation:fadeIn .3s ease-out backwards}.date-item:hover{border-color:var(--text-primary);transform:translate(4px)}.date-item.active{background:var(--text-primary);border-color:var(--text-primary)}.date-item-content{display:flex;justify-content:space-between;align-items:center;gap:1rem}.date-item-name{font-weight:600;color:var(--text-primary);font-size:.95rem;flex:1;min-width:0;word-wrap:break-word;font-family:Inter,sans-serif}.date-item.active .date-item-name{color:var(--bg-primary)}.date-item-slots{font-size:.75rem;font-weight:600;color:var(--text-secondary);background:transparent;padding:.25rem .5rem;border:1px solid var(--color-border);border-radius:0;flex-shrink:0;white-space:nowrap}.date-item.active .date-item-slots{background:transparent;color:var(--bg-primary);border-color:var(--bg-primary)}@media (max-width: 768px){.date-list{max-height:300px}.date-list-header{padding:1rem}.date-item{padding:.75rem 1rem}}.slot-grid{background:var(--bg-secondary);border-radius:12px;box-shadow:none;overflow:hidden;height:fit-content;max-height:calc(100vh - 200px);display:flex;flex-direction:column;border:1px solid var(--color-border)}.slot-grid-header{padding:1.5rem;background:var(--bg-secondary);border-bottom:1px solid var(--color-border)}.slot-grid-header h3{margin:0 0 1rem;font-size:1.25rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.slot-grid-legend{display:flex;gap:1.5rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.legend-dot.available{background:var(--text-primary)}.legend-dot.unavailable{background:var(--color-border)}.slot-grid-items{flex:1;overflow-y:auto;padding:1.5rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;align-content:start}.slot-item{padding:1.5rem 1rem;background:transparent;border:1px solid var(--color-border);border-radius:0;transition:all .3s ease;animation:fadeIn .3s ease-out backwards;text-align:center;cursor:pointer}.slot-item.available:hover{border-color:var(--text-primary);background:transparent;box-shadow:none}.slot-item.unavailable{border-color:transparent;background:#8080801a;opacity:.5;cursor:not-allowed}.slot-time{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;font-family:Inter,sans-serif}.slot-status{display:flex;align-items:center;justify-content:center}.status-badge{font-size:.75rem;font-weight:600;padding:0;border-radius:0;display:inline-flex;align-items:center;gap:.25rem;text-transform:uppercase;letter-spacing:.1em}.status-badge.success{background:transparent;color:var(--text-secondary)}.status-badge.danger{background:transparent;color:var(--text-tertiary)}.slot-grid-empty{background:transparent;border-radius:0;box-shadow:none;border:1px dashed var(--color-border);display:flex;align-items:center;justify-content:center;min-height:400px;animation:fadeIn .3s ease-out}.slot-grid-empty-content{text-align:center;padding:3rem}.empty-icon{font-size:3rem;display:block;margin-bottom:2rem;opacity:.5}.slot-grid-empty-content h3{color:var(--text-primary);margin-bottom:.5rem}.slot-grid-empty-content p{color:var(--text-secondary);margin:0}@media (max-width: 1024px){.slot-grid-items{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}}@media (max-width: 768px){.slot-grid{max-height:none}.slot-grid-header{padding:1rem}.slot-grid-header h3{font-size:1.1rem}.slot-grid-items{padding:1rem;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.slot-item{padding:1rem .5rem}.slot-time{font-size:.9rem}.slot-grid-empty{min-height:300px}.empty-icon{font-size:2.5rem}}.tictactoe-container{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px}.status{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:10px}.board{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:var(--color-bg-tertiary);padding:10px;border-radius:10px}.square{width:80px;height:80px;background:var(--color-bg-primary);border:none;border-radius:5px;font-size:2.5rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:var(--color-text-primary)}.square:hover:not(:disabled){background:var(--color-bg-secondary)}.square.x{color:var(--color-primary)}.square.o{color:var(--color-secondary)}.reset-btn{padding:1rem 2rem;background:var(--text-primary);color:var(--bg-primary);border:1px solid var(--text-primary);border-radius:0;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.1em;font-family:Inter,sans-serif}.reset-btn:hover{background:transparent;color:var(--text-primary);transform:translateY(-2px)}.game2048-container{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px}.header-2048{display:flex;justify-content:space-between;width:300px;align-items:center}.score-box{background:var(--color-bg-tertiary);padding:5px 15px;border-radius:5px;display:flex;flex-direction:column;align-items:center}.score-box span{font-size:.8rem;color:var(--color-text-secondary)}.score-box strong{font-size:1.2rem;color:var(--color-text-primary)}.new-game-btn{padding:.75rem 1.5rem;background:var(--text-primary);color:var(--bg-primary);border:1px solid var(--text-primary);border-radius:0;cursor:pointer;font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-family:Inter,sans-serif;transition:all .3s ease}.new-game-btn:hover{background:transparent;color:var(--text-primary)}.board-2048{background:#bbada0;padding:10px;border-radius:10px;position:relative;width:300px;height:300px;display:flex;flex-direction:column;gap:10px}.row-2048{display:flex;gap:10px;height:65px}.cell-2048{width:65px;height:65px;background:#eee4da59;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:#776e65;transition:all .1s ease-in-out}.val-2{background:#eee4da}.val-4{background:#ede0c8}.val-8{background:#f2b179;color:#f9f6f2}.val-16{background:#f59563;color:#f9f6f2}.val-32{background:#f67c5f;color:#f9f6f2}.val-64{background:#f65e3b;color:#f9f6f2}.val-128{background:#edcf72;color:#f9f6f2;font-size:1.5rem}.val-256{background:#edcc61;color:#f9f6f2;font-size:1.5rem}.val-512{background:#edc850;color:#f9f6f2;font-size:1.5rem}.val-1024{background:#edc53f;color:#f9f6f2;font-size:1.2rem}.val-2048{background:#edc22e;color:#f9f6f2;font-size:1.2rem}.game-over-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#eee4daba;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;animation:fadeIn .5s}.game-over-overlay h2{font-size:2rem;color:#776e65;margin-bottom:20px}.game-over-overlay button{padding:1rem 2rem;background:#8f7a66;color:#fff;border:none;border-radius:0;cursor:pointer;font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-family:Inter,sans-serif;transition:all .3s ease}.game-over-overlay button:hover{opacity:.9;transform:translateY(-2px)}.instructions{color:var(--color-text-secondary);font-size:.9rem}.chess-container{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px;width:100%}.chess-header{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:450px;margin-bottom:1rem;padding:0;gap:1.5rem}.status{font-size:1rem;font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;line-height:1.5;margin-bottom:0!important}.status span.white{color:#2563eb;font-weight:600;font-size:1rem}.status span.black{color:var(--text-primary);font-weight:700;font-size:1rem}.difficulty-selector{display:flex;align-items:center;gap:.6rem}.difficulty-selector label{color:var(--text-primary);font-size:1rem;font-weight:500;line-height:1.5}.difficulty-selector select{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--color-border);padding:.5rem 1rem;border-radius:0;cursor:pointer;outline:none;font-size:.9rem;font-family:Inter,sans-serif;transition:all .2s;line-height:1.5}.difficulty-selector select:hover{border-color:var(--text-primary);background:var(--bg-secondary)}.difficulty-selector option{background:var(--bg-primary);color:var(--text-primary)}.difficulty-selector select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.difficulty-selector select:disabled{background-color:#0f172a;color:#475569;cursor:not-allowed;opacity:.6}.chess-board{border:5px solid #5c4033;border-radius:4px;-webkit-user-select:none;user-select:none;box-shadow:0 10px 15px -3px #0000004d,0 4px 6px -2px #0003;width:100%;max-width:450px;aspect-ratio:1;display:flex;flex-direction:column}.chess-row{display:flex;flex:1;width:100%}.chess-square{flex:1;aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:clamp(1rem,8vw,2.5rem);cursor:pointer;position:relative;transition:transform .1s;overflow:hidden}.chess-square:hover{transform:scale(1.05);z-index:2}.chess-square.white{background-color:#f0d9b5}.chess-square.black{background-color:#b58863}.chess-square.selected{background-color:#7b61ff!important;box-shadow:inset 0 0 0 3px #7b61ff80}.chess-square.possible{position:relative}.chess-square.possible:after{content:"";position:absolute;width:100%;height:100%;background:#22c55e40;pointer-events:none}.move-dot{width:15px;height:15px;background:#22c55e99;border-radius:50%;border:2px solid rgba(34,197,94,.8)}.chess-piece{cursor:pointer;line-height:1;z-index:1;transition:filter .1s;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding-bottom:2%}.chess-piece:hover{filter:brightness(1.1)}.chess-piece.white{color:#fff;text-shadow:0 0 3px #000,0 0 5px rgba(0,0,0,.5)}.chess-piece.black{color:#000;text-shadow:0 0 2px rgba(255,255,255,.3)}.game-over{font-weight:700;padding:.6rem 1.2rem;border-radius:6px;font-size:1.05rem;letter-spacing:.5px}.game-over.won{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 4px 6px -1px #22c55e66}.game-over.lost{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 6px -1px #ef444466}.game-over.draw{background:linear-gradient(135deg,#eab308,#ca8a04);color:#1e293b;box-shadow:0 4px 6px -1px #eab30866}.reset-btn{padding:1rem 2rem;background:var(--text-primary);color:var(--bg-primary);border:1px solid var(--text-primary);border-radius:0;cursor:pointer;font-weight:600;font-size:.875rem;transition:all .3s ease;margin-top:1rem;text-transform:uppercase;letter-spacing:.1em;font-family:Inter,sans-serif;box-shadow:none}.reset-btn:hover{background:transparent;color:var(--text-primary);transform:translateY(-2px);box-shadow:none}.reset-btn:active{transform:translateY(0)}@media (max-width: 500px){.chess-container{padding:5px;gap:15px}.chess-header{flex-direction:column;gap:12px;align-items:flex-start}.difficulty-selector{width:100%;justify-content:space-between}.status{font-size:1rem}.move-dot{width:10px;height:10px}}.flappy-container{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px;width:100%;max-width:600px;margin:0 auto}.flappy-iframe-wrapper{width:100%;max-width:500px;aspect-ratio:9 / 16;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px #0000004d;background:#70c5ce}.flappy-iframe{width:100%;height:100%;border:none}.flappy-instructions{text-align:center;color:var(--color-text-secondary);font-size:.95rem;margin:0;padding:10px}@media (max-width: 768px){.flappy-container{padding:10px}.flappy-iframe-wrapper{max-width:100%}.flappy-instructions{font-size:.85rem}}.game-section{margin-top:40px;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--color-border);overflow:hidden;box-shadow:none}.game-tabs{display:flex;background:transparent;border-bottom:1px solid var(--color-border)}.game-tab{flex:1;padding:1.25rem;background:none;border:none;font-size:.875rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.1em;font-family:Inter,sans-serif}.game-tab:hover{color:var(--text-primary);background:var(--bg-primary)}.game-tab.active{color:var(--bg-primary);background:var(--text-primary);border-bottom:none}.game-content{padding:20px;min-height:400px;display:flex;justify-content:center}@media (max-width: 500px){.game-content{padding:10px}}.calendar-page{flex:1;padding:2rem;animation:fadeIn .4s ease-out;max-width:1350px;margin:0 auto;width:100%}.welcome-header{text-align:center;margin-bottom:4rem;padding:0;background:transparent;border:none;box-shadow:none}.welcome-header h1{font-size:2.5rem;color:var(--text-primary);margin:0;line-height:1.2}.home-container{display:grid;grid-template-columns:350px 1fr;gap:4rem;align-items:start;width:100%}.home-sidebar{position:sticky;top:6rem}.home-content{min-height:500px}.games-container-wrapper{margin-top:6rem;padding-top:4rem;border-top:1px solid var(--color-border);width:100%}.games-header-text{text-align:center;font-size:2rem;color:var(--text-primary);margin-bottom:3rem}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center}.spinner{width:50px;height:50px;border:2px solid var(--color-border);border-top-color:var(--text-primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1.5rem}.error-icon{font-size:3rem;margin-bottom:1.5rem}@media (max-width: 1024px){.home-container{grid-template-columns:1fr;gap:3rem}.home-sidebar{position:static;margin-bottom:3rem}}@media (max-width: 768px){.calendar-page{padding:2rem 1.5rem}.welcome-header h1{font-size:2rem}}.gallery-page{min-height:100vh;padding:4rem 2rem;background:var(--bg-primary)}.gallery-header{max-width:1400px;margin:0 auto 3rem;text-align:center}.gallery-header h1{font-size:3rem;font-weight:700;margin-bottom:1rem;color:var(--text-primary)}.gallery-header p{font-size:1.2rem;color:var(--text-secondary)}.sync-status{font-size:1rem!important;color:var(--accent-color)!important;font-weight:600;margin-top:.5rem}.loading-container,.error-container{text-align:center;padding:3rem 2rem;margin:2rem 0}.spinner{width:50px;height:50px;border:4px solid var(--border-color);border-top-color:var(--accent-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.error-message{color:#e74c3c;font-size:1.1rem;margin-bottom:.5rem}.fallback-message{color:var(--text-secondary);font-size:.95rem}.gallery-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.gallery-item{position:relative;overflow:hidden;background:var(--bg-secondary);transition:transform .3s ease}.gallery-item:hover{transform:translateY(-5px)}.image-wrapper{position:relative;width:100%;padding-bottom:75%;overflow:hidden}.gallery-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s ease,object-fit .3s ease}.gallery-image.hovered{object-fit:contain;background:#000c}.gallery-image[src]{opacity:1}.upload-instructions{max-width:800px;margin:4rem auto 0;padding:2rem;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color)}.upload-instructions h3{font-size:1.5rem;margin-bottom:1.5rem;color:var(--text-primary)}.upload-instructions ol{padding-left:1.5rem}.upload-instructions li{margin-bottom:1rem;color:var(--text-secondary);line-height:1.6}.upload-instructions code{background:var(--bg-primary);padding:.25rem .5rem;border-radius:4px;font-family:Courier New,monospace;color:var(--accent-color);font-size:.9rem}.upload-instructions pre{background:var(--bg-primary);padding:1rem;border-radius:8px;overflow-x:auto;margin:1rem 0;border:1px solid var(--border-color)}.instruction-section{margin:2rem 0;padding:1.5rem;background:var(--bg-primary);border-radius:8px;border-left:4px solid var(--accent-color)}.instruction-section h4{margin-top:0;color:var(--text-primary);font-size:1.1rem}.instruction-section strong{color:var(--accent-color)}@media (max-width: 1024px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}}@media (max-width: 768px){.gallery-page{padding:2rem 1rem}.gallery-header h1{font-size:2rem}.gallery-header p{font-size:1rem}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.upload-instructions{padding:1.5rem}}@media (max-width: 480px){.gallery-grid{grid-template-columns:1fr}}.lightbox-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease}.lightbox-content{max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.lightbox-image{max-width:100%;max-height:85vh;object-fit:contain;box-shadow:0 10px 50px #00000080;animation:zoomIn .3s ease}@keyframes zoomIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.lightbox-caption{color:#fff;margin-top:1rem;font-size:1.1rem;text-align:center;display:flex;flex-direction:column;gap:.5rem}.lightbox-counter{font-size:.9rem;opacity:.7}.lightbox-close{position:absolute;top:20px;right:20px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:2rem;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;line-height:1;padding:0;z-index:10010}.lightbox-close:hover{background:#fff3;transform:rotate(90deg)}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:2.5rem;width:50px;height:50px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;line-height:1;padding:0;z-index:10010}.lightbox-prev{left:20px}.lightbox-next{right:20px}.lightbox-prev:hover,.lightbox-next:hover{background:#fff3;transform:translateY(-50%) scale(1.1)}.lightbox-prev:active,.lightbox-next:active{transform:translateY(-50%) scale(.95)}@media (max-width: 768px){.lightbox-close{width:36px;height:36px;font-size:1.5rem;top:15px;right:15px}.lightbox-prev,.lightbox-next{width:40px;height:40px;font-size:2rem;background:#0000004d}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-image{max-height:80vh}.lightbox-caption{font-size:.9rem;padding:0 1rem}}.contact-page{min-height:100vh}.pricing-section{padding:6rem 2rem 4rem;background:var(--bg-primary)}.pricing-container{max-width:1400px;margin:0 auto;text-align:center}.pricing-container h1{margin-bottom:1rem;color:var(--text-primary)}.pricing-subtitle{font-size:1.125rem;color:var(--text-secondary);margin-bottom:4rem;font-family:Inter,sans-serif}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.pricing-card{background:transparent;border:1px solid var(--color-border);padding:3rem 2rem;position:relative;transition:all .3s ease;display:flex;flex-direction:column;align-items:center}.pricing-card:hover{border-color:var(--color-text-primary);transform:translateY(-4px)}.pricing-card.featured{border-color:var(--color-text-primary);background:var(--bg-secondary)}.pricing-badge{position:absolute;top:0;right:0;background:var(--color-text-primary);color:var(--color-bg-primary);padding:.25rem 1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.pricing-icon{font-size:3rem;margin-bottom:1.5rem}.pricing-card h3{margin-bottom:1rem;color:var(--text-primary)}.pricing-price{margin:1.5rem 0}.pricing-price .price{font-size:3rem;font-weight:700;font-family:Playfair Display,serif;color:var(--text-primary)}.pricing-price .per{font-size:1rem;color:var(--text-secondary);font-family:Inter,sans-serif}.pricing-features{list-style:none;padding:0;margin:2rem 0;text-align:left;width:100%}.pricing-features li{padding:.75rem 0;color:var(--text-primary);font-size:1rem;border-bottom:1px solid var(--border-color);font-family:Inter,sans-serif;opacity:.8}.pricing-features li:last-child{border-bottom:none}.contact-section{padding:4rem 2rem 6rem;background:var(--bg-primary)}.contact-container{max-width:1400px;margin:0 auto}.contact-container h2{text-align:center;margin-bottom:4rem;color:var(--text-primary)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.contact-card{background:transparent;padding:0;border:none}.contact-card:hover{box-shadow:none}.contact-card h3{margin-bottom:2rem;color:var(--text-primary)}.contact-card p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1rem;line-height:1.6}.contact-card h4{font-size:.95rem;color:var(--text-primary);margin-bottom:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.social-card{display:flex;flex-direction:column}.social-actions-wrapper{display:flex;gap:2rem;width:100%}.social-section,.message-section{flex:1;margin-top:1.5rem}.divider{height:1px;background:var(--color-border);margin:2rem 0;opacity:.5}.contact-info-list{display:flex;flex-direction:column;gap:1.5rem}.contact-info-item{display:flex;align-items:center;gap:1.5rem;padding:0;border-radius:0;transition:opacity .3s ease}.contact-info-item:hover{opacity:.8}.info-icon{font-size:1.5rem;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent}.info-content{display:flex;flex-direction:column;gap:.25rem;flex:1}.info-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em}.info-content a{color:var(--text-primary);text-decoration:none;font-size:1rem;font-weight:400;transition:all .3s ease;word-break:break-all;font-family:Inter,sans-serif}.info-content a:hover{opacity:.7}.info-content span:not(.info-label){color:var(--text-primary);font-size:1rem;font-weight:400;font-family:Inter,sans-serif}.social-links{display:flex;flex-direction:column;gap:1rem}.social-link{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 2rem;border-radius:0;text-decoration:none;font-weight:600;font-size:.875rem;transition:all .3s ease;text-transform:uppercase;letter-spacing:.1em;background:transparent;color:var(--text-primary);border:1px solid var(--text-primary);width:100%}.social-link svg{width:18px;height:18px}.social-link.facebook{background:transparent;color:var(--text-primary)}.social-link.facebook:hover{background:var(--text-primary);color:var(--bg-primary);transform:translateY(-2px);box-shadow:none}.messenger-link{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:.75rem;padding:1rem 2rem;background:var(--text-primary);color:var(--bg-primary);text-decoration:none;border-radius:0;font-size:.875rem;font-weight:600;transition:all .3s ease;width:100%;text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--text-primary)}.messenger-link:hover{background:transparent;color:var(--text-primary);transform:translateY(-2px);box-shadow:none}.messenger-link svg{width:18px;height:18px}@media (max-width: 768px){.pricing-section{padding:4rem 1.5rem 3rem}.pricing-subtitle{font-size:1rem;margin-bottom:2rem}.pricing-grid{grid-template-columns:1fr;gap:3rem}.pricing-card{padding:2rem 1.5rem}.pricing-price .price{font-size:2.5rem}.contact-section{padding:3rem 1.5rem 4rem}.contact-grid{grid-template-columns:1fr;gap:4rem}.contact-card{padding:0}.social-actions-wrapper{flex-direction:column;gap:0}.social-link{font-size:.875rem;padding:1rem 1.5rem}.messenger-link{padding:1rem 1.5rem;font-size:.875rem}.messenger-link svg{width:18px;height:18px}}.admin-page{flex:1;padding:var(--spacing-xl);animation:fadeIn .4s ease-out}.admin-header{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background:var(--color-bg-primary);box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.admin-header h1{margin:0;font-size:1.75rem}.admin-header p{margin:var(--spacing-xs) 0 0 0;color:var(--color-text-secondary)}.admin-content{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:2fr 8fr;gap:var(--spacing-xl);align-items:start}.admin-sidebar{position:sticky;top:calc(80px + var(--spacing-xl))}.admin-main{min-height:400px}.login-container{display:flex;align-items:center;justify-content:center;min-height:70vh;animation:fadeIn .4s ease-out}.login-card{background:var(--color-bg-primary);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);padding:var(--spacing-2xl);width:100%;max-width:450px}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.login-header h2{margin-bottom:var(--spacing-sm);color:var(--color-text-primary)}.login-header p{color:var(--color-text-secondary);margin:0}.login-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.login-hint{text-align:center;color:var(--color-text-tertiary);margin-top:var(--spacing-sm)}.alert{max-width:1400px;margin:0 auto var(--spacing-lg);padding:var(--spacing-md);display:flex;justify-content:space-between;align-items:center}.alert-error{background:var(--color-danger-light);color:var(--color-danger);border:1px solid var(--color-danger)}.alert-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:inherit;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base)}.alert-close:hover{background:#0000001a}.admin-controls{background:var(--color-bg-primary);border:1px solid var(--color-border);padding:var(--spacing-lg);margin-bottom:var(--spacing-md);box-shadow:var(--shadow-md)}.admin-controls h3{margin:0 0 var(--spacing-md) 0;font-size:1rem;color:var(--color-text-primary)}.create-form{display:flex;gap:var(--spacing-sm)}.create-form .form-input{flex:1}.draggable-date-list{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-sm);box-shadow:var(--shadow-md);max-height:calc(100vh - 400px);overflow-y:auto}.draggable-date-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);margin-bottom:var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-base)}.draggable-date-item:hover{background:var(--color-bg-tertiary);border-color:var(--color-primary)}.draggable-date-item.active{background:var(--color-primary-light);border-color:var(--color-primary)}.draggable-date-item.dragging{opacity:.5;box-shadow:var(--shadow-lg)}.drag-handle{font-size:1.25rem;color:var(--color-text-tertiary);cursor:grab;-webkit-user-select:none;user-select:none;transition:color var(--transition-base);padding:var(--spacing-xs);margin:calc(var(--spacing-xs) * -1);touch-action:none}.drag-handle:active{cursor:grabbing}.draggable-date-item:hover .drag-handle{color:var(--color-primary)}.date-content{flex:1;display:flex;align-items:center;cursor:pointer;min-width:0}.date-name{font-weight:600;color:var(--color-text-primary);font-size:.95rem}.draggable-date-item.active .date-name{color:var(--color-primary)}.edit-input{width:100%;padding:var(--spacing-xs) var(--spacing-sm);font-size:.95rem;font-weight:600;background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-primary);font-family:inherit}.edit-input:focus{outline:none}.date-actions{display:flex;gap:var(--spacing-xs)}.action-btn{background:none;border:none;font-size:1rem;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all var(--transition-base)}.action-btn:hover{background:var(--color-bg-tertiary)}.slot-management{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.slot-management-header{padding:var(--spacing-lg);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border)}.slot-management-header h3{margin:0 0 var(--spacing-xs) 0;font-size:1.25rem;color:var(--color-text-primary)}.slot-management-header p{margin:0;font-size:.875rem;color:var(--color-text-secondary)}.slots-grid-admin{padding:var(--spacing-lg);display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--spacing-md)}.admin-slot-item{padding:var(--spacing-lg) var(--spacing-md);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);text-align:center;font-family:inherit}.admin-slot-item.available{border-color:var(--color-success);background:var(--color-success-light)}.admin-slot-item.available:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.admin-slot-item.unavailable{border-color:var(--color-danger);background:var(--color-danger-light);opacity:.6}.admin-slot-item.unavailable:hover{opacity:.8;box-shadow:var(--shadow-md)}.admin-slot-item .slot-time{font-size:1rem;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.slot-status-badge{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-available{color:var(--color-success)}.badge-unavailable{color:var(--color-danger)}.empty-state{background:var(--color-bg-primary);border:1px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-2xl);text-align:center;min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center}.empty-icon{font-size:3rem;display:block;margin-bottom:var(--spacing-lg)}.empty-state h3{color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.empty-state p{color:var(--color-text-tertiary);margin:0}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center}.spinner{width:50px;height:50px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:var(--spacing-lg)}.loading-container p{color:var(--color-text-secondary);font-size:1rem;font-weight:500}@media (max-width: 1024px){.admin-content{grid-template-columns:1fr}.admin-sidebar{position:static}.slots-grid-admin{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}@media (max-width: 768px){.admin-page{padding:var(--spacing-md)}.admin-header{flex-direction:column;gap:var(--spacing-md);text-align:center;padding:var(--spacing-lg)}.admin-header h1{font-size:1.5rem}.login-card{padding:var(--spacing-xl)}.create-form{flex-direction:column}.slots-grid-admin{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--spacing-sm)}.empty-icon{font-size:2.5rem}}.freewifi-container{max-width:800px;margin:0 auto;padding:4rem 2rem;text-align:center;min-height:calc(100vh - 200px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem}.freewifi-container h2{font-size:2.5rem;color:var(--text-primary);margin:0;font-weight:700}.wifi-image{max-width:100%;height:auto;max-height:400px;object-fit:contain;border-radius:0;border:1px solid var(--border-color);box-shadow:none;margin-bottom:1rem}.freewifi-container h4{font-size:1.25rem;color:var(--text-secondary);margin:0;font-weight:500;line-height:1.6}.home-button{display:inline-block;padding:1rem 2.5rem;background:transparent;color:var(--text-primary);text-decoration:none;border:1px solid var(--text-primary);border-radius:0;font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.15em;transition:all .3s ease;box-shadow:none;margin-top:1.5rem;position:relative;overflow:hidden}.home-button:hover{background:var(--text-primary);color:var(--bg-primary);transform:translateY(-2px);box-shadow:4px 4px #0000001a}.home-button:active{transform:translateY(0);box-shadow:none}@media (max-width: 768px){.freewifi-container{padding:2rem 1rem}.freewifi-container h2{font-size:2rem}.wifi-image{max-height:none;padding:0 5px}.freewifi-container h4{font-size:1.1rem}.home-button{font-size:1rem;padding:.875rem 1.75rem}}:root{--color-primary: hsl(174, 62%, 47%);--color-primary-hover: hsl(174, 62%, 42%);--color-primary-light: hsl(174, 62%, 96%);--color-secondary: hsl(210, 10%, 50%);--color-secondary-hover: hsl(210, 10%, 45%);--color-success: hsl(174, 62%, 47%);--color-success-light: hsl(174, 62%, 96%);--color-danger: hsl(0, 0%, 70%);--color-danger-light: hsl(0, 0%, 96%);--color-warning: hsl(40, 80%, 55%);--color-bg-primary: hsl(0, 0%, 100%);--color-bg-secondary: hsl(0, 0%, 98%);--color-bg-tertiary: hsl(0, 0%, 95%);--color-text-primary: hsl(0, 0%, 20%);--color-text-secondary: hsl(0, 0%, 45%);--color-text-tertiary: hsl(0, 0%, 65%);--color-border: hsl(0, 0%, 88%);--color-border-hover: hsl(0, 0%, 78%);--color-shadow: hsla(0, 0%, 0%, .04);--color-shadow-lg: hsla(0, 0%, 0%, .08);--bg-primary: hsl(0, 0%, 100%);--bg-secondary: hsl(0, 0%, 98%);--text-primary: hsl(0, 0%, 20%);--text-secondary: hsl(0, 0%, 45%);--border-color: hsl(0, 0%, 88%);--accent-color: #667eea;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--shadow-sm: 0 1px 2px var(--color-shadow);--shadow-md: 0 1px 3px var(--color-shadow);--shadow-lg: 0 2px 8px var(--color-shadow-lg);--shadow-xl: 0 4px 12px var(--color-shadow-lg)}[data-theme=dark]{--color-primary: hsl(174, 62%, 47%);--color-primary-hover: hsl(174, 62%, 52%);--color-primary-light: hsl(174, 30%, 15%);--color-secondary: hsl(210, 10%, 60%);--color-secondary-hover: hsl(210, 10%, 65%);--color-success: hsl(174, 62%, 47%);--color-success-light: hsl(174, 30%, 15%);--color-danger: hsl(0, 0%, 60%);--color-danger-light: hsl(0, 0%, 20%);--color-warning: hsl(40, 80%, 60%);--color-bg-primary: hsl(0, 0%, 12%);--color-bg-secondary: hsl(0, 0%, 15%);--color-bg-tertiary: hsl(0, 0%, 18%);--color-text-primary: hsl(0, 0%, 95%);--color-text-secondary: hsl(0, 0%, 70%);--color-text-tertiary: hsl(0, 0%, 55%);--color-border: hsl(0, 0%, 25%);--color-border-hover: hsl(0, 0%, 35%);--color-shadow: hsla(0, 0%, 0%, .2);--color-shadow-lg: hsla(0, 0%, 0%, .4);--bg-primary: hsl(0, 0%, 12%);--bg-secondary: hsl(0, 0%, 15%);--text-primary: hsl(0, 0%, 95%);--text-secondary: hsl(0, 0%, 70%);--border-color: hsl(0, 0%, 25%);--accent-color: #8b9cff}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background:var(--color-bg-secondary);color:var(--color-text-primary);line-height:1.6;min-height:100vh;transition:background var(--transition-base),color var(--transition-base)}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;margin-bottom:var(--spacing-md);color:var(--color-text-primary)}h1,h2,h3,h4,h5,h6{font-family:Playfair Display,serif;font-weight:700;line-height:1.2}h1{font-size:3rem}h2{font-size:2.5rem}h3{font-size:1.75rem}p{margin-bottom:var(--spacing-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:1rem 2rem;font-size:.875rem;font-weight:600;font-family:Inter,sans-serif;text-transform:uppercase;letter-spacing:.15em;border:2px solid transparent;border-radius:0;cursor:pointer;transition:all .3s ease;text-decoration:none;white-space:nowrap}.btn-primary{background:var(--color-text-primary);color:var(--color-bg-primary);border-color:var(--color-text-primary)}.btn-primary:hover{background:transparent;color:var(--color-text-primary);transform:translateY(-2px)}.btn-secondary{background:transparent;color:var(--color-text-primary);border-color:var(--color-text-primary)}.btn-secondary:hover{background:var(--color-text-primary);color:var(--color-bg-primary);transform:translateY(-2px)}.btn-outline{background:transparent;color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-outline:hover{border-color:var(--color-text-primary)}.btn-sm{padding:.5rem 1.5rem;font-size:.75rem}.btn-lg{padding:1.25rem 3rem;font-size:1rem}.card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);transition:all var(--transition-base)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;margin-bottom:var(--spacing-sm);font-weight:600;color:var(--color-text-primary);font-size:.95rem}.form-input{width:100%;padding:var(--spacing-md);font-size:1rem;font-family:inherit;background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border);transition:all var(--transition-base)}.form-input:focus{outline:none;border-color:var(--color-primary)}.form-input::placeholder{color:var(--color-text-tertiary)}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.text-center{text-align:center}.mt-auto{margin-top:auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out}.animate-slide-in{animation:slideIn var(--transition-base) ease-out}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}@media (max-width: 768px){html{font-size:14px}h1{font-size:2rem}h2{font-size:1.5rem}.container{padding:0 var(--spacing-md)}}.app-wrapper{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1}.calendar-page{min-height:calc(100vh - 200px)}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;padding:2rem}.spinner{width:50px;height:50px;border:4px solid var(--border-color);border-top-color:var(--accent-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.retry-btn{margin-top:1rem;padding:.75rem 1.5rem;background:var(--accent-color);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.retry-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}button,.btn,.nav-link,.game-tab{position:relative;overflow:hidden}button:before,.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff6;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease;pointer-events:none}button:active:before,.btn:active:before{width:300px;height:300px}.gradient-bg{background:linear-gradient(270deg,#667eea,#764ba2,#f093fb);background-size:600% 600%;animation:gradientShift 15s ease infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.glass-effect{background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #1f268726}[data-theme=dark] .glass-effect{background:#0003;border:1px solid rgba(255,255,255,.1)}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-5px);box-shadow:0 10px 30px #00000026}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.skeleton{background:linear-gradient(90deg,var(--color-bg-secondary) 0%,var(--color-bg-tertiary) 50%,var(--color-bg-secondary) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:4px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.fade-in{animation:fadeIn .6s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.scale-in{animation:scaleIn .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.slide-in-left{animation:slideInLeft .5s ease-out}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.slide-in-right{animation:slideInRight .5s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.stagger-item{opacity:0;animation:fadeIn .6s ease-out forwards}.stagger-item:nth-child(1){animation-delay:.1s}.stagger-item:nth-child(2){animation-delay:.2s}.stagger-item:nth-child(3){animation-delay:.3s}.stagger-item:nth-child(4){animation-delay:.4s}.stagger-item:nth-child(5){animation-delay:.5s}.stagger-item:nth-child(6){animation-delay:.6s}.stagger-item:nth-child(7){animation-delay:.7s}.stagger-item:nth-child(8){animation-delay:.8s}.glow{box-shadow:0 0 20px #667eea4d;transition:box-shadow .3s ease}.glow:hover{box-shadow:0 0 30px #667eea80}.parallax-container{position:relative;overflow:hidden}.parallax-bg{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background-size:cover;background-position:center;will-change:transform}.smooth-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}input:focus,textarea:focus,select:focus{outline:none;box-shadow:0 0 0 3px #667eea1a;border-color:var(--accent-color)}.loading-dots:after{content:"";animation:loadingDots 1.5s infinite}@keyframes loadingDots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.bounce{animation:bounce 1s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.shimmer{position:relative;overflow:hidden}.shimmer:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{to{left:100%}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
