.stardust-section{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:80px 30px;
    overflow:hidden;
    background:transparent;
}

.stardust-container{
    position:relative;
    max-width:850px;
    text-align:center;
}

.stardust-overlay{
    position:absolute;
    inset:0;
    pointer-events:none;
}

.stardust-text{
    position:relative;
    z-index:2;
    opacity:0;
    margin-bottom:24px;
    transform:translateY(18px) scale(0.985);
    filter:blur(8px);
    transition:opacity 2.2s ease,transform 2.2s cubic-bezier(.19,1,.22,1),filter 2.2s ease,color 2.2s ease;
    letter-spacing:0.3px;
    text-shadow:none;
    -webkit-text-stroke:0px transparent;
}

.stardust-title{
    font-size:2.7rem;
    font-weight:600;
    line-height:1.2;
    color:rgba(248,250,255,0.34);
    text-shadow:0 0 18px rgba(255,255,255,0.04);
}

.stardust-paragraph{
    font-size:1.05rem;
    line-height:1.9;
    font-weight:300;
    max-width:720px;
    margin-inline:auto;
    color:rgba(220,225,235,0.22);
}

.stardust-text.revealed{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0px);
}

.stardust-title.revealed{
    color:rgba(250,252,255,0.78);
    text-shadow:0 0 22px rgba(255,255,255,0.06),0 0 40px rgba(180,190,255,0.04);
}

.stardust-paragraph.revealed{
    color:rgba(245,250,255,0.50);
}

.stardust-particle{
    position:absolute;
    width:4px;
    height:4px;
    border-radius:50%;
    background:white;
    opacity:0;
    box-shadow:0 0 10px rgba(255,255,255,0.85),0 0 24px rgba(180,190,255,0.18),0 0 50px rgba(122,44,255,0.10);
}

.love-timer-section{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:40px 20px;
}

.love-timer-card{
    position:relative;
    width:min(60vw,900px);
    max-width:900px;
    min-height:420px;
    padding:3rem 2rem 3rem 2rem;
    border-radius:28px;
    background:rgba(255,255,255,0.06);
    backdrop-filter:blur(22px);
    -webkit-backdrop-filter:blur(22px);
    border:1px solid rgba(255,255,255,0.12);
    overflow:hidden;
    box-shadow:0 0 40px rgba(122,44,255,.15),0 0 100px rgba(255,119,180,.08);
}

.love-timer-card::before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at top center,rgba(122,44,255,.18),transparent 50%),radial-gradient(circle at bottom center,rgba(255,119,180,.15),transparent 60%);
    pointer-events:none;
}

.love-timer-content{
    position:relative;
    z-index:3;
    padding-bottom:120px;
}

.love-timer-label{
    display:block;
    margin-bottom:14px;
    text-transform:uppercase;
    letter-spacing:3px;
    font-size:.72rem;
    opacity:.7;
}

