.navbar{z-index:100;padding:1rem 2rem;padding-top:calc(1rem + env(safe-area-inset-top,0));-webkit-backdrop-filter:blur(12px);background:#050510b3;border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;transition:background .3s,box-shadow .3s;display:flex;position:fixed;top:0;left:0;right:0}.navbar.scrolled{background:#050510e6;box-shadow:0 1px #ffffff0d}.navbar-brand{letter-spacing:.2em;color:#e8e6f0;cursor:pointer;font-size:1.1rem;font-weight:300;transition:color .3s}.navbar-brand:hover{color:#d4cfff}.hamburger{cursor:pointer;z-index:101;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.hamburger span{background:#c8c3dcb3;border-radius:1px;width:22px;height:2px;transition:transform .3s,opacity .3s;display:block}.hamburger.open span:first-child{transform:translateY(7px)rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.navbar-links{gap:1.5rem;display:flex}.navbar-links a{color:#c8c3dc99;font-size:.9rem;text-decoration:none;transition:color .3s;position:relative}.navbar-links a:after{content:"";background:#8c78dc99;height:1px;transition:transform .3s;position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}.navbar-links a:hover,.navbar-links a.active{color:#d4cfff}.navbar-links a.active:after{transform:scaleX(1)}@media (width<=600px){.navbar{padding:.8rem 1rem}.hamburger{display:flex}.navbar-links{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0a0a14f2;border-left:1px solid #ffffff0d;flex-direction:column;gap:1.5rem;width:200px;height:100vh;padding:5rem 2rem 2rem;transition:transform .3s;position:fixed;top:0;right:0;transform:translate(100%)}.navbar-links.open{transform:translate(0)}.navbar-links a{font-size:1rem}}.star-background{z-index:-1;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0}.cursor-glow{pointer-events:none;z-index:0;will-change:transform;background:radial-gradient(circle,#8c78dc14 0%,#8c78dc08 40%,#0000 70%);border-radius:50%;width:400px;height:400px;position:fixed;top:0;left:0}@media (hover:none){.cursor-glow{display:none}}.loading-screen{z-index:9999;background:#0a0a12;justify-content:center;align-items:center;transition:opacity .8s;animation:.5s loadingAppear;display:flex;position:fixed;inset:0}.loading-screen.fade-out{opacity:0;pointer-events:none}.loading-content{flex-direction:column;align-items:center;gap:1.5rem;display:flex}.loading-star{background:#d4cfff;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite loadingPulse;box-shadow:0 0 20px #d4cfff99,0 0 60px #8c78dc4d}.loading-text{color:#d4cfffb3;letter-spacing:.3em;font-size:1.2rem;font-weight:300;animation:1s .2s both loadingTextFade}@keyframes loadingAppear{0%{opacity:0}to{opacity:1}}@keyframes loadingPulse{0%,to{transform:scale(1);box-shadow:0 0 20px #d4cfff99,0 0 60px #8c78dc4d}50%{transform:scale(1.8);box-shadow:0 0 30px #d4cfffcc,0 0 80px #8c78dc80}}@keyframes loadingTextFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.easter-egg-overlay{z-index:9000;pointer-events:none;position:fixed;inset:0}.easter-egg-canvas{width:100%;height:100%}.easter-egg-text{letter-spacing:.3em;color:#d4cfffe6;text-shadow:0 0 30px #8c78dc99;font-size:2rem;font-weight:300;animation:4s forwards easterEggFade;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes easterEggFade{0%{opacity:0;transform:translate(-50%,-50%)scale(.8)}20%{opacity:1;transform:translate(-50%,-50%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)scale(1.1)}}.hero{text-align:center;background:radial-gradient(at 30%,#1a1a2e 0%,#0d0d1a 60%,#050510 100%);justify-content:center;align-items:center;min-height:60vh;display:flex;position:relative;overflow:hidden}.hero:before{content:"";background-image:radial-gradient(1px 1px at 10% 20%,#fff6,#0000),radial-gradient(1px 1px at 30% 60%,#ffffff4d,#0000),radial-gradient(1.5px 1.5px at 50% 10%,#ffffff80,#0000),radial-gradient(1px 1px at 70% 40%,#fff3,#0000),radial-gradient(1px 1px at 80% 80%,#ffffff4d,#0000),radial-gradient(1.5px 1.5px at 90% 15%,#fff6,#0000),radial-gradient(1px 1px at 15% 85%,#ffffff40,#0000),radial-gradient(1px 1px at 45% 75%,#ffffff59,#0000),radial-gradient(1px 1px at 65% 55%,#fff3,#0000),radial-gradient(1.5px 1.5px at 85% 35%,#ffffff4d,#0000);animation:4s ease-in-out infinite alternate twinkle;position:absolute;inset:0}@keyframes twinkle{0%{opacity:.5}to{opacity:1}}.hero-content{z-index:1;position:relative}.hero-title,.hero-subtitle{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(20px)}.hero-title.reveal{opacity:1;transform:translateY(0)}.hero-subtitle.reveal{opacity:1;transition-delay:.2s;transform:translateY(0)}.hero-title{letter-spacing:.3em;color:#e8e6f0;text-shadow:0 0 40px #b4a0ff4d;margin:0 0 1rem;font-size:4rem;font-weight:300}.hero-subtitle{color:#c8c3dc99;letter-spacing:.15em;margin:0;font-size:1.1rem;font-weight:300}@media (width<=600px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:.95rem}}.gallery{max-width:1200px;margin:0 auto;padding:4rem 2rem}.gallery-grid{column-count:3;column-gap:1rem}.gallery-item{text-align:left;width:100%;font:inherit;cursor:pointer;break-inside:avoid;opacity:0;background:#111;border:0;border-radius:8px;margin-bottom:1rem;padding:0;transition:opacity .5s,transform .5s;display:block;position:relative;overflow:hidden;transform:translateY(20px)}.gallery-item.reveal{opacity:1;transform:translateY(0)}.gallery-img-wrap{display:block;position:relative;overflow:hidden}.gallery-img-wrap:before{content:"";z-index:1;opacity:1;background:linear-gradient(135deg,#111 0%,#1a1a2e 50%,#111 100%) 0 0/200% 200%;transition:opacity .4s;animation:1.5s infinite shimmer;position:absolute;inset:0}.gallery-img-wrap.loaded:before{opacity:0}.gallery-img-wrap img{filter:blur(20px);width:100%;transition:filter .6s,transform .6s;display:block;transform:scale(1.1)}.gallery-img-wrap.loaded img{filter:blur();transform:scale(1)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.gallery-item:hover .gallery-img-wrap.loaded img{transform:scale(1.05)}.gallery-item-overlay{color:#fffc;opacity:0;background:linear-gradient(#0000,#000000b3);padding:2rem 1rem .8rem;font-size:.85rem;transition:opacity .3s;position:absolute;bottom:0;left:0;right:0}.gallery-item:hover .gallery-item-overlay{opacity:1}.lightbox{z-index:1000;cursor:zoom-out;background:#000000eb;justify-content:center;align-items:center;animation:.25s fadeIn;display:flex;position:fixed;inset:0}.lightbox-close{color:#fffc;cursor:pointer;z-index:1001;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex;position:absolute;top:1.5rem;right:1.5rem}.lightbox-close:hover{color:#fff;background:#fff3;transform:scale(1.1)}.lightbox-img{object-fit:contain;cursor:default;border-radius:4px;max-width:90vw;max-height:90vh;animation:.3s zoomIn}.lightbox-nav{color:#ffffffb3;cursor:pointer;z-index:1001;background:#ffffff14;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{color:#fff;background:#ffffff2e;transform:translateY(-50%)scale(1.1)}.lightbox-prev{left:1.5rem}.lightbox-next{right:1.5rem}.lightbox-counter{text-align:center;color:#ffffff80;letter-spacing:.1em;width:max-content;max-width:85vw;font-size:.85rem;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.lightbox-work{margin-top:.4rem;font-size:.8rem;display:block}@keyframes zoomIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (width<=900px){.gallery-grid{column-count:2}}@media (width<=600px){.gallery-grid{column-count:1}.gallery{padding:3rem .75rem}.gallery-item-overlay{opacity:1;padding:1.2rem .75rem .6rem;font-size:.8rem}.lightbox-close{width:44px;height:44px;top:1rem;right:1rem}.lightbox-nav{width:44px;height:44px}.lightbox-prev{left:.75rem}.lightbox-next{right:.75rem}}.wallpaper{max-width:1400px;margin:0 auto;padding:80px 20px}.wallpaper-svg-filters{visibility:hidden;width:0;height:0;position:absolute}.wallpaper-empty{text-align:center;color:#ffffff80;padding:60px 20px;font-size:1.1rem}.wallpaper-showcase{aspect-ratio:16/9;background:#0000004d;border-radius:16px;margin-top:30px;position:relative;overflow:hidden;box-shadow:0 8px 32px #0006}.wallpaper-display{width:100%;height:100%;position:relative}.wallpaper-display.revealing{filter:url(#dissolve)}.wallpaper-main-img{object-fit:cover;width:100%;height:100%;display:block}.wallpaper-overlay{background:linear-gradient(#0000 60%,#000000b3 100%);align-items:flex-end;padding:30px;display:flex;position:absolute;inset:0}.wallpaper-info{color:#fff}.wallpaper-info h3{text-shadow:0 2px 8px #00000080;margin:0 0 8px;font-size:1.5rem;font-weight:600}.wallpaper-info span{color:#fffc;font-size:.9rem}.wallpaper-controls{z-index:10;gap:12px;display:flex;position:absolute;bottom:30px;right:30px}.wallpaper-btn{-webkit-backdrop-filter:blur(16px);color:#ffffffe6;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:12px;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;transition:all .3s;display:flex;box-shadow:0 2px 8px #00000026,inset 0 1px #ffffff1a}.wallpaper-btn:hover{color:#fff;background:#ffffff26;border-color:#ffffff4d;transform:translateY(-1px);box-shadow:0 4px 16px #ffffff1a,0 2px 8px #0003,inset 0 1px #ffffff26}.wallpaper-btn:active{background:#ffffff1f;transform:translateY(0)}.wallpaper-btn svg{opacity:.85;flex-shrink:0;transition:opacity .3s}.wallpaper-btn:hover svg{opacity:1}.wallpaper-btn-download{border-color:#818cf84d}.wallpaper-btn-download:hover{background:#818cf826;border-color:#818cf880;box-shadow:0 4px 20px #818cf826,0 2px 8px #0003,inset 0 1px #ffffff1a}.wallpaper-browser-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000d9;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.wallpaper-browser{background:#14141ef2;border:1px solid #ffffff1a;border-radius:16px;flex-direction:column;width:90%;max-width:1200px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 16px 48px #00000080}.wallpaper-browser-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.wallpaper-browser-header h3{color:#fff;margin:0;font-size:1.3rem}.wallpaper-browser-close{color:#fff9;cursor:pointer;background:0 0;border:none;padding:4px;transition:color .2s;display:flex}.wallpaper-browser-close:hover{color:#fff}.wallpaper-browser-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;padding:24px;display:grid;overflow-y:auto}.wallpaper-thumbnail{aspect-ratio:16/9;cursor:pointer;border:2px solid #0000;border-radius:10px;transition:all .2s;position:relative;overflow:hidden}.wallpaper-thumbnail:hover{border-color:#ffffff4d;transform:scale(1.03)}.wallpaper-thumbnail.selected{border-color:#6366f1cc;box-shadow:0 0 0 3px #6366f14d}.wallpaper-thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.wallpaper-thumb-title{color:#fff;text-shadow:0 1px 2px #00000080;background:linear-gradient(#0000,#000c);padding:8px 12px;font-size:.85rem;position:absolute;bottom:0;left:0;right:0}@media (width<=768px){.wallpaper{padding:60px 16px}.wallpaper-showcase{aspect-ratio:4/3}.wallpaper-controls{gap:8px;bottom:16px;right:16px}.wallpaper-btn{padding:10px 14px;font-size:.85rem}.wallpaper-btn span{display:none}.wallpaper-overlay{padding:20px}.wallpaper-info h3{font-size:1.2rem}.wallpaper-browser{width:95%;max-height:90vh}.wallpaper-browser-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;padding:16px}}.music{max-width:900px;margin:0 auto;padding:4rem 2rem}.section-title{letter-spacing:.15em;color:#e8e6f0;text-align:center;opacity:0;margin:0 0 2rem;font-size:1.8rem;font-weight:300;transition:opacity .6s,transform .6s;transform:translateY(15px)}.section-title.reveal{opacity:1;transform:translateY(0)}.category-tabs{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.tab{color:#c8c3dcb3;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:2rem;padding:.4rem 1.2rem;font-size:.9rem;transition:all .3s}.tab:hover{color:#e8e6f0;background:#ffffff1a}.tab.active{color:#d4cfff;background:#8c78dc40;border-color:#8c78dc66}.music-search-wrap{justify-content:center;margin-bottom:2rem;display:flex}.music-search{color:#e8e6f0;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:2rem;outline:none;width:100%;max-width:360px;padding:.55rem 1rem;font-size:.9rem;transition:all .3s}.music-search::placeholder{color:#c8c3dc59}.music-search:focus{background:#ffffff14;border-color:#8c78dc80}.song-groups{opacity:0;flex-direction:column;gap:.5rem;transition:opacity .6s .15s,transform .6s .15s;display:flex;transform:translateY(15px)}.song-groups.reveal{opacity:1;transform:translateY(0)}.song-group{background:#ffffff05;border:1px solid #ffffff0a;border-radius:10px;overflow:hidden}.song-group-header{color:#e8e6f0;cursor:pointer;background:0 0;border:none;align-items:center;gap:.6rem;width:100%;padding:.8rem 1rem;font-size:.95rem;transition:background .2s;display:flex}.song-group-header:hover{background:#ffffff08}.song-group-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.song-group-name{text-align:left;flex:1;font-weight:400}.song-group-count{color:#c8c3dc59;font-size:.8rem}.song-group-arrow{color:#c8c3dc66;transition:transform .25s}.song-group-arrow.expanded{transform:rotate(180deg)}.song-group-list{flex-direction:column;padding:0 .5rem .5rem;display:flex}.song-item{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:.75rem;padding:.6rem .75rem;transition:background .2s;display:flex}.music-expand-wrap{justify-content:center;margin-top:1.5rem;display:flex}.song-item:hover{background:#ffffff0a}.song-item.playing{background:#8c78dc14}.song-cover{color:#c8beffb3;background:linear-gradient(135deg,#8c78dc33,#6450b41a);border:1px solid #8c78dc26;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;font-weight:500;display:flex}.song-item.playing .song-cover{color:#d4cfff;background:linear-gradient(135deg,#8c78dc59,#6450b433);border-color:#8c78dc66}.song-info{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.song-title{color:#e8e6f0;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;overflow:hidden}.song-item.playing .song-title{color:#d4cfff}.song-artist{color:#c8c3dc66;white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.song-play-icon{color:#b4a0ff66;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}.song-item:hover .song-play-icon{color:#b4a0ffcc;background:#8c78dc26}.song-item.playing .song-play-icon{color:#d4cfff}.sound-bars{align-items:flex-end;gap:2px;height:14px;display:flex}.sound-bars span{background:#d4cfff;border-radius:1px;width:2.5px;animation:.8s ease-in-out infinite alternate soundBar;display:block}.sound-bars span:first-child{height:40%;animation-delay:0s}.sound-bars span:nth-child(2){height:70%;animation-delay:.2s}.sound-bars span:nth-child(3){height:50%;animation-delay:.4s}.sound-bars span:nth-child(4){height:80%;animation-delay:.1s}@keyframes soundBar{0%{height:20%}to{height:100%}}.song-empty{text-align:center;color:#c8c3dc59;padding:2rem 0;font-size:.9rem}.song-count{text-align:center;color:#c8c3dc59;margin-top:1.5rem;font-size:.85rem}@media (width<=600px){.music{padding:3rem .75rem}.song-cover{width:36px;height:36px;font-size:.85rem}.song-item{padding:.75rem}.music-search{max-width:100%}.category-tabs{gap:.4rem}.tab{padding:.35rem .9rem;font-size:.82rem}}.collection{max-width:1000px;margin:0 auto;padding:4rem 2rem}.collection-block{margin-bottom:3rem}.collection-subtitle{letter-spacing:.12em;color:#d4cfffb3;opacity:0;border-left:2px solid #8c78dc66;margin:0 0 1.5rem;padding-left:.5rem;font-size:1.2rem;font-weight:300;transition:opacity .6s .1s,transform .6s .1s;transform:translateY(10px)}.collection-subtitle.reveal{opacity:1;transform:translateY(0)}.anime-grids{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.anime-card{opacity:0;background:#ffffff08;border:1px solid #ffffff0f;border-radius:10px;flex-direction:column;gap:.6rem;padding:1.2rem;transition:opacity .5s,transform .5s,background .3s,border-color .3s;display:flex;transform:translateY(15px)}.anime-card.reveal{opacity:1;transform:translateY(0)}.anime-card:hover{background:#ffffff0f;border-color:#8c78dc33}.anime-header{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.anime-title{color:#e8e6f0;font-size:.95rem;font-weight:400}.anime-status{color:#b4a0ff80;white-space:nowrap;font-size:.75rem}.star-rating{gap:1px;font-size:.75rem;display:flex}.star{color:#ffffff1a}.star.filled{color:#dcc878cc}.anime-note{color:#c8c3dc66;font-size:.8rem;font-style:italic}.game-grids{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.game-card{opacity:0;background:#ffffff08;border:1px solid #ffffff0f;border-radius:10px;flex-direction:column;gap:.4rem;padding:1.2rem;transition:opacity .5s,transform .5s,background .3s,border-color .3s;display:flex;transform:translateY(15px)}.game-card.reveal{opacity:1;transform:translateY(0)}.game-card:hover{background:#ffffff0f;border-color:#8c78dc33}.game-title{color:#e8e6f0;font-size:1rem;font-weight:400}.game-platform{color:#c8c3dc73;font-size:.8rem}.game-hours{color:#b4a0ff80;font-size:.8rem}.game-note{color:#b4a0ff99;font-size:.8rem;font-weight:500}@media (width<=600px){.collection{padding:3rem 1rem}.anime-grids,.game-grids{grid-template-columns:1fr}}.guestbook{max-width:750px;margin:0 auto;padding:4rem 2rem}.guestbook-desc{text-align:center;color:#c8c3dc73;opacity:0;margin:-1rem 0 2.5rem;font-size:.9rem;transition:opacity .6s .1s,transform .6s .1s;transform:translateY(10px)}.guestbook-desc.reveal{opacity:1;transform:translateY(0)}.twikoo-container{opacity:0;animation:.6s .3s forwards guestbookFadeIn;transform:translateY(15px)}@keyframes guestbookFadeIn{to{opacity:1;transform:translateY(0)}}.twikoo-container .tk-comments{color:#e8e6f0}.twikoo-container .tk-comment{border-bottom:1px solid #ffffff0d;padding:1rem 0}.twikoo-container .tk-nick{color:#d4cfff}.twikoo-container .tk-content{color:#e8e6f0d9}.twikoo-container .tk-time{color:#c8c3dc59;font-size:.8rem}.twikoo-container .tk-input{color:#e8e6f0;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;padding:.6rem .8rem;font-size:.9rem;transition:border-color .3s}.twikoo-container .tk-input:focus{border-color:#8c78dc80;outline:none}.twikoo-container .tk-submit{color:#d4cfff;cursor:pointer;background:#8c78dc40;border:1px solid #8c78dc66;border-radius:2rem;padding:.5rem 1.5rem;font-size:.9rem;transition:all .3s}.twikoo-container .tk-submit:hover{background:#8c78dc66;border-color:#8c78dc99}.twikoo-container .tk-meta{color:#c8c3dc80}.twikoo-container .tk-tag{color:#b4a0ff80;border:1px solid #8c78dc33;border-radius:1rem;padding:.1rem .5rem;font-size:.75rem}.twikoo-container .tk-page-nav .tk-page-current{color:#d4cfff;border-color:#8c78dc80}@media (width<=600px){.guestbook{padding:3rem 1rem}}.visitor-counter{color:#c8c3dc80;background:#ffffff08;border:1px solid #ffffff0f;border-radius:2rem;align-items:center;gap:.5rem;margin-bottom:.8rem;padding:.4rem 1rem;font-size:.8rem;display:inline-flex}.visitor-star{color:#8c78dc99;font-size:.7rem;animation:3s ease-in-out infinite visitorPulse}.visitor-num{color:#d4cfffb3;font-variant-numeric:tabular-nums}@keyframes visitorPulse{0%,to{opacity:.6}50%{opacity:1}}.footer{text-align:center;color:#c8c3dc40;letter-spacing:.1em;opacity:0;border-top:1px solid #ffffff0d;padding:3rem 2rem;font-size:.85rem;transition:opacity .6s,transform .6s;transform:translateY(10px)}.footer.reveal{opacity:1;transform:translateY(0)}.player-bar{z-index:1000;-webkit-backdrop-filter:blur(20px);padding-bottom:env(safe-area-inset-bottom,0px);background:#0a0a14eb;border-top:1px solid #8c78dc26;position:fixed;bottom:0;left:0;right:0}.player-progress-bg{pointer-events:none;background:#ffffff0f;height:3px;transition:height .15s;position:absolute;top:0;left:0;right:0}.player-progress-bg:hover{height:5px}.player-progress-fill{background:linear-gradient(90deg,#8c78dc99,#b4a0ffe6);border-radius:0 2px 2px 0;min-height:68px;transition:width .1s linear}.player-inner{align-items:center;gap:1.5rem;height:100%;padding:0 1.5rem;display:flex}.player-seek{accent-color:#b4a0ff;cursor:pointer;flex:1;min-width:0;height:24px}.player-feedback{color:#aaa3bd;justify-content:center;align-items:center;gap:.75rem;min-height:32px;padding:0 1rem 6px;font-size:.75rem;display:flex}.player-feedback.has-error{color:#f2b6b6}.player-retry{color:#e1daff;cursor:pointer;background:#8c78dc33;border:1px solid #b4a0ff66;border-radius:16px;flex-shrink:0;min-height:32px;padding:5px 14px}.player-spinner{border:2px solid #d4cfff40;border-top-color:#d4cfff;border-radius:50%;width:19px;height:19px;animation:.8s linear infinite player-spin}@keyframes player-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.player-spinner{animation:none}}.player-left{flex-shrink:0;align-items:center;gap:.75rem;width:220px;min-width:0;display:flex}.player-cover{color:#c8beffcc;background:linear-gradient(135deg,#8c78dc4d,#6450b426);border:1px solid #8c78dc40;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.1rem;font-weight:500;display:flex}.player-info{flex-direction:column;gap:.15rem;min-width:0;display:flex}.player-title{color:#e8e6f0;white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:.9rem;overflow:hidden}.player-artist{color:#c8c3dc73;white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:.75rem;overflow:hidden}.player-center{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.player-time{color:#c8c3dc66;font-variant-numeric:tabular-nums;text-align:center;min-width:2.5rem;font-size:.75rem}.player-bar-track{cursor:pointer;background:#ffffff14;border-radius:2px;flex:1;height:4px;position:relative}.player-bar-track:hover{height:6px}.player-bar-fill{background:#8c78dcb3;border-radius:2px;height:100%;position:relative}.player-bar-fill:after{content:"";opacity:0;background:#d4cfff;border-radius:50%;width:10px;height:10px;transition:opacity .15s;position:absolute;top:50%;right:-5px;transform:translateY(-50%)}.player-bar-track:hover .player-bar-fill:after{opacity:1}.player-right{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.player-btn{color:#c8c3dcb3;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.player-btn:hover{color:#e8e6f0;background:#ffffff0f}.player-btn:disabled{opacity:.3;cursor:default}.player-btn-play{color:#d4cfff;background:#8c78dc33;border:1px solid #8c78dc4d;width:42px;height:42px}.player-btn-play:hover{color:#fff;background:#8c78dc59}.player-mode-btn{position:relative}.player-mode-btn.active{color:#b4a0ffe6}.player-mode-btn.active:after{content:"";background:#b4a0ffe6;border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.player-volume{align-items:center;gap:.4rem;margin-left:.5rem;display:flex}.player-volume-icon{color:#c8c3dc80;flex-shrink:0}.player-volume-slider{appearance:none;cursor:pointer;background:#ffffff1a;border-radius:2px;outline:none;width:70px;height:3px}.player-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#b4a0ffcc;border-radius:50%;width:10px;height:10px}.player-volume-slider::-moz-range-thumb{cursor:pointer;background:#b4a0ffcc;border:none;border-radius:50%;width:10px;height:10px}@media (width<=768px){.player-bar{height:auto}.player-progress-bg,.player-progress-bg:hover{height:6px}.player-center{flex:0 0 100%;order:3;gap:.4rem;display:flex}.player-left{flex:1;width:auto;min-width:0}.player-volume{display:none}.player-inner{flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding:10px .75rem 0}.player-btn{width:40px;height:40px}.player-btn-play{width:44px;height:44px}.player-title,.player-artist{max-width:100%}.player-cover{width:32px;height:32px}.player-left{gap:.4rem}.player-right{gap:0}.player-feedback{justify-content:flex-start;min-height:36px}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:4px;outline:2px solid #c5b8ff}.gallery-item:focus-visible .gallery-item-overlay{opacity:1}body{color:#e8e6f0;-webkit-font-smoothing:antialiased;background:#0a0a14;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans SC,sans-serif}.app{min-height:100vh;padding-bottom:calc(150px + env(safe-area-inset-bottom,0))}.gallery,.music,.collection,.guestbook{-webkit-backdrop-filter:blur(12px);background:#0f0f1e80;border:1px solid #ffffff0a;border-radius:16px;max-width:1200px;margin:1rem auto;position:relative}@media (width<=600px){.gallery,.music,.collection,.guestbook{border-radius:12px;margin:.5rem}}
