    :root {
      --bg: #0b0f14;
      --panel: #121820;
      --border: #1a2430;
      --muted: #a9b3be;
      --text: #e6edf3;
      --accent: #6aa6ff;
      --accent-2: #7ee787;
      --danger: #ff6b6b;
      --ring: #26415f;
      --shadow: 0 10px 30px rgba(0,0,0,.35);

      /* Spacing */
      --space-xs: 4px;
      --space-sm: 8px;
      --space-md: 12px;
      --space-lg: 16px;

      /* Border radius */
      --radius-sm: 6px;
      --radius-md: 8px;
      --radius-lg: 12px;
      --radius-xl: 16px;
      --radius: var(--radius-xl);

      /* Typography */
      --font-family-base: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
      --font-size-sm: 12px;
      --font-size-md: 16px;
      --font-size-lg: 20px;
      --font-size-xl: 22px;

      /* Defaults */
      --workspace-default-color: #ff8800;
      --project-default-color: #3366ff;

      --heat-cell-size: 12;
      --heat-cell-gap: 2;
      /* GitHub contribution heatmap colors */
      --heatmap-0: #161b22;
      --heatmap-1: #0e4429;
      --heatmap-2: #006d32;
      --heatmap-3: #26a641;
      --heatmap-4: #39d353;

      --priority-high-border: #3a2a2a;
      --priority-high-bg: #1c1113;
      --priority-high-text: var(--text);
      --priority-normal-border: #253244;
      --priority-normal-bg: #0e1620;
      --priority-normal-text: var(--text);
      --priority-low-border: #233a2a;
      --priority-low-bg: #101a14;
      --priority-low-text: var(--text);
    }
    :root[data-theme="light"] {
      --bg: #e2e8f0;
      --panel: #ffffff;
      --border: #cbd5e1;
      --muted: #4b5563;
      --text: #0f172a;
      --accent: #3366ff;
      --accent-2: #22c55e;
      --danger: #dc2626;
      --ring: #93c5fd;
      --shadow: 0 10px 30px rgba(0,0,0,.1);
      --heatmap-0: #ebedf0;
      --heatmap-1: #9be9a8;
      --heatmap-2: #40c463;
      --heatmap-3: #30a14e;
      --heatmap-4: #216e39;

      --priority-high-border: #f87171;
      --priority-high-bg: #fee2e2;
      --priority-high-text: #7f1d1d;
      --priority-normal-border: #93c5fd;
      --priority-normal-bg: #eff6ff;
      --priority-normal-text: #1e3a8a;
      --priority-low-border: #86efac;
      --priority-low-bg: #ecfdf5;
      --priority-low-text: #14532d;
    }

    :root[data-theme="forest"] {
      --bg: #0b1d17;
      --panel: #12281f;
      --border: #1a2430;
      --muted: #a3b1a9;
      --text: #e6f4ee;
      --accent: #4caf50;
      --accent-2: #8bc34a;
      --danger: #ff6b6b;
      --ring: #2e7d32;
      --shadow: 0 10px 30px rgba(0,0,0,.35);
      --heatmap-0: #142a22;
      --heatmap-1: #1f3d30;
      --heatmap-2: #29533d;
      --heatmap-3: #357447;
      --heatmap-4: #4caf50;

      --priority-high-border: #4b2c2c;
      --priority-high-bg: #1b1111;
      --priority-high-text: #f8dada;
      --priority-normal-border: #2d4a3e;
      --priority-normal-bg: #13241d;
      --priority-normal-text: #d1f2e2;
      --priority-low-border: #1f5033;
      --priority-low-bg: #0e1f16;
      --priority-low-text: #c8f7d4;
    }

    :root[data-theme="midnight"] {
      --bg: #0a0f24;
      --panel: #111933;
      --border: #1a2430;
      --muted: #a9b3be;
      --text: #e6edf3;
      --accent: #7aa2ff;
      --accent-2: #7ee787;
      --danger: #ff6b6b;
      --ring: #26415f;
      --shadow: 0 10px 30px rgba(0,0,0,.35);
      --heatmap-0: #161b22;
      --heatmap-1: #0e3a60;
      --heatmap-2: #0058a1;
      --heatmap-3: #0076e0;
      --heatmap-4: #1a8fff;

      --priority-high-border: #3a2a3d;
      --priority-high-bg: #1b1224;
      --priority-high-text: #f5d8ff;
      --priority-normal-border: #1f3354;
      --priority-normal-bg: #0f1b2e;
      --priority-normal-text: #d7e8ff;
      --priority-low-border: #1c3b33;
      --priority-low-bg: #0d1f1a;
      --priority-low-text: #d4f6e6;
    }
    * { box-sizing: border-box; }
    .hidden { display: none; }
    .sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }
    body { margin: 0; font-family: var(--font-family-base); font-size: var(--font-size-md); background: linear-gradient(180deg,var(--bg),var(--panel) 55%); color: var(--text); overflow-x: hidden; }
    .wrap { max-width: 100%; margin: calc(var(--space-lg) * 1.5) auto; padding: 0 var(--space-lg); }
    .layout { display: grid; grid-template-columns: 240px 1fr 260px; grid-template-areas: "projects tasks sidebar"; gap: var(--space-lg); }
    #projectPanel { grid-area: projects; }
    #taskPanel { grid-area: tasks; }
    #progressDetails { grid-area: sidebar; align-self: start; height: auto; }
    .layout:not(.has-projects) { grid-template-columns: 1fr 260px; grid-template-areas: "tasks sidebar"; }
    .layout:not(.has-sidebar) { grid-template-columns: 240px 1fr; grid-template-areas: "projects tasks"; }
    .layout:not(.has-projects):not(.has-sidebar) { grid-template-columns: 1fr; grid-template-areas: "tasks"; }
    header { display: flex; flex-direction: column; gap: var(--space-md); margin-bottom: var(--space-lg); }
    .header-primary { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-md); }
    .header-controls {
      display: flex;
      flex: 1 1 320px;
      justify-content: flex-end;
      align-items: center;
      gap: var(--space-md);
      margin-left: auto;
      flex-wrap: wrap;
    }
    .brand { display: flex; align-items: center; gap: var(--space-md); }
