/* Right sidebar */
#right-sidebar{position:fixed;right:25px;top:8%;width:300px;display:flex;flex-direction:column;gap:20px;z-index:50;}
.sidebar__section{display:flex;flex-direction:column;gap:10px;}
.sidebar__title{font-size:12px;font-weight:800;color:#888;text-transform:uppercase;letter-spacing:1.5px;text-shadow:0 2px 5px rgba(0,0,0,.8);}
.sidebar__card{background:rgba(15,15,15,.75);backdrop-filter:blur(15px);border:1px solid #333;border-radius:14px;padding:14px;display:flex;align-items:center;gap:15px;cursor:pointer;transition:all .3s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.5);}
.sidebar__card:hover{background:rgba(30,30,30,.9);border-color:#fff;transform:translateX(-5px) scale(1.02);}
.sidebar__info{display:flex;flex-direction:column;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sidebar__info strong{font-size:14px;font-weight:700;color:#fff;overflow:hidden;text-overflow:ellipsis;}
.sidebar__info small{font-size:11px;color:#aaa;font-weight:600;}
#last-game-icon,#spotify-album-art{width:44px;height:44px;border-radius:10px;object-fit:cover;box-shadow:0 4px 10px rgba(0,0,0,.5);}
.play-overlay{position:absolute;right:15px;color:#fff;font-size:16px;opacity:0;transition:.3s;}
.sidebar__card:hover .play-overlay{opacity:1;transform:scale(1.2);}

/* Dock */
#dock-container{position:fixed;bottom:15px;left:50%;transform:translateX(-50%);height:52px;background:rgba(10,10,10,.8);backdrop-filter:blur(10px);border:1px solid #333;border-radius:18px;z-index:var(--z-dock);display:flex;justify-content:center;align-items:center;gap:12px;transition:transform .4s;padding:0 15px;}
.dock-hidden{transform:translateX(-50%) translateY(150%)!important;}
.dock-item{width:40px;height:40px;border-radius:12px;display:flex;justify-content:center;align-items:center;transition:all .2s ease;cursor:pointer;position:relative;}
.dock-item:hover{background:rgba(255,255,255,.1);transform:translateY(-5px);}
.dock-item img{width:28px;height:28px;object-fit:contain;border-radius:6px;}
.dock-sep{width:1px;height:24px;background:#555;margin:0 4px;}

/* Desktop */
#desktop-area{position:relative;width:100%;height:100%;overflow:hidden;z-index:10;pointer-events:auto!important;}
.desktop-app{position:absolute;width:80px;height:95px;display:flex;flex-direction:column;align-items:center;cursor:pointer;z-index:var(--z-desktop);transition:transform .4s cubic-bezier(.2,.8,.2,1),width .3s ease,height .3s ease,background .3s ease,box-shadow .3s ease;}
.desktop-app:hover{transform:scale(1.05);}
.d-icon{width:50px;height:50px;border-radius:12px;pointer-events:none;object-fit:contain;filter:drop-shadow(0 4px 6px rgba(0,0,0,.6));transition:all .3s;}
.d-label{margin-top:6px;font-size:12px;font-weight:700;color:#fff;text-align:center;pointer-events:none;text-shadow:0 2px 5px #000,0 0 2px #000;width:90px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.name-hidden .d-label{opacity:0!important;display:none!important;}
.desktop-app.expanded-folder{transform:scale(1)!important;background:rgba(15,15,15,.98);border:1px solid #444;border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.9);cursor:default;z-index:900!important;padding:15px;display:block;}
.folder-header{font-family:var(--font-main);color:#fff;font-weight:bold;font-size:14px;margin-bottom:15px;border-bottom:1px solid #333;padding-bottom:8px;display:flex;justify-content:space-between;align-items:center;}
.folder-header i{color:#888;transition:.2s;cursor:pointer;}
.folder-header i:hover{color:#fff;transform:scale(1.2);}
.folder-grid-expanded{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;max-height:250px;overflow-y:auto;}
.folder-grid-expanded::-webkit-scrollbar{width:4px;}
.folder-grid-expanded::-webkit-scrollbar-thumb{background:#555;border-radius:5px;}
.f-app{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;transition:.2s;}
.f-app:hover{transform:scale(1.1);}
.f-app img{width:38px;height:38px;border-radius:8px;}
.f-app span{font-size:11px;color:#ccc;max-width:50px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;}
.desktop-large-mode .desktop-app{width:90px;height:90px;}
.desktop-large-mode .d-icon{width:70px;height:70px;}
.desktop-large-mode .d-label{opacity:0;pointer-events:none;}
.d-folder-grid{width:50px;height:50px;background:rgba(20,20,20,.8);border:1px solid #555;border-radius:12px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;padding:4px;pointer-events:none;backdrop-filter:blur(5px);}
.desktop-large-mode .d-folder-grid{width:70px;height:70px;padding:6px;gap:4px;}
.d-folder-grid img{width:100%;height:100%;object-fit:contain;border-radius:4px;}
#drag-proxy{position:fixed;z-index:9999;pointer-events:none;opacity:.8;display:none;width:50px;height:50px;}
#drag-proxy img{width:100%;height:100%;object-fit:contain;border-radius:12px;}
.hidden-badge{position:absolute;top:-5px;right:-5px;background:#fff;color:#000;font-weight:bold;font-size:10px;width:18px;height:18px;border-radius:50%;align-items:center;justify-content:center;z-index:2;}

/* Start menu & drawer */
.os-menu{position:fixed;bottom:80px;left:50%;transform:translateX(-50%) translateY(20px);width:550px;height:600px;background:#111;border:1px solid #333;border-radius:16px;z-index:var(--z-modal);display:none;opacity:0;transition:all .3s cubic-bezier(.2,.8,.2,1);flex-direction:column;padding:25px;box-shadow:0 20px 60px rgba(0,0,0,.9);}
.os-menu.open{display:flex;opacity:1;transform:translateX(-50%) translateY(0);}
.start-search-bar,.drawer-search-wrap{width:100%;padding:12px 15px;background:#1a1a1a;border:1px solid #333;border-radius:8px;color:#fff;font-family:var(--font-main);margin-bottom:20px;display:flex;align-items:center;gap:10px;}
.start-search-bar input,.drawer-search-input{background:transparent;border:none;color:#fff;width:100%;outline:none;}
.start-search-bar input::placeholder,.drawer-search-input::placeholder{color:#666;}
.pinned-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;}
.pinned-header h3{font-size:15px;color:#fff;font-weight:600;}
.pinned-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;margin-bottom:30px;}
.pinned-item{display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;padding:12px;border-radius:12px;transition:.2s;}
.pinned-item:hover{background:#222;}
.pinned-item img{width:38px;height:38px;object-fit:contain;border-radius:10px;}
.pinned-item span{font-size:12px;color:#aaa;}
.start-footer{margin-top:auto;padding-top:15px;border-top:1px solid #333;display:flex;justify-content:space-between;align-items:center;}
.user-profile{display:flex;align-items:center;gap:10px;}
.user-avatar{width:30px;height:30px;background:#333;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.user-role{font-size:12px;color:#ddd;}
.power-btn{cursor:pointer;color:#fff;font-size:18px;}
#app-drawer{position:fixed;inset:0;background:rgba(0,0,0,.95);backdrop-filter:blur(20px);z-index:var(--z-modal);display:none;opacity:0;transition:.3s ease;padding:80px;align-content:flex-start;border:none;width:100%;height:100%;}
#app-drawer.open{display:block;opacity:1;}
.drawer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:30px;max-width:900px;margin:0 auto;}
.drawer-item{display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;transition:.2s;}
.drawer-item:hover{transform:scale(1.1);}
.drawer-item img{width:60px;height:60px;border-radius:16px;object-fit:contain;}
.drawer-item span{color:#fff;font-size:13px;font-weight:600;}
