/* Common styles that don't change with themes */
@import url('https://fonts.googleapis.com/css2?family=SF+Pro+Display:wght@300;400;500;600;700&display=swap');

body {
    font-family: 'SF Pro Display', -apple-system, BlinkMacSystemFont, sans-serif;
    overflow: hidden;
    height: 100vh;
    transition: all 0.3s ease;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

/* Window styling */
.window {
    box-shadow: var(--window-shadow);
    border-radius: 10px;
    overflow: hidden;
    transition: box-shadow 0.2s ease, background 0.3s ease;
    position: absolute;
    will-change: transform;
    z-index: 9000; /* Default z-index for windows - below menu bar */
}

/* iframe containers - ensure app content is not affected by themes */
.iframe-container {
    position: relative;
    overflow: hidden;
}

/* prevent dark mode from affecting iframe content */
.iframe-container iframe {
    background: white;
    color: black;
}

/* Prevent user selection in iframes */
.window iframe {
    user-select: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    pointer-events: auto;
}

/* Temporarily disable iframe pointer events during dragging */
.dragging-active iframe, 
.resize-active iframe {
    pointer-events: none !important;
}

/* Allow text input in forms */
input, textarea {
    user-select: text;
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
}

/* Notification toast - should always have light background with dark text regardless of theme */
.notification {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: #000;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    animation: slideIn 0.3s ease-out;
}

.notification .text-gray-600 {
    color: #666 !important;
}

@keyframes slideIn {
    from { transform: translateY(20px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
} 