.love-timer-content h2{
    margin-bottom:24px;
    font-size:clamp(1.8rem,3vw,3rem);
    font-family:'Playfair Display','Lora',serif;
    font-weight:700;
    background:linear-gradient(90deg,#ffffff,#ff9ad2,#b388ff);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
}

.love-timer{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    margin-top:20px;
}

.timer-unit{
    padding:14px 8px;
    border-radius:16px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(10px);
    transition:.3s ease;
}

.timer-unit:hover{
    transform:translateY(-2px);
    box-shadow:0 0 20px rgba(255,119,180,.18);
}

.timer-unit span{
    display:block;
    font-size:clamp(1.4rem,2.5vw,2.8rem);
    font-weight:800;
    line-height:1;
    color:#fff;
    text-shadow:0 0 15px rgba(255,119,180,.45);
}

.timer-unit small{
    display:block;
    margin-top:8px;
    font-size:.7rem;
    letter-spacing:1.5px;
    text-transform:uppercase;
    opacity:.7;
}

.love-timer-total-days{
    margin-top:18px;
    text-align:center;
    font-size:.95rem;
    letter-spacing:1.2px;
    color:rgba(255,255,255,.78);
    text-transform:uppercase;
    opacity:.9;
    text-shadow:0 0 10px rgba(255,119,180,.25),0 0 20px rgba(122,44,255,.15);
}

.love-timer-total-days span{
    color:#ff77b4;
    font-weight:700;
}

.timer-dragon{
    position:absolute;
    z-index:1;
    pointer-events:none;
    object-fit:contain;
    aspect-ratio:2/1;
}

.timer-dragon-left{
    left:18px;
    bottom:18px;
    width:min(28%,240px);
    opacity:.8;
}

.timer-dragon-right{
    right:18px;
    bottom:18px;
    width:min(28%,240px);
    opacity:.85;
    transform:scaleX(-1);
}

@media (max-width:1024px){
    .love-timer-card{
        width:85vw;
    }
}

@media (max-width:768px){
    .love-timer-section{
        padding:30px 12px;
    }
    .love-timer-card{
        width:92vw;
        min-height:auto;
        padding:2rem 1rem 2rem 1rem;
    }
    .love-timer-content{
        padding-bottom:90px;
    }
    .love-timer-content h2{
        font-size:1.9rem;
        margin-bottom:18px;
    }
    .love-timer{
        grid-template-columns:repeat(2,1fr);
        gap:10px;
    }
    .timer-unit{
        padding:12px 6px;
    }
    .timer-unit span{
        font-size:1.4rem;
    }
    .timer-unit small{
        font-size:.65rem;
    }
    .timer-dragon-left{
        width:150px;
        left:6px;
        bottom:6px;
    }
    .timer-dragon-right{
        width:150px;
        right:6px;
        bottom:6px;
    }
}

@media (max-width:480px){
    .love-timer-content{
        padding-bottom:80px;
    }
    .love-timer-label{
        font-size:.6rem;
        letter-spacing:2px;
    }
    .love-timer-content h2{
        font-size:1.6rem;
    }
    .timer-unit span{
        font-size:1.2rem;
    }
    .timer-unit small{
        font-size:.55rem;
    }
    .timer-dragon-left{
        width:120px;
    }
    .timer-dragon-right{
        width:120px;
    }
}

.final-section{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    overflow:hidden;
}

.final-glow{
    position:absolute;
    width:700px;
    height:700px;
    background:radial-gradient(circle,rgba(255,79,216,0.25),rgba(122,44,255,0.2),transparent 70%);
    filter:blur(50px);
    opacity:0.7;
    animation:finalPulse 8s ease-in-out infinite;
}

@keyframes finalPulse{
    0%,100%{transform:scale(1);opacity:0.5}
    50%{transform:scale(1.2);opacity:0.85}
}

.final-section h2{
    position:relative;
    z-index:2;
    opacity:0;
    transform:translateY(30px);
}

.mood-buttons{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:12px;
    margin-top:15px;
}

@media (max-width: 768px){
    .mood-buttons{
        grid-template-columns:repeat(2, 1fr);
    }
}

@media (max-width: 400px){
    .mood-buttons{
        grid-template-columns:1fr;
    }
}

.mood-buttons .active{
    background:rgba(255,119,180,0.25);
    box-shadow:0 0 20px rgba(255,119,180,0.4);
    transform:translateY(-2px);
}

.message-grid{
    display:grid;
    gap:12px;
    margin-top:15px;
}

.msg{
    padding:12px 15px;
    border-radius:12px;
    background:rgba(255,255,255,0.05);
    border:3px solid rgba(255,255,255,0.7);
    color:rgba(255,255,255,0.2);
    opacity:0.05;
    transform:translateY(10px);
    transition:all 0.4s ease;
    cursor:none;
}

.msg:hover{
    opacity:1;
    color:white;
    transform:translateY(0px) scale(1.02);
    background:rgba(255,119,180,0.08);
    box-shadow:0 0 25px rgba(255,119,180,0.2);
    border-color:rgba(255,119,180,0.25);
}

.mood-buttons{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    margin-top:20px;
    min-height:220px;
}

.mood-btn{
    width:100%;
}

.mood-pagination{
    margin-top:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
}

.mood-pagination button{
    width:42px;
    height:42px;
    border:none;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    background:rgba(255,255,255,0.08);
    backdrop-filter:blur(12px);
    transition:0.3s ease;
}

.mood-pagination button:hover:not(.disabled){
    background:rgba(255,255,255,0.18);
    transform:translateY(-2px);
}

.mood-pagination button.disabled{
    opacity:0.25;
    cursor:not-allowed;
    transform:none;
}

#moodPageIndicator{
    min-width:60px;
    text-align:center;
    font-size:14px;
    letter-spacing:1px;
    color:rgba(255,255,255,0.7);
}

.mood-btn{
    position:relative;
    overflow:hidden;
    transition:transform 0.4s ease,background 0.4s ease,box-shadow 0.4s ease;
    will-change:transform,opacity,filter;
}

.mood-sad{
    animation:sadFloat 5s ease-in-out infinite;
}
@keyframes sadFloat{
    0%,100%{transform:translateY(0px);opacity:0.72}
    50%{transform:translateY(4px);opacity:0.55}
}

.mood-tired{
    animation:tiredPulse 4s ease-in-out infinite;
}
@keyframes tiredPulse{
    0%,100%{transform:scale(1);opacity:0.7}
    50%{transform:scale(0.97);opacity:0.5}
}

