:root { color-scheme: dark; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif; font-size: 13px; --bg: #232323; --surface: #2c2c2c; --surface-hover: #363636; --border: #444; --text: #f1f1f1; --muted: #aaa; --accent: #4b9cf5; --accent-hover: #69adf7; } * { box-sizing: border-box; } html, body { width: 100%; height: 100%; margin: 0; overflow: hidden; background: var(--bg); color: var(--text); } button, input { font: inherit; } button { color: var(--text); cursor: pointer; } button:disabled { cursor: wait; opacity: 0.55; } .app { display: flex; flex-direction: column; width: 100%; height: 100%; padding: 14px; gap: 12px; } .header { display: flex; align-items: center; justify-content: space-between; gap: 12px; } .header h1 { margin: 0; font-size: 17px; font-weight: 650; } .header p { margin: 3px 0 0; color: var(--muted); font-size: 11px; } .icon-button, .secondary-button, .script-button { border: 1px solid var(--border); background: var(--surface); } .icon-button { width: 32px; height: 32px; border-radius: 6px; font-size: 20px; line-height: 1; } .icon-button:hover, .secondary-button:hover, .script-button:hover { background: var(--surface-hover); } .toolbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; } #searchInput { min-width: 0; height: 32px; padding: 0 10px; border: 1px solid var(--border); border-radius: 6px; outline: none; background: #1e1e1e; color: var(--text); } #searchInput:focus { border-color: var(--accent); } .secondary-button { height: 32px; padding: 0 10px; border-radius: 6px; white-space: nowrap; } .content { min-height: 0; flex: 1; overflow-y: auto; padding-right: 2px; } .script-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)); gap: 8px; } .script-button { min-height: 52px; padding: 9px 10px; border-radius: 7px; text-align: left; word-break: break-word; } .script-button::before { content: "▶"; margin-right: 7px; color: var(--accent); font-size: 10px; } .folder-group { grid-column: 1 / -1; min-width: 0; border: 1px solid var(--border); border-radius: 7px; background: rgba(255, 255, 255, 0.018); } .folder-summary { padding: 9px 11px; cursor: pointer; color: #d8d8d8; font-weight: 600; user-select: none; } .folder-summary:hover { background: var(--surface-hover); } .folder-content { display: grid; grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)); gap: 8px; margin: 0 8px 8px 12px; padding: 8px 0 0 10px; border-left: 2px solid #3d3d3d; } .folder-content .folder-group { background: transparent; } .empty-state { padding: 28px 14px; border: 1px dashed var(--border); border-radius: 8px; color: var(--muted); text-align: center; line-height: 1.6; } .footer { display: flex; flex-direction: column; gap: 8px; } .primary-button { min-height: 36px; padding: 8px 12px; border: 0; border-radius: 6px; background: var(--accent); color: #fff; font-weight: 600; } .primary-button:hover { background: var(--accent-hover); } .status { min-height: 16px; margin: 0; overflow: hidden; color: var(--muted); font-size: 11px; line-height: 16px; text-overflow: ellipsis; white-space: nowrap; } .status.error { color: #ff8a8a; }