:root{--bg-color: #0a0a0a;--text-color: #ffffff;--accent-color: #d4af37;--accent-secondary: #f4d03f;--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--font-main: "Inter", sans-serif;--font-heading: "Outfit", sans-serif;--success: #27ae60}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-main);overflow-x:hidden;line-height:1.6}h1,h2,h3{font-family:var(--font-heading)}.glass{background:var(--glass-bg);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid var(--glass-border);border-radius:20px}.top-nav{position:fixed;top:20px;left:50%;transform:translate(-50%);width:90%;max-width:800px;padding:15px 30px;display:flex;justify-content:space-between;align-items:center;z-index:100;border-radius:50px}.logo{font-family:var(--font-heading);font-weight:800;font-size:1.5rem;color:var(--accent-color)}.quest-teaser{font-size:.9rem;font-weight:600}.hero-section{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;text-align:center;padding:20px;background:radial-gradient(circle at center,#1a1a1a,#0a0a0a)}.name-highlight{color:var(--accent-color);text-shadow:0 0 30px rgba(212,175,55,.5);display:inline-block;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.hero-content{z-index:2;max-width:800px}.pre-title{font-size:1rem;color:var(--accent-color);text-transform:uppercase;letter-spacing:.3rem;margin-bottom:10px;opacity:0}.main-title{font-size:clamp(3rem,12vw,7rem);font-weight:800;margin-bottom:20px;line-height:.9;opacity:0}.subtitle{font-size:1.1rem;opacity:.7;max-width:500px;margin:0 auto 40px;opacity:0}.collage-section{padding:40px 20px;min-height:auto}.section-header{text-align:center;margin-bottom:30px}.section-header h2{font-size:clamp(2rem,8vw,3.5rem);color:var(--accent-color);margin-bottom:10px}.collage-container{width:100%;height:75vh;position:relative;overflow:hidden;border-radius:30px;border:1px solid var(--glass-border);background:#111;cursor:grab;box-shadow:0 20px 50px #00000080}#collage-canvas{width:100%;height:100%;touch-action:none}.zoom-controls{position:absolute;bottom:20px;right:20px;display:flex;flex-direction:column;gap:12px;z-index:10}.zoom-controls button{width:54px;height:54px;border-radius:50%;border:1px solid var(--glass-border);background:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-size:1.5rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #0000004d}.zoom-controls button.reset-btn{width:auto;padding:0 20px;height:54px;border-radius:27px;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.1rem}.zoom-controls button:hover{background:var(--accent-color);color:#000;transform:scale(1.05)}.zoom-controls button:active{transform:scale(.95)}.riddle-section{padding:40px 20px;max-width:1000px;margin:0 auto}.riddle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px}.riddle-card{padding:40px 30px;text-align:center;transition:transform .3s ease,border-color .3s ease;position:relative;overflow:hidden}.riddle-card.solved{border-color:var(--success)}.riddle-card.solved .riddle-icon{color:var(--success);transform:scale(1.2)}.riddle-icon{font-size:2.5rem;margin-bottom:20px;display:block;transition:transform .5s ease}.riddle-text{font-size:1.1rem;margin-bottom:25px;min-height:60px}.riddle-input-group{display:flex;gap:10px}.riddle-input-group input{flex-grow:1;padding:12px 15px;border-radius:10px;border:1px solid var(--glass-border);background:#0000004d;color:#fff;font-family:inherit;outline:none}.check-btn{padding:0 20px;border-radius:10px;border:none;background:var(--accent-color);color:#000;font-weight:700;cursor:pointer}.heart-target{font-size:3rem;cursor:pointer;display:inline-block;animation:heartbeat 1.5s infinite;-webkit-user-select:none;user-select:none}@keyframes heartbeat{0%{transform:scale(1)}10%{transform:scale(1.2)}20%{transform:scale(1)}30%{transform:scale(1.2)}40%{transform:scale(1)}}.secret-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10000;display:none;align-items:center;justify-content:center;text-align:center}.modal-content{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);padding:50px;border-radius:30px;max-width:450px;width:90%;box-shadow:0 30px 100px #000c}.modal-emoji{font-size:4rem;margin-bottom:20px}.music-section{padding:40px 20px}.music-player{max-width:550px;margin:0 auto;padding:40px;position:relative;background:#0006;border:1px solid rgba(255,0,255,.2);box-shadow:0 0 30px #d4af371a;overflow:hidden}.music-player:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(212,175,55,.05) 0%,transparent 70%);animation:rotateNeon 10s linear infinite;z-index:-1}@keyframes rotateNeon{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.player-info{margin-bottom:30px}.song-title{font-size:1.8rem;letter-spacing:.1rem;text-transform:uppercase;color:#fff;text-shadow:0 0 10px rgba(255,255,255,.5)}.song-artist{color:var(--accent-color);font-weight:600;margin-top:5px}.music-controls{display:flex;flex-direction:column;align-items:center;gap:25px;width:100%}.play-btn{width:70px;height:70px;background:var(--accent-color);border:none;border-radius:50%;font-size:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 0 20px #d4af3766;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.play-btn:hover{transform:scale(1.1);box-shadow:0 0 30px #d4af3799}.progress-container{width:100%;display:flex;flex-direction:column;gap:10px}.seek-bar{width:100%;height:6px;-webkit-appearance:none;background:#ffffff1a;border-radius:10px;outline:none;cursor:pointer}.seek-bar::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;background:var(--accent-color);border-radius:50%;cursor:pointer;box-shadow:0 0 10px #d4af3780;border:3px solid #fff}.time-display{font-size:.9rem;font-family:Inter,sans-serif;opacity:.8;color:#fff}.heart-target{position:fixed;bottom:20px;right:20px;font-size:2rem;z-index:50;cursor:pointer;filter:drop-shadow(0 0 10px rgba(212,175,55,.3))}footer{text-align:center;padding:60px 20px;opacity:.8;font-size:.9rem;margin-top:50px;width:100%}footer p{max-width:600px;margin:0 auto}.community-section{padding:20px;max-width:1200px;margin:0 auto}.timeline{position:relative;margin:50px 0;padding:20px 0}.timeline:before{content:"";position:absolute;left:50%;width:2px;height:100%;background:var(--accent-color);transform:translate(-50%)}.timeline-item{width:45%;margin-bottom:50px;position:relative}.timeline-item:nth-child(2n){margin-left:auto}.timeline-content{padding:20px;background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:15px}.timeline-year{font-family:var(--font-heading);font-weight:800;color:var(--accent-color);font-size:1.5rem;margin-bottom:10px}.guestbook-list{display:flex;flex-direction:column;gap:20px}.guestbook-entry{padding:20px;border-radius:15px}.entry-author{font-weight:800;color:var(--accent-color);margin-bottom:5px}.soundboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:20px}.sound-card{padding:20px;text-align:center;cursor:pointer;transition:transform .3s ease}.sound-card:hover{transform:scale(1.05);border-color:var(--accent-color)}.bucketlist-item{display:flex;align-items:center;gap:15px;padding:15px;border-bottom:1px solid var(--glass-border)}.bucketlist-item:last-child{border-bottom:none}.locked-section{filter:blur(5px);pointer-events:none;position:relative}.locked-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#00000080;z-index:10;border-radius:20px}.unlock-msg{background:var(--accent-color);color:#000;padding:10px 20px;border-radius:30px;font-weight:700}.life-counter{text-align:center;padding:30px 20px;margin:20px auto;max-width:800px}.counter-grid{display:flex;flex-direction:column;gap:15px;margin-top:20px;max-width:400px;margin-left:auto;margin-right:auto}.counter-unit{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:#ffffff0d;padding:15px 25px;border-radius:15px;border:1px solid rgba(255,255,255,.1);text-align:left}.unit-value{font-size:clamp(1.5rem,6vw,2.5rem);font-weight:800;color:var(--accent-color)}.unit-label{font-size:1rem;opacity:.6;text-transform:uppercase;letter-spacing:2px;text-align:right}.unit-value{font-size:clamp(1.2rem,5vw,2.2rem);font-weight:800;color:var(--accent-color);word-break:break-all}.unit-label{font-size:.7rem;text-transform:uppercase;opacity:.6}.certificate-paper{background:#fdfdfd!important;background-image:radial-gradient(#e0e0e0 1px,transparent 1px)!important;background-size:20px 20px!important;padding:60px!important;color:#1a1a1a!important;font-family:Playfair Display,serif!important;box-shadow:0 0 50px #00000080!important;position:relative!important;overflow:hidden!important;width:800px!important;margin:0 auto!important;text-shadow:none!important}.certificate-paper *{color:#1a1a1a!important;text-shadow:none!important;background:none!important}.cert-border-outer{border:15px solid #d4af37!important;padding:5px!important}.cert-border-inner{border:2px solid #d4af37!important;padding:40px!important}.cert-content{border:1px solid rgba(212,175,55,.3)!important;padding:40px!important}.cert-decoration{font-size:3rem!important;margin-bottom:20px!important}.cert-main-title{font-size:4rem!important;font-weight:700!important;margin-bottom:0!important;text-transform:uppercase!important;letter-spacing:6px!important}.cert-divider{width:150px!important;height:3px!important;background:#d4af37!important;margin:25px auto!important}.cert-intro{font-style:italic!important;font-size:1.4rem!important;margin-bottom:30px!important}.cert-recipient{font-size:5rem!important;color:#d4af37!important;margin:30px 0!important;font-weight:700!important;text-shadow:1px 1px 0 #fff!important}.cert-description{font-size:1.3rem!important;line-height:1.6!important}.cert-title{font-size:2.8rem!important;font-weight:700!important;margin:20px 0!important}.cert-seal-box{display:flex!important;justify-content:space-around!important;align-items:center!important;margin-top:60px!important}.cert-seal{font-size:6rem!important}.cert-signature{font-style:italic!important;font-size:1.8rem!important;border-bottom:2px solid #1a1a1a!important;padding-bottom:5px!important;min-width:250px!important}.cert-footer{margin-top:50px!important;font-size:1rem!important;opacity:.6!important}.certificate-container{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}@media (max-width: 850px){.certificate-paper{transform:scale(.45);transform-origin:top center;margin-bottom:-450px!important}}@media (max-width: 500px){.certificate-paper{transform:scale(.35);margin-bottom:-550px!important}}@media (max-width: 400px){.certificate-paper{transform:scale(.3);margin-bottom:-600px!important}}@media print{body *{visibility:hidden}#certificate-to-print,#certificate-to-print *{visibility:visible}#certificate-to-print{position:absolute;left:0;top:0;width:100%;background:#fff!important}}@media (max-width: 768px){.timeline:before{left:20px}.timeline-item{width:90%;margin-left:40px!important}.counter-grid{grid-template-columns:repeat(3,1fr)}}.map-pin{transition:transform .2s;font-size:1.5rem}.map-pin:hover{transform:scale(1.5) translateY(-5px);z-index:100}.timeline-item:after{content:"📅";position:absolute;left:50%;top:0;transform:translate(-50%);background:#0a0a0a;padding:5px;border-radius:50%;border:1px solid var(--accent-color);z-index:2}@media (max-width: 768px){.timeline-item:after{left:20px}}.mouse{width:25px;height:40px;border:2px solid var(--accent-color);border-radius:20px;margin:10px auto;position:relative}.mouse:before{content:"";width:4px;height:8px;background:var(--accent-color);position:absolute;top:8px;left:50%;transform:translate(-50%);border-radius:2px;animation:mouseWheel 1.5s infinite}@keyframes mouseWheel{0%{opacity:1;top:8px}to{opacity:0;top:25px}}#friendship-map{border-radius:20px;border:1px solid var(--glass-border);overflow:hidden;box-shadow:0 10px 30px #00000080}.timeline-item.active .timeline-year{text-shadow:0 0 20px var(--accent-color);transform:scale(1.1);transition:transform .3s}.timeline-item.empty{margin-bottom:20px}.timeline-content{transition:all .3s}.timeline-item.active:hover .timeline-content{border-color:var(--accent-color);background:#d4af371a}.timeline-item.empty{margin-bottom:5px;min-height:40px}.timeline-item.empty .timeline-year{font-size:.9rem;opacity:.2}.timeline-item.empty:after{width:10px;height:10px;content:""}.scroll-indicator{position:absolute;bottom:40px;left:50%;transform:translate(-50%);z-index:10;opacity:0;text-align:center}.scroll-indicator span{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.2rem;color:var(--accent-color);margin-bottom:10px}body.rave-mode{background:#000!important;color:#fff!important}body.rave-mode .glass{background:#ff00ff1a;border-color:#f0f;box-shadow:0 0 20px #f0f3}body.rave-mode .name-highlight{color:#0ff;text-shadow:0 0 40px #00ffff,0 0 80px #00ffff}body.rave-mode h1,body.rave-mode h2,body.rave-mode h3{color:#f0f;text-shadow:0 0 10px #ff00ff}.disco-ball{background:none;border:none;font-size:2.5rem;cursor:pointer;transition:all .3s;animation:rotateDisco 4s linear infinite;display:flex;align-items:center;justify-content:center;position:relative;z-index:999;padding:10px;-webkit-tap-highlight-color:transparent}@keyframes rotateDisco{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#pets-container{position:fixed;bottom:20px;left:20px;display:flex;gap:15px;z-index:1000}.pet-giver{font-size:2.5rem;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);animation:petFloat 3s ease-in-out infinite}.pet-giver:hover{transform:scale(1.4) translateY(-10px)}@keyframes petFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.certificate-content{background:#fff;color:#000;padding:40px;border-radius:5px;max-width:700px;width:95%;font-family:Outfit,sans-serif}.cert-border{border:15px double var(--accent-color);padding:30px;text-align:center}.cert-header h1{font-size:3rem;margin:10px 0;color:#000}.cert-name{font-size:4rem;color:var(--accent-color);text-decoration:underline;margin:20px 0}.cert-seal{font-size:5rem;margin:20px 0}@media print{body *{visibility:hidden}#certificate-modal,#certificate-modal *{visibility:visible}#certificate-modal{position:absolute;left:0;top:0;width:100%;height:100%}}.nav-right{display:flex;align-items:center;gap:20px}.small-btn{padding:5px 15px;border-radius:20px;background:var(--accent-color);color:#000;border:none;font-weight:700;cursor:pointer}.modal.hidden{display:none!important}.modal{display:flex;position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2000;align-items:center;justify-content:center}.riddle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:25px;margin-top:50px}@media (min-width: 1200px){.riddle-grid{grid-template-columns:repeat(4,1fr)}}.modal-content,.modal{pointer-events:auto}.dark-map-tiles{filter:invert(100%) hue-rotate(180deg) brightness(95%) contrast(90%)!important}.collapsible-header{cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:15px;background:#ffffff05;border-radius:15px;transition:all .3s ease;margin-bottom:5px}.collapsible-header:hover{background:#ffffff0d}.collapsible-header .chevron{transition:transform .4s cubic-bezier(.4,0,.2,1);font-size:1.2rem;color:var(--accent-color);margin-left:15px}.collapsible-content{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(0,1,0,1);opacity:0}.collapsible-content.is-expanded{max-height:10000px;opacity:1;transition:max-height 1s ease-in-out,opacity .5s ease}.is-expanded-header .chevron{transform:rotate(180deg)}.is-expanded-header{background:#ffffff14!important;border-bottom-left-radius:0;border-bottom-right-radius:0}.stats-trigger{margin-top:20px;background:#ffffff0d;border:1px solid var(--glass-border);color:var(--text-color);padding:10px 20px;border-radius:30px;cursor:pointer;font-size:.8rem;font-weight:600;transition:all .3s ease}.stats-trigger:hover{background:var(--accent-color);color:#000;border-color:var(--accent-color)}.stats-box{max-width:600px!important}.stats-list{text-align:left;margin:30px 0;display:flex;flex-direction:column;gap:20px}.stat-item{font-size:.95rem;line-height:1.4;padding-left:10px;border-left:2px solid var(--accent-color)}.stat-item strong{display:block;color:var(--accent-color);margin-bottom:3px;font-size:.8rem;text-transform:uppercase;letter-spacing:1px}.modal-content{max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