.header-search { flex: 1 1 240px; min-width: 220px; }
.header-search .search-field { width: 100%; }
.header-actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); justify-content: flex-end; }
.auth-form { display: flex; flex-direction: column; gap: var(--space-sm); }
.auth-fields { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.auth-input { flex: 50px; min-width: 140px; padding: var(--space-xs) var(--space-sm); border-radius: var(--radius-md); border: 1px solid var(--border); background: var(--panel); color: var(--text); font-size: var(--font-size-sm); }
.auth-input:focus { outline: none; box-shadow: 0 0 0 2px var(--ring); }
.auth-actions { display: flex; align-items: center; gap: var(--space-sm); flex-wrap: wrap; }
.auth-toggle { border: none; background: transparent; color: var(--accent); font-size: var(--font-size-sm); cursor: pointer; padding: 4px 0; }
.auth-toggle:disabled { opacity: .6; cursor: not-allowed; }
.auth-message { font-size: var(--font-size-sm); color: var(--muted); }
.auth-message[data-type="error"] { color: var(--danger); }
.auth-message[data-type="success"] { color: var(--accent-2); }
.session-controls { display: flex; align-items: center; gap: var(--space-sm); flex-wrap: wrap; }
.account-menu { position: relative; display: inline-flex; }
.account-menu.disabled { opacity: .6; }
.account-menu.disabled .account-summary { cursor: not-allowed; }
.account-summary { list-style: none; display: inline-flex; align-items: center; gap: var(--space-sm); padding: 6px 12px; border-radius: var(--radius-lg); border: 1px solid var(--border); background: var(--panel); cursor: pointer; font-size: var(--font-size-sm); color: var(--text); }
.account-summary::after { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--border); margin-left: var(--space-xs); transition: background-color .2s ease; }
.account-summary::-webkit-details-marker { display: none; }
details.account-menu > summary::-moz-list-bullet { font-size: 0; }
.account-summary:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }
.account-menu[open] .account-summary { box-shadow: 0 0 0 2px var(--ring); border-color: var(--ring); }
.account-menu[data-state="signed-in"] .account-summary::after { background: var(--accent-2); }
.account-menu[data-state="signed-out"] .account-summary::after { background: var(--border); }
.account-menu[data-state="pending"] .account-summary::after { background: var(--accent); animation: sync-pulse 1.2s ease-in-out infinite; }
.account-menu[data-state="disabled"] .account-summary::after { background: var(--border); opacity: .4; }
.account-panel { position: absolute; right: 0; top: calc(100% + 8px); display: none; flex-direction: column; gap: var(--space-sm); min-width: 280px; padding: var(--space-md); border-radius: var(--radius-lg); border: 1px solid var(--border); background: var(--panel); box-shadow: var(--shadow); z-index: 20; }
.account-menu[open] .account-panel { display: flex; }
.account-indicator { font-size: 16px; }
.account-user { margin: 0; font-size: var(--font-size-sm); color: var(--muted); }
.account-panel .auth-form { gap: var(--space-sm); }
.account-panel .auth-fields { flex-direction: column; }
.account-panel .auth-input { width: 100%; }
.account-panel .auth-actions {
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-sm);
}
.account-panel .auth-toggle {
  margin: 0;
  text-align: center;
}
.account-panel .auth-message { margin: 0; }
.account-panel .auth-actions .btn,
.account-panel .btn {
  padding: var(--space-sm) var(--space-md);
  font-size: var(--font-size-sm);
}
.account-panel .btn.secondary { align-self: flex-start; }

    .sync-status { display: inline-flex; align-items: center; gap: 6px; font-size: var(--font-size-sm); color: var(--muted); }
    .sync-status::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--border); }
    .sync-status[data-state="online"]::before { background: var(--accent-2); }
    .sync-status[data-state="syncing"]::before { background: var(--accent); animation: sync-pulse 1.2s ease-in-out infinite; }
    @keyframes sync-pulse {
      0%, 100% { opacity: .6; }
      50% { opacity: 1; }
    }
    .logo { width: 40px; height: 40px; border-radius: var(--radius-lg); background: radial-gradient(120% 120% at 20% 20%, var(--accent), #9cc2ff 35%, #1b2a3a 60%); box-shadow: var(--shadow); }
    h1 { margin: 0; font-size: var(--font-size-xl); letter-spacing: .5px; }
    .sub { color: var(--muted); font-size: var(--font-size-sm); }
    .panel { padding: var(--space-md); background: var(--panel); border: 1px solid var(--border); border-radius: var(--radius-xl); box-shadow: var(--shadow); }
    #projectPanel.hidden, #sidebar.hidden { display: none; }
    h2 { margin: 0 0 12px; font-size: var(--font-size-lg); }

    #closeProjectPanel { display: none; }

    @media (max-width: 600px) {
      .header-controls {
        margin-left: 0;
        justify-content: flex-start;
      }
      .header-actions {
        justify-content: flex-start;
      }
      .session-controls {
        width: 100%;
        justify-content: flex-start;
      }
      .session-controls > * {
        flex: 0 0 auto;
      }
    }

    input[type="date"] { color-scheme: dark; }
    input[type="date"]::-webkit-calendar-picker-indicator {
      color: var(--text);
      background-color: var(--panel);
      border-radius: var(--radius-sm);
      background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%224%22%20width%3D%2218%22%20height%3D%2218%22%20rx%3D%222%22%20ry%3D%222%22%2F%3E%3Cline%20x1%3D%2216%22%20y1%3D%222%22%20x2%3D%2216%22%20y2%3D%226%22%2F%3E%3Cline%20x1%3D%228%22%20y1%3D%222%22%20x2%3D%228%22%20y2%3D%226%22%2F%3E%3Cline%20x1%3D%223%22%20y1%3D%2210%22%20x2%3D%2221%22%20y2%3D%2210%22%2F%3E%3C%2Fsvg%3E");
      background-repeat: no-repeat;
      background-position: center;
      background-size: 16px 16px;
      cursor: pointer;
    }
    input[type="date"]::-webkit-datetime-edit {
      color: var(--text);
      background: var(--panel);
    }

    /* Input Bar */
    .composer { padding: var(--space-lg); display: flex; flex-wrap: wrap; gap: var(--space-md); align-items: center; }
    .composer-field { flex: 1 1 140px; min-width: 120px; }
    .composer label,
    .project-composer label { flex: 0 0 auto; color: var(--muted); font-size: 13px; }
    .analytics-controls { padding: var(--space-lg); display: flex; flex-wrap: wrap; gap: var(--space-md); align-items: center; }
    .analytics-controls label { flex: 1 1 140px; min-width: 120px; display: flex; align-items: center; gap: var(--space-sm); }
    .analytics-controls .composer-field {
      width: 100%;
      padding: var(--space-sm) var(--space-md);
      border-radius: var(--radius-lg);
      border: 1px solid var(--border);
      background: var(--panel);
      color: var(--muted);
      outline: none;
      box-shadow: inset 0 0 0 1px transparent;
    }
    .analytics-controls input[type="text"].composer-field {
      padding: var(--space-md) var(--space-lg);
      color: var(--text);
    }
    .analytics-controls .composer-field:focus {
      box-shadow: inset 0 0 0 1px var(--ring);
      border-color: var(--ring);
    }
    .analytics-controls .composer-field:hover {
      border-color: var(--ring);
    }
    .tag-field { flex: 0 1 160px; }
    .composer .btn-add { flex: 0 0 auto; }
    .composer input[type="text"],
    .composer input[type="number"],
    .composer input[type="date"],
    .composer input[type="time"],
    .composer select {
      width: 100%;
      padding: var(--space-sm) var(--space-md);
      border-radius: var(--radius-lg);
      border: 1px solid var(--border);
      background: var(--panel);
      color: var(--muted);
      outline: none;
      box-shadow: inset 0 0 0 1px transparent;
    }
    .composer input[type="text"] { padding: var(--space-md) var(--space-lg); color: var(--text); }
    .composer input[type="text"]:focus,
    .composer input[type="number"]:focus,
    .composer input[type="date"]:focus,
    .composer input[type="time"]:focus {
      box-shadow: inset 0 0 0 1px var(--ring);
      border-color: var(--ring);
    }
    .composer input[type="date"]:hover,
    .composer input[type="number"]:hover,
    .composer input[type="time"]:hover {
      border-color: var(--ring);
    }

    .composer textarea {
      width: 100%;
      padding: var(--space-sm) var(--space-md);
      border-radius: var(--radius-lg);
      border: 1px solid var(--border);
      background: var(--panel);
      color: var(--text);
      outline: none;
      box-shadow: inset 0 0 0 1px transparent;
      resize: vertical;
    }
    .composer textarea:focus {
      box-shadow: inset 0 0 0 1px var(--ring);
      border-color: var(--ring);
    }
    .composer textarea:hover {
      border-color: var(--ring);
    }

    .search-field {
      padding: var(--space-md) var(--space-lg);
      border-radius: var(--radius-lg);
      border: 1px solid var(--border);
      background: var(--panel);
      color: var(--text);
      outline: none;
      box-shadow: inset 0 0 0 1px transparent;
      flex: 1 1 160px;
      margin-inline: 0 var(--space-md);
    }
    .search-field:focus {
      box-shadow: inset 0 0 0 1px var(--ring);
      border-color: var(--ring);
    }
    .search-field:hover {
      border-color: var(--ring);
    }

    #advancedFields {
      flex: 1 0 100%;
    }
    #advancedFields summary {
      padding: var(--space-md);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      background: var(--panel);
      color: var(--muted);
      cursor: pointer;
      list-style: none;
    }
    #advancedFields .advanced-fields,
    #projectOptions .advanced-fields,
    #workspaceOptions .advanced-fields {
      display: flex;
      flex-wrap: wrap;
      gap: var(--space-sm);
      margin-top: var(--space-sm);
      max-height: 0;
      overflow: hidden;
      transition: max-height .3s ease;
    }
    #advancedFields[open] .advanced-fields,
    #projectOptions[open] .advanced-fields,
    #workspaceOptions[open] .advanced-fields {
      max-height: 500px;
    }
    .btn { padding: var(--space-md) var(--space-lg); border-radius: var(--radius-lg); border: 1px solid var(--border); background: var(--panel); color: var(--text); font-weight: 600; cursor: pointer; transition: transform .05s ease, filter .2s; }
    .btn:hover { filter: brightness(1.05); }
    .btn:active { transform: translateY(1px); }
    .btn.secondary { background: var(--panel); color: var(--muted); }
    .btn.danger { background: var(--panel); border-color: var(--danger); color: var(--danger); }

    .btn-del {
      display: inline-grid;
      place-items: center;
      padding: var(--space-xs) var(--space-sm);
      min-width: 72px;
    }

    .btn-del .icon,
    .btn-del .label {
      grid-area: 1 / 1;
      transition: opacity .2s ease;
    }

    .btn-del .label {
      opacity: 0;
      visibility: hidden;
    }

    .btn-del:hover .icon,
    .btn-del:focus .icon {
      opacity: 0;
      visibility: hidden;
    }

    .btn-del:hover .label,
    .btn-del:focus .label {
      opacity: 1;
      visibility: visible;
    }

    .btn-detail .icon,
    .btn-detail .label {
      transition: opacity .2s ease;
    }

    .btn-detail .label {
      display: none;
      opacity: 0;
    }

    .btn-detail:hover .icon,
    .btn-detail:focus .icon {
      display: none;
    }

    .btn-detail:hover .label,
    .btn-detail:focus .label {
      display: inline;
      opacity: 1;
    }

    /* Tabs & Stats */
    .toolbar { display: flex; align-items: center; justify-content: space-between; padding: var(--space-md) var(--space-lg); border-top: 1px solid var(--border); }
    .tabs {
      display: flex;
      flex-wrap: wrap;
      gap: var(--space-sm) var(--space-sm);
      max-width: 100%;
      background: var(--panel);
      padding: var(--space-sm);
      border-radius: var(--radius);
      border: 1px solid var(--border);
    }
    .tabs {
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }
    .tab { padding: var(--space-sm) var(--space-md); border-radius: 999px; cursor: pointer; color: var(--muted); border: 1px solid transparent; }
    .tab.active { background: var(--accent); color: #000; border-color: var(--accent); }
    .stat { color: var(--muted); font-size: 13px; }

    .toolbar { flex-wrap: wrap; gap: var(--space-md); }
    .filter-chips { display: inline-flex; gap: var(--space-sm); }
    .chip { padding: var(--space-xs) var(--space-sm); border-radius: 999px;
            border: 1px solid var(--border); background: var(--panel);
            color: var(--muted); cursor: pointer; }
    .chip:hover, .chip:focus { border-color: var(--ring); }
    .toolbar .sort-select { padding: var(--space-sm) var(--space-md);
                            border-radius: var(--radius-lg); border: 1px solid var(--border);
                            background: var(--panel); color: var(--muted); }

    /* List */
    .list { list-style: none; margin: 0; padding: var(--space-sm) var(--space-md) var(--space-md); }
    .item { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: var(--space-md); padding: var(--space-md); margin-top: var(--space-md); border: 1px solid var(--border); background: var(--panel); border-radius: 14px; box-shadow: 0 2px 0 rgba(0,0,0,.15); touch-action: none; cursor: grab; }
    .drag { width: 16px; height: 18px; opacity: .6; cursor: grab; }
    .title { outline: none; padding: 4px 6px; border-radius: 8px; }
    .title[contenteditable="true"]:focus { background: var(--panel); box-shadow: inset 0 0 0 1px var(--border); }
    .meta { display: flex; align-items: center; gap: var(--space-sm); color: var(--muted); font-size: 12px; flex-wrap: wrap; row-gap: var(--space-sm); }
    .meta .due { flex-shrink: 1; min-width: 0; }
    .meta .tags { display: flex; gap: 4px; flex-wrap: wrap; }
    .badge.tag { cursor: pointer; }
    .meta input.tag-editor { padding: 2px var(--space-sm); border-radius: 8px; border: 1px solid var(--border); background: var(--panel); color: var(--muted); margin-top: 4px; }
    .meta input.tag-editor:focus { box-shadow: inset 0 0 0 1px var(--ring); border-color: var(--ring); }
    .badge { padding: var(--space-xs) var(--space-sm); border-radius: 999px; border: 1px solid var(--border); background: var(--panel); }
    .badge.prio {
      border-color: var(--priority-normal-border);
      background: var(--priority-normal-bg);
      color: var(--priority-normal-text, var(--text));
    }
    .badge.prio.prio--high {
      border-color: var(--priority-high-border);
      background: var(--priority-high-bg);
      color: var(--priority-high-text, var(--text));
    }
    .badge.prio.prio--low {
      border-color: var(--priority-low-border);
      background: var(--priority-low-bg);
      color: var(--priority-low-text, var(--text));
    }
    .badge.prio.prio--normal {
      border-color: var(--priority-normal-border);
      background: var(--priority-normal-bg);
      color: var(--priority-normal-text, var(--text));
    }
    .badge.project { background: var(--project-color); border-color: var(--project-color); color: #000; }
    .note-preview { display:flex; gap:4px; font-style:normal; }
    .note-label { color:var(--muted); font-weight:bold; }
    .due.overdue { color: var(--danger); border-color: var(--danger); background: var(--panel); }
    [data-editable-due] input { font-size: 12px; padding: 2px var(--space-sm); border-radius: 8px; border: 1px solid var(--border); background: var(--panel); color: var(--muted); }
    .actions { display: inline-flex; gap: var(--space-sm); }

    @media (max-width: 480px) {
      .item {
        grid-template-columns: 1fr;
      }
      .actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
        margin-top: var(--space-sm);
      }
    }

      .table-scroll {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
      }
      .task-table { width:100%; border-collapse:collapse; min-width:600px; }
      .task-table th,
      .task-table td { padding:8px 12px; border-bottom:1px solid var(--border); white-space: nowrap; }
      .task-table tr:hover { background: var(--panel); }
      .task-table th { text-align:left; color:var(--muted); }
.checkbox { width: 18px; height: 18px; border-radius: var(--radius-sm); border: 1px solid var(--border); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; background: var(--panel); }
.checkbox:focus { box-shadow: 0 0 0 2px var(--ring); outline: none; }
    .checkbox input { appearance: none; width: 14px; height: 14px; margin: 0; }
    .check {
      width: 12px; height: 12px; border-radius: 3px; background: transparent; transition: background .15s ease;
    }
.checkbox.checked .check { background: var(--accent-2); }
.done .title { text-decoration: line-through; color: var(--muted); }

.subtasks { grid-column: 1 / -1; list-style: none; margin: var(--space-sm) 0 0; padding: 0; padding-left: 30px; }
.subtasks li { display: flex; align-items: center; gap: var(--space-sm); touch-action: none; cursor: grab; }
.subtasks li.drag-over { outline: 2px dashed var(--accent); outline-offset: -2px; }
.subtasks summary.drag-over-inside { outline: 2px dashed var(--accent-2); outline-offset: -2px; }
.subtasks summary.drag-over-parent { outline: 2px dashed var(--accent); outline-offset: -2px; }
.subtasks .drop-zone { list-style: none; display: block; height: 8px; margin: 2px 0; cursor: default; }
.subtasks .drop-zone.drag-over { outline: 2px dashed var(--accent); outline-offset: -2px; }
.subtasks .subtasks { margin-left: var(--space-md); }
.subtasks details > summary { list-style: none; cursor: grab; display: flex; align-items: center; gap: var(--space-sm); touch-action: none; }
.subtasks details > summary::-webkit-details-marker { display: none; }
.subtasks details > summary::before { content: '▶'; display: inline-block; margin-right: var(--space-sm); }
.subtasks details[open] > summary::before { content: '▼'; }
.subtasks details.leaf > summary::marker,
.subtasks details.leaf > summary::before { display: none; }
.subtask:not([open]) > summary::-webkit-details-marker,
.subtask:not([open]) > summary::before { display: none; }
.btn-add-subtask { grid-column: 1 / -1; margin: var(--space-sm) 0 0; padding-left: 30px; }

@media (max-width: 480px) {
  .subtasks,
  .btn-add-subtask {
    padding-left: 20px;
  }
}

    /* Footer */
    footer { margin: var(--space-lg) 0; color: var(--muted); font-size: 12px; display: flex; gap: var(--space-md); flex-wrap: wrap; align-items: center; }
    footer .spacer { flex: 1; }
    .kbd { border: 1px solid var(--border); background: var(--panel); padding: 2px 6px; border-radius: var(--radius-sm); font-size: 11px; color: var(--muted); }

    @media (max-width: 900px) {
      .layout { display: block; }
      #projectPanel {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        margin: 0;
        overflow-y: auto;
        background: var(--panel);
        box-shadow: var(--shadow);
        z-index: 1000;
        transition: transform .3s ease;
        transform: translateY(100%);
      }
      #projectPanel.open { transform: translateY(0); }
      #closeProjectPanel { display: block; margin: var(--space-md); }
    }

    @media (min-width: 901px) {
      #progressDetails {
        position: static;
        width: 100%;
        max-height: none;
        margin-top: 0;
        overflow: hidden;
        overflow-y: auto;
        background: var(--panel);
        box-shadow: var(--shadow);
        border-radius: var(--radius-xl);
        opacity: 0;
        transition: opacity .3s ease;
      }
      #progressDetails[open] {
        opacity: 1;
      }
    }

    @media (max-width: 720px) {
      .composer .btn-add { flex: 1 0 100%; }
      .analytics-controls label { flex: 1 1 100%; }
    }

    /* Projects */
    #projectPanel { margin-bottom: var(--space-lg); }
    .workspace-composer,
    .project-composer {
      padding: var(--space-lg);
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: var(--space-md);
    }
    .workspace-composer input[type="text"],
    .project-composer input[type="text"] {
      flex: 1 1 100%;
      width: 100%;
      padding: var(--space-md) var(--space-lg);
      border-radius: var(--radius-lg);
      border: 1px solid var(--border);
      background: var(--panel);
      color: var(--text);
      outline: none;
      box-shadow: inset 0 0 0 1px transparent;
    }
    .workspace-composer input[type="text"]:focus,
    .project-composer input[type="text"]:focus {
      box-shadow: inset 0 0 0 1px var(--ring);
      border-color: var(--ring);
    }
    .workspace-color-picker { display: flex; align-items: center; gap: var(--space-sm); flex: 1 1 auto; }
    .project-color-picker { display: flex; align-items: center; gap: var(--space-sm); flex: 1 1 auto; }
    .workspace-composer button,
    .project-composer button { flex: 1 1 auto; }
    .color-input {
      -webkit-appearance: none;
      appearance: none;
      border: none;
      border-radius: var(--radius-sm);
      overflow: hidden;
      display: none;
    }
    .color-input::-webkit-color-swatch-wrapper { padding: 0; }
    .color-input::-webkit-color-swatch { border: none; }
    .color-swatch { width: 120px; height: 24px; flex: 0 0 24px; border-radius: var(--radius-sm); border: 1px solid var(--ring); background: var(--panel); padding: 0; cursor: pointer; }
    .workspace-color-swatch { background: var(--workspace-default-color); }
    .project-color-swatch { background: var(--project-default-color); }
    .color-swatch:hover { border-color: var(--ring); }
    .color-swatch:focus { outline: none; box-shadow: 0 0 0 1px var(--ring); border-color: var(--ring); }
    .project-list {
      list-style: none;
      margin: 0;
      padding: 0 var(--space-lg) var(--space-lg);
      display: flex;
      flex-direction: column;
      gap: var(--space-sm);
    }
    .project-card {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      column-gap: var(--space-sm);
      align-items: stretch;
      padding: var(--space-sm);
      border: 1px solid var(--border);
      background: var(--panel);
      border-radius: var(--radius-lg);
      border-left: 4px solid var(--project-color, transparent);
      width: 100%;
      min-width: 0;
      transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
    }
    .project-card > * {
      min-width: 0;
    }
    .project-card.dragover-task {
      border-color: var(--accent);
      box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 50%, transparent);
      transform: translateY(-2px);
    }
    .workspace {
      width: 100%;
      flex: 0 0 auto;
      padding: 0;
      border: none;
      background: none;
    }
    .workspace > details {
      border: 1px solid var(--border);
      border-left: 4px solid var(--workspace-color, var(--workspace-default-color));
      border-radius: var(--radius-lg);
      background: var(--panel);
      overflow: hidden;
      transition: border-color .2s ease, box-shadow .2s ease, transform .15s ease;
    }
    .workspace > details > summary {
      list-style: none;
      cursor: pointer;
      outline: none;
    }
    .workspace > details[open] > summary {
      border-bottom: 1px solid var(--border);
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
    }
    .workspace > details > ul {
      margin: 0;
      padding: var(--space-sm) var(--space-md) var(--space-md) calc(var(--space-md) + 20px);
      background: transparent;
      display: flex;
      flex-direction: column;
      gap: var(--space-sm);
    }
    .project-sublist {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: var(--space-sm);
    }
    .workspace-header {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto;
      align-items: center;
      column-gap: var(--space-sm);
      row-gap: 0;
      padding: var(--space-sm) var(--space-md);
      margin: 0;
      font-weight: 600;
      background: transparent;
      color: var(--text);
      position: relative;
    }
    .workspace-header::before {
      content: '🗂️';
      align-self: flex-start;
    }
    .workspace-header span {
      min-width: 0;
      white-space: normal;
      align-self: center;
    }
    .workspace-header .workspace-actions {
      display: flex;
      align-items: center;
      justify-self: end;
      gap: var(--space-sm);
    }
    .workspace-header .workspace-actions {
      flex: 0 0 auto;
      display: flex;
      align-items: flex-start;
      gap: var(--space-xs);
    }
    .workspace-header button {
      flex: 0 0 auto;
      align-self: flex-start;
    }
    .workspace-header:focus-visible {
      outline: none;
    }
    .workspace > details:hover {
      border-color: var(--ring);
      box-shadow: 0 0 0 1px var(--ring);
      transform: translateY(-1px);
    }
    .workspace > details:focus-within {
      border-color: var(--ring);
      box-shadow: 0 0 0 2px var(--ring);
    }
    .workspace-header .btn-del {
      min-width: 0;
    }
    .project-list .color-swatch { width: 24px; height: 24px; border-radius: var(--radius-sm); border: 1px solid var(--ring); background: var(--panel); padding: 0; cursor: pointer; align-self: flex-start; }
    .project-card-header {
      grid-column: 2;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto auto;
      column-gap: var(--space-sm);
      row-gap: var(--space-xs);
      align-items: center;
      min-width: 0;
      width: 100%;
      max-width: 100%;
    }
    .project-card-header .project-progress {
      display: flex;
      align-items: center;
      gap: var(--space-xs);
      justify-self: end;
    }
    .project-card-header .project-progress progress {
      width: 120px;
    }
    .project-card-header .project-actions {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: var(--space-xs);
      justify-self: end;
    }
    .project-card-meta {
      display: flex;
      flex-direction: column;
      gap: 2px;
      min-width: 0;
      flex: 0 1 auto;
      grid-column: 1;
      overflow-wrap: normal;
    }
    .project-card-meta .project-name {
      font-weight: 600;
      white-space: normal;
      word-break: normal;
      overflow-wrap: normal;
      hyphens: manual;
    }
    .project-card-meta .project-dates {
      color: var(--muted);
      font-size: var(--font-size-sm);
      line-height: 1.2;
      white-space: normal;
      word-break: normal;
      overflow-wrap: normal;
      hyphens: manual;
    }
    .project-progress {
      flex: 1 1 100%;
      display: inline-flex;
      align-items: center;
      gap: var(--space-sm);
      min-width: 0;
      max-width: 100%;
      width: 100%;
      grid-column: 1 / -1;
    }
    .project-progress progress { flex: 1 1 auto; max-width: none; height: 6px; }
    .project-card-header .btn-del {
      flex: 0 0 auto;
      grid-column: 2;
      align-self: start;
      justify-self: end;
    }
    .workspace.dragging > details,
    .workspace > details:has(.workspace-header.dragging) {
      opacity: 0.65;
    }
    .workspace-header.dragging {
      cursor: grabbing;
    }
    .workspace.dragover > details,
    .workspace > details:has(.workspace-header.dragover) {
      background: color-mix(in srgb, var(--accent) 12%, var(--panel));
      border-color: var(--accent);
      box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 55%, transparent);
    }
    .workspace-header.drop-before::after,
    .workspace-header.drop-after::after {
      content: '';
      position: absolute;
      left: 0;
      right: 0;
      height: 0;
      pointer-events: none;
    }
    .workspace-header.drop-before::after {
      top: 0;
      border-top: 4px solid var(--accent);
      border-radius: var(--radius-lg);
      transform: translateY(-50%);
    }
    .workspace-header.drop-after::after {
      bottom: 0;
      border-bottom: 4px solid var(--accent);
      border-radius: var(--radius-lg);
      transform: translateY(50%);
    }

    /* Theme controls */
    #themePanel .settings-row .settings-actions {
      flex: 1 1 240px;
      display: flex;
      flex-direction: column;
      gap: var(--space-sm);
      align-items: flex-end;
    }
    #themePanel .settings-row .settings-actions > * {
      width: min(100%, 280px);
    }
    #themePanel .settings-row .settings-actions > button,
    #themePanel .settings-row .settings-actions > select,
    #themePanel .settings-row .settings-actions > input[type="range"] {
      width: min(100%, 240px);
    }
    #themePanel .settings-row .settings-actions > .color-inputs,
    #themePanel .settings-row .settings-actions > .theme-color-list {
      width: min(100%, 320px);
    }
    #themePanel .color-inputs {
      display: flex;
      align-items: center;
      gap: var(--space-sm);
      justify-content: flex-end;
    }
    #themePanel .color-inputs input[type="color"] {
      width: 48px;
      height: 32px;
      padding: 0;
    }
    #themePanel .theme-color-list {
      display: flex;
      flex-wrap: wrap;
      gap: var(--space-sm);
      justify-content: flex-end;
    }
    #themePanel .theme-color-list .color-swatch { width: 24px; height: 24px; flex: 0 0 24px; }
    #themePanel input[type="range"] { width: 100%; }
    #themePanel .theme-actions {
      margin-top: var(--space-md);
      display: flex;
      gap: var(--space-md);
      justify-content: flex-end;
      flex-wrap: wrap;
    }

    /* Calendar */
