
      :root {
        color-scheme: light;
        --bg: #f6f4ef;
        --panel: #fffdf8;
        --panel-strong: #fff7ee;
        --text: #1d2a33;
        --muted: #62727f;
        --accent: #c46a2d;
        --accent-strong: #ab541a;
        --border: #e7dccd;
        --border-soft: #efe5d9;
      }

      * {
        box-sizing: border-box;
      }

      body {
        margin: 0;
        min-height: 100vh;
        font-family: "PingFang SC", "Microsoft YaHei", sans-serif;
        background:
          radial-gradient(circle at top left, rgba(196, 106, 45, 0.16), transparent 32%),
          linear-gradient(180deg, #fbf8f2 0%, var(--bg) 100%);
        color: var(--text);
      }

      .wrap {
        max-width: 1680px;
        margin: 0 auto;
        padding: 28px 24px 48px;
      }

      .hero {
        margin-bottom: 18px;
        padding: 28px 30px;
        border: 1px solid var(--border);
        border-radius: 28px;
        background: var(--panel);
        box-shadow: 0 18px 48px rgba(71, 52, 30, 0.08);
      }

      h1 {
        margin: 0 0 10px;
        font-size: clamp(30px, 4vw, 46px);
        line-height: 1.06;
      }

      p {
        margin: 0;
        color: var(--muted);
        line-height: 1.7;
      }

      .heroActions {
        margin-top: 18px;
      }

      .heroLink {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 11px 15px;
        border-radius: 14px;
        border: 1px solid #efcfae;
        background: #fff4e8;
        color: var(--accent-strong);
        text-decoration: none;
        font-weight: 700;
      }

      .heroLink:hover {
        background: #ffe9d3;
      }

      .workspace {
        display: grid;
        grid-template-columns: 360px minmax(0, 1fr);
        gap: 18px;
        align-items: start;
      }

      .sidebar,
      .content {
        border: 1px solid var(--border);
        border-radius: 24px;
        background: var(--panel);
        box-shadow: 0 18px 48px rgba(71, 52, 30, 0.08);
      }

      .sidebar {
        padding: 22px;
        overflow: visible;
      }

      .content {
        padding: 24px;
      }

      .sectionTitle {
        margin: 0 0 10px;
        font-size: 18px;
        font-weight: 700;
      }

      .sectionHint {
        margin-bottom: 18px;
        font-size: 14px;
        color: var(--muted);
      }

      .picker {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        margin-bottom: 18px;
        padding: 15px 18px;
        border-radius: 16px;
        background: #fff5eb;
        border: 1px solid #f0d0b7;
        cursor: pointer;
        color: var(--accent);
        font-weight: 700;
      }

      .picker input {
        display: none;
      }

      .controlCard,
      .result,
      .summaryCard,
      .clusterCard,
      .previewCard,
      .errorCard {
        border-radius: 18px;
        background: #fff;
        border: 1px solid var(--border-soft);
      }

      .controlCard {
        padding: 18px;
        background: var(--panel-strong);
      }

      .controlCard + .controlCard,
      .controlCard + .result,
      .result + .controlCard {
        margin-top: 14px;
      }

      .controlLabel {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 10px;
        font-size: 14px;
        font-weight: 700;
      }

      .controlValue {
        color: var(--accent);
      }

      .thresholdInput {
        width: 100%;
        accent-color: var(--accent);
      }

      .textInput,
      .textArea {
        width: 100%;
        padding: 12px 14px;
        border: 1px solid var(--border);
        border-radius: 14px;
        background: #fff;
        color: var(--text);
        font: inherit;
      }

      .textInput:focus,
      .textArea:focus {
        outline: 2px solid rgba(196, 106, 45, 0.18);
        border-color: #e6ba95;
      }

      .textArea {
        min-height: 88px;
        resize: vertical;
      }

      .fieldWrap + .fieldWrap {
        margin-top: 12px;
      }

      .fieldLabel {
        display: block;
        margin-bottom: 8px;
        font-size: 13px;
        font-weight: 700;
        color: var(--text);
      }

      .savedRootsWrap {
        display: grid;
        gap: 10px;
        margin-top: 12px;
      }

      .savedRootsSelect {
        width: 100%;
        padding: 12px 14px;
        border: 1px solid var(--border);
        border-radius: 14px;
        background: #fff;
        color: var(--text);
        font: inherit;
      }

      .savedRootsSelect:focus {
        outline: 2px solid rgba(196, 106, 45, 0.18);
        border-color: #e6ba95;
      }

      .savedRootsList {
        display: grid;
        gap: 8px;
        max-height: 220px;
        overflow: auto;
      }

      .savedRootItem {
        width: 100%;
        padding: 11px 12px;
        text-align: left;
        border: 1px solid var(--border-soft);
        border-radius: 14px;
        background: #fff;
        cursor: pointer;
      }

      .savedRootItem:hover {
        background: #fff8f1;
        border-color: #f0d0b7;
      }

      .savedRootItem strong,
      .savedRootItem span {
        display: block;
      }

      .savedRootItem strong {
        font-size: 14px;
        color: var(--text);
      }

      .savedRootItem span {
        margin-top: 4px;
        font-size: 12px;
        color: var(--muted);
        line-height: 1.5;
      }

      .miniHint {
        margin-top: 10px;
        font-size: 12px;
        color: var(--muted);
        line-height: 1.6;
      }

      .buttonRow {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        margin-top: 14px;
      }

      .buttonRow + .buttonRow {
        margin-top: 10px;
      }

      .clusterBtn {
        width: 100%;
        margin-top: 14px;
        padding: 13px 16px;
        border: none;
        border-radius: 14px;
        background: var(--accent);
        color: #fff;
        font-size: 15px;
        font-weight: 700;
        cursor: pointer;
      }

      .clusterBtn:hover {
        background: var(--accent-strong);
      }

      .clusterBtn:disabled {
        background: #d8c7b7;
        cursor: not-allowed;
      }

      .clusterBtn.secondary {
        background: #fff;
        color: var(--accent-strong);
        border: 1px solid #f0d0b7;
      }

      .clusterBtn.secondary:hover {
        background: #fff6ed;
      }

      .clusterBtn.secondary.dangerBtn {
        background: #ffe3da;
        color: #ad2f18;
        border: 1px solid #df8f7d;
      }

      .clusterBtn.secondary.dangerBtn:hover {
        background: #ffd1c5;
        border-color: #cf735f;
      }

      .result {
        padding: 18px;
        background: #f8f4ed;
      }

      .result strong {
        color: var(--accent);
        font-size: 24px;
      }

      .summary {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
        gap: 14px;
        margin-bottom: 22px;
      }

      .summaryCard {
        padding: 16px 18px;
      }

      .summaryCard span {
        display: block;
        margin-bottom: 8px;
        color: var(--muted);
        font-size: 13px;
      }

      .summaryCard strong {
        font-size: 28px;
        color: var(--accent);
      }

      .contentHeader {
        display: flex;
        align-items: end;
        justify-content: space-between;
        gap: 16px;
        margin-bottom: 16px;
      }

      .contentHeader h2 {
        margin: 0 0 6px;
        font-size: 24px;
      }

      .contentHeader p {
        font-size: 14px;
      }

      .clusterGrid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
        gap: 16px;
      }

      .clusterCard {
        display: flex;
        flex-direction: column;
        min-height: 260px;
        overflow: hidden;
      }

      .clusterHead {
        padding: 18px 18px 14px;
        background: linear-gradient(180deg, #fffaf3 0%, #fff 100%);
        border-bottom: 1px solid var(--border-soft);
      }

      .clusterHead h3 {
        margin: 0;
        font-size: 20px;
        line-height: 1.35;
      }

      .clusterMeta {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 10px;
      }

      .metaBadge {
        padding: 5px 10px;
        border-radius: 999px;
        background: #fff5eb;
        border: 1px solid #f1dac7;
        color: var(--accent-strong);
        font-size: 12px;
        font-weight: 700;
      }

      .clusterActions {
        display: flex;
        flex-shrink: 0;
        flex-wrap: wrap;
        justify-content: flex-start;
        margin-top: 10px;
        gap: 8px;
      }

      .copyClusterBtn,
      .searchClusterBtn,
      .markClusterBtn {
        flex-shrink: 0;
        padding: 9px 12px;
        border-radius: 12px;
        font-size: 13px;
        font-weight: 700;
        cursor: pointer;
        transition:
          background-color 0.2s ease,
          border-color 0.2s ease,
          color 0.2s ease;
      }

      .searchClusterBtn {
        border: 1px solid #efc16d;
        background: #ffe3b3;
        color: #8a4b00;
      }

      .searchClusterBtn:hover {
        background: #ffd892;
        border-color: #deaa48;
      }

      .copyClusterBtn {
        border: 1px solid #9eb6ef;
        background: #dfe9ff;
        color: #244f9b;
      }

      .copyClusterBtn:hover {
        background: #ccdcff;
        border-color: #7e9fe2;
      }

      .markClusterBtn {
        border: 1px solid #e29a8e;
        background: #ffd8d1;
        color: #a6311f;
      }

      .markClusterBtn:hover {
        background: #ffc4ba;
        border-color: #d77c6d;
      }

      .copyClusterBtn:disabled,
      .searchClusterBtn:disabled,
      .markClusterBtn:disabled {
        background: #f5ede5;
        border-color: #eadbcb;
        color: #9b826f;
        cursor: default;
      }

      .clusterBody {
        display: grid;
        gap: 14px;
        padding: 16px 18px 18px;
      }

      .keywordWall {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-content: start;
        max-height: 240px;
        overflow: auto;
        padding-right: 4px;
      }

      .keywordChip {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 8px 11px;
        border-radius: 999px;
        background: #fff5eb;
        border: 1px solid #f0d0b7;
        color: #6d4428;
        font-size: 13px;
        line-height: 1.4;
      }

      .keywordChip small {
        color: var(--muted);
        font-size: 11px;
      }

      .sharedUrls {
        display: grid;
        gap: 8px;
      }

      .sharedUrls h4 {
        margin: 0;
        font-size: 14px;
      }

      .sharedUrls ol {
        margin: 0;
        padding-left: 18px;
        display: grid;
        gap: 7px;
      }

      .sharedUrls a {
        color: #23435a;
        text-decoration: none;
        word-break: break-all;
      }

      .sharedUrls a:hover {
        text-decoration: underline;
      }

      .empty,
      .errorCard {
        padding: 18px;
        color: var(--muted);
      }

      .empty {
        border-radius: 18px;
        background: #f8f4ed;
        border: 1px dashed #dbc7b0;
      }

      .errorCard {
        background: #fff6f3;
        border-color: #f0c9bb;
        color: #954d2c;
      }

      .previewWrap {
        margin-top: 22px;
      }

      .previewToggle {
        cursor: pointer;
        list-style: none;
        font-weight: 700;
        color: var(--accent-strong);
      }

      .previewToggle::-webkit-details-marker {
        display: none;
      }

      .previewGrid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 14px;
        margin-top: 14px;
      }

      .previewCard {
        padding: 16px;
      }

      .previewCard h4 {
        margin: 0 0 10px;
        font-size: 16px;
        line-height: 1.45;
      }

      .previewCard p {
        margin-bottom: 10px;
        font-size: 13px;
      }

      .previewCard ol {
        margin: 0;
        padding-left: 18px;
        display: grid;
        gap: 6px;
      }

      .previewCard a {
        color: #23435a;
        text-decoration: none;
        word-break: break-all;
      }

      .previewCard a:hover {
        text-decoration: underline;
      }

      @media (max-width: 1120px) {
        .workspace {
          grid-template-columns: 1fr;
        }

        .sidebar {
          position: static;
        }
      }

      @media (max-width: 720px) {
        .wrap {
          padding: 16px 12px 28px;
        }

        .hero,
        .sidebar,
        .content {
          padding: 18px;
          border-radius: 20px;
        }

        .contentHeader {
          flex-direction: column;
          align-items: start;
        }

        .clusterGrid {
          grid-template-columns: 1fr;
        }

        .clusterActions {
          width: 100%;
          justify-content: flex-start;
        }
      }