.mood-anxious{
    animation:anxiousShake 2.5s ease-in-out infinite;
}
@keyframes anxiousShake{
    0%,100%{transform:translateX(0px)}
    20%{transform:translateX(-1px)}
    40%{transform:translateX(1px)}
    60%{transform:translateX(-1px)}
    80%{transform:translateX(1px)}
}

.mood-lonely{
    animation:lonelyDrift 6s ease-in-out infinite;
}
@keyframes lonelyDrift{
    0%,100%{transform:translateX(0px);opacity:0.7}
    50%{transform:translateX(6px);opacity:0.45}
}

.mood-overthinking{
    animation:overthinkPulse 3s ease-in-out infinite;
}
@keyframes overthinkPulse{
    0%,100%{filter:blur(0px)}
    50%{filter:blur(0.6px)}
}

.mood-missing{
    animation:missFade 4.5s ease-in-out infinite;
}
@keyframes missFade{
    0%,100%{opacity:0.8}
    50%{opacity:0.35}
}

.mood-happy{
    animation:happyBounce 3.5s ease-in-out infinite;
}
@keyframes happyBounce{
    0%,100%{transform:translateY(0px)}
    50%{transform:translateY(-5px)}
}

.mood-love{
    animation:loveBeat 2.6s ease-in-out infinite;
}
@keyframes loveBeat{
    0%,100%{transform:scale(1)}
    25%{transform:scale(1.04)}
    40%{transform:scale(1)}
    60%{transform:scale(1.05)}
}

.mood-proud{
    animation:proudRise 5s ease-in-out infinite;
}
@keyframes proudRise{
    0%,100%{transform:translateY(0px)}
    50%{transform:translateY(-3px);}
}

.mood-btn:hover{
    animation-play-state:paused;
    transform:translateY(-4px) scale(1.03);
    box-shadow:0 0 20px rgba(255,255,255,0.08),0 0 35px rgba(180,190,255,0.08);
}

.hidden-messages:hover .msg{
    opacity:0.08;
}

.hidden-messages:hover .msg:hover{
    opacity:1;
}

.music-panel{
    position:fixed;
    bottom:80px;
    right:-300px;
    width:260px;
    background:rgba(0,0,0,0.85);
    backdrop-filter:blur(10px);
    border-radius:15px;
    padding:15px;
    color:white;
    transition:0.4s ease;
    z-index:1001;
}

.music-panel.open{
    right:20px;
}

.music-header{
    display:flex;
    justify-content:space-between;
    margin-bottom:10px;
}

.music-close{
    display:block;
    background-color:#000;
    color:#fff;
    margin:10px;
    padding:5px 10px;
    cursor:pointer;
}
.music-close:hover{
    background-color:#333;
}

.music-controls{
    display:flex;
    justify-content:center;
    gap:10px;
    margin-bottom:10px;
}

.music-controls button{
    display:flex;
    align-items:center;
    justify-content:center;
    background:#000;
    border:1px solid #fff;
    color:#fff;
    padding:5px 10px;
    cursor:pointer;
}
.music-controls button:hover{
    background:#333;
}

.music-volume{
    display:flex;
    align-items:center;
    gap:12px;
    margin:12px 0 16px;
}

.volume-icon{
    width:20px;
    height:20px;
    opacity:.9;
    transition:transform .25s,opacity .25s,filter .25s;
    user-select:none;
}

.volume-icon.change{
    transform:scale(1.18);
    filter:drop-shadow(0 0 8px rgba(255,119,180,.6));
}

#volumeSlider{
    flex:1;
    appearance:none;
    height:5px;
    border-radius:999px;
    outline:none;
    cursor:pointer;
    background:linear-gradient(90deg,#ff77b4 100%,rgba(255,255,255,.18) 100%);
}

#volumeSlider::-webkit-slider-thumb{
    appearance:none;
    width:16px;
    height:16px;
    border-radius:50%;
    background:#ff77b4;
    border:none;
    box-shadow:0 0 12px rgba(255,119,180,.6);
    transition:.2s;
}

#volumeSlider::-webkit-slider-thumb:hover{
    transform:scale(1.2);
}

#volumeSlider::-moz-range-thumb{
    width:16px;
    height:16px;
    border:none;
    border-radius:50%;
    background:#ff77b4;
}

#volumePercent{
    width:42px;
    text-align:right;
    font-size:13px;
    opacity:.8;
    user-select:none;
}

.music-pagination{
    display:grid;
    grid-template-columns:42px 1fr 42px;
    align-items:center;
    gap:12px;
    margin:12px 0 14px;
    padding:8px;
    border-radius:16px;
    background:rgba(255,255,255,.035);
    border:1px solid rgba(255,255,255,.07);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 8px 25px rgba(0,0,0,.15);
}