#calendarView { padding: var(--space-md); }
.calendar-header { display:flex; align-items:center; justify-content:center; gap: var(--space-md); margin-bottom: var(--space-md); }
.calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
    .calendar-grid .day { min-height: 100px; border: 1px solid var(--border); background: var(--panel); border-radius: 14px; padding: 4px; font-size: 12px; }
    .calendar-grid .day.name { background: none; border: none; min-height: auto; text-align: center; font-weight: 600; color: var(--muted); }
    .calendar-grid .day.empty { background: none; border: none; }
    .calendar-grid .day .date { font-weight: 600; margin-bottom: 4px; color: var(--muted); }
    .calendar-grid .day ul { list-style: none; margin: 0; padding: 0; }
.calendar-grid .day li { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Kanban */
#kanbanView { padding: var(--space-md); }
.kanban-grid { display: flex; gap: var(--space-md); }
.kanban-col { flex: 1; background: var(--panel); border: 1px solid var(--border); border-radius: 14px; padding: var(--space-sm); }
.kanban-col h3 { margin: 0 0 var(--space-sm); font-size: 14px; color: var(--muted); }
.kanban-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-sm); }
.kanban-card { padding: var(--space-sm); border: 1px solid var(--border); background: var(--panel); border-radius: 8px; cursor: grab; transition: background .2s, border-color .2s; }
.kanban-card:hover { border-color: var(--ring); }
.kanban-card.dragging { opacity: .5; }
.kanban-col.dragover { background: var(--panel); border-color: var(--accent); }

