/* WINDOWS */
.window {
    position: absolute;
    background: var(--window-bg);
    color: var(--text-color);
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    display: flex;
    flex-direction: column;
    min-width: 300px;
    min-height: 200px;
    border: 1px solid var(--window-border);
    /* resize: both; Removed for custom JS resize */
    overflow: hidden;
    animation: openWindow 0.2s cubic-bezier(0.1, 0.9, 0.2, 1);
    transform-origin: center;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.window.maximized {
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: calc(100% - 48px) !important; /* Subtract taskbar */
    transform: none !important;
    border: none;
    border-radius: 0;
    box-shadow: none;
    transition: width 0.2s, height 0.2s, top 0.2s, left 0.2s; 
    /* Slightly faster transition for maximize feel */
}

@keyframes openWindow {
    from { transform: scale(0.95); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}

/* Minimized state handled by inline styles generally, but class helps state tracking */
.window.minimized {
    pointer-events: none;
    box-shadow: none;
}

.window-header {
    height: 32px;
    background: var(--window-bg); /* Use window-bg for header (titlebar) */
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 10px;
    user-select: none;
    color: var(--text-color);
}

.window.active {
    z-index: 500;
}

.window-title {
    font-size: 0.85rem;
    flex: 1;
}

.window-controls {
    display: flex;
    height: 100%;
}

.win-btn {
    width: 46px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background 0.2s;
    user-select: none;
}

.win-btn:hover {
    background: var(--hover-bg);
}

.win-btn.close:hover {
    background: #E81123;
    color: white;
}

.window-content {
    flex: 1;
    overflow: auto;
    position: relative;
    background: var(--window-content-bg);
}

/* Resizers */
.resizer-r {
    position: absolute;
    top: 0;
    right: 0;
    width: 6px;
    height: 100%;
    cursor: ew-resize;
    z-index: 10;
}

.resizer-b {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 6px;
    cursor: ns-resize;
    z-index: 10;
}

.resizer-br {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 12px;
    height: 12px;
    cursor: nwse-resize;
    z-index: 11;
    background: transparent; /* Invisible grab area */
}

/* Ensure maximized windows don't show resize cursors */
.window.maximized .resizer-r,
.window.maximized .resizer-b,
.window.maximized .resizer-br {
    display: none;
}

/* 
    REFACTORED:
    Styles for individual apps and modals have been moved to:
    css/apps/settings.css
    css/apps/calculator.css
    css/apps/store.css
    css/apps/notepad.css
    css/apps/browser.css
    css/apps/explorer.css
    css/apps/terminal.css
    css/modals.css
*/

// removed .settings-layout {}
// removed .settings-sidebar {}
// removed .set-search {}
// removed .set-nav-item {}
// removed .settings-content {}
// removed .set-header {}
// removed .set-section {}
// removed .set-row {}
// removed .set-desc {}
// removed .set-card {}
// removed .set-btn {}
// removed .set-info-list {}
// removed .set-brightness-slider {}
// removed .calc-layout {}
// removed .calc-display {}
// removed .calc-grid {}
// removed .calc-equal {}
// removed .store-layout {}
// removed .store-header {}
// removed .store-content {}
// removed .app-item {}
// removed .store-btn {}
// removed .notepad-layout {}
// removed .notepad-menubar {}
// removed .np-menu-item {}
// removed .np-dropdown {}
// removed .np-dd-item {}
// removed .np-dd-sep {}
// removed .np-dd-shortcut {}
// removed .notepad-toolbar {}
// removed .np-btn {}
// removed .np-sep {}
// removed .notepad-find-bar {}
// removed .find-input {}
// removed .notepad-editor {}
// removed .browser-frame {}
// removed .browser-layout {}
// removed .browser-toolbar {}
// removed .browser-btn {}
// removed .browser-address {}
// removed .browser-viewport {}
// removed .browser-iframe {}
// removed .browser-error {}
// removed .error-content {}
// removed .error-icon {}
// removed .error-details {}
// removed .fe-layout {}
// removed .fe-toolbar {}
// removed .fe-tools {}
// removed .fe-tool-btn {}
// removed .fe-nav-btn {}
// removed .fe-address-bar {}
// removed .fe-address-icon {}
// removed .fe-address-input {}
// removed .fe-content {}
// removed .fe-grid {}
// removed .fe-item {}
// removed .fe-icon {}
// removed .fe-label {}
// removed .modal-mask {}
// removed .file-dialog {}
// removed .fd-header {}
// removed .fd-body {}
// removed .fd-nav {}
// removed .fd-path-input {}
// removed .fd-file-area {}
// removed .fd-footer {}
// removed .fd-input-row {}
// removed .fd-filename {}
// removed .fd-btn {}
// removed .context-menu {}
// removed .context-item {}
// removed .context-separator {}
// removed .modal-btn {}
// removed .terminal-layout {}
// removed .terminal-input-line {}
// removed .terminal-input {}