@media (max-width: 580px) and (max-height: 650px) {
    :root {
        --ctrl-size: 34px;
        --ctrl-size-sm: 28px;
        --ctrl-icon-size: 14px;
        --thumb-size: 12px;
        --track-h: 3px;
        --track-h-hover: 5px;
        --title-size: 12px;
        --title-size-sm: 11px;
        --controls-pad-x: 8px;
        --controls-pad-bottom: 6px;
        --title-pad-x: 10px;
        --title-pad-top: 8px;
        --title-pad-bottom: 44px;
        --space-xs: 2px;
        --space-sm: 3px;
        --space-md: 6px;
        --space-lg: 8px;
        --space-xl: 10px;
        --space-2xl: 12px;
        --space-3xl: 14px;
        --floating-btn-bottom: 58px;
        --floating-btn-side: 8px;
        --settings-max-h-mobile: 94vh;
        --settings-max-h-desktop: 94vh;
        --settings-max-h-landscape: 94vh;
    }

    #player-controls-wrapper {
        padding: 4px 6px 6px;
        border-radius: 8px 8px 0 0;
    }

    #title-bar {
        padding: 8px 10px 38px;
    }

    #title-text {
        font-size: 11px;
    }

    .left-controls {
        padding: 4px 8px;
        gap: 4px;
        border-radius: 100px;
    }

    .right-controls {
        border-radius: 100px;
    }

    .ctrl-btn {
        width: 30px;
        height: 30px;
    }

    .ctrl-btn i {
        font-size: 12px;
    }

    #btn-episodes {
        padding: 4px 8px;
        min-width: 0;
    }

    #time-row {
        height: 24px;
        font-size: 10px;
    }

    #btn-episodes span {
        font-size: 10px;
        margin-left: 3px;
    }

    #btn-episodes i {
        font-size: 10px;
    }

    #time-row {
        display: none !important;
    }

    #track-wrap {
        padding: 10px 3px;
        min-height: 30px;
    }

    #subtitle-display {
        padding: 0 3%;
    }

    #subtitle-text {
        font-size: 12px;
        line-height: 1.35;
    }

    #now-playing-toast {
        top: 8px;
    }

    .np-title {
        font-size: 11px;
    }

    .np-label {
        font-size: 8px;
    }

    #settings-panel {
        max-height: 62vh;
        max-width: 97vw;
        border-radius: 10px;
        min-height: 0;
    }

    #settings-close-btn {
        max-width: 97vw;
        padding: 9px;
        font-size: 12px;
        border-radius: 8px;
        margin-bottom: 0;
        position: sticky;
        bottom: 0;
    }

    .settings-grid {
        grid-template-columns: 1fr 1fr;
        gap: 4px;
        padding: 6px;
    }

    .settings-tile {
        padding: 8px 6px !important;
        border-radius: 8px !important;
        gap: 3px !important;
    }

    .tile-label {
        font-size: 11px;
        letter-spacing: 0;
    }

    .tile-value {
        font-size: 10px;
    }

    .settings-view-header {
        padding: 8px 10px 6px;
    }

    .settings-view-title {
        font-size: 12px;
    }

    .settings-back-btn {
        width: 26px;
        height: 26px;
        font-size: 11px;
    }

    .settings-list-item {
        padding: 8px 10px;
        font-size: 12px;
        gap: 8px;
    }

    .settings-main-item {
        padding: 8px 10px;
        font-size: 13px;
        gap: 10px;
    }

    .settings-main-divider {
        margin: 2px 10px;
    }

    .settings-toggle {
        width: 36px;
        height: 22px;
    }

    .settings-toggle-knob {
        width: 14px;
        height: 14px;
        top: 4px;
        left: 4px;
    }

    .settings-toggle.on .settings-toggle-knob {
        transform: translateX(14px);
    }

    #buffering-spinner svg {
        width: 32px;
        height: 32px;
    }

    #center-flash i {
        font-size: 1.3rem;
        width: 46px;
        height: 46px;
    }

    .cf-skip-btn {
        width: 34px;
        height: 34px;
        font-size: 1.3rem;
    }

    #skip-segment-btn {
        bottom: 50px;
        left: 6px;
    }

    #skip-segment-inner {
        font-size: 10px;
        padding: 6px 12px;
        gap: 6px;
    }

    #unmute-hint {
        font-size: 11px;
        padding: 8px 14px;
        gap: 8px;
    }

    .sub-lang-group-item {
        padding: 8px 10px;
        gap: 8px;
    }

    .sub-lang-group-item .slg-name {
        font-size: 12px;
    }

    .sub-lang-group-item .slg-count {
        font-size: 12px;
    }

    .sub-entry-row {
        padding: 8px 10px;
        gap: 8px;
    }

    .quality-row {
        padding: 8px 10px;
    }

    .quality-row-label {
        font-size: 12px;
    }

    .quality-auto-label {
        font-size: 12px;
    }

    .quality-auto-row {
        padding: 8px 10px;
    }

    .quality-hint {
        padding: 0 10px 10px;
        font-size: 11px;
    }

    .ep-panel-ep-thumb {
        width: 56px;
        height: 34px;
        border-radius: 5px;
    }

    .ep-panel-ep-name {
        font-size: 12px;
    }

    .ep-panel-ep-meta {
        font-size: 10px;
    }

    .ep-panel-ep-row {
        padding: 7px 8px;
        gap: 8px;
    }

    .ep-season-row {
        padding: 10px 12px;
        font-size: 13px;
    }

    #ep-panel>div {
        max-width: 97vw;
        border-radius: 10px;
        max-height: 62vh;
    }

    #ep-panel-close-btn {
        max-width: 97vw;
        padding: 9px;
        font-size: 12px;
        border-radius: 8px;
    }

    .sub-presets-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 6px;
    }

    .sub-preset-btn {
        padding: 7px;
        font-size: 10px;
    }

    .sub-simple-controls {
        padding: 0 12px;
        margin-top: 12px;
    }

    .sub-simple-label {
        font-size: 11px;
    }

    .sub-size-btn,
    .sub-pos-btn,
    .sub-bg-btn {
        padding: 6px 8px;
        font-size: 10px;
    }

    .sub-custom-row {
        padding: 8px 12px;
    }

    .sub-custom-label {
        font-size: 12px;
    }

    .sub-custom-hint {
        font-size: 11px;
    }

    .seg-item {
        height: 48px;
        gap: 10px;
    }

    .seg-icon {
        width: 32px;
        height: 32px;
        border-radius: 8px;
    }

    .seg-icon i {
        font-size: 13px;
    }

    .seg-label {
        font-size: 12px;
    }

    .seg-time {
        font-size: 10px;
    }

    .wp-btn-primary,
    .wp-btn-secondary {
        padding: 11px;
        font-size: 13px;
    }

    .wp-room-code {
        font-size: 22px;
    }

    .download-item {
        padding: 8px 10px;
    }

    .download-item-name {
        font-size: 12px;
    }

    .download-item-type {
        font-size: 10px;
    }

    #download-list {
        padding: 6px 8px 8px;
        gap: 6px;
    }

    #skip-segment-btn {
        bottom: 50px;
        left: 6px;
    }

    #skip-segment-inner {
        font-size: 10px;
        padding: 6px 12px;
        gap: 6px;
    }

    #unmute-hint {
        font-size: 11px;
        padding: 8px 14px;
        gap: 8px;
    }

    #skip-left {
        left: 8%;
    }

    #skip-right {
        right: 8%;
    }

    .skip-pill i {
        font-size: 18px;
    }

    .skip-pill span {
        font-size: 11px;
    }

    #center-flash i {
        font-size: 1.3rem;
        width: 46px;
        height: 46px;
    }

    .cf-skip-btn {
        width: 34px;
        height: 34px;
        font-size: 1.3rem;
    }

    #title-bar {
        display: none;
    }

    #player-controls-wrapper {
        padding: 3px 4px 4px;
    }

    #track {
        height: 4px;
    }

    #track-wrap {
        padding: 6px 3px;
        min-height: 20px;
    }

    .left-controls,
    .right-controls {
        gap: 2px;
        padding: 2px 5px;
    }

    .ctrl-btn {
        width: 35px;
        height: 35px;
    }

    .ctrl-btn i {
        font-size: 1rem;
    }

    #subtitle-text {
        font-size: 10px;
    }

    #btn-episodes span {
        font-size: 10px;
    }

    #btn-episodes i {
        font-size: 10px;
    }
}

@media (max-width: 768px) {
    :root {
        --settings-max-h-mobile: 52vh;
    }

    #settings-modal-wrap {
        padding: 0 var(--space-md) max(var(--space-md), env(safe-area-inset-bottom, var(--space-md)));
        max-height: 80vh;
        justify-content: flex-end;
    }

    #settings-panel {
        isolation: isolate;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        min-height: 60vh;
        max-width: 94vw;
        flex-shrink: 1;
        min-height: 0;
    }

    #settings-close-btn {
        max-width: 94vw;
        margin-bottom: 0;
        flex-shrink: 0;
    }
}

@media (max-width: 768px) and (max-height: 700px) {
    :root {
        --settings-max-h-mobile: 60vh;
    }

    #settings-panel {
        max-height: calc(90vh);
    }
}