/* Matrix */
.matrix-grid { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: var(--space-md); }
.matrix-cell { background: var(--panel); border: 1px solid var(--border); border-radius: 14px; padding: var(--space-sm); display: flex; flex-direction: column; }
.matrix-cell h2 { margin: 0 0 var(--space-sm); font-size: 14px; color: var(--muted); }
.matrix-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-sm); flex: 1; }
.matrix-card { padding: var(--space-sm); border: 1px solid var(--border); background: var(--panel); border-radius: 8px; cursor: grab; transition: background .2s, border-color .2s; }
.matrix-card:hover { border-color: var(--ring); }
.matrix-cell.dragover { background: var(--panel); border-color: var(--accent); }

/* Timeline */
#timelineView { padding: var(--space-md); }
.timeline-item { position: relative; margin: var(--space-sm) 0 var(--space-sm) calc(var(--space-lg) + var(--space-sm) / 2); padding: var(--space-sm) 0 var(--space-sm) var(--space-md); border-left: 2px solid var(--accent); }
.timeline-item::before { content: ''; position: absolute; left: -7px; top: 8px; width: 12px; height: 12px; background: var(--accent); border-radius: 50%; }
    .timeline-date { font-size: 13px; color: var(--muted); margin-bottom: 4px; }

/* Settings dialog */
#settingsDialog::backdrop { background: rgba(0,0,0,.6); }
#settingsDialog { margin: auto; padding: 0; border: none; background: transparent; border-radius: var(--radius-xl); }
.settings-form {
  padding: var(--space-lg);
  background: var(--panel);
  color: var(--text);
  border-radius: inherit;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
.settings-form label {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.settings-form .composer-field {
  width: 100%;
}
.settings-form input[type="checkbox"].composer-field {
  width: auto;
  min-width: 0;
}

.settings-section {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  padding-top: var(--space-md);
  border-top: 1px solid var(--border);
}

.settings-section__title {
  margin: 0;
  font-size: var(--font-size-sm);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--muted);
}

.settings-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-sm);
  flex-wrap: wrap;
}

