@media (max-width: 768px) {
    .loader-shell {
        width: min(300px, 86vw);
        gap: 16px;
    }

    .loader-orb {
        width: 88px;
        height: 88px;
    }

    .loader-title {
        font-size: clamp(0.95rem, 3.8vw, 1.15rem);
    }

    .loader-status {
        font-size: clamp(0.72rem, 2.9vw, 0.86rem);
    }

    .enter-text {
        font-size: clamp(0.7rem, 3vw, 1rem);
        padding: 0 15px;
        letter-spacing: 0.12em;
    }

    .sound-control {
        top: 15px;
        left: 15px;
    }

    .sound-btn {
        width: 40px;
        height: 40px;
        border-radius: 12px;
    }

    .sound-icon,
    .sound-icon-muted {
        width: 20px;
        height: 20px;
    }

    .volume-slider-container.open {
        width: 90px;
    }

    .profile-card {
        padding: 30px 35px;
        border-radius: 24px;
        min-width: 280px;
    }

    .avatar-container {
        width: 110px;
        height: 110px;
        margin-bottom: 14px;
    }

    .avatar-frame {
        top: -16px;
        left: -20px;
        right: -20px;
        bottom: -16px;
    }

    .frame-branch {
        width: 50px;
        height: 6px;
        top: -6px;
        right: -8px;
    }

    .frame-branch::before {
        width: 24px;
        height: 4px;
        top: 5px;
        left: 28px;
    }

    .frame-sakura {
        width: 12px;
        height: 12px;
    }

    .frame-sakura-2,
    .frame-sakura-3 {
        width: 10px;
        height: 10px;
    }

    .frame-sakura-4,
    .frame-sakura-5 {
        width: 8px;
        height: 8px;
    }

    .profile-name {
        font-size: 1.5rem;
    }

    .sakura-container {
        right: -28px;
        top: -8px;
        width: 32px;
        height: 50px;
    }

    .sakura-petal {
        width: 8px;
        height: 8px;
    }

    .sakura-petal:nth-child(odd) {
        width: 6px;
        height: 6px;
    }

    .sakura-petal:nth-child(3n) {
        width: 10px;
        height: 10px;
    }

    .location-text {
        font-size: 0.9rem;
    }

    .location-icon {
        width: 16px;
        height: 16px;
    }

    .bio-card {
        padding: 12px 14px;
        gap: 12px;
    }

    .bio-avatar-container {
        width: 42px;
        height: 42px;
    }

    .bio-username {
        font-size: 0.95rem;
    }

    .bio-badge {
        width: 32px;
        height: 32px;
    }

    .bio-text {
        font-size: 0.75rem;
    }

    .social-links {
        gap: 14px;
        margin-top: 18px;
    }

    .social-link {
        width: 38px;
        height: 38px;
        border-radius: 10px;
    }

    .social-link svg {
        width: 20px;
        height: 20px;
    }

    .view-counter {
        bottom: 10px;
        left: 12px;
        padding: 5px 10px;
        gap: 6px;
    }

    .view-eye {
        width: 22px;
        height: 22px;
    }

    .view-count {
        font-size: 0.8rem;
    }

    .view-tooltip {
        font-size: 0.7rem;
        padding: 5px 10px;
    }
}

