NitterCorpusStyles

拾荒小猫无限卡槽控制矩阵 - 究极宽体平铺自适应样式库

Ce script ne devrait pas être installé directement. C'est une librairie créée pour d'autres scripts. Elle doit être inclus avec la commande // @require https://update.greasyfork.org/scripts/579921/1835583/NitterCorpusStyles.js

Vous devrez installer une extension telle que Tampermonkey, Greasemonkey ou Violentmonkey pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey ou Violentmonkey pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey ou Userscripts pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey pour installer ce script.

Vous devrez installer une extension de gestionnaire de script utilisateur pour installer ce script.

(J'ai déjà un gestionnaire de scripts utilisateur, laissez-moi l'installer !)

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

(J'ai déjà un gestionnaire de style utilisateur, laissez-moi l'installer!)

// ==UserScript==
// @name         NitterCorpusStyles
// @version      1.2.5_Styles
// @description  拾荒小猫无限卡槽控制矩阵 - 究极宽体平铺自适应样式库
// @author       Gemini Collaborator
// @grant        none
// ==/UserScript==

(function(window) {
    'use strict';
    window.NitterCorpusStyles = {
        inject() {
            if (document.getElementById('rp-core-styles')) return;
            const style = document.createElement('style');
            style.id = 'rp-core-styles';
            style.innerHTML = `
                #rp-toast-container { position: fixed; top: 20px; right: 20px; z-index: 100000; font-family: monospace; pointer-events: none; }
                .rp-toast { background: #1e1e2e; color: #cdd6f4; border-left: 4px solid #a6e3a1; padding: 10px 14px; margin-bottom: 8px; border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.5); font-size: 11px; min-width: 200px; max-width: 350px; opacity: 0; transform: translateX(50px); transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); pointer-events: auto; }
                .rp-toast.show { opacity: 1; transform: translateX(0); }
                
                /* 右侧对齐,自适应 1800px 究极体,保留左侧 200px 绝对呼吸区 */
                #rp-mega-drawer { position: fixed; top: 0; right: 0; width: 1800px; max-width: calc(100vw - 220px); height: 100vh; background: rgba(17,17,27,0.85); backdrop-filter: blur(8px); z-index: 99998; font-family: monospace; display: flex; align-items: center; justify-content: flex-end; }
                #rp-mega-drawer.hidden { display: none !important; }
                
                /* 上下平铺大网格 */
                .mega-layout { width: 100%; height: 98vh; background: #1e1e2e; border: 1px solid #45475a; border-radius: 12px; display: grid; grid-template-rows: 1.3fr 1fr; overflow: hidden; box-shadow: 0 20px 50px rgba(0,0,0,0.8); margin-right: 10px; box-sizing: border-box; }
                
                /* 左右平铺改用弹性比例分配,彻底消灭 350px 堆叠与右侧留白 */
                .mega-top-split { display: flex; width: 100%; height: 100%; overflow: hidden; border-bottom: 1px solid #45475a; }
                
                /* 左上侧栏:槽位、总线、历史面板全堆在左边 */
                .mega-sidebar-left { flex: 0 0 380px; background: #181825; border-right: 1px solid #45475a; padding: 16px; display: flex; flex-direction: column; gap: 12px; overflow-y: auto; box-sizing: border-box; }
                /* 右上侧栏:长文本专属轰炸区,横向拉满 */
                .mega-sidebar-right { flex: 1; background: #1e1e2e; padding: 16px; display: flex; flex-direction: column; gap: 12px; overflow-y: auto; box-sizing: border-box; }
                /* 下层主作业区 */
                .mega-main-bottom { padding: 16px; display: flex; flex-direction: column; gap: 8px; background: #11111b; box-sizing: border-box; }
                
                .slot-header-area { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #313244; padding-bottom: 6px; }
                .btn-create-slot { background: #b4befe; color: #11111b; border: none; padding: 4px 8px; font-size: 11px; font-weight: bold; border-radius: 4px; cursor: pointer; }
                .slot-container { flex: 1; min-height: 120px; overflow-y: auto; display: flex; flex-direction: column; gap: 6px; padding-right: 2px; }
                
                .mega-btn { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 8px 12px; font-size: 12px; border-radius: 6px; cursor: pointer; text-align: left; transition: all 0.2s; }
                .slot-active { background: #f5c2e7 !important; color: #11111b !important; font-weight: bold; }
                
                /* 外部资产流框架 */
                .api-flow-wrapper { background: #11111b; border: 1px solid #313244; border-radius: 8px; padding: 12px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
                /* 资产文本框纵向完全占满右侧,给足全量单文本角色卡操作纵深 */
                .mega-api-textarea { width: 100%; flex: 1; min-height: 300px; background: #181825; color: #cca7ef; border: 1px solid #45475a; border-radius: 6px; resize: none; font-size: 12px; padding: 10px; box-sizing: border-box; line-height: 1.42; font-family: monospace; }
                
                /* 响应式防御:改用 Flex Wrap 配合不换行,文字绝不变扁、绝不溢出 */
                .api-sub-grid { display: flex; flex-wrap: wrap; gap: 6px; }
                .api-sub-btn { flex: 1; min-width: 110px; border: none; color: #11111b; font-size: 11px; font-weight: bold; height: 28px; border-radius: 5px; cursor: pointer; text-align: center; line-height: 28px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
                
                .sandbox-row { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; }
                .micro-deck-btn { flex: 1; min-width: 65px; border: none; color: #11111b; font-size: 11px; font-weight: bold; height: 26px; border-radius: 4px; cursor: pointer; text-align: center; white-space: nowrap; }
                .btn-deck-grey { background: #313244 !important; color: #585b70 !important; cursor: not-allowed !important; }
                
                .cloud-matrix-box { display: flex; flex-direction: column; gap: 6px; background: #181825; padding: 10px; border-radius: 6px; border: 1px dashed #45475a; }
                .cloud-matrix-grid { display: flex; flex-wrap: wrap; gap: 6px; }
                .cloud-btn { flex: 1; min-width: 90px; border: none; color: #11111b; font-size: 11px; font-weight: bold; height: 26px; border-radius: 4px; cursor: pointer; display: flex; align-items: center; justify-content: center; white-space: nowrap; }

                /* 历史面板移至左侧,高度紧凑化 */
                .history-panel-wrapper { background: #11111b; border: 1px solid #313244; border-radius: 6px; padding: 8px; display: flex; flex-direction: column; height: 130px; box-sizing: border-box; }
                .history-list-scroll { flex: 1; overflow-y: auto; display: flex; flex-direction: column; gap: 4px; }
                .history-item-row { display: flex; justify-content: space-between; background: #181825; padding: 4px 8px; font-size: 11px; color: #a6e3a1; border-radius: 4px; cursor: pointer; white-space: nowrap; }
                
                .mega-matrix-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
                .matrix-btn { background: #313244; color: #cdd6f4; border: 1px solid #45475a; font-size: 11px; height: 26px; border-radius: 4px; cursor: pointer; font-weight: bold; white-space: nowrap; }

                .mega-textarea { flex: 1; background: #181825; color: #a6e3a1; border: 1px solid #45475a; border-radius: 8px; padding: 12px; font-family: monospace; font-size: 13px; line-height: 1.5; resize: none; box-sizing: border-box; }
                .rp-drawer-btn { width: 100%; margin-top: 4px; height: 24px; background: #b4befe; color: #11111b; border: none; font-size: 10px; font-weight: bold; border-radius: 4px; cursor: pointer; }
            `;
            document.head.appendChild(style);
            if (!document.getElementById('rp-toast-container')) {
                const tContainer = document.createElement('div');
                tContainer.id = 'rp-toast-container';
                document.body.appendChild(tContainer);
            }
        }
    };
})(window);