        .tasks-year-tabs { display: flex; flex-wrap: wrap; gap: 8px; padding: 15px 20px; border-bottom: 2px solid #e0e0e0; background: linear-gradient(to bottom, #fafafa, #f0f0f0); }
        body.dark-mode .tasks-year-tabs { border-bottom-color: #444; background: linear-gradient(to bottom, #252525, #1e1e1e); }
        .year-tab { padding: 10px 20px; background: white; border: 1px solid #ddd; border-radius: 30px; cursor: pointer; font-weight: 600; font-size: 15px; color: #555; transition: all 0.3s; box-shadow: 0 1px 3px rgba(0,0,0,0.05); display: flex; align-items: center; gap: 6px; }
        .year-tab i { color: #3b5998; font-size: 14px; }
        .year-tab:hover { background: #3b5998; color: white; border-color: #3b5998; transform: translateY(-2px); box-shadow: 0 4px 8px rgba(59, 89, 152, 0.2); }
        .year-tab:hover i { color: white; }
        .year-tab.active { background: #3b5998; color: white; border-color: #3b5998; box-shadow: 0 4px 10px rgba(59, 89, 152, 0.3); }
        .year-tab.active i { color: white; }
        body.dark-mode .year-tab { background: #2a2a2a; border-color: #444; color: #ccc; }
        body.dark-mode .year-tab i { color: #5a7ab8; }
        body.dark-mode .year-tab:hover { background: #3b5998; color: white; border-color: #3b5998; }
        body.dark-mode .year-tab:hover i { color: white; }
        body.dark-mode .year-tab.active { background: #3b5998; color: white; border-color: #3b5998; }
        body.dark-mode .year-tab.active i { color: white; }
        .tasks-month-tabs { display: flex; flex-wrap: wrap; gap: 6px; padding: 12px 20px; background: #f8f9fa; border-bottom: 1px solid #e0e0e0; }
        body.dark-mode .tasks-month-tabs { background: #1a1a1a; border-bottom-color: #444; }
        .month-tab { padding: 8px 16px; background: white; border: 1px solid #ddd; border-radius: 20px; cursor: pointer; font-weight: 500; font-size: 13px; color: #555; transition: all 0.2s; box-shadow: 0 1px 2px rgba(0,0,0,0.03); }
        .month-tab:hover { background: #e8f0fe; border-color: #3b5998; color: #3b5998; transform: translateY(-1px); box-shadow: 0 2px 5px rgba(59, 89, 152, 0.15); }
        .month-tab.active { background: #3b5998; color: white; border-color: #3b5998; box-shadow: 0 2px 8px rgba(59, 89, 152, 0.25); }
        body.dark-mode .month-tab { background: #2a2a2a; border-color: #444; color: #ccc; }
        body.dark-mode .month-tab:hover { background: #3a3a3a; border-color: #5a7ab8; color: #8ab4f8; }
        body.dark-mode .month-tab.active { background: #3b5998; color: white; border-color: #3b5998; }
        .tasks-filter-bar { padding: 15px 20px; background: white; border-bottom: 1px solid #e0e0e0; }
        body.dark-mode .tasks-filter-bar { background: #1e1e1e; border-bottom-color: #444; }
        .filter-row { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
        .filter-group { display: flex; align-items: center; gap: 10px; }
        .filter-label { font-size: 13px; font-weight: 600; color: #666; text-transform: uppercase; letter-spacing: 0.5px; }
        body.dark-mode .filter-label { color: #aaa; }
        .rating-select { padding: 8px 12px; border: 1px solid #ddd; border-radius: 20px; font-size: 13px; background: white; color: #333; cursor: pointer; min-width: 90px; }
        .rating-select:focus { outline: none; border-color: #3b5998; }
        body.dark-mode .rating-select { background: #2a2a2a; border-color: #444; color: #e0e0e0; }
        .tags-filter-btn { padding: 8px 16px; background: white; border: 1px solid #ddd; border-radius: 20px; font-size: 13px; font-weight: 500; color: #555; cursor: pointer; display: flex; align-items: center; gap: 8px; transition: all 0.2s; }
        .tags-filter-btn:hover { background: #f0f0f0; border-color: #3b5998; }
        body.dark-mode .tags-filter-btn { background: #2a2a2a; border-color: #444; color: #ccc; }
        body.dark-mode .tags-filter-btn:hover { background: #3a3a3a; border-color: #5a7ab8; }
        .reset-filters-btn { margin-left: auto; padding: 8px 16px; background: transparent; border: 1px solid #ddd; border-radius: 20px; font-size: 13px; color: #888; cursor: pointer; display: flex; align-items: center; gap: 6px; transition: all 0.2s; }
        .reset-filters-btn:hover { background: #ffebee; border-color: #f44336; color: #f44336; }
        body.dark-mode .reset-filters-btn { border-color: #444; color: #999; }
        body.dark-mode .reset-filters-btn:hover { background: #3a2020; border-color: #f44336; color: #f44336; }
        .active-filters-container { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
        .filter-chip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; background: #e8f0fe; color: #1a73e8; border-radius: 20px; font-size: 12px; font-weight: 500; }
        .filter-chip i { cursor: pointer; opacity: 0.7; font-size: 11px; }
        .filter-chip i:hover { opacity: 1; }
        body.dark-mode .filter-chip { background: #1a3a5c; color: #90caf9; }
        .month-analysis-banner { margin: 15px 20px; padding: 12px 18px; background: linear-gradient(135deg, #e8f5e9, #c8e6c9); border-radius: 10px; display: flex; align-items: center; gap: 12px; }
        .month-analysis-banner i { font-size: 24px; color: #2e7d32; }
        .month-analysis-banner a { color: #2e7d32; font-weight: 600; text-decoration: none; font-size: 14px; }
        .month-analysis-banner a:hover { text-decoration: underline; }
        body.dark-mode .month-analysis-banner { background: linear-gradient(135deg, #1b3b1b, #0d2e0d); }
        body.dark-mode .month-analysis-banner i, body.dark-mode .month-analysis-banner a { color: #81c784; }
        .task-card-vertical { background: white; border-radius: 8px; padding: 20px; box-shadow: 0 2px 10px rgba(0,0,0,0.08); transition: all 0.3s; display: flex; flex-direction: column; cursor: pointer; border: 1px solid #eee; }
        .task-card-vertical:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0,0,0,0.12); border-color: #3b5998; }
        body.dark-mode .task-card-vertical { background: #1e1e1e; border-color: #333; box-shadow: 0 2px 10px rgba(0,0,0,0.3); }
        body.dark-mode .task-card-vertical:hover { border-color: #5a7ab8; box-shadow: 0 8px 20px rgba(0,0,0,0.5); }
        body.dark-mode #taskTagDropdown { background: #1e1e1e !important; border-color: #444 !important; }
        body.dark-mode #taskTagsList label { color: #e0e0e0 !important; }
        body.dark-mode #taskTagsList input[type="checkbox"] { accent-color: #3b5998; }
        .big-calendar-btn { background: linear-gradient(135deg, #3b5998, #2196F3); color: white; border: none; border-radius: 50px; padding: 16px 40px; font-size: 18px; font-weight: bold; box-shadow: 0 8px 20px rgba(0,0,0,0.15); cursor: pointer; transition: all 0.3s; border: 2px solid rgba(255,255,255,0.2); margin: 10px 0; }
        .big-calendar-btn:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(0,0,0,0.2); background: linear-gradient(135deg, #2196F3, #3b5998); }
        body.dark-mode .big-calendar-btn { background: linear-gradient(135deg, #1a2a4a, #0d2b4e); border-color: #5a7ab8; }

        /* ── Условие задачи дня (как на Яндекс.Контесте) ── */
        .task-statement {
            font-family: 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
            font-size: 14px;
            line-height: 1.6;
            color: #333;
            max-width: 800px;
            margin: 0 auto;
            padding: 4px 8px 8px;
        }

        .task-statement > .title,
        .task-statement .task-title {
            font-size: 24px;
            font-weight: 600;
            margin: 8px 0 20px;
            padding-bottom: 8px;
            border-bottom: 1px solid #ddd;
            color: #222;
        }

        .task-statement .limits,
        .task-statement .task-limits {
            background: #f8f8f8;
            border: 1px solid #e0e0e0;
            border-radius: 6px;
            padding: 10px 15px;
            margin: 15px 0;
            display: inline-flex;
            flex-wrap: wrap;
            gap: 20px;
        }

        .task-statement .limit-item {
            font-weight: 500;
            color: #555;
        }

        .task-statement .limit-value {
            font-weight: normal;
            color: #333;
        }

        .task-statement .limit-icon {
            margin-right: 4px;
        }

        .task-statement .section-title {
            font-size: 18px;
            font-weight: 600;
            margin: 20px 0 12px;
            color: #222;
            border-left: 3px solid #3b5998;
            padding-left: 12px;
        }

        .task-statement .legend,
        .task-statement .input-specification,
        .task-statement .output-specification,
        .task-statement .note,
        .task-statement .task-section {
            margin: 20px 0;
        }

        .task-statement .legend p,
        .task-statement .section-content p,
        .task-statement .input-specification p,
        .task-statement .output-specification p,
        .task-statement .note p {
            margin: 0 0 8px;
        }

        .task-statement .legend ul,
        .task-statement .input-specification ul {
            margin: 0 0 8px 25px;
            padding-left: 0;
        }

        .task-statement .sample-tests {
            margin: 25px 0;
        }

        .task-statement .sample-test {
            align-items: flex-start;
            margin: 15px 0;
            display: flex;
            flex-wrap: wrap;
            gap: 20px;
        }

        .task-statement .sample-test .input,
        .task-statement .sample-test .output {
            align-self: flex-start;
            flex: 1;
            min-width: 250px;
            position: relative;
        }

        .task-statement .sample-test .input > .title,
        .task-statement .sample-test .output > .title {
            font-size: 14px;
            font-weight: 600;
            margin: 0 0 5px;
            padding: 0;
            border: none;
            color: #555;
        }

        .task-statement .sample-test pre,
        .task-statement .examples-table pre,
        .task-statement .note pre {
            background: #f8f8f8;
            border: 1px solid #e0e0e0;
            border-radius: 4px;
            padding: 12px;
            margin: 0;
            font-family: 'Courier New', Consolas, monospace;
            font-size: 13px;
            overflow-x: auto;
            white-space: pre-wrap;
            word-wrap: break-word;
            color: #222;
        }

        .task-statement .note pre {
            margin-top: 8px;
        }

        .task-statement .examples-table {
            width: 100%;
            border-collapse: collapse;
            background: #f8f9fa;
            margin-top: 10px;
        }

        .task-statement .examples-table th {
            background: #3b5998;
            color: #fff;
            padding: 10px;
            text-align: left;
        }

        .task-statement .examples-table td {
            padding: 10px;
            border: 1px solid #ddd;
            vertical-align: top;
        }

        body.dark-mode .task-statement {
            color: #e0e0e0;
        }

        body.dark-mode .task-statement > .title,
        body.dark-mode .task-statement .task-title {
            color: #fff;
            border-bottom-color: #444;
        }

        body.dark-mode .task-statement .limits,
        body.dark-mode .task-statement .task-limits {
            background: #2a2a2a;
            border-color: #444;
        }

        body.dark-mode .task-statement .limit-item {
            color: #aaa;
        }

        body.dark-mode .task-statement .limit-value {
            color: #ccc;
        }

        body.dark-mode .task-statement .section-title {
            color: #fff;
            border-left-color: #5a7ab8;
        }

        body.dark-mode .task-statement .section-content,
        body.dark-mode .task-statement .legend p,
        body.dark-mode .task-statement .input-specification p,
        body.dark-mode .task-statement .output-specification p,
        body.dark-mode .task-statement .note p {
            color: #ccc;
        }

        body.dark-mode .task-statement .sample-test .input > .title,
        body.dark-mode .task-statement .sample-test .output > .title {
            color: #aaa;
        }

        body.dark-mode .task-statement .sample-test pre,
        body.dark-mode .task-statement .examples-table pre,
        body.dark-mode .task-statement .note pre {
            background: #1e1e1e;
            border-color: #444;
            color: #e0e0e0;
        }

        body.dark-mode .task-statement .examples-table {
            background: #2a2a2a;
        }

        body.dark-mode .task-statement .examples-table td {
            border-color: #444;
            color: #e0e0e0;
        }

        .task-statement .example-pre-wrap {
            position: relative;
            width: 100%;
        }

        .task-statement .example-pre-wrap pre {
            padding-bottom: 42px;
            margin: 0;
        }

        .task-statement .example-pre-wrap .copy-btn {
            position: absolute;
            bottom: 8px;
            right: 8px;
            z-index: 1;
        }

        .task-statement .copy-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 30px;
            height: 30px;
            padding: 0;
            background: rgba(59, 89, 152, 0.1);
            color: #3b5998;
            border: 1px solid rgba(59, 89, 152, 0.22);
            border-radius: 8px;
            font-size: 13px;
            cursor: pointer;
            transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
        }

        .task-statement .copy-btn:hover {
            background: rgba(59, 89, 152, 0.18);
            border-color: rgba(59, 89, 152, 0.4);
            transform: translateY(-1px);
        }

        .task-statement .copy-btn.copy-btn--done {
            background: rgba(34, 197, 94, 0.14);
            border-color: rgba(34, 197, 94, 0.35);
            color: #16a34a;
        }

        body.dark-mode .task-statement .copy-btn {
            background: rgba(255, 255, 255, 0.06);
            color: #9eb8e8;
            border-color: rgba(255, 255, 255, 0.14);
        }

        body.dark-mode .task-statement .copy-btn:hover {
            background: rgba(255, 255, 255, 0.11);
            border-color: rgba(255, 255, 255, 0.24);
        }

        body.dark-mode .task-statement .copy-btn.copy-btn--done {
            background: rgba(74, 222, 128, 0.12);
            border-color: rgba(74, 222, 128, 0.3);
            color: #4ade80;
        }
