NitterCorpusStyles

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

Dit script moet niet direct worden geïnstalleerd - het is een bibliotheek voor andere scripts om op te nemen met de meta-richtlijn // @require https://update.greatest.deepsurf.us/scripts/579921/1835583/NitterCorpusStyles.js

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey, Greasemonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals {tampermonkey_link:Tampermonkey}.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Userscripts.

Voor het installeren van scripts heb je een extensie nodig, zoals {tampermonkey_link:Tampermonkey}.

Voor het installeren van scripts heb je een gebruikersscriptbeheerder nodig.

(Ik heb al een user script manager, laat me het downloaden!)

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

(Ik heb al een beheerder - laat me doorgaan met de installatie!)

// ==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);