        :root {
            --white: #fff;
            --white-08: rgba(255,255,255,0.08);
            --white-10: rgba(255,255,255,0.1);
            --white-12: rgba(255,255,255,0.12);
            --white-15: rgba(255,255,255,0.15);
            --white-20: rgba(255,255,255,0.2);
            --white-25: rgba(255,255,255,0.25);
            --white-30: rgba(255,255,255,0.3);
            --white-35: rgba(255,255,255,0.35);
            --white-40: rgba(255,255,255,0.4);
            --white-50: rgba(255,255,255,0.5);
            --white-60: rgba(255,255,255,0.6);
            --white-70: rgba(255,255,255,0.7);
            --white-80: rgba(255,255,255,0.8);
            --white-90: rgba(255,255,255,0.9);
            --yellow: #ffd93d;
            --red: #e94560;
            --red-30: rgba(233,69,96,0.3);
            --red-50: rgba(233,69,96,0.5);
            --green: #6bcb77;
            --blue: #4d96ff;
            --orange: #ff9f43;
            --purple: #9b59b6;
            --bg-dark: #1a1a2e;
            --bg-mid: #16213e;
            --bg-blue: #0f3460;
            --panel-bg: rgba(22,33,62,0.98);
            --panel-bg-95: rgba(22,33,62,0.95);
            --q1-gradient: linear-gradient(135deg, #e94560 0%, #ff6b6b 100%);
            --q2-gradient: linear-gradient(135deg, #4d96ff 0%, #6bcb77 100%);
            --q3-gradient: linear-gradient(135deg, #ff9f43 0%, #ffd93d 100%);
            --q4-gradient: linear-gradient(135deg, #9b59b6 0%, #e056fd 100%);
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }

        body {
            width: 100vw;
            height: 100vh;
            overflow: hidden;
            background: linear-gradient(135deg, var(--bg-dark) 0%, var(--bg-mid) 50%, var(--bg-blue) 100%);
            font-family: sans-serif;
            padding: 20px 10px;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .matrix-container {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 20px;
            max-width: 1400px;
            width: 100%;
        }

        .quadrant {
            border-radius: 18px;
            padding: 25px 20px 20px;
            height: 400px;
            position: relative;
            display: flex;
            flex-direction: column;
            overflow: hidden;
            transition: box-shadow 0.3s ease;
        }

        .quadrant-header { flex-shrink: 0; }

        .quadrant-body {
            flex: 1;
            overflow-y: auto;
            overflow-x: hidden;
        }

        .quadrant-body::-webkit-scrollbar { width: 6px; }
        .quadrant-body::-webkit-scrollbar-track { background: var(--white-10); border-radius: 3px; }
        .quadrant-body::-webkit-scrollbar-thumb { background: var(--white-30); border-radius: 3px; }
        .quadrant-body::-webkit-scrollbar-thumb:hover { background: var(--white-50); }

        .quadrant:hover { box-shadow: 0 15px 30px rgba(0,0,0,0.3); }

        .q1 { background: var(--q1-gradient); grid-column: 2; grid-row: 1; }
        .q2 { background: var(--q2-gradient); grid-column: 1; grid-row: 1; }
        .q3 { background: var(--q3-gradient); grid-column: 2; grid-row: 2; }
        .q4 { background: var(--q4-gradient); grid-column: 1; grid-row: 2; }

        .quadrant-number {
            position: absolute;
            top: 10px;
            right: 70px;
            font-size: 4.5rem;
            font-weight: bold;
            opacity: 0.15;
            color: var(--white);
        }

        .btn-quadrant-add {
            position: absolute;
            top: 14px;
            right: 15px;
            width: 40px;
            height: 40px;
            border: 2px solid var(--white-60);
            border-radius: 50%;
            background: var(--white-20);
            color: var(--white);
            font-size: 1.6rem;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.2s ease;
            z-index: 10;
            line-height: 1;
        }

        .btn-quadrant-add:hover {
            background: var(--white-50);
            transform: scale(1.1);
        }

        .inline-input-wrap {
            display: none;
            margin-bottom: 10px;
            flex-direction: column;
            gap: 6px;
        }

        .inline-input-wrap.show { display: flex; }

        .inline-input-wrap .input-row {
            display: flex;
            gap: 8px;
            align-items: center;
        }

        .inline-input-wrap input {
            flex: 1;
            padding: 8px 12px;
            border: 1px solid var(--white-40);
            border-radius: 8px;
            background: var(--white-20);
            color: var(--white);
            font-size: 0.9rem;
            font-family: inherit;
            outline: none;
        }

        .inline-input-wrap input::placeholder { color: var(--white-50); }
        .inline-input-wrap input:focus { border-color: var(--yellow); }

        .inline-input-wrap button {
            padding: 8px 14px;
            border: none;
            border-radius: 8px;
            background: var(--white-30);
            color: var(--white);
            font-size: 0.85rem;
            cursor: pointer;
            font-family: inherit;
            transition: all 0.2s ease;
        }

        .inline-input-wrap button:hover { background: var(--white-50); }

        .quadrant-title {
            font-size: 1.2rem;
            font-weight: bold;
            color: var(--white);
            margin-bottom: 8px;
            display: inline;
        }

        .quadrant-subtitle-inline {
            font-size: 1rem;
            color: var(--white-80);
            font-weight: bold;
        }

        .quadrant-action {
            font-size: 0.8rem;
            color: var(--white-70);
            margin-bottom: 12px;
        }

        .task-list {
            list-style: none;
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .task-item {
            display: flex;
            align-items: flex-start;
            gap: 12px;
            background: var(--white-20);
            padding: 14px 16px;
            border-radius: 10px;
            backdrop-filter: blur(5px);
            border: 1px solid var(--white-15);
            transition: all 0.2s ease;
            animation: slideIn 0.3s ease;
        }

        @keyframes slideIn {
            from { opacity: 0; transform: translateY(-10px); }
            to { opacity: 1; transform: translateY(0); }
        }

        .task-item:hover { background: var(--white-30); }

        .task-item[draggable="true"] { cursor: grab; }

        .task-item.dragging { opacity: 0.4; transform: scale(0.95); }

        .task-item.drag-over-item { border-top: 2px solid var(--white-80); }

        .quadrant.drag-over { box-shadow: 0 0 0 4px var(--white-90), 0 20px 40px rgba(0,0,0,0.5); transform: scale(1.02); }

        .task-item.done { opacity: 0.5; }

        .task-item.done .task-text { text-decoration: line-through; }

        .task-check {
            width: 24px;
            height: 24px;
            border: 2px solid var(--white-60);
            border-radius: 50%;
            cursor: pointer;
            transition: all 0.2s ease;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .task-index {
            color: var(--white-50);
            font-size: 0.75rem;
            font-weight: bold;
            flex-shrink: 0;
            min-width: 16px;
            text-align: center;
        }

        .task-check:hover { background: var(--white-30); }

        .task-item.done .task-check {
            background: var(--white-80);
            border-color: var(--white);
        }

        .task-item.done .task-check::after {
            content: '✓';
            color: #333;
            font-size: 0.85rem;
            font-weight: bold;
        }

        .task-text {
            color: var(--white);
            font-size: 1rem;
            flex: 1;
            line-height: 1.4;
            word-break: break-word;
            min-width: 0;
        }

        .task-title {
            color: var(--white);
            font-size: 1rem;
            font-weight: bold;
            line-height: 1.4;
            word-break: break-word;
        }

        .task-item.done .task-title { text-decoration: line-through; }

        .task-content {
            color: var(--white-70);
            font-size: 0.85rem;
            line-height: 1.4;
            word-break: break-word;
            margin-top: 6px;
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease;
        }

        .task-item.expanded .task-content { max-height: 200px; }

        .task-expand {
            width: 24px;
            height: 24px;
            border: none;
            background: var(--white-20);
            color: var(--white-80);
            border-radius: 50%;
            cursor: pointer;
            font-size: 0.7rem;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.2s ease;
            flex-shrink: 0;
        }

        .task-expand:hover { background: var(--white-40); }

        .task-item.expanded .task-expand { transform: rotate(180deg); }

        .edit-form {
            display: flex;
            flex-direction: column;
            gap: 6px;
            margin-top: 6px;
        }

        .edit-form input {
            padding: 6px 10px;
            border: 1px solid var(--white-40);
            border-radius: 6px;
            background: var(--white-25);
            color: var(--white);
            font-size: 0.9rem;
            font-family: inherit;
            outline: none;
        }

        .edit-form input:focus { border-color: var(--yellow); }

        .edit-form-buttons {
            display: flex;
            gap: 6px;
        }

        .edit-form-buttons button {
            padding: 4px 10px;
            border: none;
            border-radius: 6px;
            font-size: 0.8rem;
            cursor: pointer;
            font-family: inherit;
            transition: all 0.2s ease;
        }

        .btn-edit-save {
            background: var(--white-35);
            color: var(--white);
        }

        .btn-edit-save:hover { background: var(--white-50); }

        .btn-edit-cancel {
            background: var(--white-15);
            color: var(--white-70);
        }

        .btn-edit-cancel:hover { background: var(--white-25); }

        .task-delete {
            width: 26px;
            height: 26px;
            border: none;
            background: var(--white-20);
            color: var(--white-80);
            border-radius: 50%;
            cursor: pointer;
            font-size: 0.9rem;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.2s ease;
            flex-shrink: 0;
        }

        .task-delete:hover { background: var(--white-50); color: var(--white); }

        .empty-tip {
            color: var(--white-50);
            font-size: 0.8rem;
            text-align: center;
            padding: 20px 0;
        }

        .stats-bar {
            display: flex;
            gap: 20px;
            margin-top: 25px;
            max-width: 1000px;
            width: 100%;
            justify-content: center;
            flex-wrap: wrap;
        }

        .stat-card {
            background: var(--white-10);
            padding: 12px 20px;
            border-radius: 12px;
            text-align: center;
            backdrop-filter: blur(10px);
            border: 1px solid var(--white-20);
        }

        .stat-count { color: var(--yellow); font-size: 1.5rem; font-weight: bold; }
        .stat-label { color: var(--white-70); font-size: 0.8rem; margin-top: 3px; }

        .clear-btn {
            padding: 10px 20px;
            border: 1px solid var(--white-30);
            border-radius: 12px;
            background: var(--white-10);
            color: var(--white);
            font-size: 0.85rem;
            cursor: pointer;
            transition: all 0.2s ease;
            font-family: inherit;
        }

        .clear-btn:hover { background: var(--white-20); }

        .trash-btn, .settings-btn {
            position: fixed;
            left: 20px;
            width: 48px;
            height: 48px;
            border: 1px solid var(--white-30);
            border-radius: 50%;
            background: var(--white-10);
            color: var(--white);
            font-size: 1.3rem;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.3s ease;
            backdrop-filter: blur(10px);
            z-index: 100;
        }

        .trash-btn { bottom: 20px; }
        .settings-btn { bottom: 80px; }

        .trash-btn:hover, .settings-btn:hover {
            background: var(--white-25);
            transform: scale(1.1);
        }

        .settings-btn.connected { border-color: var(--green); }

        .settings-overlay, .trash-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0,0,0,0.5);
            z-index: 200;
            display: none;
            backdrop-filter: blur(3px);
        }

        .settings-overlay.show, .trash-overlay.show { display: block; }

        .settings-panel {
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 400px;
            background: var(--panel-bg);
            border-radius: 18px;
            padding: 30px;
            border: 1px solid var(--white-15);
            backdrop-filter: blur(20px);
            z-index: 201;
            display: none;
            animation: fadeIn 0.3s ease;
        }

        .settings-panel.show { display: block; }

        @keyframes fadeIn {
            from { opacity: 0; transform: translate(-50%, -50%) scale(0.95); }
            to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
        }

        .settings-panel h3 {
            color: var(--white);
            font-size: 1.2rem;
            margin-bottom: 20px;
            text-align: center;
        }

        .conn-status {
            font-size: 0.75rem;
            font-weight: normal;
            margin-left: 6px;
        }

        .conn-status.connected { color: var(--green); }
        .conn-status.disconnected { color: var(--red); }

        .settings-panel label {
            color: var(--white-70);
            font-size: 0.85rem;
            display: block;
            margin-bottom: 5px;
            margin-top: 12px;
        }

        .settings-panel input {
            width: 100%;
            padding: 10px 14px;
            border: 1px solid var(--white-30);
            border-radius: 10px;
            background: var(--white-10);
            color: var(--white);
            font-size: 0.9rem;
            font-family: inherit;
            outline: none;
        }

        .settings-panel input:focus { border-color: var(--yellow); }
        .settings-panel input::placeholder { color: var(--white-40); }

        .settings-panel .settings-buttons {
            display: flex;
            gap: 10px;
            margin-top: 20px;
        }

        .settings-panel .btn-connect {
            flex: 1;
            padding: 10px;
            border: none;
            border-radius: 10px;
            background: linear-gradient(135deg, var(--blue), var(--green));
            color: var(--white);
            font-size: 0.95rem;
            font-weight: bold;
            cursor: pointer;
            font-family: inherit;
            transition: all 0.2s ease;
        }

        .settings-panel .btn-connect:hover { opacity: 0.9; }
        .settings-panel .btn-connect:disabled { opacity: 0.5; cursor: not-allowed; }

        .settings-panel .btn-disconnect {
            padding: 10px 14px;
            border: 1px solid var(--white-30);
            border-radius: 10px;
            background: var(--white-10);
            color: var(--white-70);
            font-size: 0.85rem;
            cursor: pointer;
            font-family: inherit;
            transition: all 0.2s ease;
        }

        .settings-panel .btn-disconnect:hover { background: var(--red-30); color: var(--white); }

        .settings-panel .status-msg {
            color: var(--green);
            font-size: 0.8rem;
            text-align: center;
            margin-top: 10px;
            min-height: 20px;
        }

        .settings-panel .status-msg.error { color: var(--red); }

        .loading-bar {
            position: fixed;
            top: 0;
            left: 0;
            height: 5px;
            width: 0;
            background: linear-gradient(90deg, var(--blue), var(--green), var(--yellow));
            z-index: 999;
            transition: width 0.3s ease;
            opacity: 0;
        }

        .loading-bar.active {
            opacity: 1;
            transition: width 0.3s ease, opacity 0.15s ease;
        }

        .trash-btn .trash-count {
            position: absolute;
            top: -6px;
            right: -6px;
            background: var(--red);
            color: var(--white);
            font-size: 0.7rem;
            min-width: 18px;
            height: 18px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .trash-panel {
            position: fixed;
            bottom: 80px;
            left: 20px;
            width: 50vw;
            max-height: 70vh;
            background: var(--panel-bg-95);
            border-radius: 18px;
            padding: 20px;
            border: 1px solid var(--white-15);
            backdrop-filter: blur(20px);
            z-index: 201;
            display: none;
            animation: slideUp 0.3s ease;
            overflow-y: auto;
        }

        .trash-panel::-webkit-scrollbar { width: 6px; }
        .trash-panel::-webkit-scrollbar-track { background: var(--white-10); border-radius: 3px; }
        .trash-panel::-webkit-scrollbar-thumb { background: var(--white-30); border-radius: 3px; }

        .trash-panel.show { display: block; }

        @keyframes slideUp {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }

        .trash-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 15px;
        }

        .trash-title {
            color: var(--white-70);
            font-size: 1.1rem;
            font-weight: bold;
        }

        .trash-list {
            list-style: none;
            display: flex;
            flex-direction: column;
            gap: 6px;
        }

        .trash-item {
            display: flex;
            align-items: center;
            gap: 12px;
            background: var(--white-08);
            padding: 10px 14px;
            border-radius: 8px;
            border: 1px solid var(--white-08);
            animation: slideIn 0.3s ease;
            flex-wrap: wrap;
        }

        .trash-item:hover { background: var(--white-12); }

        .trash-title-text {
            color: var(--white-60);
            font-size: 0.9rem;
            flex: 1;
            text-decoration: line-through;
        }

        .trash-time {
            color: var(--white-40);
            font-size: 0.75rem;
            flex-shrink: 0;
        }

        .btn-restore {
            padding: 4px 12px;
            border: 1px solid var(--white-30);
            border-radius: 6px;
            background: var(--white-15);
            color: var(--white-70);
            font-size: 0.8rem;
            cursor: pointer;
            font-family: inherit;
            transition: all 0.2s ease;
            flex-shrink: 0;
        }

        .btn-restore:hover { background: var(--white-30); color: var(--white); }

        .btn-trash-delete {
            width: 22px;
            height: 22px;
            border: none;
            background: var(--white-10);
            color: var(--white-50);
            border-radius: 50%;
            cursor: pointer;
            font-size: 0.75rem;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.2s ease;
            flex-shrink: 0;
        }

        .btn-trash-delete:hover { background: var(--red-50); color: var(--white); }

        @media (max-width: 1024px) {
            .matrix-container { gap: 14px; max-width: 100%; }
            .quadrant { height: 300px; padding: 18px 14px 14px; }
            .quadrant-number { font-size: 3.5rem; top: 6px; right: 55px; }
            .btn-quadrant-add { top: 10px; right: 10px; width: 34px; height: 34px; font-size: 1.4rem; }
            .quadrant-title { font-size: 1.05rem; }
            .quadrant-subtitle-inline { font-size: 0.9rem; }
            .quadrant-action { font-size: 0.75rem; margin-bottom: 8px; }
            .task-item { padding: 10px 12px; gap: 8px; }
            .task-text, .task-title { font-size: 0.9rem; }
            .task-content { font-size: 0.8rem; }
            .stats-bar { padding: 10px 16px; }
            .stat-count { font-size: 1.4rem; }
            .stat-label { font-size: 0.7rem; }
        }

        @media (max-width: 768px) {
            body { overflow-x: hidden; overflow-y: auto; height: auto; min-height: 100vh; padding: 12px 6px; }
            h1 { font-size: 1.3rem; }
            .matrix-container { grid-template-columns: 1fr; gap: 10px; }
            .q1, .q2, .q3, .q4 { grid-column: 1; }
            .q1 { grid-row: 1; }
            .q2 { grid-row: 2; }
            .q3 { grid-row: 3; }
            .q4 { grid-row: 4; }
            .quadrant { height: auto; min-height: auto; padding: 14px 10px 10px; border-radius: 14px; }
            .quadrant-body { max-height: 60vh; }
            .quadrant-number { font-size: 2.8rem; top: 4px; right: 48px; }
            .btn-quadrant-add { top: 8px; right: 8px; width: 30px; height: 30px; font-size: 1.2rem; }
            .quadrant-title { font-size: 0.95rem; margin-bottom: 4px; }
            .quadrant-subtitle-inline { font-size: 0.8rem; }
            .quadrant-action { font-size: 0.7rem; margin-bottom: 6px; }
            .task-list { gap: 6px; }
            .task-item { padding: 8px 10px; gap: 6px; border-radius: 8px; }
            .task-check { width: 20px; height: 20px; }
            .task-index { font-size: 0.65rem; min-width: 12px; }
            .task-text, .task-title { font-size: 0.82rem; }
            .task-content { font-size: 0.72rem; }
            .task-delete { font-size: 0.85rem; }
            .inline-input-wrap input { padding: 6px 10px; font-size: 0.8rem; }
            .inline-input-wrap button { padding: 6px 10px; font-size: 0.75rem; }
            .inline-input-wrap .input-row { flex-wrap: wrap; }
            .stats-bar { padding: 8px 12px; gap: 12px; }
            .stat-card { padding: 6px 10px; }
            .stat-count { font-size: 1.2rem; }
            .stat-label { font-size: 0.65rem; }
            .clear-btn { font-size: 0.7rem; padding: 4px 10px; }
            .trash-btn { bottom: 12px; right: 10px; left: auto; width: 42px; height: 42px; font-size: 1.1rem; }
            .settings-btn { bottom: 62px; right: 10px; left: auto; width: 42px; height: 42px; font-size: 1.1rem; }
            .trash-panel, .settings-panel { width: calc(100vw - 16px); max-width: 400px; left: 50%; right: auto; top: 50%; bottom: auto; transform: translate(-50%, -50%); animation-name: fadeIn; }
            .edit-form input { font-size: 0.8rem; padding: 5px 8px; }
            .edit-form-buttons button { font-size: 0.7rem; padding: 3px 8px; }
        }