.settings-row--data,
.settings-row--toggle {
  align-items: flex-start;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.settings-row--data .settings-label,
.settings-row--toggle .settings-label {
  flex: 1 1 220px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.settings-row--data .settings-description,
.settings-row--toggle .settings-description {
  margin: 0;
  font-size: var(--font-size-sm);
  color: var(--muted);
}

.settings-row--data .settings-actions,
.settings-row--toggle .settings-actions {
  display: flex;
  gap: var(--space-sm);
  align-items: center;
}

.settings-row--toggle input[type="checkbox"] {
  position: static;
  opacity: 1;
  width: auto;
  height: auto;
}

.settings-row--data label.btn {
  cursor: pointer;
}

.settings-link {
  border: none;
  background: none;
  color: var(--accent);
  font: inherit;
  padding: 0;
  cursor: pointer;
  text-decoration: underline;
}

.settings-link:hover,
.settings-link:focus {
  color: var(--accent-2);
}

/* Detail modal */
#detailModal::backdrop { background: rgba(0,0,0,.6); }
#detailModal { border: 1px solid var(--border); border-radius: var(--radius-xl); background: var(--panel); color: var(--text); padding: calc(var(--space-lg) + var(--space-sm) / 2); width: min(90%, 400px); }
#detailModal form { display: flex; flex-direction: column; gap: var(--space-md); }
#onboardingDialog::backdrop { background: rgba(0,0,0,.6); }
#onboardingDialog { border: 1px solid var(--border); border-top: 3px solid var(--accent); border-radius: var(--radius-xl); background: linear-gradient(165deg, rgba(255,255,255,.08), rgba(255,255,255,0)) , var(--panel); color: var(--text); padding: calc(var(--space-lg) + var(--space-sm) / 2); width: min(90%, 480px); box-shadow: 0 20px 40px rgba(0,0,0,.35); }
#onboardingDialog .onboarding-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "hero dismiss"
    "points points"
    "actions actions";
  gap: var(--space-md);
  text-align: left;
}
#onboardingDialog .onboarding-panel h3 { margin: 0; font-size: 1.35rem; font-weight: 600; color: var(--text); }
#onboardingDialog .onboarding-panel p { margin: 0; color: var(--muted); line-height: 1.6; }
#onboardingDialog .onboarding-hero { grid-area: hero; display: grid; gap: var(--space-sm); align-items: start; grid-template-columns: minmax(0, 1fr); }
#onboardingDialog .onboarding-hero__badge { font-size: var(--font-size-sm); letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent); font-weight: 600; }
#onboardingDialog .onboarding-hero__body { display: flex; flex-direction: column; gap: var(--space-xs); }
#onboardingDialog .onboarding-hero__illustration { justify-self: end; width: 76px; height: 76px; border-radius: 24px; background: radial-gradient(circle at 30% 30%, rgba(106,166,255,.45), rgba(106,166,255,0)); border: 1px solid rgba(255,255,255,.12); display: grid; place-items: center; position: relative; overflow: hidden; }
#onboardingDialog .onboarding-hero__spark { width: 14px; height: 14px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 18px rgba(106,166,255,.8); }
#onboardingDialog .onboarding-hero__orbit { position: absolute; width: 56px; height: 56px; border-radius: 50%; border: 1px dashed rgba(255,255,255,.25); }
#onboardingDialog .onboarding-points { grid-area: points; margin: 0; padding: 0; list-style: none; display: grid; gap: var(--space-sm); }
#onboardingDialog .onboarding-points li { padding-left: var(--space-sm); border-left: 2px solid rgba(255,255,255,.1); font-size: var(--font-size-sm); line-height: 1.55; }
#onboardingDialog .onboarding-points strong { color: var(--text); font-weight: 600; }
#onboardingDialog .onboarding-actions { grid-area: actions; display: flex; flex-wrap: wrap; gap: var(--space-sm); justify-content: center; }
#onboardingDialog .onboarding-actions .btn { flex: 1 1 140px; }
#onboardingDialog .onboarding-dismiss {
  grid-area: dismiss;
  align-self: start;
  justify-self: end;
  background: none;
  border: none;
  color: inherit;
  font-size: 1.25rem;
  cursor: pointer;
  line-height: 1;
  padding: var(--space-xs);
  border-radius: var(--radius-sm);
  transition: background-color .2s ease, box-shadow .2s ease;
}
#onboardingDialog .onboarding-dismiss:hover { background: var(--border); }
#onboardingDialog .onboarding-dismiss:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; background: var(--border); }

