.dock-item{position:relative;transition:all .2s ease-out;will-change:transform}.dock-container{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.dock-container::-webkit-scrollbar{display:none}.app-icon{transition:transform .2s ease-out;will-change:transform}.app-icon:hover{transform:scale(1.1) translateY(-5px)}.tooltip{position:absolute;bottom:65px;left:50%;transform:translateX(-50%);background-color:rgba(0,0,0,.7);color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;white-space:nowrap;opacity:0;transition:opacity .2s ease-out;pointer-events:none}.dock-item:hover .tooltip{opacity:1}::-webkit-scrollbar-track{background:rgba(31,41,55,.5)}::-webkit-scrollbar-thumb{background:rgba(139,92,246,.3);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:rgba(139,92,246,.5)}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.status-indicator{position:relative}.status-indicator:before{content:"";position:absolute;top:50%;right:-12px;transform:translateY(-50%);width:8px;height:8px;border-radius:50%}.status-indicator.online:before{background-color:#10b981;box-shadow:0 0 8px #10b981;animation:pulse 2s infinite}.status-indicator.warning:before{background-color:#f59e0b;box-shadow:0 0 8px #f59e0b}.status-indicator.error:before{background-color:#ef4444;box-shadow:0 0 8px #ef4444}.lab-card{transition:all .2s ease-out;border:1px solid rgba(139,92,246,.2);background:rgba(31,41,55,.8);backdrop-filter:blur(8px)}.lab-card:hover{border-color:rgba(139,92,246,.4);box-shadow:0 0 15px rgba(139,92,246,.15)}.gradient-text{background:linear-gradient(90deg,#c084fc,#f472b6);-webkit-background-clip:text;background-clip:text;color:transparent}.page-enter{opacity:0;transform:translateY(10px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s,transform .3s}.page-exit{opacity:1}.page-exit-active{opacity:0;transition:opacity .3s}.lab-button{position:relative;overflow:hidden;transition:all .3s ease}.lab-button:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.1),transparent);transform:translateX(-100%)}.lab-button:hover:after{transform:translateX(100%);transition:transform .5s ease}.jobless-mode{--accent-color:#3b82f6;--accent-hover:#2563eb;--accent-light:rgba(59,130,246,.2);--accent-border:rgba(59,130,246,.3)}.awesome-mode{--accent-color:#ec4899;--accent-hover:#db2777;--accent-light:rgba(236,72,153,.2);--accent-border:rgba(236,72,153,.3)}.jobless-mode .text-pink-500,.jobless-mode .text-pink-600{color:var(--accent-color)}.jobless-mode .bg-pink-600{background-color:var(--accent-color)}.jobless-mode .bg-pink-600:hover,.jobless-mode .hover\:bg-pink-700:hover{background-color:var(--accent-hover)}.jobless-mode .bg-pink-600\/20{background-color:var(--accent-light)}.jobless-mode .border-pink-500{border-color:var(--accent-color)}.jobless-mode .lab-card:hover{transform:translateY(-2px)}.awesome-mode .lab-card:hover{transform:translateY(-2px) rotate(.5deg)}.widget{transition:all .3s ease;box-shadow:0 10px 25px -5px rgba(0,0,0,.3);border:1px solid hsla(0,0%,100%,.1)}.widget:hover{transform:translateY(-2px);box-shadow:0 15px 30px -5px rgba(0,0,0,.4)}.widget:before{content:"";position:absolute;inset:0;border-radius:24px;padding:1px;background:linear-gradient(180deg,hsla(0,0%,100%,.3),hsla(0,0%,100%,.1));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.desktop-icon{transition:all .2s ease}.desktop-icon:hover{transform:scale(1.05)}.desktop-icon:active{transform:scale(.95)}@keyframes contextMenuAppear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu{animation:contextMenuAppear .15s ease-out forwards;transform-origin:top left}::selection{background:rgba(0,122,255,.3)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:rgba(0,0,0,.1);border-radius:10px}::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.3);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.4)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.animate-pulse{animation:blink 1.2s infinite}