.music-pagination button{
    width:42px;
    height:36px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:11px;
    border:1px solid rgba(255,255,255,.1);
    background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.025));
    cursor:pointer;
    transition:transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease,opacity .25s ease;
}

.music-pagination button img{
    opacity:.8;
    transition:transform .25s ease,opacity .25s ease;
}

.music-pagination button:hover:not(:disabled){
    transform:translateY(-2px);
    background:rgba(255,119,180,.12);
    border-color:rgba(255,119,180,.3);
    box-shadow:0 5px 18px rgba(255,119,180,.12),0 0 15px rgba(122,44,255,.08);
}

.music-pagination button:hover:not(:disabled) img{
    opacity:1;
    transform:scale(1.12);
}

.music-pagination button:active:not(:disabled){
    transform:translateY(0) scale(.95);
}

.music-pagination button:disabled,.music-pagination button.disabled{
    opacity:.22;
    cursor:default;
    box-shadow:none;
}

#musicPageIndicator{
    display:flex;
    align-items:center;
    justify-content:center;
    height:36px;
    border-radius:11px;
    font-size:11px;
    font-weight:600;
    letter-spacing:2px;
    color:rgba(255,255,255,.72);
    background:rgba(0,0,0,.18);
    border:1px solid rgba(255,255,255,.045);
    user-select:none;
}

.music-list{
    list-style:none;
    padding:0;
    margin:0;
    display:flex;
    flex-direction:column;
    gap:7px;
}

.music-list li{
    position:relative;
    display:flex;
    align-items:center;
    gap:11px;
    min-height:48px;
    padding:8px 11px;
    border-radius:12px;
    background:rgba(255,255,255,.025);
    border:1px solid transparent;
    cursor:pointer;
    opacity:.72;
    transition:opacity .25s ease,transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease;
}

.music-list li:hover{
    opacity:1;
    transform:translateX(3px);
    background:rgba(255,255,255,.065);
    border-color:rgba(255,255,255,.07);
}

.music-list-number{
    width:23px;
    flex-shrink:0;
    font-size:9px;
    font-weight:600;
    letter-spacing:1px;
    color:rgba(255,255,255,.35);
    transition:.25s ease;
}

.music-list-info{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
}

.music-list-title{
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:12px;
    font-weight:500;
    color:rgba(255,255,255,.88);
}

.music-list-artist{
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:9px;
    letter-spacing:.4px;
    color:rgba(255,255,255,.38);
}

.music-list li.active{
    opacity:1;
    transform:translateX(3px);
    background:linear-gradient(90deg,rgba(255,119,180,.13),rgba(122,44,255,.07));
    border-color:rgba(255,119,180,.18);
    box-shadow:0 5px 18px rgba(255,119,180,.07),inset 3px 0 0 rgba(255,119,180,.75);
}

.music-list li.active .music-list-number{
    color:#ff77b4;
}

.music-list li.active .music-list-title{
    color:#fff;
}

.music-btn.playing{
    animation:musicPulse 2.2s infinite ease-in-out;
}

@keyframes musicPulse{
    0%{box-shadow: 0 0 6px rgba(180, 100, 255, 0.4),0 0 12px rgba(255, 120, 200, 0.2);transform: scale(1)}
    50%{box-shadow: 0 0 20px rgba(200, 120, 255, 0.9),0 0 40px rgba(255, 80, 180, 0.7),0 0 60px rgba(255, 50, 150, 0.5);transform: scale(1.1)}
    100%{box-shadow: 0 0 6px rgba(180, 100, 255, 0.4),0 0 12px rgba(255, 120, 200, 0.2);transform: scale(1)}
}

.music-progress-container{
    display:flex;
    align-items:center;
    gap:10px;
    margin:12px 0 16px;
}

.music-progress-container span{
    font-size:12px;
    opacity:.75;
    min-width:34px;
}

#musicProgress{
    flex:1;
    height:4px;
    appearance:none;
    -webkit-appearance:none;
    border-radius:999px;
    background:rgba(255,255,255,.18);
    cursor:pointer;
}

#musicProgress::-webkit-slider-thumb{
    -webkit-appearance:none;
    width:12px;
    height:12px;
    border-radius:50%;
    background:#ff77b4;
    box-shadow:0 0 10px rgba(255,119,180,.6);
    cursor:pointer;
}

.gallery-item{
    position:relative;
    overflow:hidden;
    border-radius:15px;
    cursor:pointer;
}

