:root{--taskbar-height: 30px;--taskbar: 0}body.taskbar-open{--taskbar: 1}.app{height:calc(100vh - 30px * var(--taskbar));transition:height .25s ease}.taskbar{position:fixed;left:0;right:0;bottom:0;height:30px;display:flex;background:var(--bg);-webkit-user-select:none;user-select:none;transition:transform .25s ease;transform:translateY(calc(30px * (1 - var(--taskbar))))}.taskbar .item{position:relative;display:flex;align-items:center;min-width:0;max-width:max(15vw,150px);padding:0 8px;border-bottom:1.5px solid transparent;color:var(--muted);gap:2px}.taskbar .item:hover{background:var(--chip-hover);color:var(--text)}.taskbar .item.active{background:var(--chip-active);border-color:var(--chip-active-border);color:var(--text)}.taskbar .item.minimized .icon,.taskbar .item.minimized .label{opacity:.55}.taskbar .icon:first-child{width:20px;height:20px}.taskbar .label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.taskbar .ri-close-line{right:4px;padding:0;transition:color .15s,background-color .15s;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.taskbar .ri-close-line:hover{color:var(--error);background:var(--error-bg)}@media(hover:hover){.taskbar .ri-close-line{position:absolute}.taskbar :not(.item:hover) .ri-close-line{display:none}}.window{position:fixed;display:flex;flex-direction:column;background-color:var(--panel-2);box-shadow:var(--shadow);border:1px solid var(--border);animation:winOpen .18s ease-out forwards}.window.closing{animation:winClose .1s ease-in forwards;pointer-events:none}.window.dragging,.window.resizing{transition:none}.window.maximized{inset:0!important;width:100vw!important;height:calc(100vh - 30px)!important}.window.maximized .win-resize{display:none}.window.minimized:not(.closing){display:none}.window.dragging .win-header{cursor:grabbing}.window .win-body{display:flex;flex-direction:column;min-height:0;overflow:auto;height:100%}.window .win-resize{position:absolute;right:0;bottom:0;width:16px;height:16px;z-index:1;cursor:nwse-resize;touch-action:none}.window .win-resize:after{content:"";position:absolute;right:3px;bottom:3px;width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);opacity:.45;transition:opacity .15s}.window .win-resize:hover:after{opacity:1}@keyframes winOpen{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes winClose{to{opacity:0;transform:scale(.96)}}.window .win-header{-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:4px;padding:0 6px;flex:0 0 auto;background-color:var(--bg);border-bottom:1px solid var(--border)}.window .win-header>*{padding:6px 0}.window .win-header>.icon:first-child{display:flex;align-items:center;font-size:16px;flex:0 0 auto}.window .win-header .title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:14px;font-weight:600;cursor:grab;touch-action:none}.window .win-header .controls{display:flex;gap:2px;flex-shrink:0;align-items:center}.window .win-header .controls button{padding:3px}.window .win-header .controls .ri-close-line:hover{background-color:var(--error);color:var(--text-on-accent, #fff)}
