/* Window styles */ .m-window { position: absolute; min-width: 320px; min-height: 240px; background: var(--bg-1); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow-2); display: flex; flex-direction: column; overflow: hidden; transition: box-shadow 0.2s; } .m-window.focused { box-shadow: 0 8px 32px rgba(0,0,0,0.5); border-color: var(--border-strong); } .m-window.minimized { opacity: 0; pointer-events: none; transform: scale(0.95); transition: opacity 0.2s, transform 0.2s; } .m-window-header { display: flex; align-items: center; height: 36px; padding: 0 8px; background: var(--bg-2); border-bottom: 1px solid var(--border); cursor: default; flex-shrink: 0; } .m-window-title { flex: 1; font-size: 13px; font-weight: 500; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding-left: 4px; } .m-window-controls { display: flex; align-items: center; gap: 2px; } .m-window-btn { width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; border-radius: var(--radius-sm); cursor: pointer; font-size: 14px; color: var(--text-dim); border: none; background: none; transition: background 0.15s, color 0.15s; } .m-window-btn:hover { background: var(--bg-3); color: var(--text); } .m-window-btn.close-btn:hover { background: var(--danger); color: white; } .m-window-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; } .m-window-body { flex: 1; overflow: auto; position: relative; } .m-window-body > * { width: 100%; height: 100%; } /* Resize handle */ .m-window-resize { position: absolute; bottom: 0; right: 0; width: 16px; height: 16px; cursor: nwse-resize; } /* Drag overlay */ .drag-overlay { position: fixed; inset: 0; z-index: 9999; cursor: move; }