@media (max-width: 480px) {
    .loader-shell {
        width: min(280px, 88vw);
        gap: 14px;
    }

    .loader-orb {
        width: 78px;
        height: 78px;
    }

    .loader-title {
        font-size: clamp(0.88rem, 4.2vw, 1.02rem);
        letter-spacing: 0.12em;
    }

    .loader-bar {
        height: 9px;
    }

    .loader-status {
        font-size: clamp(0.68rem, 3.4vw, 0.8rem);
    }

    .enter-text {
        font-size: clamp(0.85rem, 4.6vw, 1.15rem);
        padding: 0 10px;
        letter-spacing: 0.1em;
    }

    .sound-control {
        top: 14px;
        left: 14px;
        gap: 6px;
    }

    .sound-btn {
        width: 42px;
        height: 42px;
        border-radius: 12px;
    }

    .sound-icon,
    .sound-icon-muted {
        width: 20px;
        height: 20px;
    }

    .volume-slider-container {
        height: 34px;
        border-radius: 17px;
    }

    .volume-slider-container.open {
        width: 100px;
        padding: 0 14px;
    }

    .volume-slider::-webkit-slider-thumb {
        width: 20px;
        height: 20px;
        margin-top: -7px;
    }

    .volume-slider::-moz-range-thumb {
        width: 20px;
        height: 20px;
    }

    .profile-card {
        padding: 32px 32px 54px;
        border-radius: 22px;
        max-width: 94vw;
        min-width: unset;
    }

    .avatar-container {
        width: 100px;
        height: 100px;
        margin-bottom: 14px;
    }

    .avatar-ring {
        border-width: 2px;
        top: -3px;
        left: -3px;
        right: -3px;
        bottom: -3px;
    }

    .avatar-frame {
        top: -14px;
        left: -18px;
        right: -18px;
        bottom: -14px;
    }

    .frame-branch {
        width: 44px;
        height: 5px;
        top: -5px;
        right: -6px;
    }

    .frame-branch::before {
        width: 20px;
        height: 4px;
        top: 4px;
        left: 24px;
    }

    .frame-sakura {
        width: 10px;
        height: 10px;
    }

    .frame-sakura-2,
    .frame-sakura-3 {
        width: 9px;
        height: 9px;
    }

    .frame-sakura-4,
    .frame-sakura-5 {
        width: 7px;
        height: 7px;
    }

    .profile-name {
        font-size: 1.4rem;
        margin-bottom: 8px;
    }

    .sakura-container {
        right: -24px;
        top: -6px;
        width: 28px;
        height: 45px;
    }

    .sakura-petal {
        width: 7px;
        height: 7px;
    }

    .sakura-petal:nth-child(odd) {
        width: 5px;
        height: 5px;
    }

    .sakura-petal:nth-child(3n) {
        width: 9px;
        height: 9px;
    }

    .profile-location {
        margin-bottom: 16px;
        gap: 7px;
    }

    .location-text {
        font-size: 0.85rem;
    }

    .location-icon {
        width: 16px;
        height: 16px;
    }

    .bio-card {
        padding: 12px 14px;
        gap: 12px;
        border-radius: 14px;
    }

    .bio-avatar-container {
        width: 42px;
        height: 42px;
    }

    .bio-username {
        font-size: 0.9rem;
    }

    .bio-badge {
        width: 28px;
        height: 28px;
    }

    .bio-text {
        font-size: 0.75rem;
    }

    .social-links {
        gap: 12px;
        margin-top: 16px;
        margin-bottom: 10px;
    }

    .social-link {
        width: 38px;
        height: 38px;
        border-radius: 11px;
    }

    .social-link svg {
        width: 20px;
        height: 20px;
    }

    .view-counter {
        bottom: 8px;
        left: 12px;
        padding: 5px 10px;
        gap: 6px;
        border-radius: 16px;
    }

    .view-eye {
        width: 22px;
        height: 22px;
    }

    .view-count {
        font-size: 0.78rem;
    }

    .view-tooltip {
        font-size: 0.65rem;
        padding: 4px 8px;
    }
}

@media (orientation: landscape) and (max-height: 500px) {
    .loader-shell {
        width: min(260px, 70vw);
        gap: 12px;
    }

    .loader-orb {
        width: 66px;
        height: 66px;
    }

    .loader-title {
        font-size: 0.85rem;
    }

    .loader-status {
        font-size: 0.68rem;
    }

    .enter-text {
        font-size: clamp(0.6rem, 2vh, 0.85rem);
    }

    .sound-control {
        top: 10px;
        left: 10px;
    }

    .sound-btn {
        width: 36px;
        height: 36px;
    }

    .profile-card {
        padding: 20px 30px;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 15px;
        max-height: 90vh;
    }

    .avatar-container {
        width: 70px;
        height: 70px;
        margin-bottom: 0;
    }

    .profile-info-wrapper {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    .profile-name {
        font-size: 1.2rem;
        margin-bottom: 4px;
    }

    .profile-location {
        margin-bottom: 0;
    }

    .location-text {
        font-size: 0.75rem;
    }

    .location-icon {
        width: 12px;
        height: 12px;
    }

    .bio-card {
        padding: 8px 12px;
        gap: 10px;
    }

    .bio-avatar-container {
        width: 36px;
        height: 36px;
    }

    .bio-username {
        font-size: 0.8rem;
    }

    .bio-badge {
        width: 26px;
        height: 26px;
    }

    .bio-text {
        font-size: 0.65rem;
    }

    .social-links {
        gap: 8px;
        margin-top: 10px;
    }

    .social-link {
        width: 30px;
        height: 30px;
        border-radius: 8px;
    }

    .social-link svg {
        width: 16px;
        height: 16px;
    }

    .view-counter {
        bottom: 3px;
        left: 8px;
        padding: 3px 8px;
        gap: 4px;
        border-radius: 14px;
    }

    .view-eye {
        width: 18px;
        height: 18px;
    }

    .view-count {
        font-size: 0.7rem;
    }

    .view-tooltip {
        font-size: 0.6rem;
        padding: 3px 7px;
    }
}
