    .type-section { margin-bottom: 20px; }
    .type-section h4 { font-size: 12px; color: var(--muted); margin-bottom: 10px; font-weight: 700; letter-spacing: .04em; }
    .type-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
    .type-card {
        padding: 15px 10px;
        background: var(--surface-soft);
        border-radius: var(--radius);
        text-align: center;
        cursor: pointer;
        transition: .18s ease;
        border: 1px solid var(--line);
    }
    .type-card:hover { background: #fff; border-color: #bfd1c5; transform: translateY(-1px); box-shadow: 0 10px 24px rgba(35,60,45,.08); }
    .type-card .icon { font-size: 22px; margin-bottom: 5px; }
    .type-card .name { font-size: 13px; color: var(--text); font-weight: 800; }


    .template-select { display: flex; gap: 8px; align-items: center; margin-bottom: 12px; }
    .template-select select { flex: 1; min-width: 0; padding: 8px 10px; border: 1px solid #d3ded7; border-radius: var(--radius); font-size: 13px; outline: none; }
    .template-editor {
        display: none;
        margin: 12px 0 16px;
        border: 1px solid #cfe0d5;
        border-radius: var(--radius);
        background: linear-gradient(135deg, #f7fbf7 0%, #eef7f1 100%);
        padding: 12px;
    }
    .template-editor.active { display: block; }
    .template-editor-head {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        align-items: flex-start;
        margin-bottom: 10px;
    }
    .template-editor-title {
        font-size: 13px;
        font-weight: 700;
        color: var(--accent);
    }
    .template-editor-meta { margin-top: 3px; font-size: 12px; color: var(--muted); line-height: 1.6; }
    .template-editor-actions { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
    .template-editor-actions button {
        border: 1px solid #c9d9cf;
        background: rgba(255,255,255,.75);
        color: var(--accent);
        border-radius: 999px;
        padding: 5px 10px;
        font-size: 12px;
        font-weight: 750;
        cursor: pointer;
    }
    .template-editor-actions button:hover { background: #fff; box-shadow: 0 5px 14px rgba(64, 103, 78, .12); }
    .template-field {
        background: #fff;
        border: 1px solid var(--line);
        border-radius: var(--radius);
        margin-bottom: 8px;
        overflow: hidden;
        box-shadow: 0 8px 18px rgba(62, 89, 69, .05);
    }
    .template-field summary {
        cursor: pointer;
        padding: 10px 12px;
        font-weight: 700;
        color: var(--text);
        list-style: none;
    }
    .template-field summary::-webkit-details-marker { display: none; }
    .template-field summary::after {
        content: "展开";
        float: right;
        color: var(--faint);
        font-size: 12px;
        font-weight: 750;
    }
    .template-field[open] summary::after { content: "收起"; }
    .template-field textarea {
        width: calc(100% - 24px);
        margin: 0 12px 12px;
        min-height: 72px;
        border: 1px solid #d3ded7;
        border-radius: var(--radius);
        padding: 9px 10px;
        resize: vertical;
        outline: none;
        line-height: 1.65;
    }
    .form-group textarea.is-preview {
        background: #f7faf8;
        color: #51665a;
        border-style: dashed;
    }
    .form-group textarea.is-preview:focus {
        border-color: #d3ded7;
        box-shadow: none;
    }

    .idea-fields {
        display: none;
        padding: 13px;
        margin: 4px 0 14px;
        border: 1px solid #d4e3d9;
        border-radius: var(--radius);
        background: linear-gradient(135deg, rgba(255,252,244,.92), rgba(243,250,246,.92));
    }
    .idea-fields.active { display: block; }
    .idea-fields textarea { min-height: 78px; }
    .idea-badge-row {
        display: flex;
        gap: 6px;
        flex-wrap: wrap;
        align-items: center;
        margin-top: 8px;
    }
    .idea-status-badge,
    .tag-pill,
    .material-type {
        display: inline-flex;
        align-items: center;
        min-height: 23px;
        padding: 2px 8px;
        border-radius: 999px;
        font-size: 11px;
        font-weight: 700;
        border: 1px solid #d8e5dd;
        background: #f6faf7;
        color: #4d6358;
    }
    .idea-status-badge { color: #216e4e; background: #eaf5ee; border-color: #cfe3d5; }
    .status-待实践 { color: #9a6814; background: #fff5df; border-color: #efd7a8; }
    .status-实践中 { color: #285da8; background: #eaf2ff; border-color: #cbdcff; }
    .status-已验证 { color: #216e4e; background: #e7f5ec; border-color: #c7dfcf; }
    .status-已放弃 { color: #79837e; background: #f1f4f2; border-color: #dbe3de; }
    .tag-pill { color: #5d4f1a; background: #fff8e6; border-color: #efe0b5; }
    .idea-detail-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
        margin-top: 10px;
    }
    .idea-detail-grid div {
        display: grid;
        gap: 4px;
        padding: 10px;
        border: 1px solid #e0e9e3;
        border-radius: var(--radius);
        background: rgba(255,255,255,.75);
    }
    .idea-detail-grid .wide { grid-column: 1 / -1; }
    .idea-detail-grid strong { color: var(--text); font-size: 12px; }
    .idea-detail-grid span { color: var(--muted); font-size: 12px; line-height: 1.55; overflow-wrap: anywhere; }
    .idea-detail-grid.compact { grid-template-columns: 1fr; }

    .idea-grid,
    .material-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
        gap: 12px;
    }
    .idea-card,
    .material-card {
        padding: 14px;
        border: 1px solid var(--line);
        border-radius: var(--radius);
        background: rgba(255,255,255,.88);
        box-shadow: 0 12px 26px rgba(35,60,45,.055);
    }
    .idea-card-head,
    .material-card-head {
        display: flex;
        justify-content: space-between;
        gap: 8px;
        align-items: flex-start;
        margin-bottom: 9px;
    }
    .idea-card h3 {
        margin-bottom: 8px;
        color: var(--text);
        font-size: 16px;
        line-height: 1.45;
        overflow-wrap: anywhere;
    }
    .idea-card-preview,
    .material-content {
        color: var(--muted);
        font-size: 13px;
        line-height: 1.7;
        overflow-wrap: anywhere;
    }
    .idea-card-preview {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        line-clamp: 3;
        overflow: hidden;
        text-overflow: ellipsis;
        max-height: calc(1.7em * 3);
        color: #2d3a33;
        font-size: 14px;
        font-weight: 650;
    }
    .idea-card-actions {
        display: flex;
        justify-content: flex-end;
        gap: 7px;
        flex-wrap: wrap;
        margin-top: 12px;
    }
    .material-random-panel,
    .global-search-panel {
        margin-bottom: 14px;
        padding: 14px;
        border: 1px solid var(--line);
        border-radius: var(--radius);
        background: rgba(255,255,255,.78);
    }
    .tag-picker {
        display: flex;
        gap: 7px;
        flex-wrap: wrap;
        margin: 10px 0 12px;
    }
    .tag-check {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        min-height: 30px;
        padding: 4px 9px;
        border: 1px solid #dbe6de;
        border-radius: 999px;
        background: #fff;
        color: var(--text);
        font-size: 12px;
        font-weight: 800;
        cursor: pointer;
    }
    .tag-check input { accent-color: var(--accent); }
    .material-card.compact { background: #fbfdfb; }
    .material-card-head {
        color: var(--faint);
        font-size: 12px;
        font-weight: 750;
    }
    .material-content {
        color: var(--text);
        font-weight: 760;
    }
    .material-meta {
        margin-top: 8px;
        color: var(--muted);
        font-size: 12px;
        line-height: 1.55;
        overflow-wrap: anywhere;
    }
    .global-search-panel {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 180px;
        gap: 10px;
    }
    .global-search-panel input,
    .global-search-panel select {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid var(--line);
        border-radius: var(--radius);
        background: #fff;
        color: var(--text);
    }
    .search-group { margin-bottom: 18px; }
    .search-group-title {
        margin-bottom: 8px;
        color: var(--text);
        font-weight: 700;
    }
    .search-result-list { display: grid; gap: 9px; }
    .search-result-item {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;
        padding: 12px;
        border: 1px solid var(--line);
        border-radius: var(--radius);
        background: rgba(255,255,255,.86);
        cursor: pointer;
        transition: .18s ease;
    }
    .search-result-item:hover {
        transform: translateY(-1px);
        border-color: #c7d9ce;
        box-shadow: 0 12px 24px rgba(35,60,45,.07);
    }
    .search-result-main { min-width: 0; }
    .search-result-main strong {
        display: block;
        color: var(--text);
        overflow-wrap: anywhere;
    }
    .search-result-main span,
    .search-result-main p {
        display: block;
        margin-top: 4px;
        color: var(--muted);
        font-size: 12px;
        line-height: 1.55;
        overflow-wrap: anywhere;
    }
    .tag-center-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
        gap: 12px;
    }
    .tag-center-head strong {
        color: var(--accent);
        font-size: 24px;
        line-height: 1;
    }
    .tag-center-counts {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }
    .tag-center-counts button {
        display: grid;
        gap: 5px;
        padding: 10px;
        border: 1px solid #dfe8e2;
        border-radius: var(--radius);
        background: #fff;
        cursor: pointer;
        text-align: left;
    }
    .tag-center-counts strong { color: var(--accent); font-size: 20px; line-height: 1; }
    .tag-center-counts span { color: var(--muted); font-size: 12px; font-weight: 800; }
    .tag-center-preview {
        display: grid;
        gap: 5px;
        margin-top: 10px;
        color: var(--muted);
        font-size: 12px;
        line-height: 1.55;
    }