.gallery-item::after{
    content:"";
    position:absolute;
    top:-50%;
    left:-50%;
    width:200%;
    height:200%;
    background: radial-gradient(circle,rgba(255,255,255,0.8) 0%,rgba(255,255,255,0.3) 10%,transparent 40%);
    opacity:0;
    transform:rotate(25deg);
    pointer-events:none;
}

.gallery-item:hover::after{
    animation:starGlow 1.2s ease forwards;
    opacity:1;
}

@keyframes starGlow{
    0%{transform:translate(-30%, -30%) rotate(25deg);opacity: 0}
    30%{opacity: 1}
    100%{transform:translate(30%, 30%) rotate(25deg);opacity: 0}
}

.gallery-item:hover img{
    transform:scale(1.1);
    filter:brightness(1.2) contrast(1.1);
    box-shadow:0 0 25px rgba(255, 255, 255, 0.25),0 0 60px rgba(255, 119, 180, 0.25);
}

.pagination{
    margin-top:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:15px;
}

.pagination button{
    background:rgba(255,255,255,0.1);
    border:none;
    color:white;
    padding:10px 16px;
    border-radius:10px;
    cursor:pointer;
    transition:0.3s;
    display:flex;
    align-items:center;
    justify-content:center;
}

.pagination button:hover{
    background:rgba(255,255,255,0.25);
    transform:scale(1.1);
}

#pageIndicator{
    opacity:0.8;
    font-size:14px;
}

.pagination button.disabled{
    opacity:0.3;
    cursor:not-allowed;
    transform:none;
    background:rgba(255,255,255,0.05);
    box-shadow:none;
}

.gallery-item{
    position:relative;
    overflow:hidden;
}

.caption{
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    padding:12px;
    font-size:14px;
    background:linear-gradient(rgba(0,0,0,0.9),transparent);
    color:white;
    opacity:0;
    transform:translateY(20px);
    transition:all 0.4s ease;
}

.gallery-item:hover .caption{
    opacity: 1;
    transform: translateY(0);
}

.caption{
    text-shadow: 0 0 10px rgba(255,119,180,0.6);
}

.msg-modal{
    text-align:center;
    width:90vw;
    max-width:400px;
    background-image:none !important;
    background:rgba(122,44,255,0.25) !important;
}

#msgContent{
    font-size:18px;
    line-height:1.7;
    color:rgba(255,255,255,0.95);
    text-shadow:0 0 20px rgba(255,119,180,0.6);
    padding:20px;
    border-radius:15px;
    background:rgba(2,1,64,0.25);
    box-shadow:0 0 40px rgba(255,119,180,0.25);
}

.mood-buttons button{
    transition:all 1.3s ease;
}

.comet-star{
    --size:16px;
    --tail-scale:1;
    position:fixed;
    width:var(--size);
    height:var(--size);
    border-radius:50%;
    z-index:999999;
    cursor:pointer;
    pointer-events:auto;
    background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.95) 0%,color-mix(in srgb,var(--comet-color) 15%,white) 8%,color-mix(in srgb,var(--comet-color) 50%,white) 18%,color-mix(in srgb,var(--comet-color) 80%,white) 40%,var(--comet-color) 65%,color-mix(in srgb,var(--comet-color) 95%,black) 90%,transparent 100%);
    box-shadow:0 0 4px white,0 0 10px white,0 0 25px var(--comet-color),0 0 50px var(--comet-color),0 0 90px var(--comet-color);
    filter:drop-shadow(0 0 4px rgba(255,255,255,.45))drop-shadow(0 0 12px var(--comet-color));
    transform-style:preserve-3d;
    will-change:transform;
    animation:cometPulse 1.4s ease-in-out infinite;
}
@keyframes cometPulse{
    0%,100%{filter:brightness(.92);opacity:.92}
    50%{filter:brightness(1.05);opacity:1}
}
.comet-star::before{
    content:"";
    position:absolute;
    inset:-18px;
    border-radius:50%;
    background:radial-gradient(circle,color-mix(in srgb,var(--comet-color) 70%,white),rgba(0,0,0,0) 70%);
    filter:blur(5px);
    opacity:.25;
    animation:cometHalo 2.5s ease-in-out infinite;
}
@keyframes cometHalo{
    0%,100%{opacity:.4;transform:scale(1)}
    50%{opacity:.45;transform:scale(1.25)}
}
.comet-tail{
    position:absolute;
    top:50%;
    left:-80px;
    width:80px;
    height:10px;
    transform:translateY(-50%) rotate(var(--tail-angle)) scaleX(var(--tail-scale));
    transform-origin:right center;
    border-radius:999px;
    background:linear-gradient(to right,rgba(255,255,255,.95) 0%,var(--comet-color) 8%,color-mix(in srgb,var(--comet-color) 90%,black) 35%,rgba(0,0,0,.15) 92%,rgba(0,0,0,0) 100%);
    box-shadow:0 0 6px var(--comet-color),0 0 14px var(--comet-color),0 0 24px color-mix(in srgb,var(--comet-color) 75%,black);
    filter:blur(3px);
    opacity:.95;
    pointer-events:auto;
    animation:tailFlow 1s linear infinite;
}
@keyframes tailFlow{
    0%{transform:translateY(-50%) scaleX(.35);opacity:.72;filter:blur(4px) brightness(.9)}
    50%{transform:translateY(-50%) scaleX(1.05);opacity:1;filter:blur(1.8px) brightness(1.2)}
    100%{transform:translateY(-50%) scaleX(.35);opacity:.72;filter:blur(4px) brightness(.9)}
}
.comet-star.reverse .comet-tail{
    left:auto;
    right:-80px;
    transform-origin:left center;
    transform:translateY(-50%) rotate(var(--tail-angle-reverse)) scaleX(var(--tail-scale));
    background:linear-gradient(to left,rgba(255,255,255,.95) 0%,var(--comet-color) 8%,color-mix(in srgb,var(--comet-color) 90%,black) 35%,rgba(0,0,0,.15) 92%,rgba(0,0,0,0) 100%);
    animation:tailFlowReverse 1s linear infinite;
}
@keyframes tailFlowReverse{
    0%{transform:translateY(-50%) scaleX(.35);opacity:.72;filter:blur(4px) brightness(.9)}
    50%{transform:translateY(-50%) scaleX(1.05);opacity:1;filter:blur(1.8px) brightness(1.2)}
    100%{transform:translateY(-50%) scaleX(.35);opacity:.72;filter:blur(4px) brightness(.9)}
}

