.app-window{position:absolute;background:#f0f0f0;border:1px solid rgba(0,0,0,0.18);box-shadow:0 4px 20px rgba(0,0,0,0.3),0 0 1px rgba(0,0,0,0.2);display:flex;flex-direction:column;min-width:300px;min-height:200px;z-index:100;transition:box-shadow .15s ease;overflow:hidden;border-radius:1px}.app-window.focused{box-shadow:0 12px 40px rgba(0,0,0,0.45),0 0 1px rgba(0,0,0,0.3);z-index:200;border-color:rgba(0,120,215,0.4)}.app-window:not(.focused){border-color:rgba(0,0,0,0.1)}.app-window.maximized{top:0!important;left:0!important;width:100%!important;height:calc(100vh - 40px)!important;border:none;border-radius:0;box-shadow:none}.app-window.minimized{transform:translateY(100vh) scale(0.6);opacity:0;pointer-events:none;transition:transform .25s cubic-bezier(0.4,0,1,1),opacity .2s ease}.app-window:not(.minimized){transform:none;opacity:1;transition:transform .3s cubic-bezier(0,0,0.2,1),opacity .25s ease}.app-window.opening{animation:windowOpen .25s cubic-bezier(0.1,0.9,0.2,1)}@keyframes windowOpen{0%{opacity:0;transform:scale(0.92) translateY(8px)}60%{opacity:1}100%{opacity:1;transform:scale(1) translateY(0)}}.app-window.closing{animation:windowClose .18s cubic-bezier(0.4,0,1,1) forwards}@keyframes windowClose{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0.88) translateY(12px)}}.title-bar{display:flex;align-items:center;height:32px;background:#fff;border-bottom:1px solid #e0e0e0;user-select:none;flex-shrink:0;transition:background .15s ease}.app-window.focused .title-bar{background:#fff}.app-window:not(.focused) .title-bar{background:#f2f2f2}.title-bar-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.title-bar-icon i{font-size:14px;color:#333}.title-bar-title{flex:1;font-size:12px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 5px;transition:color .15s ease}.app-window:not(.focused) .title-bar-title{color:#999}.window-controls{display:flex;height:32px;flex-shrink:0}.window-control{width:46px;height:32px;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s ease,color .12s ease;color:#333}.window-control:hover{background:rgba(0,0,0,0.06)}.window-control.close-btn:hover{background:#e81123;color:white}.window-control.close-btn:active{background:#c50f1f}.window-control i{font-size:10px}.window-body{flex:1;overflow:hidden;display:flex;flex-direction:column;position:relative}.menu-bar{display:flex;height:24px;background:#f5f5f5;border-bottom:1px solid #e0e0e0;flex-shrink:0}.menu-item{padding:0 10px;font-size:12px;color:#333;cursor:pointer;display:flex;align-items:center;transition:background .1s}.menu-item:hover{background:rgba(0,0,0,0.05)}.resize-handle{position:absolute;z-index:10}.resize-handle.top{top:-3px;left:0;right:0;height:6px;cursor:n-resize}.resize-handle.bottom{bottom:-3px;left:0;right:0;height:6px;cursor:s-resize}.resize-handle.left{top:0;left:-3px;bottom:0;width:6px;cursor:w-resize}.resize-handle.right{top:0;right:-3px;bottom:0;width:6px;cursor:e-resize}.resize-handle.top-left{top:-3px;left:-3px;width:10px;height:10px;cursor:nw-resize}.resize-handle.top-right{top:-3px;right:-3px;width:10px;height:10px;cursor:ne-resize}.resize-handle.bottom-left{bottom:-3px;left:-3px;width:10px;height:10px;cursor:sw-resize}.resize-handle.bottom-right{bottom:-3px;right:-3px;width:10px;height:10px;cursor:se-resize}.app-window.dark-titlebar .title-bar{background:#1f1f1f;border-bottom-color:#333}.app-window.dark-titlebar.focused .title-bar{background:#1f1f1f}.app-window.dark-titlebar:not(.focused) .title-bar{background:#2d2d2d}.app-window.dark-titlebar .title-bar-title{color:#fff}.app-window.dark-titlebar:not(.focused) .title-bar-title{color:#888}.app-window.dark-titlebar .window-control{color:#fff}.app-window.dark-titlebar .window-control:hover{background:rgba(255,255,255,0.1)}.app-window.dark-titlebar .window-control.close-btn:hover{background:#e81123}.snap-preview{position:fixed;background:rgba(0,120,215,0.25);border:2px solid rgba(0,120,215,0.5);z-index:50;pointer-events:none;transition:all .2s cubic-bezier(0.1,0.9,0.2,1);border-radius:4px;backdrop-filter:blur(4px)}.status-bar{height:24px;background:#f5f5f5;border-top:1px solid #e0e0e0;display:flex;align-items:center;padding:0 10px;font-size:12px;color:#666;flex-shrink:0}