.guest-signin-banner { max-width: 1200px; margin: 0 auto; padding: 0 20px 40px; }
        .guest-signin-card {
            background: linear-gradient(135deg, rgba(124,58,237,0.15), rgba(157,110,248,0.08));
            border: 1px solid rgba(124,58,237,0.3);
            border-radius: 16px;
            padding: 32px 36px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
            flex-wrap: wrap;
        }
        .guest-signin-text h2 { font-family:'Outfit',sans-serif; font-size:1.3rem; font-weight:800; color:#fff; margin:0 0 6px; }
        .guest-signin-text p { font-size:0.88rem; color:rgba(255,255,255,0.55); margin:0; }
        .guest-signin-actions { display:flex; gap:10px; flex-shrink:0; }
        .guest-btn-signin {
            padding: 11px 24px; border-radius:10px; border:none;
            background: linear-gradient(135deg, #7c3aed, #9d6ef8);
            color:#fff; font-weight:700; font-size:0.9rem; cursor:pointer;
            font-family:'Outfit',sans-serif; transition:opacity 0.15s ease;
        }
        .guest-btn-signin:hover { opacity:0.88; }
        .guest-btn-register {
            padding: 11px 24px; border-radius:10px;
            border: 1.5px solid rgba(255,255,255,0.15);
            background:transparent; color:rgba(255,255,255,0.8);
            font-weight:600; font-size:0.9rem; cursor:pointer;
            font-family:'Outfit',sans-serif; transition:all 0.15s ease;
        }
        .guest-btn-register:hover { background:rgba(255,255,255,0.08); color:#fff; }
        .kv-list-wrap { max-width:1200px; margin:0 auto; padding:0 20px 60px; }
        .kv-list-heading {
            font-family:'Outfit',sans-serif; font-size:1.4rem; font-weight:800;
            color:#fff; margin:0 0 20px; display:flex; align-items:center; gap:12px;
        }
        .kv-list-heading::before {
            content:''; width:4px; height:22px; border-radius:4px;
            background:#7c3aed; display:inline-block;
        }
        .kv-list-heading span { font-size:0.75rem; font-weight:600; color:rgba(255,255,255,0.35); text-transform:uppercase; letter-spacing:0.1em; }
        .kv-list-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:16px; }
        .kv-list-card { text-decoration:none; color:inherit; display:block; }
        .kv-list-poster {
            width:100%; aspect-ratio:2/3; border-radius:10px; overflow:hidden;
            background:#1a1a1a; border:1px solid rgba(255,255,255,0.06); position:relative;
        }
        .kv-list-poster img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.3s ease; }
        .kv-list-card:hover .kv-list-poster img { transform:scale(1.05); }
        .kv-list-status-badge {
            position:absolute; bottom:6px; left:6px; font-size:0.65rem; font-weight:700;
            padding:3px 7px; border-radius:5px; text-transform:uppercase; letter-spacing:0.05em;
            background:rgba(0,0,0,0.75); color:#fff; backdrop-filter:blur(4px);
        }
        .kv-list-status-badge.watching { background:rgba(34,197,94,0.85); }
        .kv-list-status-badge.planning { background:rgba(59,130,246,0.85); }
        .kv-list-status-badge.completed { background:rgba(124,58,237,0.85); }
        .kv-list-status-badge.dropped { background:rgba(239,68,68,0.75); }
        .kv-list-status-badge.paused { background:rgba(234,179,8,0.85); color:#000; }
        .kv-list-title {
            font-size:0.78rem; font-weight:700; color:#fff; margin:7px 0 0;
            line-height:1.3; display:-webkit-box; -webkit-line-clamp:2;
            -webkit-box-orient:vertical; overflow:hidden;
        }
        .kv-list-empty { grid-column:1/-1; text-align:center; padding:40px 20px; color:rgba(255,255,255,0.4); font-size:0.9rem; line-height:1.6; }
        .ph-confirm-overlay {
            position:fixed; inset:0; z-index:1200;
            background:rgba(0,0,0,0.72); backdrop-filter:blur(6px);
            display:flex; align-items:center; justify-content:center;
            opacity:0; visibility:hidden;
            transition:opacity 0.18s ease, visibility 0s linear 0.18s;
        }
        .ph-confirm-overlay.open {
            opacity:1; visibility:visible;
            transition:opacity 0.18s ease;
        }
        .ph-confirm-card {
            background:#161622; border:1px solid rgba(255,255,255,0.1);
            border-radius:16px; padding:28px 28px 24px;
            width:min(360px, 90vw); box-shadow:0 24px 64px rgba(0,0,0,0.7);
            transform:translateY(12px); transition:transform 0.18s ease;
        }
        .ph-confirm-overlay.open .ph-confirm-card { transform:translateY(0); }
        .ph-confirm-icon {
            width:44px; height:44px; border-radius:50%;
            background:rgba(239,68,68,0.12); border:1.5px solid rgba(239,68,68,0.3);
            display:flex; align-items:center; justify-content:center; margin:0 0 16px;
        }
        .ph-confirm-icon svg { width:20px; height:20px; stroke:#f87171; }
        .ph-confirm-title {
            font-family:'Outfit',sans-serif; font-size:1.05rem; font-weight:800;
            color:#fff; margin:0 0 6px;
        }
        .ph-confirm-sub {
            font-size:0.83rem; color:rgba(255,255,255,0.45); margin:0 0 24px; line-height:1.5;
        }
        .ph-confirm-actions { display:flex; gap:10px; justify-content:flex-end; }
        .ph-confirm-cancel {
            padding:9px 20px; border-radius:9px;
            border:1.5px solid rgba(255,255,255,0.12);
            background:transparent; color:rgba(255,255,255,0.7);
            font-size:0.85rem; font-weight:600; cursor:pointer;
            font-family:'Outfit',sans-serif; transition:all 0.15s ease;
        }
        .ph-confirm-cancel:hover { background:rgba(255,255,255,0.07); color:#fff; }
        .ph-confirm-ok {
            padding:9px 20px; border-radius:9px; border:none;
            background:linear-gradient(135deg,#dc2626,#ef4444);
            color:#fff; font-size:0.85rem; font-weight:700; cursor:pointer;
            font-family:'Outfit',sans-serif; transition:opacity 0.15s ease;
        }
        .ph-confirm-ok:hover { opacity:0.85; }
        .kv-view-all-wrap { text-align:center; margin-top:24px; }
        .kv-view-all-btn {
            padding:10px 32px; border-radius:10px;
            border:1.5px solid rgba(124,58,237,0.4);
            background:rgba(124,58,237,0.08); color:#c4b5fd;
            font-size:0.85rem; font-weight:700; cursor:pointer;
            font-family:'Outfit',sans-serif; transition:all 0.18s ease;
            letter-spacing:0.01em;
        }
        .kv-view-all-btn:hover { background:rgba(124,58,237,0.22); border-color:rgba(124,58,237,0.75); color:#fff; }

        .settings-section { max-width:1200px; margin:0 auto; padding:0 20px 60px; }
        .settings-card { background:rgba(255,255,255,0.02); border:1px solid rgba(255,255,255,0.06); border-radius:14px; overflow:hidden; }
        .settings-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 22px; flex-wrap:wrap; }
        .settings-row + .settings-row { border-top:1px solid rgba(255,255,255,0.05); }
        .settings-row-name { font-size:0.9rem; font-weight:700; color:#fff; margin:0 0 3px; }
        .settings-row-desc { font-size:0.78rem; color:rgba(255,255,255,0.4); margin:0; }
        .settings-row-right { display:flex; align-items:center; gap:14px; flex-shrink:0; }
        .settings-server-val { font-size:0.85rem; font-weight:600; color:#c4b5fd; }
        .settings-change-btn {
            padding:7px 18px; border-radius:8px; border:1.5px solid rgba(124,58,237,0.35);
            background:rgba(124,58,237,0.08); color:#c4b5fd; font-size:0.82rem; font-weight:700;
            cursor:pointer; font-family:'Outfit',sans-serif; transition:all 0.15s ease;
        }
        .settings-change-btn:hover { background:rgba(124,58,237,0.2); border-color:rgba(124,58,237,0.65); color:#fff; }
        .srv-modal-overlay {
            position:fixed; inset:0; z-index:1300;
            background:rgba(0,0,0,0.75); backdrop-filter:blur(8px);
            display:flex; align-items:center; justify-content:center;
            opacity:0; visibility:hidden; padding:16px;
            transition:opacity 0.18s ease, visibility 0s linear 0.18s;
        }
        .srv-modal-overlay.open { opacity:1; visibility:visible; transition:opacity 0.18s ease; }
        .srv-modal-card {
            background:#161622; border:1px solid rgba(255,255,255,0.1); border-radius:18px;
            width:min(480px,100%); max-height:88vh; display:flex; flex-direction:column;
            box-shadow:0 32px 80px rgba(0,0,0,0.75);
            transform:translateY(14px); transition:transform 0.18s ease;
        }
        .srv-modal-overlay.open .srv-modal-card { transform:translateY(0); }
        .srv-modal-header {
            display:flex; align-items:center; justify-content:space-between;
            padding:20px 22px 16px; border-bottom:1px solid rgba(255,255,255,0.07); flex-shrink:0;
        }
        .srv-modal-title { font-family:'Outfit',sans-serif; font-size:1.05rem; font-weight:800; color:#fff; margin:0; }
        .srv-modal-close {
            width:30px; height:30px; border-radius:50%; border:none;
            background:rgba(255,255,255,0.08); color:rgba(255,255,255,0.6);
            font-size:1.1rem; cursor:pointer; display:flex; align-items:center; justify-content:center;
            transition:all 0.15s ease; line-height:1;
        }
        .srv-modal-close:hover { background:rgba(255,255,255,0.15); color:#fff; }
        .srv-modal-body { overflow-y:auto; flex:1; padding:8px 10px; }
        .srv-modal-body::-webkit-scrollbar { width:4px; }
        .srv-modal-body::-webkit-scrollbar-track { background:transparent; }
        .srv-modal-body::-webkit-scrollbar-thumb { background:rgba(255,255,255,0.12); border-radius:2px; }
        .srv-modal-footer {
            display:flex; gap:10px; justify-content:flex-end;
            padding:14px 20px; border-top:1px solid rgba(255,255,255,0.07); flex-shrink:0;
        }
        .srv-modal-cancel {
            padding:9px 20px; border-radius:9px; border:1.5px solid rgba(255,255,255,0.12);
            background:transparent; color:rgba(255,255,255,0.7); font-size:0.85rem; font-weight:600;
            cursor:pointer; font-family:'Outfit',sans-serif; transition:all 0.15s ease;
        }
        .srv-modal-cancel:hover { background:rgba(255,255,255,0.07); color:#fff; }
        .srv-modal-save {
            padding:9px 24px; border-radius:9px; border:none;
            background:linear-gradient(135deg,#7c3aed,#9d6ef8); color:#fff;
            font-size:0.85rem; font-weight:700; cursor:pointer;
            font-family:'Outfit',sans-serif; transition:opacity 0.15s ease;
        }
        .srv-modal-save:hover { opacity:0.88; }
        .srv-item {
            display:flex; align-items:center; gap:14px; padding:11px 12px;
            border-radius:10px; cursor:pointer; transition:background 0.12s ease; margin-bottom:2px;
        }
        .srv-item:hover { background:rgba(255,255,255,0.04); }
        .srv-item.active { background:rgba(124,58,237,0.1); }
        .srv-radio {
            width:18px; height:18px; border-radius:50%; border:2px solid rgba(255,255,255,0.2);
            flex-shrink:0; transition:all 0.15s ease; position:relative;
        }
        .srv-radio.active { border-color:#7c3aed; }
        .srv-radio.active::after {
            content:''; position:absolute; inset:3px; border-radius:50%; background:#7c3aed;
        }
        .srv-info { flex:1; min-width:0; }
        .srv-name { font-size:0.88rem; font-weight:700; color:#fff; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
        .srv-auto-desc { font-size:0.73rem; color:rgba(255,255,255,0.38); margin-top:2px; }
        .srv-fastest-badge {
            font-size:0.6rem; font-weight:800; padding:2px 7px; border-radius:99px;
            background:rgba(34,197,94,0.12); color:#4ade80;
            border:1px solid rgba(34,197,94,0.25); text-transform:uppercase; letter-spacing:0.07em;
        }
        .srv-check { width:16px; height:16px; flex-shrink:0; stroke:#7c3aed; }
        .srv-divider { height:1px; background:rgba(255,255,255,0.06); margin:6px 2px; }
        @media (max-width:600px) {
            .settings-row { flex-direction:column; align-items:flex-start; }
            .settings-row-right { width:100%; justify-content:space-between; }
            .settings-section { padding:0 14px 48px; }
        }

        .ph-section { max-width:1200px; margin:0 auto; padding:0 20px 60px; }
        .ph-section-header {
            display:flex; align-items:center; justify-content:space-between;
            margin-bottom:20px; gap:12px; flex-wrap:wrap;
        }
        .ph-heading {
            font-family:'Outfit',sans-serif; font-size:1.4rem; font-weight:800;
            color:#fff; margin:0; display:flex; align-items:center; gap:12px;
        }
        .ph-heading::before {
            content:''; width:4px; height:22px; border-radius:4px;
            background:#7c3aed; display:inline-block; flex-shrink:0;
        }
        .ph-heading span { font-size:0.75rem; font-weight:600; color:rgba(255,255,255,0.35); text-transform:uppercase; letter-spacing:0.1em; }
        .ph-clear-btn {
            padding:7px 16px; border-radius:8px; border:1.5px solid rgba(255,255,255,0.12);
            background:transparent; color:rgba(255,255,255,0.55); font-size:0.78rem;
            font-weight:600; cursor:pointer; transition:all 0.15s ease; white-space:nowrap;
            font-family:'Outfit',sans-serif;
        }
        .ph-clear-btn:hover { background:rgba(239,68,68,0.12); border-color:rgba(239,68,68,0.4); color:#f87171; }
        .ph-empty {
            text-align:center; padding:48px 20px;
            color:rgba(255,255,255,0.35); font-size:0.9rem; line-height:1.7;
            background:rgba(255,255,255,0.02); border-radius:14px;
            border:1px solid rgba(255,255,255,0.05);
        }
        .ph-empty svg { display:block; margin:0 auto 16px; opacity:0.25; }
        .ph-date-group { margin-bottom:32px; }
        .ph-date-label {
            font-size:0.78rem; font-weight:700; color:rgba(255,255,255,0.4);
            text-transform:uppercase; letter-spacing:0.12em;
            margin:0 0 12px; display:flex; align-items:center; gap:10px;
        }
        .ph-date-label::after { content:''; flex:1; height:1px; background:rgba(255,255,255,0.06); }
        .ph-row {
            display:flex; gap:14px; overflow-x:auto; padding-bottom:8px;
            scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
        }
        .ph-row::-webkit-scrollbar { height:4px; }
        .ph-row::-webkit-scrollbar-track { background:transparent; }
        .ph-row::-webkit-scrollbar-thumb { background:rgba(255,255,255,0.12); border-radius:2px; }
        .ph-card {
            flex-shrink:0; width:190px; scroll-snap-align:start;
            background:#111118; border-radius:10px; overflow:hidden;
            border:1px solid rgba(255,255,255,0.06); cursor:pointer;
            transition:transform 0.2s ease, border-color 0.2s ease; position:relative;
        }
        .ph-card:hover { transform:translateY(-3px); border-color:rgba(124,58,237,0.35); }
        .ph-thumb {
            position:relative; width:100%; aspect-ratio:16/9; overflow:hidden;
            background:#0e0e16;
        }
        .ph-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.3s ease; }
        .ph-card:hover .ph-thumb img { transform:scale(1.05); }
        .ph-play {
            position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
            background:rgba(0,0,0,0.3); opacity:0; transition:opacity 0.2s ease;
        }
        .ph-card:hover .ph-play { opacity:1; }
        .ph-play-icon {
            width:36px; height:36px; border-radius:50%;
            background:rgba(124,58,237,0.9); display:flex; align-items:center; justify-content:center;
        }
        .ph-play-icon svg { width:14px; height:14px; fill:#fff; margin-left:2px; }
        .ph-ep-tag {
            position:absolute; bottom:6px; left:6px; background:rgba(0,0,0,0.8);
            color:#fff; font-size:0.6rem; font-weight:800; padding:2px 6px;
            border-radius:4px; letter-spacing:0.04em; backdrop-filter:blur(4px);
        }
        .ph-progress-wrap {
            position:absolute; bottom:0; left:0; right:0; height:3px; background:rgba(255,255,255,0.12);
        }
        .ph-progress-bar { height:100%; background:#7c3aed; border-radius:0 2px 0 0; }
        .ph-remove {
            position:absolute; top:6px; right:6px; width:22px; height:22px;
            border-radius:50%; border:none; background:rgba(0,0,0,0.7);
            color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center;
            opacity:0; transition:opacity 0.15s ease; backdrop-filter:blur(4px);
            padding:0;
        }
        .ph-remove svg { width:10px; height:10px; }
        .ph-card:hover .ph-remove { opacity:1; }
        .ph-remove:hover { background:rgba(239,68,68,0.85); }
        .ph-body { padding:9px 10px 10px; }
        .ph-title {
            font-size:0.78rem; font-weight:700; color:#fff;
            white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin:0 0 3px;
        }
        .ph-ep-title {
            font-size:0.68rem; color:rgba(255,255,255,0.4);
            white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin:0;
        }
        @media (max-width:600px) {
            .ph-section {
                width:100%;
                min-width:0;
                max-width:100%;
                padding:0 14px 48px;
                overflow:visible;
                box-sizing:border-box;
            }
            .ph-section-header {
                display:flex;
                flex-wrap:wrap;
                align-items:center;
                justify-content:space-between;
                gap:10px;
                margin-bottom:16px;
                width:100%;
                max-width:100%;
                min-width:0;
                padding:0;
                box-sizing:border-box;
            }
            .ph-heading {
                flex:1 1 180px;
                min-width:0;
                font-size:1.15rem;
                gap:8px;
                overflow:hidden;
            }
            .ph-heading span { display:none; }
            .ph-clear-btn {
                display:inline-flex;
                align-items:center;
                justify-content:center;
                flex:0 0 auto;
                min-height:34px;
                padding:7px 12px;
                position:relative;
                z-index:2;
                max-width:100%;
                margin-left:auto;
                white-space:nowrap;
                box-sizing:border-box;
            }
            .ph-date-group {
                width:calc(100% + 28px);
                margin-left:-14px;
                overflow:visible;
            }
            .ph-row {
                width:100%;
                max-width:100vw;
                gap:12px;
                padding:0 14px 12px;
                overflow-x:auto;
                overflow-y:hidden;
                scroll-padding-inline:14px;
                overscroll-behavior-x:contain;
                touch-action:pan-x pan-y;
                scrollbar-width:none;
            }
            .ph-row::-webkit-scrollbar { display:none; }
            .ph-card {
                width:min(72vw, 240px);
                flex:0 0 min(72vw, 240px);
            }
            .ph-remove { opacity:1; }
        }
        .mal-status-dot {
            width:10px; height:10px; border-radius:50%; flex-shrink:0;
        }
        .mal-status-dot.watching { background:#3b82f6; }
        .mal-status-dot.plan_to_watch { background:#06b6d4; }
        .mal-status-dot.completed { background:#22c55e; }
        .mal-status-dot.dropped { background:#ef4444; }
        .mal-status-dot.on_hold { background:#f97316; }
        .mal-status-dot.rewatching { background:#a855f7; }

        .mal-edit-modal-overlay {
            position: fixed; inset: 0; background: rgba(0,0,0,0.75); backdrop-filter: blur(6px);
            z-index: 1000; display: none; align-items: center; justify-content: center; padding: 20px;
        }
        .mal-edit-modal-overlay.active .mal-edit-modal-content { transform: scale(1); opacity: 1; }
        .mal-edit-modal-content {
            background: #111118; border: 1px solid rgba(255,255,255,0.08); border-radius: 16px;
            width: 100%; max-width: 520px; max-height: 90vh; overflow-y: auto;
            transform: scale(0.95); opacity: 0; transition: transform 0.25s ease, opacity 0.25s ease;
        }
        .mal-edit-body { padding: 24px 24px 0; }
        .mal-edit-body h2 { font-size: 1.05rem; font-weight: 700; color: #fff; margin: 0 0 18px; }
        .mal-edit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
        .mal-edit-field label {
            display: block; font-size: 0.73rem; font-weight: 600; color: rgba(255,255,255,0.4);
            text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 6px;
        }
        .mal-edit-footer {
            padding: 16px 24px; display: flex; align-items: center; justify-content: space-between;
            border-top: 1px solid rgba(255,255,255,0.06); margin-top: 20px;
        }
        .mal-save-btn {
            background: #2563eb; border: none; border-radius: 8px; color: #fff;
            font-size: 0.85rem; font-weight: 700; padding: 9px 22px; cursor: pointer;
            font-family: 'Outfit', sans-serif; transition: background 0.15s ease;
        }
        .mal-save-btn:hover { background: #1d4ed8; }
        .mal-cancel-btn {
            background: transparent; border: 1.5px solid rgba(255,255,255,0.12); border-radius: 8px;
            color: rgba(255,255,255,0.6); font-size: 0.85rem; font-weight: 600; padding: 9px 18px;
            cursor: pointer; font-family: 'Outfit', sans-serif; transition: all 0.15s ease;
        }
        .mal-cancel-btn:hover { border-color: rgba(255,255,255,0.25); color: #fff; }
        .mal-delete-btn {
            background: transparent; border: none; padding: 8px; border-radius: 8px;
            color: rgba(255,255,255,0.35); cursor: pointer; transition: all 0.15s ease; display: flex;
        }
        .mal-delete-btn:hover { background: rgba(239,68,68,0.12); color: #f87171; }
        .al-mal-separator {
            padding: 14px 12px 6px; display: flex; align-items: center; gap: 10px;
        }
        .al-mal-separator span {
            font-size: 0.65rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em;
            color: rgba(59,130,246,0.7); white-space: nowrap;
        }
        .al-mal-separator::after {
            content: ''; flex: 1; height: 1px; background: rgba(59,130,246,0.15);
        }
        .al-list-btn.mal-tab { color: rgba(255,255,255,0.6); }
        .al-list-btn.mal-tab.active { background: rgba(59,130,246,0.12); color: #93c5fd; }
        .al-list-btn.mal-tab.active svg { stroke: #93c5fd; }
        .al-list-btn.mal-tab:hover { background: rgba(59,130,246,0.08); }