.comet-modal{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.85);
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:9999999;
}

.comet-modal.hidden{
    display:none;
}

.comet-modal-box{
    width:90%;
    max-width:400px;
    padding:20px;
    border-radius:20px;
    background:rgba(20,10,40,0.9);
    backdrop-filter:blur(20px);
    box-shadow:0 0 40px rgba(255,119,180,0.3);
}

#cometName{
    width:100%;
    margin-bottom:10px;
    padding:8px;
    border-radius:10px;
    border:none;
    outline:none;
    background:rgba(255,255,255,0.08);
    color:white;
}

#cometInput{
    width:100%;
    height:120px;
    border:none;
    outline:none;
    resize:none;
    padding:10px;
    border-radius:10px;
    background:rgba(255,255,255,0.08);
    color:white;
}

.comet-actions{
    display:flex;
    justify-content:space-between;
    margin-top:10px;
}

.comet-actions button{
    padding:8px 14px;
    border:none;
    border-radius:10px;
    cursor:pointer;
    color:white;
}

.comet-actions button:nth-child(1){
    background:#7a2cff;
}
.comet-actions button:nth-child(1):hover{
    background:#9a2cff;
}

.comet-actions button:nth-child(2){
    background:rgba(255,255,255,0.15);
}
.comet-actions button:nth-child(2):hover{
    background:rgba(255,255,255,.35);
}

