:root{--bg-primary: #1B1B23;--bg-secondary: #2B2D42;--bg-tertiary: #363850;--accent-primary: #8287E1;--accent-secondary: #7A82AB;--accent-hover: #9da2f0;--text-primary: #F0F7EE;--text-secondary: #c4c9c2;--text-dim: #7A82AB;--font-heading: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;font-family:var(--font-body);line-height:1.6;font-weight:400;font-size:16px;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;background:var(--bg-primary)}::selection{background:var(--accent-primary);color:var(--bg-primary)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--accent-secondary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}a{color:var(--accent-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent-hover)}@keyframes fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.app{min-height:100vh;position:relative}main{max-width:1200px;margin:0 auto}.footer{padding:3rem 2rem;text-align:center;border-top:1px solid var(--bg-tertiary)}.footer-content{max-width:1200px;margin:0 auto;display:flex;justify-content:center;align-items:center;gap:1rem}.footer-copyright{font-size:.875rem;color:var(--text-dim)}.footer-github{color:var(--text-dim);opacity:.5;transition:opacity .2s ease}.footer-github:hover{opacity:1;color:var(--text-dim)}.github-icon{width:18px;height:18px;display:block}.menu-overlay{display:none;position:fixed;inset:0;background:#00000080;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;z-index:999}.menu-overlay.open{opacity:1;visibility:visible}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1.5rem 2rem;background:#1b1b23e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .3s ease,background .3s ease}.navbar-hidden{transform:translateY(-100%)}.navbar-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.nav-logo{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;color:var(--text-primary);text-decoration:none;transition:color .2s ease}.nav-logo:hover{color:var(--accent-primary)}.nav-links{display:flex;gap:2.5rem;list-style:none}.nav-links a{font-size:.9375rem;color:var(--text-secondary);text-decoration:none;transition:color .2s ease;font-weight:500}.nav-links a:hover{color:var(--text-primary)}.menu-toggle{display:none;flex-direction:column;justify-content:center;gap:6px;width:24px;height:24px;background:transparent;border:none;cursor:pointer;padding:0;z-index:1001}.menu-toggle .bar{width:100%;height:2px;background:var(--text-primary);transition:all .3s ease;border-radius:1px}.menu-toggle.open .bar:nth-child(1){transform:rotate(45deg) translate(3px,3px)}.menu-toggle.open .bar:nth-child(2){transform:rotate(-45deg) translate(3px,-3px)}@media(max-width:768px){.menu-overlay{display:block}.navbar{padding:1rem 1.5rem;background:#1b1b23f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.menu-toggle{display:flex}.nav-links{position:fixed;top:0;right:-100%;width:70%;max-width:280px;height:100dvh;flex-direction:column;justify-content:center;align-items:center;gap:2.5rem;background:var(--bg-secondary);transition:right .3s ease;z-index:1000}.nav-links.open{right:0}.nav-links a{font-size:1.25rem}}.theme-christmas .snowflake{position:fixed;top:-10px;color:#fffc;font-size:1rem;pointer-events:none;z-index:9999;animation:snowfall linear infinite;text-shadow:0 0 5px rgba(255,255,255,.5)}@keyframes snowfall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(360deg);opacity:.3}}.theme-christmas .navbar{background:#1a1f1af2!important;border-bottom:2px solid rgba(231,76,60,.4)!important}.theme-christmas .hero-title{background:linear-gradient(135deg,#e74c3c,#27ae60,#e74c3c)!important;background-size:200% auto!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;animation:christmas-shimmer 4s linear infinite!important}.theme-christmas .nav-logo{background:linear-gradient(135deg,#e74c3c,#27ae60)!important;background-size:200% auto!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;animation:christmas-shimmer 4s linear infinite!important}@keyframes christmas-shimmer{0%{background-position:0% center}to{background-position:200% center}}.theme-halloween .navbar{background:#1a1515f2!important;border-bottom:2px solid rgba(255,107,0,.4)!important;box-shadow:0 0 20px #9b59b633!important}.theme-halloween{--spooky-glow: 0 0 20px rgba(255, 107, 0, .3)}.theme-halloween .hero-title,.theme-halloween .page-title{text-shadow:var(--spooky-glow)!important;color:#ff6b00!important}.theme-halloween .nav-logo{text-shadow:0 0 10px rgba(155,89,182,.5)!important;color:#9b59b6!important}.theme-birthday .navbar{background:#1a1a2ef2!important;border-bottom:2px solid rgba(255,105,180,.4)!important}.theme-birthday .confetti{position:fixed;width:10px;height:10px;pointer-events:none;z-index:9999;animation:confetti-fall linear infinite}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.theme-birthday .hero-title{background:linear-gradient(135deg,#ff69b4,gold,#ff69b4)!important;background-size:200% auto!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;animation:birthday-shimmer 3s linear infinite!important}.theme-birthday .nav-logo{background:linear-gradient(135deg,#ff69b4,gold)!important;background-size:200% auto!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;animation:birthday-shimmer 3s linear infinite!important}@keyframes birthday-shimmer{0%{background-position:0% center}to{background-position:200% center}}.theme-pride .navbar{background:#1b1b23f2!important}.theme-pride{--pride-red: #E40303;--pride-orange: #FF8C00;--pride-yellow: #FFED00;--pride-green: #008026;--pride-blue: #24408E;--pride-purple: #732982;--pride-gradient: linear-gradient( 90deg, var(--pride-red) 0%, var(--pride-orange) 20%, var(--pride-yellow) 40%, var(--pride-green) 60%, var(--pride-blue) 80%, var(--pride-purple) 100% );--pride-gradient-animated: linear-gradient( 90deg, var(--pride-red) 0%, var(--pride-orange) 16.66%, var(--pride-yellow) 33.33%, var(--pride-green) 50%, var(--pride-blue) 66.66%, var(--pride-purple) 83.33%, var(--pride-red) 100% )}.theme-pride .hero-title,.theme-pride .nav-logo{background:var(--pride-gradient)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;animation:none!important}.theme-pride .navbar:after{content:"";position:absolute;bottom:0;left:0;right:0;height:4px;background:var(--pride-gradient-animated);background-size:200% 100%;animation:pride-shimmer 8s linear infinite}@keyframes pride-shimmer{0%{background-position:0% center}to{background-position:200% center}}.theme-badge{position:fixed;bottom:1rem;left:1rem;padding:.5rem 1rem;background:var(--bg-secondary);border-radius:100px;font-size:.75rem;color:var(--text-dim);display:flex;align-items:center;gap:.5rem;z-index:100;opacity:.8;transition:opacity .3s ease}.theme-badge:hover{opacity:1}.theme-badge-icon{font-size:1rem}.theme-christmas .theme-badge-icon:before{content:"🎄"}.theme-halloween .theme-badge-icon:before{content:"🎃"}.theme-birthday .theme-badge-icon:before{content:"🎂"}.theme-pride .theme-badge-icon:before{content:"🏳️‍🌈"}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:6rem 2rem;position:relative}.hero-content{max-width:800px;width:100%}.hero-text{animation:fade-in .8s ease-out}.hero-greeting{font-size:1.125rem;color:var(--accent-primary);margin-bottom:.5rem;font-weight:500}.hero-title{font-family:var(--font-heading);font-size:4rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem;line-height:1.1}.hero-subtitle{font-size:1.5rem;color:var(--text-secondary);margin-bottom:1.5rem;font-weight:400}.hero-description{font-size:1.125rem;color:var(--text-dim);max-width:600px;line-height:1.8}.scroll-indicator{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;animation:bounce 2s ease-in-out infinite;transition:opacity .1s ease;z-index:100}.scroll-text{font-size:.875rem;font-weight:500;color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em}.scroll-arrow{width:20px;height:20px;color:var(--accent-primary)}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(8px)}}@media(max-width:768px){.hero{padding:4rem 1.5rem;min-height:100dvh}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.25rem}.hero-description{font-size:1rem}.scroll-indicator{bottom:1.5rem}.scroll-arrow{width:18px;height:18px}}.projects-page{padding:8rem 2rem 6rem;min-height:100vh}.page-container{max-width:1000px;margin:0 auto}.page-header{margin-bottom:3rem;animation:fade-in .6s ease-out}.page-title{font-family:var(--font-heading);font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem}.page-intro{font-size:1.125rem;color:var(--text-dim)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.project-card{background:var(--bg-secondary);border-radius:12px;overflow:hidden;opacity:0;animation:fade-in .6s ease-out forwards;transition:transform .2s ease,box-shadow .2s ease}.project-card.has-media{cursor:pointer}.project-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000004d}.project-card:hover .expand-overlay{opacity:1}.project-card:hover .expand-icon{transform:scale(1.1)}.project-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--bg-tertiary)}.project-video,.project-image{width:100%;height:100%;object-fit:cover}.placeholder-art{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%)}.placeholder-text{font-size:.875rem;color:var(--text-dim);font-weight:500}.expand-overlay{position:absolute;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.expand-icon{width:48px;height:48px;color:#fff;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3));transition:transform .3s ease}.project-info{padding:1.25rem}.project-title{font-family:var(--font-heading);font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:.375rem}.project-description{font-size:.9375rem;color:var(--text-secondary)}.project-modal-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;animation:fade-in .2s ease-out}.project-modal{background:var(--bg-secondary);border-radius:12px;max-width:900px;width:100%;overflow:hidden;position:relative}.modal-media-container{position:relative;width:100%;background:#000}.modal-video,.modal-image{width:100%;height:auto;display:block;max-height:70vh;object-fit:contain}.modal-description{font-size:1rem;color:var(--text-dim)}@media(max-width:768px){.projects-page{padding:6rem 1.5rem 4rem}.page-title{font-size:2rem}.projects-grid{grid-template-columns:1fr}.project-card:hover{transform:none}.expand-overlay{opacity:1;background:#0000004d}.expand-icon{width:40px;height:40px}.project-modal-overlay,.modal-info{padding:1rem}.modal-title{font-size:1.1rem}}.music-page{padding:8rem 2rem 6rem;min-height:100vh}.music-page .page-container{max-width:1000px;margin:0 auto}.music-page .page-header{margin-bottom:3rem;animation:fade-in .6s ease-out}.music-page .page-title{font-family:var(--font-heading);font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem}.music-page .page-intro{font-size:1.125rem;color:var(--text-dim)}.songs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.song-card{background:var(--bg-secondary);border-radius:12px;overflow:hidden;opacity:0;animation:slide-in .5s ease-out forwards;transition:transform .3s ease,box-shadow .3s ease}.song-card.has-video{cursor:pointer}.song-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000004d}.song-card:hover .play-overlay{opacity:1}.song-card:hover .play-button{transform:scale(1.1)}.song-card:hover .song-thumbnail img{transform:scale(1.05)}.song-thumbnail{position:relative;aspect-ratio:16 / 9;overflow:hidden;background:var(--bg-tertiary)}.song-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.thumbnail-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%)}.thumbnail-placeholder svg{width:48px;height:48px;color:var(--text-dim);opacity:.5}.play-overlay{position:absolute;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.play-button{width:56px;height:56px;color:#fff;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3));transition:transform .3s ease}.song-details{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.25rem}.song-title{font-size:1rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-artist{font-size:.875rem;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-modal-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;animation:fade-in .2s ease-out}.video-modal{background:var(--bg-secondary);border-radius:12px;max-width:900px;width:100%;overflow:hidden;position:relative}.modal-close{position:absolute;top:1rem;right:1rem;width:40px;height:40px;background:var(--bg-tertiary);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:background .2s ease}.modal-close:hover{background:var(--accent-primary)}.modal-close svg{width:20px;height:20px;color:var(--text-primary)}.modal-video-container{position:relative;width:100%;padding-top:56.25%;background:#000}.modal-video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.modal-info{padding:1.25rem 1.5rem}.modal-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.modal-artist{font-size:1rem;color:var(--text-dim)}@media(max-width:768px){.music-page{padding:6rem 1.5rem 4rem}.music-page .page-title{font-size:2rem}.songs-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.song-card:hover{transform:none}.play-overlay{opacity:1;background:#0000004d}.play-button{width:48px;height:48px}.video-modal-overlay,.modal-info{padding:1rem}.modal-title{font-size:1.1rem}}@media(max-width:480px){.songs-grid{grid-template-columns:1fr}}.contact-page{padding:8rem 2rem 6rem;min-height:100vh}.contact-page .page-container{max-width:800px;margin:0 auto}.contact-page .page-header{margin-bottom:3rem;animation:fade-in .6s ease-out;text-align:center}.contact-page .page-title{font-family:var(--font-heading);font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem}.contact-page .page-intro{font-size:1.125rem;color:var(--text-dim)}.featured-social{display:block;position:relative;padding:2rem;background:var(--bg-secondary);border-radius:20px;text-decoration:none;margin-bottom:2rem;overflow:hidden;animation:slide-in .6s ease-out;transition:transform .3s ease,box-shadow .3s ease}.featured-social:hover{transform:translateY(-4px);box-shadow:0 20px 60px #0006}.featured-glow{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,var(--glow-color, rgba(88, 101, 242, .15)) 0%,transparent 50%);opacity:0;transition:opacity .4s ease;pointer-events:none}.featured-social:hover .featured-glow{opacity:1}.social-discord .featured-glow{--glow-color: rgba(88, 101, 242, .2)}.social-youtube .featured-glow{--glow-color: rgba(255, 0, 0, .15)}.social-twitch .featured-glow{--glow-color: rgba(145, 70, 255, .2)}.featured-content{display:flex;align-items:center;gap:1.5rem;position:relative;z-index:1}.featured-icon-wrapper{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:20px;flex-shrink:0;transition:transform .3s ease,background .3s ease}.featured-social:hover .featured-icon-wrapper{transform:scale(1.05) rotate(-3deg)}.featured-icon-wrapper .social-icon{width:40px;height:40px}.featured-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.featured-tagline{font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;opacity:.6}.featured-name{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;color:var(--text-primary)}.featured-handle{font-size:1rem;color:var(--text-dim)}.featured-cta{position:absolute;bottom:2rem;right:2rem;display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--bg-tertiary);border-radius:100px;font-size:.9375rem;font-weight:600;color:var(--text-primary);transition:all .3s ease}.featured-cta svg{width:18px;height:18px;transition:transform .3s ease}.featured-social:hover .featured-cta{background:var(--accent-primary);color:var(--bg-primary)}.featured-social:hover .featured-cta svg{transform:translate(4px)}.social-discord .featured-icon-wrapper{color:#5865f2}.social-youtube .featured-icon-wrapper{color:red}.social-twitch .featured-icon-wrapper{color:#9146ff}.social-discord .featured-tagline{color:#5865f2}.social-youtube .featured-tagline{color:red}.social-twitch .featured-tagline{color:#9146ff}.socials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;justify-items:center}.social-card{position:relative;display:block;width:100%;max-width:320px;padding:1.5rem;background:var(--bg-secondary);border-radius:16px;text-decoration:none;opacity:0;animation:slide-in .5s ease-out forwards;overflow:hidden;transition:transform .3s ease}.social-card:hover{transform:translateY(-4px)}.card-bg{position:absolute;inset:0;opacity:0;transition:opacity .3s ease}.social-card:hover .card-bg{opacity:1}.social-youtube .card-bg{background:linear-gradient(135deg,rgba(255,0,0,.1) 0%,transparent 60%)}.social-twitch .card-bg{background:linear-gradient(135deg,rgba(145,70,255,.1) 0%,transparent 60%)}.social-letterboxd .card-bg{background:linear-gradient(135deg,rgba(0,224,84,.1) 0%,transparent 60%)}.social-pinterest .card-bg{background:linear-gradient(135deg,rgba(230,0,35,.1) 0%,transparent 60%)}.social-characterhub .card-bg{background:linear-gradient(135deg,rgba(124,77,255,.1) 0%,transparent 60%)}.social-bluesky .card-bg{background:linear-gradient(135deg,rgba(0,133,255,.1) 0%,transparent 60%)}.card-content{position:relative;z-index:1;display:flex;align-items:flex-start;gap:1rem}.social-card .social-icon-wrapper{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:12px;flex-shrink:0;transition:transform .3s ease}.social-card:hover .social-icon-wrapper{transform:scale(1.1) rotate(-5deg)}.social-card .social-icon{width:24px;height:24px}.social-card .social-info{flex:1;display:flex;flex-direction:column;gap:.125rem;min-width:0}.social-tagline{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;opacity:.5;color:var(--text-primary)}.social-name{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.social-handle{font-size:.875rem;color:var(--text-dim)}.social-arrow{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--text-dim);opacity:0;transform:translate(-8px,8px);transition:all .3s ease}.social-arrow svg{width:20px;height:20px}.social-card:hover .social-arrow{opacity:1;transform:translate(0)}.social-youtube .social-icon-wrapper{color:red}.social-twitch .social-icon-wrapper{color:#9146ff}.social-letterboxd .social-icon-wrapper{color:#00e054}.social-pinterest .social-icon-wrapper{color:#e60023}.social-characterhub .social-icon-wrapper{color:#7c4dff}.social-bluesky .social-icon-wrapper{color:#0085ff}.social-youtube .social-tagline{color:red}.social-twitch .social-tagline{color:#9146ff}.social-letterboxd .social-tagline{color:#00e054}.social-pinterest .social-tagline{color:#e60023}.social-characterhub .social-tagline{color:#7c4dff}.social-bluesky .social-tagline{color:#0085ff}.badges-section{margin-top:3rem;animation:fade-in .8s ease-out .5s backwards}.badges-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.badge-link{display:block;transition:transform .2s ease,filter .2s ease}.badge-link:hover{transform:scale(1.05)}.badge-img{display:block;height:31px;width:auto;image-rendering:pixelated}@media(max-width:768px){.contact-page{padding:6rem 1.5rem 4rem}.contact-page .page-title{font-size:2rem}.featured-social{padding:1.5rem}.featured-content{flex-direction:column;text-align:center;gap:1rem}.featured-icon-wrapper{width:64px;height:64px}.featured-icon-wrapper .social-icon{width:32px;height:32px}.featured-name{font-size:1.5rem}.featured-cta{position:relative;bottom:auto;right:auto;margin-top:1rem;justify-content:center;width:100%}.socials-grid{grid-template-columns:1fr}.social-card{max-width:none;padding:1.25rem}.social-arrow{opacity:.5;transform:none}.contact-footer{margin-top:3rem}}@keyframes slide-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.videos-page{padding:8rem 2rem 6rem;min-height:100vh}.videos-page .page-container{max-width:1000px;margin:0 auto}.videos-page .page-header{margin-bottom:3rem;animation:fade-in .6s ease-out}.videos-page .page-title{font-family:var(--font-heading);font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem}.videos-page .page-intro{font-size:1.125rem;color:var(--text-dim)}.videos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}.video-card{background:var(--bg-secondary);border-radius:12px;overflow:hidden;opacity:0;animation:fade-in .6s ease-out forwards;transition:transform .2s ease,box-shadow .2s ease}.video-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000004d}.video-embed{position:relative;width:100%;padding-top:56.25%;background:var(--bg-tertiary)}.video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%}.video-error{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:.875rem}.video-info{padding:1.25rem}.video-title{font-family:var(--font-heading);font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:.375rem}.video-subtitle{font-size:.9375rem;color:var(--text-secondary)}@media(max-width:768px){.videos-page{padding:6rem 1.5rem 4rem}.videos-page .page-title{font-size:2rem}.videos-grid{grid-template-columns:1fr}}.blog-page{padding:8rem 2rem 6rem;min-height:100vh}.blog-page .section-container{opacity:1;transform:none}.page-title{font-family:var(--font-heading);font-size:3rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.page-intro{font-size:1.125rem;color:var(--text-dim);margin-bottom:3rem}.posts-list{display:flex;flex-direction:column;gap:1rem}.post-card{display:block;padding:1.5rem;background:var(--bg-secondary);border-radius:12px;text-decoration:none;opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease,background .2s ease}.section-container.animate-in .post-card{opacity:1;transform:translateY(0)}.post-card:hover{background:var(--bg-tertiary)}.post-date{font-size:.875rem;color:var(--text-dim);display:block;margin-bottom:.5rem}.post-title{font-family:var(--font-heading);font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.post-excerpt{font-size:1rem;color:var(--text-secondary);line-height:1.6}.no-posts{color:var(--text-dim);font-style:italic}@media(max-width:768px){.blog-page{padding:6rem 1.5rem 4rem}.page-title{font-size:2rem}.post-title{font-size:1.25rem}}.blog-post-page{padding:8rem 2rem 6rem;min-height:100vh}.blog-post-page .section-container{max-width:720px;opacity:1;transform:none}.back-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.9375rem;color:var(--text-dim);text-decoration:none;margin-bottom:2rem;transition:color .2s ease}.back-link:hover{color:var(--accent-primary)}.back-link:before{content:"←"}.post-content{animation:fade-in .6s ease-out}.post-header{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--bg-tertiary)}.post-header .post-date{font-size:.9375rem;color:var(--text-dim);display:block;margin-bottom:.75rem}.post-header .post-title{font-family:var(--font-heading);font-size:2.5rem;font-weight:700;color:var(--text-primary);line-height:1.2}.post-media-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.post-media-gallery:has(.gallery-item:only-child){grid-template-columns:1fr}.gallery-item{position:relative;aspect-ratio:16 / 10;border-radius:12px;overflow:hidden;background:var(--bg-secondary);cursor:pointer}.gallery-item:only-child{aspect-ratio:16 / 9}.gallery-image,.gallery-video{width:100%;height:100%;object-fit:cover;display:block}.gallery-overlay{position:absolute;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-overlay .expand-icon{width:40px;height:40px;color:#fff;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}.post-media{margin-bottom:2rem;border-radius:12px;overflow:hidden;background:var(--bg-secondary)}.post-image,.post-video{width:100%;height:auto;display:block}.media-modal-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;animation:fade-in .2s ease-out}.media-modal{background:var(--bg-secondary);border-radius:12px;max-width:900px;width:100%;overflow:hidden;position:relative}.media-modal .modal-close{position:absolute;top:1rem;right:1rem;width:40px;height:40px;background:var(--bg-tertiary);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:background .2s ease}.media-modal .modal-close:hover{background:var(--accent-primary)}.media-modal .modal-close svg{width:20px;height:20px;color:var(--text-primary)}.media-modal .modal-media-container{position:relative;width:100%;background:#000}.media-modal .modal-video,.media-modal .modal-image{width:100%;height:auto;display:block;max-height:80vh;object-fit:contain}.post-body{font-size:1.0625rem;line-height:1.8;color:var(--text-secondary)}.post-body p{margin-bottom:1.5rem}.post-body h2{font-family:var(--font-heading);font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-top:2.5rem;margin-bottom:1rem}.post-body h3{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-top:2rem;margin-bottom:.75rem}.post-body ul,.post-body ol{margin-bottom:1.5rem;padding-left:1.5rem}.post-body li{margin-bottom:.5rem}.post-body a{color:var(--accent-primary);text-decoration:underline;text-underline-offset:2px}.post-body a:hover{color:var(--accent-hover)}.post-body code{font-family:SF Mono,Fira Code,monospace;font-size:.9em;background:var(--bg-tertiary);padding:.2em .4em;border-radius:4px}.post-body pre{background:var(--bg-secondary);padding:1.25rem;border-radius:8px;overflow-x:auto;margin-bottom:1.5rem}.post-body pre code{background:none;padding:0}.post-body blockquote{border-left:3px solid var(--accent-primary);padding-left:1.25rem;margin:1.5rem 0;font-style:italic;color:var(--text-dim)}.post-body img{max-width:100%;height:auto;border-radius:8px;margin:1.5rem 0}@media(max-width:768px){.blog-post-page{padding:6rem 1.5rem 4rem}.post-header .post-title{font-size:1.75rem}.post-body{font-size:1rem}.post-media-gallery{grid-template-columns:1fr}.gallery-overlay{opacity:1;background:#0000004d}.media-modal-overlay{padding:1rem}}.admin-page{padding:6rem 2rem;min-height:100vh}.admin-login{max-width:300px;margin:4rem auto;text-align:center}.admin-login h1{font-family:var(--font-heading);font-size:2rem;color:var(--text-primary);margin-bottom:2rem}.admin-login form{display:flex;flex-direction:column;gap:1rem}.admin-login input{padding:.75rem 1rem;font-size:1rem;background:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:8px;color:var(--text-primary)}.admin-login input:focus{outline:none;border-color:var(--accent-primary)}.admin-login button{padding:.75rem 1rem;font-size:1rem;font-weight:500;background:var(--accent-primary);color:var(--bg-primary);border:none;border-radius:8px;cursor:pointer;transition:background .2s ease}.admin-login button:hover{background:var(--accent-hover)}.admin-login .error{color:#e57373;font-size:.875rem;margin-top:.5rem}.admin-container{max-width:900px;margin:0 auto}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.admin-header h1{font-family:var(--font-heading);font-size:2rem;color:var(--text-primary)}.admin-actions{display:flex;gap:.5rem}.admin-tabs{display:flex;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap}.tab{padding:.75rem 1.25rem;font-size:.9375rem;font-weight:500;background:var(--bg-secondary);color:var(--text-secondary);border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.tab:hover{background:var(--bg-tertiary);color:var(--text-primary)}.tab.active{background:var(--accent-primary);color:var(--bg-primary)}.manager h2{font-family:var(--font-heading);font-size:1.5rem;color:var(--text-primary);margin-bottom:1.5rem}.manager-note{color:var(--text-dim);margin-bottom:1.5rem}.settings-section{background:var(--bg-secondary);padding:1.5rem;border-radius:12px;margin-bottom:1.5rem}.settings-section h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--bg-tertiary)}.settings-fields{display:flex;flex-direction:column;gap:1rem}.settings-fields label{display:flex;flex-direction:column;gap:.375rem}.settings-fields label span{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.settings-fields input,.settings-fields textarea{padding:.75rem 1rem;font-size:.9375rem;font-family:inherit;background:var(--bg-primary);border:1px solid var(--bg-tertiary);border-radius:8px;color:var(--text-primary)}.settings-fields input:focus,.settings-fields textarea:focus{outline:none;border-color:var(--accent-primary)}.settings-fields textarea{resize:vertical;min-height:60px}.subsection-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin-top:1.5rem;margin-bottom:.5rem}.taglines-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.taglines-grid label span{text-transform:capitalize}.badges-manager{display:flex;flex-direction:column;gap:.75rem}.badge-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:var(--bg-primary);border-radius:8px}.badge-preview{width:88px;height:31px;object-fit:contain;image-rendering:pixelated;background:var(--bg-tertiary);border-radius:4px;flex-shrink:0}.badge-fields{display:flex;flex-direction:column;gap:.5rem;flex:1}.badge-fields input{padding:.5rem .75rem;font-size:.875rem;background:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:6px;color:var(--text-primary)}.badge-fields input:focus{outline:none;border-color:var(--accent-primary)}.add-form{background:var(--bg-secondary);padding:1.5rem;border-radius:12px;margin-bottom:2rem}.add-form h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.add-form input,.add-form textarea{display:block;width:100%;padding:.75rem 1rem;font-size:.9375rem;font-family:inherit;background:var(--bg-primary);border:1px solid var(--bg-tertiary);border-radius:8px;color:var(--text-primary);margin-bottom:.75rem}.add-form input:focus,.add-form textarea:focus{outline:none;border-color:var(--accent-primary)}.add-form textarea{resize:vertical;min-height:100px}.add-form button{padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;background:var(--accent-primary);color:var(--bg-primary);border:none;border-radius:8px;cursor:pointer;transition:background .2s ease}.add-form button:hover{background:var(--accent-hover)}.items-list{display:flex;flex-direction:column;gap:.75rem}.item{background:var(--bg-secondary);padding:1.25rem;border-radius:12px}.item input,.item textarea{display:block;width:100%;padding:.625rem .875rem;font-size:.9375rem;font-family:inherit;background:var(--bg-primary);border:1px solid var(--bg-tertiary);border-radius:6px;color:var(--text-primary);margin-bottom:.5rem}.item input:focus,.item textarea:focus{outline:none;border-color:var(--accent-primary)}.item textarea{resize:vertical;min-height:80px}.item-info{display:flex;flex-direction:column;gap:.25rem}.item-info strong{font-size:1rem;color:var(--text-primary)}.item-info p{font-size:.9375rem;color:var(--text-secondary);margin:0}.item-meta{font-size:.875rem;color:var(--text-dim)}.item-actions{display:flex;gap:.5rem;margin-top:.75rem}.item-actions button{padding:.5rem 1rem;font-size:.875rem;font-weight:500;background:var(--bg-tertiary);color:var(--text-primary);border:none;border-radius:6px;cursor:pointer;transition:background .2s ease}.item-actions button:hover{background:var(--accent-secondary)}.btn-secondary{padding:.625rem 1rem;font-size:.875rem;font-weight:500;background:var(--bg-tertiary);color:var(--text-primary);border:none;border-radius:6px;cursor:pointer;transition:background .2s ease}.btn-secondary:hover{background:var(--accent-secondary)}.btn-danger{background:#c62828!important;color:#fff!important}.btn-danger:hover{background:#b71c1c!important}.btn-primary{padding:.625rem 1rem;font-size:.875rem;font-weight:500;background:var(--accent-primary);color:var(--bg-primary);border:none;border-radius:6px;cursor:pointer;transition:background .2s ease}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.token-input-section{background:var(--bg-secondary);padding:1.25rem;border-radius:12px;margin-bottom:1.5rem}.token-input-section p{color:var(--text-secondary);font-size:.9375rem;margin-bottom:.75rem}.token-input-row{display:flex;gap:.75rem}.token-input-row input{flex:1;padding:.625rem .875rem;font-size:.9375rem;background:var(--bg-primary);border:1px solid var(--bg-tertiary);border-radius:6px;color:var(--text-primary)}.token-input-row input:focus{outline:none;border-color:var(--accent-primary)}.token-input-row button{padding:.625rem 1rem;font-size:.875rem;font-weight:500;background:var(--accent-primary);color:var(--bg-primary);border:none;border-radius:6px;cursor:pointer;white-space:nowrap}.token-input-row button:hover{background:var(--accent-hover)}.save-status{padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.9375rem}.save-status.success{background:#4caf5033;color:#81c784}.save-status.error{background:#f4433633;color:#e57373}.media-input-group{display:flex;gap:.5rem;align-items:stretch;margin-bottom:.75rem}.media-input-group input{flex:1;margin-bottom:0}.file-upload{display:flex;align-items:center;gap:.5rem}.file-upload input[type=file]{display:none}.file-upload-btn{padding:.75rem 1rem;font-size:.875rem;font-weight:500;background:var(--bg-tertiary);color:var(--text-primary);border:none;border-radius:8px;cursor:pointer;transition:background .2s ease;white-space:nowrap}.file-upload-btn:hover{background:var(--accent-secondary)}.file-upload-btn.uploading{opacity:.7;cursor:wait}.file-upload-error{font-size:.75rem;color:#e57373}.item .media-input-group{margin-bottom:.5rem}.item .media-input-group input{margin-bottom:0}.media-section{background:var(--bg-primary);border:1px solid var(--bg-tertiary);border-radius:8px;padding:1rem;margin-bottom:.75rem}.media-section h4{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:.75rem}.media-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-secondary);border-radius:6px;margin-bottom:.5rem}.media-type{font-size:1rem;flex-shrink:0}.media-url{flex:1;font-size:.8125rem;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-remove{width:24px;height:24px;padding:0;background:transparent;border:none;color:var(--text-dim);font-size:1.25rem;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-remove:hover{background:#c62828;color:#fff}.media-add-row{display:flex;gap:.5rem;margin-top:.75rem}.media-add-row .file-upload-btn{padding:.5rem .75rem;font-size:.8125rem}@media(max-width:768px){.admin-page{padding:5rem 1rem}.admin-header{flex-direction:column;align-items:flex-start}.admin-tabs{width:100%}.tab{flex:1;text-align:center;padding:.625rem .75rem;font-size:.8125rem}.media-input-group{flex-direction:column}.file-upload-btn{width:100%;text-align:center}}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.theme-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;background:var(--bg-secondary);border:2px solid var(--bg-tertiary);border-radius:12px;cursor:pointer;transition:all .2s ease;position:relative;text-align:center}.theme-card:hover{border-color:var(--accent-secondary);transform:translateY(-2px)}.theme-card.active{border-color:var(--accent-primary);background:var(--bg-tertiary)}.theme-card.auto-active{border-style:dashed}.theme-icon{font-size:2rem}.theme-name{font-weight:600;font-size:1rem;color:var(--text-primary)}.theme-description{font-size:.75rem;color:var(--text-dim);line-height:1.4}.theme-badge-active,.theme-badge-scheduled{position:absolute;top:.5rem;right:.5rem;padding:.25rem .5rem;border-radius:100px;font-size:.625rem;font-weight:600;text-transform:uppercase}.theme-badge-active{background:var(--accent-primary);color:var(--bg-primary)}.theme-badge-scheduled{background:var(--bg-tertiary);color:var(--text-dim)}.theme-actions{margin-top:1rem}.theme-auto-note{display:block;margin-top:.5rem;color:var(--accent-primary)}@media(max-width:768px){.theme-grid{grid-template-columns:1fr 1fr}.theme-card{padding:1rem .75rem}.theme-icon{font-size:1.5rem}.theme-name{font-size:.875rem}.theme-description{font-size:.6875rem}}