@media (max-width: 520px) {
  #onboardingDialog .onboarding-panel {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "dismiss"
      "hero"
      "points"
      "actions";
  }
}

@media (min-width: 520px) {
  #onboardingDialog .onboarding-hero { grid-template-columns: minmax(0, 1fr) auto; }
  #onboardingDialog .onboarding-hero__illustration { width: 90px; height: 90px; }
}

@media (min-width: 900px) {
  #onboardingDialog { width: clamp(520px, 60vw, 720px); }
  #onboardingDialog .onboarding-panel {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
      "hero dismiss"
      "hero points"
      "actions actions";
    align-items: start;
  }
  #onboardingDialog .onboarding-hero {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "badge art"
      "body art";
  }
  #onboardingDialog .onboarding-hero__badge { grid-area: badge; }
  #onboardingDialog .onboarding-hero__body {
    grid-area: body;
    min-width: 0;
    max-width: clamp(320px, 50vw, 420px);
  }
  #onboardingDialog .onboarding-hero__illustration { grid-area: art; }
  #onboardingDialog .onboarding-actions {
    flex-wrap: nowrap;
    justify-content: center;
  }
  #onboardingDialog .onboarding-actions .btn {
    flex: 0 0 auto;
  }
}
#attachmentList { list-style: none; margin: 0; padding: 0; }
#attachmentList li { display: flex; align-items: center; gap: var(--space-sm); }