#deleteCommentModal{
    position:fixed;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(2,0,8,.84);
    backdrop-filter:blur(18px);
    z-index:2147483646;
    opacity:1;
    visibility:visible;
    transition:opacity .28s ease,visibility .28s ease;
}
#deleteCommentModal.hidden{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
}
.delete-comment-box{
    position:relative;
    width:min(440px,92vw);
    padding:42px 34px 32px;
    overflow:hidden;
    border-radius:30px;
    text-align:center;
    background:radial-gradient(circle at top,rgba(255,80,80,.22),transparent 42%),radial-gradient(circle at bottom,rgba(120,0,20,.18),transparent 58%),linear-gradient(155deg,#180608 0%,#28090d 45%,#140506 100%);
    border:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(30px);
    box-shadow:0 0 35px rgba(255,70,70,.28),0 0 80px rgba(160,20,40,.22),inset 0 1px rgba(255,255,255,.08);
    animation:commentDeleteAppear .32s cubic-bezier(.18,.9,.3,1);
}
@keyframes commentDeleteAppear{
    from{opacity:0;transform:translateY(28px) scale(.88);filter:blur(12px)}
    to{opacity:1;transform:none;filter:none}
}
.delete-comment-box::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,rgba(255,255,255,.05),transparent 35%);
    pointer-events:none;
}
.delete-comment-box::after{
    content:"";
    position:absolute;
    width:520px;
    height:520px;
    left:50%;
    top:-320px;
    transform:translateX(-50%);
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,70,70,.15),transparent 70%);
    pointer-events:none;
}
.delete-comment-box .delete-icon{
    width:86px;
    height:86px;
    margin:0 auto 20px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:radial-gradient(circle,rgba(255,70,70,.35),rgba(120,10,20,.18));
    box-shadow:0 0 18px rgba(255,70,70,.35),0 0 45px rgba(170,20,40,.22);
    border:1px solid rgba(255,255,255,.08);
    animation:trashFloat 3.5s ease-in-out infinite;
}
@keyframes trashFloat{
    0%,100%{transform:translateY(0px) rotate(0deg)}
    50%{transform:translateY(-6px) rotate(-4deg)}
}
.delete-comment-box .delete-icon img{
    width:34px;
    height:34px;
    object-fit:contain;
    filter:drop-shadow(0 0 10px rgba(255,70,70,.8))drop-shadow(0 0 18px rgba(170,20,40,.45));
}
.delete-comment-box h3{
    margin-bottom:14px;
    font-size:1.6rem;
    font-weight:700;
    letter-spacing:.5px;
    background:linear-gradient(90deg,#ffffff,#ffd9d9,#ff6969);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
}
.delete-comment-box p{
    margin-bottom:30px;
    font-size:.95rem;
    line-height:1.7;
    color:rgba(255,255,255,.72);
}
.delete-comment-box .delete-actions{
    display:flex;
    gap:14px;
}
.delete-comment-box .delete-actions button{
    flex:1;
    padding:14px 18px;
    border:none;
    border-radius:18px;
    font-size:.92rem;
    font-weight:600;
    color:white;
    cursor:pointer;
    transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease;
}
.delete-comment-box .delete-btn{
    background:linear-gradient(135deg,#ff3b3b,#d4143c,#8e001d);
    box-shadow:0 0 22px rgba(255,60,60,.35);
}
.delete-comment-box .delete-btn:hover{
    transform:translateY(-3px) scale(1.03);
    box-shadow:0 0 32px rgba(255,60,60,.55),0 0 70px rgba(170,20,40,.28);
}
.delete-comment-box .delete-btn:active{
    transform:scale(.96);
}
.delete-comment-box .cancel-btn{
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,90,90,.18);
    backdrop-filter:blur(14px);
}
.delete-comment-box .cancel-btn:hover{
    background:rgba(255,255,255,.12);
    border-color:rgba(255,255,255,.14);
    transform:translateY(-3px);
}
.delete-comment-box .cancel-btn:active{
    transform:scale(.96);
}

.account-presence-carousel{
    position:relative;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin-top:10px;
}
.account-card-viewport{
    width:100%;
    overflow:hidden;
    border-radius:22px;
}
.account-card-track{
    width:200%;
    display:flex;
    align-items:stretch;
    transform:translateX(0);
    transition:transform .65s cubic-bezier(.22,1,.36,1);
}
.account-profile-card{
    position:relative;
    width:50%;
    min-width:50%;
    min-height:190px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:24px 18px;
    border-radius:22px;
    background:radial-gradient(circle at 50% 0%,rgba(179,136,255,.14),transparent 55%),rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.09);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 16px 45px rgba(0,0,0,.18);
    overflow:hidden;
}
.account-profile-card::before{
    content:"";
    position:absolute;
    width:170px;
    height:170px;
    top:-110px;
    left:50%;
    transform:translateX(-50%);
    background:radial-gradient(circle,rgba(255,119,180,.20),transparent 70%);
    filter:blur(10px);
    pointer-events:none;
}
.partner-card{
    background:radial-gradient(circle at 50% 0%,rgba(255,119,180,.13),transparent 55%),rgba(255,255,255,.045);
}
.partner-card-top{
    margin-bottom:8px;
}
.partner-avatar-shell{
    position:relative;
    width:58px;
    height:58px;
}
.partner-avatar{
    width:58px;
    height:58px;
    object-fit:cover;
    border-radius:50%;
    border:2px solid rgba(255,255,255,.16);
    box-shadow:0 0 0 4px rgba(255,255,255,.025),0 0 24px rgba(179,136,255,.15);
}
.partner-presence,.self-presence{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin-top:14px;
    padding:7px 13px;
    border-radius:999px;
    font-size:11px;
    font-weight:600;
    letter-spacing:.7px;
    transition:background .4s ease,border-color .4s ease,color .4s ease,box-shadow .4s ease;
}
.presence-orb{
    position:relative;
    width:8px;
    height:8px;
    flex:none;
    border-radius:50%;
}
.self-presence,.partner-presence.is-online{
    color:#aaffcf;
    background:rgba(50,255,150,.07);
    border:1px solid rgba(90,255,170,.16);
    box-shadow:0 0 22px rgba(55,255,150,.05);
}
.self-presence .presence-orb,.partner-presence.is-online .presence-orb{
    background:#63ffad;
    box-shadow:0 0 7px #63ffad,0 0 16px rgba(99,255,173,.55);
}
.self-presence .presence-orb::after,.partner-presence.is-online .presence-orb::after{
    content:"";
    position:absolute;
    inset:-5px;
    border-radius:50%;
    border:1px solid rgba(99,255,173,.55);
    animation:underworldPresencePulse 2s ease-out infinite;
}
@keyframes underworldPresencePulse{
    0%{transform:scale(.65);opacity:.9}
    70%{transform:scale(1.65);opacity:0}
    100%{transform:scale(1.65);opacity:0}
}
.partner-presence.is-offline{
    color:rgba(255,255,255,.52);
    background:rgba(255,255,255,.035);
    border:1px solid rgba(255,255,255,.07);
}

.partner-presence.is-offline .presence-orb{
    background:#73717c;
    box-shadow:0 0 7px rgba(160,155,175,.2);
}
.account-card-arrow{
    flex:none;
    width:32px;
    height:48px;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.045);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    cursor:pointer;
    opacity:.7;
    transition:opacity .25s ease,transform .25s ease,background .25s ease;
}
.account-card-arrow:hover{
    opacity:1;
    transform:scale(1.06);
    background:rgba(255,255,255,.09);
}
.account-card-arrow:active{
    transform:scale(.94);
}
.account-card-arrow img{
    width:8px;
    height:auto;
    opacity:.8;
}
.account-card-dots{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:7px;
    margin:10px 0 5px;
}
.account-card-dot{
    width:5px;
    height:5px;
    border-radius:50%;
    background:rgba(255,255,255,.18);
    transition:width .3s ease,background .3s ease,box-shadow .3s ease;
}
.account-card-dot.active{
    width:18px;
    border-radius:10px;
    background:linear-gradient(90deg,#b388ff,#ff77b4);
    box-shadow:0 0 10px rgba(255,119,180,.35);
}
@media(max-width:520px){
    .account-presence-carousel{
        gap:6px;
    }
    .account-card-arrow{
        width:28px;
        height:44px;
        border-radius:12px;
    }
    .account-profile-card{
        min-height:185px;
        padding:20px 12px;
    }
    .partner-avatar-shell,.partner-avatar{
        width:52px;
        height:52px;
    }
    .partner-presence,.self-presence{
        font-size:10px;
        padding:6px 10px;
    }
}

.music-playlists{
    display:flex;
    flex-direction:column;
    gap:9px;
    margin-top:12px;
}
.music-playlist-card{
    width:100%;
    min-height:58px;
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 12px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.07);
    background:linear-gradient(135deg,rgba(255,119,180,.07),rgba(122,44,255,.045));
    color:#fff;
    text-align:left;
    cursor:pointer;
    transition:transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.music-playlist-card:hover{
    transform:translateX(3px);
    background:linear-gradient(135deg,rgba(255,119,180,.14),rgba(122,44,255,.09));
    border-color:rgba(255,119,180,.22);
    box-shadow:0 7px 22px rgba(255,119,180,.08);
}
.music-playlist-icon{
    width:48px;
    height:48px;
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    border-radius:12px;
}
.music-playlist-icon img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
    border-radius:12px;
}
.music-playlist-copy{
    min-width:0;
    flex:1;
    display:flex;
    flex-direction:column;
    gap:3px;
}
.music-playlist-copy strong{
    font-size:12px;
    font-weight:600;
    color:rgba(255,255,255,.92);
}
.music-playlist-copy small{
    font-size:9px;
    letter-spacing:.35px;
    color:rgba(255,255,255,.4);
}
.music-playlist-arrow{
    opacity:.45;
    font-size:15px;
}
.music-playlist-heading{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    margin:10px 0 4px;
    padding:0 44px;
}
.music-playlist-heading[hidden],.music-pagination[hidden],.music-list[hidden],.music-playlists[hidden]{
    display:none !important;
}
.music-playlist-heading #musicPlaylistTitle{
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:12px;
    font-weight:600;
    letter-spacing:.8px;
    color:rgba(255,255,255,.86);
}
.music-playlist-back{
    position:absolute;
    left:0;
    width:36px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    border:1px solid rgba(255,255,255,.09);
    background:rgba(255,255,255,.045);
    cursor:pointer;
    transition:.25s ease;
}
.music-playlist-back:hover{
    transform:translateX(-2px);
    background:rgba(255,119,180,.11);
    border-color:rgba(255,119,180,.25);
}