/* Analytics panel */
#analyticsDetails {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease;
}
#analyticsDetails[open] {
  max-height: 500px;
  margin-top: var(--space-lg);
}

/* Progress panel */
#progressDetails {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease;
}
#progressDetails[open] {
  max-height: 500px;
  margin-top: var(--space-lg);
}
#sidebar {
  position: static;
  width: 100%;
  transform: none;
}

/* XP Sidebar */
.sidebar {
  width: 100%;
  padding: var(--space-md);
}
.sidebar > * + * {
  margin-top: var(--space-md);
}
.sidebar h2,
.sidebar h3 {
  margin: 0;
}
.sidebar h3 {
  font-size: 16px;
}
.sidebar .mountain { width: 100%; height: 60px; }
.sidebar-tip { font-size: 12px; margin-top: 4px; color: var(--fg-2); }
.badge-celebrate {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--panel);
  border: 1px solid var(--accent-2);
  padding: 6px 12px;
  border-radius: 8px;
  animation: fadeUp 2s ease-in-out forwards;
  pointer-events: none;
}
@keyframes fadeUp {
  0% { opacity: 0; transform: translate(-50%, 20px); }
  10% { opacity: 1; }
  90% { opacity: 1; }
  100% { opacity: 0; transform: translate(-50%, -20px); }
}
.sidebar ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px; }
.sidebar ul li {
  background: color-mix(in srgb, var(--panel) 85%, var(--accent) 15%);
  border: 1px solid color-mix(in srgb, var(--accent) 60%, var(--border));
  border-radius: 8px;
  padding: 2px 6px;
  font-size: 12px;
}

/* Analytics heatmap */
.heatmap {
  display: block;
  width: 100%;
}
.heatmap .heat-cell {
  shape-rendering: crispEdges;
}
.heatmap .heat-cell:hover {
  stroke: var(--text);
  stroke-width: 1;
}
